1 #ifndef numuCCBwdSelection_h 2 #define numuCCBwdSelection_h 4 #include "SelectionBase.hxx" 5 #include "Parameters.hxx" 6 #include "CutUtils.hxx" 7 #include "ToyBoxTracker.hxx" 19 bool FillEventSummary(
AnaEventC& event, Int_t allCutsPassed[]);
21 SampleId::SampleEnum GetSampleEnum(){
22 if( _detectorFV[0] == SubDetId::kFGD1 ){
23 return SampleId::kFGD1NuMuCCBwd;
24 }
else if( _detectorFV[0] == SubDetId::kFGD2 ){
25 return SampleId::kFGD2NuMuCCBwd;
27 return SampleId::kUnassigned;
44 const Float_t FVdefminFGD1[3] = {57.66, 57.66, 0.0};
45 const Float_t FVdefmaxFGD1[3] = {57.66, 57.66, 0.0};
48 const Float_t FVdefminFGD2[3] = {57.66, 57.66, 0.0};
49 const Float_t FVdefmaxFGD2[3] = {57.66, 57.66, 0.0};
76 _FGD1_FGD2 = (Float_t) ND::params().
GetParameterD(
"numuCCBwdAnalysis.Cuts.ToF.FGD1_FGD2");
77 _P0D_FGD1 = (Float_t) ND::params().
GetParameterD(
"numuCCBwdAnalysis.Cuts.ToF.P0D_FGD1");
78 _ECal_FGD1 = (Float_t) ND::params().
GetParameterD(
"numuCCBwdAnalysis.Cuts.ToF.ECal_FGD1");
79 _ECal_FGD2 = (Float_t) ND::params().
GetParameterD(
"numuCCBwdAnalysis.Cuts.ToF.ECal_FGD2");
88 Float_t _FGD1_FGD2, _P0D_FGD1, _ECal_FGD1, _ECal_FGD2;
117 _muon_pid = (Float_t)ND::params().
GetParameterD(
"numuCCBwdAnalysis.Cuts.MuonPID");
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
void DefineSteps()
Define all steps in the selection.
bool CheckRedoSelection(const AnaEventC &event, const ToyBoxB &PreviousToyBox, Int_t &redoFromStep)
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
Event failed FGD1 selection when running FGD2 selection in a FGD1 + FGD2 analysis.
Track has more than one node in ecal or p0d.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
ToyBoxB * MakeToyBox()
Create the appropriate type of box.
bool IsRelevantSystematic(const AnaEventC &event, const ToyBoxB &box, SystId_h systId, Int_t branch) const
Is this systematic relevant for this 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...
SubDetEnum
Enumeration of all detector systems and subdetectors.
virtual bool Apply(AnaEventC &event, ToyBoxB &box) const
Switch back TPC tracks sense.
void InitializeEvent(AnaEventC &event)
Fill the EventBox with the objects needed by this selection.
Representation of a global track.
bool Apply(AnaEventC &event, bool &redo)
Apply all steps in the selection.
double GetParameterD(std::string)
Get parameter. Value is returned as double.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
void DefineDetectorFV()
Define the detector Fiducial Volume in which this selection is applied.
Muon candidate has a positive time of flight.
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
ToyBoxB ** PreviousToyBox
Array of pointers to the PreviousToyBox (for each event)
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!
StepBase * MakeClone()
MANDATORY FUNCTIONS !!!