HighLAND
numuBkgInAntiNuModeCCSelection.hxx
1 #ifndef numuBkgInAntiNuModeCCSelection_h
2 #define numuBkgInAntiNuModeCCSelection_h
3 
4 #include "numuCCSelection.hxx"
5 
7  public:
8  numuBkgInAntiNuModeCCSelection(bool forceBreak=true);
10 
11  //---- These are mandatory functions
12  void DefineSteps();
13  void DefineDetectorFV();
14  ToyBoxB* MakeToyBox(){return new ToyBoxTracker();}
15  bool FillEventSummary(AnaEventC& event, Int_t allCutsPassed[]);
16  SampleId::SampleEnum GetSampleEnum(){return SampleId::kFGD1NuMuBkgInAntiNuModeCC;}
17  bool IsRelevantRecObjectForSystematic(const AnaEventC& event, AnaRecObjectC* recObj, SystId_h systId, Int_t branch) const;
18  bool IsRelevantTrueObjectForSystematic(const AnaEventC& event, AnaTrueObjectC* trueObj, SystId_h systId, Int_t branch) const;
19  bool IsRelevantSystematic(const AnaEventC& event, const ToyBoxB& box, SystId_h systId, Int_t branch) const;
20  void InitializeEvent(AnaEventC& event);
21  bool CheckRedoSelection(const AnaEventC& event, const ToyBoxB& PreviousToyBox, Int_t& redoFromStep);
22 
23 protected:
24 
25  numuCCSelection _numuCCSelection;
26 
27  Int_t _MuonPIDCutIndex;
28  Int_t _MuonPIDStepIndex;
29  Int_t _FindLeadingTracksStepIndex;
30  Int_t _TotalMultiplicityCutIndex;
31 };
32 
34  public:
35  using StepBase::Apply;
36  bool Apply(AnaEventC& event, ToyBoxB& box) const;
38 };
39 
40 
42  public:
43  using StepBase::Apply;
44  bool Apply(AnaEventC& event, ToyBoxB& box) const;
46 };
47 
49  public:
50  using StepBase::Apply;
51  bool Apply(AnaEventC& event, ToyBoxB& box) const;
53 };
54 
55 #endif
bool CheckRedoSelection(const AnaEventC &event, const ToyBoxB &PreviousToyBox, Int_t &redoFromStep)
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
void DefineDetectorFV()
Define the detector Fiducial Volume in which this selection is applied.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
ToyBoxB * MakeToyBox()
Create the appropriate type of box.
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...
virtual bool Apply(AnaEventC &event, ToyBoxB &box) const
Definition: StepBase.hxx:46
bool IsRelevantSystematic(const AnaEventC &event, const ToyBoxB &box, SystId_h systId, Int_t branch) const
Is this systematic relevant for this selection.
void InitializeEvent(AnaEventC &event)
Fill the EventBox with the objects needed by this selection.
bool Apply(AnaEventC &event, bool &redo)
Apply all steps in the selection.
void DefineSteps()
Define all steps in the selection.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
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)