8 #include "OscLib/IOscCalc.h"
24 const std::vector<const SystComponentScale*>& systs,
33 const std::vector<const SystComponentScale*>& systs,
45 const std::vector<const SystComponentScale*>& systs,
80 static std::unique_ptr<PredictionScaleComp>
LoadFrom(TDirectory*
dir);
81 virtual void SaveTo(TDirectory*
dir)
const override;
85 const std::vector<const IPrediction*>& preds,
86 const std::vector<const SystComponentScale*>& systs);
88 std::vector<const SystComponentScale*>
fSysts;
89 std::vector<const IPrediction*>
fPreds;
Spectrum PredictCategory(osc::IOscCalc *osc, const SystComponentScale *syst) const
static std::unique_ptr< PredictionScaleComp > LoadFrom(TDirectory *dir)
virtual Spectrum PredictComponentSyst(osc::IOscCalc *calc, const SystShifts &syst, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const override
Uncertainty in the scale of a single component of the spectrum.
virtual Spectrum Predict(osc::IOscCalc *osc) const override
Simple record of shifts applied to systematic parameters.
virtual Spectrum PredictComponent(osc::IOscCalc *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const override
PredictionScaleComp(SpectrumLoaderBase &loader, const HistAxis &axis, SpillCut spillcut, Cut cut, const std::vector< const SystComponentScale * > &systs, const SystShifts &shift=kNoShift, const Var &wei=kUnweighted)
process_name opflashCryoW ana
virtual void SaveTo(TDirectory *dir) const override
Representation of a spectrum in any variable, with associated POT.
virtual Spectrum Predict(osc::IOscCalc *calc) const =0
std::vector< const SystComponentScale * > fSysts
Interactions of both types.
virtual Spectrum PredictSyst(osc::IOscCalc *osc, const SystShifts &syst) const override
virtual ~PredictionScaleComp()
const SystShifts kNoShift
Base class for the various types of spectrum loader.
const Var kUnweighted([](const caf::SRSliceProxy *){return 1;})
The simplest possible Var, always 1. Used as a default weight.
virtual Spectrum PredictComponent(osc::IOscCalc *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const =0
Both neutrinos and antineutrinos.
Standard interface to all prediction techniques.
All neutrinos, any flavor.
const IPrediction * fTotal
std::vector< const IPrediction * > fPreds
Prediction broken down into arbitrary components whose scales can be varied independently.