HighLAND
numuCCMultiTargetSelection.hxx
1 #ifndef numuCCMultiTargetSelection_h
2 #define numuCCMultiTargetSelection_h
3 
4 #include "baseSelection.hxx" // needed for EventQualityCut
5 #include "numuCCSelection.hxx"
6 #include "numuCCFGD2Selection.hxx"
7 #include "numuCCMultiPiSelection.hxx"
8 #include "numuCCMultiPiFGD2Selection.hxx"
9 
10 
12 
13  public:
14  numuCCMultiTargetSelection(bool doMultiPi=false, bool forceBreak=true);
15  virtual ~numuCCMultiTargetSelection(){}
16 
18  void InitializeEvent(AnaEventC& event);
19  void DefineSteps();
20  void DefineDetectorFV();
21 };
22 
23 /*
24 class ToyBoxCCMultiTarget: public ToyBoxB{
25 
26  public:
27  ToyBoxCCMultiTarget(){
28  }
29 
30  virtual ~ToyBoxCCMultiTarget(){}
31  void Reset(){
32  ToyBoxB::Reset();
33  }
34 
35 };
36 
37 inline ToyBoxB* numuCCMultiTargetSelection::MakeToyBox(){return new ToyBoxCCMultiTarget();}
38 */
39 
40 namespace numuCCMultiTargetUtils{
41  //From NumuCCBANFF Standard Actions.
42 }
43 
45  public:
46  using StepBase::Apply;
47  bool Apply(AnaEventC& event, ToyBoxB& box) const;
49 };
50 
51 
52 class WaterCut: public StepBase{
53  public:
54  using StepBase::Apply;
55  bool Apply(AnaEventC& event, ToyBoxB& box) const;
56  StepBase* MakeClone(){return new WaterCut();}
57 };
58 
59 
60 class ScintillatorCut: public StepBase{
61  public:
62  using StepBase::Apply;
63  bool Apply(AnaEventC& event, ToyBoxB& box) const;
65 };
66 
67 
69  public:
70  SetDetectorFVAction(SubDetId::SubDetEnum det){_detectorFV = det;}
71  using StepBase::Apply;
72  bool Apply(AnaEventC& event, ToyBoxB& box) const;
73  StepBase* MakeClone(){return new SetDetectorFVAction(_detectorFV);}
74 
75  protected:
76  SubDetId::SubDetEnum _detectorFV;
77 };
78 
79 
80 #endif
void DefineSteps()
Define all steps in the selection.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
void DefineDetectorFV()
Define the detector Fiducial Volume in which this selection is applied.
ToyBoxB * MakeToyBox()
Create the appropriate type of box.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
SubDetEnum
Enumeration of all detector systems and subdetectors.
Definition: SubDetId.hxx:25
virtual bool Apply(AnaEventC &event, ToyBoxB &box) const
Definition: StepBase.hxx:46
bool Apply(AnaEventC &event, bool &redo)
Apply all steps in the selection.
void InitializeEvent(AnaEventC &event)
Fill the EventBox with the objects needed by this selection.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!