HighLAND
numuBkgInAntiNuModeCCMultiTrackFGD2Selection.hxx
1 #ifndef numuBkgInAntiNuModeCCMultiTrackFGD2Selection_h
2 #define numuBkgInAntiNuModeCCMultiTrackFGD2Selection_h
3 
4 #include "SelectionBase.hxx"
5 #include "Parameters.hxx"
6 #include "numuCCMultiPiFGD2Selection.hxx"
7 #include "numuCCFGD2Selection.hxx"
8 #include "numuBkgInAntiNuModeCCFGD2Selection.hxx"
9 #include "numuBkgInAntiNuModeCCMultiTrackSelection.hxx"
10 
12 
13  public:
16 
17  void DefineSteps();
18  void DefineDetectorFV();
20  bool FillEventSummary(AnaEventC& event, Int_t allCutsPassed[]);
21  SampleId::SampleEnum GetSampleEnum(){return SampleId::kFGD2NuMuBkgInAntiNuModeCC;}
22  bool IsRelevantRecObjectForSystematic(const AnaEventC& event, AnaRecObjectC* recObj, SystId_h systId, Int_t branch) const;
23  bool IsRelevantTrueObjectForSystematic(const AnaEventC& event, AnaTrueObjectC* trueObj, SystId_h systId, Int_t branch) const;
24  bool IsRelevantSystematic(const AnaEventC& event, const ToyBoxB& box, SystId_h systId, Int_t branch) const;
25  void InitializeEvent(AnaEventC& event);
26  bool CheckRedoSelection(const AnaEventC& event, const ToyBoxB& PreviousToyBox, Int_t& redoFromStep);
27 
28  protected:
29  numuCCMultiPiFGD2Selection _numuCCMultiPiFGD2Selection;
30  numuBkgInAntiNuModeCCFGD2Selection _numuBkgInAntiNuModeCCFGD2Selection;
31  numuBkgInAntiNuModeCCMultiTrackSelection _numuBkgInAntiNuModeCCMultiTrackSelection;
32 };
33 
35  public:
36  using StepBase::Apply;
37  bool Apply(AnaEventC& event, ToyBoxB& box) const;
39  }
40 
41 };
42 
43 #endif
void DefineDetectorFV()
Define the detector Fiducial Volume in which this selection is applied.
void InitializeEvent(AnaEventC &event)
Fill the EventBox with the objects needed by this selection.
virtual bool Apply(AnaEventC &event, ToyBoxB &box) const
Definition: StepBase.hxx:46
bool Apply(AnaEventC &event, bool &redo)
Apply all steps in the selection.
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...
bool IsRelevantSystematic(const AnaEventC &event, const ToyBoxB &box, SystId_h systId, Int_t branch) const
Is this systematic relevant for 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...
ToyBoxB ** PreviousToyBox
Array of pointers to the PreviousToyBox (for each event)
bool CheckRedoSelection(const AnaEventC &event, const ToyBoxB &PreviousToyBox, Int_t &redoFromStep)