1 #ifndef antiNueCCSelection_h 2 #define antiNueCCSelection_h 4 #include "SelectionBase.hxx" 5 #include "Parameters.hxx" 6 #include "ToyBoxTracker.hxx" 8 #include "SubDetId.hxx" 10 #include "nueCCSelection.hxx" 23 bool FillEventSummary(
AnaEventC& event, Int_t allCutsPassed[]);
24 SampleId::SampleEnum GetSampleEnum(){
return SampleId::kFGD1AntiNuECC;}
36 Int_t _FindLeadingTracksStepIndex;
37 Int_t _TotalMultiplicityCutIndex;
38 Int_t _ElecPIDCutIndex;
39 Int_t _ElecPIDStepIndex;
42 Float_t _protonregion_low;
76 _protonregion_low = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Analysis.ProtonMomentumRegion.Low");
77 _protonregion_high = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Analysis.ProtonMomentumRegion.High");
78 _pullelec_reject_min = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Cuts.PID2.PullElecMin");
79 _pullelec_reject_max = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Cuts.PID2.PullElecMax");
85 Float_t _protonregion_low;
86 Float_t _protonregion_high;
87 Float_t _pullelec_reject_min;
88 Float_t _pullelec_reject_max;
94 _Ethreshold = (Float_t)ND::params().
GetParameterD(
"psycheSelections.nueCCAnalysis.Cuts.PID.EThreshold");
95 _Emin_ecal = (Float_t)ND::params().
GetParameterD(
"psycheSelections.nueCCAnalysis.Cuts.PID.EcalEMin");
96 _EoverP = (Float_t)ND::params().
GetParameterD(
"psycheSelections.nueCCAnalysis.Cuts.PID.EoverP");
110 _emhip = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Cuts.PID.EmHip");
111 _emhipfhc = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Cuts.PID.FHC.EmHip");
112 _protonregion_low = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Analysis.ProtonMomentumRegion.Low");
120 Float_t _protonregion_low;
126 _protonregion_low = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Analysis.ProtonMomentumRegion.Low");
127 _eoverp = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Cuts.PID.EoverP");
128 _eoverpfhc = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Cuts.PID.FHC.EoverP");
134 Float_t _protonregion_low;
142 _protonregion_low = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Analysis.ProtonMomentumRegion.Low");
143 _protonregion_high = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Analysis.ProtonMomentumRegion.High");
149 Float_t _protonregion_low;
150 Float_t _protonregion_high;
156 _protonregion_low = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Analysis.ProtonMomentumRegion.Low");
157 _fgdecaltof = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Cuts.ToF.FGDEcal");
158 _fgd1fgd2tof = (Float_t)ND::params().
GetParameterD(
"psycheSelections.antiNueCCAnalysis.Cuts.ToF.FGD1FGD2");
164 Float_t _protonregion_low;
166 Float_t _fgd1fgd2tof;
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...
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
bool CheckRedoSelection(const AnaEventC &eventC, const ToyBoxB &PreviousToyBoxB, Int_t &redoFromStep)
bool IsRelevantTrueObjectForSystematicInToy(const AnaEventC &, const ToyBoxB &, AnaTrueObjectC *, SystId_h systId, Int_t branch) const
Is this true track relevant for a given systematic (after selection, called for each toy) ...
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
virtual bool Apply(AnaEventC &event, ToyBoxB &box) const
bool Apply(AnaEventC &event, bool &redo)
Apply all steps in the selection.
double GetParameterD(std::string)
Get parameter. Value is returned as double.
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...
void DefineSteps()
Define all steps in the selection.
ToyBoxB * MakeToyBox()
Create the appropriate type of box.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
void InitializeEvent(AnaEventC &eventC)
Fill the EventBox with the objects needed by this selection.
bool IsRelevantRecObjectForSystematicInToy(const AnaEventC &, const ToyBoxB &, AnaRecObjectC *, SystId_h systId, Int_t branch) const
Is this track relevant for a given systematic (after selection, called for each toy) ...
bool IsRelevantSystematic(const AnaEventC &event, const ToyBoxB &boxB, SystId_h systId, Int_t branch) const
Is this systematic relevant for this selection.
void DefineDetectorFV()
Define the detector Fiducial Volume in which this selection is applied.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!