17 template<
class T>
class _IOscCalc;
56 const std::vector<std::string>&
labels,
57 const std::vector<Binning>& bins,
58 double pot,
double livetime);
61 const std::vector<std::string>&
labels,
62 const std::vector<Binning>& bins,
63 double pot,
double livetime);
97 static std::unique_ptr<OscillatableSpectrum>
LoadFrom(TDirectory*
dir);
102 const std::vector<Binning>& bins,
Spectrum UnWeighted() const
Represent the binning of a Spectrum's x-axis.
void Fill(double x, double y, double w=1)
Simple record of shifts applied to systematic parameters.
static std::unique_ptr< OscillatableSpectrum > LoadFrom(TDirectory *dir)
Spectrum with the value of a second variable, allowing for reweighting
void ReweightToRecoSpectrum(const Spectrum &target)
Recale bins so that Unweighted will return target.
process_name opflashCryoW ana
OscillatableSpectrum & operator-=(const OscillatableSpectrum &rhs)
_IOscCalc< double > IOscCalc
Representation of a spectrum in any variable, with associated POT.
Spectrum Unoscillated() const
OscillatableSpectrum(const std::string &label, const Binning &bins, SpectrumLoaderBase &loader, const Var &var, const Cut &cut, const SystShifts &shift=kNoShift, const Var &wei=kUnweighted)
Spectrum TrueEnergy() const
OscillatableSpectrum & operator+=(const OscillatableSpectrum &rhs)
OscillatableSpectrum operator+(const OscillatableSpectrum &rhs) const
const SystShifts kNoShift
Base class for the various types of spectrum loader.
Spectrum Oscillated(osc::IOscCalc *calc, int from, int to) const
Collaborates with Spectrum and OscillatableSpectrum to fill spectra from CAF files.
const Var kUnweighted([](const caf::SRSliceProxy *){return 1;})
The simplest possible Var, always 1. Used as a default weight.
OscillatableSpectrum(const std::vector< std::string > &labels, const std::vector< Binning > &bins, const Var &rwVar)
Dummy loader that doesn't load any files.
OscillatableSpectrum & operator=(const OscillatableSpectrum &rhs)
Assignment operator.
void ReweightToTrueSpectrum(const Spectrum &target)
Rescale bins so that WeightingVariable will return target.
Spectrum with true energy information, allowing it to be oscillated
OscillatableSpectrum operator-(const OscillatableSpectrum &rhs) const
OscillatableSpectrum(const std::string &label, const Binning &bins, const Var &rwVar)
Spectrum WeightingVariable() const
void SaveTo(TDirectory *dir) const
TH2D * ToTH2(double pot) const