1 #ifndef antiNumuCCMultiPiSelection_h 2 #define antiNumuCCMultiPiSelection_h 4 #include "SelectionBase.hxx" 5 #include "antiNumuCCSelection.hxx" 16 bool FillEventSummary(
AnaEventC& event, Int_t allCutsPassed[]);
17 SampleId::SampleEnum GetSampleEnum(){
return SampleId::kFGD1AntiNuMuCC1Track;}
27 Int_t _MuonPIDCutIndex;
28 Int_t _FindPionsStepIndex;
37 nPositivePionTPCtracks = 0;
38 nNegativePionTPCtracks = 0;
40 nIsoFGDPiontracks = 0;
43 nIsoFGDElPi0tracks = 0;
53 for(
int i = 0; i < 100; i ++){
54 PositivePionTPCtracks[i] = NULL;
55 NegativePionTPCtracks[i] = NULL;
56 MichelElectrons[i] = NULL;
57 IsoFGDPiontracks[i] = NULL;
58 PosPi0TPCtracks[i] = NULL;
59 ElPi0TPCtracks[i] = NULL;
60 IsoFGDElPi0tracks[i] = NULL;
67 for(
int i = 0; i <nPositivePionTPCtracks ; i ++)
68 PositivePionTPCtracks[i] = NULL;
69 for(
int i = 0; i <nNegativePionTPCtracks ; i ++)
70 NegativePionTPCtracks[i] = NULL;
71 for(
int i = 0; i <nMichelElectrons ; i ++)
72 MichelElectrons[i] = NULL;
73 for(
int i = 0; i <nIsoFGDPiontracks ; i ++)
74 IsoFGDPiontracks[i] = NULL;
75 for(
int i = 0; i <nPosPi0TPCtracks ; i ++)
76 PosPi0TPCtracks[i] = NULL;
77 for(
int i = 0; i <nElPi0TPCtracks ; i ++)
78 ElPi0TPCtracks[i] = NULL;
79 for(
int i = 0; i <nIsoFGDElPi0tracks ; i ++)
80 IsoFGDElPi0tracks[i] = NULL;
82 nPositivePionTPCtracks = 0;
83 nNegativePionTPCtracks = 0;
85 nIsoFGDPiontracks = 0;
88 nIsoFGDElPi0tracks = 0;
101 int nPositivePionTPCtracks;
105 int nNegativePionTPCtracks;
109 int nMichelElectrons;
113 int nIsoFGDPiontracks;
118 int nPosPi0TPCtracks;
123 int nIsoFGDElPi0tracks;
130 std::vector<AnaTrackB*> ISOEcal;
150 bool TPCElPi0Selection(
AnaTrackB *track);
190 useTPCPions = (bool)ND::params().
GetParameterI(
"psycheSelections.antinumuCCMultiPi.UseTPCPions");
191 useME = (bool)ND::params().
GetParameterI(
"psycheSelections.antinumuCCMultiPi.UseME");
192 useFGDPions = (bool)ND::params().
GetParameterI(
"psycheSelections.antinumuCCMultiPi.UseFGDPions");
193 useOldSecondaryPID = (bool) ND::params().
GetParameterI(
"psycheSelections.antinumuCCMultiPi.OldSecondaryPID");
194 prod5Cut = (bool)ND::params().
GetParameterI(
"psycheSelections.antinumuCCMultiPi.Prod5Cuts");
199 bool useOldSecondaryPID;
210 MostUpstreamLayerHitCut = (bool)ND::params().
GetParameterI(
"psycheSelections.antinumuCCMultiPi.MostUpstreamLayerHitCut");
211 prod5Cut = (bool)ND::params().
GetParameterI(
"psycheSelections.antinumuCCMultiPi.Prod5Cuts");
213 int MostUpstreamLayerHitCut;
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
bool IsRelevantSystematic(const AnaEventC &event, const ToyBoxB &box, SystId_h systId, Int_t branch) const
Is this systematic relevant for this selection.
int GetParameterI(std::string)
Get parameter. Value is returned as integer.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
void InitializeEvent(AnaEventC &event)
Fill the EventBox with the objects needed by this selection.
void Reset()
This method should be implemented by the derived class. If so it does nothing here.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
void DefineSteps()
Define all steps in the selection.
bool CheckRedoSelection(const AnaEventC &event, const ToyBoxB &PreviousToyBox, Int_t &redoFromStep)
SubDetEnum
Enumeration of all detector systems and subdetectors.
virtual bool Apply(AnaEventC &event, ToyBoxB &box) const
ToyBoxB * MakeToyBox()
Create the appropriate type of box.
Representation of a global track.
bool Apply(AnaEventC &event, bool &redo)
Apply all steps in the selection.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
void DefineDetectorFV()
Define the detector Fiducial Volume in which this selection is applied.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
bool IsRelevantTrueObjectForSystematic(const AnaEventC &event, AnaTrueObjectC *trueObj, SystId_h systId, Int_t branch) const
Is this true track relevant for a given systematic (prior to selection, call when initializing the ev...
bool IsRelevantRecObjectForSystematic(const AnaEventC &event, AnaRecObjectC *recObj, SystId_h systId, Int_t branch) const
Is this track relevant for a given systematic (prior to selection, call when initializing the event...
ToyBoxB ** PreviousToyBox
Array of pointers to the PreviousToyBox (for each event)