15 GHSym(
const char* name,
const char* title, Int_t nbins, Double_t low, Double_t up);
16 GHSym(
const char* name,
const char* title, Int_t nbins,
const Double_t* bins);
17 GHSym(
const char* name,
const char* title, Int_t nbins,
const Float_t* bins);
26 Int_t
BufferFill(Double_t, Double_t)
override {
return -2; }
27 virtual Int_t
BufferFill(Double_t x, Double_t y, Double_t w);
28 void Copy(TObject& obj)
const override;
29 Int_t
Fill(Double_t)
override;
30 Int_t
Fill(
const char*, Double_t)
override {
return Fill(0); }
31 Int_t
Fill(Double_t x, Double_t y)
override;
32 virtual Int_t
Fill(Double_t x, Double_t y, Double_t w);
33 virtual Int_t
Fill(
const char* namex,
const char* namey, Double_t w);
34 void FillN(Int_t,
const Double_t*,
const Double_t*, Int_t)
override { ; }
35 void FillN(Int_t ntimes,
const Double_t* x,
const Double_t* y,
const Double_t* w, Int_t stride = 1)
override;
36#if ROOT_VERSION_CODE < ROOT_VERSION(6, 24, 0)
37 void FillRandom(
const char* fname, Int_t ntimes = 5000)
override
42 void FillRandom(
const char* fname, Int_t ntimes = 5000, TRandom* rng =
nullptr);
43 void FillRandom(TH1* h, Int_t ntimes = 5000, TRandom* rng =
nullptr);
45 void FillRandom(
const char* fname, Int_t ntimes = 5000, TRandom* rng =
nullptr)
override;
46 void FillRandom(TH1* h, Int_t ntimes = 5000, TRandom* rng =
nullptr)
override;
48#if ROOT_VERSION_CODE < ROOT_VERSION(6, 18, 0)
54 Int_t
FindFirstBinAbove(Double_t threshold = 0, Int_t axis = 1, Int_t firstBin = 1, Int_t lastBin = -1)
const;
55 Int_t
FindLastBinAbove(Double_t threshold = 0, Int_t axis = 1, Int_t firstBin = 1, Int_t lastBin = -1)
const;
57 Int_t
FindFirstBinAbove(Double_t threshold = 0, Int_t axis = 1, Int_t firstBin = 1, Int_t lastBin = -1)
const override;
58 Int_t
FindLastBinAbove(Double_t threshold = 0, Int_t axis = 1, Int_t firstBin = 1, Int_t lastBin = -1)
const override;
60 virtual void FitSlices(TF1* f1 =
nullptr, Int_t firstbin = 0, Int_t lastbin = -1, Int_t cut = 0,
61 Option_t* option =
"QNR", TObjArray* arr =
nullptr);
62 Int_t
GetBin(Int_t binx, Int_t biny = 0, Int_t binz = 0)
const override;
63 virtual Double_t
GetBinWithContent2(Double_t c, Int_t& binx, Int_t& biny, Int_t firstxbin = 1, Int_t lastxbin = -1,
64 Int_t firstybin = 1, Int_t lastybin = -1, Double_t maxdiff = 0)
const;
66 Double_t
GetCellError(Int_t binx, Int_t biny)
const override;
68 virtual Double_t
GetCovariance(Int_t axis1 = 1, Int_t axis2 = 2)
const;
69 virtual void GetRandom2(Double_t& x, Double_t& y);
70 void GetStats(Double_t* stats)
const override;
71 Double_t
Integral(Option_t* option =
"")
const override;
73 virtual Double_t
Integral(Int_t firstxbin, Int_t lastxbin, Int_t firstybin, Int_t lastybin,
74 Option_t* option =
"")
const;
75 virtual Double_t
Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Option_t* =
"")
const {
return 0; }
76 using TH1::IntegralAndError;
77 virtual Double_t
IntegralAndError(Int_t firstxbin, Int_t lastxbin, Int_t firstybin, Int_t lastybin, Double_t& error,
78 Option_t* option =
"")
const;
79#if ROOT_VERSION_CODE < ROOT_VERSION(6, 20, 0)
82 Double_t
Interpolate(Double_t, Double_t, Double_t)
override;
85 Double_t
Interpolate(Double_t, Double_t)
const override;
86 Double_t
Interpolate(Double_t, Double_t, Double_t)
const override;
88 Double_t
KolmogorovTest(
const TH1* h2, Option_t* option =
"")
const override;
89 Long64_t
Merge(TCollection* list)
override;
90 virtual TProfile*
Profile(
const char* name =
"_pf", Int_t firstbin = 1, Int_t lastbin = -1,
91 Option_t* option =
"")
const;
92 virtual TH1D*
Projection(
const char* name =
"_pr", Int_t firstBin = 0, Int_t lastBin = -1,
93 Option_t* option =
"")
const;
94 void PutStats(Double_t* stats)
override;
95 virtual GHSym*
Rebin2D(Int_t ngroup = 2,
const char* newname =
"");
96 void Reset(Option_t* option =
"")
override;
97 void SetCellContent(Int_t binx, Int_t biny, Double_t content)
override;
98 void SetCellError(Int_t binx, Int_t biny, Double_t content)
override;
101 TH1*
ShowBackground(Int_t niter = 20, Option_t* option =
"same")
override;
102 Int_t
ShowPeaks(Double_t sigma = 2, Option_t* option =
"", Double_t threshold = 0.05)
override;
103 void Smooth(Int_t ntimes = 1, Option_t* option =
"")
override;
106 using TH1::DoIntegral;
107 virtual Double_t
DoIntegral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Double_t& error, Option_t* option,
108 Bool_t doError = kFALSE)
const;
120 ClassDefOverride(
GHSym, 1)
127 GHSymF(
const char* name,
const char* title, Int_t nbins, Double_t low, Double_t up);
128 GHSymF(
const char* name,
const char* title, Int_t nbins,
const Double_t* bins);
129 GHSymF(
const char* name,
const char* title, Int_t nbins,
const Float_t* bins);
137 void AddBinContent(Int_t bin, Double_t w)
override { fArray[bin] +=
static_cast<Float_t
>(w); }
138 void Copy(TObject& rh)
const override;
140 TH1*
DrawCopy(Option_t* option =
"",
const char* name_postfix =
"_copy")
const override;
144 void Reset(Option_t* option =
"")
override;
148 void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content)
override
153 void UpdateBinContent(Int_t bin, Double_t content)
override { fArray[bin] =
static_cast<Float_t
>(content); }
164 ClassDefOverride(
GHSymF, 1)
171 GHSymD(
const char* name,
const char* title, Int_t nbins, Double_t low, Double_t up);
172 GHSymD(
const char* name,
const char* title, Int_t nbins,
const Double_t* bins);
173 GHSymD(
const char* name,
const char* title, Int_t nbins,
const Float_t* bins);
182 void Copy(TObject& rh)
const override;
183 TH1*
DrawCopy(Option_t* option =
"",
const char* name_postfix =
"_copy")
const override;
188 void Reset(Option_t* option =
"")
override;
192 void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content)
override
208 ClassDefOverride(
GHSymD, 1)
Double_t GetBinContent(Int_t bin) const override
TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const override
friend GHSymD operator+(GHSymD &h1, GHSymD &h2)
void AddBinContent(Int_t bin) override
void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content) override
TH2D * GetMatrix(bool force=false)
void Reset(Option_t *option="") override
void AddBinContent(Int_t bin, Double_t w) override
Double_t RetrieveBinContent(Int_t bin) const override
void Copy(TObject &rh) const override
void UpdateBinContent(Int_t bin, Double_t content) override
void Draw(Option_t *option="") override
void SetBinContent(Int_t binx, Int_t biny, Double_t content) override
void SetBinsLength(Int_t n=-1) override
GHSymD & operator=(const GHSymD &h1)
friend GHSymD operator/(GHSymD &h1, GHSymD &h2)
friend GHSymD operator*(GHSymD &h1, Float_t c1)
friend GHSymD operator*(Float_t c1, GHSymD &h1)
Double_t GetBinContent(Int_t binx, Int_t biny, Int_t) const override
Double_t GetBinContent(Int_t binx, Int_t biny) const override
friend GHSymD operator-(GHSymD &h1, GHSymD &h2)
void SetBinContent(Int_t bin, Double_t content) override
Double_t GetBinContent(Int_t bin) const override
void SetBinsLength(Int_t n=-1) override
GHSymF & operator=(const GHSymF &h1)
void AddBinContent(Int_t bin, Double_t w) override
void Draw(Option_t *option="") override
Double_t GetBinContent(Int_t binx, Int_t biny, Int_t) const override
Double_t GetBinContent(Int_t binx, Int_t biny) const override
void SetBinContent(Int_t binx, Int_t biny, Double_t content) override
friend GHSymF operator/(GHSymF &h1, GHSymF &h2)
void Reset(Option_t *option="") override
friend GHSymF operator+(GHSymF &h1, GHSymF &h2)
friend GHSymF operator*(GHSymF &h1, Float_t c1)
void SetBinContent(Int_t bin, Double_t content) override
void AddBinContent(Int_t bin) override
TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const override
TH2F * GetMatrix(bool force=false)
Double_t RetrieveBinContent(Int_t bin) const override
void Copy(TObject &rh) const override
void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content) override
friend GHSymF operator-(GHSymF &h1, GHSymF &h2)
void UpdateBinContent(Int_t bin, Double_t content) override
friend GHSymF operator*(Float_t c1, GHSymF &h1)
virtual Double_t DoIntegral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Double_t &error, Option_t *option, Bool_t doError=kFALSE) const
Double_t Integral(Option_t *option="") const override
Long64_t Merge(TCollection *list) override
virtual Double_t GetCovariance(Int_t axis1=1, Int_t axis2=2) const
Double_t fTsumwy
Total Sum of weight*Y.
void Copy(TObject &obj) const override
virtual Double_t GetBinWithContent2(Double_t c, Int_t &binx, Int_t &biny, Int_t firstxbin=1, Int_t lastxbin=-1, Int_t firstybin=1, Int_t lastybin=-1, Double_t maxdiff=0) const
virtual TProfile * Profile(const char *name="_pf", Int_t firstbin=1, Int_t lastbin=-1, Option_t *option="") const
Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const override
void SetCellError(Int_t binx, Int_t biny, Double_t content) override
void FillRandom(const char *fname, Int_t ntimes=5000, TRandom *rng=nullptr) override
void GetStats(Double_t *stats) const override
void PutStats(Double_t *stats) override
TH2 * fMatrix
! Transient pointer to the 2D-Matrix used in Draw() or GetMatrix()
Int_t BufferFill(Double_t, Double_t) override
void Reset(Option_t *option="") override
void Smooth(Int_t ntimes=1, Option_t *option="") override
TH1 * ShowBackground(Int_t niter=20, Option_t *option="same") override
virtual Double_t IntegralAndError(Int_t firstxbin, Int_t lastxbin, Int_t firstybin, Int_t lastybin, Double_t &error, Option_t *option="") const
virtual Double_t Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Option_t *="") const
virtual Double_t GetCorrelationFactor(Int_t axis1=1, Int_t axis2=2) const
virtual void SetShowProjectionY(Int_t nbins=1)
Double_t fTsumwy2
Total Sum of weight*Y*Y.
Int_t Fill(Double_t) override
Int_t BufferEmpty(Int_t action=0) override
Int_t Fill(const char *, Double_t) override
Double_t Interpolate(Double_t) const override
virtual TH1D * Projection(const char *name="_pr", Int_t firstBin=0, Int_t lastBin=-1, Option_t *option="") const
Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05) override
void FillN(Int_t, const Double_t *, const Double_t *, Int_t) override
Double_t GetCellError(Int_t binx, Int_t biny) const override
Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const override
GHSym & operator=(const GHSym &)
virtual GHSym * Rebin2D(Int_t ngroup=2, const char *newname="")
GHSym & operator=(GHSym &&) noexcept
virtual void FitSlices(TF1 *f1=nullptr, Int_t firstbin=0, Int_t lastbin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray *arr=nullptr)
Int_t FindFirstBinAbove(Double_t threshold=0, Int_t axis=1, Int_t firstBin=1, Int_t lastBin=-1) const override
Int_t FindLastBinAbove(Double_t threshold=0, Int_t axis=1, Int_t firstBin=1, Int_t lastBin=-1) const override
void SetCellContent(Int_t binx, Int_t biny, Double_t content) override
Double_t GetCellContent(Int_t binx, Int_t biny) const override
virtual void GetRandom2(Double_t &x, Double_t &y)
virtual void SetShowProjectionX(Int_t nbins=1)
Double_t fTsumwxy
Total Sum of weight*X*Y.