Classes | Functions | Variables
nuebarccinc Namespace Reference

Classes

struct  mHistAxisDef
 
struct  mHistAxisSTDef
 
struct  SelDef
 
struct  SelDefST
 
struct  Style
 

Functions

void One ()
 
const TVector3 vNueCCIncFiducialMin (-130,-140, 150)
 
const TVector3 vNueCCIncFiducialMax (150, 140, 800)
 
const TVector3 tvtxmin (-191,-187, 0)
 
const TVector3 tvtxmax (192, 194, 1270)
 
int true_electron_png (const caf::SRProxy *sr)
 
const ana::NuTruthHistAxis kTrueElectronEVsCosStandardAxisST ("True E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}", double_diff_bins, kTrueElectronEVsCosST)
 
const ana::HistAxis kRecoElectronEVsCosStandardAxis ("Reconstructed E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}", double_diff_bins, kRecoElectronEVsCos)
 
const ana::NuTruthHistAxis kTrueElectronEVsCosVsEnuStandardAxisST ("True E_{e} vs cos #{theta} vs Neutrino Energy (GeV)", three_d_bins, kTrueElectronEVsCosVsEnuST)
 
const ana::HistAxis kRecoElectronEVsCosVsEnuStandardAxis ("Reco. E_{e} vs cos #{theta} vs Neutrino Energy (GeV)", three_d_bins, kRecoElectronEVsCosVsEnu)
 
const ana::NuTruthHistAxis kTrueElectronEStandardAxisST ("True E_{e} (GeV)", eelecbins, kTrueElectronEST)
 
const ana::HistAxis kRecoElectronEStandardAxis ("Reco E_{e} (GeV)", eelecbins, kElectronE)
 
const ana::NuTruthHistAxis kTrueElectronCosThetaStandardAxisST ("True cos #theta_{e}", costhetabins, kTrueElectronCosThetaST)
 
const ana::HistAxis kRecoElectronCosThetaStandardAxis ("Reco cos #theta_{e}", costhetabins, kRecoElectronCosTheta)
 
const ana::NuTruthHistAxis kTrueNeutrinoEnergyStandardAxisST ("True Neutrino Energy (GeV)", enubins, kTrueNeutrinoEST)
 
const ana::HistAxis kRecoNeutrinoEnergyStandardAxis ("Reconstructed Neutrino Energy (GeV)", enubins, kRecoNeutrinoE)
 
const ana::NuTruthHistAxis kTrueQ2StandardAxisST ("True Q^{2} (GeV)", q2bins, kTrueQ2ST)
 
const ana::HistAxis kRecoQ2StandardAxis ("Reconstructed Q^{2} (GeV)", q2bins, kRecoQ2)
 

Variables

const ana::Cut kMuonIDProd4Cut = ana::kMuonIDProd4 < -0.2
 
const std::vector< double > enuedges
 
const ana::Binning enubins = ana::Binning::Custom(enuedges)
 
const std::vector< double > eelecedges
 
const ana::Binning eelecbins = ana::Binning::Custom(eelecedges)
 
const std::vector< double > angedges {-1,0.50,0.85,0.90,0.94,0.97,1.001}
 
const ana::Binning costhetabins = ana::Binning::Custom(angedges)
 
const std::vector< double > q2edges
 
const ana::Binning q2bins = ana::Binning::Custom(q2edges)
 
const std::vector< double > pidedges {0,0.075,0.15,0.225,0.3,0.375,0.45,0.525,0.6,0.7,0.725,0.75,0.775,0.8,0.825,0.85,0.875,0.9,0.925,0.95,0.975,1.0}
 
const ana::Binning pidbins = ana::Binning::Custom(pidedges)
 
const std::vector< double > electronid_edges
 
const ana::Binning pidbins_electronid = ana::Binning::Custom(electronid_edges)
 
const ana::Binning double_diff_bins
 
const ana::Binning three_d_bins
 
const ana::Cut kNHits = ana::kNHit >= 20 && ana::kNHit <= 200
 
const ana::Cut kFrontPlanes = SIMPLEVAR(sel.contain.nplanestofront) > 6
 
const ana::Cut kDQ ([](const caf::SRProxy *sr){if(sr->sel.nuecosrej.hitsperplane >=8) return false;if(!sr->vtx.elastic.IsValid) return false;if(sr->vtx.elastic.fuzzyk.npng==0) return false;if(sr->vtx.elastic.fuzzyk.nshwlid==0) return false;if(sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx<=5||sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity<=5) return false;if(sr->vtx.elastic.fuzzyk.png[0].shwlid.gap > 100) return false; if(sr->vtx.elastic.fuzzyk.nshwlid >=2){if((sr->vtx.elastic.fuzzyk.png[0].shwlid.dir). Dot(sr->vtx.elastic.fuzzyk.png[1].shwlid.dir)< -0.95) return false;}float xyhitdiff=abs(sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx-sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity);float xyhitsum=sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx+sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity;if(xyhitdiff/xyhitsum >=0.4) return false;float nhitall=0.0;for(unsigned int j=0;j< sr->vtx.elastic.fuzzyk.nshwlid;j++){nhitall+=sr->vtx.elastic.fuzzyk.png[j].shwlid.nhit;}if(nhitall/sr->slc.nhit<=0.7) return false;return true;})
 
const ana::Cut kHasReconstructedElectronProng ([](const caf::SRProxy *sr){return true_electron_png(sr) >=0;})
 
const ana::NuTruthCut kTrueDetectorST ([](const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< tvtxmax.X()&&sr->vtx.X() > tvtxmin.X()&&sr->vtx.Y() > tvtxmin.Y()&&sr->vtx.Y()< tvtxmax.Y()&&sr->vtx.Z() > tvtxmin.Z()&&sr->vtx.Z()< tvtxmax.Z());})
 
const ana::Cut kNueCCIncFiducial ([](const caf::SRProxy *sr){assert(sr->vtx.elastic.IsValid &&"Must apply DQ cuts");return(sr->vtx.elastic.vtx.X()< vNueCCIncFiducialMax.X()&& sr->vtx.elastic.vtx.X() > vNueCCIncFiducialMin.X()&& sr->vtx.elastic.vtx.Y()< vNueCCIncFiducialMax.Y()&& sr->vtx.elastic.vtx.Y() > vNueCCIncFiducialMin.Y()&& sr->vtx.elastic.vtx.Z()< vNueCCIncFiducialMax.Z()&& sr->vtx.elastic.vtx.Z() > vNueCCIncFiducialMin.Z());return true;})
 
const ana::NuTruthCut kNueCCIncFiducialST ([](const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< vNueCCIncFiducialMax.X()&& sr->vtx.X() > vNueCCIncFiducialMin.X()&& sr->vtx.Y()< vNueCCIncFiducialMax.Y()&& sr->vtx.Y() > vNueCCIncFiducialMin.Y()&& sr->vtx.Z()< vNueCCIncFiducialMax.Z()&& sr->vtx.Z() > vNueCCIncFiducialMin.Z());})
 
const ana::Cut kNueCCIncContainment ([](const caf::SRProxy *sr){if(sr->vtx.elastic.fuzzyk.nshwlid< 1) return false;TVector3 start=sr->vtx.elastic.fuzzyk.png[0].shwlid.start;TVector3 stop=sr->vtx.elastic.fuzzyk.png[0].shwlid.stop;for(uint ix=0;ix< sr->vtx.elastic.fuzzyk.nshwlid;ix++){TVector3 start_muoncatcher=sr->vtx.elastic.fuzzyk.png[ix].shwlid.start;TVector3 stop_muoncatcher=sr->vtx.elastic.fuzzyk.png[ix].shwlid.stop;if(std::max(start_muoncatcher.Z(), stop_muoncatcher.Z()) > 1250.0) return false;}if(sr->sel.nuecosrej.distallpngtop< 50) return false;if(sr->sel.nuecosrej.distallpngbottom< 30) return false;if(sr->sel.nuecosrej.distallpngeast< 50) return false;if(sr->sel.nuecosrej.distallpngwest< 30) return false;if(sr->sel.nuecosrej.distallpngfront< 150) return false;return true;})
 
const ana::Cut kNuebarCCIncFiducialLoose ([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return false;if(sr->vtx.elastic.vtx.X()< -165.0) return false;if(sr->vtx.elastic.vtx.X() > 165.0) return false;if(sr->vtx.elastic.vtx.Y()< -165.0) return false;if(sr->vtx.elastic.vtx.Y() > 165.0) return false;if(sr->vtx.elastic.vtx.Z()< 100.0) return false;if(sr->vtx.elastic.vtx.Z() > 1000.0) return false;return true;})
 
const ana::Cut kNuebarCCIncContainmentLoose ([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return false;if(sr->vtx.elastic.fuzzyk.nshwlid< 1) return false;TVector3 start=sr->vtx.elastic.fuzzyk.png[0].shwlid.start;TVector3 stop=sr->vtx.elastic.fuzzyk.png[0].shwlid.stop;for(uint ix=0;ix< sr->vtx.elastic.fuzzyk.nshwlid;ix++){TVector3 start_muoncatcher=sr->vtx.elastic.fuzzyk.png[ix].shwlid.start;TVector3 stop_muoncatcher=sr->vtx.elastic.fuzzyk.png[ix].shwlid.stop;if(std::max(start_muoncatcher.Z(), stop_muoncatcher.Z()) > 1250.0) return false;}if(sr->sel.nuecosrej.distallpngtop< 30) return false;if(sr->sel.nuecosrej.distallpngbottom< 10) return false;if(sr->sel.nuecosrej.distallpngeast< 30) return false;if(sr->sel.nuecosrej.distallpngwest< 10) return false;if(sr->sel.nuecosrej.distallpngfront< 100) return false;return true;})
 
const ana::Cut kMC ([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})
 
const ana::NuTruthCut kTrueElectronPhaseSpaceCutST ([](const caf::SRNeutrinoProxy *sr){float costheta=kTrueElectronCosThetaST(sr);float elece=kTrueElectronEST(sr);if((costheta >=0.97)&&(elece >=1.4)&&(elece< 6.0)) return true;if((costheta >=0.94)&&(costheta< 0.97)&&(elece >=1.4)&&(elece< 4.1)) return true;if((costheta >=0.90)&&(costheta< 0.94)&&(elece >=1.0)&&(elece< 2.5)) return true;if((costheta >=0.85)&&(costheta< 0.90)&&(elece >=1.0)&&(elece< 2.0)) return true;return false;})
 
const ana::NuTruthCut kNCST ([](const caf::SRNeutrinoProxy *truth){return!truth->iscc;})
 
const ana::NuTruthCut kNueCCST ([](const caf::SRNeutrinoProxy *truth){return(truth->iscc && truth->pdg==12 && truth->pdgorig==12);})
 
const ana::NuTruthCut kNuebarCCST ([](const caf::SRNeutrinoProxy *truth){return(truth->iscc && truth->pdg==-12 && truth->pdgorig==-12);})
 
const ana::NuTruthCut kNumuCCST ([](const caf::SRNeutrinoProxy *truth){return(truth->iscc && truth->pdg==14 && truth->pdgorig==14);})
 
const ana::NuTruthCut kNumubarCCST ([](const caf::SRNeutrinoProxy *truth){return(truth->iscc && truth->pdg==-14 && truth->pdgorig==-14);})
 
const ana::NuTruthCut kPi0ST ([](const caf::SRNeutrinoProxy *truth){if(truth->prim.size()==0) return false;int nbofprim=truth->prim.size();int countpi=0;for(int i=0;i< nbofprim;i++){if(truth->prim[i].pdg==111){countpi++;}}if(countpi==0) return false;if(countpi > 0) return true;return false;})
 
const ana::NuTruthCut kNuebarCCIncFiducialST = kNueCCIncFiducialST
 
const ana::Cut kNuebarCCIncFiducial = kNueCCIncFiducial
 
const ana::Cut kNuebarCCIncContainment = kNueCCIncContainment
 
const ana::Cut kRemid = ana::kRemID < -0.40
 
const ana::Cut kMuonIDCut = ana::kMuonID < -0.20
 
const ana::Cut kCVNNueIDCut = kCVNNueID > 0.5
 
const ana::Cut kPreselectionLoose
 
const ana::Cut kPreselection = kPreselectionLoose && kMuonIDCut
 
const ana::Cut kTrueElectronPhaseSpaceCut = ana::CutFromNuTruthCut(kTrueElectronPhaseSpaceCutST)
 
const ana::Cut kNueCC = ana::CutFromNuTruthCut(kNueCCST )
 
const ana::Cut kNuebarCC = ana::CutFromNuTruthCut(kNuebarCCST )
 
const ana::Cut kNumuCC = ana::CutFromNuTruthCut(kNumuCCST )
 
const ana::Cut kNumubarCC = ana::CutFromNuTruthCut(kNumubarCCST)
 
const ana::Cut kNC = ana::CutFromNuTruthCut(kNCST )
 
const ana::Cut kIsPi0 = ana::CutFromNuTruthCut(kPi0ST )
 
const ana::Cut kOther
 
const ana::Cut kIsNCPi0 = kNC && kIsPi0
 
const ana::Cut kIsNCNotPi0 = kNC && !kIsPi0
 
const ana::Cut kIsNumuCCPi0 = kNumuCC && kIsPi0
 
const ana::Cut kIsNumuCCNotPi0 = kNumuCC && !kIsPi0
 
const ana::Cut kIsNumubarCCPi0 = kNumubarCC && kIsPi0
 
const ana::Cut kIsNumubarCCNotPi0 = kNumubarCC && !kIsPi0
 
const ana::Cut kIsOther2
 
const ana::NuTruthCut kNuebarCCIncTrueSignalST = kNuebarCCST && kNuebarCCIncFiducialST
 
const int kNumSels = 8
 
const int kNumChns = 8
 
const int kNumSels2 = 8
 
const SelDef cut_flow2 [kNumSels2]
 
const SelDef chns [kNumChns]
 
const Style chns_style [kNumChns]
 
const int kNumChnsExtra = 13
 
const SelDef chns_extra [kNumChnsExtra]
 
const int kNumIntChnsST = 7
 
const int kNumIntChns = 8
 
const SelDef interaction_chns [kNumIntChns]
 
const SelDefST interaction_chns_st [kNumIntChnsST]
 
const double kNuebarCCIncDataPOT = ana::kAna2020RHCPOT
 
const double kNuebarCCIncDataLivetime = ana::kAna2020RHCLivetime
 
const double kNueCCIncDataPOT = ana::kAna2018FHCPOT
 
const double kNueCCIncDataLivetime = ana::kAna2018FHCLivetime
 
const std::string PROD5_RHC_DATA = "prod_caf_R19-11-18-prod5reco.g_nd_numi_rhc_full_v1_goodruns"
 
const std::string PROD5_FHC_DATA = "prod_caf_R19-11-18-prod5reco.d.f.h.l_nd_numi_fhc_full_v1_goodruns"
 
const std::string PROD5_MC_RHC_NOMINAL = "prod_caf_R19-11-18-prod5reco.d_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_v1"
 
const std::string PROD5_MC_RHC_CALIB_UP = "prod_caf_R19-11-18-prod5reco.l_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_calibup_v1"
 
const std::string PROD5_MC_RHC_CALIB_DOWN = "prod_caf_R19-11-18-prod5reco.l_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_calibdown_v1"
 
const std::string PROD5_MC_RHC_CALIB_SHAPE = "prod_caf_R19-11-18-prod5reco.m_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_calibshape_v1"
 
const std::string PROD5_MC_RHC_LIGHT_UP = "prod_caf_R19-11-18-prod5reco.j_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_llup_v1"
 
const std::string PROD5_MC_RHC_LIGHT_DOWN = "prod_caf_R19-11-18-prod5reco.j_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_lldown_v1"
 
const std::string PROD5_MC_RHC_CHERENKOV = "prod_caf_R19-11-18-prod5reco.j_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_cherenkov_v1"
 
const std::string PROD5_MC_FHC_NOMINAL = "prod_caf_R19-11-18-prod5reco.d.h.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_v1"
 
const std::string PROD5_MC_FHC_CALIB_UP = "prod_caf_R19-11-18-prod5reco.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_calibup_v1_prod5"
 
const std::string PROD5_MC_FHC_CALIB_DOWN = "prod_caf_R19-11-18-prod5reco.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_calibdown_v1_prod5"
 
const std::string PROD5_MC_FHC_CALIB_SHAPE = "prod_caf_R19-11-18-prod5reco.m_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_calibshape_v1_prod5"
 
const std::string PROD5_MC_FHC_LIGHT_UP = "prod_caf_R19-11-18-prod5reco.j.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_llup_v1"
 
const std::string PROD5_MC_FHC_LIGHT_DOWN = "prod_caf_R19-11-18-prod5reco.j.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_lldown_v1"
 
const std::string PROD5_MC_FHC_CHERENKOV = "prod_caf_R19-11-18-prod5reco.j.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_cherenkov_v1"
 
const std::string NominalMC_entire_RHC_prod4 = "prod_caf_R17-11-14-prod4reco.neutron-respin.b_nd_genie_nonswap_rhc_nova_v08_full_v1"
 
const std::string NominalMC_full_RHC_prod4
 
const std::string NominalFakeData_full_RHC_prod4
 
const std::string NominalFakeData_0_full_RHC_prod4
 
const std::string NominalFakeData_1_full_RHC_prod4
 
const std::string NominalFakeData_2_full_RHC_prod4
 
const std::string NominalFakeData_3_full_RHC_prod4
 
const std::string DWNCalibFiles_full_RHC_prod4
 
const std::string UPCalibFiles_full_RHC_prod4
 
const std::string ShapeCalibFiles_full_RHC_prod4
 
const std::string UPLightFiles_full_RHC_prod4
 
const std::string DWNLightFiles_full_RHC_prod4
 
const std::string CherenkovFiles_full_RHC_prod4
 
const std::string NominalMC_entire_RHC_prod4_nue_enhanced
 
const std::string UPCalibFiles_full_RHC_prod4_nue_enhanced
 
const std::string DWNCalibFiles_full_RHC_prod4_nue_enhanced
 
const std::string ShapeCalibFiles_full_RHC_prod4_nue_enhanced
 
const std::string UPLightFiles_full_RHC_prod4_nue_enhanced
 
const std::string DWNLightFiles_full_RHC_prod4_nue_enhanced
 
const std::string CherenkovFiles_full_RHC_prod4_nue_enhanced
 
const ana::Var kCVNNueID = SIMPLEVAR(sel.cvnoldpresel.nueid)
 
const ana::Var kRecoElectronCosTheta ([](const caf::SRProxy *sr) ->float{if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic.fuzzyk.png[0].dir;TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})
 
const ana::Var kRecoElectronTheta ([](const caf::SRProxy *sr) ->float{if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic.fuzzyk.png[0].dir;TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);float theta=elecdir.Dot(beamdir);return(float) TMath::ACos(theta)*180/TMath::Pi();})
 
const ana::Var kElectronEFHCTuned ([](const caf::SRProxy *sr) ->float{double p0=-0.10588;double p1=0.57885;double p2=-0.408767;double p3=0.153795;double p4=-0.0270565;double p5=0.00171687;float energy=-1000.f;if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic.fuzzyk.png[0].shwlid.shwE);if(x< 0) return 0.0f;if(x<=6) energy=x-(p0+x *p1+p2 *pow(x, 2)+p3 *pow(x, 3)+p4 *pow(x, 4)+p5 *pow(x, 5));else energy=x;if(energy< 0) energy=x;return energy;})
 
const ana::Var kElectronERHCTuned ([](const caf::SRProxy *sr) ->float{ double p0=-0.0861793;double p1=0.235812;double p2=-0.0348964;float energy=-1000.f;if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic.fuzzyk.png[0].shwlid.shwE);if(x< 0) return 0.0f;if(x<=6) energy=x-(p0+x *p1+p2 *pow(x, 2));else energy=x;if(energy< 0) energy=x;return energy;})
 
const ana::Var kElectronEUntuned ([](const caf::SRProxy *sr) ->float{if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic.fuzzyk.png[0].shwlid.shwE);return x;})
 
const ana::Var kTrueElectronRecoCosTheta ([](const caf::SRProxy *sr) ->float{if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int true_electron_idx=true_electron_png(sr);if(true_electron_idx< 0) return-5.f;TVector3 elecdir=(TVector3) sr->vtx.elastic.fuzzyk.png[true_electron_idx].dir;TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})
 
const ana::Var kTrueElectronRecoTheta ([](const caf::SRProxy *sr) ->float{if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int true_electron_idx=true_electron_png(sr);if(true_electron_idx< 0) return-5.f;TVector3 elecdir=(TVector3) sr->vtx.elastic.fuzzyk.png[true_electron_idx].dir;TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);float theta=elecdir.Dot(beamdir);return(float) TMath::ACos(theta)*180/TMath::Pi();})
 
const ana::Var kTrueElectronRecoEFHCTuned ([](const caf::SRProxy *sr) ->float{double p0=-0.10588;double p1=0.57885;double p2=-0.408767;double p3=0.153795;double p4=-0.0270565;double p5=0.00171687;float energy=-1000.f;if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int true_electron_idx=true_electron_png(sr);if(true_electron_idx< 0) return-5.f;float x=(sr->vtx.elastic.fuzzyk.png[true_electron_idx].shwlid.shwE);if(x< 0) return 0.0f;if(x<=6) energy=x-(p0+x *p1+p2 *pow(x, 2)+p3 *pow(x, 3)+p4 *pow(x, 4)+p5 *pow(x, 5));else energy=x;if(energy< 0) energy=x;return energy;})
 
const ana::Var kTrueElectronRecoERHCTuned ([](const caf::SRProxy *sr) ->float{ double p0=-0.0861793;double p1=0.235812;double p2=-0.0348964;float energy=-1000.f;if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int true_electron_idx=true_electron_png(sr);if(true_electron_idx< 0) return-5.f;float x=(sr->vtx.elastic.fuzzyk.png[true_electron_idx].shwlid.shwE);if(x< 0) return 0.0f;if(x<=6) energy=x-(p0+x *p1+p2 *pow(x, 2));else energy=x;if(energy< 0) energy=x;return energy;})
 
const ana::Var kTrueElectronRecoEUntuned ([](const caf::SRProxy *sr) ->float{if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int true_electron_idx=true_electron_png(sr);if(true_electron_idx< 0) return-5.f;float x=(sr->vtx.elastic.fuzzyk.png[true_electron_idx].shwlid.shwE);return x;})
 
const ana::Var kRecoQ2 ([](const caf::SRProxy *sr){const double M_e_sqrd=std::pow(0.000511, 2);double E_e=kElectronE(sr);double E_nu=kRecoNeutrinoE(sr);double cos_e=kRecoElectronCosTheta(sr);double p_e=std::sqrt(std::pow(E_e, 2)-M_e_sqrd);return 2 *E_nu *(E_e-p_e *cos_e)-M_e_sqrd;})
 
const ana::Var kProngCVNElectronScore ([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic.fuzzyk.npng;float maxProngCVNe=-5.;for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic.fuzzyk.png[iProng].cvnpart.electronid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic.fuzzyk.png[iProng].cvnpart.electronid;}}return maxProngCVNe;})
 
const ana::Var kProngCVNElectronE ([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic.fuzzyk.npng;float maxProngCVNe=-5.;float maxProngCVNe_ElecE=-5.;for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic.fuzzyk.png[iProng].cvnpart.electronid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic.fuzzyk.png[iProng].cvnpart.electronid;maxProngCVNe_ElecE=sr->vtx.elastic.fuzzyk.png[iProng].calE;}}return maxProngCVNe_ElecE;})
 
const ana::Var kProngCVNElectronCosTheta ([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic.fuzzyk.npng;float maxProngCVNe=-5.;TVector3 elecdir={0, 0, 0};for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic.fuzzyk.png[iProng].cvnpart.electronid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic.fuzzyk.png[iProng].cvnpart.electronid;elecdir=(TVector3) sr->vtx.elastic.fuzzyk.png[iProng].dir;}}if(maxProngCVNe==-5) return-5.f;TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);return(float) elecdir.Dot(beamdir);})
 
const ana::Var kProngCVNElectronTheta ([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic.fuzzyk.npng;float maxProngCVNe=-5.;TVector3 elecdir={0, 0, 0};for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic.fuzzyk.png[iProng].cvnpart.electronid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic.fuzzyk.png[iProng].cvnpart.electronid;elecdir=(TVector3) sr->vtx.elastic.fuzzyk.png[iProng].dir;}}if(maxProngCVNe==-5) return-5.f;TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);float theta=elecdir.Dot(beamdir);return(float)(TMath::ACos(theta)*180/TMath::Pi());})
 
const ana::NuTruthVar kTrueNeutrinoEST = SIMPLENUTRUTHVAR(E)
 
const ana::NuTruthVar kTrueHadronicYST = SIMPLENUTRUTHVAR(y)
 
const ana::NuTruthVar kTrueQ2ST = SIMPLENUTRUTHVAR(q2)
 
const ana::NuTruthVar kTrueElectronEST ([](const caf::SRNeutrinoProxy *nu){float ee=-5;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})
 
const ana::NuTruthVar kTrueElectronCosThetaST ([](const caf::SRNeutrinoProxy *nu){int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
 
const ana::NuTruthVar kTrueElectronThetaST ([](const caf::SRNeutrinoProxy *nu){if(abs(nu->pdg)!=12|| !nu->iscc) return-5.0;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);float theta=edir.Unit().Dot(beamdir.Unit());return(float) TMath::ACos(theta)*180/TMath::Pi();}}return-5.0;})
 
const ana::Var kRecoNeutrinoE = ana::kNueEnergy2018
 
const ana::Var kElectronE = kElectronERHCTuned
 
const ana::Var kTrueElectronRecoE = kTrueElectronRecoERHCTuned
 
const ana::Var kRecoElectronEVsCos
 
const ana::Var kRecoElectronEVsCosVsEnu
 
const ana::NuTruthVar kTrueHadEST = kTrueNeutrinoEST * kTrueHadronicYST
 
const ana::NuTruthVar kTrueEMEST = kTrueNeutrinoEST - kTrueHadEST
 
const ana::Var kTrueQ2 = ana::VarFromNuTruthVar(kTrueQ2ST)
 
const ana::Var kTrueElectronE = ana::VarFromNuTruthVar(kTrueElectronEST)
 
const ana::Var kTrueNeutrinoE = ana::VarFromNuTruthVar(kTrueNeutrinoEST)
 
const ana::Var kTrueElectronCosTheta = ana::VarFromNuTruthVar(kTrueElectronCosThetaST)
 
const ana::Var kTrueElectronTheta = ana::VarFromNuTruthVar(kTrueElectronThetaST)
 
const ana::NuTruthVar kTrueElectronEVsCosST
 
const ana::Var kTrueElectronEVsCos = ana::VarFromNuTruthVar(kTrueElectronEVsCosST)
 
const ana::NuTruthVar kTrueElectronEVsCosVsEnuST
 
const ana::Var kFracResNeutrinoE = ( kRecoNeutrinoE - kTrueNeutrinoE ) / kTrueNeutrinoE
 
const ana::Var kFracResElectronE = ( kElectronE - kTrueElectronE ) / kTrueElectronE
 
const ana::Var kFracResElectronCosTheta = ( kRecoElectronCosTheta - kTrueElectronCosTheta ) / kTrueElectronCosTheta
 
const ana::Var kFracResElectronTheta = ( kRecoElectronTheta - kTrueElectronTheta ) / kTrueElectronTheta
 
const ana::Var kFracResTrueElectronE = ( kTrueElectronRecoE - kTrueElectronE ) / kTrueElectronE
 
const ana::Var kFracResTrueElectronCosTheta = ( kTrueElectronRecoCosTheta - kTrueElectronCosTheta ) / kTrueElectronCosTheta
 
const ana::Var kFracResTrueElectronTheta = ( kTrueElectronRecoTheta - kTrueElectronTheta ) / kTrueElectronTheta
 
const ana::Var kFracResProngCVNElectronE = ( kProngCVNElectronE - kTrueElectronE ) / kTrueElectronE
 
const ana::Var kFracResProngCVNElectronCosTheta = ( kProngCVNElectronCosTheta - kTrueElectronCosTheta ) / kTrueElectronCosTheta
 
const ana::Var kFracResProngCVNElectronTheta = ( kProngCVNElectronTheta - kTrueElectronTheta ) / kTrueElectronTheta
 
const ana::Var kAbsResNeutrinoE = kRecoNeutrinoE - kTrueNeutrinoE
 
const ana::Var kAbsResElectronE = kElectronE - kTrueElectronE
 
const ana::Var kAbsResElectronCosTheta = kRecoElectronCosTheta - kTrueElectronCosTheta
 
const ana::Var kAbsResElectronTheta = kRecoElectronTheta - kTrueElectronTheta
 
const ana::Var kAbsResTrueElectronE = kTrueElectronRecoE - kTrueElectronE
 
const ana::Var kAbsResTrueElectronCosTheta = kTrueElectronRecoCosTheta - kTrueElectronCosTheta
 
const ana::Var kAbsResTrueElectronTheta = kTrueElectronRecoTheta - kTrueElectronTheta
 
const ana::Var kAbsResProngCVNElectronE = kProngCVNElectronE - kTrueElectronE
 
const ana::Var kAbsResProngCVNElectronCosTheta = kProngCVNElectronCosTheta - kTrueElectronCosTheta
 
const ana::Var kAbsResProngCVNElectronTheta = kProngCVNElectronTheta - kTrueElectronTheta
 
const ana::HistAxis kTrueElectronEVsCosStandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueElectronEVsCosStandardAxisST)
 
const ana::HistAxis kTrueElectronEVsCosVsEnuStandardAxis
 
const ana::HistAxis kTrueElectronEStandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueElectronEStandardAxisST)
 
const ana::HistAxis kTrueElectronCosThetaStandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueElectronCosThetaStandardAxisST)
 
const ana::HistAxis kTrueNeutrinoEnergyStandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueNeutrinoEnergyStandardAxisST)
 
const ana::HistAxis kTrueQ2StandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueQ2StandardAxisST)
 

Function Documentation

const ana::HistAxis nuebarccinc::kRecoElectronCosThetaStandardAxis ( "Reco cos #theta_{e}"  ,
costhetabins  ,
kRecoElectronCosTheta   
)

Referenced by PlotResolution(), and resolutionscript().

const ana::HistAxis nuebarccinc::kRecoElectronEStandardAxis ( "Reco E_{e} (GeV)"  ,
eelecbins  ,
kElectronE   
)

Referenced by PlotResolution(), and resolutionscript().

const ana::HistAxis nuebarccinc::kRecoElectronEVsCosStandardAxis ( "Reconstructed E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}"  ,
double_diff_bins  ,
kRecoElectronEVsCos   
)

Referenced by resolutionscript().

const ana::HistAxis nuebarccinc::kRecoElectronEVsCosVsEnuStandardAxis ( "Reco. E_{e} vs cos #{theta} vs Neutrino Energy (GeV)"  ,
three_d_bins  ,
kRecoElectronEVsCosVsEnu   
)
const ana::HistAxis nuebarccinc::kRecoNeutrinoEnergyStandardAxis ( "Reconstructed Neutrino Energy (GeV)"  ,
enubins  ,
kRecoNeutrinoE   
)
const ana::HistAxis nuebarccinc::kRecoQ2StandardAxis ( "Reconstructed Q^{2} (GeV)"  ,
q2bins  ,
kRecoQ2   
)
const ana::NuTruthHistAxis nuebarccinc::kTrueElectronCosThetaStandardAxisST ( "True cos #theta_{e}"  ,
costhetabins  ,
kTrueElectronCosThetaST   
)
const ana::NuTruthHistAxis nuebarccinc::kTrueElectronEStandardAxisST ( "True E_{e} (GeV)"  ,
eelecbins  ,
kTrueElectronEST   
)
const ana::NuTruthHistAxis nuebarccinc::kTrueElectronEVsCosStandardAxisST ( "True E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}"  ,
double_diff_bins  ,
kTrueElectronEVsCosST   
)
const ana::NuTruthHistAxis nuebarccinc::kTrueElectronEVsCosVsEnuStandardAxisST ( "True E_{e} vs cos #{theta} vs Neutrino Energy (GeV)"  ,
three_d_bins  ,
kTrueElectronEVsCosVsEnuST   
)
const ana::NuTruthHistAxis nuebarccinc::kTrueNeutrinoEnergyStandardAxisST ( "True Neutrino Energy (GeV)"  ,
enubins  ,
kTrueNeutrinoEST   
)
const ana::NuTruthHistAxis nuebarccinc::kTrueQ2StandardAxisST ( "True Q^{2} (GeV)"  ,
q2bins  ,
kTrueQ2ST   
)
void nuebarccinc::One ( )

Definition at line 258 of file datamc.C.

References MECModelEnuComparisons::g, plot_validation_datamc::New(), and plot_validation_datamc_2018::New().

Referenced by datamc(), and plot_nd_spectra_2018().

259 {
260  TGraph* one = new TGraph();
261  one->SetPoint(0, -1e6, 1);
262  one->SetPoint(1, 1e6, 1);
263  one->SetLineStyle(7);
264  one->SetLineColor(kGray+3);
265  one->Draw("same");
266 }
int nuebarccinc::true_electron_png ( const caf::SRProxy sr)

Definition at line 22 of file NuebarCCIncVars.cxx.

References abs(), caf::Proxy< caf::SRVertexBranch >::elastic, caf::Proxy< caf::SRElastic >::fuzzyk, caf::Proxy< caf::SRFuzzyK >::npng, caf::Proxy< caf::SRFuzzyK >::png, and caf::Proxy< caf::StandardRecord >::vtx.

Referenced by resolution_event_tree().

23  {
24  int npngs = sr->vtx.elastic.fuzzyk.npng;
25  for(auto ipng = 0; ipng < npngs; ipng++)
26  if(abs(sr->vtx.elastic.fuzzyk.png[ipng].truth.pdg) == 11)
27  return ipng;
28  return -1;
29  }
caf::Proxy< size_t > npng
Definition: SRProxy.h:1893
caf::Proxy< caf::SRFuzzyK > fuzzyk
Definition: SRProxy.h:1914
void abs(TH1 *hist)
caf::Proxy< caf::SRElastic > elastic
Definition: SRProxy.h:1961
caf::Proxy< std::vector< caf::SRFuzzyKProng > > png
Definition: SRProxy.h:1898
caf::Proxy< caf::SRVertexBranch > vtx
Definition: SRProxy.h:1989
const TVector3 nuebarccinc::tvtxmax ( 192  ,
194  ,
1270   
)
const TVector3 nuebarccinc::tvtxmin ( 191,
187,
 
)
const TVector3 nuebarccinc::vNueCCIncFiducialMax ( 150  ,
140  ,
800   
)
const TVector3 nuebarccinc::vNueCCIncFiducialMin ( 130,
140,
150   
)

Variable Documentation

const std::vector<double> nuebarccinc::angedges {-1,0.50,0.85,0.90,0.94,0.97,1.001}

Definition at line 22 of file NuebarCCIncBins.h.

Referenced by PlotResolution().

const std::string nuebarccinc::CherenkovFiles_full_RHC_prod4
Initial value:
=
"prod_caf_R17-11-14-prod4reco.remid-hotfix.b_nd_genie_nonswap_rhc_nova_v08_full_ckv-proton-shift-down_v1"

Definition at line 59 of file NuebarCCIncExtra.h.

Referenced by getCrossSectionAnalysis_Spectra_systematics(), getFitTemplates(), and prongcvn_optimization().

const std::string nuebarccinc::CherenkovFiles_full_RHC_prod4_nue_enhanced
Initial value:
=
"prod_caf_R17-11-14-prod4reco.j_nd_genie_nonswap_rhc_nova_v08_full_ckv-proton-shift-down_v1_nue_cc_incl_only"

Definition at line 75 of file NuebarCCIncExtra.h.

const SelDef nuebarccinc::chns[kNumChns]
Initial value:
= {
{"mc", kMC},
{"other", kMC && kOther},
{"nuebarcc_nonfiducial", kMC && kNuebarCC && !ana::CutFromNuTruthCut(kNuebarCCIncFiducialST)},
{"nuecc", kMC && kNueCC},
{"numucc", kMC && kNumuCC},
{"numubarcc", kMC && kNumubarCC},
{"nc", kMC && kNC},
}
const ana::Cut kNuebarCC
const ana::Cut kNumuCC
const ana::NuTruthCut kNuebarCCIncFiducialST
const Color_t kMC
const ana::Cut kNC
const ana::Cut kNumubarCC
const ana::Cut kOther
const ana::Cut kNueCC
Cut CutFromNuTruthCut(const NuTruthCut &stc)
Definition: Cut.cxx:128

Definition at line 141 of file NuebarCCIncCuts.h.

Referenced by datamc(), and preselection_cutflow().

const SelDef nuebarccinc::chns_extra[kNumChnsExtra]
Initial value:
={
{"mc", kMC},
{"nuecc", kMC && kNueCC},
{"nuebarcc", kMC && kNuebarCC},
{"numucc_pi0", kMC && kIsNumuCCPi0},
{"numucc_not_pi0", kMC && kIsNumuCCNotPi0},
{"numubarcc_pi0", kMC && kIsNumubarCCPi0},
{"numubarcc_not_pi0", kMC && kIsNumubarCCNotPi0},
{"numubarcc", kMC && kNumubarCC},
{"nc_pi0", kMC && kIsNCPi0},
{"nc_not_pi0", kMC && kIsNCNotPi0},
{"other", kMC && kIsOther2},
{"non_pi0_background", kMC && (kIsNumuCCNotPi0 ||
kIsNumubarCCNotPi0 ||
kNumubarCC ||
kIsNCNotPi0 ||
{"background", kMC && !kNuebarCC},
}
const ana::Cut kIsNumubarCCPi0
const ana::Cut kNuebarCC
const Color_t kMC
const ana::Cut kIsNumuCCPi0
const ana::Cut kIsNumuCCNotPi0
const ana::Cut kNumubarCC
const ana::Cut kIsNumubarCCNotPi0
const ana::Cut kIsNCPi0
const ana::Cut kIsNCNotPi0
const ana::Cut kNueCC
const ana::Cut kIsOther2

Definition at line 165 of file NuebarCCIncCuts.h.

const Style nuebarccinc::chns_style[kNumChns]
Initial value:
= {
{"MC Total", kRed},
{"Other", kOrange+3},
{"#bar{#nu}_{e} Non Fiducial", kGray+1},
{"#bar{#nu}_{e}", kAzure+10},
{"#nu_{e}", kAzure+3},
{"#nu_{#mu}", kViolet+1},
{"#bar{#nu}_{#mu}", kMagenta},
{"NC", kGreen+1},
}

Definition at line 152 of file NuebarCCIncCuts.h.

Referenced by datamc().

const ana::Binning nuebarccinc::costhetabins = ana::Binning::Custom(angedges)
const SelDef nuebarccinc::cut_flow2[kNumSels2]
Initial value:
= {
{"slicing", ana::kNoCut},
{"dq", kDQ},
{"fiducial", kDQ && kNuebarCCIncFiducial},
{"containment", kDQ && kNuebarCCIncFiducial && kNuebarCCIncContainment},
{"frontplanes", kDQ && kNuebarCCIncFiducial && kNuebarCCIncContainment && kFrontPlanes},
{"nhits", kDQ && kNuebarCCIncFiducial && kNuebarCCIncContainment && kFrontPlanes && kNHits},
{"muonid", kDQ && kNuebarCCIncFiducial && kNuebarCCIncContainment && kFrontPlanes && kNHits && kMuonIDCut},
{"cvn", kDQ && kNuebarCCIncFiducial && kNuebarCCIncContainment && kFrontPlanes && kNHits && kMuonIDCut && kCVNNueIDCut},
}
const ana::Cut kCVNNueIDCut
const ana::Cut kFrontPlanes
const ana::Cut kNHits
const ana::Cut kMuonIDCut
const ana::Cut kNuebarCCIncFiducial
const ana::Cut kNuebarCCIncContainment
const ana::Cut kDQ([](const caf::SRProxy *sr){if(sr->sel.nuecosrej.hitsperplane >=8) return false;if(!sr->vtx.elastic.IsValid) return false;if(sr->vtx.elastic.fuzzyk.npng==0) return false;if(sr->vtx.elastic.fuzzyk.nshwlid==0) return false;if(sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx<=5||sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity<=5) return false;if(sr->vtx.elastic.fuzzyk.png[0].shwlid.gap > 100) return false; if(sr->vtx.elastic.fuzzyk.nshwlid >=2){if((sr->vtx.elastic.fuzzyk.png[0].shwlid.dir). Dot(sr->vtx.elastic.fuzzyk.png[1].shwlid.dir)< -0.95) return false;}float xyhitdiff=abs(sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx-sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity);float xyhitsum=sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx+sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity;if(xyhitdiff/xyhitsum >=0.4) return false;float nhitall=0.0;for(unsigned int j=0;j< sr->vtx.elastic.fuzzyk.nshwlid;j++){nhitall+=sr->vtx.elastic.fuzzyk.png[j].shwlid.nhit;}if(nhitall/sr->slc.nhit<=0.7) return false;return true;})
const Cut kNoCut
The simplest possible cut: pass everything, used as a default.
Definition: Cut.h:117

Definition at line 130 of file NuebarCCIncCuts.h.

const ana::Binning nuebarccinc::double_diff_bins
Initial value:
0,
const ana::Binning eelecbins
const ana::Binning costhetabins
int NBins() const
Definition: Binning.h:25
static Binning Simple(int n, double lo, double hi, const std::vector< std::string > &labels={})
Definition: Binning.cxx:38

Definition at line 39 of file NuebarCCIncBins.h.

const std::string nuebarccinc::DWNCalibFiles_full_RHC_prod4
Initial value:
=
"prod_caf_R17-11-14-prod4reco.remid-hotfix.b_nd_genie_nonswap_rhc_nova_v08_full_calib-shift-nd-xyview-neg-offset_v1"

Definition at line 49 of file NuebarCCIncExtra.h.

Referenced by getCrossSectionAnalysis_Spectra_systematics(), getFitTemplates(), and prongcvn_optimization().

const std::string nuebarccinc::DWNCalibFiles_full_RHC_prod4_nue_enhanced
Initial value:
=
"prod_caf_R17-11-14-prod4reco.j_nd_genie_nonswap_rhc_nova_v08_full_calib-shift-nd-xyview-neg-offset_v1_nue_cc_incl_only"

Definition at line 67 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::DWNLightFiles_full_RHC_prod4
Initial value:
=
"prod_caf_R17-11-14-prod4reco.remid-hotfix.b_nd_genie_nonswap_rhc_nova_v08_full_lightmodel-lightdown-calibup_v1"

Definition at line 57 of file NuebarCCIncExtra.h.

Referenced by getCrossSectionAnalysis_Spectra_systematics(), getFitTemplates(), and prongcvn_optimization().

const std::string nuebarccinc::DWNLightFiles_full_RHC_prod4_nue_enhanced
Initial value:
=
"prod_caf_R17-11-14-prod4reco.j_nd_genie_nonswap_rhc_nova_v08_full_lightmodel-lightdown-calibup_v1_nue_cc_incl_only"

Definition at line 73 of file NuebarCCIncExtra.h.

const ana::Binning nuebarccinc::eelecbins = ana::Binning::Custom(eelecedges)
const std::vector<double> nuebarccinc::eelecedges
Initial value:
{0,1,1.4,1.65,2.0,2.5,3.0,3.5,
4.1,4.7,6.0,120}

Definition at line 17 of file NuebarCCIncBins.h.

Referenced by PlotResolution().

const std::vector<double> nuebarccinc::electronid_edges
Initial value:
=
{-0.6,-0.3,-0.2,-0.13,-0.07,0,0.07,0.14,0.21,0.28,0.35,0.42,0.6}

Definition at line 34 of file NuebarCCIncBins.h.

const ana::Binning nuebarccinc::enubins = ana::Binning::Custom(enuedges)

Definition at line 14 of file NuebarCCIncBins.h.

const std::vector<double> nuebarccinc::enuedges
Initial value:
{0,1.0,1.50,1.8,2.1,2.4,
2.7,3.0,3.5,4,4.5,5,5.5,6,120}

Definition at line 12 of file NuebarCCIncBins.h.

const SelDef nuebarccinc::interaction_chns[kNumIntChns]
Initial value:
= {
{"nocut", kMC},
{"cc", !ana::kIsNC},
{"qe", ana::kIsQE},
{"res", ana::kIsRes},
{"dis", ana::kIsDIS},
{"coh", ana::kIsCoh},
{"other",
}
const Cut kIsQE
Definition: TruthCuts.cxx:104
const Cut kIsRes
Definition: TruthCuts.cxx:111
const Cut kIsDIS
Definition: TruthCuts.cxx:118
const Color_t kMC
const Cut kIsDytmanMEC
Definition: TruthCuts.cxx:187
const Cut kIsNC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return!sr->mc.nu[0].iscc;})
Is this a Neutral Current event?
Definition: TruthCuts.h:8
const Cut kIsCoh
Definition: TruthCuts.cxx:133

Definition at line 189 of file NuebarCCIncCuts.h.

Referenced by ana::InteractionSpectra::DrawLegend(), getResolutionSpectra(), ana::InteractionSpectra::InteractionSpectra(), ana::InteractionSpectra::MakePlot(), and nc_bkgd_by_interaction_mode().

const SelDefST nuebarccinc::interaction_chns_st[kNumIntChnsST]
Initial value:
= {
{"other",
!ana::kIsQE_NT &&
!ana::kIsRes_NT &&
!ana::kIsDIS_NT &&
!ana::kIsCoh_NT &&
!ana::kIsDytmanMEC_NT},
}
const NuTruthCut kIsCoh_NT([](const caf::SRNeutrinoProxy *truth){return(truth->mode==caf::kCoh);})
Definition: TruthCuts.h:73
const NuTruthCut kIsRes_NT([](const caf::SRNeutrinoProxy *truth){return(truth->mode==caf::kRes);})
Definition: TruthCuts.h:67
const NuTruthCut kIsDIS_NT([](const caf::SRNeutrinoProxy *truth){return(truth->mode==caf::kDIS);})
Definition: TruthCuts.h:70
const NuTruthCut kIsQE_NT([](const caf::SRNeutrinoProxy *truth){return(truth->mode==caf::kQE);})
Select truly quasielastic events.
Definition: TruthCuts.h:64
const NuTruthCut kIsDytmanMEC_NT([](const caf::SRNeutrinoProxy *truth){return(truth->mode==caf::kMEC);})
Definition: TruthCuts.h:90
const ana::NuTruthCut kNuebarCCIncTrueSignalST

Definition at line 205 of file NuebarCCIncCuts.h.

const ana::Var nuebarccinc::kAbsResElectronCosTheta = kRecoElectronCosTheta - kTrueElectronCosTheta

Definition at line 117 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kAbsResElectronE = kElectronE - kTrueElectronE

Definition at line 116 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kAbsResElectronTheta = kRecoElectronTheta - kTrueElectronTheta

Definition at line 118 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kAbsResNeutrinoE = kRecoNeutrinoE - kTrueNeutrinoE

Definition at line 115 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kAbsResProngCVNElectronCosTheta = kProngCVNElectronCosTheta - kTrueElectronCosTheta

Definition at line 125 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kAbsResProngCVNElectronE = kProngCVNElectronE - kTrueElectronE

Definition at line 124 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kAbsResProngCVNElectronTheta = kProngCVNElectronTheta - kTrueElectronTheta

Definition at line 126 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kAbsResTrueElectronCosTheta = kTrueElectronRecoCosTheta - kTrueElectronCosTheta

Definition at line 121 of file NuebarCCIncVars.h.

Referenced by resolutionscript().

const ana::Var nuebarccinc::kAbsResTrueElectronE = kTrueElectronRecoE - kTrueElectronE

Definition at line 120 of file NuebarCCIncVars.h.

Referenced by resolutionscript().

const ana::Var nuebarccinc::kAbsResTrueElectronTheta = kTrueElectronRecoTheta - kTrueElectronTheta

Definition at line 122 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kCVNNueID = SIMPLEVAR(sel.cvnoldpresel.nueid)

Definition at line 34 of file NuebarCCIncVars.cxx.

const ana::Cut nuebarccinc::kCVNNueIDCut = kCVNNueID > 0.5
const ana::Cut nuebarccinc::kDQ
const ana::Var nuebarccinc::kElectronE = kElectronERHCTuned

Definition at line 38 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kElectronEFHCTuned

Definition at line 36 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kElectronERHCTuned

Definition at line 37 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kElectronEUntuned

Definition at line 35 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kFracResElectronCosTheta = ( kRecoElectronCosTheta - kTrueElectronCosTheta ) / kTrueElectronCosTheta

Definition at line 104 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kFracResElectronE = ( kElectronE - kTrueElectronE ) / kTrueElectronE

Definition at line 103 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kFracResElectronTheta = ( kRecoElectronTheta - kTrueElectronTheta ) / kTrueElectronTheta

Definition at line 105 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kFracResNeutrinoE = ( kRecoNeutrinoE - kTrueNeutrinoE ) / kTrueNeutrinoE

Definition at line 102 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kFracResProngCVNElectronCosTheta = ( kProngCVNElectronCosTheta - kTrueElectronCosTheta ) / kTrueElectronCosTheta

Definition at line 112 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kFracResProngCVNElectronE = ( kProngCVNElectronE - kTrueElectronE ) / kTrueElectronE

Definition at line 111 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kFracResProngCVNElectronTheta = ( kProngCVNElectronTheta - kTrueElectronTheta ) / kTrueElectronTheta

Definition at line 113 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kFracResTrueElectronCosTheta = ( kTrueElectronRecoCosTheta - kTrueElectronCosTheta ) / kTrueElectronCosTheta

Definition at line 108 of file NuebarCCIncVars.h.

Referenced by resolutionscript().

const ana::Var nuebarccinc::kFracResTrueElectronE = ( kTrueElectronRecoE - kTrueElectronE ) / kTrueElectronE

Definition at line 107 of file NuebarCCIncVars.h.

Referenced by resolutionscript().

const ana::Var nuebarccinc::kFracResTrueElectronTheta = ( kTrueElectronRecoTheta - kTrueElectronTheta ) / kTrueElectronTheta

Definition at line 109 of file NuebarCCIncVars.h.

const ana::Cut nuebarccinc::kFrontPlanes = SIMPLEVAR(sel.contain.nplanestofront) > 6
const ana::Cut nuebarccinc::kHasReconstructedElectronProng

Definition at line 15 of file NuebarCCIncCuts.h.

Referenced by resolution_event_tree(), and resolutionscript().

const ana::Cut nuebarccinc::kIsNCNotPi0 = kNC && !kIsPi0

Definition at line 95 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kIsNCPi0 = kNC && kIsPi0

Definition at line 94 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kIsNumubarCCNotPi0 = kNumubarCC && !kIsPi0

Definition at line 100 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kIsNumubarCCPi0 = kNumubarCC && kIsPi0

Definition at line 99 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kIsNumuCCNotPi0 = kNumuCC && !kIsPi0

Definition at line 98 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kIsNumuCCPi0 = kNumuCC && kIsPi0

Definition at line 97 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kIsOther2
Initial value:
= (!kNueCC && !kNuebarCC &&
const ana::Cut kIsNumubarCCPi0
const ana::Cut kNuebarCC
const ana::Cut kIsNumuCCPi0
const ana::Cut kIsNumuCCNotPi0
const ana::Cut kNumubarCC
const ana::Cut kIsNumubarCCNotPi0
const ana::Cut kIsNCPi0
const ana::Cut kIsNCNotPi0
const ana::Cut kNueCC

Definition at line 102 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kIsPi0 = ana::CutFromNuTruthCut(kPi0ST )

Definition at line 88 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kMC

Definition at line 82 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kMuonIDCut = ana::kMuonID < -0.20

Definition at line 47 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kMuonIDProd4Cut = ana::kMuonIDProd4 < -0.2
const ana::Cut nuebarccinc::kNC = ana::CutFromNuTruthCut(kNCST )

Definition at line 87 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kNCST

Definition at line 79 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kNHits = ana::kNHit >= 20 && ana::kNHit <= 200
const ana::Cut nuebarccinc::kNuebarCC = ana::CutFromNuTruthCut(kNuebarCCST )
const ana::Cut nuebarccinc::kNuebarCCIncContainment = kNueCCIncContainment

Definition at line 39 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kNuebarCCIncContainmentLoose
const double nuebarccinc::kNuebarCCIncDataLivetime = ana::kAna2020RHCLivetime

Definition at line 9 of file NuebarCCIncExtra.h.

const double nuebarccinc::kNuebarCCIncDataPOT = ana::kAna2020RHCPOT

Definition at line 8 of file NuebarCCIncExtra.h.

const ana::Cut nuebarccinc::kNuebarCCIncFiducial = kNueCCIncFiducial

Definition at line 38 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kNuebarCCIncFiducialLoose
const ana::NuTruthCut nuebarccinc::kNuebarCCIncFiducialST = kNueCCIncFiducialST

Definition at line 37 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kNuebarCCIncTrueSignalST = kNuebarCCST && kNuebarCCIncFiducialST

Definition at line 107 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kNuebarCCST
const ana::Cut nuebarccinc::kNueCC = ana::CutFromNuTruthCut(kNueCCST )
const ana::Cut nuebarccinc::kNueCCIncContainment

Definition at line 33 of file NuebarCCIncCuts.h.

const double nuebarccinc::kNueCCIncDataLivetime = ana::kAna2018FHCLivetime

Definition at line 12 of file NuebarCCIncExtra.h.

const double nuebarccinc::kNueCCIncDataPOT = ana::kAna2018FHCPOT

Definition at line 11 of file NuebarCCIncExtra.h.

const ana::Cut nuebarccinc::kNueCCIncFiducial

Definition at line 32 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kNueCCIncFiducialST

Definition at line 31 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kNueCCST

Definition at line 75 of file NuebarCCIncCuts.h.

Referenced by containment_optimization(), and fiducial_optimization().

const int nuebarccinc::kNumChns = 8

Definition at line 127 of file NuebarCCIncCuts.h.

Referenced by datamc(), and preselection_cutflow().

const int nuebarccinc::kNumChnsExtra = 13

Definition at line 163 of file NuebarCCIncCuts.h.

const int nuebarccinc::kNumIntChns = 8

Definition at line 187 of file NuebarCCIncCuts.h.

const int nuebarccinc::kNumIntChnsST = 7

Definition at line 186 of file NuebarCCIncCuts.h.

const int nuebarccinc::kNumSels = 8

Definition at line 126 of file NuebarCCIncCuts.h.

const int nuebarccinc::kNumSels2 = 8

Definition at line 128 of file NuebarCCIncCuts.h.

Referenced by mrbrem_get_reweighted_spectra().

const ana::Cut nuebarccinc::kNumubarCC = ana::CutFromNuTruthCut(kNumubarCCST)

Definition at line 86 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kNumubarCCST

Definition at line 78 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kNumuCC = ana::CutFromNuTruthCut(kNumuCCST )

Definition at line 85 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kNumuCCST

Definition at line 77 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kOther
Initial value:
= (!kNueCC && !kNuebarCC &&
!kNC)
const ana::Cut kNuebarCC
const ana::Cut kNumuCC
const ana::Cut kNC
const ana::Cut kNumubarCC
const ana::Cut kNueCC

Definition at line 90 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kPi0ST

Definition at line 80 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kPreselection = kPreselectionLoose && kMuonIDCut

Definition at line 62 of file NuebarCCIncCuts.h.

const ana::Cut nuebarccinc::kPreselectionLoose
Initial value:
=
kDQ &&
const ana::Cut kFrontPlanes
const ana::Cut kNHits
const ana::Cut kNuebarCCIncFiducial
const ana::Cut kNuebarCCIncContainment
const ana::Cut kDQ([](const caf::SRProxy *sr){if(sr->sel.nuecosrej.hitsperplane >=8) return false;if(!sr->vtx.elastic.IsValid) return false;if(sr->vtx.elastic.fuzzyk.npng==0) return false;if(sr->vtx.elastic.fuzzyk.nshwlid==0) return false;if(sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx<=5||sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity<=5) return false;if(sr->vtx.elastic.fuzzyk.png[0].shwlid.gap > 100) return false; if(sr->vtx.elastic.fuzzyk.nshwlid >=2){if((sr->vtx.elastic.fuzzyk.png[0].shwlid.dir). Dot(sr->vtx.elastic.fuzzyk.png[1].shwlid.dir)< -0.95) return false;}float xyhitdiff=abs(sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx-sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity);float xyhitsum=sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx+sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity;if(xyhitdiff/xyhitsum >=0.4) return false;float nhitall=0.0;for(unsigned int j=0;j< sr->vtx.elastic.fuzzyk.nshwlid;j++){nhitall+=sr->vtx.elastic.fuzzyk.png[j].shwlid.nhit;}if(nhitall/sr->slc.nhit<=0.7) return false;return true;})

Definition at line 55 of file NuebarCCIncCuts.h.

Referenced by resolution_event_tree(), resolutionscript(), signal_count(), and wrong_sign_uncertainty().

const ana::Var nuebarccinc::kProngCVNElectronCosTheta

Definition at line 61 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kProngCVNElectronE

Definition at line 60 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kProngCVNElectronScore

Definition at line 59 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kProngCVNElectronTheta

Definition at line 62 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kRecoElectronCosTheta

Definition at line 28 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kRecoElectronEVsCos
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
const ana::Var kElectronE
GenericVar< T > Var2D(const GenericVar< T > &a, const Binning &binsa, const GenericVar< T > &b, const Binning &binsb)
Variable formed from two input variables.
Definition: Var.cxx:245
const ana::Var kRecoElectronCosTheta([](const caf::SRProxy *sr) ->float{if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic.fuzzyk.png[0].dir;TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})

Definition at line 44 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kRecoElectronEVsCosVsEnu
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
const ana::Var kElectronE
const ana::Binning enubins
const ana::Var kRecoNeutrinoE
GenericVar< T > Var3D(const GenericVar< T > &a, const Binning &binsa, const GenericVar< T > &b, const Binning &binsb, const GenericVar< T > &c, const Binning &binsc)
This is just like a Var2D, but useful for 3D Spectra.
Definition: Var.cxx:271
const ana::Var kRecoElectronCosTheta([](const caf::SRProxy *sr) ->float{if(!sr->vtx.elastic.IsValid) return-1000.f;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic.fuzzyk.png[0].dir;TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})

Definition at line 49 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kRecoElectronTheta

Definition at line 29 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kRecoNeutrinoE = ana::kNueEnergy2018

Definition at line 26 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kRecoQ2

Definition at line 55 of file NuebarCCIncVars.h.

const ana::Cut nuebarccinc::kRemid = ana::kRemID < -0.40

Definition at line 44 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kTrueDetectorST
const ana::Var nuebarccinc::kTrueElectronCosTheta = ana::VarFromNuTruthVar(kTrueElectronCosThetaST)

Definition at line 81 of file NuebarCCIncVars.h.

Referenced by resolution_event_tree(), and resolutionscript().

const ana::NuTruthVar nuebarccinc::kTrueElectronCosThetaST

Definition at line 70 of file NuebarCCIncVars.h.

const ana::HistAxis nuebarccinc::kTrueElectronCosThetaStandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueElectronCosThetaStandardAxisST)

Definition at line 161 of file NuebarCCIncVars.h.

Referenced by PlotResolution(), resolutionscript(), and signal_count().

const ana::Var nuebarccinc::kTrueElectronE = ana::VarFromNuTruthVar(kTrueElectronEST)

Definition at line 79 of file NuebarCCIncVars.h.

Referenced by resolution_event_tree(), and resolutionscript().

const ana::NuTruthVar nuebarccinc::kTrueElectronEST

Definition at line 69 of file NuebarCCIncVars.h.

const ana::HistAxis nuebarccinc::kTrueElectronEStandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueElectronEStandardAxisST)

Definition at line 156 of file NuebarCCIncVars.h.

Referenced by PlotResolution(), resolutionscript(), and signal_count().

const ana::Var nuebarccinc::kTrueElectronEVsCos = ana::VarFromNuTruthVar(kTrueElectronEVsCosST)

Definition at line 89 of file NuebarCCIncVars.h.

const ana::NuTruthVar nuebarccinc::kTrueElectronEVsCosST
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
GenericVar< T > Var2D(const GenericVar< T > &a, const Binning &binsa, const GenericVar< T > &b, const Binning &binsb)
Variable formed from two input variables.
Definition: Var.cxx:245
const ana::NuTruthVar kTrueElectronCosThetaST([](const caf::SRNeutrinoProxy *nu){int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const ana::NuTruthVar kTrueElectronEST([](const caf::SRNeutrinoProxy *nu){float ee=-5;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})

Definition at line 84 of file NuebarCCIncVars.h.

const ana::HistAxis nuebarccinc::kTrueElectronEVsCosStandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueElectronEVsCosStandardAxisST)

Definition at line 145 of file NuebarCCIncVars.h.

Referenced by resolutionscript(), signal_count(), and wrong_sign_uncertainty().

const ana::NuTruthVar nuebarccinc::kTrueElectronEVsCosVsEnuST
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
const ana::NuTruthVar kTrueNeutrinoEST
const ana::Binning enubins
GenericVar< T > Var3D(const GenericVar< T > &a, const Binning &binsa, const GenericVar< T > &b, const Binning &binsb, const GenericVar< T > &c, const Binning &binsc)
This is just like a Var2D, but useful for 3D Spectra.
Definition: Var.cxx:271
const ana::NuTruthVar kTrueElectronCosThetaST([](const caf::SRNeutrinoProxy *nu){int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=ana::NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const ana::NuTruthVar kTrueElectronEST([](const caf::SRNeutrinoProxy *nu){float ee=-5;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})

Definition at line 91 of file NuebarCCIncVars.h.

const ana::HistAxis nuebarccinc::kTrueElectronEVsCosVsEnuStandardAxis
Initial value:
=
const ana::NuTruthHistAxis kTrueElectronEVsCosVsEnuStandardAxisST("True E_{e} vs cos #{theta} vs Neutrino Energy (GeV)", three_d_bins, kTrueElectronEVsCosVsEnuST)
HistAxis HistAxisFromNuTruthHistAxis(NuTruthHistAxis ntha, double _default)
Definition: HistAxis.cxx:101

Definition at line 150 of file NuebarCCIncVars.h.

const ana::Cut nuebarccinc::kTrueElectronPhaseSpaceCut = ana::CutFromNuTruthCut(kTrueElectronPhaseSpaceCutST)

Definition at line 72 of file NuebarCCIncCuts.h.

const ana::NuTruthCut nuebarccinc::kTrueElectronPhaseSpaceCutST

Definition at line 71 of file NuebarCCIncCuts.h.

const ana::Var nuebarccinc::kTrueElectronRecoCosTheta

Definition at line 31 of file NuebarCCIncVars.h.

Referenced by resolution_event_tree(), and resolutionscript().

const ana::Var nuebarccinc::kTrueElectronRecoE = kTrueElectronRecoERHCTuned

Definition at line 42 of file NuebarCCIncVars.h.

Referenced by resolutionscript().

const ana::Var nuebarccinc::kTrueElectronRecoEFHCTuned

Definition at line 40 of file NuebarCCIncVars.h.

Referenced by resolution_event_tree().

const ana::Var nuebarccinc::kTrueElectronRecoERHCTuned

Definition at line 41 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kTrueElectronRecoEUntuned

Definition at line 39 of file NuebarCCIncVars.h.

Referenced by resolution_event_tree().

const ana::Var nuebarccinc::kTrueElectronRecoTheta

Definition at line 32 of file NuebarCCIncVars.h.

const ana::Var nuebarccinc::kTrueElectronTheta = ana::VarFromNuTruthVar(kTrueElectronThetaST)

Definition at line 82 of file NuebarCCIncVars.h.

const ana::NuTruthVar nuebarccinc::kTrueElectronThetaST

Definition at line 71 of file NuebarCCIncVars.h.

const ana::NuTruthVar nuebarccinc::kTrueEMEST = kTrueNeutrinoEST - kTrueHadEST

Definition at line 76 of file NuebarCCIncVars.h.

const ana::NuTruthVar nuebarccinc::kTrueHadEST = kTrueNeutrinoEST * kTrueHadronicYST

Definition at line 75 of file NuebarCCIncVars.h.

const ana::NuTruthVar nuebarccinc::kTrueHadronicYST = SIMPLENUTRUTHVAR(y)

Definition at line 327 of file NuebarCCIncVars.cxx.

const ana::Var nuebarccinc::kTrueNeutrinoE = ana::VarFromNuTruthVar(kTrueNeutrinoEST)

Definition at line 80 of file NuebarCCIncVars.h.

const ana::HistAxis nuebarccinc::kTrueNeutrinoEnergyStandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueNeutrinoEnergyStandardAxisST)

Definition at line 166 of file NuebarCCIncVars.h.

Referenced by wrong_sign_uncertainty().

const ana::NuTruthVar nuebarccinc::kTrueNeutrinoEST = SIMPLENUTRUTHVAR(E)

Definition at line 326 of file NuebarCCIncVars.cxx.

const ana::Var nuebarccinc::kTrueQ2 = ana::VarFromNuTruthVar(kTrueQ2ST)

Definition at line 78 of file NuebarCCIncVars.h.

const ana::NuTruthVar nuebarccinc::kTrueQ2ST = SIMPLENUTRUTHVAR(q2)

Definition at line 329 of file NuebarCCIncVars.cxx.

const ana::HistAxis nuebarccinc::kTrueQ2StandardAxis = ana::HistAxisFromNuTruthHistAxis(kTrueQ2StandardAxisST)

Definition at line 173 of file NuebarCCIncVars.h.

Referenced by wrong_sign_uncertainty().

const std::string nuebarccinc::NominalFakeData_0_full_RHC_prod4
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.neutron-respin.b_nd_genie_nonswap_rhc_nova_v08_full_v1 with stride 4 offset 0"

Definition at line 41 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::NominalFakeData_1_full_RHC_prod4
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.neutron-respin.b_nd_genie_nonswap_rhc_nova_v08_full_v1 with stride 4 offset 1"

Definition at line 43 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::NominalFakeData_2_full_RHC_prod4
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.neutron-respin.b_nd_genie_nonswap_rhc_nova_v08_full_v1 with stride 4 offset 2"

Definition at line 45 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::NominalFakeData_3_full_RHC_prod4
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.neutron-respin.b_nd_genie_nonswap_rhc_nova_v08_full_v1 with stride 4 offset 3"

Definition at line 47 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::NominalFakeData_full_RHC_prod4
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.neutron-respin.b_nd_genie_nonswap_rhc_nova_v08_full_v1 with stride 2 offset 1"

Definition at line 39 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::NominalMC_entire_RHC_prod4 = "prod_caf_R17-11-14-prod4reco.neutron-respin.b_nd_genie_nonswap_rhc_nova_v08_full_v1"
const std::string nuebarccinc::NominalMC_entire_RHC_prod4_nue_enhanced
Initial value:
=
"prod_caf_R17-11-14-prod4reco.j_nd_genie_nonswap_rhc_nova_v08_full_v1_nue_cc_incl_only"

Definition at line 63 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::NominalMC_full_RHC_prod4
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.neutron-respin.b_nd_genie_nonswap_rhc_nova_v08_full_v1 with stride 2 offset 0"

Definition at line 37 of file NuebarCCIncExtra.h.

const ana::Binning nuebarccinc::pidbins = ana::Binning::Custom(pidedges)
const ana::Binning nuebarccinc::pidbins_electronid = ana::Binning::Custom(electronid_edges)

Definition at line 36 of file NuebarCCIncBins.h.

const std::vector<double> nuebarccinc::pidedges {0,0.075,0.15,0.225,0.3,0.375,0.45,0.525,0.6,0.7,0.725,0.75,0.775,0.8,0.825,0.85,0.875,0.9,0.925,0.95,0.975,1.0}

Definition at line 30 of file NuebarCCIncBins.h.

const std::string nuebarccinc::PROD5_FHC_DATA = "prod_caf_R19-11-18-prod5reco.d.f.h.l_nd_numi_fhc_full_v1_goodruns"

Definition at line 16 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::PROD5_MC_FHC_CALIB_DOWN = "prod_caf_R19-11-18-prod5reco.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_calibdown_v1_prod5"

Definition at line 28 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::PROD5_MC_FHC_CALIB_SHAPE = "prod_caf_R19-11-18-prod5reco.m_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_calibshape_v1_prod5"

Definition at line 29 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::PROD5_MC_FHC_CALIB_UP = "prod_caf_R19-11-18-prod5reco.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_calibup_v1_prod5"

Definition at line 27 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::PROD5_MC_FHC_CHERENKOV = "prod_caf_R19-11-18-prod5reco.j.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_cherenkov_v1"

Definition at line 32 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::PROD5_MC_FHC_LIGHT_DOWN = "prod_caf_R19-11-18-prod5reco.j.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_lldown_v1"

Definition at line 31 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::PROD5_MC_FHC_LIGHT_UP = "prod_caf_R19-11-18-prod5reco.j.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_llup_v1"

Definition at line 30 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::PROD5_MC_FHC_NOMINAL = "prod_caf_R19-11-18-prod5reco.d.h.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_v1"

Definition at line 26 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::PROD5_MC_RHC_CALIB_DOWN = "prod_caf_R19-11-18-prod5reco.l_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_calibdown_v1"
const std::string nuebarccinc::PROD5_MC_RHC_CALIB_SHAPE = "prod_caf_R19-11-18-prod5reco.m_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_calibshape_v1"
const std::string nuebarccinc::PROD5_MC_RHC_CALIB_UP = "prod_caf_R19-11-18-prod5reco.l_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_calibup_v1"
const std::string nuebarccinc::PROD5_MC_RHC_CHERENKOV = "prod_caf_R19-11-18-prod5reco.j_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_cherenkov_v1"
const std::string nuebarccinc::PROD5_MC_RHC_LIGHT_DOWN = "prod_caf_R19-11-18-prod5reco.j_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_lldown_v1"
const std::string nuebarccinc::PROD5_MC_RHC_LIGHT_UP = "prod_caf_R19-11-18-prod5reco.j_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_llup_v1"
const std::string nuebarccinc::PROD5_MC_RHC_NOMINAL = "prod_caf_R19-11-18-prod5reco.d_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_v1"
const std::string nuebarccinc::PROD5_RHC_DATA = "prod_caf_R19-11-18-prod5reco.g_nd_numi_rhc_full_v1_goodruns"

Definition at line 15 of file NuebarCCIncExtra.h.

Referenced by datamc().

const ana::Binning nuebarccinc::q2bins = ana::Binning::Custom(q2edges)

Definition at line 28 of file NuebarCCIncBins.h.

const std::vector<double> nuebarccinc::q2edges
Initial value:
{0,0.075,0.15,0.225,0.3,0.4,0.5,0.75,
1.00,2.0,120}

Definition at line 26 of file NuebarCCIncBins.h.

const std::string nuebarccinc::ShapeCalibFiles_full_RHC_prod4
Initial value:
=
"prod_caf_R17-11-14-prod4reco.remid-hotfix.b_nd_genie_nonswap_rhc_nova_v08_full_calib-shift-nd-func_v1"

Definition at line 53 of file NuebarCCIncExtra.h.

Referenced by getCrossSectionAnalysis_Spectra_systematics(), getFitTemplates(), and prongcvn_optimization().

const std::string nuebarccinc::ShapeCalibFiles_full_RHC_prod4_nue_enhanced
Initial value:
=
"prod_caf_R17-11-14-prod4reco.j_nd_genie_nonswap_rhc_nova_v08_full_calib-shift-nd-func_v1_nue_cc_incl_only"

Definition at line 69 of file NuebarCCIncExtra.h.

const ana::Binning nuebarccinc::three_d_bins
Initial value:
0,
const ana::Binning eelecbins
const ana::Binning costhetabins
const ana::Binning enubins
int NBins() const
Definition: Binning.h:25
static Binning Simple(int n, double lo, double hi, const std::vector< std::string > &labels={})
Definition: Binning.cxx:38

Definition at line 46 of file NuebarCCIncBins.h.

const std::string nuebarccinc::UPCalibFiles_full_RHC_prod4
Initial value:
=
"prod_caf_R17-11-14-prod4reco.remid-hotfix.b_nd_genie_nonswap_rhc_nova_v08_full_calib-shift-nd-xyview-pos-offset_v1"

Definition at line 51 of file NuebarCCIncExtra.h.

Referenced by getCrossSectionAnalysis_Spectra_systematics(), getFitTemplates(), and prongcvn_optimization().

const std::string nuebarccinc::UPCalibFiles_full_RHC_prod4_nue_enhanced
Initial value:
=
"prod_caf_R17-11-14-prod4reco.j_nd_genie_nonswap_rhc_nova_v08_full_calib-shift-nd-xyview-pos-offset_v1_nue_cc_incl_only"

Definition at line 65 of file NuebarCCIncExtra.h.

const std::string nuebarccinc::UPLightFiles_full_RHC_prod4
Initial value:
=
"prod_caf_R17-11-14-prod4reco.remid-hotfix.b_nd_genie_nonswap_rhc_nova_v08_full_lightmodel-lightup-calibdown_v1"

Definition at line 55 of file NuebarCCIncExtra.h.

Referenced by getCrossSectionAnalysis_Spectra_systematics(), getFitTemplates(), and prongcvn_optimization().

const std::string nuebarccinc::UPLightFiles_full_RHC_prod4_nue_enhanced
Initial value:
=
"prod_caf_R17-11-14-prod4reco.j_nd_genie_nonswap_rhc_nova_v08_full_lightmodel-lightup-calibdown_v1_nue_cc_incl_only"

Definition at line 71 of file NuebarCCIncExtra.h.