14#include "NAGASH/NAGASHFile.h"
42 HistBase(std::shared_ptr<MSGTool> MSG, std::shared_ptr<ConfigTool> c,
const TString &name,
const TString &filename) :
Result(MSG, c, name, filename) {}
43 virtual std::shared_ptr<HistBase>
CloneVirtual(
const TString &name) {
return nullptr; }
61 virtual bool Recover(TFile *file) {
return false; }
62 virtual bool Recover(
const TString &filename) {
return false; }
63 virtual bool Recover(std::shared_ptr<TFileHelper>) {
return false; }
69 virtual void SetLinkPlot(uint64_t index, std::shared_ptr<HistBase> subplot) {}
71 virtual void SetLinkType(std::function<
double(
const std::vector<double> &)>, std::function<
double(
const std::vector<double> &,
const std::vector<double> &)>) {}
72 virtual void SetLinkType(std::function<
void(
const std::vector<TH1 *> &, TH1 *)>) {}
Virtual base class for histograms.
virtual TString GetVariationName(uint64_t)
virtual void ClearLinkPlot()
virtual void SetUnprocessed()
virtual size_t GetNVariations()
virtual bool RegroupSystematicVariation(const std::vector< TString > &names, SystPolicy policy)
virtual bool Recover(std::shared_ptr< TFileHelper >)
virtual bool BookSystematicVariation(const std::vector< TString > &names, double corr_factor=0, SystPolicy policy=SystPolicy::Maximum)
virtual void SetLinkType(std::function< double(const std::vector< double > &)>, std::function< double(const std::vector< double > &, const std::vector< double > &)>)
virtual std::shared_ptr< HistBase > CloneVirtual(const TString &name)
virtual bool Recover(const TString &filename)
virtual std::vector< std::tuple< std::vector< TString >, double, SystPolicy > > GetVariationTypes()
virtual TH1 * GetNominalHistVirtual()
virtual bool SetSystematicVariation(const TString &name="Nominal")
virtual void SetLinkType(const TString &)
virtual ~HistBase()=default
virtual bool BookSystematicVariation(const TString &name1, const TString &name2, double corr_factor=0, SystPolicy policy=SystPolicy::Maximum)
virtual TH1 * GetVariationVirtual(const TString &)
virtual bool IsBackupVariation(const TString &)
virtual void Scale(double)
HistBase(std::shared_ptr< MSGTool > MSG, std::shared_ptr< ConfigTool > c, const TString &name, const TString &filename)
virtual void SetLinkType(std::function< void(const std::vector< TH1 * > &, TH1 *)>)
SystPolicy
Policies of dealing with systematic uncertainties.
@ Backup
not add to total systematic uncertainties, just for future use.
@ Variance
the variance of the all systematic variations in the same group.
@ Maximum
take the maximum difference in the same group.
@ Average
take the average difference in the same group.
virtual double GetVariationCorrelationFactor(const TString &)
virtual bool IsBackupVariation(uint64_t)
virtual bool BookSystematicVariation(const TString &name, double corr_factor=0, SystPolicy policy=SystPolicy::Maximum)
virtual TH1 * GetVariationVirtual(uint64_t)
virtual bool Recover(TFile *file)
virtual void SetLinkPlot(uint64_t index, std::shared_ptr< HistBase > subplot)
virtual bool SetSystematicVariation(uint64_t index)
virtual bool RenameSystematicVariation(const TString &name_old, const TString &name_new)
virtual bool RemoveSystematicVariation(const TString &name)
Provide a base class for manipulating a group of histograms at the same time.
Provide virtual interface to manipulate all the results inside NAGASH.