5 #include "TSVDUnfold.h"
16 const double pot = reco.
POT();
20 std::unique_ptr<TH1D> hReco(reco.
ToTH1(pot));
23 std::unique_ptr<TH2D> hRT(recoVsTrue.
ToTH2(pot));
25 TSVDUnfold uf(hReco.get(), hMCReco.get(), hMCTrue.get(), hRT.get());
27 std::unique_ptr<TH1D> h_unf(uf.Unfold(reg));
30 h_unf->Scale(reco.
Integral(pot)/h_unf->Integral(0, -1));
Spectrum UnWeighted() const
TH1D * ToTH1(double exposure, Color_t col=kBlack, Style_t style=kSolid, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Histogram made from this Spectrum, scaled to some exposure.
Spectrum with the value of a second variable, allowing for reweighting
process_name opflashCryoW ana
double Integral(double exposure, double *err=0, EExposureType expotype=kPOT) const
Return total number of events scaled to pot.
Representation of a spectrum in any variable, with associated POT.
Spectrum UnfoldSVD(const Spectrum &reco, const ReweightableSpectrum &recoVsTrue, unsigned int reg)
Singular value decomposition unfolding using ROOT's TSVDDecomp.
process_name standard_reco_uboone reco
std::vector< std::string > GetLabels() const
Prevent histograms being added to the current directory.
double Livetime() const
Seconds. For informational purposes only. No calculations use this.
std::vector< Binning > GetBinnings() const
Spectrum WeightingVariable() const
TH2D * ToTH2(double pot) const