9#ifndef HALDIVIDEDHISTO1D_H_
10#define HALDIVIDEDHISTO1D_H_
30 class HistogramAxisConf;
95 virtual void Folding1D(Double_t val, Option_t* axis);
107 virtual TString
CommonExtract(Int_t counter, TString dir)
const;
116 virtual TString
GetPic()
const;
138 DividedHisto1D(TString name, Int_t nbins, Double_t min, Double_t max, Char_t type =
'D');
181 TH1*
GetHist(Bool_t normalized = kTRUE)
const;
196 void SetOwner(Bool_t own) { fNumIsCloned = fDenIsCloned = own; };
204 void SetNorm(Double_t min, Double_t max, Int_t axis = 0);
225 void FillNum(Double_t x, Double_t weight) {
fNum->Fill(x, weight); };
231 void FillDen(Double_t x, Double_t weight) {
fDen->Fill(x, weight); };
238 virtual void AddNum(TH1* num, Option_t* opt =
"");
245 virtual void AddDen(TH1* den, Option_t* opt =
"");
253 virtual void AddNumDen(TH1* num, TH1* den, Option_t* opt =
"");
269 void Fold1D(Double_t val, Option_t* opt =
"x");
276 virtual void Rebin(Int_t ngroup, Option_t* opt);
286 virtual void Browse(TBrowser* b);
297 virtual void Print(Option_t* opt)
const;
332 Bool_t
IsOwner()
const {
return (fNumIsCloned && fDenIsCloned); };
361 virtual Long64_t
Merge(TCollection* collection);
393 virtual void Draw(Option_t* opt =
"all");
400 virtual TString
HTMLExtract(Int_t counter = 0, TString dir =
" ")
const;
406 virtual TObject*
GetSpecial(TString opt)
const {
return nullptr; }
424 virtual void Folding2D(Double_t valX, Double_t valY, Option_t* opt);
425 virtual void Folding1D(Double_t val, Option_t* axis);
497 void Fold2D(Double_t valX, Double_t valY, Option_t* opt =
"xy");
504 void FillNum(Double_t x, Double_t y, Double_t weight) { ((TH2*)
fNum)->Fill(x, y, weight); };
511 void FillDen(Double_t x, Double_t y, Double_t weight) { ((TH2*)
fDen)->Fill(x, y, weight); };
512 virtual TString
HTMLExtract(Int_t counter = 0, TString dir =
" ")
const;
520 virtual void Rebin(Int_t ngroup, Option_t* opt);
543 Double_t
CalculateNorm(Double_t minX, Double_t maxX, Double_t minY, Double_t maxY)
const;
544 virtual void Browse(TBrowser* b);
561 virtual void Folding1D(Double_t val, Option_t* axis);
562 virtual void Folding2D(Double_t valX, Double_t valY, Option_t* opt);
577 virtual TH1D*
Projection3DTo1D(Double_t min1, Double_t max1, Double_t min2, Double_t max2, Option_t* opt)
const;
640 void FillNum(Double_t x, Double_t y, Double_t z, Double_t weight) { ((TH3*)
fNum)->Fill(x, y, z, weight); };
648 void FillDen(Double_t x, Double_t y, Double_t z, Double_t weight) { ((TH3*)
fDen)->Fill(x, y, z, weight); };
663 TH1D*
GetProjection1D(Double_t min1, Double_t max1, Double_t min2, Double_t max2, Option_t* opt)
const {
673 virtual void Rebin(Int_t ngroup, Option_t* opt);
683 virtual void Fold3D(Double_t valX, Double_t valY, Double_t valZ, Option_t* opt);
697 virtual TH2D*
GetProjection2D(Double_t min, Double_t max, Option_t* opt)
const;
708 Double_t
CalculateNorm(Double_t minX, Double_t maxX, Double_t minY, Double_t maxY, Double_t minZ, Double_t maxZ)
const;
715 virtual TString
HTMLExtract(Int_t counter = 0, TString dir =
" ")
const;
void SetScale(Double_t scale)
void SetAxisName(TString name)
virtual TString CommonExtract(Int_t counter, TString dir) const
TList * GetLabelList() const
virtual void AddNum(TH1 *num, Option_t *opt="")
virtual void FillNumObj(TObject *)
Double_t CalculateNorm(Double_t min, Double_t max) const
Double_t GetNormMax(Int_t no=0) const
TString GetLabel(Int_t i) const
virtual void ApplyStyle(const HistoStyle &h)
void SetComment(TString comment)
Double_t GetNormMin(Int_t no=0) const
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
virtual void SetDirectory(TDirectory *dir=nullptr)
DividedHisto1D(TString name)
virtual void Normalize(TH1 *h) const
void AddLabel(TString label)
void SetOwnerNum(Bool_t own)
TString GetComment() const
Bool_t IsBinomial() const
TString GetExtractType() const
Bool_t IsDenOwner() const
virtual void SetHistoName(TH1 *h) const
virtual void Rebin(Int_t ngroup, Option_t *opt)
virtual void FillDenObj(TObject *)
virtual TObject * GetSpecial(TString opt) const
Int_t GetLabelsNo() const
void Fold1D(Double_t val, Option_t *opt="x")
void SetNorm(Double_t min, Double_t max, Int_t axis=0)
void SetOwner(Bool_t own)
Double_t GetScale() const
Bool_t IsNumOwner() const
virtual void Draw(Option_t *opt="all")
TH1 * GetHist(Bool_t normalized=kTRUE) const
virtual void AddNumDen(TH1 *num, TH1 *den, Option_t *opt="")
virtual void Add(const Object *h)
void FillNum(Double_t x, Double_t weight)
virtual TString GetPic() const
virtual void AddScaled(const DividedHisto1D &other, Double_t scale=1)
void FillDen(Double_t x, Double_t weight)
virtual void AddDen(TH1 *den, Option_t *opt="")
TString GetAxisName() const
virtual void Browse(TBrowser *b)
virtual void Folding1D(Double_t val, Option_t *axis)
void SetBinomial(Bool_t binomial)
virtual Long64_t Merge(TCollection *collection)
DividedHisto1D & operator=(const DividedHisto1D &other)
void SetOwnerDen(Bool_t own)
virtual void Folding1D(Double_t val, Option_t *axis)
virtual void Rebin(Int_t ngroup, Option_t *opt)
void FillNum(Double_t x, Double_t y, Double_t weight)
void Fold2D(Double_t valX, Double_t valY, Option_t *opt="xy")
Double_t CalculateNorm(Double_t minX, Double_t maxX, Double_t minY, Double_t maxY) const
virtual void Normalize(TH1 *h) const
virtual void Browse(TBrowser *b)
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
TH1D * Projection2DTo1D(Double_t min, Double_t max, Option_t *opt) const
TH1D * GetProjection1D(Double_t min, Double_t max, Option_t *opt) const
DividedHisto2D(TString name)
virtual void SetHistoName(TH1 *h) const
void FillDen(Double_t x, Double_t y, Double_t weight)
virtual void Folding2D(Double_t valX, Double_t valY, Option_t *opt)
DividedHisto2D(TString name, const Int_t dim)
DividedHisto2D & operator=(const DividedHisto2D &other)
virtual void Folding1D(Double_t val, Option_t *axis)
void FillDen(Double_t x, Double_t y, Double_t z, Double_t weight)
virtual void SetHistoName(TH1 *h) const
virtual void Fold3D(Double_t valX, Double_t valY, Double_t valZ, Option_t *opt)
virtual TH1D * Projection3DTo1D(Double_t min1, Double_t max1, Double_t min2, Double_t max2, Option_t *opt) const
virtual void Folding2D(Double_t valX, Double_t valY, Option_t *opt)
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
TH1D * GetProjection1D(Double_t min1, Double_t max1, Double_t min2, Double_t max2, Option_t *opt) const
DividedHisto3D(TString name)
virtual TH2D * GetProjection2D(Double_t min, Double_t max, Option_t *opt) const
void FillNum(Double_t x, Double_t y, Double_t z, Double_t weight)
Double_t CalculateNorm(Double_t minX, Double_t maxX, Double_t minY, Double_t maxY, Double_t minZ, Double_t maxZ) const
virtual void Rebin(Int_t ngroup, Option_t *opt)
DividedHisto3D & operator=(const DividedHisto3D &other)
void Normalize(TH1 *h) const