11 for(
int j=0; j<sr->
mc.nallnus;
j++)
26 return (nu->
mode > 9999);
33 const TVector3
ovtxmin(-180, -180, 25);
34 const TVector3
ovtxmax( 180, 180, 1150);
37 return (nu->
vtx.
X() < ovtxmax.X() &&
38 nu->
vtx.
X() > ovtxmin.X() &&
39 nu->
vtx.
Y() > ovtxmin.Y() &&
40 nu->
vtx.
Y() < ovtxmax.Y() &&
41 nu->
vtx.
Z() > ovtxmin.Z() &&
42 nu->
vtx.
Z() < ovtxmax.Z() );
86 return (nu->
E >= 0. && nu->
E < 7.);
93 return (nu->
E >= 0. && nu->
E < 6.0);
100 for(
int j=0; j<sr->
mc.nallnus;
j++)
111 for(
int j=0; j<sr->
mc.nallnus;
j++)
caf::Proxy< caf::SRSpill > spill
const NuTruthCut kTrueNueCC_Nu([](const caf::SRNeutrinoProxy *truth){return( truth->iscc && abs(truth->pdg)==12 );})
const TVector3 ovtxmaxLoose(220, 220, 1150)
Cuts and Vars for the 2020 FD DiF Study.
Proxy for caf::SRNeutrino.
caf::Proxy< short int > nallnus
Proxy for caf::StandardRecord.
const NuTruthCut kOverlaidData_Nu([](const caf::SRNeutrinoProxy *nu){return true;})
const Cut kAnaTrueECut_Numu
const NuTruthCut kOverlaidMC_Nu([](const caf::SRNeutrinoProxy *nu){return(nu->mode > 9999);})
const NuTruthCut kAnaTrueECut_Nu_Nue([](const caf::SRNeutrinoProxy *nu){return(nu->E >=0.&&nu->E< 6.0);})
const NuTruthCut kNoCut_NT([](const caf::SRNeutrinoProxy *nu){return true;})
_Cut< caf::SRNeutrinoProxy > NuTruthCut
Cut designed to be used over the nuTree, ie all neutrinos, not just those that got slices...
Cut OverlayCutFromNuTruthCut(const NuTruthCut stc)
const NuTruthCut kTrueNumuCC_Nu([](const caf::SRNeutrinoProxy *truth){return( truth->iscc && abs(truth->pdg)==14 );})
caf::Proxy< caf::SRVector3D > vtx
const Cut kTrueOFiducialLoose
const NuTruthCut kTrueOFiducial_Nu([](const caf::SRNeutrinoProxy *nu){return(nu->vtx.X()< ovtxmax.X()&& nu->vtx.X() > ovtxmin.X()&& nu->vtx.Y() > ovtxmin.Y()&& nu->vtx.Y()< ovtxmax.Y()&& nu->vtx.Z() > ovtxmin.Z()&& nu->vtx.Z()< ovtxmax.Z());})
const Cut kOverlaidNoEffCut([](const caf::SRProxy *sr){if(sr->mc.nallnus==0) return false;for(int j=0;j< sr->mc.nallnus;j++) if((sr->mc.allnus[j].mode > 9999 ||!sr->spill.ismc)) return true;return false;})
const TVector3 ovtxminLoose(-220,-220, 0)
_Cut< caf::SRProxy > Cut
Representation of a cut (selection) to be applied to a caf::StandardRecord object.
const Cut kAnaTrueECut_Nue
_Cut< caf::SRSpillProxy > SpillCut
Equivalent of Cut acting on caf::SRSpill. For use in spill-by-spill data quality cuts.
caf::Proxy< caf::SRTruthBranch > mc
caf::Proxy< std::vector< caf::SRNeutrino > > allnus
const SpillCut kNoCut_Sp([](const caf::SRSpillProxy *sp){return true;})
const Cut kOverlaidEff51([](const caf::SRProxy *sr){if(sr->mc.nallnus==0) return false;for(int j=0;j< sr->mc.nallnus;j++) if((sr->mc.allnus[j].mode > 9999
||!sr->spill.ismc)
&&sr->mc.allnus[j].eff > 0.51) return true;return false;})
const NuTruthCut kTrueE250MeV_Nu([](const caf::SRNeutrinoProxy *nu){return nu->E > 0.25;})
const NuTruthCut kTrueOFiducialLoose_Nu([](const caf::SRNeutrinoProxy *nu){return(nu->vtx.X()< ovtxmaxLoose.X()&& nu->vtx.X() > ovtxminLoose.X()&& nu->vtx.Y() > ovtxminLoose.Y()&& nu->vtx.Y()< ovtxmaxLoose.Y()&& nu->vtx.Z() > ovtxminLoose.Z()&& nu->vtx.Z()< ovtxmaxLoose.Z());})
const TVector3 ovtxmin(-180,-180, 25)
caf::Proxy< short int > pdg
const TVector3 ovtxmax(180, 180, 1150)
Template for Cut and SpillCut.
const Cut kNotOverlaidData([](const caf::SRProxy *sr){if(sr->mc.nallnus==0) return true;return false;})
const NuTruthCut kAnaTrueECut_Nu_Numu([](const caf::SRNeutrinoProxy *nu){return(nu->E >=0.&&nu->E< 7.);})