12 return {
"MaCCQE",
"VecFFCCQEshape",
13 "MaNCEL",
"EtaNCEL",
"MaCCRES",
"MvCCRES",
14 "MaNCRES",
"MvNCRES",
"RDecBR1gamma",
"RDecBR1eta",
15 "Theta_Delta2Npi",
"AhtBY",
"BhtBY",
"CV1uBY",
16 "CV2uBY",
"FormZone",
"MFP_pi",
"FrCEx_pi",
17 "FrElas_pi",
"FrInel_pi",
"FrAbs_pi",
"FrPiProd_pi",
18 "MFP_N",
"FrCEx_N",
"FrElas_N",
"FrInel_N",
19 "FrAbs_N",
"FrPiProd_N",
"CCQEPauliSupViaKF",
"Mnv2p2hGaussEnhancement",
20 "MKSPP_ReWeight",
"E2p2h_A_nu",
"E2p2h_B_nu",
"E2p2h_A_nubar",
21 "E2p2h_B_nubar",
"NR_nu_n_CC_2Pi",
"NR_nu_n_CC_3Pi",
"NR_nu_p_CC_2Pi",
22 "NR_nu_p_CC_3Pi",
"NR_nu_np_CC_1Pi",
"NR_nu_n_NC_1Pi",
"NR_nu_n_NC_2Pi",
23 "NR_nu_n_NC_3Pi",
"NR_nu_p_NC_1Pi",
"NR_nu_p_NC_2Pi",
"NR_nu_p_NC_3Pi",
24 "NR_nubar_n_CC_1Pi",
"NR_nubar_n_CC_2Pi",
"NR_nubar_n_CC_3Pi",
"NR_nubar_p_CC_1Pi",
25 "NR_nubar_p_CC_2Pi",
"NR_nubar_p_CC_3Pi",
"NR_nubar_n_NC_1Pi",
"NR_nubar_n_NC_2Pi",
26 "NR_nubar_n_NC_3Pi",
"NR_nubar_p_NC_1Pi",
"NR_nubar_p_NC_2Pi",
"NR_nubar_p_NC_3Pi",
27 "BeRPA_A",
"BeRPA_B",
"BeRPA_D",
"BeRPA_E",
28 "C12ToAr40_2p2hScaling_nu",
"C12ToAr40_2p2hScaling_nubar",
29 "nuenuebar_xsec_ratio",
"nuenumu_xsec_ratio",
"SPPLowQ2Suppression"
35 static std::map<std::string,std::pair<double,double>> genieMap = {
44 {
"RDecBR1gamma",{-3,3}},
45 {
"RDecBR1eta",{-3,3}},
56 {
"NR_nu_n_CC_2Pi",{-2,3}},
57 {
"NR_nu_n_CC_3Pi",{-2,3}},
58 {
"NR_nu_p_CC_2Pi",{-2,3}},
59 {
"NR_nu_p_CC_3Pi",{-2,3}},
60 {
"NR_nu_np_CC_1Pi",{-2,3}},
61 {
"NR_nu_n_NC_1Pi",{-2,3}},
62 {
"NR_nu_n_NC_2Pi",{-2,3}},
63 {
"NR_nu_n_NC_3Pi",{-2,3}},
64 {
"NR_nu_p_NC_1Pi",{-2,3}},
65 {
"NR_nu_p_NC_2Pi",{-2,3}},
66 {
"NR_nu_p_NC_3Pi",{-2,3}},
67 {
"NR_nubar_n_CC_1Pi",{-2,3}},
68 {
"NR_nubar_n_CC_2Pi",{-2,3}},
69 {
"NR_nubar_n_CC_3Pi",{-2,3}},
70 {
"NR_nubar_p_CC_1Pi",{-2,3}},
71 {
"NR_nubar_p_CC_2Pi",{-2,3}},
72 {
"NR_nubar_p_CC_3Pi",{-2,3}},
73 {
"NR_nubar_n_NC_1Pi",{-2,3}},
74 {
"NR_nubar_n_NC_2Pi",{-2,3}},
75 {
"NR_nubar_n_NC_3Pi",{-2,3}},
76 {
"NR_nubar_p_NC_1Pi",{-2,3}},
77 {
"NR_nubar_p_NC_2Pi",{-2,3}},
78 {
"NR_nubar_p_NC_3Pi",{-2,3}},
87 {
"FrPiProd_pi",{-2,2}},
93 {
"FrPiProd_N",{-2,2}},
96 {
"VecFFCCQEshape",{-1,1}},
97 {
"Theta_Delta2Npi",{-1,1}},
98 {
"CCQEPauliSupViaKF",{-1,1}},
99 {
"Mnv2p2hGaussEnhancement",{-1,1}},
100 {
"MKSPP_ReWeight",{-1,1}},
101 {
"E2p2h_A_nu",{-1,1}},
102 {
"E2p2h_B_nu",{-1,1}},
103 {
"E2p2h_A_nubar",{-1,1}},
104 {
"E2p2h_B_nubar",{-1,1}},
105 {
"C12ToAr40_2p2hScaling_nu",{-1,1}},
106 {
"C12ToAr40_2p2hScaling_nubar",{-1,1}},
107 {
"nuenuebar_xsec_ratio",{-1,1}},
108 {
"nuenumu_xsec_ratio",{-1,1}},
109 {
"SPPLowQ2Suppression",{-1,1}}
112 if (genieMap.find(name) == genieMap.end()){
113 std::cout <<
"Warning, no known systematic called " << name <<
" returning nominal" << std::endl;
116 return genieMap[
name];
125 auto it = std::find(names.begin(), names.end(),
name);
127 if(it == names.end()){
129 std::cerr <<
"Warning: couldn't find " << name
130 <<
" in list of genie systs" << std::endl;
135 return it-names.begin();
int GetGenieIndex(const std::string &name, bool quiet)
std::vector< std::string > GetGenieWeightNames()
BEGIN_PROLOG could also be cerr
std::string GetGenieWeightName(int index)
double GetGenieMax(int index)
process_name opflashCryoW ana
double GetGenieMin(int index)
static const std::vector< std::string > names
std::pair< double, double > GetGenieDialLimits(const std::string &name)
BEGIN_PROLOG could also be cout