5 #include "CAFAna/Cuts/NueCutsSecondAna.h" 35 #include "CAFAna/Core/HistAxis.h" 57 const HistAxis kNue2020CoreAxis(
"NuE Energy / Analysis Bin",
58 kNue2020CoreBinning,kNue2020CoreAnaBin);
61 const HistAxis kNueAxis = kNue2020CoreAxis;
67 std::vector<const ISyst*>
systs;
68 for(
int i = 0;
i < N_PC;
i++)
71 std::vector<Var> kPPFXFluxUnivWgt;
78 loader_fd_fhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.f_fd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_v1_numu2020",
80 loader_fd_fhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.f_fd_genie_N1810j0211a_fluxswap_fhc_nova_v08_full_v1_numu2020",
82 loader_fd_fhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.d.f.h.l_nd_numi_fhc_full_v1_goodruns_numu2020",
84 loader_fd_fhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.d.h.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_v1_numu2020",
87 loader_fd_rhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.f_fd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_v1_numu2020",
89 loader_fd_rhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.f_fd_genie_N1810j0211a_fluxswap_rhc_nova_v08_full_v1_numu2020",
91 loader_fd_rhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.g_nd_numi_rhc_full_v1_goodruns_numu2020",
93 loader_fd_rhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.d_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_v1_numu2020",
96 loader_fd_fhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.f_fd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_v1_nue2020",
98 loader_fd_fhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.f_fd_genie_N1810j0211a_fluxswap_fhc_nova_v08_full_v1_nue2020",
100 loader_fd_fhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.d.f.h.l_nd_numi_fhc_full_v1_goodruns_nue2020",
102 loader_fd_fhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.d.h.l_nd_genie_N1810j0211a_nonswap_fhc_nova_v08_full_v1_nue2020",
105 loader_fd_rhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.f_fd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_v1_nue2020",
107 loader_fd_rhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.f_fd_genie_N1810j0211a_fluxswap_rhc_nova_v08_full_v1_nue2020",
109 loader_fd_rhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.g_nd_numi_rhc_full_v1_goodruns_nue2020",
111 loader_fd_rhc.
SetLoaderPath(
"prod_sumdecaf_R19-11-18-prod5reco.d_nd_genie_N1810j0211a_nonswap_rhc_nova_v08_full_v1_nue2020",
117 std::map<std::string, PredictionInterp*> preds;
145 const int totalsysts = allsysts.size();
148 std::vector <std::pair <const ISyst*, SystMode> > systConfigs;
149 for (
int idx = 0;
idx < totalsysts; ++
idx)
150 systConfigs.push_back({allsysts[idx], kSystGaussian});
155 for(
int UnivIdx = low; UnivIdx < high; UnivIdx++){
193 TFile*
file =
new TFile(filename.c_str(),
"recreate");
194 std::for_each(preds.begin(), preds.end(),
195 [&](std::pair<std::string, PredictionInterp*>
pred){
196 pred.second->SaveTo(file,
pred.first.c_str());
std::vector< const ISyst * > get3FlavorAna2020SmallXsecSysts(const EAnaType2020 ana)
Near Detector underground.
Implements systematic errors by interpolation between shifted templates.
Far Detector at Ash River.
Represent the binning of a Spectrum's x-axis.
Cuts and Vars for the 2020 FD DiF Study.
Proxy for caf::StandardRecord.
Collection of SpectrumLoaders for many configurations.
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
osc::IOscCalcAdjustable * DefaultOscCalc()
Create a new calculator with default assumptions for all parameters.
void Go()
Call Go() on all the loaders.
void SetSpillCut(const SpillCut &cut)
std::vector< SystShifts > GetSystShiftsMultiverse(const std::vector< std::pair< const ISyst *, SystMode > > &systConfigs, const int nUniverses, const int seed)
void genie_preds_make(const std::string ana="nue", const int low=0, const int high=1000)
const HistAxis kNumuCCOptimisedAxis("Reconstructed Neutrino Energy (GeV)", kNumuCCEOptimisedBinning, kCCE)
HistAxis that implements optimised numuCCE from L. Vinton. See docdb 16332. This was close to 'custC'...
const SystShifts kNoShift
const Var kNue2020AnaBin([](const caf::SRProxy *sr){int selBin=kNue2020SelectionBin(sr);float nuE=kNueEnergy2020(sr);int nuEBin=nuE/0.5;assert(nuEBin<=8 &&"An event with nuE > 4.5 should never happen");int anaBin=9 *selBin+nuEBin;return anaBin;})
Use this Analysis Binning for Ana2020, official Binning.
assert(nhit_max >=nhit_nbins)
const SpillCut kStandardSpillCuts
Apply this unless you're doing something special.
std::string to_string(ModuleType mt)
void SetLoaderPath(const std::string &path, caf::Det_t det, DataMC datamc, DataSource src=kBeam, SwappingConfig swap=kNonSwap)
Configure loader via wildcard path.
const Cut kNue2020FDPeripheral(kNue2020FDPeripheralFunc)
static Binning Simple(int n, double lo, double hi, const std::vector< std::string > &labels={})
virtual IOscCalc * Copy() const override
GeniePCASyst * GetGeniePrincipals2020Small(int PCIdx)