3 #include "CAFAna/Core/Var.h" const Var kShwE([](const caf::SRProxy *sr){double maxe=-99.0;if(!sr->vtx.elastic.IsValid) return-99999.0;if(sr->vtx.elastic.fuzzyk.npng< 1) return-99999.0;for(unsigned int i=0;i< sr->vtx.elastic.fuzzyk.npng;i++){if(maxe< sr->vtx.elastic.fuzzyk.png[i].shwlid.shwE){maxe=sr->vtx.elastic.fuzzyk.png[i].shwlid.shwE;}}return maxe;})
Cuts and Vars for the 2020 FD DiF Study.
const Var kMREParentNumuE([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.numuE)) return-1000.0f;return float(sr->parent.mrccpar.numuE);})
const Var kMREParentMuonStartY([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muonstart.Y())) return-1000.0f;return float(sr->parent.mrccpar.muonstart.Y());})
const Var kMREParentMuonStartX([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muonstart.X())) return-1000.0f;return float(sr->parent.mrccpar.muonstart.X());})
const Var kDistNearestWall([](const caf::SRProxy *sr){float disttonearestwall=std::min(float(kDistAllTop(sr)), float(kDistNotTop(sr)));return disttonearestwall;})
const Var kMREParentNHit([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.nhit)) return-1000.0f;return float(sr->parent.mrccpar.nhit);})
const Var kMREParentSlcId([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muE)) return-1000.0f;return float(sr->parent.mrccpar.slcidx);})
const Var kMREParentPID([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.remid)) return-1000.0f;return float(sr->parent.mrccpar.remid);})
const Var kMREParentEff([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.eff)) return-1000.0f;return float(sr->parent.mrccpar.eff);})
const Var kMREParentMuonStopZ([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muonstop.Z())) return-1000.0f;return float(sr->parent.mrccpar.muonstop.Z());})
const Var kMREParentLastPl([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.lastplane)) return-1000.0f;return float(sr->parent.mrccpar.lastplane);})
const Var kMREParentPur([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.pur)) return-1000.0f;return float(sr->parent.mrccpar.pur);})
const Var kMREParentFirstPl([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.firstplane)) return-1000.0f;return float(sr->parent.mrccpar.firstplane);})
const Var kMREParentFwdCell([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muonfwdcell)) return-1000.0f;return float(sr->parent.mrccpar.muonfwdcell);})
const Var kMREParentMuonStartZ([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muonstart.Z())) return-1000.0f;return float(sr->parent.mrccpar.muonstart.Z());})
const Var kMREParentMuonStopY([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muonstop.Y())) return-1000.0f;return float(sr->parent.mrccpar.muonstop.Y());})
const Var kMREParentHadECat([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.hadEinmucat)) return-1000.0f;return float(sr->parent.mrccpar.hadEinmucat);})
const Var kMREParentMuonE([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muE)) return-1000.0f;return float(sr->parent.mrccpar.muE);})
const Var kMREParentBckCell([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muonbkcell)) return-1000.0f;return float(sr->parent.mrccpar.muonbkcell);})
const Var kShwAngle([](const caf::SRProxy *sr){double maxe=-99.0;double cosz=-1.0;if(!sr->vtx.elastic.IsValid) return-99999.0;if(sr->vtx.elastic.fuzzyk.npng< 1) return-99999.0;for(unsigned int i=0;i< sr->vtx.elastic.fuzzyk.npng;i++){if(maxe< sr->vtx.elastic.fuzzyk.png[i].shwlid.shwE){maxe=sr->vtx.elastic.fuzzyk.png[i].shwlid.shwE;cosz=sr->vtx.elastic.fuzzyk.png[i].shwlid.dir.z;}}return cosz;})
const Var kMREParentMuonStopX([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.muonstop.X())) return-1000.0f;return float(sr->parent.mrccpar.muonstop.X());})
const Var kMREParentCPlanes([](const caf::SRProxy *sr){if(std::isnan(1.*sr->parent.mrccpar.contplanes)) return-1000.0f;return float(sr->parent.mrccpar.contplanes);})