11 #include "CAFAna/Extrap/ExtrapSterile.h" 60 const HistAxis kNCNDAxisExtended1(
"Visible Energy (GeV)",
62 const HistAxis kNCFDAxisExtended1(
"Visible Energy (GeV)",
64 const HistAxis kNCBinsNumuCCAxisExt1(
"Reconstructed Neutrino Energy (GeV)",
65 kNCDisappearanceEnergyBinningExt1,
kCCE );
67 const HistAxis kNCNDAxisExtended2(
"Visible Energy (GeV)",
69 const HistAxis kNCFDAxisExtended2(
"Visible Energy (GeV)",
71 const HistAxis kNCBinsNumuCCAxisExt2(
"Reconstructed Neutrino Energy (GeV)",
72 kNCDisappearanceEnergyBinningExt2,
kCCE );
78 loaderNDMC, loaderNDdata, kNCNDAxisExtended1,
kNus17ND,
84 loaderNDMC, loaderNDdata, kNCBinsNumuCCAxisExt1,
kNumuND,
89 loaderNDMC, *loaderFDMC_swp, *loaderFDMC_non, *loaderFDMC_tau,
90 decompNC1, decompNumu1,
91 kNCFDAxisExtended1, kNCBinsNumuCCAxisExt1,
100 loaderNDMC, loaderNDdata, kNCNDAxisExtended2,
kNus17ND && kECut_scale,
106 loaderNDMC, loaderNDdata, kNCBinsNumuCCAxisExt2,
kNumuND && kECut_scale,
111 loaderNDMC, *loaderFDMC_swp, *loaderFDMC_non, *loaderFDMC_tau,
112 decompNC2, decompNumu2,
113 kNCFDAxisExtended2, kNCBinsNumuCCAxisExt2,
129 loaderFDMC_non->
Go();
130 loaderFDMC_swp->
Go();
131 loaderFDMC_tau->
Go();
135 TFile* rootF =
new TFile(outfile.c_str(),
"RECREATE");
137 TDirectory*
tmp = gDirectory;
138 TDirectory* saveDir = gDirectory;
141 saveDir = rootF->mkdir(
"decompNC1");
142 decompNC1.
SaveTo(saveDir);
143 saveDir = rootF->mkdir(
"decompNumu1");
144 decompNumu1.
SaveTo(saveDir);
145 saveDir = rootF->mkdir(
"extrap1");
147 saveDir = rootF->mkdir(
"prediction1");
149 saveDir = rootF->mkdir(
"sCos1");
153 saveDir = rootF->mkdir(
"decompNC2");
154 decompNC2.
SaveTo(saveDir);
155 saveDir = rootF->mkdir(
"decompNumu2");
156 decompNumu2.
SaveTo(saveDir);
157 saveDir = rootF->mkdir(
"extrap2");
159 saveDir = rootF->mkdir(
"prediction2");
161 saveDir = rootF->mkdir(
"sCos2");
const std::string fNDdataDECAF
Represent the binning of a Spectrum's x-axis.
Cuts and Vars for the 2020 FD DiF Study.
void MakeNus17Prediction(std::string outfile)
const std::string fFDtauDECAF
Adapt the PMNS_Sterile calculator to standard interface.
virtual void SaveTo(TDirectory *dir, const std::string &name) const override
void SetSpillCut(const SpillCut &cut)
const std::string fNDmcDECAF
Representation of a spectrum in any variable, with associated POT.
const Var kNus17Energy([](const caf::SRProxy *sr){double cale=sr->slc.calE;double recoE=0.;if(sr->hdr.det==caf::kFARDET) recoE=FDscaleCalE17 *cale;if(sr->hdr.det==caf::kNEARDET) recoE=NDscaleCalE17 *cale;return recoE;})
const Cut kInCosmicTimingWindow
Is the event far from the start and ends of the spill ? For FD cosmic selection.
osc::OscCalcSterile * DefaultSterileCalc(int nflavors)
Create a sterile calculator with default assumptions for all parameters.
const Cut kNus17ND
Full Nus17 ND analysis selection.
virtual void Go() override
Load all the registered spectra.
void SaveTo(TDirectory *dir, const std::string &name) const
const std::string fFDcosmicdataDECAF
const SystShifts kNoShift
void SaveTo(TDirectory *dir, const std::string &name) const override
const std::string fFDmcDECAF
Splits Data proportionally according to MC.
Collaborates with Spectrum and OscillatableSpectrum to fill spectra from CAF files.
A prediction object compatible with sterile oscillations.
const SpillCut kStandardSpillCuts
Apply this unless you're doing something special.
static Binning Simple(int n, double lo, double hi, const std::vector< std::string > &labels={})
const std::string fFDswapDECAF