HighLAND
numuBkgInAntiNuModeCCFGD2Selection.hxx
1 #ifndef numuBkgInAntiNuModeCCFGD2Selection_h
2 #define numuBkgInAntiNuModeCCFGD2Selection_h
3 
4 #include "numuCCFGD2Selection.hxx"
5 #include "numuBkgInAntiNuModeCCSelection.hxx"
6 
7 
9  public:
10  numuBkgInAntiNuModeCCFGD2Selection(bool forceBreak=true);
12 
13  //---- These are mandatory functions
14  void DefineSteps();
15  void DefineDetectorFV();
16  ToyBoxB* MakeToyBox(){return new ToyBoxTracker();}
17  bool FillEventSummary(AnaEventC& event, Int_t allCutsPassed[]);
18  SampleId::SampleEnum GetSampleEnum(){return SampleId::kFGD2NuMuBkgInAntiNuModeCC;}
19  bool IsRelevantRecObjectForSystematic(const AnaEventC& event, AnaRecObjectC* recObj, SystId_h systId, Int_t branch) const;
20  bool IsRelevantTrueObjectForSystematic(const AnaEventC& event, AnaTrueObjectC* trueObj, SystId_h systId, Int_t branch) const;
21  bool IsRelevantSystematic(const AnaEventC& event, const ToyBoxB& box, SystId_h systId, Int_t branch) const;
22  void InitializeEvent(AnaEventC& event);
23  bool CheckRedoSelection(const AnaEventC& event, const ToyBoxB& PreviousToyBox, Int_t& redoFromStep);
24 
25 protected:
26 
27  numuCCFGD2Selection _numuCCFGD2Selection;
28  numuBkgInAntiNuModeCCSelection _numuBkgInAntiNuModeCCSelection;
29 };
30 
32 public:
33  using StepBase::Apply;
34  bool Apply(AnaEventC& event, ToyBoxB& box) const;
36 };
37 
38 #endif
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 * MakeToyBox()
Create the appropriate type of box.
void InitializeEvent(AnaEventC &event)
Fill the EventBox with the objects needed by this selection.
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...
void DefineDetectorFV()
Define the detector Fiducial Volume in which this selection is applied.
void DefineSteps()
Define all steps in the selection.
virtual bool Apply(AnaEventC &event, ToyBoxB &box) const
Definition: StepBase.hxx:46
bool CheckRedoSelection(const AnaEventC &event, const ToyBoxB &PreviousToyBox, Int_t &redoFromStep)
bool IsRelevantSystematic(const AnaEventC &event, const ToyBoxB &box, SystId_h systId, Int_t branch) const
Is this systematic relevant for this selection.
bool Apply(AnaEventC &event, bool &redo)
Apply all steps in the selection.
ToyBoxB ** PreviousToyBox
Array of pointers to the PreviousToyBox (for each event)