26 prefix+
"_fluxswap_"+suffix,
27 prefix+
"_tau_"+suffix);
46 nddata =
"prod_sumdecaf_R17-03-01-prod3reco." + rel +
"_nd_numi_" + flxtype +
"_" +
47 WhichNDPeriod +
"_v1_goodruns_" + caftype;
49 nddata =
"prod_decaf_R17-03-01-prod3reco." + rel +
"_nd_numi_"+ flxtype +
"_" +
50 WhichNDPeriod +
"_" + caftype +
"_v1_goodruns";
52 nddata =
"prod_caf_R17-03-01-prod3reco." + rel +
"_nd_numi_" + flxtype +
"_" +
53 WhichNDPeriod +
"_v1_goodruns";
70 flxtype +
"_nova_v08_" + WhichPeriod +
"_v1_" + caftype);
71 SetLoaderNDMCPath (
"prod_sumdecaf_R17-03-01-prod3reco." + ndrel +
"_nd_genie_nonswap_" +
72 flxtype +
"_nova_v08_" + WhichNDPeriod +
"_v1_" + caftype);
76 std::cerr <<
"\nWARNING: Don't use decaf loaders if you need the nue FD peripheral bin" 79 flxtype +
"_nova_v08_" + WhichPeriod +
"_" + caftype +
"_v1");
80 SetLoaderNDMCPath (
"prod_decaf_R17-03-01-prod3reco." + ndrel +
"_nd_genie_nonswap_" +
81 flxtype +
"_nova_v08_" + WhichNDPeriod +
"_" + caftype +
"_v1");
86 flxtype +
"_nova_v08_" + WhichPeriod +
"_v1");
88 SetLoaderNDMCPath (
"prod_caf_R17-03-01-prod3reco." + ndrel +
"_nd_genie_nonswap_" +
89 flxtype +
"_nova_v08_" + WhichNDPeriod +
"_v1");
102 const std::string posneg = (sign > 0) ?
"pos" :
"neg";
106 "fhc_nova_v08_" + WhichPeriod +
"_calib-shift-fd-xyview-" +
107 posneg +
"-offset_v1_" + caftype);
108 SetLoaderNDMCPath (
"prod_sumdecaf_R17-03-01-prod3reco.h_nd_genie_nonswap_fhc_nova_v08_" +
109 WhichNDPeriod +
"_calib-shift-nd-xyview-" +
110 posneg +
"-offset_v1_" + caftype);
114 std::cerr <<
"\nWARNING: Don't use decaf loaders if you need the nue FD peripheral bin\n" 117 "fhc_nova_v08_" + WhichPeriod +
"_calib-shift-fd-xyview-" +
118 posneg +
"-offset_" + caftype +
"_v1");
119 SetLoaderNDMCPath (
"prod_decaf_R17-03-01-prod3reco.h_nd_genie_nonswap_fhc_nova_v08_" +
120 WhichNDPeriod +
"_calib-shift-nd-xyview-" +
121 posneg +
"-offset_" + caftype +
"_v1");
126 "fhc_nova_v08_" + WhichPeriod +
"_calib-shift-fd-xyview-" +
127 posneg +
"-offset_v1");
128 SetLoaderNDMCPath (
"prod_caf_R17-03-01-prod3reco.h_nd_genie_nonswap_fhc_nova_v08_" +
129 WhichNDPeriod +
"_calib-shift-nd-xyview-" + posneg +
"-offset_v1");
144 if(sign == 1) updown =
"lightup-calibdown";
145 else if (sign == -1) updown =
"lightdown-calibup";
146 else if (sign == 0) updown =
"noshift";
150 "fhc_nova_v08_" + WhichPeriod +
"_lightmodel-" +
151 updown +
"_v2_" + caftype);
152 SetLoaderNDMCPath (
"prod_sumdecaf_R17-03-01-prod3reco.l_nd_genie_nonswap_fhc_nova_v08_" +
153 WhichNDPeriod +
"_lightmodel-" + updown +
"_v1_" + caftype);
157 std::cerr <<
"\nWARNING: Don't use decaf loaders if you need the nue FD peripheral bin\n" 160 "fhc_nova_v08_" + WhichPeriod +
"_lightmodel-" +
161 updown +
"_" + caftype +
"_v2");
162 SetLoaderNDMCPath (
"prod_decaf_R17-03-01-prod3reco.l_nd_genie_nonswap_fhc_nova_v08_" +
163 WhichNDPeriod +
"_lightmodel-" + updown +
"_" + caftype +
"_v1");
168 "fhc_nova_v08_" + WhichPeriod +
"_lightmodel-" + updown +
"_v2");
169 SetLoaderNDMCPath (
"prod_caf_R17-03-01-prod3reco.l_nd_genie_nonswap_fhc_nova_v08_" +
170 WhichNDPeriod +
"_lightmodel-" + updown +
"_v1");
183 "fhc_nova_v08_" + WhichPeriod +
184 "_ckv-proton-shift-down_v2_" + caftype);
185 SetLoaderNDMCPath (
"prod_sumdecaf_R17-03-01-prod3reco.l_nd_genie_nonswap_fhc_nova_v08_" +
186 WhichNDPeriod +
"_ckv-proton-shift-down_v1_" + caftype);
190 std::cerr <<
"\nWARNING: Don't use decaf loaders if you need the nue FD peripheral bin\n" 193 "fhc_nova_v08_" + WhichPeriod +
194 "_ckv-proton-shift-down_" + caftype +
"_v2");
195 SetLoaderNDMCPath (
"prod_decaf_R17-03-01-prod3reco.l_nd_genie_nonswap_fhc_nova_v08_" +
196 WhichNDPeriod +
"_ckv-proton-shift-down_" + caftype +
"_v1");
201 "fhc_nova_v08_" + WhichPeriod +
"_ckv-proton-shift-down_v2");
202 SetLoaderNDMCPath (
"prod_caf_R17-03-01-prod3reco.l_nd_genie_nonswap_fhc_nova_v08_" +
203 WhichNDPeriod +
"_ckv-proton-shift-down_v1");
216 "fhc_nova_v08_" + WhichPeriod +
"_calib-shift-fd-func_v1_" + caftype);
217 SetLoaderNDMCPath (
"prod_sumdecaf_R17-03-01-prod3reco.j_nd_genie_nonswap_fhc_nova_v08_" +
218 WhichNDPeriod +
"_calib-shift-nd-func_v1_" + caftype);
222 std::cerr <<
"\nWARNING: Don't use decaf loaders if you need the nue FD peripheral bin\n" 225 "fhc_nova_v08_" + WhichPeriod +
226 "_calib-shift-fd-func_" + caftype +
"_v1");
227 SetLoaderNDMCPath (
"prod_decaf_R17-03-01-prod3reco.j_nd_genie_nonswap_fhc_nova_v08_" +
228 WhichNDPeriod +
"_calib-shift-nd-func_" + caftype +
"_v1");
233 "fhc_nova_v08_" + WhichPeriod +
"_calib-shift-fd-func_v1");
234 SetLoaderNDMCPath (
"prod_caf_R17-03-01-prod3reco.j_nd_genie_nonswap_fhc_nova_v08_" +
235 WhichNDPeriod +
"_calib-shift-nd-func_v1");
241 const std::map<ECAFType, std::string> mapStringECAFType {
249 auto it = mapStringECAFType.find(type);
250 if(
it == mapStringECAFType.end()) {
Near Detector underground.
Far Detector at Ash River.
Cuts and Vars for the 2020 FD DiF Study.
void SetLoaderNDMCPath(const std::string &ndmc)
Prod3NomLoaders(ECAFType type, std::string WhichPeriod="full", std::string WhichNDPeriod="full", FluxType flux=kFHC)
Prod3CalibShapeLoaders(ECAFType type, std::string WhichPeriod="full", std::string WhichNDPeriod="full")
Prod3CherenkovLoaders(ECAFType type, std::string WhichPeriod="full", std::string WhichNDPeriod="full")
const std::string ECAFTypeToString(ECAFType type)
Prod3AbsCalibLoaders(ECAFType type, int sign, std::string WhichPeriod="full", std::string WhichNDPeriod="full")
sign should be +1 (scale energies up) or -1 (scale energies down)
void SetLoaderPaths(const std::string &fdmc_nonswap, const std::string &fdmc_fluxswap, const std::string &fdmc_tauswap="", const std::string &ndmc="", const std::string &nddata="")
Provide the data loaders only, base class for other loaders.
assert(nhit_max >=nhit_nbins)
void SetLoaderFDMCPaths(const std::string &prefix, const std::string &suffix)
void SetLoaderPath(const std::string &path, caf::Det_t det, DataMC datamc, DataSource src=kBeam, SwappingConfig swap=kNonSwap)
Configure loader via wildcard path.
Prod3DataLoaders(ECAFType type, std::string WhichPeriod="full", std::string WhichNDPeriod="full", FluxType flux=kFHC)
Prod3LightLevelLoaders(ECAFType type, int sign, std::string WhichPeriod="full", std::string WhichNDPeriod="full")
+1sigma is light levels up, calibration down. 0 is No shift photon rewriter