7 #include "CAFAna/Core/Var.h" 8 #include "CAFAna/Core/Cut.h" 126 void InitializeMippNA49NOvAND()
const;
127 mutable TH1D* fRatiosn[4] = {0};
135 void InitializeMippNA49NOvAFD()
const;
136 mutable TH1D* fRatiosf[4] = {0};
void InitializeMinervaND() const
const Var kMode([](const caf::SRProxy *sr){return(sr->mc.nnu==0)?-1:int(sr->mc.nu[0].mode);})
Neutrino interaction mode.
Cuts and Vars for the 2020 FD DiF Study.
const NuTruthVar kTrueE_NT([](const caf::SRNeutrinoProxy *sr){return float(sr->E);})
True neutrino energy.
double operator()(const caf::SRProxy *sr) const
double CalibrationBugCorrectionFactor(const caf::SRHeaderProxy &hdr)
See docdb 23597.
Proxy for caf::StandardRecord.
const Var kPartonZ([](const caf::SRProxy *sr){double hadEvis=0.;double energy=-5.;if(sr->mc.nu[0].prim.size() > 0){hadEvis=sr->energy.numu.hadcalE;for(unsigned int part=0;part< sr->mc.nu[0].prim.size();part++){if(sr->mc.nu[0].prim[part].pdg==2212){double KE=sr->mc.nu[0].prim[part].p.E-938;if(energy< KE) energy=KE;}else if(sr->mc.nu[0].prim[part].pdg==2112){double KE=sr->mc.nu[0].prim[part].p.E-939.5;if(energy< KE) energy=KE;}else{if(energy< sr->mc.nu[0].prim[part].p.E) energy=sr->mc.nu[0].prim[part].p.E;}}}if(hadEvis==0) return-5.;return energy/hadEvis;})
const Var kTruetpT([](const caf::SRProxy *sr){return(sr->mc.nnu==0)?0.:util::pythag(sr->mc.nu[0].beam.tp.X(), sr->mc.nu[0].beam.tp.Y());})
True neutrino ancestor (off-target) pT.
_Var< caf::SRProxy > Var
Representation of a variable to be retrieved from a caf::StandardRecord object.
const Var kFDMippNA49NOvARwtVar
const Var kCosVeto
The result of CosVeto.
const Var kTrueE([](const caf::SRProxy *sr){assert(sr->mc.nnu==1);return sr->mc.nu[0].E;})
const Var kLongestProng([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return 0.f;if(sr->vtx.elastic.fuzzyk.npng==0) return 0.f;auto idx=sr->vtx.elastic.fuzzyk.longestidx;return float(sr->vtx.elastic.fuzzyk.png[idx].len);})
const Var kCaloE
Summed calorimetric energy of all hits in slice, uncorrected.
const Var kTruetpz([](const caf::SRProxy *sr){return(sr->mc.nnu==0)?0.:float(sr->mc.nu[0].beam.tp.z);})
True neutrino ancestor (off-target) pz.
const Var kNDMippNA49NOvARwtVar
const Var kNDMinervaRwtVar
const Var kCVNSSe([](const caf::SRProxy *sr){throw std::runtime_error("kCVNSSe is no longer available. Fix your macro so you don't use it.");return-5.;})
2018 nue PID
const Var kNMichels([](const caf::SRProxy *sr){int n_me=0;for(int i=0;i< (int) sr->me.nslc;i++) if(sr->me.slc[i].mid > 1. &&sr->me.slc[i].deltat > 1200.) n_me++;for(int i=0;i< (int) sr->me.nkalman;i++) if(sr->me.trkkalman[i].mid > 0. &&sr->me.trkkalman[i].deltat > 800.) n_me++;if(n_me > 2) n_me=2;return n_me;})
Number of SlcME's assoc with slice.
const Var kCVNcos_looseptp
const Var kCVNm_oldpresel
const Cut kIsRHC([](const caf::SRProxy *sr){return sr->spill.isRHC;})
const Var kCVNcos_oldpresel
const Var kMippNA49NOvARwtVar
const Var kCVNe_oldpresel
Template for Cut and SpillCut.