Functions | Variables
ana::numubarccpi0 Namespace Reference

Functions

const TVector3 vtxmin (-130,-130, 100)
 
const TVector3 vtxmax (140, 140, 1000)
 
float MuonEAct (double trklenact)
 
float MuonEActandCat (double trklenactandcat)
 
float MuonECat (double trklencat)
 
int Prong1ID_Generator (const caf::SRProxy *sr, std::string id_type)
 
int Prong2ID_Generator (const caf::SRProxy *sr, std::string id_type)
 
double MuonMass ()
 
const Var kMuonMass ([](const caf::SRProxy *sr){return MuonMass();})
 
double Pi0Mass ()
 
const Var kPi0Mass ([](const caf::SRProxy *sr){return Pi0Mass();})
 

Variables

const NuTruthCut kTrueFiducial_NT ([](const caf::SRNeutrinoProxy *truth){return(truth->vtx.X()< vtxmax.X()&& truth->vtx.X() > vtxmin.X()&& truth->vtx.Y() > vtxmin.Y()&& truth->vtx.Y()< vtxmax.Y()&& truth->vtx.Z() > vtxmin.Z()&& truth->vtx.Z()< vtxmax.Z());})
 
const Cut kTrueFiducial = CutFromNuTruthCut(kTrueFiducial_NT)
 
const NuTruthCut kIsNumuCC_NT ([](const caf::SRNeutrinoProxy *truth){return(truth->iscc &&abs(truth->pdg)==14);})
 
const NuTruthCut kIsNC_NT ([](const caf::SRNeutrinoProxy *truth){return(!truth->iscc);})
 
const NuTruthCut kIsNu_NT ([](const caf::SRNeutrinoProxy *truth){return(truth->pdg > 0);})
 
const NuTruthCut kIsAntiNu_NT ([](const caf::SRNeutrinoProxy *truth){return(truth->pdg< 0);})
 
const Cut kIsNumuCC = CutFromNuTruthCut(kIsNumuCC_NT)
 
const Cut kIsNC = CutFromNuTruthCut(kIsNC_NT)
 
const Cut kIsNu = CutFromNuTruthCut(kIsNu_NT)
 
const Cut kIsAntiNu = CutFromNuTruthCut(kIsAntiNu_NT)
 
const Cut kThreePngPlus ([](const caf::SRProxy *sr){if(!(sr->vtx.elastic.IsValid)) return false;return sr->vtx.elastic.fuzzyk.npng >=3;})
 
const Cut kNumuMyQuality ([](const caf::SRProxy *sr){return(sr->trk.kalman.ntracks > 0 && sr->slc.nhit > 20 && sr->slc.ncontplanes > 4);})
 
const Cut kIsFiducial ([](const caf::SRProxy *sr){int ibesttrk=kBestTrack(sr);if(sr->trk.kalman.ntracks< 1) return false;if(ibesttrk< 0||ibesttrk >=int(sr->trk.kalman.ntracks)) return false;bool isfid=(sr->trk.kalman.tracks[ibesttrk].start.X()< vtxmax.X()&& sr->trk.kalman.tracks[ibesttrk].start.X() > vtxmin.X()&& sr->trk.kalman.tracks[ibesttrk].start.Y() > vtxmin.Y()&& sr->trk.kalman.tracks[ibesttrk].start.Y()< vtxmax.Y()&& sr->trk.kalman.tracks[ibesttrk].start.Z() > vtxmin.Z()&& sr->trk.kalman.tracks[ibesttrk].start.Z()< vtxmax.Z());return isfid;})
 
const Cut kNumuTightContainND ([](const caf::SRProxy *sr){if(!(sr->vtx.elastic.IsValid)) return false;int ibesttrk=kBestTrack(sr);for(unsigned int i=0;i< sr->vtx.elastic.fuzzyk.nshwlid;++i){TVector3 start=sr->vtx.elastic.fuzzyk.png[i].shwlid.start;TVector3 stop=sr->vtx.elastic.fuzzyk.png[i].shwlid.stop;if(std::min(start.X(), stop.X())< -180.0) return false;if(std::max(start.X(), stop.X()) > 180.0) return false;if(std::min(start.Y(), stop.Y())< -180.0) return false;if(std::max(start.Y(), stop.Y()) > 180.0) return false;if(std::min(start.Z(), stop.Z())< 20.0) return false;if(std::max(start.Z(), stop.Z()) > 1525.0) return false;}if(sr->trk.kalman.ntracks< 1) return false;for(int i=0;i< int(sr->trk.kalman.ntracks);++i){if(i==ibesttrk) continue;else if(sr->trk.kalman.tracks[i].start.Z() > 1275|| sr->trk.kalman.tracks[i].stop.Z() > 1275) return false;}if(ibesttrk< 0||ibesttrk >=int(sr->trk.kalman.ntracks)) return false;return((sr->trk.kalman.tracks[ibesttrk].stop.Z()< 1275 ||sr->trk.kalman.tracks[ibesttrk].trkyposattrans< 55) &&sr->trk.kalman.tracks[ibesttrk].trkfwdcellnd > 5 &&sr->trk.kalman.tracks[ibesttrk].trkbakcellnd > 10);})
 
const Cut kPrimaryPi0 = kNPrimaryPi0 > 0
 
const Cut kSecondaryPi0 = kNSecondaryPi0 > 0
 
const Cut kMuonIDCut = kMuonID > 0.24
 
const Cut kAllNumuCCCuts
 
const Cut kNumuCC = kTrueFiducial && kIsNumuCC
 
const Cut kNC = kTrueFiducial && kIsNC
 
const Cut kSignal = kNumuCC && kPrimaryPi0
 
const Cut kNuSig = kSignal && kIsNu
 
const Cut kAntiNuSig = kSignal && kIsAntiNu
 
const Cut kBkg = !kSignal
 
const Cut kPrimPi0 = kPrimaryPi0
 
const Cut kNoPrimPi0 = !kPrimaryPi0
 
const Cut kSecoPi0 = !kPrimaryPi0 && kSecondaryPi0
 
const Cut kNoPi0 = !kPrimaryPi0 && !kSecondaryPi0
 
const Cut kHasPi0 = kPrimaryPi0 || kSecondaryPi0
 
const Cut kIsOther = !kTrueFiducial || (kTrueFiducial && !kIsNC && !kIsNumuCC)
 
const Cut kSignal_fixed = kNumuCC && kHasPi0
 
const Cut kBkg_fixed = !kSignal_fixed
 
const Cut kProng1NHitCut4_4view = kProng1NHit_4view >= 4
 
const Cut kProng1NHitCut4_emid = kProng1NHit_emid >= 4
 
const Cut kProng1NHitCut4_5label = kProng1NHit_5label >= 4
 
const Cut kProng2NHitCut4_4view = kProng2NHit_4view >= 4
 
const Cut kProng2NHitCut4_emid = kProng2NHit_emid >= 4
 
const Cut kProng2NHitCut4_5label = kProng2NHit_5label >= 4
 
const Cut kProng1NHitCut6_4view = kProng1NHit_4view >= 6
 
const Cut kProng1NHitCut6_emid = kProng1NHit_emid >= 6
 
const Cut kProng1NHitCut6_5label = kProng1NHit_5label >= 6
 
const Cut kProng2NHitCut6_4view = kProng2NHit_4view >= 6
 
const Cut kProng2NHitCut6_emid = kProng2NHit_emid >= 6
 
const Cut kProng2NHitCut6_5label = kProng2NHit_5label >= 6
 
const Cut kProngNHitCut4_4view = kProng1NHitCut4_4view && kProng2NHitCut4_4view
 
const Cut kProngNHitCut4_emid = kProng1NHitCut4_emid && kProng2NHitCut4_emid
 
const Cut kProngNHitCut4_5label = kProng1NHitCut4_5label && kProng2NHitCut4_5label
 
const Cut kProngNHitCut6_4view = kProng1NHitCut6_4view && kProng2NHitCut6_4view
 
const Cut kProngNHitCut6_emid = kProng1NHitCut6_emid && kProng2NHitCut6_emid
 
const Cut kProngNHitCut6_5label = kProng1NHitCut6_5label && kProng2NHitCut6_5label
 
const Cut kPresel = kNumuMyQuality && kNumuTightContainND && kIsFiducial
 
const Cut kNumuCCsel = kPresel && kMuonIDCut
 
const Cut kMuonE40Cut = kRecoMuKE > 0.40
 
const Cut kPngPresel = kNumuCCsel && kMuonE40Cut && kThreePngPlus
 
const Cut kProngScoreCut_4view = kProng1Score_4view > 0.5 && kProng2Score_4view > 0.5
 
const Cut kProngScoreCut_emid_Cut4 = kProng2Score_emid > 0.22 && kProng1Score_emid > 0.32
 
const Cut kProngScoreCut_emid_Cut6 = kProng2Score_emid > 0.17 && kProng1Score_emid > 0.17
 
const Cut kProngScoreCut_5label_Cut4 = kProng2Score_5label > 0.21 && kProng1Score_5label > 0.27
 
const Cut kProngScoreCut_5label_Cut6 = kProng2Score_5label > 0.17 && kProng1Score_5label > 0.27
 
const NuTruthVar kNPrimaryPi0_NT ([](const caf::SRNeutrinoProxy *truth){int nprims=truth->prim.size();int countpi0=0;for(int i=0;i< nprims;++i){if(truth->prim[i].pdg==111) countpi0++;}return countpi0;})
 
const NuTruthVar kNSecondaryPi0_NT ([](const caf::SRNeutrinoProxy *truth){int nprims=truth->prim.size();int countpi0=0;for(int i=0;i< nprims;++i){auto &daughters=truth->prim[i].daughterlist;if(daughters.empty()) continue;for(const auto &pdg:daughters){if(pdg==111) countpi0++;}}return countpi0;})
 
const Var kNPrimaryPi0 = VarFromNuTruthVar(kNPrimaryPi0_NT)
 
const Var kNSecondaryPi0 = VarFromNuTruthVar(kNSecondaryPi0_NT)
 
const Var kNProngs ([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-5;return(int) sr->vtx.elastic.fuzzyk.npng;})
 
const Var kBestTrack ([](const caf::SRProxy *sr){return(int) sr->trk.kalman.idxmuonid;})
 
const Var kMuonID ([](const caf::SRProxy *sr){int ibesttrk=kBestTrack(sr);if(sr->trk.kalman.ntracks< 1) return-5.0f;if(ibesttrk< 0||ibesttrk >=int(sr->trk.kalman.ntracks)) return-5.0f;return(float) sr->trk.kalman.tracks[ibesttrk].muonid;})
 
const Var kTrkLenAct ([](const caf::SRProxy *sr){int ibesttrk=kBestTrack(sr);if(sr->trk.kalman.ntracks< 1) return-1000.f;if(ibesttrk< 0||ibesttrk >=int(sr->trk.kalman.ntracks)) return-1000.f; if(sr->trk.kalman.tracks[ibesttrk].leninact > 0 && sr->trk.kalman.tracks[ibesttrk].lenincat< 0) return float((sr->trk.kalman.tracks[ibesttrk].leninact/100.) +(sr->trk.kalman.tracks[ibesttrk].lenincat/100.)); if(sr->trk.kalman.tracks[ibesttrk].leninact > 0 && sr->trk.kalman.tracks[ibesttrk].lenincat > 0) return float(sr->trk.kalman.tracks[ibesttrk].leninact/100.); if(sr->trk.kalman.tracks[ibesttrk].leninact< 0 && sr->trk.kalman.tracks[ibesttrk].lenincat > 0) return 0.f;return-1000.f;})
 
const Var kTrkLenCat ([](const caf::SRProxy *sr){int ibesttrk=kBestTrack(sr);if(sr->trk.kalman.ntracks< 1) return-1000.f;if(ibesttrk< 0||ibesttrk >=int(sr->trk.kalman.ntracks)) return-1000.f; if(sr->trk.kalman.tracks[ibesttrk].leninact > 0 && sr->trk.kalman.tracks[ibesttrk].lenincat< 0) return 0.f; if(sr->trk.kalman.tracks[ibesttrk].leninact > 0 && sr->trk.kalman.tracks[ibesttrk].lenincat > 0) return float(sr->trk.kalman.tracks[ibesttrk].lenincat/100.); if(sr->trk.kalman.tracks[ibesttrk].leninact< 0 && sr->trk.kalman.tracks[ibesttrk].lenincat > 0) return float((sr->trk.kalman.tracks[ibesttrk].leninact/100.) +(sr->trk.kalman.tracks[ibesttrk].lenincat/100.));return-1000.f;})
 
const Var kIncXsecMuonE ([](const caf::SRProxy *sr){float muonE=0.0;float muonEact=0.0;float muonEcat=0.0;float muonEactandcat=0.0;float trkLenAct=0.f;float trkLenCat=0.f;trkLenAct=kTrkLenAct(sr);trkLenCat=kTrkLenCat(sr);int ibesttrk=kBestTrack(sr);if(sr->trk.kalman.ntracks< 1) return-1000.f;if(ibesttrk< 0||ibesttrk >=int(sr->trk.kalman.ntracks)) return-1000.f;if(sr->trk.kalman.tracks[ibesttrk].leninact > 0 && sr->trk.kalman.tracks[ibesttrk].lenincat< 0) muonEact=MuonEAct(trkLenAct);else if(sr->trk.kalman.tracks[ibesttrk].leninact > 0 && sr->trk.kalman.tracks[ibesttrk].lenincat > 0){muonEcat=MuonECat(trkLenCat);muonEactandcat=MuonEActandCat(trkLenAct);muonE=muonEactandcat+muonEcat;}return muonE+muonEact;})
 
const Var kProng1ID_4view ([](const caf::SRProxy *sr){return Prong1ID_Generator(sr,"4view");})
 
const Var kProng2ID_4view ([](const caf::SRProxy *sr){return Prong2ID_Generator(sr,"4view");})
 
const Var kProng1ID_emid ([](const caf::SRProxy *sr){return Prong1ID_Generator(sr,"emid");})
 
const Var kProng2ID_emid ([](const caf::SRProxy *sr){return Prong2ID_Generator(sr,"emid");})
 
const Var kProng1ID_5label ([](const caf::SRProxy *sr){return Prong1ID_Generator(sr,"5label");})
 
const Var kProng2ID_5label ([](const caf::SRProxy *sr){return Prong2ID_Generator(sr,"5label");})
 
const Var kProng1NHit_4view ([](const caf::SRProxy *sr){int png1=kProng1ID_4view(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhit;})
 
const Var kProng1NHitX_4view ([](const caf::SRProxy *sr){int png1=kProng1ID_4view(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhitx;})
 
const Var kProng1NHitY_4view ([](const caf::SRProxy *sr){int png1=kProng1ID_4view(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhity;})
 
const Var kProng2NHit_4view ([](const caf::SRProxy *sr){int png2=kProng2ID_4view(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhit;})
 
const Var kProng2NHitX_4view ([](const caf::SRProxy *sr){int png2=kProng2ID_4view(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhitx;})
 
const Var kProng2NHitY_4view ([](const caf::SRProxy *sr){int png2=kProng2ID_4view(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhity;})
 
const Var kProng1NHit_emid ([](const caf::SRProxy *sr){int png1=kProng1ID_emid(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhit;})
 
const Var kProng1NHitX_emid ([](const caf::SRProxy *sr){int png1=kProng1ID_emid(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhitx;})
 
const Var kProng1NHitY_emid ([](const caf::SRProxy *sr){int png1=kProng1ID_emid(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhity;})
 
const Var kProng2NHit_emid ([](const caf::SRProxy *sr){int png2=kProng2ID_emid(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhit;})
 
const Var kProng2NHitX_emid ([](const caf::SRProxy *sr){int png2=kProng2ID_emid(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhitx;})
 
const Var kProng2NHitY_emid ([](const caf::SRProxy *sr){int png2=kProng2ID_emid(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhity;})
 
const Var kProng1NHit_5label ([](const caf::SRProxy *sr){int png1=kProng1ID_5label(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhit;})
 
const Var kProng1NHitX_5label ([](const caf::SRProxy *sr){int png1=kProng1ID_5label(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhitx;})
 
const Var kProng1NHitY_5label ([](const caf::SRProxy *sr){int png1=kProng1ID_5label(sr);if(png1< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png1].nhity;})
 
const Var kProng2NHit_5label ([](const caf::SRProxy *sr){int png2=kProng2ID_5label(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhit;})
 
const Var kProng2NHitX_5label ([](const caf::SRProxy *sr){int png2=kProng2ID_5label(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhitx;})
 
const Var kProng2NHitY_5label ([](const caf::SRProxy *sr){int png2=kProng2ID_5label(sr);if(png2< 0) return-5;return(int) sr->vtx.elastic.fuzzyk.png[png2].nhity;})
 
const Var kProng1Score_4view ([](const caf::SRProxy *sr){int png1=kProng1ID_4view(sr);if(png1< 0) return-5.0f;const auto &p1=sr->vtx.elastic.fuzzyk.png[png1];return(float)(p1.cvnpart.emid);})
 
const Var kProng2Score_4view ([](const caf::SRProxy *sr){int png2=kProng2ID_4view(sr);if(png2< 0) return-5.0f;const auto &p2=sr->vtx.elastic.fuzzyk.png[png2];return(float)(p2.cvnpart.emid);})
 
const Var kProng1Score_emid ([](const caf::SRProxy *sr){int png1=kProng1ID_emid(sr);if(png1< 0) return-5.0f;const auto &p1=sr->vtx.elastic.fuzzyk.png[png1];return(float)(p1.spprongcvnpartnumuccemid.emid);})
 
const Var kProng2Score_emid ([](const caf::SRProxy *sr){int png2=kProng2ID_emid(sr);if(png2< 0) return-5.0f;const auto &p2=sr->vtx.elastic.fuzzyk.png[png2];return(float)(p2.spprongcvnpartnumuccemid.emid);})
 
const Var kProng1Score_5label ([](const caf::SRProxy *sr){int png1=kProng1ID_5label(sr);if(png1< 0) return-5.0f;const auto &p1=sr->vtx.elastic.fuzzyk.png[png1];return(float)(p1.spprongcvnpart5label.emid);})
 
const Var kProng2Score_5label ([](const caf::SRProxy *sr){int png2=kProng2ID_5label(sr);if(png2< 0) return-5.0f;const auto &p2=sr->vtx.elastic.fuzzyk.png[png2];return(float)(p2.spprongcvnpart5label.emid);})
 
const Var kPi0Mass_4view ([](const caf::SRProxy *sr){int png1=kProng1ID_4view(sr);int png2=kProng2ID_4view(sr);if(png1< 0||png2< 0) return-5.0f;const auto &p1=sr->vtx.elastic.fuzzyk.png[png1];const auto &p2=sr->vtx.elastic.fuzzyk.png[png2];const float dot=p1.dir.Unit().Dot(p2.dir.Unit());return 1000 *sqrt(2 *p1.calE *p2.calE *(1-dot));})
 
const Var kPi0Mass_emid ([](const caf::SRProxy *sr){int png1=kProng1ID_emid(sr);int png2=kProng2ID_emid(sr);if(png1< 0||png2< 0) return-5.0f;const auto &p1=sr->vtx.elastic.fuzzyk.png[png1];const auto &p2=sr->vtx.elastic.fuzzyk.png[png2];const float dot=p1.dir.Unit().Dot(p2.dir.Unit());return 1000 *sqrt(2 *p1.calE *p2.calE *(1-dot));})
 
const Var kPi0Mass_5label ([](const caf::SRProxy *sr){int png1=kProng1ID_5label(sr);int png2=kProng2ID_5label(sr);if(png1< 0||png2< 0) return-5.0f;const auto &p1=sr->vtx.elastic.fuzzyk.png[png1];const auto &p2=sr->vtx.elastic.fuzzyk.png[png2];const float dot=p1.dir.Unit().Dot(p2.dir.Unit());return 1000 *sqrt(2 *p1.calE *p2.calE *(1-dot));})
 
const Var kTrkLenActandCat = kTrkLenAct + kTrkLenCat
 
const Var kRecoMuKE = kIncXsecMuonE - kMuonMass
 

Function Documentation

const Var ana::numubarccpi0::kMuonMass ( [] (const caf::SRProxy *sr){return MuonMass();}  )

Referenced by MuonMass().

const Var ana::numubarccpi0::kPi0Mass ( [] (const caf::SRProxy *sr){return Pi0Mass();}  )

Referenced by Pi0Mass().

float ana::numubarccpi0::MuonEAct ( double  trklenact)
inline

Definition at line 62 of file NumubarCCpi0_Vars.cxx.

References PandAna.Demos.pi0_spectra::p0, plot_validation_datamc::p1, plot_validation_datamc::p2, make_associated_cosmic_defs::p3, and cet::pow().

Referenced by MuonECat().

62  {
63  double p0 = 1.67012e-01;
64  double p1 = 1.79305e-01;
65  double p2 = 3.74708e-03;
66  double p3 = -1.54232e-04;
67  float MuonE = 0.0;
68  if (trklenact <= 0.0) return 0.0;
69  MuonE = p0
70  + p1 * trklenact
71  + p2 * std::pow(trklenact, 2)
72  + p3 * std::pow(trklenact, 3);
73  return MuonE;
74  }
constexpr T pow(T x)
Definition: pow.h:75
float ana::numubarccpi0::MuonEActandCat ( double  trklenactandcat)
inline

Definition at line 79 of file NumubarCCpi0_Vars.cxx.

References PandAna.Demos.pi0_spectra::p0, plot_validation_datamc::p1, plot_validation_datamc::p2, and cet::pow().

Referenced by MuonECat().

79  {
80  double p0 = 1.21130e-02;
81  double p1 = 1.97903e-01;
82  double p2 = 7.82459e-04;
83  float MuonE = 0.0;
84  if (trklenactandcat <= 0.0) return 0.0;
85  MuonE = p0
86  + p1 * trklenactandcat
87  + p2 * std::pow(trklenactandcat, 2);
88  return MuonE;
89  }
constexpr T pow(T x)
Definition: pow.h:75
float ana::numubarccpi0::MuonECat ( double  trklencat)
inline

Definition at line 94 of file NumubarCCpi0_Vars.cxx.

References check_time_usage::float, caf::Proxy< caf::SRTrackBranch >::kalman, kBestTrack, kIncXsecMuonE, kTrkLenAct, kTrkLenCat, MuonEAct(), MuonEActandCat(), caf::Proxy< caf::SRKalman >::ntracks, PandAna.reco_validation.add_data::offset, caf::Proxy< caf::SRKalman >::tracks, and caf::Proxy< caf::StandardRecord >::trk.

94  {
95  double offset = 1.31325e-01;
96  double slope = 5.35146e-01;
97  float MuonE = 0.0;
98  if (trklencat <= 0.0) return 0.0;
99  MuonE = slope*trklencat + offset;
100  return MuonE;
101  }
double ana::numubarccpi0::MuonMass ( )
inline

Definition at line 15 of file NumubarCCpi0_Vars.h.

References kMuonMass(), and sr.

16  {
17  static TDatabasePDG* pdgdb = TDatabasePDG::Instance();
18  static double mass = pdgdb->GetParticle(-13)->Mass();
19  return mass;
20  }
double ana::numubarccpi0::Pi0Mass ( )
inline

Definition at line 27 of file NumubarCCpi0_Vars.h.

References kNPrimaryPi0, kNSecondaryPi0, and kPi0Mass().

28  {
29  static TDatabasePDG* pdgdb = TDatabasePDG::Instance();
30  static double mass = pdgdb->GetParticle(111)->Mass();
31  return mass;
32  }
int ana::numubarccpi0::Prong1ID_Generator ( const caf::SRProxy sr,
std::string  id_type 
)

Definition at line 196 of file NumubarCCpi0_Vars.cxx.

References caf::Proxy< caf::SRVertexBranch >::elastic, caf::Proxy< caf::SRElastic >::fuzzyk, MECModelEnuComparisons::i, ana::kCVNMuonIdx, kNProngs, caf::Proxy< caf::SRFuzzyK >::png, and caf::Proxy< caf::StandardRecord >::vtx.

Referenced by Prong2ID_Generator().

196  {
197  int ProngNum = numubarccpi0::kNProngs(sr);
198  if(ProngNum < 2) return -5;
199  int MuonPngID = kCVNMuonIdx(sr);
200  int EMPngID = 0;
201  float EMcvn = -5.0;
202  float tempcvn = -5.0;
203  for(int i = 0; i < ProngNum; ++i) {
204  if(i == MuonPngID) continue;
205  if(id_type == "4view"){
206  tempcvn = sr->vtx.elastic.fuzzyk.png[i].cvnpart.emid;
207  }
208  else if(id_type == "emid"){
209  tempcvn = sr->vtx.elastic.fuzzyk.png[i].spprongcvnpartnumuccemid.emid;
210  }
211  else if(id_type == "5label"){
212  tempcvn = sr->vtx.elastic.fuzzyk.png[i].spprongcvnpart5label.emid;
213  }
214  else {
215  tempcvn = -5.0;
216  }
217  if(tempcvn > EMcvn) {
218  EMPngID = i;
219  EMcvn = tempcvn;
220  }
221  }
222  return EMPngID;
223  }
caf::Proxy< caf::SRFuzzyK > fuzzyk
Definition: SRProxy.h:2059
const Var kCVNMuonIdx([](const caf::SRProxy *sr){float longest_idx=-5.0;float longest_len=-5.0;if(sr->vtx.elastic.IsValid){for(unsigned int png_idx=0;png_idx< sr->vtx.elastic.fuzzyk.png.size();png_idx++){auto &png=sr->vtx.elastic.fuzzyk.png[png_idx];if(png.len > longest_len){longest_len=png.len;longest_idx=png_idx;}}} if(longest_len > 500.0) return longest_idx;float best_idx=-5.0;float best_score=-5.0;if(sr->vtx.elastic.IsValid){for(unsigned int png_idx=0;png_idx< sr->vtx.elastic.fuzzyk.png.size();png_idx++){auto &png=sr->vtx.elastic.fuzzyk.png[png_idx];if(png.cvnpart.muonid > best_score){best_score=png.cvnpart.muonid;best_idx=png_idx;}}}return best_idx;})
: Prong index of best muon prong by CVN score & length
Definition: CVNProngVars.h:19
caf::Proxy< caf::SRElastic > elastic
Definition: SRProxy.h:2118
caf::Proxy< std::vector< caf::SRFuzzyKProng > > png
Definition: SRProxy.h:2043
const Var kNProngs([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-5;return(int) sr->vtx.elastic.fuzzyk.npng;})
caf::Proxy< caf::SRVertexBranch > vtx
Definition: SRProxy.h:2146
int ana::numubarccpi0::Prong2ID_Generator ( const caf::SRProxy sr,
std::string  id_type 
)

Definition at line 225 of file NumubarCCpi0_Vars.cxx.

References stan::math::dot(), caf::Proxy< caf::SRVertexBranch >::elastic, caf::Proxy< caf::SRElastic >::fuzzyk, MECModelEnuComparisons::i, ana::kCVNMuonIdx, kNProngs, kPi0Mass_4view, kPi0Mass_5label, kPi0Mass_emid, kProng1ID_4view, kProng1ID_5label, kProng1ID_emid, kProng1NHit_4view, kProng1NHit_5label, kProng1NHit_emid, kProng1NHitX_4view, kProng1NHitX_5label, kProng1NHitX_emid, kProng1NHitY_4view, kProng1NHitY_5label, kProng1NHitY_emid, kProng1Score_4view, kProng1Score_5label, kProng1Score_emid, kProng2ID_4view, kProng2ID_5label, kProng2ID_emid, kProng2NHit_4view, kProng2NHit_5label, kProng2NHit_emid, kProng2NHitX_4view, kProng2NHitX_5label, kProng2NHitX_emid, kProng2NHitY_4view, kProng2NHitY_5label, kProng2NHitY_emid, kProng2Score_4view, kProng2Score_5label, kProng2Score_emid, plot_validation_datamc::p1, plot_validation_datamc::p2, caf::Proxy< caf::SRFuzzyK >::png, Prong1ID_Generator(), std::sqrt(), and caf::Proxy< caf::StandardRecord >::vtx.

225  {
226  int ProngNum = numubarccpi0::kNProngs(sr);
227  if(ProngNum < 3) return -5;
228  int MuonPngID = kCVNMuonIdx(sr);
229  int Prong1ID = Prong1ID_Generator(sr, id_type);
230  int EMPngID = 0;
231  float EMcvn = -5.0;
232  float tempcvn = -5.0;
233  for(int i = 0; i < ProngNum; ++i) {
234  if(i == MuonPngID || i == Prong1ID) continue;
235  if(id_type == "4view"){
236  tempcvn = sr->vtx.elastic.fuzzyk.png[i].cvnpart.emid;
237  }
238  else if(id_type == "emid"){
239  tempcvn = sr->vtx.elastic.fuzzyk.png[i].spprongcvnpartnumuccemid.emid;
240  }
241  else if(id_type == "5label"){
242  tempcvn = sr->vtx.elastic.fuzzyk.png[i].spprongcvnpart5label.emid;
243  }
244  else {
245  tempcvn = -5.0;
246  }
247  if(tempcvn > EMcvn) {
248  EMPngID = i;
249  EMcvn = tempcvn;
250  }
251  }
252  return EMPngID;
253  }
caf::Proxy< caf::SRFuzzyK > fuzzyk
Definition: SRProxy.h:2059
const Var kCVNMuonIdx([](const caf::SRProxy *sr){float longest_idx=-5.0;float longest_len=-5.0;if(sr->vtx.elastic.IsValid){for(unsigned int png_idx=0;png_idx< sr->vtx.elastic.fuzzyk.png.size();png_idx++){auto &png=sr->vtx.elastic.fuzzyk.png[png_idx];if(png.len > longest_len){longest_len=png.len;longest_idx=png_idx;}}} if(longest_len > 500.0) return longest_idx;float best_idx=-5.0;float best_score=-5.0;if(sr->vtx.elastic.IsValid){for(unsigned int png_idx=0;png_idx< sr->vtx.elastic.fuzzyk.png.size();png_idx++){auto &png=sr->vtx.elastic.fuzzyk.png[png_idx];if(png.cvnpart.muonid > best_score){best_score=png.cvnpart.muonid;best_idx=png_idx;}}}return best_idx;})
: Prong index of best muon prong by CVN score & length
Definition: CVNProngVars.h:19
int Prong1ID_Generator(const caf::SRProxy *sr, std::string id_type)
caf::Proxy< caf::SRElastic > elastic
Definition: SRProxy.h:2118
caf::Proxy< std::vector< caf::SRFuzzyKProng > > png
Definition: SRProxy.h:2043
const Var kNProngs([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-5;return(int) sr->vtx.elastic.fuzzyk.npng;})
caf::Proxy< caf::SRVertexBranch > vtx
Definition: SRProxy.h:2146
const TVector3 ana::numubarccpi0::vtxmax ( 140  ,
140  ,
1000   
)
const TVector3 ana::numubarccpi0::vtxmin ( 130,
130,
100   
)

Variable Documentation

const Cut ana::numubarccpi0::kAllNumuCCCuts
Initial value:
=
const Cut kNumuMyQuality([](const caf::SRProxy *sr){return(sr->trk.kalman.ntracks > 0 && sr->slc.nhit > 20 && sr->slc.ncontplanes > 4);})
const Cut kNumuTightContainND([](const caf::SRProxy *sr){if(!(sr->vtx.elastic.IsValid)) return false;int ibesttrk=kBestTrack(sr);for(unsigned int i=0;i< sr->vtx.elastic.fuzzyk.nshwlid;++i){TVector3 start=sr->vtx.elastic.fuzzyk.png[i].shwlid.start;TVector3 stop=sr->vtx.elastic.fuzzyk.png[i].shwlid.stop;if(std::min(start.X(), stop.X())< -180.0) return false;if(std::max(start.X(), stop.X()) > 180.0) return false;if(std::min(start.Y(), stop.Y())< -180.0) return false;if(std::max(start.Y(), stop.Y()) > 180.0) return false;if(std::min(start.Z(), stop.Z())< 20.0) return false;if(std::max(start.Z(), stop.Z()) > 1525.0) return false;}if(sr->trk.kalman.ntracks< 1) return false;for(int i=0;i< int(sr->trk.kalman.ntracks);++i){if(i==ibesttrk) continue;else if(sr->trk.kalman.tracks[i].start.Z() > 1275|| sr->trk.kalman.tracks[i].stop.Z() > 1275) return false;}if(ibesttrk< 0||ibesttrk >=int(sr->trk.kalman.ntracks)) return false;return((sr->trk.kalman.tracks[ibesttrk].stop.Z()< 1275 ||sr->trk.kalman.tracks[ibesttrk].trkyposattrans< 55) &&sr->trk.kalman.tracks[ibesttrk].trkfwdcellnd > 5 &&sr->trk.kalman.tracks[ibesttrk].trkbakcellnd > 10);})
const Cut kIsFiducial([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return false;TVector3 vtx(sr->vtx.elastic.vtx);if(vtx[0] > 100) return false;if(vtx[1] > 100) return false;if(vtx[2]< 100||vtx[2] > 1000) return false;return true;})

Definition at line 35 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kAntiNuSig = kSignal && kIsAntiNu

Definition at line 49 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kBestTrack

Definition at line 46 of file NumubarCCpi0_Vars.h.

Referenced by MuonECat().

const Cut ana::numubarccpi0::kBkg = !kSignal

Definition at line 50 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kBkg_fixed = !kSignal_fixed

Definition at line 61 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kHasPi0 = kPrimaryPi0 || kSecondaryPi0

Definition at line 56 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kIncXsecMuonE

Definition at line 55 of file NumubarCCpi0_Vars.h.

Referenced by MuonECat().

const Cut ana::numubarccpi0::kIsAntiNu = CutFromNuTruthCut(kIsAntiNu_NT)

Definition at line 44 of file NumubarCCpi0_Cuts.cxx.

const NuTruthCut ana::numubarccpi0::kIsAntiNu_NT([](const caf::SRNeutrinoProxy *truth){return(truth->pdg< 0);})
const Cut ana::numubarccpi0::kIsFiducial

Definition at line 29 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kIsNC = CutFromNuTruthCut(kIsNC_NT)

Definition at line 42 of file NumubarCCpi0_Cuts.cxx.

const NuTruthCut ana::numubarccpi0::kIsNC_NT([](const caf::SRNeutrinoProxy *truth){return(!truth->iscc);})
const Cut ana::numubarccpi0::kIsNu = CutFromNuTruthCut(kIsNu_NT)

Definition at line 43 of file NumubarCCpi0_Cuts.cxx.

const NuTruthCut ana::numubarccpi0::kIsNu_NT([](const caf::SRNeutrinoProxy *truth){return(truth->pdg > 0);})
const Cut ana::numubarccpi0::kIsNumuCC = CutFromNuTruthCut(kIsNumuCC_NT)

Definition at line 41 of file NumubarCCpi0_Cuts.cxx.

const NuTruthCut ana::numubarccpi0::kIsNumuCC_NT([](const caf::SRNeutrinoProxy *truth){return(truth->iscc &&abs(truth->pdg)==14);})
const Cut ana::numubarccpi0::kIsOther = !kTrueFiducial || (kTrueFiducial && !kIsNC && !kIsNumuCC)

Definition at line 58 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kMuonE40Cut = kRecoMuKE > 0.40

Definition at line 95 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kMuonID

Definition at line 47 of file NumubarCCpi0_Vars.h.

const Cut ana::numubarccpi0::kMuonIDCut = kMuonID > 0.24

Definition at line 33 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kNC = kTrueFiducial && kIsNC

Definition at line 45 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kNoPi0 = !kPrimaryPi0 && !kSecondaryPi0

Definition at line 55 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kNoPrimPi0 = !kPrimaryPi0

Definition at line 53 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kNPrimaryPi0 = VarFromNuTruthVar(kNPrimaryPi0_NT)

Definition at line 31 of file NumubarCCpi0_Vars.cxx.

Referenced by Pi0Mass().

const NuTruthVar ana::numubarccpi0::kNPrimaryPi0_NT([](const caf::SRNeutrinoProxy *truth){int nprims=truth->prim.size();int countpi0=0;for(int i=0;i< nprims;++i){if(truth->prim[i].pdg==111) countpi0++;}return countpi0;})
const Var ana::numubarccpi0::kNProngs

Definition at line 43 of file NumubarCCpi0_Vars.h.

Referenced by Prong1ID_Generator(), and Prong2ID_Generator().

const Var ana::numubarccpi0::kNSecondaryPi0 = VarFromNuTruthVar(kNSecondaryPi0_NT)

Definition at line 32 of file NumubarCCpi0_Vars.cxx.

Referenced by Pi0Mass().

const NuTruthVar ana::numubarccpi0::kNSecondaryPi0_NT([](const caf::SRNeutrinoProxy *truth){int nprims=truth->prim.size();int countpi0=0;for(int i=0;i< nprims;++i){auto &daughters=truth->prim[i].daughterlist;if(daughters.empty()) continue;for(const auto &pdg:daughters){if(pdg==111) countpi0++;}}return countpi0;})
const Cut ana::numubarccpi0::kNumuCC = kTrueFiducial && kIsNumuCC

Definition at line 44 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kNumuCCsel = kPresel && kMuonIDCut

Definition at line 94 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kNumuMyQuality

Definition at line 30 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kNumuTightContainND

Definition at line 31 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kNuSig = kSignal && kIsNu

Definition at line 48 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kPi0Mass_4view

Definition at line 100 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kPi0Mass_5label

Definition at line 102 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kPi0Mass_emid

Definition at line 101 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Cut ana::numubarccpi0::kPngPresel = kNumuCCsel && kMuonE40Cut && kThreePngPlus

Definition at line 96 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kPresel = kNumuMyQuality && kNumuTightContainND && kIsFiducial

Definition at line 93 of file NumubarCCpi0_Cuts.h.

Referenced by plot_kinematics_cafana(), and scheduleCuts().

const Cut ana::numubarccpi0::kPrimaryPi0 = kNPrimaryPi0 > 0

Definition at line 22 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kPrimPi0 = kPrimaryPi0

Definition at line 52 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kProng1ID_4view

Definition at line 64 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1ID_5label

Definition at line 88 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1ID_emid

Definition at line 76 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1NHit_4view

Definition at line 68 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1NHit_5label

Definition at line 92 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1NHit_emid

Definition at line 80 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Cut ana::numubarccpi0::kProng1NHitCut4_4view = kProng1NHit_4view >= 4

Definition at line 66 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng1NHitCut4_5label = kProng1NHit_5label >= 4

Definition at line 68 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng1NHitCut4_emid = kProng1NHit_emid >= 4

Definition at line 67 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng1NHitCut6_4view = kProng1NHit_4view >= 6

Definition at line 74 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng1NHitCut6_5label = kProng1NHit_5label >= 6

Definition at line 76 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng1NHitCut6_emid = kProng1NHit_emid >= 6

Definition at line 75 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kProng1NHitX_4view

Definition at line 69 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1NHitX_5label

Definition at line 93 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1NHitX_emid

Definition at line 81 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1NHitY_4view

Definition at line 70 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1NHitY_5label

Definition at line 94 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1NHitY_emid

Definition at line 82 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1Score_4view

Definition at line 66 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1Score_5label

Definition at line 90 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng1Score_emid

Definition at line 78 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2ID_4view

Definition at line 65 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2ID_5label

Definition at line 89 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2ID_emid

Definition at line 77 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2NHit_4view

Definition at line 71 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2NHit_5label

Definition at line 95 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2NHit_emid

Definition at line 83 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Cut ana::numubarccpi0::kProng2NHitCut4_4view = kProng2NHit_4view >= 4

Definition at line 70 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng2NHitCut4_5label = kProng2NHit_5label >= 4

Definition at line 72 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng2NHitCut4_emid = kProng2NHit_emid >= 4

Definition at line 71 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng2NHitCut6_4view = kProng2NHit_4view >= 6

Definition at line 78 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng2NHitCut6_5label = kProng2NHit_5label >= 6

Definition at line 80 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProng2NHitCut6_emid = kProng2NHit_emid >= 6

Definition at line 79 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kProng2NHitX_4view

Definition at line 72 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2NHitX_5label

Definition at line 96 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2NHitX_emid

Definition at line 84 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2NHitY_4view

Definition at line 73 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2NHitY_5label

Definition at line 97 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2NHitY_emid

Definition at line 85 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2Score_4view

Definition at line 67 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2Score_5label

Definition at line 91 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Var ana::numubarccpi0::kProng2Score_emid

Definition at line 79 of file NumubarCCpi0_Vars.h.

Referenced by Prong2ID_Generator().

const Cut ana::numubarccpi0::kProngNHitCut4_4view = kProng1NHitCut4_4view && kProng2NHitCut4_4view

Definition at line 82 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngNHitCut4_5label = kProng1NHitCut4_5label && kProng2NHitCut4_5label

Definition at line 84 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngNHitCut4_emid = kProng1NHitCut4_emid && kProng2NHitCut4_emid

Definition at line 83 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngNHitCut6_4view = kProng1NHitCut6_4view && kProng2NHitCut6_4view

Definition at line 86 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngNHitCut6_5label = kProng1NHitCut6_5label && kProng2NHitCut6_5label

Definition at line 88 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngNHitCut6_emid = kProng1NHitCut6_emid && kProng2NHitCut6_emid

Definition at line 87 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngScoreCut_4view = kProng1Score_4view > 0.5 && kProng2Score_4view > 0.5

Definition at line 98 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngScoreCut_5label_Cut4 = kProng2Score_5label > 0.21 && kProng1Score_5label > 0.27

Definition at line 101 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngScoreCut_5label_Cut6 = kProng2Score_5label > 0.17 && kProng1Score_5label > 0.27

Definition at line 102 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngScoreCut_emid_Cut4 = kProng2Score_emid > 0.22 && kProng1Score_emid > 0.32

Definition at line 99 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kProngScoreCut_emid_Cut6 = kProng2Score_emid > 0.17 && kProng1Score_emid > 0.17

Definition at line 100 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kRecoMuKE = kIncXsecMuonE - kMuonMass

Definition at line 56 of file NumubarCCpi0_Vars.h.

const Cut ana::numubarccpi0::kSecondaryPi0 = kNSecondaryPi0 > 0

Definition at line 23 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kSecoPi0 = !kPrimaryPi0 && kSecondaryPi0

Definition at line 54 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kSignal = kNumuCC && kPrimaryPi0
const Cut ana::numubarccpi0::kSignal_fixed = kNumuCC && kHasPi0

Definition at line 60 of file NumubarCCpi0_Cuts.h.

const Cut ana::numubarccpi0::kThreePngPlus

Definition at line 28 of file NumubarCCpi0_Cuts.h.

const Var ana::numubarccpi0::kTrkLenAct

Definition at line 50 of file NumubarCCpi0_Vars.h.

Referenced by MuonECat().

const Var ana::numubarccpi0::kTrkLenActandCat = kTrkLenAct + kTrkLenCat

Definition at line 52 of file NumubarCCpi0_Vars.h.

const Var ana::numubarccpi0::kTrkLenCat

Definition at line 51 of file NumubarCCpi0_Vars.h.

Referenced by MuonECat().

const Cut ana::numubarccpi0::kTrueFiducial = CutFromNuTruthCut(kTrueFiducial_NT)

Definition at line 23 of file NumubarCCpi0_Cuts.cxx.

const NuTruthCut ana::numubarccpi0::kTrueFiducial_NT([](const caf::SRNeutrinoProxy *truth){return(truth->vtx.X()< vtxmax.X()&& truth->vtx.X() > vtxmin.X()&& truth->vtx.Y() > vtxmin.Y()&& truth->vtx.Y()< vtxmax.Y()&& truth->vtx.Z() > vtxmin.Z()&& truth->vtx.Z()< vtxmax.Z());})