13 template<
class T>
class _Var;
14 template<
class T>
class _Cut;
31 const _Var<T>& wei = Unweighted<T>());
47 void Fill(
double x,
double y,
double w = 1);
79 static std::unique_ptr<ReweightableSpectrum>
LoadFrom(TDirectory* dir,
const std::string& name);
static ReweightableSpectrum Uninitialized()
ReweightableSpectrum & operator+=(const ReweightableSpectrum &rhs)
Spectrum UnWeighted() const
Represent the binning of a Spectrum's x-axis.
Cuts and Vars for the 2020 FD DiF Study.
ReweightableSpectrum(const LabelsAndBins &axisX, const LabelsAndBins &axisY)
void Fill(double x, double y, double w=1)
virtual ~ReweightableSpectrum()
Simple record of shifts applied to systematic parameters.
Spectrum with the value of a second variable, allowing for reweighting
static std::unique_ptr< ReweightableSpectrum > LoadFrom(TDirectory *dir, const std::string &name)
void ReweightToRecoSpectrum(const Spectrum &target)
Recale bins so that Unweighted will return target.
ReweightableSpectrum operator-(const ReweightableSpectrum &rhs) const
Representation of a spectrum in any variable, with associated POT.
const std::vector< std::string > & GetLabels() const
void RemoveLoader(ReweightableSpectrum **)
ReweightableSpectrum & operator-=(const ReweightableSpectrum &rhs)
Spectrum WeightedBy(const Ratio &weights) const
Reco spectrum with truth weights applied.
const std::vector< Binning > & GetBinnings() const
Represent the ratio between two spectra.
const SystShifts kNoShift
ReweightableSpectrum operator+(const ReweightableSpectrum &rhs) const
Base class for the various types of spectrum loader.
const std::vector< Binning > & GetBinnings() const
std::set< ReweightableSpectrum ** > fReferences
unsigned int NDimensions() const
void _SaveTo(TDirectory *dir, const std::string &name, const std::string &type) const
ReweightableSpectrum & PlusEqualsHelper(const ReweightableSpectrum &rhs, int sign)
ReweightableSpectrum & operator=(const ReweightableSpectrum &rhs)
Collect information describing the x-axis of an analysis histogram.
void SaveTo(TDirectory *dir, const std::string &name) const
const std::vector< Binning > & GetTrueBinnings() const
void AddLoader(ReweightableSpectrum **)
Eigen::MatrixXd GetEigen(double pot) const
void ReweightToTrueSpectrum(const Spectrum &target)
Rescale bins so that WeightingVariable will return target.
Template for Cut and SpillCut.
Template for Var and SpillVar.
const std::vector< std::string > & GetLabels() const
unsigned int NDimensions() const
Spectrum WeightingVariable() const
TH2D * ToTH2(double pot) const