Classes | Functions | Variables
ana::nueccinc Namespace Reference

Classes

class  GetBestProng
 
class  GetElectronID
 
class  GetElectronIDForProng
 
struct  mHistAxisDef
 
struct  mHistAxisSTDef
 
class  NueCCIncCrossSectionAnalysis
 
class  NueCCIncCrossSectionTemplates
 
class  NueCCIncEnhancedSamples
 
class  NueCCIncMRECorrection
 
class  NueCCIncTemplateFitter
 
struct  SelDef
 
struct  SelDefST
 

Functions

const Cut kcNueCCIncFiducial ([](const caf::SRProxy *sr){assert(sr->vtx.nelastic > 0 &&"Must apply DQ cuts");if(sr->vtx.elastic[0].vtx.X()< -130.0) return false;if(sr->vtx.elastic[0].vtx.X() > 150.0) return false;if(sr->vtx.elastic[0].vtx.Y()< -140.0) return false;if(sr->vtx.elastic[0].vtx.Y() > 140.0) return false;if(sr->vtx.elastic[0].vtx.Z()< 150.0) return false;if(sr->vtx.elastic[0].vtx.Z() > 800.0) return false;return true;})
 
const Cut kcNueCCIncContainment ([](const caf::SRProxy *sr){if(sr->vtx.elastic[0].fuzzyk.nshwlid< 1) return false;TVector3 start=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.start;TVector3 stop=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.stop;for(uint ix=0;ix< sr->vtx.elastic[0].fuzzyk.nshwlid;ix++){TVector3 start_muoncatcher=sr->vtx.elastic[0].fuzzyk.png[ix].shwlid.start;TVector3 stop_muoncatcher=sr->vtx.elastic[0].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 NuTruthCut kTrueElectronPhaseSpaceCutST ([](const caf::SRNeutrinoProxy *sr){float costheta=kTrueElecCosthetaST(sr);float elece=kTrueElecEST(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 Cut kRecoElectronPhaseSpaceCut ([](const caf::SRProxy *sr){float costheta=kvRecoCos(sr);float elece=kvElecE(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 Cut ktMC ([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})
 
const Cut ktSignal ([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));})
 
const Cut ktNuebarCC ([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-12)&&(sr->mc.nu[0].pdgorig==-12));})
 
const Cut ktNumuCC ([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==14)&&(sr->mc.nu[0].pdgorig==14));})
 
const Cut ktNumubarCC ([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));})
 
const Cut ktNC ([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(!sr->mc.nu[0].iscc);})
 
const Cut ktIsPi0 ([](const caf::SRProxy *sr){ if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1); if(sr->mc.nu[0].prim.size()==0) return false;int nbofprim=sr->mc.nu[0].prim.size();int countpi=0;for(int i=0;i< nbofprim;i++){if(sr->mc.nu[0].prim[i].pdg==111){ countpi++;}}if(countpi==0) return false;if(countpi > 0) return true;return false;})
 
const TVector3 vtxmin (-130,-140, 150)
 
const TVector3 vtxmax (150, 140, 800)
 
const SpillTruthCut kTrueFiducialST ([](const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< vtxmax.X()&&sr->vtx.X() > vtxmin.X()&&sr->vtx.Y()< vtxmax.Y()&&sr->vtx.Y() > vtxmin.Y()&&sr->vtx.Z()< vtxmax.Z()&&sr->vtx.Z() > vtxmin.Z());})
 
const SpillTruthCut kIsNueCCST ([](const caf::SRNeutrinoProxy *truth){return(truth->iscc && truth->pdg==12 && truth->pdgorig==12);})
 
const SpillTruthCut kIsNumuCCST ([](const caf::SRNeutrinoProxy *truth){return(truth->iscc && abs(truth->pdg)==14 && abs(truth->pdgorig)==14);})
 
const Var kvCVN ([](const caf::SRProxy *sr){return(sr->sel.cvn.nueid);})
 
const Var kvCVN2017 ([](const caf::SRProxy *sr){return(sr->sel.cvn2017.nueid);})
 
const Var kvRecoCos ([](const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})
 
const Var kvRecoTheta ([](const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);float theta=elecdir.Angle(beamdir);return theta;})
 
const Var kvRecoCosthetaUp ([](const caf::SRProxy *sr){return(float) std::cos(kvRecoThetaUp(sr));})
 
const Var kvRecoCosthetaDw ([](const caf::SRProxy *sr){return(float) std::cos(kvRecoThetaDw(sr));})
 
const Var kvElecE ([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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 kRecoQ2 ([](const caf::SRProxy *sr){const double M_e_sqrd=util::sqr(0.000511);double E_e=ana::nueccinc::kvElecE(sr);double E_nu=ana::nueccinc::kvRecoE(sr);double cos_e=ana::nueccinc::kvRecoCos(sr);double p_e=sqrt(util::sqr(E_e)-M_e_sqrd);return 2 *E_nu *(E_e-p_e *cos_e)-M_e_sqrd;})
 
const Var kvProngCVN ([](const caf::SRProxy *sr){if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic[0].fuzzyk.npng;float maxProngCVNe=-5.;for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart.electronid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart.electronid;}}return maxProngCVNe;})
 
const Var kflatfluxCVNe ([](const caf::SRProxy *sr){if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic[0].fuzzyk.npng;float maxProngCVNe=-5.;for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.electronid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.electronid;}}return maxProngCVNe;})
 
const Var kflatfluxCVNem ([](const caf::SRProxy *sr){if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic[0].fuzzyk.npng;float maxProngCVNe=-5.;for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.electronid+ sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.photonid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.electronid+sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.photonid;}}return maxProngCVNe;})
 
const Var kvLID ([](const caf::SRProxy *sr){return sr->sel.lid.ann;})
 
const NuTruthVar kTrueElecEST ([](const caf::SRNeutrinoProxy *nu){float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11||abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})
 
const NuTruthVar kTrueEST ([](const caf::SRNeutrinoProxy *nu) ->float{float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;return(float) nu->E;})
 
const NuTruthVar kTrueElecCosthetaST ([](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||abs(nu->prim[iprim].pdg)==13){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
 
const NuTruthVar kTrueYST ([](const caf::SRNeutrinoProxy *sr){return float(sr->y);})
 
const NuTruthVar kTrueHadEST ([](const caf::SRNeutrinoProxy *sr){return float(sr->y *sr->E);})
 
const ana::NuTruthVar kTrueWNT ([](const caf::SRNeutrinoProxy *nu){if(std::isnan(1.*nu->W2)) return-5.f;return float(sqrt(nu->W2));})
 
const NuTruthVar kTrueQ2NT ([](const caf::SRNeutrinoProxy *nu){return nu->q2;})
 
const NuTruthVar kTrueElecThetaST ([](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=NuMIBeamDirection(caf::kNEARDET);float theta=edir.Unit().Dot(beamdir.Unit());return(float) TMath::ACos(theta)*180/TMath::Pi();}}return-5.0;})
 
const HistAxis kRecoElecEVsCosStandardAxis ("Reconstructed E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}", double_diff_bins, kRecoElecEVsCos)
 
const HistAxis kRecoElecEVsCosStandardAxisAngleUp ("Reconstructed E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}", double_diff_bins, kRecoElecEVsCosAngleUp)
 
const HistAxis kRecoElecEVsCosStandardAxisAngleDw ("Reconstructed E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}", double_diff_bins, kRecoElecEVsCosAngleDw)
 
const NuTruthHistAxis kTrueElecEVsCosStandardAxisST ("True E_{e} vs cos #theta;cs Elec_{e} (GeV); cos #{theta}", double_diff_bins, kTrueElecEVsCosST)
 
const NuTruthHistAxis kTrueElecEVsCosVsEnuStandardAxisST ("True E_{e} vs cos #{theta} vs Neutrino Energy (GeV)", three_d_bins, kTrueElecEVsCosVsEnuST)
 
const HistAxis kRecoElecEVsCosVsEnuStandardAxis ("Reco. E_{e} vs cos #{theta} vs Neutrino Energy (GeV)", three_d_bins, kRecoElecEVsCosVsEnu)
 

Variables

static float ElecIDVars [6] = {-999.0}
 
static TMVA::Reader * fReaderElecIDBDT = 0
 
const Var kElectronID = Var(GetElectronID())
 
const Var kBestProng = Var(GetBestProng())
 
const std::vector< double > enuedges
 
const Binning enubins = Binning::Custom(enuedges)
 
const std::vector< double > eelecedges
 
const Binning eelecbins = Binning::Custom(eelecedges)
 
const std::vector< double > angedges {-1,0.50,0.85,0.90,0.94,0.97,1.001}
 
const Binning costhetabins = Binning::Custom(angedges)
 
const std::vector< double > q2edges
 
const Binning q2bins = Binning::Custom(q2edges)
 
const std::vector< double > pidedges
 
const Binning pidbins = Binning::Custom(pidedges)
 
const Binning pidbinslid = Binning::Simple(21,-0.01,1.01)
 
const std::vector< double > electronid_edges
 
const std::vector< double > electronid_edges_new
 
const std::vector< double > electronid_new_edges
 
const Binning pidbins_electronid = Binning::Custom(electronid_new_edges)
 
const Binning pidbins_electronid_old = Binning::Custom(electronid_edges_new)
 
const Binning double_diff_bins
 
const Binning three_d_bins
 
const Cut kcDQ = kNueSecondAnaDQ
 
const Cut kcFiducial = kNueNDSecondAnaFiducial
 
const Cut kcContainment = kNueNDSecondAnaContain
 
const Cut kcFrontPlanes = kNueNDSecondAnaFrontPlanes
 
const Cut kcNHits = kNueNDSecondAnaNHits
 
const Cut kcProngLength = kNueNDSecondAnaProngLength
 
const Cut kcRemid = kRemID < 0.40
 
const Cut kcMuonIDCut = kMuonID < -0.20
 
const Cut kcCVN = kvCVN2017 > 0.85
 
const Cut kcElectronIDCut = kElectronID > 0.2
 
const Cut kcPresel_loose
 
const Cut kcPresel = kcPresel_loose && kcMuonIDCut
 
const Cut ktOther
 
const Cut ktIsNCPi0 = ktNC && ktIsPi0
 
const Cut ktIsNCNotPi0 = ktNC && !ktIsPi0
 
const Cut ktIsNumuCCPi0 = ktNumuCC && ktIsPi0
 
const Cut ktIsNumuCCNotPi0 = ktNumuCC && !ktIsPi0
 
const Cut ktIsOther2
 
const TVector3 * vtxmin_ptr = new TVector3(-130,-140,150)
 
const TVector3 * vtxmax_ptr = new TVector3(150,140,800)
 
const SpillTruthCut kIsCorrectSignal
 
const SpillTruthCut kIsTrueSigST
 
const SpillTruthCut kIsTrueNotNumuCCST
 
const Cut kIsTrueSig = CutFromNuTruthCut(kIsTrueSigST)
 
const int kcNumSels = 10
 
const int kcNumChns = 8
 
const int kcNumSels2 = 8
 
const SelDef cut_flow2 [kcNumSels2]
 
const SelDef cut_flow [kcNumSels]
 
const int kcNumSelsTest = 9
 
const SelDef cut_flow_test [kcNumSelsTest]
 
const SelDef chns [kcNumChns]
 
const SelDef chns_data [kcNumChns+1]
 
const int kcNumChnsExtra = 12
 
const SelDef chns_extra [kcNumChnsExtra]
 
const int kcNumIntChnsST = 7
 
const int kcNumIntChns = 8
 
const SelDef interaction_chns [kcNumIntChns]
 
const SelDefST interaction_chns_st [kcNumIntChnsST]
 
const int kcReMIDSels = 3
 
const int kcReMIDSelsST = 1
 
const SelDef remid_selection [kcReMIDSels]
 
const SelDefST remid_selection_st [kcReMIDSelsST]
 
const int kcCvnSels = 3
 
const int kcCvnSelsST = 1
 
const SelDef cvn_selection [kcCvnSels]
 
const SelDefST cvn_selection_st [kcCvnSelsST]
 
const Cut kPresel2D
 
const Cut kPresel1D
 
const NuTruthCut kTrueSignal2DST = kIsTrueSigST
 
const NuTruthCut kTrueSignal1DST
 
const Cut kTrueSignal2D = CutFromNuTruthCut(kTrueSignal2DST)
 
const Cut kTrueSignal1D = CutFromNuTruthCut(kTrueSignal1DST)
 
const SelDef chns_1d [kcNumChns]
 
const std::string NominalMC_entire_prod4_CVNProng
 
const std::string FHCData_entire_prod4_CVNProng
 
const std::string NominalMC_full_prod4_CVNProng
 
const std::string NominalFakeData_full_prod4_CVNProng
 
const std::string NominalFakeData_0_full_prod4_CVNProng
 
const std::string NominalFakeData_1_full_prod4_CVNProng
 
const std::string NominalFakeData_2_full_prod4_CVNProng
 
const std::string ElecID_TrainingSample_prod4_CVNProng
 
const std::string ElecID_TestingSample_prod4_CVNProng
 
const std::string DWNCalibFiles_full_prod4_CVNProng
 
const std::string UPCalibFiles_full_prod4_CVNProng
 
const std::string ShapeCalibFiles_full_prod4_CVNProng
 
const std::string UPLightFiles_full_prod4_CVNProng
 
const std::string DWNLightFiles_full_prod4_CVNProng
 
const std::string CherenkovFiles_full_prod4_CVNProng
 
const std::string EnhancedNue_full_prod4_CVNProng
 
const std::string EnhancedNue_ElecID_TrainingSample_prod4_CVNProng
 
const std::string EnhancedNue_ElecID_TestingSample_prod4_CVNProng
 
const std::string EnhancedNue_DWNCalibFiles_full_prod4_CVNProng
 
const std::string EnhancedNue_UPCalibFiles_full_prod4_CVNProng
 
const std::string EnhancedNue_ShapeCalibFiles_full_prod4_CVNProng
 
const std::string EnhancedNue_DWNLightFiles_full_prod4_CVNProng
 
const std::string EnhancedNue_UPLightFiles_full_prod4_CVNProng
 
const std::string EnhancedNue_CherenkovFiles_full_prod4_CVNProng
 
const std::string MRE_NominalMC
 
const std::string MRE_FakeData
 
const std::string MRE_NuMIData
 
const std::string MRE_CalibDwn
 
const std::string MRE_CalibUp
 
const std::string MRE_CalibShape
 
const std::string MRE_LightDwn
 
const std::string MRE_LightUp
 
const std::string MRE_Cherenkov
 
const float signal_region = 0.8
 
const float sliding_signal_region [13]
 
const bool useSlidingSignalRegion = true
 
const bool printVerbose = false
 
const std::string covarianceDir = "Covariance/"
 
NueCCIncTemplateFitterFitter_obj
 
const int numPIDBins = 17
 
const Var kvRecoE = kNueEnergy2017
 
const Var kThetaSystShift = Constant(0.0025)
 
const Var kvRecoThetaUp = kvRecoTheta + kThetaSystShift
 
const Var kvRecoThetaDw = kvRecoTheta - kThetaSystShift
 
const Var kRecoElecEVsCos
 
const Var kRecoElecEVsCosAngleUp
 
const Var kRecoElecEVsCosAngleDw
 
const Var kRecoElecEVsCosVsEnu
 
const Var kvLID_ElectronE = kShwCalE
 
const Var kvLID_CosElec = kCosTheta
 
const Var kTrueElecE = VarFromSpillTruthVar(kTrueElecEST)
 
const Var kTrueNuE = VarFromSpillTruthVar(kTrueEST)
 
const Var kTrueElecCostheta = VarFromSpillTruthVar(kTrueElecCosthetaST)
 
const Var kTrueElecTheta = VarFromSpillTruthVar(kTrueElecThetaST)
 
const NuTruthVar kTrueElecEVsCosST
 
const Var kTrueElecEVsCos = VarFromNuTruthVar(kTrueElecEVsCosST)
 
const NuTruthVar kTrueElecEVsCosVsEnuST
 
const Var kFracResE = (kvRecoE - kTrueNuE)/kTrueNuE
 
const Var kFracResCosElec
 
const Var kFracResElecE
 
const Var kFracResTheta = (kvRecoTheta - kTrueElecTheta)/kTrueElecTheta
 
const Var kAbsResE = (kvRecoE - kTrueNuE)
 
const Var kAbsResCosElec = (kvRecoCos - kTrueElecCostheta)
 
const Var kAbsResElecE = (kvElecE - kTrueElecE)
 
const Var kAbsResTheta = (kvRecoTheta - kTrueElecTheta)
 
const int kvAllVars = 33
 
const int kvResolutionVars = 12
 
const int kvAnalysisVars = 6
 
const int kvAnalysisVarsST = 6+3
 
const int kvNumTruthVarsST = 6
 
const mHistAxisDef all_vars [kvAllVars]
 
const mHistAxisSTDef nu_truth_axis [kvNumTruthVarsST]
 
const mHistAxisDef resolution_vars [kvResolutionVars]
 
const mHistAxisDef analysis_vars [kvAnalysisVars]
 
const mHistAxisSTDef analysis_vars_truth [kvAnalysisVarsST]
 
const int kvAnalysisVariables = 4
 
const mHistAxisDef analysis_vars_final [kvAnalysisVariables]
 
const mHistAxisSTDef analysis_vars_truth_final [kvAnalysisVariables]
 
const HistAxis kTrueElecEVsCosStandardAxis
 
const HistAxis kTrueElecEVsCosVsEnuStandardAxis
 
const int kNumPIDVars = 1
 
const mHistAxisDef pid_vars [kNumPIDVars]
 

Function Documentation

const Cut ana::nueccinc::kcNueCCIncContainment ( [] (const caf::SRProxy *sr){if(sr->vtx.elastic[0].fuzzyk.nshwlid< 1) return false;TVector3 start=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.start;TVector3 stop=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.stop;for(uint ix=0;ix< sr->vtx.elastic[0].fuzzyk.nshwlid;ix++){TVector3 start_muoncatcher=sr->vtx.elastic[0].fuzzyk.png[ix].shwlid.start;TVector3 stop_muoncatcher=sr->vtx.elastic[0].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 Cut ana::nueccinc::kcNueCCIncFiducial ( [] (const caf::SRProxy *sr){assert(sr->vtx.nelastic > 0 &&"Must apply DQ cuts");if(sr->vtx.elastic[0].vtx.X()< -130.0) return false;if(sr->vtx.elastic[0].vtx.X() > 150.0) return false;if(sr->vtx.elastic[0].vtx.Y()< -140.0) return false;if(sr->vtx.elastic[0].vtx.Y() > 140.0) return false;if(sr->vtx.elastic[0].vtx.Z()< 150.0) return false;if(sr->vtx.elastic[0].vtx.Z() > 800.0) return false;return true;}  )

Referenced by mre_example_test().

const Var ana::nueccinc::kflatfluxCVNe ( [] (const caf::SRProxy *sr){if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic[0].fuzzyk.npng;float maxProngCVNe=-5.;for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.electronid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.electronid;}}return maxProngCVNe;}  )
const Var ana::nueccinc::kflatfluxCVNem ( [] (const caf::SRProxy *sr){if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic[0].fuzzyk.npng;float maxProngCVNe=-5.;for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.electronid+ sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.photonid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.electronid+sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart2FlatFluxBal.photonid;}}return maxProngCVNe;}  )
const SpillTruthCut ana::nueccinc::kIsNueCCST ( [] (const caf::SRNeutrinoProxy *truth){return(truth->iscc && truth->pdg==12 && truth->pdgorig==12);}  )
const SpillTruthCut ana::nueccinc::kIsNumuCCST ( [] (const caf::SRNeutrinoProxy *truth){return(truth->iscc && abs(truth->pdg)==14 && abs(truth->pdgorig)==14);}  )
const HistAxis ana::nueccinc::kRecoElecEVsCosStandardAxis ( "Reconstructed E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}"  ,
double_diff_bins  ,
kRecoElecEVsCos   
)
const HistAxis ana::nueccinc::kRecoElecEVsCosStandardAxisAngleDw ( "Reconstructed E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}"  ,
double_diff_bins  ,
kRecoElecEVsCosAngleDw   
)
const HistAxis ana::nueccinc::kRecoElecEVsCosStandardAxisAngleUp ( "Reconstructed E_{e} vs cos #theta; Elec_{e} (GeV); cos #{theta}"  ,
double_diff_bins  ,
kRecoElecEVsCosAngleUp   
)
const HistAxis ana::nueccinc::kRecoElecEVsCosVsEnuStandardAxis ( "Reco. E_{e} vs cos #{theta} vs Neutrino Energy (GeV)"  ,
three_d_bins  ,
kRecoElecEVsCosVsEnu   
)
const Cut ana::nueccinc::kRecoElectronPhaseSpaceCut ( [] (const caf::SRProxy *sr){float costheta=kvRecoCos(sr);float elece=kvElecE(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;}  )

Referenced by mre_example_test().

const ana::Var ana::nueccinc::kRecoQ2 ( [] (const caf::SRProxy *sr){const double M_e_sqrd=util::sqr(0.000511);double E_e=ana::nueccinc::kvElecE(sr);double E_nu=ana::nueccinc::kvRecoE(sr);double cos_e=ana::nueccinc::kvRecoCos(sr);double p_e=sqrt(util::sqr(E_e)-M_e_sqrd);return 2 *E_nu *(E_e-p_e *cos_e)-M_e_sqrd;}  )
const Cut ana::nueccinc::ktIsPi0 ( [] (const caf::SRProxy *sr){ if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1); if(sr->mc.nu[0].prim.size()==0) return false;int nbofprim=sr->mc.nu[0].prim.size();int countpi=0;for(int i=0;i< nbofprim;i++){if(sr->mc.nu[0].prim[i].pdg==111){ countpi++;}}if(countpi==0) return false;if(countpi > 0) return true;return false;}  )
const Cut ana::nueccinc::ktMC ( [] (const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;}  )
const Cut ana::nueccinc::ktNC ( [] (const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(!sr->mc.nu[0].iscc);}  )
const Cut ana::nueccinc::ktNuebarCC ( [] (const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-12)&&(sr->mc.nu[0].pdgorig==-12));}  )
const Cut ana::nueccinc::ktNumubarCC ( [] (const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));}  )
const Cut ana::nueccinc::ktNumuCC ( [] (const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==14)&&(sr->mc.nu[0].pdgorig==14));}  )
const NuTruthVar ana::nueccinc::kTrueElecCosthetaST ( [] (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||abs(nu->prim[iprim].pdg)==13){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;}  )
const NuTruthVar ana::nueccinc::kTrueElecEST ( [] (const caf::SRNeutrinoProxy *nu){float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11||abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.E;ee=E;}}return ee;}  )
const NuTruthHistAxis ana::nueccinc::kTrueElecEVsCosStandardAxisST ( "True E_{e} vs cos #theta;cs Elec_{e} (GeV); cos #{theta}"  ,
double_diff_bins  ,
kTrueElecEVsCosST   
)
const NuTruthHistAxis ana::nueccinc::kTrueElecEVsCosVsEnuStandardAxisST ( "True E_{e} vs cos #{theta} vs Neutrino Energy (GeV)"  ,
three_d_bins  ,
kTrueElecEVsCosVsEnuST   
)
const NuTruthVar ana::nueccinc::kTrueElecThetaST ( [] (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=NuMIBeamDirection(caf::kNEARDET);float theta=edir.Unit().Dot(beamdir.Unit());return(float) TMath::ACos(theta)*180/TMath::Pi();}}return-5.0;}  )
const NuTruthCut ana::nueccinc::kTrueElectronPhaseSpaceCutST ( [] (const caf::SRNeutrinoProxy *sr){float costheta=kTrueElecCosthetaST(sr);float elece=kTrueElecEST(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 NuTruthVar ana::nueccinc::kTrueEST ( [] (const caf::SRNeutrinoProxy *nu) ->float{float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;return(float) nu->E;}  )
const SpillTruthCut ana::nueccinc::kTrueFiducialST ( [] (const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< vtxmax.X()&&sr->vtx.X() > vtxmin.X()&&sr->vtx.Y()< vtxmax.Y()&&sr->vtx.Y() > vtxmin.Y()&&sr->vtx.Z()< vtxmax.Z()&&sr->vtx.Z() > vtxmin.Z());}  )
const NuTruthVar ana::nueccinc::kTrueHadEST ( [] (const caf::SRNeutrinoProxy *sr){return float(sr->y *sr->E);}  )
const NuTruthVar ana::nueccinc::kTrueQ2NT ( [] (const caf::SRNeutrinoProxy *nu){return nu->q2;}  )
const ana::NuTruthVar ana::nueccinc::kTrueWNT ( [] (const caf::SRNeutrinoProxy *nu){if(std::isnan(1.*nu->W2)) return-5.f;return float(sqrt(nu->W2));}  )
const NuTruthVar ana::nueccinc::kTrueYST ( [] (const caf::SRNeutrinoProxy *sr){return float(sr->y);}  )
const Cut ana::nueccinc::ktSignal ( [] (const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));}  )
const Var ana::nueccinc::kvCVN ( [] (const caf::SRProxy *sr){return(sr->sel.cvn.nueid);}  )
const Var ana::nueccinc::kvCVN2017 ( [] (const caf::SRProxy *sr){return(sr->sel.cvn2017.nueid);}  )
const Var ana::nueccinc::kvElecE ( [] (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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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 Var ana::nueccinc::kvLID ( [] (const caf::SRProxy *sr){return sr->sel.lid.ann;}  )
const Var ana::nueccinc::kvProngCVN ( [] (const caf::SRProxy *sr){if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;int nProngs=sr->vtx.elastic[0].fuzzyk.npng;float maxProngCVNe=-5.;for(int iProng=0;iProng< nProngs;iProng++){if(sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart.electronid > maxProngCVNe){maxProngCVNe=sr->vtx.elastic[0].fuzzyk.png[iProng].cvnpart.electronid;}}return maxProngCVNe;}  )

Referenced by prongcvn_optimization().

const Var ana::nueccinc::kvRecoCos ( [] (const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);}  )
const Var ana::nueccinc::kvRecoCosthetaDw ( [] (const caf::SRProxy *sr){return(float) std::cos(kvRecoThetaDw(sr));}  )
const Var ana::nueccinc::kvRecoCosthetaUp ( [] (const caf::SRProxy *sr){return(float) std::cos(kvRecoThetaUp(sr));}  )
const Var ana::nueccinc::kvRecoTheta ( [] (const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);float theta=elecdir.Angle(beamdir);return theta;}  )
const TVector3 ana::nueccinc::vtxmax ( 150  ,
140  ,
800   
)
const TVector3 ana::nueccinc::vtxmin ( 130,
140,
150   
)

Variable Documentation

const mHistAxisDef ana::nueccinc::all_vars[kvAllVars]

Definition at line 385 of file NueCCIncVars.h.

const mHistAxisDef ana::nueccinc::analysis_vars[kvAnalysisVars]
Initial value:
= {
{"recoE_2017", {"E_{#nu} (GeV)", enubins, kvRecoE}},
{"costheta", {"cos #theta_{e}", costhetabins, kvRecoCos}},
{"electronE", {"E_{e} (GeV)", eelecbins, kvElecE}},
{"true_E", {"True E_{#nu} (GeV)", enubins, kTrueNuE}},
{"true_costheta", {"True cos #theta_{e}",
{"true_electron_e", {"True Electron Energy (GeV)",
}
const ana::Binning eelecbins
const ana::Binning costhetabins
const Var kTrueElecCostheta
Definition: NueCCIncVars.h:326
const Var kTrueNuE
Definition: NueCCIncVars.h:325
const Var kvRecoCos([](const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})
const ana::Binning enubins
const Var kvRecoE
Definition: NueCCIncVars.h:45
const Var kTrueElecE
Definition: NueCCIncVars.h:324
const Var kvElecE([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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;})

Definition at line 478 of file NueCCIncVars.h.

Referenced by mre_example_test().

const mHistAxisDef ana::nueccinc::analysis_vars_final[kvAnalysisVariables]
Initial value:
= {
{"recoE_2017", {"E_{#nu} (GeV)", enubins, kvRecoE}},
{"costheta", {"cos #theta_{e}", costhetabins, kvRecoCos}},
{"electronE", {"E_{e} (GeV)", eelecbins, kvElecE}},
{"q2", {"Q^{2} (GeV^{2})", q2bins, kRecoQ2}},
}
const ana::Binning eelecbins
const ana::Binning costhetabins
const ana::Var kRecoQ2([](const caf::SRProxy *sr){const double M_e_sqrd=util::sqr(0.000511);double E_e=ana::nueccinc::kvElecE(sr);double E_nu=ana::nueccinc::kvRecoE(sr);double cos_e=ana::nueccinc::kvRecoCos(sr);double p_e=sqrt(util::sqr(E_e)-M_e_sqrd);return 2 *E_nu *(E_e-p_e *cos_e)-M_e_sqrd;})
const Var kvRecoCos([](const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})
const ana::Binning enubins
const Var kvRecoE
Definition: NueCCIncVars.h:45
const ana::Binning q2bins
const Var kvElecE([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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;})

Definition at line 508 of file NueCCIncVars.h.

const mHistAxisSTDef ana::nueccinc::analysis_vars_truth[kvAnalysisVarsST]
Initial value:
= {
{"st_nu_e", {"True Neutrino Energy (GeV)", enubins, kTrueEST}},
{"st_costheta_e", {"True cos #theta_{e}",
{"st_elec_e", {"True Electron Energy (GeV)",eelecbins, kTrueElecEST}},
{"st_double_diff", {"cos #theta_{e}", costhetabins, kTrueElecCosthetaST,
"Electron Energy (GeV)", eelecbins, kTrueElecEST}},
{"st_inelasticity", {"True Inelasticity", Binning::Simple(26,-0.02,1.02), kTrueYST}},
{"st_hadE", {"True Hadronic Energy (GeV)", Binning::Simple(20,0,3),kTrueHadEST}},
{"st_double_diff2", {"cos #theta_{e}", costhetabins, kTrueElecCosthetaST,
"Electron Energy (GeV)", eelecbins, kTrueElecEST}},
{"st_W", {"W (GeV)", Binning::Simple(25,0,4),
{"st_Q2", {"Q^{2} (GeV^{2})", q2bins,
}
const ana::Binning eelecbins
const ana::Binning costhetabins
const NuTruthVar kTrueYST([](const caf::SRNeutrinoProxy *sr){return float(sr->y);})
const NuTruthVar kTrueElecCosthetaST([](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||abs(nu->prim[iprim].pdg)==13){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const NuTruthVar kTrueElecEST([](const caf::SRNeutrinoProxy *nu){float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11||abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})
const NuTruthVar kTrueHadEST([](const caf::SRNeutrinoProxy *sr){return float(sr->y *sr->E);})
const ana::NuTruthVar kTrueWNT([](const caf::SRNeutrinoProxy *nu){if(std::isnan(1.*nu->W2)) return-5.f;return float(sqrt(nu->W2));})
const NuTruthVar kTrueQ2NT([](const caf::SRNeutrinoProxy *nu){return nu->q2;})
const ana::Binning enubins
const ana::Binning q2bins
const NuTruthVar kTrueEST([](const caf::SRNeutrinoProxy *nu) ->float{float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;return(float) nu->E;})

Definition at line 489 of file NueCCIncVars.h.

Referenced by getCrossSectionAnalysis_Spectra(), getCrossSectionAnalysis_Spectra_systematics(), and getCrossSectionAnalysisSpectra().

const mHistAxisSTDef ana::nueccinc::analysis_vars_truth_final[kvAnalysisVariables]
Initial value:
= {
{"st_nu_e", {"True Neutrino Energy (GeV)", enubins, kTrueEST}},
{"st_costheta_e", {"True cos #theta_{e}",
{"st_elec_e", {"True Electron Energy (GeV)",eelecbins, kTrueElecEST}},
{"st_Q2", {"Q^{2} (GeV^{2})", q2bins,
}
const ana::Binning eelecbins
const ana::Binning costhetabins
const NuTruthVar kTrueElecCosthetaST([](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||abs(nu->prim[iprim].pdg)==13){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const NuTruthVar kTrueElecEST([](const caf::SRNeutrinoProxy *nu){float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11||abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})
const NuTruthVar kTrueQ2NT([](const caf::SRNeutrinoProxy *nu){return nu->q2;})
const ana::Binning enubins
const ana::Binning q2bins
const NuTruthVar kTrueEST([](const caf::SRNeutrinoProxy *nu) ->float{float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;return(float) nu->E;})

Definition at line 515 of file NueCCIncVars.h.

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

Definition at line 26 of file NueCCIncBins.h.

const std::string ana::nueccinc::CherenkovFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_ckv-proton-shift-down_v1.REDEF"

Definition at line 59 of file NueCCIncExtra.h.

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

const SelDef ana::nueccinc::chns[kcNumChns]
Initial value:
= {
{"mc", ktMC},
{"nuebarcc", ktMC && ktNuebarCC},
{"numucc", ktMC && ktNumuCC},
{"numubarcc", ktMC && ktNumubarCC},
{"nc", ktMC && ktNC},
{"other", ktMC && ktOther},
{"nuecc_nonfiducial", ktMC && ktSignal &&
}
const Cut ktSignal([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));})
const Cut ktNumuCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==14)&&(sr->mc.nu[0].pdgorig==14));})
const Cut ktOther
Definition: NueCCIncCuts.h:183
const Cut ktMC([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})
const Cut ktNumubarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));})
const Cut ktNuebarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-12)&&(sr->mc.nu[0].pdgorig==-12));})
const SpillTruthCut kTrueFiducialST([](const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< vtxmax.X()&&sr->vtx.X() > vtxmin.X()&&sr->vtx.Y()< vtxmax.Y()&&sr->vtx.Y() > vtxmin.Y()&&sr->vtx.Z()< vtxmax.Z()&&sr->vtx.Z() > vtxmin.Z());})
const Cut ktNC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(!sr->mc.nu[0].iscc);})
Cut CutFromNuTruthCut(const NuTruthCut &stc)
Definition: Cut.cxx:128

Definition at line 350 of file NueCCIncCuts.h.

const SelDef ana::nueccinc::chns_1d[kcNumChns]
Initial value:
= {
{"mc", ktMC},
{"nuebarcc", ktMC && ktNuebarCC},
{"numucc", ktMC && ktNumuCC},
{"numubarcc", ktMC && ktNumubarCC},
{"nc", ktMC && ktNC},
{"other", ktMC && ktOther},
{"nuecc_nonfiducial", ktMC && ktSignal &&
}
const NuTruthCut kTrueSignal1DST
Definition: NueCCIncCuts.h:459
const Cut ktSignal([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));})
const Cut ktNumuCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==14)&&(sr->mc.nu[0].pdgorig==14));})
const Cut ktOther
Definition: NueCCIncCuts.h:183
const Cut ktMC([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})
const Cut ktNumubarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));})
const Cut ktNuebarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-12)&&(sr->mc.nu[0].pdgorig==-12));})
const SpillTruthCut kTrueFiducialST([](const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< vtxmax.X()&&sr->vtx.X() > vtxmin.X()&&sr->vtx.Y()< vtxmax.Y()&&sr->vtx.Y() > vtxmin.Y()&&sr->vtx.Z()< vtxmax.Z()&&sr->vtx.Z() > vtxmin.Z());})
const Cut ktNC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(!sr->mc.nu[0].iscc);})
Cut CutFromNuTruthCut(const NuTruthCut &stc)
Definition: Cut.cxx:128

Definition at line 466 of file NueCCIncCuts.h.

const SelDef ana::nueccinc::chns_data[kcNumChns+1]
Initial value:
= {
{"data", !ktMC},
{"mc", ktMC},
{"nuebarcc", ktMC && ktNuebarCC},
{"numucc", ktMC && ktNumuCC},
{"numubarcc", ktMC && ktNumubarCC},
{"nc", ktMC && ktNC},
{"other", ktMC && ktOther},
{"nuecc_nonfiducial", ktMC && ktSignal &&
}
const Cut ktSignal([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));})
const Cut ktNumuCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==14)&&(sr->mc.nu[0].pdgorig==14));})
const Cut ktOther
Definition: NueCCIncCuts.h:183
const Cut ktMC([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})
const Cut ktNumubarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));})
const Cut ktNuebarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-12)&&(sr->mc.nu[0].pdgorig==-12));})
const SpillTruthCut kTrueFiducialST([](const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< vtxmax.X()&&sr->vtx.X() > vtxmin.X()&&sr->vtx.Y()< vtxmax.Y()&&sr->vtx.Y() > vtxmin.Y()&&sr->vtx.Z()< vtxmax.Z()&&sr->vtx.Z() > vtxmin.Z());})
const Cut ktNC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(!sr->mc.nu[0].iscc);})
Cut CutFromNuTruthCut(const NuTruthCut &stc)
Definition: Cut.cxx:128

Definition at line 363 of file NueCCIncCuts.h.

const SelDef ana::nueccinc::chns_extra[kcNumChnsExtra]
Initial value:
={
{"data", !ktMC},
{"mc", ktMC},
{"nuecc", ktMC && ktSignal},
{"nuebarcc", ktMC && ktNuebarCC},
{"numucc_pi0", ktMC && ktIsNumuCCPi0},
{"numucc_not_pi0", ktMC && ktIsNumuCCNotPi0},
{"numubarcc", ktMC && ktNumubarCC},
{"nc_pi0", ktMC && ktIsNCPi0},
{"nc_not_pi0", ktMC && ktIsNCNotPi0},
{"other", ktMC && ktIsOther2},
{"non_pi0_background", ktMC && (ktIsNumuCCNotPi0 || ktNumubarCC ||
ktIsNCNotPi0 || ktIsOther2)},
{"background", ktMC && !ktSignal},
}
const Cut ktSignal([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));})
const Cut ktIsOther2
Definition: NueCCIncCuts.h:226
const Cut ktMC([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})
const Cut ktNumubarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));})
const Cut ktIsNCNotPi0
Definition: NueCCIncCuts.h:221
const Cut ktNuebarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-12)&&(sr->mc.nu[0].pdgorig==-12));})
const Cut ktIsNumuCCPi0
Definition: NueCCIncCuts.h:223
const Cut ktIsNumuCCNotPi0
Definition: NueCCIncCuts.h:224
const Cut ktIsNCPi0
Definition: NueCCIncCuts.h:220

Definition at line 380 of file NueCCIncCuts.h.

const Binning ana::nueccinc::costhetabins = Binning::Custom(angedges)

Definition at line 27 of file NueCCIncBins.h.

const std::string ana::nueccinc::covarianceDir = "Covariance/"

Definition at line 24 of file NueCCIncTemplateFitter.cxx.

const SelDef ana::nueccinc::cut_flow[kcNumSels]
Initial value:
= {
{"slicing", kNoCut},
{"dq", kcDQ},
{"fiducial", kcDQ && kcNueCCIncFiducial},
{"containment", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment},
{"frontplanes", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment
{"nhits", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment &&
kcFrontPlanes && kcNHits},
{"muonid", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment &&
kcFrontPlanes && kcNHits && kcMuonIDCut},
{"cvn", kcPresel && kcCVN},
{"electronid", kcPresel && kcElectronIDCut},
}
const Cut kcNueCCIncContainment([](const caf::SRProxy *sr){if(sr->vtx.elastic[0].fuzzyk.nshwlid< 1) return false;TVector3 start=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.start;TVector3 stop=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.stop;for(uint ix=0;ix< sr->vtx.elastic[0].fuzzyk.nshwlid;ix++){TVector3 start_muoncatcher=sr->vtx.elastic[0].fuzzyk.png[ix].shwlid.start;TVector3 stop_muoncatcher=sr->vtx.elastic[0].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 Cut kcFrontPlanes
Definition: NueCCIncCuts.h:117
const Cut kcNHits
Definition: NueCCIncCuts.h:118
const Cut kcPresel
Definition: NueCCIncCuts.h:139
const Cut kcMuonIDCut
Definition: NueCCIncCuts.h:123
const Cut kcDQ
Definition: NueCCIncCuts.h:114
const Cut kcCVN
Definition: NueCCIncCuts.h:127
const Cut kcElectronIDCut
Definition: NueCCIncCuts.h:132
const Cut kNoCut
The simplest possible cut: pass everything, used as a default.
Definition: Cut.h:117
const Cut kRecoElectronPhaseSpaceCut([](const caf::SRProxy *sr){float costheta=kvRecoCos(sr);float elece=kvElecE(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 Cut kcNueCCIncFiducial([](const caf::SRProxy *sr){assert(sr->vtx.nelastic > 0 &&"Must apply DQ cuts");if(sr->vtx.elastic[0].vtx.X()< -130.0) return false;if(sr->vtx.elastic[0].vtx.X() > 150.0) return false;if(sr->vtx.elastic[0].vtx.Y()< -140.0) return false;if(sr->vtx.elastic[0].vtx.Y() > 140.0) return false;if(sr->vtx.elastic[0].vtx.Z()< 150.0) return false;if(sr->vtx.elastic[0].vtx.Z() > 800.0) return false;return true;})

Definition at line 310 of file NueCCIncCuts.h.

const SelDef ana::nueccinc::cut_flow2[kcNumSels2]
Initial value:
= {
{"slicing", kNoCut},
{"dq", kcDQ},
{"fiducial", kcDQ && kcFiducial},
{"containment", kcDQ && kcFiducial && kcContainment},
{"frontplanes", kcDQ && kcFiducial && kcContainment && kcFrontPlanes},
{"nhits", kcDQ && kcFiducial && kcContainment &&
kcFrontPlanes && kcNHits},
{"muonid", kcDQ && kcFiducial && kcContainment && kcFrontPlanes &&
kcNHits && kcMuonIDCut},
{"cvn", kcDQ && kcFiducial && kcContainment && kcFrontPlanes &&
kcNHits && kcMuonIDCut && kcCVN},
}
const Cut kcFrontPlanes
Definition: NueCCIncCuts.h:117
const Cut kcNHits
Definition: NueCCIncCuts.h:118
const Cut kcContainment
Definition: NueCCIncCuts.h:116
const Cut kcMuonIDCut
Definition: NueCCIncCuts.h:123
const Cut kcDQ
Definition: NueCCIncCuts.h:114
const Cut kcCVN
Definition: NueCCIncCuts.h:127
const Cut kNoCut
The simplest possible cut: pass everything, used as a default.
Definition: Cut.h:117
const Cut kcFiducial
Definition: NueCCIncCuts.h:115

Definition at line 296 of file NueCCIncCuts.h.

const SelDef ana::nueccinc::cut_flow_test[kcNumSelsTest]
Initial value:
= {
{"slicing", kNoCut},
{"dq", kcDQ},
{"fiducial", kcDQ && kcNueCCIncFiducial},
{"containment", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment},
{"frontplanes", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment
{"nhits", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment &&
kcFrontPlanes && kcNHits},
{"muonid", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment &&
kcFrontPlanes && kcNHits && kcRemid},
{"electronid", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment &&
kcFrontPlanes && kcNHits && kcRemid && kcElectronIDCut},
{"cvn", kcDQ && kcNueCCIncFiducial && kcNueCCIncContainment &&
kcFrontPlanes && kcNHits && kcRemid && kcCVN},
}
const Cut kcNueCCIncContainment([](const caf::SRProxy *sr){if(sr->vtx.elastic[0].fuzzyk.nshwlid< 1) return false;TVector3 start=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.start;TVector3 stop=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.stop;for(uint ix=0;ix< sr->vtx.elastic[0].fuzzyk.nshwlid;ix++){TVector3 start_muoncatcher=sr->vtx.elastic[0].fuzzyk.png[ix].shwlid.start;TVector3 stop_muoncatcher=sr->vtx.elastic[0].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 Cut kcFrontPlanes
Definition: NueCCIncCuts.h:117
const Cut kcNHits
Definition: NueCCIncCuts.h:118
const Cut kcDQ
Definition: NueCCIncCuts.h:114
const Cut kcCVN
Definition: NueCCIncCuts.h:127
const Cut kcElectronIDCut
Definition: NueCCIncCuts.h:132
const Cut kcRemid
Definition: NueCCIncCuts.h:120
const Cut kNoCut
The simplest possible cut: pass everything, used as a default.
Definition: Cut.h:117
const Cut kcNueCCIncFiducial([](const caf::SRProxy *sr){assert(sr->vtx.nelastic > 0 &&"Must apply DQ cuts");if(sr->vtx.elastic[0].vtx.X()< -130.0) return false;if(sr->vtx.elastic[0].vtx.X() > 150.0) return false;if(sr->vtx.elastic[0].vtx.Y()< -140.0) return false;if(sr->vtx.elastic[0].vtx.Y() > 140.0) return false;if(sr->vtx.elastic[0].vtx.Z()< 150.0) return false;if(sr->vtx.elastic[0].vtx.Z() > 800.0) return false;return true;})

Definition at line 328 of file NueCCIncCuts.h.

const SelDef ana::nueccinc::cvn_selection[kcCvnSels]
Initial value:
= {
{"presel", kcPresel},
{"presel_signal", kcPresel && ktMC && ktSignal},
{"presel_background", kcPresel && ktMC && !ktSignal},
}
const Cut kcPresel
Definition: NueCCIncCuts.h:139
const Cut ktSignal([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));})
const Cut ktMC([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})

Definition at line 442 of file NueCCIncCuts.h.

const SelDefST ana::nueccinc::cvn_selection_st[kcCvnSelsST]
Initial value:
= {
{"spilltruth", kIsTrueSigST},
}
const SpillTruthCut kIsTrueSigST
Definition: NueCCIncCuts.h:271

Definition at line 448 of file NueCCIncCuts.h.

const Binning ana::nueccinc::double_diff_bins
Initial value:
= Binning::Simple(eelecbins.NBins()*
0,
const Binning eelecbins
Definition: NueCCIncBins.h:23
const Binning costhetabins
Definition: NueCCIncBins.h:27
int NBins() const
Definition: Binning.h:25

Definition at line 63 of file NueCCIncBins.h.

const std::string ana::nueccinc::DWNCalibFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-xyview-neg-offset_v1.REDEF"

Definition at line 44 of file NueCCIncExtra.h.

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

const std::string ana::nueccinc::DWNLightFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_lightmodel-lightdown-calibup_v1.REDEF"

Definition at line 56 of file NueCCIncExtra.h.

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

const Binning ana::nueccinc::eelecbins = Binning::Custom(eelecedges)

Definition at line 23 of file NueCCIncBins.h.

const std::vector<double> ana::nueccinc::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 21 of file NueCCIncBins.h.

const std::string ana::nueccinc::ElecID_TestingSample_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1.REDEF with stride 2 offset 0"

Definition at line 41 of file NueCCIncExtra.h.

const std::string ana::nueccinc::ElecID_TrainingSample_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1.REDEF with stride 4 offset 3"

Definition at line 39 of file NueCCIncExtra.h.

float ana::nueccinc::ElecIDVars[6] = {-999.0}
static
const std::vector<double> ana::nueccinc::electronid_edges
Initial value:
=
{-0.4,-0.2,-0.15,-0.10,-0.05,-0.00,0.05,0.10,0.15,0.20,0.236,0.272,
0.308,0.344,0.38,0.416,0.452,0.488,0.524,0.560,0.60}

Definition at line 46 of file NueCCIncBins.h.

const std::vector<double> ana::nueccinc::electronid_edges_new
Initial value:
=
{-0.4, -0.238, -0.186, -0.133, -0.081, -0.029, 0.024,
0.076, 0.129, 0.181, 0.233, 0.286,0.338,0.390,0.443,0.495,0.548,0.60}

Definition at line 49 of file NueCCIncBins.h.

const std::vector<double> ana::nueccinc::electronid_new_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 53 of file NueCCIncBins.h.

const std::string ana::nueccinc::EnhancedNue_CherenkovFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_ckv-proton-shift-down_v1_nue_cc_incl_only"

Definition at line 82 of file NueCCIncExtra.h.

const std::string ana::nueccinc::EnhancedNue_DWNCalibFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-xyview-neg-offset_v1_nue_cc_incl_only"

Definition at line 71 of file NueCCIncExtra.h.

const std::string ana::nueccinc::EnhancedNue_DWNLightFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_lightmodel-lightdown-calibup_v1_nue_cc_incl_only"

Definition at line 78 of file NueCCIncExtra.h.

const std::string ana::nueccinc::EnhancedNue_ElecID_TestingSample_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1_nue_cc_incl_only with stride 2 offset 0"

Definition at line 68 of file NueCCIncExtra.h.

const std::string ana::nueccinc::EnhancedNue_ElecID_TrainingSample_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1_nue_cc_incl_only with stride 4 offset 3"

Definition at line 66 of file NueCCIncExtra.h.

const std::string ana::nueccinc::EnhancedNue_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1_nue_cc_incl_only"

Definition at line 64 of file NueCCIncExtra.h.

const std::string ana::nueccinc::EnhancedNue_ShapeCalibFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-func_v1_nue_cc_incl_only"

Definition at line 75 of file NueCCIncExtra.h.

const std::string ana::nueccinc::EnhancedNue_UPCalibFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-xyview-pos-offset_v1_nue_cc_incl_only"

Definition at line 73 of file NueCCIncExtra.h.

const std::string ana::nueccinc::EnhancedNue_UPLightFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_lightmodel-lightup-calibdown_v1_nue_cc_incl_only"

Definition at line 80 of file NueCCIncExtra.h.

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

Definition at line 18 of file NueCCIncBins.h.

const std::vector<double> ana::nueccinc::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 16 of file NueCCIncBins.h.

const std::string ana::nueccinc::FHCData_entire_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_numi_fhc_full_v1_goodruns.REDEF"

Definition at line 27 of file NueCCIncExtra.h.

NueCCIncTemplateFitter* ana::nueccinc::Fitter_obj

Definition at line 63 of file NueCCIncTemplateFitter.cxx.

TMVA::Reader* ana::nueccinc::fReaderElecIDBDT = 0
static
const SelDef ana::nueccinc::interaction_chns[kcNumIntChns]
Initial value:
= {
{"nocut", ktMC},
{"cc", !kIsNC},
{"qe", kIsQE},
{"res", kIsRes},
{"dis", kIsDIS},
{"coh", kIsCoh},
{"mec", kIsDytmanMEC},
{"other", !kIsQE && !kIsRes && !kIsDIS && !kIsCoh && !kIsDytmanMEC},
}
const Cut kIsQE
Definition: TruthCuts.cxx:104
const Cut kIsRes
Definition: TruthCuts.cxx:111
const Cut kIsDIS
Definition: TruthCuts.cxx:118
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 ktMC([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})
const Cut kIsCoh
Definition: TruthCuts.cxx:133

Definition at line 400 of file NueCCIncCuts.h.

const SelDefST ana::nueccinc::interaction_chns_st[kcNumIntChnsST]
Initial value:
= {
{"cc", kIsTrueSigST},
{"qe", kIsTrueSigST && kIsQE_NT},
{"res", kIsTrueSigST && kIsRes_NT},
{"dis", kIsTrueSigST && kIsDIS_NT},
{"coh", kIsTrueSigST && kIsCoh_NT},
{"other", kIsTrueSigST && !kIsQE_NT &&
!kIsRes_NT && !kIsDIS_NT && ! kIsCoh_NT && !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 SpillTruthCut kIsTrueSigST
Definition: NueCCIncCuts.h:271
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

Definition at line 411 of file NueCCIncCuts.h.

const Var ana::nueccinc::kAbsResCosElec = (kvRecoCos - kTrueElecCostheta)

Definition at line 357 of file NueCCIncVars.h.

const Var ana::nueccinc::kAbsResE = (kvRecoE - kTrueNuE)

Definition at line 356 of file NueCCIncVars.h.

const Var ana::nueccinc::kAbsResElecE = (kvElecE - kTrueElecE)

Definition at line 358 of file NueCCIncVars.h.

const Var ana::nueccinc::kAbsResTheta = (kvRecoTheta - kTrueElecTheta)

Definition at line 359 of file NueCCIncVars.h.

const Var ana::nueccinc::kBestProng = Var(GetBestProng())

Definition at line 44 of file NDXSecElectronPID.h.

const Cut ana::nueccinc::kcContainment = kNueNDSecondAnaContain

Definition at line 116 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kcCVN = kvCVN2017 > 0.85

Definition at line 127 of file NueCCIncCuts.h.

const int ana::nueccinc::kcCvnSels = 3

Definition at line 439 of file NueCCIncCuts.h.

const int ana::nueccinc::kcCvnSelsST = 1

Definition at line 440 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kcDQ = kNueSecondAnaDQ
const Cut ana::nueccinc::kcElectronIDCut = kElectronID > 0.2

Definition at line 132 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kcFiducial = kNueNDSecondAnaFiducial

Definition at line 115 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kcFrontPlanes = kNueNDSecondAnaFrontPlanes
const Cut ana::nueccinc::kcMuonIDCut = kMuonID < -0.20

Definition at line 123 of file NueCCIncCuts.h.

Referenced by nc_bkgd_by_interaction_mode(), and prongcvn_optimization().

const Cut ana::nueccinc::kcNHits = kNueNDSecondAnaNHits
const int ana::nueccinc::kcNumChns = 8
const int ana::nueccinc::kcNumChnsExtra = 12

Definition at line 378 of file NueCCIncCuts.h.

const int ana::nueccinc::kcNumIntChns = 8
const int ana::nueccinc::kcNumIntChnsST = 7

Definition at line 397 of file NueCCIncCuts.h.

const int ana::nueccinc::kcNumSels = 10

Definition at line 292 of file NueCCIncCuts.h.

Referenced by validationscript().

const int ana::nueccinc::kcNumSels2 = 8

Definition at line 294 of file NueCCIncCuts.h.

const int ana::nueccinc::kcNumSelsTest = 9

Definition at line 327 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kcPresel = kcPresel_loose && kcMuonIDCut
const Cut ana::nueccinc::kcPresel_loose
Initial value:
const Cut kcNueCCIncContainment([](const caf::SRProxy *sr){if(sr->vtx.elastic[0].fuzzyk.nshwlid< 1) return false;TVector3 start=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.start;TVector3 stop=sr->vtx.elastic[0].fuzzyk.png[0].shwlid.stop;for(uint ix=0;ix< sr->vtx.elastic[0].fuzzyk.nshwlid;ix++){TVector3 start_muoncatcher=sr->vtx.elastic[0].fuzzyk.png[ix].shwlid.start;TVector3 stop_muoncatcher=sr->vtx.elastic[0].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 Cut kcFrontPlanes
Definition: NueCCIncCuts.h:117
const Cut kcNHits
Definition: NueCCIncCuts.h:118
const Cut kcDQ
Definition: NueCCIncCuts.h:114
const Cut kcNueCCIncFiducial([](const caf::SRProxy *sr){assert(sr->vtx.nelastic > 0 &&"Must apply DQ cuts");if(sr->vtx.elastic[0].vtx.X()< -130.0) return false;if(sr->vtx.elastic[0].vtx.X() > 150.0) return false;if(sr->vtx.elastic[0].vtx.Y()< -140.0) return false;if(sr->vtx.elastic[0].vtx.Y() > 140.0) return false;if(sr->vtx.elastic[0].vtx.Z()< 150.0) return false;if(sr->vtx.elastic[0].vtx.Z() > 800.0) return false;return true;})

Definition at line 136 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kcProngLength = kNueNDSecondAnaProngLength

Definition at line 119 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kcRemid = kRemID < 0.40

Definition at line 120 of file NueCCIncCuts.h.

const int ana::nueccinc::kcReMIDSels = 3

Definition at line 424 of file NueCCIncCuts.h.

const int ana::nueccinc::kcReMIDSelsST = 1

Definition at line 425 of file NueCCIncCuts.h.

const Var ana::nueccinc::kElectronID = Var(GetElectronID())

Definition at line 43 of file NDXSecElectronPID.h.

const Var ana::nueccinc::kFracResCosElec
Initial value:
=
const Var kTrueElecCostheta
Definition: NueCCIncVars.h:326
const Var kvRecoCos([](const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})

Definition at line 349 of file NueCCIncVars.h.

const Var ana::nueccinc::kFracResE = (kvRecoE - kTrueNuE)/kTrueNuE

Definition at line 348 of file NueCCIncVars.h.

const Var ana::nueccinc::kFracResElecE
Initial value:
=
const Var kTrueElecE
Definition: NueCCIncVars.h:324
const Var kvElecE([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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;})

Definition at line 351 of file NueCCIncVars.h.

const Var ana::nueccinc::kFracResTheta = (kvRecoTheta - kTrueElecTheta)/kTrueElecTheta

Definition at line 353 of file NueCCIncVars.h.

const SpillTruthCut ana::nueccinc::kIsCorrectSignal
Initial value:
= kTrueEST >= 1.0 && kTrueEST < 6.0
&& kTrueElecEST >= 1.0 && kTrueElecEST < 6.0 &&
const NuTruthVar kTrueElecCosthetaST([](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||abs(nu->prim[iprim].pdg)==13){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const NuTruthVar kTrueEST([](const caf::SRNeutrinoProxy *nu){return nu->E;})
const NuTruthVar kTrueElecEST([](const caf::SRNeutrinoProxy *nu){float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11||abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})

Definition at line 266 of file NueCCIncCuts.h.

const SpillTruthCut ana::nueccinc::kIsTrueNotNumuCCST
Initial value:
=
const SpillTruthCut kIsNumuCCST([](const caf::SRNeutrinoProxy *truth){return(truth->iscc && abs(truth->pdg)==14 && abs(truth->pdgorig)==14);})
const SpillTruthCut kTrueFiducialST([](const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< vtxmax.X()&&sr->vtx.X() > vtxmin.X()&&sr->vtx.Y()< vtxmax.Y()&&sr->vtx.Y() > vtxmin.Y()&&sr->vtx.Z()< vtxmax.Z()&&sr->vtx.Z() > vtxmin.Z());})

Definition at line 275 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kIsTrueSig = CutFromNuTruthCut(kIsTrueSigST)

Definition at line 278 of file NueCCIncCuts.h.

const SpillTruthCut ana::nueccinc::kIsTrueSigST
Initial value:
=
const SpillTruthCut kIsNueCCST([](const caf::SRNeutrinoProxy *truth){return(truth->iscc && truth->pdg==12 && truth->pdgorig==12);})
const SpillTruthCut kTrueFiducialST([](const caf::SRNeutrinoProxy *sr){return(sr->vtx.X()< vtxmax.X()&&sr->vtx.X() > vtxmin.X()&&sr->vtx.Y()< vtxmax.Y()&&sr->vtx.Y() > vtxmin.Y()&&sr->vtx.Z()< vtxmax.Z()&&sr->vtx.Z() > vtxmin.Z());})

Definition at line 271 of file NueCCIncCuts.h.

const int ana::nueccinc::kNumPIDVars = 1

Definition at line 545 of file NueCCIncVars.h.

const Cut ana::nueccinc::kPresel1D
Initial value:
= kcPresel &&
const Cut kcPresel
Definition: NueCCIncCuts.h:139
const Cut kRecoElectronPhaseSpaceCut([](const caf::SRProxy *sr){float costheta=kvRecoCos(sr);float elece=kvElecE(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;})

Definition at line 455 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kPresel2D
Initial value:
=
const Cut kcPresel
Definition: NueCCIncCuts.h:139

Definition at line 453 of file NueCCIncCuts.h.

const Var ana::nueccinc::kRecoElecEVsCos
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
const Var kvRecoCos([](const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})
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 Var kvElecE([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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;})

Definition at line 129 of file NueCCIncVars.h.

const Var ana::nueccinc::kRecoElecEVsCosAngleDw
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 Var kvElecE([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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 Var kvRecoCosthetaDw([](const caf::SRProxy *sr){return(float) std::cos(kvRecoThetaDw(sr));})

Definition at line 137 of file NueCCIncVars.h.

const Var ana::nueccinc::kRecoElecEVsCosAngleUp
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
const Var kvRecoCosthetaUp([](const caf::SRProxy *sr){return(float) std::cos(kvRecoThetaUp(sr));})
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 Var kvElecE([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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;})

Definition at line 133 of file NueCCIncVars.h.

const Var ana::nueccinc::kRecoElecEVsCosVsEnu
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
const Var kvRecoCos([](const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})
const ana::Binning enubins
const Var kvRecoE
Definition: NueCCIncVars.h:45
const Var kvElecE([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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;})
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

Definition at line 142 of file NueCCIncVars.h.

const Var ana::nueccinc::kThetaSystShift = Constant(0.0025)

Definition at line 74 of file NueCCIncVars.h.

const Cut ana::nueccinc::ktIsNCNotPi0 = ktNC && !ktIsPi0

Definition at line 221 of file NueCCIncCuts.h.

const Cut ana::nueccinc::ktIsNCPi0 = ktNC && ktIsPi0

Definition at line 220 of file NueCCIncCuts.h.

const Cut ana::nueccinc::ktIsNumuCCNotPi0 = ktNumuCC && !ktIsPi0

Definition at line 224 of file NueCCIncCuts.h.

const Cut ana::nueccinc::ktIsNumuCCPi0 = ktNumuCC && ktIsPi0

Definition at line 223 of file NueCCIncCuts.h.

const Cut ana::nueccinc::ktIsOther2
Initial value:
= (!ktSignal && !ktNuebarCC &&
const Cut ktSignal([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));})
const Cut ktNumubarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));})
const Cut ktIsNCNotPi0
Definition: NueCCIncCuts.h:221
const Cut ktNuebarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-12)&&(sr->mc.nu[0].pdgorig==-12));})
const Cut ktIsNumuCCPi0
Definition: NueCCIncCuts.h:223
const Cut ktIsNumuCCNotPi0
Definition: NueCCIncCuts.h:224
const Cut ktIsNCPi0
Definition: NueCCIncCuts.h:220

Definition at line 226 of file NueCCIncCuts.h.

const Cut ana::nueccinc::ktOther
Initial value:
= (!ktSignal && !ktNuebarCC &&
!ktNC)
const Cut ktSignal([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==12)&&(sr->mc.nu[0].pdgorig==12));})
const Cut ktNumuCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==14)&&(sr->mc.nu[0].pdgorig==14));})
const Cut ktNumubarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));})
const Cut ktNuebarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-12)&&(sr->mc.nu[0].pdgorig==-12));})
const Cut ktNC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(!sr->mc.nu[0].iscc);})

Definition at line 183 of file NueCCIncCuts.h.

const Var ana::nueccinc::kTrueElecCostheta = VarFromSpillTruthVar(kTrueElecCosthetaST)

Definition at line 326 of file NueCCIncVars.h.

const Var ana::nueccinc::kTrueElecE = VarFromSpillTruthVar(kTrueElecEST)

Definition at line 324 of file NueCCIncVars.h.

const Var ana::nueccinc::kTrueElecEVsCos = VarFromNuTruthVar(kTrueElecEVsCosST)

Definition at line 334 of file NueCCIncVars.h.

const NuTruthVar ana::nueccinc::kTrueElecEVsCosST
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
const NuTruthVar kTrueElecCosthetaST([](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||abs(nu->prim[iprim].pdg)==13){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const NuTruthVar kTrueElecEST([](const caf::SRNeutrinoProxy *nu){float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11||abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})
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

Definition at line 329 of file NueCCIncVars.h.

const HistAxis ana::nueccinc::kTrueElecEVsCosStandardAxis
Initial value:
=
HistAxis HistAxisFromNuTruthHistAxis(NuTruthHistAxis ntha, double _default)
Definition: HistAxis.cxx:101
const NuTruthHistAxis kTrueElecEVsCosStandardAxisST("True E_{e} vs cos #theta;cs Elec_{e} (GeV); cos #{theta}", double_diff_bins, kTrueElecEVsCosST)

Definition at line 533 of file NueCCIncVars.h.

Referenced by getCrossSectionAnalysis_Spectra(), and getCrossSectionAnalysis_Spectra_systematics().

const NuTruthVar ana::nueccinc::kTrueElecEVsCosVsEnuST
Initial value:
const ana::Binning eelecbins
const ana::Binning costhetabins
const NuTruthVar kTrueElecCosthetaST([](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||abs(nu->prim[iprim].pdg)==13){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const NuTruthVar kTrueElecEST([](const caf::SRNeutrinoProxy *nu){float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11||abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})
const ana::Binning enubins
const NuTruthVar kTrueEST([](const caf::SRNeutrinoProxy *nu) ->float{float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;return(float) nu->E;})
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

Definition at line 336 of file NueCCIncVars.h.

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

Definition at line 538 of file NueCCIncVars.h.

const Var ana::nueccinc::kTrueElecTheta = VarFromSpillTruthVar(kTrueElecThetaST)

Definition at line 327 of file NueCCIncVars.h.

const Var ana::nueccinc::kTrueNuE = VarFromSpillTruthVar(kTrueEST)

Definition at line 325 of file NueCCIncVars.h.

const Cut ana::nueccinc::kTrueSignal1D = CutFromNuTruthCut(kTrueSignal1DST)

Definition at line 463 of file NueCCIncCuts.h.

const NuTruthCut ana::nueccinc::kTrueSignal1DST
Initial value:
const NuTruthCut kTrueElectronPhaseSpaceCutST([](const caf::SRNeutrinoProxy *sr){float costheta=kTrueElecCosthetaST(sr);float elece=kTrueElecEST(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 SpillTruthCut kIsTrueSigST
Definition: NueCCIncCuts.h:271

Definition at line 459 of file NueCCIncCuts.h.

const Cut ana::nueccinc::kTrueSignal2D = CutFromNuTruthCut(kTrueSignal2DST)

Definition at line 462 of file NueCCIncCuts.h.

const NuTruthCut ana::nueccinc::kTrueSignal2DST = kIsTrueSigST

Definition at line 458 of file NueCCIncCuts.h.

const int ana::nueccinc::kvAllVars = 33

Definition at line 379 of file NueCCIncVars.h.

const int ana::nueccinc::kvAnalysisVariables = 4

Definition at line 507 of file NueCCIncVars.h.

const int ana::nueccinc::kvAnalysisVars = 6

Definition at line 381 of file NueCCIncVars.h.

const int ana::nueccinc::kvAnalysisVarsST = 6+3

Definition at line 382 of file NueCCIncVars.h.

const Var ana::nueccinc::kvLID_CosElec = kCosTheta

Definition at line 215 of file NueCCIncVars.h.

const Var ana::nueccinc::kvLID_ElectronE = kShwCalE

Definition at line 214 of file NueCCIncVars.h.

const int ana::nueccinc::kvNumTruthVarsST = 6

Definition at line 383 of file NueCCIncVars.h.

const Var ana::nueccinc::kvRecoE = kNueEnergy2017

Definition at line 45 of file NueCCIncVars.h.

const Var ana::nueccinc::kvRecoThetaDw = kvRecoTheta - kThetaSystShift

Definition at line 76 of file NueCCIncVars.h.

const Var ana::nueccinc::kvRecoThetaUp = kvRecoTheta + kThetaSystShift

Definition at line 75 of file NueCCIncVars.h.

const int ana::nueccinc::kvResolutionVars = 12

Definition at line 380 of file NueCCIncVars.h.

const std::string ana::nueccinc::MRE_CalibDwn
Initial value:
=
"prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-xyview-neg-offset_v1"

Definition at line 94 of file NueCCIncExtra.h.

const std::string ana::nueccinc::MRE_CalibShape
Initial value:
=
"prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-func_v1"

Definition at line 98 of file NueCCIncExtra.h.

const std::string ana::nueccinc::MRE_CalibUp
Initial value:
=
"prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-xyview-pos-offset_v1"

Definition at line 96 of file NueCCIncExtra.h.

const std::string ana::nueccinc::MRE_Cherenkov
Initial value:
=
"prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_ckv-proton-shift-down_v1"

Definition at line 105 of file NueCCIncExtra.h.

const std::string ana::nueccinc::MRE_FakeData
Initial value:
=
"defname: prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_v1 with stride 2 offset 1"

Definition at line 89 of file NueCCIncExtra.h.

const std::string ana::nueccinc::MRE_LightDwn
Initial value:
=
"prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_lightmodel-lightdown-calibup_v1"

Definition at line 101 of file NueCCIncExtra.h.

const std::string ana::nueccinc::MRE_LightUp
Initial value:
=
"prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_lightmodel-lightup-calibdown_v1"

Definition at line 103 of file NueCCIncExtra.h.

const std::string ana::nueccinc::MRE_NominalMC
Initial value:
=
"prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_v1"

Definition at line 87 of file NueCCIncExtra.h.

Referenced by mre_example_test().

const std::string ana::nueccinc::MRE_NuMIData
Initial value:
=
"prod_mrecaf_R17-11-14-prod4reco.CVNprong-respin.c_nd_numi_fhc_full_v1_goodruns"

Definition at line 91 of file NueCCIncExtra.h.

const std::string ana::nueccinc::NominalFakeData_0_full_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1.REDEF with stride 4 offset 0"

Definition at line 33 of file NueCCIncExtra.h.

const std::string ana::nueccinc::NominalFakeData_1_full_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1.REDEF with stride 4 offset 1"

Definition at line 35 of file NueCCIncExtra.h.

const std::string ana::nueccinc::NominalFakeData_2_full_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1.REDEF with stride 4 offset 2"

Definition at line 37 of file NueCCIncExtra.h.

Referenced by getCrossSectionAnalysis_Spectra().

const std::string ana::nueccinc::NominalFakeData_full_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1.REDEF with stride 2 offset 1"

Definition at line 31 of file NueCCIncExtra.h.

const std::string ana::nueccinc::NominalMC_entire_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1.REDEF"

Definition at line 25 of file NueCCIncExtra.h.

Referenced by getCrossSectionAnalysis_Spectra().

const std::string ana::nueccinc::NominalMC_full_prod4_CVNProng
Initial value:
=
"defname: prod_caf_R17-11-14-prod4reco.CVNprong-respin.b_nd_genie_nonswap_fhc_nova_v08_full_v1.REDEF with stride 2 offset 0"

Definition at line 29 of file NueCCIncExtra.h.

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

const mHistAxisSTDef ana::nueccinc::nu_truth_axis[kvNumTruthVarsST]
Initial value:
= {
{"st_nu_e_ana_bin", {"True Neutrino Energy (GeV)",
{"st_elec_e_ana_bin", {"True Electron Energy (GeV)",
{"st_costheta_e_ana_bin", {"True #cos #theta_{e}",
{"st_nu_e", {"True Neutrino Energy (GeV)",
Binning::Simple(100,0,10), kTrueEST}},
{"st_elec_e", {"True Electron Energy (GeV)",
Binning::Simple(100,0,10), kTrueElecEST}},
{"st_costheta_e", {"True #cos #theta_{e}",
Binning::Simple(25,0,1.01) , kTrueElecCosthetaST}},
}
const ana::Binning eelecbins
const ana::Binning costhetabins
const NuTruthVar kTrueElecCosthetaST([](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||abs(nu->prim[iprim].pdg)==13){TVector3 edir=nu->prim[iprim].p.Vect();TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return edir.Unit().Dot(beamdir.Unit());}}return-5.0;})
const NuTruthVar kTrueElecEST([](const caf::SRNeutrinoProxy *nu){float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;int nprims=nu->prim.size();for(int iprim=0;iprim< nprims;iprim++){if(abs(nu->prim[iprim].pdg)==11||abs(nu->prim[iprim].pdg)==13){double E=nu->prim[iprim].p.E;ee=E;}}return ee;})
const ana::Binning enubins
const NuTruthVar kTrueEST([](const caf::SRNeutrinoProxy *nu) ->float{float ee=-5;if(abs(nu->pdg)!=12|| !nu->iscc) return ee;return(float) nu->E;})

Definition at line 439 of file NueCCIncVars.h.

const int ana::nueccinc::numPIDBins = 17
const mHistAxisDef ana::nueccinc::pid_vars[kNumPIDVars]
Initial value:
= {
{"electronid", {"ElectronID", pidbins_electronid,kElectronID}},
}
const Var kElectronID
const ana::Binning pidbins_electronid

Definition at line 546 of file NueCCIncVars.h.

const Binning ana::nueccinc::pidbins = Binning::Custom(pidedges)
const Binning ana::nueccinc::pidbins_electronid = Binning::Custom(electronid_new_edges)

Definition at line 55 of file NueCCIncBins.h.

const Binning ana::nueccinc::pidbins_electronid_old = Binning::Custom(electronid_edges_new)

Definition at line 58 of file NueCCIncBins.h.

const Binning ana::nueccinc::pidbinslid = Binning::Simple(21,-0.01,1.01)

Definition at line 40 of file NueCCIncBins.h.

const std::vector<double> ana::nueccinc::pidedges
Initial value:
{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 35 of file NueCCIncBins.h.

const bool ana::nueccinc::printVerbose = false

Definition at line 21 of file NueCCIncTemplateFitter.cxx.

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

Definition at line 32 of file NueCCIncBins.h.

const std::vector<double> ana::nueccinc::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 30 of file NueCCIncBins.h.

const SelDef ana::nueccinc::remid_selection[kcReMIDSels]
Initial value:
= {
{"presel", kcPresel_loose},
{"presel_signal", kcPresel_loose && ktMC && !ktNumuCC && !ktNumubarCC},
{"presel_background",kcPresel_loose && ktMC && (ktNumuCC || ktNumubarCC)},
}
const Cut ktNumuCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==14)&&(sr->mc.nu[0].pdgorig==14));})
const Cut ktMC([](const caf::SRProxy *sr){if(sr->hdr.ismc) return true;return false;})
const Cut ktNumubarCC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;return(sr->mc.nu[0].iscc &&(sr->mc.nu[0].pdg==-14)&&(sr->mc.nu[0].pdgorig==-14));})
const Cut kcPresel_loose
Definition: NueCCIncCuts.h:136

Definition at line 427 of file NueCCIncCuts.h.

const SelDefST ana::nueccinc::remid_selection_st[kcReMIDSelsST]
Initial value:
= {
{"spilltruth", kIsTrueNotNumuCCST},
}
const SpillTruthCut kIsTrueNotNumuCCST
Definition: NueCCIncCuts.h:275

Definition at line 433 of file NueCCIncCuts.h.

const mHistAxisDef ana::nueccinc::resolution_vars[kvResolutionVars]
Initial value:
= {
{"recoE_2017", {"E_{#nu} (GeV)", Binning::Simple(100,0,10), kvRecoE}},
{"costheta", {"cos #theta_{e}", Binning::Simple(50,0,1.01), kvRecoCos}},
{"electronE", {"E_{e} (GeV)", Binning::Simple(100,0,10), kvElecE}},
{"true_E", {"True E_{#nu} (GeV)", Binning::Simple(100,0,10), kTrueNuE}},
{"true_costheta", {"True #cos #theta_{e}",
Binning::Simple(50,0,1.01), kTrueElecCostheta}},
{"true_electron_e", {"True Electron Energy (GeV)",
Binning::Simple(100,0,10), kTrueElecE}},
{"frac_res_e", {"Fractional Resolution Neutrino Energy",
Binning::Simple(100,-1,1), kFracResE}},
{"frac_res_cos", {"Fractional Resolution #cos #theta_{e}",
Binning::Simple(1000,-0.5,0.5), kFracResCosElec}},
{"frac_res_elec", {"Fractional Resolution Electron Energy",
Binning::Simple(100,-1,1), kFracResElecE}},
{"abs_res_e", {"Absolute Resolution Neutrino Energy",
Binning::Simple(100,-1,1), kAbsResE}},
{"abs_res_cos", {"Absolute Resolution #cos #theta_{e}",
Binning::Simple(1000,-0.5,0.5), kAbsResCosElec}},
{"abs_res_elec", {"Absolute Resolution Electron Energy",
Binning::Simple(100,-1,1), kAbsResElecE}},
}
const Var kAbsResElecE
Definition: NueCCIncVars.h:358
const Var kTrueElecCostheta
Definition: NueCCIncVars.h:326
const Var kTrueNuE
Definition: NueCCIncVars.h:325
const Var kFracResE
Definition: NueCCIncVars.h:348
const Var kAbsResCosElec
Definition: NueCCIncVars.h:357
const Var kvRecoCos([](const caf::SRProxy *sr) ->float{if(sr->vtx.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;TVector3 elecdir=(TVector3) sr->vtx.elastic[0].fuzzyk.png[0].dir;TVector3 beamdir=NuMIBeamDirection(caf::kNEARDET);return elecdir.Dot(beamdir);})
const Var kFracResElecE
Definition: NueCCIncVars.h:351
const Var kAbsResE
Definition: NueCCIncVars.h:356
const Var kvRecoE
Definition: NueCCIncVars.h:45
const Var kTrueElecE
Definition: NueCCIncVars.h:324
const Var kFracResCosElec
Definition: NueCCIncVars.h:349
const Var kvElecE([](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.nelastic< 1) return-1000.f;if(sr->vtx.elastic[0].fuzzyk.npng< 1) return-1000.f;float x=(sr->vtx.elastic[0].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;})

Definition at line 455 of file NueCCIncVars.h.

Referenced by getResolutionSpectra().

const std::string ana::nueccinc::ShapeCalibFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-func_v1.REDEF"

Definition at line 50 of file NueCCIncExtra.h.

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

const float ana::nueccinc::signal_region = 0.8

Definition at line 13 of file NueCCIncTemplateFitter.cxx.

const float ana::nueccinc::sliding_signal_region[13]
Initial value:
= {0.2,0.2,0.15,0.15,0.15,
0.25,0.25,0.25,0.25,0.25,0.25,0.25,
0.25}

Definition at line 16 of file NueCCIncTemplateFitter.cxx.

const Binning ana::nueccinc::three_d_bins
Initial value:
= Binning::Simple(eelecbins.NBins()*
0,
const Binning enubins
Definition: NueCCIncBins.h:18
const Binning eelecbins
Definition: NueCCIncBins.h:23
const Binning costhetabins
Definition: NueCCIncBins.h:27
int NBins() const
Definition: Binning.h:25

Definition at line 70 of file NueCCIncBins.h.

const std::string ana::nueccinc::UPCalibFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_calib-shift-nd-xyview-pos-offset_v1.REDEF"

Definition at line 47 of file NueCCIncExtra.h.

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

const std::string ana::nueccinc::UPLightFiles_full_prod4_CVNProng
Initial value:
=
"prod_caf_R17-11-14-prod4reco.CVNprong-respin.c_nd_genie_nonswap_fhc_nova_v08_full_lightmodel-lightup-calibdown_v1.REDEF"

Definition at line 53 of file NueCCIncExtra.h.

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

const bool ana::nueccinc::useSlidingSignalRegion = true

Definition at line 20 of file NueCCIncTemplateFitter.cxx.

const TVector3* ana::nueccinc::vtxmax_ptr = new TVector3(150,140,800)

Definition at line 237 of file NueCCIncCuts.h.

const TVector3* ana::nueccinc::vtxmin_ptr = new TVector3(-130,-140,150)

Definition at line 236 of file NueCCIncCuts.h.