Functions | Variables
NumuEnergyFunc Namespace Reference

Functions

double predict_prod4_fd_muon_energy (double trkLen, int run, bool ismc, bool isRHC)
 
double predict_prod4_fd_had_energy (double hadVisE, int run, bool ismc, bool isRHC)
 
double predict_prod4_nd_act_energy (double ndtrklenact, bool isRHC)
 
double predict_prod4_nd_cat_energy (double ndtrklencat, bool isRHC)
 
double predict_prod4_nd_had_energy (double hadVisE, bool isRHC)
 
const LinearSpline< 1 > kSplineProd4MuonFDp1 ({1.264631942673353215e-01, 2.027211173807817457e-01, 8.774231219753678701e+00, 2.163481314097564778e-01})
 
const LinearSpline< 1 > kSplineProd4HadFDp1 ({7.281506207958776677e-02, 5.441509444740477708e-01, 5.995673938377335532e-02, 2.016769249502490702e+00})
 
const LinearSpline< 1 > kSplineProd4MuonFDp2 ({1.257629394848571724e-01, 2.036422681279472513e-01, 9.855445529033460161e+00, 2.195160029549789171e-01})
 
const LinearSpline< 3 > kSplineProd4HadFDp2 ({5.877366209096868133e-02, 1.519704739772891111e+00, 7.898381593661769895e-02, 2.169042213902584670e+00, 4.771203681401176011e-01, 1.694250867119319715e+00, 7.539010791835750736e-01, 2.059894991370703199e+00})
 
const LinearSpline< 1 > kSplineProd4MuonFDp3 ({1.258258375981389232e-01, 2.033924315007327455e-01, 9.466540687161570489e+00, 2.184781804887378220e-01})
 
const LinearSpline< 2 > kSplineProd4HadFDp3 ({5.673223776636682203e-02, 1.465342397469045377e+00, 8.044448532774936544e-02, 2.106105448794447277e+00, 4.350000000342279516e-01, 1.829072531499642107e+00})
 
const LinearSpline< 2 > kSplineProd4MuonFDp4 ({1.463359246892861343e-01, 1.972096058268091312e-01, 4.248366183914889405e+00, 2.072087518392393413e-01, 1.048696659085294414e+01, 2.187994552957214234e-01})
 
const LinearSpline< 3 > kSplineProd4HadFDp4 ({4.249458417893325901e-02, 2.193901299460967902e+00, 1.049999999339812778e-01, 1.981193414403220387e+00, 4.492042726487709969e-01, 1.540708309857498071e+00, 6.193806271369780569e-01, 2.032400170863909228e+00})
 
const LinearSpline< 1 > kSplineProd4MuonFDp5 ({1.303357512360951986e-01, 2.024876303943876354e-01, 9.173839619568841641e+00, 2.184865210120549850e-01})
 
const LinearSpline< 3 > kSplineProd4HadFDp5 ({5.513045392968107805e-02, 1.534780212240209885e+00, 8.119825924952998875e-02, 2.102191592086820382e+00, 4.829923244287704365e-01, 1.655956208512852301e+00, 7.849999988138458562e-01, 2.030853659350569718e+00})
 
const LinearSpline< 2 > kSplineProd4ActNDp3 ({1.514900417035001112e-01, 1.941290659171270860e-01, 3.285152850349305265e+00, 2.027000969328388302e-01, 5.768910882104949955e+00, 2.089391482903513730e-01})
 
const LinearSpline< 2 > kSplineProd4CatNDp3 ({8.720084706388187001e-03, 5.529278858789209439e-01, 2.270042802448197783e+00, 1.711916184621219417e+00, 2.307938644096652947e+00, 3.521795029684806622e-01})
 
const LinearSpline< 3 > kSplineProd4HadNDp3 ({6.390888289071572359e-02, 1.416435376103045707e+00, 4.714208143879788232e-02, 2.144449735801436052e+00, 2.402894748598130015e-01, 2.453526979604870206e+00, 4.581240238035835244e-01, 1.730599464528853160e+00})
 
const LinearSpline< 2 > kSplineProd4ActNDp4 ({1.534847032701298630e-01, 1.939572586752992267e-01, 3.076153165048225446e+00, 2.016367496419133321e-01, 5.139959732881990817e+00, 2.085728450137292189e-01})
 
const LinearSpline< 3 > kSplineProd4CatNDp4 ({6.440384628800144284e-02, 1.663238457993588826e-01, 1.466666666666678887e-01, 5.572409982576314036e-01, 2.270441314113081255e+00, 2.043488369726459641e+00, 2.299237514383191794e+00, 3.673229067047741880e-01})
 
const LinearSpline< 1 > kSplineProd4HadNDp4 ({4.743190085416526536e-02, 2.510494758751641520e+00, 9.795449140279462175e-02, 1.981710272551915564e+00})
 
template<unsigned char period>
double predict_prod4_fd_muon_energy_p (double trkLen, bool ismc)
 
template<unsigned char period>
double predict_prod4_fd_had_energy_p (double hadVisE, bool ismc)
 
template<unsigned char period>
double predict_prod4_nd_act_energy_p (double ndtrklenact)
 
template<unsigned char period>
double predict_prod4_nd_cat_energy_p (double ndtrklencat)
 
template<unsigned char period>
double predict_prod4_nd_had_energy_p (double hadVisE)
 
double predict_prod5_fd_muon_energy (double trkLen, int run, bool ismc, bool isRHC)
 
double predict_prod5_fd_had_energy (double hadVisE, int run, bool ismc, bool isRHC)
 
double predict_prod5_nd_act_energy (double ndtrklenact, bool isRHC)
 
double predict_prod5_nd_cat_energy (double ndtrklencat, bool isRHC)
 
double predict_prod5_nd_had_energy (double hadVisE, bool isRHC)
 
const LinearSpline< 3 > kSplineProd5MuonFDp1 ({1.333815966663624564e-01, 2.006655289624899308e-01, 8.500671131829244942e+00, 2.154209380453118716e-01, 2.035090204717860729e+01, 6.660211866896596611e+00, 2.037655171956283340e+01, 0.000000000000000000e+00})
 
const LinearSpline< 2 > kSplineProd5HadFDp1 ({1.085140541354344575e-02, 2.003132845468682977e+00, 5.249999999978114396e-01, 1.587909262160043244e+00, 8.547074710510785822e-01, 2.070213642469894921e+00})
 
const LinearSpline< 2 > kSplineProd5MuonFDp2 ({1.333041428039729304e-01, 2.010374129825994727e-01, 9.015314992888956880e+00, 2.172102602545122607e-01, 1.881250004932426734e+01, 1.939648844865335120e-01})
 
const LinearSpline< 3 > kSplineProd5HadFDp2 ({3.384568670664851731e-02, 1.916508023623156864e+00, 2.749999891254556461e-01, 2.284913434279694400e+00, 4.495957896158719880e-01, 1.631687421408977157e+00, 7.893618284090087034e-01, 2.015303688339076693e+00})
 
const LinearSpline< 2 > kSplineProd5MuonFDfhc ({1.412869875558434574e-01, 1.985202329476516148e-01, 7.247665189483523562e+00, 2.144069735971011192e-01, 2.218750000031716141e+01, 6.699485408121087782e-02})
 
const LinearSpline< 3 > kSplineProd5HadFDfhc ({5.767990231564357195e-02, 1.091963220147889491e+00, 4.894474691585748438e-02, 2.031445922414648386e+00, 5.142642860092461188e-01, 1.567915254401344383e+00, 8.200421075858435049e-01, 2.016845013606002102e+00})
 
const LinearSpline< 3 > kSplineProd5MuonFDrhc ({1.245271319206025379e-01, 2.033997627592860902e-01, 9.766311956246607195e+00, 2.180838285862531922e-01, 2.003715340979164949e+01, 1.863267567727432683e-01, 2.256004612234155360e+01, 4.754398422961426951e-02})
 
const LinearSpline< 3 > kSplineProd5HadFDrhc ({4.022415096001341617e-02, 2.011711823080491790e+00, 4.199763458287808504e-01, 1.595097006634894843e+00, 7.030242302962290690e-01, 2.148979944911536766e+00, 1.293968553045185210e+00, 1.500071121804977814e+00})
 
const LinearSpline< 2 > kSplineProd5ActNDfhc ({1.522067501417963542e-01, 1.935351432875078992e-01, 3.534675721653096403e+00, 2.025064113727464976e-01, 6.048717848712632517e+00, 2.086419146240798550e-01})
 
const LinearSpline< 3 > kSplineProd5CatNDfhc ({6.860056229074447398e-02, 1.021995188252620562e-01, 1.466667613491428046e-01, 5.498842494606275277e-01, 2.260114901099927298e+00, 1.411396843018650538e+00, 2.313275230972585472e+00, 3.115156857428397208e-01})
 
const LinearSpline< 3 > kSplineProd5HadNDfhc ({5.049552462442885581e-02, 1.422732975320812443e+00, 6.048754927389610181e-02, 2.709662443207628613e+00, 1.015235485148796579e-01, 2.173545876693023349e+00, 5.064530757547176520e-01, 1.725707450251668051e+00})
 
const LinearSpline< 2 > kSplineProd5ActNDrhc ({1.717171287078189390e-01, 1.853305227171077318e-01, 2.502586270065958907e+00, 1.990563298599958286e-01, 5.036450674404544081e+00, 2.083816760775504540e-01})
 
const LinearSpline< 0 > kSplineProd5CatNDrhc ({1.689154853867225192e-03, 5.492279050571418075e-01})
 
const LinearSpline< 3 > kSplineProd5HadNDrhc ({4.676766851054844215e-02, 2.206317277398726073e+00, 3.848300672745982309e-01, 1.593035140670105099e+00, 6.819800276504310865e-01, 2.100597007299316310e+00, 1.362679543056420250e+00, 1.417283364717454974e+00})
 
template<unsigned char period>
double predict_prod5_fd_muon_energy_p (double trkLen, bool ismc)
 
template<unsigned char period>
double predict_prod5_fd_had_energy_p (double hadVisE, bool ismc)
 
template<unsigned char period>
double predict_prod5_nd_act_energy_p (double ndtrklenact)
 
template<unsigned char period>
double predict_prod5_nd_cat_energy_p (double ndtrklencat)
 
template<unsigned char period>
double predict_prod5_nd_had_energy_p (double hadVisE)
 

Variables

static const int fd_period_1_run_start = 12942
 
static const int fd_period_2_run_start = 17891
 
static const int fd_period_3_run_start = 20753
 
static const int fd_period_4_run_start = 23420
 
static const int fd_period_5_run_start = 24614
 
static const int fd_period_6_run_start = 25413
 
static const int fd_period_7_run_start = 28037
 
static const int fd_period_8_run_start = 31168
 
static const int fd_period_9_run_start = 32398
 
static const int fd_period_10_run_start = 34574
 
static const int fd_period_1_run_end = 17139
 
static const int fd_period_2_run_end = 20752
 
static const int fd_period_3_run_end = 23419
 
static const int fd_period_4_run_end = 24613
 
static const int fd_period_5_run_end = 25412
 
static const int fd_period_6_run_end = 26685
 
static const int fd_period_7_run_end = 31167
 
static const int fd_period_8_run_end = 32397
 
static const int fd_period_9_run_end = 34573
 
static const int nd_period_1_run_start = 10377
 
static const int nd_period_2_run_start = 10496
 
static const int nd_period_3_run_start = 11229
 
static const int nd_period_4_run_start = 11632
 
static const int nd_period_5_run_start = 11926
 
static const int nd_period_6_run_start = 12087
 
static const int nd_period_7_run_start = 12517
 
static const int nd_period_8_run_start = 12956
 
static const int nd_period_9_run_start = 13132
 
static const int nd_period_10_run_start = 13428
 
static const int nd_period_1_run_end = 10407
 
static const int nd_period_2_run_end = 11228
 
static const int nd_period_3_run_end = 11628
 
static const int nd_period_4_run_end = 11925
 
static const int nd_period_5_run_end = 12086
 
static const int nd_period_6_run_end = 12289
 
static const int nd_period_7_run_end = 12955
 
static const int nd_period_8_run_end = 13131
 
static const int nd_period_9_run_end = 13427
 
decltype(predict_prod4_fd_muon_energy_p< 3 >) typedef prod4_fd_energy_p_func_t
 
decltype(predict_prod4_nd_act_energy_p< 3 >) typedef prod4_nd_energy_p_func_t
 
decltype(predict_prod4_fd_muon_energy) typedef prod4_fd_energy_func_t
 
decltype(predict_prod4_nd_act_energy) typedef prod4_nd_energy_func_t
 
decltype(predict_prod5_fd_muon_energy_p< 3 >) typedef prod5_fd_energy_p_func_t
 
decltype(predict_prod5_nd_act_energy_p< 3 >) typedef prod5_nd_energy_p_func_t
 
decltype(predict_prod5_fd_muon_energy) typedef prod5_fd_energy_func_t
 
decltype(predict_prod5_nd_act_energy) typedef prod5_nd_energy_func_t
 

Function Documentation

const LinearSpline<2> NumuEnergyFunc::kSplineProd4ActNDp3 ( {1.514900417035001112e-01, 1.941290659171270860e-01, 3.285152850349305265e+00, 2.027000969328388302e-01, 5.768910882104949955e+00, 2.089391482903513730e-01}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd4ActNDp4 ( {1.534847032701298630e-01, 1.939572586752992267e-01, 3.076153165048225446e+00, 2.016367496419133321e-01, 5.139959732881990817e+00, 2.085728450137292189e-01}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd4CatNDp3 ( {8.720084706388187001e-03, 5.529278858789209439e-01, 2.270042802448197783e+00, 1.711916184621219417e+00, 2.307938644096652947e+00, 3.521795029684806622e-01}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd4CatNDp4 ( {6.440384628800144284e-02, 1.663238457993588826e-01, 1.466666666666678887e-01, 5.572409982576314036e-01, 2.270441314113081255e+00, 2.043488369726459641e+00, 2.299237514383191794e+00, 3.673229067047741880e-01}  )
const LinearSpline<1> NumuEnergyFunc::kSplineProd4HadFDp1 ( {7.281506207958776677e-02, 5.441509444740477708e-01, 5.995673938377335532e-02, 2.016769249502490702e+00}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd4HadFDp2 ( {5.877366209096868133e-02, 1.519704739772891111e+00, 7.898381593661769895e-02, 2.169042213902584670e+00, 4.771203681401176011e-01, 1.694250867119319715e+00, 7.539010791835750736e-01, 2.059894991370703199e+00}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd4HadFDp3 ( {5.673223776636682203e-02, 1.465342397469045377e+00, 8.044448532774936544e-02, 2.106105448794447277e+00, 4.350000000342279516e-01, 1.829072531499642107e+00}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd4HadFDp4 ( {4.249458417893325901e-02, 2.193901299460967902e+00, 1.049999999339812778e-01, 1.981193414403220387e+00, 4.492042726487709969e-01, 1.540708309857498071e+00, 6.193806271369780569e-01, 2.032400170863909228e+00}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd4HadFDp5 ( {5.513045392968107805e-02, 1.534780212240209885e+00, 8.119825924952998875e-02, 2.102191592086820382e+00, 4.829923244287704365e-01, 1.655956208512852301e+00, 7.849999988138458562e-01, 2.030853659350569718e+00}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd4HadNDp3 ( {6.390888289071572359e-02, 1.416435376103045707e+00, 4.714208143879788232e-02, 2.144449735801436052e+00, 2.402894748598130015e-01, 2.453526979604870206e+00, 4.581240238035835244e-01, 1.730599464528853160e+00}  )
const LinearSpline<1> NumuEnergyFunc::kSplineProd4HadNDp4 ( {4.743190085416526536e-02, 2.510494758751641520e+00, 9.795449140279462175e-02, 1.981710272551915564e+00}  )
const LinearSpline<1> NumuEnergyFunc::kSplineProd4MuonFDp1 ( {1.264631942673353215e-01, 2.027211173807817457e-01, 8.774231219753678701e+00, 2.163481314097564778e-01}  )
const LinearSpline<1> NumuEnergyFunc::kSplineProd4MuonFDp2 ( {1.257629394848571724e-01, 2.036422681279472513e-01, 9.855445529033460161e+00, 2.195160029549789171e-01}  )
const LinearSpline<1> NumuEnergyFunc::kSplineProd4MuonFDp3 ( {1.258258375981389232e-01, 2.033924315007327455e-01, 9.466540687161570489e+00, 2.184781804887378220e-01}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd4MuonFDp4 ( {1.463359246892861343e-01, 1.972096058268091312e-01, 4.248366183914889405e+00, 2.072087518392393413e-01, 1.048696659085294414e+01, 2.187994552957214234e-01}  )
const LinearSpline<1> NumuEnergyFunc::kSplineProd4MuonFDp5 ( {1.303357512360951986e-01, 2.024876303943876354e-01, 9.173839619568841641e+00, 2.184865210120549850e-01}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd5ActNDfhc ( {1.522067501417963542e-01, 1.935351432875078992e-01, 3.534675721653096403e+00, 2.025064113727464976e-01, 6.048717848712632517e+00, 2.086419146240798550e-01}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd5ActNDrhc ( {1.717171287078189390e-01, 1.853305227171077318e-01, 2.502586270065958907e+00, 1.990563298599958286e-01, 5.036450674404544081e+00, 2.083816760775504540e-01}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd5CatNDfhc ( {6.860056229074447398e-02, 1.021995188252620562e-01, 1.466667613491428046e-01, 5.498842494606275277e-01, 2.260114901099927298e+00, 1.411396843018650538e+00, 2.313275230972585472e+00, 3.115156857428397208e-01}  )
const LinearSpline<0> NumuEnergyFunc::kSplineProd5CatNDrhc ( {1.689154853867225192e-03, 5.492279050571418075e-01}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd5HadFDfhc ( {5.767990231564357195e-02, 1.091963220147889491e+00, 4.894474691585748438e-02, 2.031445922414648386e+00, 5.142642860092461188e-01, 1.567915254401344383e+00, 8.200421075858435049e-01, 2.016845013606002102e+00}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd5HadFDp1 ( {1.085140541354344575e-02, 2.003132845468682977e+00, 5.249999999978114396e-01, 1.587909262160043244e+00, 8.547074710510785822e-01, 2.070213642469894921e+00}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd5HadFDp2 ( {3.384568670664851731e-02, 1.916508023623156864e+00, 2.749999891254556461e-01, 2.284913434279694400e+00, 4.495957896158719880e-01, 1.631687421408977157e+00, 7.893618284090087034e-01, 2.015303688339076693e+00}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd5HadFDrhc ( {4.022415096001341617e-02, 2.011711823080491790e+00, 4.199763458287808504e-01, 1.595097006634894843e+00, 7.030242302962290690e-01, 2.148979944911536766e+00, 1.293968553045185210e+00, 1.500071121804977814e+00}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd5HadNDfhc ( {5.049552462442885581e-02, 1.422732975320812443e+00, 6.048754927389610181e-02, 2.709662443207628613e+00, 1.015235485148796579e-01, 2.173545876693023349e+00, 5.064530757547176520e-01, 1.725707450251668051e+00}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd5HadNDrhc ( {4.676766851054844215e-02, 2.206317277398726073e+00, 3.848300672745982309e-01, 1.593035140670105099e+00, 6.819800276504310865e-01, 2.100597007299316310e+00, 1.362679543056420250e+00, 1.417283364717454974e+00}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd5MuonFDfhc ( {1.412869875558434574e-01, 1.985202329476516148e-01, 7.247665189483523562e+00, 2.144069735971011192e-01, 2.218750000031716141e+01, 6.699485408121087782e-02}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd5MuonFDp1 ( {1.333815966663624564e-01, 2.006655289624899308e-01, 8.500671131829244942e+00, 2.154209380453118716e-01, 2.035090204717860729e+01, 6.660211866896596611e+00, 2.037655171956283340e+01, 0.000000000000000000e+00}  )
const LinearSpline<2> NumuEnergyFunc::kSplineProd5MuonFDp2 ( {1.333041428039729304e-01, 2.010374129825994727e-01, 9.015314992888956880e+00, 2.172102602545122607e-01, 1.881250004932426734e+01, 1.939648844865335120e-01}  )
const LinearSpline<3> NumuEnergyFunc::kSplineProd5MuonFDrhc ( {1.245271319206025379e-01, 2.033997627592860902e-01, 9.766311956246607195e+00, 2.180838285862531922e-01, 2.003715340979164949e+01, 1.863267567727432683e-01, 2.256004612234155360e+01, 4.754398422961426951e-02}  )
double NumuEnergyFunc::predict_prod4_fd_had_energy ( double  hadVisE,
int  run,
bool  ismc,
bool  isRHC 
)

Definition at line 33 of file Numu2018Fits.cxx.

References fd_period_1_run_end, fd_period_2_run_end, fd_period_3_run_end, fd_period_4_run_end, and fd_period_5_run_end.

Referenced by fnex::NuMuAnalysisSetup::Analysis2018Energy(), and predict_prod4_nd_had_energy_p().

35  {
36  if (run <= fd_period_1_run_end) {
37  return predict_prod4_fd_had_energy_p<1>(hadVisE, ismc);
38  }
39  else if (run <= fd_period_2_run_end) {
40  return predict_prod4_fd_had_energy_p<2>(hadVisE, ismc);
41  }
42  else if (run <= fd_period_3_run_end) {
43  return predict_prod4_fd_had_energy_p<3>(hadVisE, ismc);
44  }
45  else if (run <= fd_period_4_run_end) {
46  return predict_prod4_fd_had_energy_p<4>(hadVisE, ismc);
47  }
48  else if (run <= fd_period_5_run_end) {
49  return predict_prod4_fd_had_energy_p<5>(hadVisE, ismc);
50  }
51 
52  if (isRHC) {
53  return predict_prod4_fd_had_energy_p<4>(hadVisE, ismc);
54  }
55 
56  return predict_prod4_fd_had_energy_p<5>(hadVisE, ismc);
57  }
const int fd_period_4_run_end
Definition: Numu2017Fits.cxx:7
const int fd_period_2_run_end
Definition: Numu2017Fits.cxx:5
const int fd_period_1_run_end
Definition: Numu2017Fits.cxx:4
const int fd_period_3_run_end
Definition: Numu2017Fits.cxx:6
Definition: run.py:1
const int fd_period_5_run_end
Definition: Numu2017Fits.cxx:8
template<unsigned char period>
double NumuEnergyFunc::predict_prod4_fd_had_energy_p ( double  hadVisE,
bool  ismc 
)

Definition at line 139 of file Numu2018Fits.h.

References correct_prod3_fd_calE_high_gain(), correct_prod3_fd_calE_low_gain(), kSplineProd4HadFDp1(), kSplineProd4HadFDp2(), kSplineProd4HadFDp3(), kSplineProd4HadFDp4(), kSplineProd4HadFDp5(), and DCS_db_parser::period.

140  {
141  static_assert((period >= 1) && (period <= 5),
142  "FD had fits were trained only on periods 1 - 5");
143 
144  if (hadVisE <= 0) {
145  return 0;
146  }
147 
148  if (period == 1) {
149  hadVisE = correct_prod3_fd_calE_low_gain(hadVisE, ismc);
150  return kSplineProd4HadFDp1(hadVisE);
151  }
152  else if (period == 2) {
153  hadVisE = correct_prod3_fd_calE_low_gain(hadVisE, ismc);
154  return kSplineProd4HadFDp2(hadVisE);
155  }
156  else if (period == 3) {
157  hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
158  return kSplineProd4HadFDp3(hadVisE);
159  }
160  else if (period == 4) {
161  hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
162  return kSplineProd4HadFDp4(hadVisE);
163  }
164  else {
165  hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
166  return kSplineProd4HadFDp5(hadVisE);
167  }
168  }
const LinearSpline< 3 > kSplineProd4HadFDp4({4.249458417893325901e-02, 2.193901299460967902e+00, 1.049999999339812778e-01, 1.981193414403220387e+00, 4.492042726487709969e-01, 1.540708309857498071e+00, 6.193806271369780569e-01, 2.032400170863909228e+00})
const LinearSpline< 3 > kSplineProd4HadFDp5({5.513045392968107805e-02, 1.534780212240209885e+00, 8.119825924952998875e-02, 2.102191592086820382e+00, 4.829923244287704365e-01, 1.655956208512852301e+00, 7.849999988138458562e-01, 2.030853659350569718e+00})
const LinearSpline< 1 > kSplineProd4HadFDp1({7.281506207958776677e-02, 5.441509444740477708e-01, 5.995673938377335532e-02, 2.016769249502490702e+00})
const LinearSpline< 2 > kSplineProd4HadFDp3({5.673223776636682203e-02, 1.465342397469045377e+00, 8.044448532774936544e-02, 2.106105448794447277e+00, 4.350000000342279516e-01, 1.829072531499642107e+00})
double correct_prod3_fd_calE_high_gain(double calE, bool ismc)
const LinearSpline< 3 > kSplineProd4HadFDp2({5.877366209096868133e-02, 1.519704739772891111e+00, 7.898381593661769895e-02, 2.169042213902584670e+00, 4.771203681401176011e-01, 1.694250867119319715e+00, 7.539010791835750736e-01, 2.059894991370703199e+00})
double correct_prod3_fd_calE_low_gain(double calE, bool ismc)
double NumuEnergyFunc::predict_prod4_fd_muon_energy ( double  trkLen,
int  run,
bool  ismc,
bool  isRHC 
)

Definition at line 7 of file Numu2018Fits.cxx.

References fd_period_1_run_end, fd_period_2_run_end, fd_period_3_run_end, fd_period_4_run_end, and fd_period_5_run_end.

Referenced by fnex::NuMuAnalysisSetup::Analysis2018Energy(), and predict_prod4_nd_had_energy_p().

9  {
10  if (run <= fd_period_1_run_end) {
11  return predict_prod4_fd_muon_energy_p<1>(trkLen, ismc);
12  }
13  else if (run <= fd_period_2_run_end) {
14  return predict_prod4_fd_muon_energy_p<2>(trkLen, ismc);
15  }
16  else if (run <= fd_period_3_run_end) {
17  return predict_prod4_fd_muon_energy_p<3>(trkLen, ismc);
18  }
19  else if (run <= fd_period_4_run_end) {
20  return predict_prod4_fd_muon_energy_p<4>(trkLen, ismc);
21  }
22  else if (run <= fd_period_5_run_end) {
23  return predict_prod4_fd_muon_energy_p<5>(trkLen, ismc);
24  }
25 
26  if (isRHC) {
27  return predict_prod4_fd_muon_energy_p<4>(trkLen, ismc);
28  }
29 
30  return predict_prod4_fd_muon_energy_p<5>(trkLen, ismc);
31  }
const int fd_period_4_run_end
Definition: Numu2017Fits.cxx:7
const int fd_period_2_run_end
Definition: Numu2017Fits.cxx:5
const int fd_period_1_run_end
Definition: Numu2017Fits.cxx:4
const int fd_period_3_run_end
Definition: Numu2017Fits.cxx:6
Definition: run.py:1
const int fd_period_5_run_end
Definition: Numu2017Fits.cxx:8
template<unsigned char period>
double NumuEnergyFunc::predict_prod4_fd_muon_energy_p ( double  trkLen,
bool  ismc 
)

Definition at line 110 of file Numu2018Fits.h.

References correct_prod3_fd_muon_length(), kSplineProd4MuonFDp1(), kSplineProd4MuonFDp2(), kSplineProd4MuonFDp3(), kSplineProd4MuonFDp4(), kSplineProd4MuonFDp5(), and DCS_db_parser::period.

111  {
112  static_assert((period >= 1) && (period <= 5),
113  "FD muon fits were trained only on periods 1 - 5");
114 
115  if (trkLen <= 0) {
116  return 0;
117  }
118 
119  trkLen = correct_prod3_fd_muon_length(trkLen, ismc);
120 
121  if (period == 1) {
122  return kSplineProd4MuonFDp1(trkLen / 100);
123  }
124  else if (period == 2) {
125  return kSplineProd4MuonFDp2(trkLen / 100);
126  }
127  else if (period == 3) {
128  return kSplineProd4MuonFDp3(trkLen / 100);
129  }
130  else if (period == 4) {
131  return kSplineProd4MuonFDp4(trkLen / 100);
132  }
133  else {
134  return kSplineProd4MuonFDp5(trkLen / 100);
135  }
136  }
double correct_prod3_fd_muon_length(double trkLen, bool ismc)
const LinearSpline< 1 > kSplineProd4MuonFDp3({1.258258375981389232e-01, 2.033924315007327455e-01, 9.466540687161570489e+00, 2.184781804887378220e-01})
const LinearSpline< 1 > kSplineProd4MuonFDp5({1.303357512360951986e-01, 2.024876303943876354e-01, 9.173839619568841641e+00, 2.184865210120549850e-01})
const LinearSpline< 2 > kSplineProd4MuonFDp4({1.463359246892861343e-01, 1.972096058268091312e-01, 4.248366183914889405e+00, 2.072087518392393413e-01, 1.048696659085294414e+01, 2.187994552957214234e-01})
const LinearSpline< 1 > kSplineProd4MuonFDp2({1.257629394848571724e-01, 2.036422681279472513e-01, 9.855445529033460161e+00, 2.195160029549789171e-01})
const LinearSpline< 1 > kSplineProd4MuonFDp1({1.264631942673353215e-01, 2.027211173807817457e-01, 8.774231219753678701e+00, 2.163481314097564778e-01})
double NumuEnergyFunc::predict_prod4_nd_act_energy ( double  ndtrklenact,
bool  isRHC 
)

Definition at line 59 of file Numu2018Fits.cxx.

Referenced by fnex::NuMuAnalysisSetup::Analysis2018Energy(), cmf::CAFToEventList::FillDataVarVals(), and predict_prod4_nd_had_energy_p().

60  {
61  if (isRHC) {
62  return predict_prod4_nd_act_energy_p<4>(ndtrklenact);
63  }
64 
65  return predict_prod4_nd_act_energy_p<3>(ndtrklenact);
66  }
template<unsigned char period>
double NumuEnergyFunc::predict_prod4_nd_act_energy_p ( double  ndtrklenact)

Definition at line 171 of file Numu2018Fits.h.

References kSplineProd4ActNDp3(), kSplineProd4ActNDp4(), and DCS_db_parser::period.

172  {
173  static_assert((period >= 3) && (period <= 4),
174  "ND act fits were trained only on periods 3, 4");
175 
176  if (ndtrklenact <= 0) {
177  return 0;
178  }
179 
180  if (period == 3) {
181  return kSplineProd4ActNDp3(ndtrklenact / 100);
182  }
183  else {
184  return kSplineProd4ActNDp4(ndtrklenact / 100);
185  }
186  }
const LinearSpline< 2 > kSplineProd4ActNDp3({1.514900417035001112e-01, 1.941290659171270860e-01, 3.285152850349305265e+00, 2.027000969328388302e-01, 5.768910882104949955e+00, 2.089391482903513730e-01})
const LinearSpline< 2 > kSplineProd4ActNDp4({1.534847032701298630e-01, 1.939572586752992267e-01, 3.076153165048225446e+00, 2.016367496419133321e-01, 5.139959732881990817e+00, 2.085728450137292189e-01})
double NumuEnergyFunc::predict_prod4_nd_cat_energy ( double  ndtrklencat,
bool  isRHC 
)

Definition at line 68 of file Numu2018Fits.cxx.

Referenced by fnex::NuMuAnalysisSetup::Analysis2018Energy(), cmf::CAFToEventList::FillDataVarVals(), and predict_prod4_nd_had_energy_p().

69  {
70  if (isRHC) {
71  return predict_prod4_nd_cat_energy_p<4>(ndtrklencat);
72  }
73 
74  return predict_prod4_nd_cat_energy_p<3>(ndtrklencat);
75  }
template<unsigned char period>
double NumuEnergyFunc::predict_prod4_nd_cat_energy_p ( double  ndtrklencat)

Definition at line 189 of file Numu2018Fits.h.

References kSplineProd4CatNDp3(), kSplineProd4CatNDp4(), and DCS_db_parser::period.

190  {
191  static_assert((period >= 3) && (period <= 4),
192  "ND cat fits were trained only on periods 3, 4");
193 
194  if (ndtrklencat <= 0) {
195  return 0;
196  }
197 
198  if (period == 3) {
199  return kSplineProd4CatNDp3(ndtrklencat / 100);
200  }
201  else {
202  return kSplineProd4CatNDp4(ndtrklencat / 100);
203  }
204  }
const LinearSpline< 3 > kSplineProd4CatNDp4({6.440384628800144284e-02, 1.663238457993588826e-01, 1.466666666666678887e-01, 5.572409982576314036e-01, 2.270441314113081255e+00, 2.043488369726459641e+00, 2.299237514383191794e+00, 3.673229067047741880e-01})
const LinearSpline< 2 > kSplineProd4CatNDp3({8.720084706388187001e-03, 5.529278858789209439e-01, 2.270042802448197783e+00, 1.711916184621219417e+00, 2.307938644096652947e+00, 3.521795029684806622e-01})
double NumuEnergyFunc::predict_prod4_nd_had_energy ( double  hadVisE,
bool  isRHC 
)

Definition at line 77 of file Numu2018Fits.cxx.

Referenced by fnex::NuMuAnalysisSetup::Analysis2018Energy(), and predict_prod4_nd_had_energy_p().

78  {
79  if (isRHC) {
80  return predict_prod4_nd_had_energy_p<4>(hadVisE);
81  }
82 
83  return predict_prod4_nd_had_energy_p<3>(hadVisE);
84  }
template<unsigned char period>
double NumuEnergyFunc::predict_prod4_nd_had_energy_p ( double  hadVisE)

Definition at line 207 of file Numu2018Fits.h.

References make_mec_shifts_plots::isRHC, kSplineProd4HadNDp3(), kSplineProd4HadNDp4(), DCS_db_parser::period, predict_prod4_fd_had_energy(), predict_prod4_fd_muon_energy(), predict_prod4_nd_act_energy(), predict_prod4_nd_cat_energy(), and predict_prod4_nd_had_energy().

208  {
209  static_assert((period >= 3) && (period <= 4),
210  "ND had fits were trained only on periods 3, 4");
211 
212  if (hadVisE <= 0) {
213  return 0;
214  }
215 
216  if (period == 3) {
217  return kSplineProd4HadNDp3(hadVisE);
218  }
219  else {
220  return kSplineProd4HadNDp4(hadVisE);
221  }
222  }
const LinearSpline< 3 > kSplineProd4HadNDp3({6.390888289071572359e-02, 1.416435376103045707e+00, 4.714208143879788232e-02, 2.144449735801436052e+00, 2.402894748598130015e-01, 2.453526979604870206e+00, 4.581240238035835244e-01, 1.730599464528853160e+00})
const LinearSpline< 1 > kSplineProd4HadNDp4({4.743190085416526536e-02, 2.510494758751641520e+00, 9.795449140279462175e-02, 1.981710272551915564e+00})
double NumuEnergyFunc::predict_prod5_fd_had_energy ( double  hadVisE,
int  run,
bool  ismc,
bool  isRHC 
)

Definition at line 46 of file Numu2020Fits.cxx.

References fd_period_1_run_end, fd_period_1_run_start, fd_period_2_run_end, fd_period_2_run_start, fd_period_3_run_end, fd_period_3_run_start, fd_period_4_run_end, fd_period_4_run_start, fd_period_5_run_end, fd_period_5_run_start, fd_period_6_run_end, fd_period_6_run_start, fd_period_7_run_end, fd_period_7_run_start, fd_period_8_run_end, fd_period_8_run_start, fd_period_9_run_end, and fd_period_9_run_start.

Referenced by numue::NumuEAlg::HadECC(), and predict_prod5_nd_had_energy_p().

47  {
49  {
50  return predict_prod5_fd_had_energy_p<1>(hadVisE, ismc);
51  }
53  {
54  return predict_prod5_fd_had_energy_p<2>(hadVisE, ismc);
55  }
56  if (
59  || (run >= fd_period_9_run_start && run <= fd_period_9_run_end)
60  )
61  {
62  return predict_prod5_fd_had_energy_p<3>(hadVisE, ismc);
63  }
64  if (
66  || (run >= fd_period_6_run_start && run <= fd_period_6_run_end)
67  || (run >= fd_period_7_run_start && run <= fd_period_7_run_end)
68  || (run >= fd_period_8_run_start && run <= fd_period_8_run_end)
69  )
70  {
71  return predict_prod5_fd_had_energy_p<4>(hadVisE, ismc);
72  }
73 
74  if (isRHC)
75  {
76  return predict_prod5_fd_had_energy_p<4>(hadVisE, ismc);
77  }
78  return predict_prod5_fd_had_energy_p<3>(hadVisE, ismc);
79  }
const int fd_period_4_run_end
Definition: Numu2017Fits.cxx:7
static const int fd_period_3_run_start
Definition: Helpers.h:8
static const int fd_period_9_run_end
Definition: Helpers.h:25
static const int fd_period_5_run_start
Definition: Helpers.h:10
const int fd_period_2_run_end
Definition: Numu2017Fits.cxx:5
static const int fd_period_2_run_start
Definition: Helpers.h:7
const int fd_period_1_run_end
Definition: Numu2017Fits.cxx:4
static const int fd_period_6_run_start
Definition: Helpers.h:11
const int fd_period_3_run_end
Definition: Numu2017Fits.cxx:6
static const int fd_period_9_run_start
Definition: Helpers.h:14
static const int fd_period_7_run_start
Definition: Helpers.h:12
static const int fd_period_8_run_end
Definition: Helpers.h:24
Definition: run.py:1
static const int fd_period_4_run_start
Definition: Helpers.h:9
static const int fd_period_8_run_start
Definition: Helpers.h:13
static const int fd_period_6_run_end
Definition: Helpers.h:22
static const int fd_period_7_run_end
Definition: Helpers.h:23
const int fd_period_5_run_end
Definition: Numu2017Fits.cxx:8
static const int fd_period_1_run_start
Definition: Helpers.h:6
template<unsigned char period>
double NumuEnergyFunc::predict_prod5_fd_had_energy_p ( double  hadVisE,
bool  ismc 
)

Definition at line 156 of file Numu2020Fits.h.

References kSplineProd5HadFDfhc(), kSplineProd5HadFDp1(), kSplineProd5HadFDp2(), kSplineProd5HadFDrhc(), and DCS_db_parser::period.

157  {
158  static_assert((period >= 1) && (period <= 9), "FD had fits were trained on periods 1 - 9");
159 
160  if (hadVisE <= 0)
161  {
162  return 0;
163  }
164 
165  if (period == 1)
166  {
167  //the calbiration is fine in prod5, the correction need not to be applied
168  //hadVisE = correct_prod3_fd_calE_low_gain(hadVisE, ismc);
169  return kSplineProd5HadFDp1(hadVisE);
170  }
171  else if (period == 2)
172  {
173  //the calbiration is fine in prod5, the correction need not to be applied
174  //hadVisE = correct_prod3_fd_calE_low_gain(hadVisE, ismc);
175  return kSplineProd5HadFDp2(hadVisE);
176  }
177  else if (period == 3 || period == 5 || period == 9 || period == 10)
178  {
179  //the calbiration is fine in prod5, the correction need not to be applied
180  //hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
181  return kSplineProd5HadFDfhc(hadVisE);
182  }
183  else if (period == 4 || period == 6 || period == 7 || period == 8)
184  {
185  //the calbiration is fine in prod5, the correction need not to be applied
186  //hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
187  return kSplineProd5HadFDrhc(hadVisE);
188  }
189  else
190  {
191  //the calbiration is fine in prod5, the correction need not to be applied
192  //hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
193  return kSplineProd5HadFDfhc(hadVisE); // to be fixed
194  }
195  }
const LinearSpline< 3 > kSplineProd5HadFDrhc({4.022415096001341617e-02, 2.011711823080491790e+00, 4.199763458287808504e-01, 1.595097006634894843e+00, 7.030242302962290690e-01, 2.148979944911536766e+00, 1.293968553045185210e+00, 1.500071121804977814e+00})
const LinearSpline< 3 > kSplineProd5HadFDp2({3.384568670664851731e-02, 1.916508023623156864e+00, 2.749999891254556461e-01, 2.284913434279694400e+00, 4.495957896158719880e-01, 1.631687421408977157e+00, 7.893618284090087034e-01, 2.015303688339076693e+00})
const LinearSpline< 3 > kSplineProd5HadFDfhc({5.767990231564357195e-02, 1.091963220147889491e+00, 4.894474691585748438e-02, 2.031445922414648386e+00, 5.142642860092461188e-01, 1.567915254401344383e+00, 8.200421075858435049e-01, 2.016845013606002102e+00})
const LinearSpline< 2 > kSplineProd5HadFDp1({1.085140541354344575e-02, 2.003132845468682977e+00, 5.249999999978114396e-01, 1.587909262160043244e+00, 8.547074710510785822e-01, 2.070213642469894921e+00})
double NumuEnergyFunc::predict_prod5_fd_muon_energy ( double  trkLen,
int  run,
bool  ismc,
bool  isRHC 
)

Definition at line 7 of file Numu2020Fits.cxx.

References fd_period_1_run_end, fd_period_1_run_start, fd_period_2_run_end, fd_period_2_run_start, fd_period_3_run_end, fd_period_3_run_start, fd_period_4_run_end, fd_period_4_run_start, fd_period_5_run_end, fd_period_5_run_start, fd_period_6_run_end, fd_period_6_run_start, fd_period_7_run_end, fd_period_7_run_start, fd_period_8_run_end, fd_period_8_run_start, fd_period_9_run_end, and fd_period_9_run_start.

Referenced by numue::NumuEAlg::FDMuonEFromTrackLength(), and predict_prod5_nd_had_energy_p().

8  {
10  {
11  return predict_prod5_fd_muon_energy_p<1>(trkLen, ismc);
12  }
13 
15  {
16  return predict_prod5_fd_muon_energy_p<2>(trkLen, ismc);
17  }
18 
19  if (
22  || (run >= fd_period_9_run_start && run <= fd_period_9_run_end)
23  )
24  {
25  return predict_prod5_fd_muon_energy_p<3>(trkLen, ismc);
26  }
27 
28  if (
30  || (run >= fd_period_6_run_start && run <= fd_period_6_run_end)
31  || (run >= fd_period_7_run_start && run <= fd_period_7_run_end)
32  || (run >= fd_period_8_run_start && run <= fd_period_8_run_end)
33  )
34  {
35  return predict_prod5_fd_muon_energy_p<4>(trkLen, ismc);
36  }
37 
38  if (isRHC)
39  {
40  return predict_prod5_fd_muon_energy_p<4>(trkLen, ismc);
41  }
42 
43  return predict_prod5_fd_muon_energy_p<3>(trkLen, ismc);
44  }
const int fd_period_4_run_end
Definition: Numu2017Fits.cxx:7
static const int fd_period_3_run_start
Definition: Helpers.h:8
static const int fd_period_9_run_end
Definition: Helpers.h:25
static const int fd_period_5_run_start
Definition: Helpers.h:10
const int fd_period_2_run_end
Definition: Numu2017Fits.cxx:5
static const int fd_period_2_run_start
Definition: Helpers.h:7
const int fd_period_1_run_end
Definition: Numu2017Fits.cxx:4
static const int fd_period_6_run_start
Definition: Helpers.h:11
const int fd_period_3_run_end
Definition: Numu2017Fits.cxx:6
static const int fd_period_9_run_start
Definition: Helpers.h:14
static const int fd_period_7_run_start
Definition: Helpers.h:12
static const int fd_period_8_run_end
Definition: Helpers.h:24
Definition: run.py:1
static const int fd_period_4_run_start
Definition: Helpers.h:9
static const int fd_period_8_run_start
Definition: Helpers.h:13
static const int fd_period_6_run_end
Definition: Helpers.h:22
static const int fd_period_7_run_end
Definition: Helpers.h:23
const int fd_period_5_run_end
Definition: Numu2017Fits.cxx:8
static const int fd_period_1_run_start
Definition: Helpers.h:6
template<unsigned char period>
double NumuEnergyFunc::predict_prod5_fd_muon_energy_p ( double  trkLen,
bool  ismc 
)

Definition at line 121 of file Numu2020Fits.h.

References correct_prod3_fd_muon_length(), kSplineProd5MuonFDfhc(), kSplineProd5MuonFDp1(), kSplineProd5MuonFDp2(), kSplineProd5MuonFDrhc(), and DCS_db_parser::period.

122  {
123  static_assert((period >= 1) && (period <= 9),"FD muon fits were trained on periods 1 - 9");
124 
125  if (trkLen <= 0)
126  {
127  return 0;
128  }
129 
130  //muon length correction to predate air bubbles.
131  //see Section 2.1 of doc-20186: https://nova-docdb.fnal.gov/cgi-bin/private/ShowDocument?docid=20816
132  trkLen = correct_prod3_fd_muon_length(trkLen, ismc);
133 
134  if (period == 1)
135  {
136  return kSplineProd5MuonFDp1(trkLen / 100);
137  }
138  else if (period == 2)
139  {
140  return kSplineProd5MuonFDp2(trkLen / 100);
141  }
142  else if (period == 3 || period == 5 || period == 9 || period == 10)
143  {
144  return kSplineProd5MuonFDfhc(trkLen / 100);
145  }
146  else if (period == 4 || period == 6 || period == 7 || period == 8)
147  {
148  return kSplineProd5MuonFDrhc(trkLen / 100);
149  }
150  else
151  {
152  return kSplineProd5MuonFDfhc(trkLen / 100); // to be fixed
153  }
154  }
double correct_prod3_fd_muon_length(double trkLen, bool ismc)
const LinearSpline< 2 > kSplineProd5MuonFDfhc({1.412869875558434574e-01, 1.985202329476516148e-01, 7.247665189483523562e+00, 2.144069735971011192e-01, 2.218750000031716141e+01, 6.699485408121087782e-02})
const LinearSpline< 3 > kSplineProd5MuonFDp1({1.333815966663624564e-01, 2.006655289624899308e-01, 8.500671131829244942e+00, 2.154209380453118716e-01, 2.035090204717860729e+01, 6.660211866896596611e+00, 2.037655171956283340e+01, 0.000000000000000000e+00})
const LinearSpline< 3 > kSplineProd5MuonFDrhc({1.245271319206025379e-01, 2.033997627592860902e-01, 9.766311956246607195e+00, 2.180838285862531922e-01, 2.003715340979164949e+01, 1.863267567727432683e-01, 2.256004612234155360e+01, 4.754398422961426951e-02})
const LinearSpline< 2 > kSplineProd5MuonFDp2({1.333041428039729304e-01, 2.010374129825994727e-01, 9.015314992888956880e+00, 2.172102602545122607e-01, 1.881250004932426734e+01, 1.939648844865335120e-01})
double NumuEnergyFunc::predict_prod5_nd_act_energy ( double  ndtrklenact,
bool  isRHC 
)

Definition at line 81 of file Numu2020Fits.cxx.

Referenced by numue::NumuEAlg::NDMuonEInActiveAndCatcher(), numue::NumuEAlg::NDMuonEInActiveOnly(), and predict_prod5_nd_had_energy_p().

82  {
83  if (isRHC)
84  {
85  return predict_prod5_nd_act_energy_p<4>(ndtrklenact);
86  }
87  else
88  {
89  return predict_prod5_nd_act_energy_p<3>(ndtrklenact);
90  }
91  }
template<unsigned char period>
double NumuEnergyFunc::predict_prod5_nd_act_energy_p ( double  ndtrklenact)

Definition at line 197 of file Numu2020Fits.h.

References kSplineProd5ActNDfhc(), kSplineProd5ActNDrhc(), and DCS_db_parser::period.

198  {
199  static_assert((period >= 1) && (period <= 9),"ND act fits were trained on periods 1 - 9");
200 
201  if (ndtrklenact <= 0)
202  {
203  return 0;
204  }
205 
206  if (period == 1 || period == 2 || period == 3 || period == 5 || period == 9 )
207  {
208  return kSplineProd5ActNDfhc(ndtrklenact / 100);
209  }
210  else if (period == 4 || period == 6 || period == 7 || period == 8)
211  {
212  return kSplineProd5ActNDrhc(ndtrklenact / 100);
213  }
214  else
215  {
216  return kSplineProd5ActNDfhc(ndtrklenact / 100);
217  }
218  }
const LinearSpline< 2 > kSplineProd5ActNDfhc({1.522067501417963542e-01, 1.935351432875078992e-01, 3.534675721653096403e+00, 2.025064113727464976e-01, 6.048717848712632517e+00, 2.086419146240798550e-01})
const LinearSpline< 2 > kSplineProd5ActNDrhc({1.717171287078189390e-01, 1.853305227171077318e-01, 2.502586270065958907e+00, 1.990563298599958286e-01, 5.036450674404544081e+00, 2.083816760775504540e-01})
double NumuEnergyFunc::predict_prod5_nd_cat_energy ( double  ndtrklencat,
bool  isRHC 
)

Definition at line 93 of file Numu2020Fits.cxx.

Referenced by numue::NumuEAlg::NDMuonCatcherEForActiveAndCatcher(), numue::NumuEAlg::NDMuonEInActiveAndCatcher(), and predict_prod5_nd_had_energy_p().

94  {
95  if (isRHC)
96  {
97  return predict_prod5_nd_cat_energy_p<4>(ndtrklencat);
98  }
99  else
100  {
101  return predict_prod5_nd_cat_energy_p<3>(ndtrklencat);
102  }
103  }
template<unsigned char period>
double NumuEnergyFunc::predict_prod5_nd_cat_energy_p ( double  ndtrklencat)

Definition at line 220 of file Numu2020Fits.h.

References kSplineProd5CatNDfhc(), kSplineProd5CatNDrhc(), and DCS_db_parser::period.

221  {
222  static_assert((period >= 1) && (period <= 9),"ND cat fits were trained on periods 1 - 9");
223 
224  if (ndtrklencat <= 0)
225  {
226  return 0;
227  }
228 
229  if (period == 1 || period == 2 || period == 3 || period == 5 || period == 9 )
230  {
231  return kSplineProd5CatNDfhc(ndtrklencat / 100);
232  }
233  else if (period == 4 || period == 6 || period == 7 || period == 8)
234  {
235  return kSplineProd5CatNDrhc(ndtrklencat / 100);
236  }
237  else
238  {
239  return kSplineProd5CatNDfhc(ndtrklencat / 100);
240  }
241  }
const LinearSpline< 0 > kSplineProd5CatNDrhc({1.689154853867225192e-03, 5.492279050571418075e-01})
const LinearSpline< 3 > kSplineProd5CatNDfhc({6.860056229074447398e-02, 1.021995188252620562e-01, 1.466667613491428046e-01, 5.498842494606275277e-01, 2.260114901099927298e+00, 1.411396843018650538e+00, 2.313275230972585472e+00, 3.115156857428397208e-01})
double NumuEnergyFunc::predict_prod5_nd_had_energy ( double  hadVisE,
bool  isRHC 
)

Definition at line 105 of file Numu2020Fits.cxx.

Referenced by numue::NumuEAlg::NDHadECC(), and predict_prod5_nd_had_energy_p().

106  {
107  if (isRHC)
108  {
109  return predict_prod5_nd_had_energy_p<4>(hadVisE);
110  }
111  else
112  {
113  return predict_prod5_nd_had_energy_p<3>(hadVisE);
114  }
115  }
template<unsigned char period>
double NumuEnergyFunc::predict_prod5_nd_had_energy_p ( double  hadVisE)

Definition at line 243 of file Numu2020Fits.h.

References make_mec_shifts_plots::isRHC, kSplineProd5HadNDfhc(), kSplineProd5HadNDrhc(), DCS_db_parser::period, predict_prod5_fd_had_energy(), predict_prod5_fd_muon_energy(), predict_prod5_nd_act_energy(), predict_prod5_nd_cat_energy(), and predict_prod5_nd_had_energy().

244  {
245  static_assert((period >= 1) && (period <= 9),"ND had fits were trained on periods 1 - 9");
246 
247  if (hadVisE <= 0)
248  {
249  return 0;
250  }
251 
252  if (period == 1 || period == 2 || period == 3 || period == 5 || period == 9 )
253  {
254  return kSplineProd5HadNDfhc(hadVisE);
255  }
256  else if (period == 4 || period == 6 || period == 7 || period == 8)
257  {
258  return kSplineProd5HadNDrhc(hadVisE);
259  }
260  else
261  {
262  return kSplineProd5HadNDfhc(hadVisE);
263  }
264  }
const LinearSpline< 3 > kSplineProd5HadNDrhc({4.676766851054844215e-02, 2.206317277398726073e+00, 3.848300672745982309e-01, 1.593035140670105099e+00, 6.819800276504310865e-01, 2.100597007299316310e+00, 1.362679543056420250e+00, 1.417283364717454974e+00})
const LinearSpline< 3 > kSplineProd5HadNDfhc({5.049552462442885581e-02, 1.422732975320812443e+00, 6.048754927389610181e-02, 2.709662443207628613e+00, 1.015235485148796579e-01, 2.173545876693023349e+00, 5.064530757547176520e-01, 1.725707450251668051e+00})

Variable Documentation

const int NumuEnergyFunc::fd_period_10_run_start = 34574
static

Definition at line 15 of file Helpers.h.

const int NumuEnergyFunc::fd_period_1_run_end = 17139
static
const int NumuEnergyFunc::fd_period_1_run_start = 12942
static

Definition at line 6 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_2_run_end = 20752
static
const int NumuEnergyFunc::fd_period_2_run_start = 17891
static

Definition at line 7 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_3_run_end = 23419
static
const int NumuEnergyFunc::fd_period_3_run_start = 20753
static

Definition at line 8 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_4_run_end = 24613
static
const int NumuEnergyFunc::fd_period_4_run_start = 23420
static

Definition at line 9 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_5_run_end = 25412
static
const int NumuEnergyFunc::fd_period_5_run_start = 24614
static

Definition at line 10 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_6_run_end = 26685
static

Definition at line 22 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_6_run_start = 25413
static

Definition at line 11 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_7_run_end = 31167
static

Definition at line 23 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_7_run_start = 28037
static

Definition at line 12 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_8_run_end = 32397
static

Definition at line 24 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_8_run_start = 31168
static

Definition at line 13 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_9_run_end = 34573
static

Definition at line 25 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::fd_period_9_run_start = 32398
static

Definition at line 14 of file Helpers.h.

Referenced by predict_prod5_fd_had_energy(), and predict_prod5_fd_muon_energy().

const int NumuEnergyFunc::nd_period_10_run_start = 13428
static

Definition at line 37 of file Helpers.h.

const int NumuEnergyFunc::nd_period_1_run_end = 10407
static

Definition at line 39 of file Helpers.h.

const int NumuEnergyFunc::nd_period_1_run_start = 10377
static

Definition at line 28 of file Helpers.h.

const int NumuEnergyFunc::nd_period_2_run_end = 11228
static

Definition at line 40 of file Helpers.h.

const int NumuEnergyFunc::nd_period_2_run_start = 10496
static

Definition at line 29 of file Helpers.h.

const int NumuEnergyFunc::nd_period_3_run_end = 11628
static

Definition at line 41 of file Helpers.h.

const int NumuEnergyFunc::nd_period_3_run_start = 11229
static

Definition at line 30 of file Helpers.h.

const int NumuEnergyFunc::nd_period_4_run_end = 11925
static

Definition at line 42 of file Helpers.h.

const int NumuEnergyFunc::nd_period_4_run_start = 11632
static

Definition at line 31 of file Helpers.h.

const int NumuEnergyFunc::nd_period_5_run_end = 12086
static

Definition at line 43 of file Helpers.h.

const int NumuEnergyFunc::nd_period_5_run_start = 11926
static

Definition at line 32 of file Helpers.h.

const int NumuEnergyFunc::nd_period_6_run_end = 12289
static

Definition at line 44 of file Helpers.h.

const int NumuEnergyFunc::nd_period_6_run_start = 12087
static

Definition at line 33 of file Helpers.h.

const int NumuEnergyFunc::nd_period_7_run_end = 12955
static

Definition at line 45 of file Helpers.h.

const int NumuEnergyFunc::nd_period_7_run_start = 12517
static

Definition at line 34 of file Helpers.h.

const int NumuEnergyFunc::nd_period_8_run_end = 13131
static

Definition at line 46 of file Helpers.h.

const int NumuEnergyFunc::nd_period_8_run_start = 12956
static

Definition at line 35 of file Helpers.h.

const int NumuEnergyFunc::nd_period_9_run_end = 13427
static

Definition at line 47 of file Helpers.h.

const int NumuEnergyFunc::nd_period_9_run_start = 13132
static

Definition at line 36 of file Helpers.h.

decltype(predict_prod4_fd_muon_energy) typedef NumuEnergyFunc::prod4_fd_energy_func_t

Definition at line 239 of file Numu2018Fits.h.

decltype(predict_prod4_fd_muon_energy_p<3>) typedef NumuEnergyFunc::prod4_fd_energy_p_func_t

Definition at line 236 of file Numu2018Fits.h.

decltype(predict_prod4_nd_act_energy) typedef NumuEnergyFunc::prod4_nd_energy_func_t

Definition at line 240 of file Numu2018Fits.h.

decltype(predict_prod4_nd_act_energy_p<3>) typedef NumuEnergyFunc::prod4_nd_energy_p_func_t

Definition at line 237 of file Numu2018Fits.h.

decltype(predict_prod5_fd_muon_energy) typedef NumuEnergyFunc::prod5_fd_energy_func_t

Definition at line 275 of file Numu2020Fits.h.

decltype(predict_prod5_fd_muon_energy_p<3>) typedef NumuEnergyFunc::prod5_fd_energy_p_func_t

Definition at line 272 of file Numu2020Fits.h.

decltype(predict_prod5_nd_act_energy) typedef NumuEnergyFunc::prod5_nd_energy_func_t

Definition at line 276 of file Numu2020Fits.h.

decltype(predict_prod5_nd_act_energy_p<3>) typedef NumuEnergyFunc::prod5_nd_energy_p_func_t

Definition at line 273 of file Numu2020Fits.h.