3 #include "CAFAna/Core/Var.h" 16 float SAMuE(
double trkLen);
19 double SAMuEND(
double lenact,
double lencat,
20 double actE,
double tranE,
73 const std::function<NumuEnergyFunc::prod4_nd_energy_p_func_t> &f_cat);
76 const std::function<NumuEnergyFunc::prod4_nd_energy_func_t> &f_nd_act,
77 const std::function<NumuEnergyFunc::prod4_nd_energy_func_t> &f_nd_cat);
79 const std::function<NumuEnergyFunc::prod4_nd_energy_func_t> &f_nd);
84 NumuEnergyFunc::predict_prod4_fd_muon_energy_p<1>
88 NumuEnergyFunc::predict_prod4_fd_muon_energy_p<2>
92 NumuEnergyFunc::predict_prod4_fd_muon_energy_p<3>
96 NumuEnergyFunc::predict_prod4_fd_muon_energy_p<4>
100 NumuEnergyFunc::predict_prod4_fd_muon_energy_p<5>
104 NumuEnergyFunc::predict_prod4_fd_had_energy_p<1>
108 NumuEnergyFunc::predict_prod4_fd_had_energy_p<2>
112 NumuEnergyFunc::predict_prod4_fd_had_energy_p<3>
116 NumuEnergyFunc::predict_prod4_fd_had_energy_p<4>
120 NumuEnergyFunc::predict_prod4_fd_had_energy_p<5>
124 NumuEnergyFunc::predict_prod4_nd_act_energy_p<3>,
125 NumuEnergyFunc::predict_prod4_nd_cat_energy_p<3>
129 NumuEnergyFunc::predict_prod4_nd_act_energy_p<4>,
130 NumuEnergyFunc::predict_prod4_nd_cat_energy_p<4>
134 NumuEnergyFunc::predict_prod4_nd_had_energy_p<3>
138 NumuEnergyFunc::predict_prod4_nd_had_energy_p<4>
177 Var initNumuMuE2020NDpXVar(
const std::function<NumuEnergyFunc::prod5_nd_energy_p_func_t> &f_act,
const std::function<NumuEnergyFunc::prod5_nd_energy_p_func_t> &f_cat);
179 Var initNumuMuE2020Var(
const std::function<NumuEnergyFunc::prod5_fd_energy_func_t> &f_fd,
const std::function<NumuEnergyFunc::prod5_nd_energy_func_t> &f_nd_act,
const std::function<NumuEnergyFunc::prod5_nd_energy_func_t> &f_nd_cat);
180 Var initNumuHadE2020Var(
const std::function<NumuEnergyFunc::prod5_fd_energy_func_t> &f_fd,
const std::function<NumuEnergyFunc::prod5_nd_energy_func_t> &f_nd);
const Var kNumuHadE2018FDp2
const Var kNumuHadE2020FHCND
const Var kNumuHadE2017RHCND(NumuHadE2017NDW( predict_prod3_nd_p4_had_energy))
Cuts and Vars for the 2020 FD DiF Study.
const Var kNumuMuE2020FDfhc
const Var kNumuMuE2018RHCND
const Var kNumuHadE2018FDp5
const Var kNumuHadE2018RHCND
Var initNumuMuE2020NDpXVar(const std::function< NumuEnergyFunc::prod5_nd_energy_p_func_t > &f_act, const std::function< NumuEnergyFunc::prod5_nd_energy_p_func_t > &f_cat)
double predict_prod5_fd_muon_energy(double trkLen, int run, bool ismc, bool isRHC)
const Var kNumuHadE2018FDp1
double predict_prod5_nd_had_energy(double hadVisE, bool isRHC)
const Var kNumuHadE2020FDp2
const Var kNumuMuE2017([](const caf::SRProxy *sr) -> double{if(sr->trk.kalman.ntracks==0){return 0;}bool isRHC=sr->spill.isRHC;caf::Det_t det=sr->hdr.det;if(det==caf::kFARDET){int run=sr->hdr.run;bool ismc=sr->hdr.ismc;double trkLen=sr->trk.kalman.tracks[0].len;return predict_prod3_fd_muon_energy(trkLen, run, ismc, isRHC);}if(det==caf::kNEARDET){double trkLenAct=sr->energy.numu.ndtrklenact;double trkLenCat=sr->energy.numu.ndtrklencat;if( (sr->energy.numu.ndtrkcalactE==0) &&(sr->energy.numu.ndtrkcaltranE==0)){return 0;}return predict_prod3_nd_act_energy(trkLenAct, isRHC)+predict_prod3_nd_cat_energy(trkLenCat, isRHC);}return 0;})
const Var kNumuMuE2020FDp2
const Var kNumuCCXsecHadE([](const caf::SRProxy *sr){if(sr->trk.kalman.ntracks< 1) return 0.0f;if(sr->energy.numu.E<=0) return 0.0f;caf::Det_t detector=sr->hdr.det;bool isND=(detector==caf::kNEARDET);if((detector==caf::kNDOS)||(detector==caf::kUNKNOWN)) return 0.0f;if(isND==false) return 0.0f;float hadE=0.0;if(isND){double hadVisE=sr->energy.numu.hadtrkE+sr->energy.numu.hadcalE;hadE=TAHadEND(hadVisE);}return hadE;})
const Var kNumuHadE2020RHCND
Var initNumuHadE2020NDpXVar(const std::function< NumuEnergyFunc::prod5_nd_energy_p_func_t > &f)
double predict_prod5_nd_cat_energy(double ndtrklencat, bool isRHC)
const Var kNumuMuE2020FHCND
Var initNumuMuE2020FDpXVar(const std::function< NumuEnergyFunc::prod5_fd_energy_p_func_t > &f)
float SAGetNDCatEffLen(double trkLenCat)
const Var kNumuHadE2020FDfhc
const Var kNumuMuE2018FDp2
const Var kNumuHadE2017([](const caf::SRProxy *sr) -> double{if(sr->trk.kalman.ntracks==0){return 0;}bool isRHC=sr->spill.isRHC;caf::Det_t det=sr->hdr.det;double hadVisE=sr->energy.numu.hadtrkE+sr->energy.numu.hadcalE;if(det==caf::kFARDET){int run=sr->hdr.run;bool ismc=sr->hdr.ismc;return predict_prod3_fd_had_energy(hadVisE, run, ismc, isRHC);}if(det==caf::kNEARDET){return predict_prod3_nd_had_energy(hadVisE, isRHC);}return 0;})
const Var kNumuMuE2017FDp1(NumuMuE2017FDW(predict_prod3_fd_p1_muon_energy_corr))
float SAHadEND(double hadVisE)
Var initNumuHadE2018NDpXVar(const std::function< NumuEnergyFunc::prod4_nd_energy_p_func_t > &f)
Var initNumuHadE2018Var(const std::function< NumuEnergyFunc::prod4_fd_energy_func_t > &f_fd, const std::function< NumuEnergyFunc::prod4_nd_energy_func_t > &f_nd)
const Var kNumuE2017RHCND
const Var kNumuE2020FDfhc
Var initNumuMuE2018FDpXVar(const std::function< NumuEnergyFunc::prod4_fd_energy_p_func_t > &f)
const Var kNumuCCXsecMuonE([](const caf::SRProxy *sr){if(sr->trk.kalman.ntracks< 1) return 0.0f;if(sr->energy.numu.E<=0) return 0.0f;caf::Det_t detector=sr->hdr.det;bool isND=(detector==caf::kNEARDET);if((detector==caf::kNDOS)||(detector==caf::kUNKNOWN)) return 0.0f;if(isND==false) return 0.0f;float muonE=0.0;if(isND){double trkLenAct=sr->energy.numu.ndtrklenact;double trkLenCat=sr->energy.numu.ndtrklencat;if((trkLenAct<=0.0)&&(trkLenCat<=0.0)) return 0.0f;bool actOnly=(((sr->energy.numu.ndtrkcalactE > 0.0)||(sr->energy.numu.ndtrkcaltranE > 0.0))&&(sr->energy.numu.ndtrkcalcatE==0.0));bool actAndCat=(((sr->energy.numu.ndtrkcalactE > 0.0)||(sr->energy.numu.ndtrkcaltranE > 0.0))&&(sr->energy.numu.ndtrkcalcatE > 0.0));if((actOnly==false)&&(actAndCat==false)) return 0.0f;if((actOnly==true)&&(actAndCat==true)) return 0.0f;double trklen=0.0f;if(actOnly){trklen=trkLenAct;muonE=TAMuE(trklen);}if(actAndCat){muonE=TAGetNDActLen(trkLenAct, trkLenCat);}}return muonE;})
double SAMuEND(double lenact, double lencat, double actE, double tranE, double catE)
const Var kNumuMuE2017RHCND(NumuMuE2017NDW(predict_prod3_nd_p4_act_energy, predict_prod3_nd_p4_cat_energy))
const Var kNumuHadE2018FDp4
const Var kNumuMuE2017FDp2(NumuMuE2017FDW(predict_prod3_fd_p2_muon_energy_corr))
Var initNumuMuE2018NDpXVar(const std::function< NumuEnergyFunc::prod4_nd_energy_p_func_t > &f_act, const std::function< NumuEnergyFunc::prod4_nd_energy_p_func_t > &f_cat)
const Var kNumuMuE2020FDp1
Var initNumuMuE2020Var(const std::function< NumuEnergyFunc::prod5_fd_energy_func_t > &f_fd, const std::function< NumuEnergyFunc::prod5_nd_energy_func_t > &f_nd_act, const std::function< NumuEnergyFunc::prod5_nd_energy_func_t > &f_nd_cat)
const Var kNumuHadE2017FDp3(NumuHadE2017FDW(predict_prod3_fd_p3_had_energy_corr))
double predict_prod4_nd_cat_energy(double ndtrklencat, bool isRHC)
const Var kNumuMuE2017FDp4(NumuMuE2017FDW(predict_prod3_fd_p4_muon_energy_corr))
double predict_prod4_nd_act_energy(double ndtrklenact, bool isRHC)
const Var kNumuHadE2017FDp5(NumuHadE2017FDW(predict_prod3_fd_p5_had_energy_corr))
float TAMuE(double trklen)
const Var kNumuMuE2018FDp1
const Var kNumuHadE2017FDp1(NumuHadE2017FDW(predict_prod3_fd_p1_had_energy_corr))
Var initNumuHadE2020Var(const std::function< NumuEnergyFunc::prod5_fd_energy_func_t > &f_fd, const std::function< NumuEnergyFunc::prod5_nd_energy_func_t > &f_nd)
const Var kNumuE2018RHCND
double predict_prod4_fd_muon_energy(double trkLen, int run, bool ismc, bool isRHC)
float SAMuE(double trkLen)
const Var kNumuMuE2018FDp3
const Var kNumuMuE2017FDp3(NumuMuE2017FDW(predict_prod3_fd_p3_muon_energy_corr))
Var initNumuHadE2020FDpXVar(const std::function< NumuEnergyFunc::prod5_fd_energy_p_func_t > &f)
const Var kNumuHadE2020FDp1
const Var kNumuHadE2020FDrhc
const Var kNumuMuE2020FDrhc
float TAGetNDActLen(double trkLenact, double trkLencat)
const Var kNumuE2020FDrhc
const Var kNumuHadEFrac2020
float SAHadEFD(double hadVisE, int run)
const Var kNumuE2020RHCND
const Var kNumuMuE2018FDp5
Var initNumuMuE2018Var(const std::function< NumuEnergyFunc::prod4_fd_energy_func_t > &f_fd, const std::function< NumuEnergyFunc::prod4_nd_energy_func_t > &f_nd_act, const std::function< NumuEnergyFunc::prod4_nd_energy_func_t > &f_nd_cat)
Var initNumuHadE2018FDpXVar(const std::function< NumuEnergyFunc::prod4_fd_energy_p_func_t > &f)
double predict_prod4_fd_had_energy(double hadVisE, int run, bool ismc, bool isRHC)
const Var kNumuHadE2018FDp3
const Var kNumuHadE2017FDp4(NumuHadE2017FDW(predict_prod3_fd_p4_had_energy_corr))
const Var kNumuHadE2017ND(NumuHadE2017NDW(predict_prod3_nd_p3_had_energy))
float TAHadEND(double HadVisE)
double predict_prod4_nd_had_energy(double hadVisE, bool isRHC)
const Var kNumuE2020FHCND
const Var kNumuMuE2020RHCND
const Var kNumuMuE2017FDp5(NumuMuE2017FDW(predict_prod3_fd_p5_muon_energy_corr))
double predict_prod5_fd_had_energy(double hadVisE, int run, bool ismc, bool isRHC)
double predict_prod5_nd_act_energy(double ndtrklenact, bool isRHC)
const Var kNumuMuE2018FDp4
const Var kNumuHadE2017FDp2(NumuHadE2017FDW(predict_prod3_fd_p2_had_energy_corr))
const Var kNumuHadE2018ND
const Var kNumuMuE2017ND(NumuMuE2017NDW(predict_prod3_nd_p3_act_energy, predict_prod3_nd_p3_cat_energy))