6 #include "sbnanaobj/StandardRecord/Proxy/SRProxy.h"
22 float energy = (sr->mc.nnu != 1 ? -5.f : (float)sr->mc.nu[0].E);
27 return (sr->mc.nnu < 2);
32 if (slc->truth.index == -1)
40 if (slc->truth.index == -1)
43 for (
auto const& prim : slc->truth.prim) {
47 if (prim.startE > 0.2)
const Cut kSlcCompletenessCut([](const caf::SRSliceProxy *slc){if(slc->truth.index< 0) return false;return(kCompletness(slc) > 0.5);})
then if[["$THISISATEST"==1]]
const Cut kIsNC([](const caf::SRSliceProxy *slc){return kHasMatchedNu(slc)&&slc->truth.isnc;})
Is this a Neutral Current event?
const SpillCut kSpillSingleNu([](const caf::SRSpillProxy *sr){return(sr->mc.nnu< 2);})
bool PtInVolAbsX(const caf::SRVector3DProxy &pt, const FidVol &vol)
const Cut kNuEEnergyCut([](const caf::SRSliceProxy *slc){return true;for(auto const &prim:slc->truth.prim){if(std::abs(prim.pdg)!=11 &&std::abs(prim.pdg)!=22) continue;return true;}return false;})
process_name opflashCryoW ana
caf::Proxy< caf::SRSlice > SRSliceProxy
const Cut kIsNue([](const caf::SRSliceProxy *slc){return slc->truth.index >=0 &&abs(slc->truth.pdg)==12;})
const Cut kTrueNuFV([](const caf::SRSliceProxy *slc){return false;return PtInVolAbsX(slc->truth.position, fvndAbs);})
const Cut kHasNu([](const caf::SRSliceProxy *slc){return slc->truth.index >=0;})
for($it=0;$it< $RaceTrack_number;$it++)
const Cut kIsNumu([](const caf::SRSliceProxy *slc){return slc->truth.index >=0 &&abs(slc->truth.pdg)==14;})
caf::Proxy< caf::StandardRecord > SRSpillProxy
const SpillVar kNuEnergy([](const caf::SRSpillProxy *sr){float energy=(sr->mc.nnu!=1?-5.f:(float) sr->mc.nu[0].E);return energy;})
Neutral-current interactions.
Most useful for combining weights.