16 GCube(
const char* name,
const char* title, Int_t nbins, Double_t low, Double_t up);
17 GCube(
const char* name,
const char* title, Int_t nbins,
const Double_t* bins);
18 GCube(
const char* name,
const char* title, Int_t nbins,
const Float_t* bins);
27 Int_t
BufferFill(Double_t, Double_t)
override {
return -2; }
28 virtual Int_t
BufferFill(Double_t x, Double_t y, Double_t z, Double_t w);
29 void Copy(TObject& obj)
const override;
30 Int_t
Fill(Double_t)
override;
31 Int_t
Fill(Double_t, Double_t)
override {
return Fill(0.); }
32 Int_t
Fill(
const char*, Double_t)
override {
return Fill(0); }
33 virtual Int_t
Fill(Double_t,
const char*, Double_t) {
return Fill(0); }
34 virtual Int_t
Fill(
const char*, Double_t, Double_t) {
return Fill(0); }
35 virtual Int_t
Fill(
const char*,
const char*, Double_t) {
return Fill(0); }
36 virtual Int_t
Fill(Double_t x, Double_t y, Double_t z);
37 virtual Int_t
Fill(Double_t x, Double_t y, Double_t z, Double_t w);
38 virtual Int_t
Fill(
const char* namex,
const char* namey,
const char* namez, Double_t w);
39#if ROOT_VERSION_CODE < ROOT_VERSION(6, 24, 0)
40 void FillRandom(
const char* fname, Int_t ntimes = 5000)
override
45 void FillRandom(
const char* fname, Int_t ntimes = 5000, TRandom* rng =
nullptr);
46 void FillRandom(TH1* h, Int_t ntimes = 5000, TRandom* rng =
nullptr);
48 void FillRandom(
const char* fname, Int_t ntimes = 5000, TRandom* rng =
nullptr)
override;
49 void FillRandom(TH1* h, Int_t ntimes = 5000, TRandom* rng =
nullptr)
override;
51#if ROOT_VERSION_CODE < ROOT_VERSION(6, 18, 0)
57 Int_t
FindFirstBinAbove(Double_t threshold = 0, Int_t axis = 1, Int_t firstBin = 1, Int_t lastBin = -1)
const;
58 Int_t
FindLastBinAbove(Double_t threshold = 0, Int_t axis = 1, Int_t firstBin = 1, Int_t lastBin = -1)
const;
60 Int_t
FindFirstBinAbove(Double_t threshold = 0, Int_t axis = 1, Int_t firstBin = 1, Int_t lastBin = -1)
const override;
61 Int_t
FindLastBinAbove(Double_t threshold = 0, Int_t axis = 1, Int_t firstBin = 1, Int_t lastBin = -1)
const override;
63 virtual void FitSlicesZ(TF1* f1 =
nullptr, Int_t binminx = 0, Int_t binmaxx = -1, Int_t binminy = 0,
64 Int_t binmaxy = -1, Int_t cut = 0, Option_t* option =
"QNR");
65 Int_t
GetBin(Int_t binx, Int_t biny = 0, Int_t binz = 0)
const override;
66 virtual Double_t
GetBinWithContent2(Double_t c, Int_t& binx, Int_t& biny, Int_t& binz, Int_t firstxbin = 1,
67 Int_t lastxbin = -1, Int_t firstybin = 1, Int_t lastybin = -1,
68 Int_t firstzbin = 1, Int_t lastzbin = -1, Double_t maxdiff = 0)
const;
70 virtual Double_t
GetCovariance(Int_t axis1 = 1, Int_t axis2 = 2)
const;
71 virtual void GetRandom3(Double_t& x, Double_t& y, Double_t& z);
72 void GetStats(Double_t* stats)
const override;
73 Double_t
Integral(Option_t* option =
"")
const override;
75 virtual Double_t
Integral(Int_t firstxbin, Int_t lastxbin, Int_t firstybin, Int_t lastybin, Int_t firstzbin,
76 Int_t lastzbin, Option_t* option =
"")
const;
77 using TH1::IntegralAndError;
78 virtual Double_t
IntegralAndError(Int_t firstxbin, Int_t lastxbin, Int_t firstybin, Int_t lastybin, Int_t firstzbin,
79 Int_t lastzbin, Double_t& error, Option_t* option =
"")
const;
80#if ROOT_VERSION_CODE < ROOT_VERSION(6, 20, 0)
83 Double_t
Interpolate(Double_t, Double_t, Double_t)
override;
86 Double_t
Interpolate(Double_t, Double_t)
const override;
87 Double_t
Interpolate(Double_t, Double_t, Double_t)
const override;
89 Double_t
KolmogorovTest(
const TH1* h2, Option_t* option =
"")
const override;
90 Long64_t
Merge(TCollection* list)
override;
91 virtual TH1D*
Projection(
const char* name =
"_pr", Int_t firstBiny = 0, Int_t lastBiny = -1, Int_t firstBinz = 0,
92 Int_t lastBinz = -1, Option_t* option =
"")
const;
93 void PutStats(Double_t* stats)
override;
94 virtual GCube*
Rebin3D(Int_t ngroup = 2,
const char* newname =
"");
95 void Reset(Option_t* option =
"")
override;
97 TH1*
ShowBackground(Int_t niter = 20, Option_t* option =
"same")
override;
98 Int_t
ShowPeaks(Double_t sigma = 2, Option_t* option =
"", Double_t threshold = 0.05)
override;
99 void Smooth(Int_t ntimes = 1, Option_t* option =
"")
override;
102 using TH1::DoIntegral;
103 Double_t
DoIntegral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Double_t& error,
104 Option_t* option, Bool_t doError = kFALSE)
const override;
120 ClassDefOverride(
GCube, 1)
127 GCubeF(
const char* name,
const char* title, Int_t nbins, Double_t low, Double_t up);
128 GCubeF(
const char* name,
const char* title, Int_t nbins,
const Double_t* bins);
129 GCubeF(
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;
147 void Reset(Option_t* option =
"")
override;
151 void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content)
override
156 void UpdateBinContent(Int_t bin, Double_t content)
override { fArray[bin] =
static_cast<Float_t
>(content); }
167 ClassDefOverride(
GCubeF, 1)
174 GCubeD(
const char* name,
const char* title, Int_t nbins, Double_t low, Double_t up);
175 GCubeD(
const char* name,
const char* title, Int_t nbins,
const Double_t* bins);
176 GCubeD(
const char* name,
const char* title, Int_t nbins,
const Float_t* bins);
185 void Copy(TObject& rh)
const override;
186 TH1*
DrawCopy(Option_t* option =
"",
const char* name_postfix =
"_copy")
const override;
194 void Reset(Option_t* option =
"")
override;
198 void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content)
override
214 ClassDefOverride(
GCubeD, 1)
Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const override
friend GCubeD operator*(GCubeD &h1, Float_t c1)
TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const override
void Reset(Option_t *option="") override
friend GCubeD operator+(GCubeD &h1, GCubeD &h2)
void SetBinsLength(Int_t n=-1) override
void Draw(Option_t *option="") override
void UpdateBinContent(Int_t bin, Double_t content) override
GCubeD & operator=(const GCubeD &h1)
void AddBinContent(Int_t bin) override
Double_t GetBinContent(Int_t bin, Int_t) const override
TH2D * GetMatrix(bool force=false)
void Copy(TObject &rh) const override
void SetBinContent(Int_t bin, Double_t content) override
Double_t GetBinContent(Int_t bin) const override
friend GCubeD operator-(GCubeD &h1, GCubeD &h2)
friend GCubeD operator/(GCubeD &h1, GCubeD &h2)
friend GCubeD operator*(Float_t c1, GCubeD &h1)
void AddBinContent(Int_t bin, Double_t w) override
void SetBinContent(Int_t bin, Int_t, Double_t content) override
void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content) override
Double_t RetrieveBinContent(Int_t bin) const override
GCubeF & operator=(const GCubeF &h1)
void SetBinContent(Int_t bin, Int_t, Double_t content) override
void Draw(Option_t *option="") override
void Reset(Option_t *option="") override
void AddBinContent(Int_t bin) override
Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const override
friend GCubeF operator-(GCubeF &h1, GCubeF &h2)
TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const override
friend GCubeF operator/(GCubeF &h1, GCubeF &h2)
Double_t RetrieveBinContent(Int_t bin) const override
void SetBinsLength(Int_t n=-1) override
TH2F * GetMatrix(bool force=false)
Double_t GetBinContent(Int_t bin, Int_t) const override
void UpdateBinContent(Int_t bin, Double_t content) override
void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content) override
Double_t GetBinContent(Int_t bin) const override
friend GCubeF operator*(GCubeF &h1, Float_t c1)
void Copy(TObject &rh) const override
friend GCubeF operator+(GCubeF &h1, GCubeF &h2)
void SetBinContent(Int_t bin, Double_t content) override
void AddBinContent(Int_t bin, Double_t w) override
friend GCubeF operator*(Float_t c1, GCubeF &h1)
TH2 * fMatrix
! Transient pointer to the 2D-Matrix used in Draw() or GetMatrix()
Int_t Fill(Double_t) override
virtual Double_t GetCovariance(Int_t axis1=1, Int_t axis2=2) const
Int_t Fill(const char *, Double_t) override
virtual GCube * Rebin3D(Int_t ngroup=2, const char *newname="")
Int_t Fill(Double_t, Double_t) override
Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05) override
virtual void FitSlicesZ(TF1 *f1=nullptr, Int_t binminx=0, Int_t binmaxx=-1, Int_t binminy=0, Int_t binmaxy=-1, Int_t cut=0, Option_t *option="QNR")
void FillRandom(const char *fname, Int_t ntimes=5000, TRandom *rng=nullptr) override
virtual Int_t Fill(const char *, Double_t, Double_t)
void Smooth(Int_t ntimes=1, Option_t *option="") override
Double_t Interpolate(Double_t) const override
virtual Double_t IntegralAndError(Int_t firstxbin, Int_t lastxbin, Int_t firstybin, Int_t lastybin, Int_t firstzbin, Int_t lastzbin, Double_t &error, Option_t *option="") const
Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const override
virtual void SetShowProjection(const char *option="xy", Int_t nbins=1)
virtual void GetRandom3(Double_t &x, Double_t &y, Double_t &z)
TH1 * ShowBackground(Int_t niter=20, Option_t *option="same") override
virtual Int_t Fill(const char *, const char *, Double_t)
Int_t FindLastBinAbove(Double_t threshold=0, Int_t axis=1, Int_t firstBin=1, Int_t lastBin=-1) const override
void PutStats(Double_t *stats) override
virtual Int_t Fill(Double_t, const char *, Double_t)
Double_t Integral(Option_t *option="") const override
virtual Double_t GetCorrelationFactor(Int_t axis1=1, Int_t axis2=2) const
void GetStats(Double_t *stats) const override
void Reset(Option_t *option="") override
Int_t BufferEmpty(Int_t action=0) override
virtual TH1D * Projection(const char *name="_pr", Int_t firstBiny=0, Int_t lastBiny=-1, Int_t firstBinz=0, Int_t lastBinz=-1, Option_t *option="") const
Double_t DoIntegral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Double_t &error, Option_t *option, Bool_t doError=kFALSE) const override
Long64_t Merge(TCollection *list) override
Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const override
Int_t FindFirstBinAbove(Double_t threshold=0, Int_t axis=1, Int_t firstBin=1, Int_t lastBin=-1) const override
Int_t BufferFill(Double_t, Double_t) override
void Copy(TObject &obj) const override
virtual Double_t GetBinWithContent2(Double_t c, Int_t &binx, Int_t &biny, Int_t &binz, Int_t firstxbin=1, Int_t lastxbin=-1, Int_t firstybin=1, Int_t lastybin=-1, Int_t firstzbin=1, Int_t lastzbin=-1, Double_t maxdiff=0) const