Logo ROOT   6.18/05
Reference Guide
TH3.h
Go to the documentation of this file.
1// @(#)root/hist:$Id$
2// Author: Rene Brun 27/10/95
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TH3
13#define ROOT_TH3
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TH3 //
19// //
20// 3-Dim histogram base class. //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TH1.h"
25
26#include "TAtt3D.h"
27
28class TH2D;
29class TProfile2D;
30
31class TH3 : public TH1, public TAtt3D {
32
33protected:
34 Double_t fTsumwy; //Total Sum of weight*Y
35 Double_t fTsumwy2; //Total Sum of weight*Y*Y
36 Double_t fTsumwxy; //Total Sum of weight*X*Y
37 Double_t fTsumwz; //Total Sum of weight*Z
38 Double_t fTsumwz2; //Total Sum of weight*Z*Z
39 Double_t fTsumwxz; //Total Sum of weight*X*Z
40 Double_t fTsumwyz; //Total Sum of weight*Y*Z
41
42 TH3();
43 TH3(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
44 ,Int_t nbinsy,Double_t ylow,Double_t yup
45 ,Int_t nbinsz,Double_t zlow,Double_t zup);
46 TH3(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins
47 ,Int_t nbinsy,const Float_t *ybins
48 ,Int_t nbinsz,const Float_t *zbins);
49 TH3(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
50 ,Int_t nbinsy,const Double_t *ybins
51 ,Int_t nbinsz,const Double_t *zbins);
53
54 void DoFillProfileProjection(TProfile2D * p2, const TAxis & a1, const TAxis & a2, const TAxis & a3, Int_t bin1, Int_t bin2, Int_t bin3, Int_t inBin, Bool_t useWeights) const;
55
56 virtual Int_t BufferFill(Double_t, Double_t) {return -2;} //may not use
57 virtual Int_t BufferFill(Double_t, Double_t, Double_t) {return -2;} //may not use
58 Int_t Fill(Double_t); //MayNotUse
59 Int_t Fill(Double_t,Double_t) {return Fill(0.);} //MayNotUse
60 Int_t Fill(const char*, Double_t) {return Fill(0);} //MayNotUse
61 Int_t Fill(Double_t,const char*,Double_t) {return Fill(0);} //MayNotUse
62 Int_t Fill(const char*,Double_t,Double_t) {return Fill(0);} //MayNotUse
63 Int_t Fill(const char*,const char*,Double_t) {return Fill(0);} //MayNotUse
64
65private:
66
67 TH3(const TH3&);
68 TH3& operator=(const TH3&); // Not implemented
69
70public:
71 virtual ~TH3();
72 virtual Int_t BufferEmpty(Int_t action=0);
73 virtual void Copy(TObject &hnew) const;
74 virtual Int_t Fill(Double_t x, Double_t y, Double_t z);
76
77 virtual Int_t Fill(const char *namex, const char *namey, const char *namez, Double_t w);
78 virtual Int_t Fill(const char *namex, Double_t y, const char *namez, Double_t w);
79 virtual Int_t Fill(const char *namex, const char *namey, Double_t z, Double_t w);
80 virtual Int_t Fill(Double_t x, const char *namey, const char *namez, Double_t w);
81 virtual Int_t Fill(Double_t x, const char *namey, Double_t z, Double_t w);
82 virtual Int_t Fill(Double_t x, Double_t y, const char *namez, Double_t w);
83
84 virtual void FillRandom(const char *fname, Int_t ntimes=5000);
85 virtual void FillRandom(TH1 *h, Int_t ntimes=5000);
86 virtual void FitSlicesZ(TF1 *f1=0,Int_t binminx=1, Int_t binmaxx=0,Int_t binminy=1, Int_t binmaxy=0,
87 Int_t cut=0 ,Option_t *option="QNR"); // *MENU*
88 virtual Int_t GetBin(Int_t binx, Int_t biny, Int_t binz) const;
89 virtual Double_t GetBinContent(Int_t bin) const { return TH1::GetBinContent(bin); }
90 virtual Double_t GetBinContent(Int_t bin, Int_t) const { return TH1::GetBinContent(bin); }
91 virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const { return TH1::GetBinContent( GetBin(binx, biny, binz) ); }
94 virtual Double_t GetBinErrorLow(Int_t binx, Int_t biny, Int_t binz) { return TH1::GetBinErrorLow( GetBin(binx, biny, binz) ); }
95 virtual Double_t GetBinErrorUp(Int_t binx, Int_t biny, Int_t binz) { return TH1::GetBinErrorUp( GetBin(binx, biny, binz) ); }
96 virtual Double_t GetBinWithContent3(Double_t c, Int_t &binx, Int_t &biny, Int_t &binz, Int_t firstx=0, Int_t lastx=0,Int_t firsty=0, Int_t lasty=0, Int_t firstz=0, Int_t lastz=0, Double_t maxdiff=0) const;
97 virtual Double_t GetCorrelationFactor(Int_t axis1=1,Int_t axis2=2) const;
98 virtual Double_t GetCovariance(Int_t axis1=1,Int_t axis2=2) const;
99 virtual void GetRandom3(Double_t &x, Double_t &y, Double_t &z);
100 virtual void GetStats(Double_t *stats) const;
101 virtual Double_t Integral(Option_t *option="") const;
102 using TH1::Integral;
103 virtual Double_t Integral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Option_t *option="") const;
105 virtual Double_t IntegralAndError(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Double_t & err, Option_t *option="") const;
109 virtual Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const;
110 virtual TH1D *ProjectionX(const char *name="_px", Int_t iymin=0, Int_t iymax=-1, Int_t izmin=0,
111 Int_t izmax=-1, Option_t *option="") const; // *MENU*
112 virtual TH1D *ProjectionY(const char *name="_py", Int_t ixmin=0, Int_t ixmax=-1, Int_t izmin=0,
113 Int_t izmax=-1, Option_t *option="") const; // *MENU*
114 virtual TH1D *ProjectionZ(const char *name="_pz", Int_t ixmin=0, Int_t ixmax=-1, Int_t iymin=0,
115 Int_t iymax=-1, Option_t *option="") const; // *MENU*
116 virtual TH1 *Project3D(Option_t *option="x") const; // *MENU*
117 virtual TProfile2D *Project3DProfile(Option_t *option="xy") const; // *MENU*
118 virtual void PutStats(Double_t *stats);
119 virtual TH3 *RebinX(Int_t ngroup = 2, const char *newname = "");
120 virtual TH3 *RebinY(Int_t ngroup = 2, const char *newname = "");
121 virtual TH3 *RebinZ(Int_t ngroup = 2, const char *newname = "");
122 virtual TH3 *Rebin3D(Int_t nxgroup = 2, Int_t nygroup = 2, Int_t nzgroup = 2, const char *newname = "");
123 virtual void Reset(Option_t *option="");
124 virtual void SetBinContent(Int_t bin, Double_t content);
125 virtual void SetBinContent(Int_t bin, Int_t, Double_t content) { SetBinContent(bin, content); }
126 virtual void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content) { SetBinContent(GetBin(binx, biny, binz), content); }
127 virtual void SetShowProjection(const char *option="xy",Int_t nbins=1); // *MENU*
128
129protected:
130
131 virtual TH1D *DoProject1D(const char* name, const char * title, int imin1, int imax1, int imin2, int imax2,
132 const TAxis* projAxis, const TAxis * axis1, const TAxis * axis2, Option_t * option) const;
133 virtual TH1D *DoProject1D(const char* name, const char * title, const TAxis* projAxis,
134 bool computeErrors, bool originalRange, bool useUF, bool useOF) const;
135 virtual TH2D *DoProject2D(const char* name, const char * title, const TAxis* projX, const TAxis* projY,
136 bool computeErrors, bool originalRange,
137 bool useUF, bool useOF) const;
138 virtual TProfile2D *DoProjectProfile2D(const char* name, const char * title, const TAxis* projX, const TAxis* projY,
139 bool originalRange, bool useUF, bool useOF) const;
140
141 // these functions are need to be used inside TProfile3D::DoProjectProfile2D
142 static TH1D *DoProject1D(const TH3 & h, const char* name, const char * title, const TAxis* projX,
143 bool computeErrors, bool originalRange, bool useUF, bool useOF) {
144 return h.DoProject1D(name, title, projX, computeErrors, originalRange, useUF, useOF);
145 }
146 static TH2D *DoProject2D(const TH3 & h, const char* name, const char * title, const TAxis* projX, const TAxis* projY,
147 bool computeErrors, bool originalRange, bool useUF, bool useOF) {
148 return h.DoProject2D(name, title, projX,projY, computeErrors, originalRange, useUF, useOF);
149 }
150
151 ClassDef(TH3,6) //3-Dim histogram base class
152};
153
154//________________________________________________________________________
155
156class TH3C : public TH3, public TArrayC {
157public:
158 TH3C();
159 TH3C(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
160 ,Int_t nbinsy,Double_t ylow,Double_t yup
161 ,Int_t nbinsz,Double_t zlow,Double_t zup);
162 TH3C(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins
163 ,Int_t nbinsy,const Float_t *ybins
164 ,Int_t nbinsz,const Float_t *zbins);
165 TH3C(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
166 ,Int_t nbinsy,const Double_t *ybins
167 ,Int_t nbinsz,const Double_t *zbins);
168 TH3C(const TH3C &h3c);
169 virtual ~TH3C();
170 virtual void AddBinContent(Int_t bin);
171 virtual void AddBinContent(Int_t bin, Double_t w);
172 virtual void Copy(TObject &hnew) const;
173 virtual void Reset(Option_t *option="");
174 virtual void SetBinsLength(Int_t n=-1);
175 TH3C& operator=(const TH3C &h1);
176 friend TH3C operator*(Float_t c1, TH3C &h1);
177 friend TH3C operator*(TH3C &h1, Float_t c1) {return operator*(c1,h1);}
178 friend TH3C operator+(TH3C &h1, TH3C &h2);
179 friend TH3C operator-(TH3C &h1, TH3C &h2);
180 friend TH3C operator*(TH3C &h1, TH3C &h2);
181 friend TH3C operator/(TH3C &h1, TH3C &h2);
182
183protected:
184 virtual Double_t RetrieveBinContent(Int_t bin) const { return Double_t (fArray[bin]); }
185 virtual void UpdateBinContent(Int_t bin, Double_t content) { fArray[bin] = Char_t (content); }
186
187 ClassDef(TH3C,4) //3-Dim histograms (one char per channel)
188};
189
190//________________________________________________________________________
191
192class TH3S : public TH3, public TArrayS {
193public:
194 TH3S();
195 TH3S(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
196 ,Int_t nbinsy,Double_t ylow,Double_t yup
197 ,Int_t nbinsz,Double_t zlow,Double_t zup);
198 TH3S(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins
199 ,Int_t nbinsy,const Float_t *ybins
200 ,Int_t nbinsz,const Float_t *zbins);
201 TH3S(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
202 ,Int_t nbinsy,const Double_t *ybins
203 ,Int_t nbinsz,const Double_t *zbins);
204 TH3S(const TH3S &h3s);
205 virtual ~TH3S();
206 virtual void AddBinContent(Int_t bin);
207 virtual void AddBinContent(Int_t bin, Double_t w);
208 virtual void Copy(TObject &hnew) const;
209 virtual void Reset(Option_t *option="");
210 virtual void SetBinsLength(Int_t n=-1);
211 TH3S& operator=(const TH3S &h1);
212 friend TH3S operator*(Float_t c1, TH3S &h1);
213 friend TH3S operator*(TH3S &h1, Float_t c1) {return operator*(c1,h1);}
214 friend TH3S operator+(TH3S &h1, TH3S &h2);
215 friend TH3S operator-(TH3S &h1, TH3S &h2);
216 friend TH3S operator*(TH3S &h1, TH3S &h2);
217 friend TH3S operator/(TH3S &h1, TH3S &h2);
218
219protected:
220 virtual Double_t RetrieveBinContent(Int_t bin) const { return Double_t (fArray[bin]); }
221 virtual void UpdateBinContent(Int_t bin, Double_t content) { fArray[bin] = Short_t (content); }
222
223 ClassDef(TH3S,4) //3-Dim histograms (one short per channel)
224};
225
226//________________________________________________________________________
227
228class TH3I : public TH3, public TArrayI {
229public:
230 TH3I();
231 TH3I(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
232 ,Int_t nbinsy,Double_t ylow,Double_t yup
233 ,Int_t nbinsz,Double_t zlow,Double_t zup);
234 TH3I(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins
235 ,Int_t nbinsy,const Float_t *ybins
236 ,Int_t nbinsz,const Float_t *zbins);
237 TH3I(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
238 ,Int_t nbinsy,const Double_t *ybins
239 ,Int_t nbinsz,const Double_t *zbins);
240 TH3I(const TH3I &h3i);
241 virtual ~TH3I();
242 virtual void AddBinContent(Int_t bin);
243 virtual void AddBinContent(Int_t bin, Double_t w);
244 virtual void Copy(TObject &hnew) const;
245 virtual void Reset(Option_t *option="");
246 virtual void SetBinsLength(Int_t n=-1);
247 TH3I& operator=(const TH3I &h1);
248 friend TH3I operator*(Float_t c1, TH3I &h1);
249 friend TH3I operator*(TH3I &h1, Float_t c1) {return operator*(c1,h1);}
250 friend TH3I operator+(TH3I &h1, TH3I &h2);
251 friend TH3I operator-(TH3I &h1, TH3I &h2);
252 friend TH3I operator*(TH3I &h1, TH3I &h2);
253 friend TH3I operator/(TH3I &h1, TH3I &h2);
254
255protected:
256 virtual Double_t RetrieveBinContent(Int_t bin) const { return Double_t (fArray[bin]); }
257 virtual void UpdateBinContent(Int_t bin, Double_t content) { fArray[bin] = Int_t (content); }
258
259 ClassDef(TH3I,4) //3-Dim histograms (one 32 bits integer per channel)
260};
261
262
263//________________________________________________________________________
264
265class TH3F : public TH3, public TArrayF {
266public:
267 TH3F();
268 TH3F(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
269 ,Int_t nbinsy,Double_t ylow,Double_t yup
270 ,Int_t nbinsz,Double_t zlow,Double_t zup);
271 TH3F(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins
272 ,Int_t nbinsy,const Float_t *ybins
273 ,Int_t nbinsz,const Float_t *zbins);
274 TH3F(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
275 ,Int_t nbinsy,const Double_t *ybins
276 ,Int_t nbinsz,const Double_t *zbins);
277 TH3F(const TH3F &h3f);
278 virtual ~TH3F();
279 virtual void AddBinContent(Int_t bin) {++fArray[bin];}
280 virtual void AddBinContent(Int_t bin, Double_t w)
281 {fArray[bin] += Float_t (w);}
282 virtual void Copy(TObject &hnew) const;
283 virtual void Reset(Option_t *option="");
284 virtual void SetBinsLength(Int_t n=-1);
285 TH3F& operator=(const TH3F &h1);
286 friend TH3F operator*(Float_t c1, TH3F &h1);
287 friend TH3F operator*(TH3F &h1, Float_t c1) {return operator*(c1,h1);}
288 friend TH3F operator+(TH3F &h1, TH3F &h2);
289 friend TH3F operator-(TH3F &h1, TH3F &h2);
290 friend TH3F operator*(TH3F &h1, TH3F &h2);
291 friend TH3F operator/(TH3F &h1, TH3F &h2);
292
293protected:
294 virtual Double_t RetrieveBinContent(Int_t bin) const { return Double_t (fArray[bin]); }
295 virtual void UpdateBinContent(Int_t bin, Double_t content) { fArray[bin] = Float_t (content); }
296
297 ClassDef(TH3F,4) //3-Dim histograms (one float per channel)
298};
299
300//________________________________________________________________________
301
302class TH3D : public TH3, public TArrayD {
303public:
304 TH3D();
305 TH3D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
306 ,Int_t nbinsy,Double_t ylow,Double_t yup
307 ,Int_t nbinsz,Double_t zlow,Double_t zup);
308 TH3D(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins
309 ,Int_t nbinsy,const Float_t *ybins
310 ,Int_t nbinsz,const Float_t *zbins);
311 TH3D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
312 ,Int_t nbinsy,const Double_t *ybins
313 ,Int_t nbinsz,const Double_t *zbins);
314 TH3D(const TH3D &h3d);
315 virtual ~TH3D();
316 virtual void AddBinContent(Int_t bin) {++fArray[bin];}
317 virtual void AddBinContent(Int_t bin, Double_t w)
318 {fArray[bin] += Double_t (w);}
319 virtual void Copy(TObject &hnew) const;
320 virtual void Reset(Option_t *option="");
321 virtual void SetBinsLength(Int_t n=-1);
322 TH3D& operator=(const TH3D &h1);
323 friend TH3D operator*(Float_t c1, TH3D &h1);
324 friend TH3D operator*(TH3D &h1, Float_t c1) {return operator*(c1,h1);}
325 friend TH3D operator+(TH3D &h1, TH3D &h2);
326 friend TH3D operator-(TH3D &h1, TH3D &h2);
327 friend TH3D operator*(TH3D &h1, TH3D &h2);
328 friend TH3D operator/(TH3D &h1, TH3D &h2);
329
330protected:
331 virtual Double_t RetrieveBinContent(Int_t bin) const { return fArray[bin]; }
332 virtual void UpdateBinContent(Int_t bin, Double_t content) { fArray[bin] = content; }
333
334 ClassDef(TH3D,4) //3-Dim histograms (one double per channel)
335};
336
337#endif
338
#define c(i)
Definition: RSha256.hxx:101
#define h(i)
Definition: RSha256.hxx:106
int Int_t
Definition: RtypesCore.h:41
char Char_t
Definition: RtypesCore.h:29
bool Bool_t
Definition: RtypesCore.h:59
short Short_t
Definition: RtypesCore.h:35
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:326
char name[80]
Definition: TGX11.cxx:109
Array of chars or bytes (8 bits per element).
Definition: TArrayC.h:27
Char_t * fArray
Definition: TArrayC.h:30
Array of doubles (64 bits per element).
Definition: TArrayD.h:27
Double_t * fArray
Definition: TArrayD.h:30
void Reset()
Definition: TArrayD.h:47
Array of floats (32 bits per element).
Definition: TArrayF.h:27
Float_t * fArray
Definition: TArrayF.h:30
void Reset()
Definition: TArrayF.h:47
Array of integers (32 bits per element).
Definition: TArrayI.h:27
Int_t * fArray
Definition: TArrayI.h:30
void Reset()
Definition: TArrayI.h:47
Array of shorts (16 bits per element).
Definition: TArrayS.h:27
void Reset()
Definition: TArrayS.h:47
Short_t * fArray
Definition: TArrayS.h:30
Use this attribute class when an object should have 3D capabilities.
Definition: TAtt3D.h:19
Class to manage histogram axis.
Definition: TAxis.h:30
1-Dim function class
Definition: TF1.h:211
1-D histogram with a double per channel (see TH1 documentation)}
Definition: TH1.h:614
The TH1 histogram class.
Definition: TH1.h:56
virtual Double_t IntegralAndError(Int_t binx1, Int_t binx2, Double_t &err, Option_t *option="") const
Return integral of bin contents in range [binx1,binx2] and its error.
Definition: TH1.cxx:7440
virtual Double_t GetBinErrorLow(Int_t bin) const
Return lower error associated to bin number bin.
Definition: TH1.cxx:8492
virtual Double_t Integral(Option_t *option="") const
Return integral of bin contents.
Definition: TH1.cxx:7413
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
Definition: TH1.cxx:4882
virtual Double_t GetBinErrorUp(Int_t bin) const
Return upper error associated to bin number bin.
Definition: TH1.cxx:8523
2-D histogram with a double per channel (see TH1 documentation)}
Definition: TH2.h:289
3-D histogram with a byte per channel (see TH1 documentation)
Definition: TH3.h:156
friend TH3C operator/(TH3C &h1, TH3C &h2)
Operator /.
Definition: TH3.cxx:3458
virtual void Copy(TObject &hnew) const
Copy this 3-D histogram structure to newth3.
Definition: TH3.cxx:3306
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
Definition: TH3.cxx:3315
friend TH3C operator*(Float_t c1, TH3C &h1)
Operator *.
Definition: TH3.cxx:3410
friend TH3C operator-(TH3C &h1, TH3C &h2)
Operator -.
Definition: TH3.cxx:3434
virtual void UpdateBinContent(Int_t bin, Double_t content)
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH3.h:185
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH3.cxx:3327
friend TH3C operator+(TH3C &h1, TH3C &h2)
Operator +.
Definition: TH3.cxx:3422
TH3C & operator=(const TH3C &h1)
Operator =.
Definition: TH3.cxx:3400
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
Definition: TH3.cxx:3285
TH3C()
Constructor.
Definition: TH3.cxx:3217
friend TH3C operator*(TH3C &h1, Float_t c1)
Definition: TH3.h:177
virtual Double_t RetrieveBinContent(Int_t bin) const
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH3.h:184
virtual ~TH3C()
Destructor.
Definition: TH3.cxx:3227
3-D histogram with a double per channel (see TH1 documentation)}
Definition: TH3.h:302
virtual void AddBinContent(Int_t bin, Double_t w)
Increment bin content by a weight w.
Definition: TH3.h:317
friend TH3D operator+(TH3D &h1, TH3D &h2)
Operator +.
Definition: TH3.cxx:4275
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH3.cxx:4209
TH3D()
Constructor.
Definition: TH3.cxx:4120
friend TH3D operator*(TH3D &h1, Float_t c1)
Definition: TH3.h:324
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
Definition: TH3.h:316
virtual Double_t RetrieveBinContent(Int_t bin) const
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH3.h:331
friend TH3D operator-(TH3D &h1, TH3D &h2)
Operator -.
Definition: TH3.cxx:4287
virtual void Copy(TObject &hnew) const
Copy this 3-D histogram structure to newth3.
Definition: TH3.cxx:4188
virtual void UpdateBinContent(Int_t bin, Double_t content)
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH3.h:332
friend TH3D operator*(Float_t c1, TH3D &h1)
Operator *.
Definition: TH3.cxx:4263
TH3D & operator=(const TH3D &h1)
Operator =.
Definition: TH3.cxx:4253
friend TH3D operator/(TH3D &h1, TH3D &h2)
Operator /.
Definition: TH3.cxx:4311
virtual ~TH3D()
Destructor.
Definition: TH3.cxx:4130
3-D histogram with a float per channel (see TH1 documentation)}
Definition: TH3.h:265
virtual void AddBinContent(Int_t bin, Double_t w)
Increment bin content by a weight w.
Definition: TH3.h:280
friend TH3F operator-(TH3F &h1, TH3F &h2)
Operator -.
Definition: TH3.cxx:4076
friend TH3F operator+(TH3F &h1, TH3F &h2)
Operator +.
Definition: TH3.cxx:4064
TH3F & operator=(const TH3F &h1)
Operator =.
Definition: TH3.cxx:4042
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
Definition: TH3.h:279
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH3.cxx:3998
TH3F()
Constructor.
Definition: TH3.cxx:3909
virtual Double_t RetrieveBinContent(Int_t bin) const
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH3.h:294
friend TH3F operator*(Float_t c1, TH3F &h1)
Operator *.
Definition: TH3.cxx:4052
virtual ~TH3F()
Destructor.
Definition: TH3.cxx:3919
virtual void Copy(TObject &hnew) const
Copy this 3-D histogram structure to newth3.
Definition: TH3.cxx:3977
virtual void UpdateBinContent(Int_t bin, Double_t content)
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH3.h:295
friend TH3F operator/(TH3F &h1, TH3F &h2)
Operator /.
Definition: TH3.cxx:4100
friend TH3F operator*(TH3F &h1, Float_t c1)
Definition: TH3.h:287
3-D histogram with an int per channel (see TH1 documentation)}
Definition: TH3.h:228
virtual void Copy(TObject &hnew) const
Copy this 3-D histogram structure to newth3.
Definition: TH3.cxx:3799
TH3I & operator=(const TH3I &h1)
Operator =.
Definition: TH3.cxx:3831
friend TH3I operator*(Float_t c1, TH3I &h1)
Operator *.
Definition: TH3.cxx:3841
TH3I()
Constructor.
Definition: TH3.cxx:3710
friend TH3I operator*(TH3I &h1, Float_t c1)
Definition: TH3.h:249
friend TH3I operator/(TH3I &h1, TH3I &h2)
Operator /.
Definition: TH3.cxx:3889
friend TH3I operator+(TH3I &h1, TH3I &h2)
Operator +.
Definition: TH3.cxx:3853
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
Definition: TH3.cxx:3778
virtual Double_t RetrieveBinContent(Int_t bin) const
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH3.h:256
virtual ~TH3I()
Destructor.
Definition: TH3.cxx:3720
virtual void UpdateBinContent(Int_t bin, Double_t content)
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH3.h:257
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH3.cxx:3820
friend TH3I operator-(TH3I &h1, TH3I &h2)
Operator _.
Definition: TH3.cxx:3865
3-D histogram with a short per channel (see TH1 documentation)
Definition: TH3.h:192
friend TH3S operator*(TH3S &h1, Float_t c1)
Definition: TH3.h:213
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
Definition: TH3.cxx:3546
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH3.cxx:3588
virtual Double_t RetrieveBinContent(Int_t bin) const
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH3.h:220
friend TH3S operator-(TH3S &h1, TH3S &h2)
Operator -.
Definition: TH3.cxx:3666
virtual ~TH3S()
Destructor.
Definition: TH3.cxx:3488
friend TH3S operator+(TH3S &h1, TH3S &h2)
Operator +.
Definition: TH3.cxx:3654
friend TH3S operator*(Float_t c1, TH3S &h1)
Operator *.
Definition: TH3.cxx:3642
TH3S & operator=(const TH3S &h1)
Operator =.
Definition: TH3.cxx:3632
TH3S()
Constructor.
Definition: TH3.cxx:3478
friend TH3S operator/(TH3S &h1, TH3S &h2)
Operator /.
Definition: TH3.cxx:3690
virtual void UpdateBinContent(Int_t bin, Double_t content)
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH3.h:221
virtual void Copy(TObject &hnew) const
Copy this 3-D histogram structure to newth3.
Definition: TH3.cxx:3567
The 3-D histogram classes derived from the 1-D histogram classes.
Definition: TH3.h:31
Int_t Fill(const char *, Double_t)
Increment bin with namex with a weight w.
Definition: TH3.h:60
virtual TH3 * Rebin3D(Int_t nxgroup=2, Int_t nygroup=2, Int_t nzgroup=2, const char *newname="")
Rebin this histogram grouping nxgroup/nygroup/nzgroup bins along the xaxis/yaxis/zaxis together.
Definition: TH3.cxx:2661
static TH2D * DoProject2D(const TH3 &h, const char *name, const char *title, const TAxis *projX, const TAxis *projY, bool computeErrors, bool originalRange, bool useUF, bool useOF)
Definition: TH3.h:146
Int_t Fill(Double_t)
Invalid Fill method.
Definition: TH3.cxx:286
Double_t fTsumwy
Definition: TH3.h:34
Int_t Fill(const char *, const char *, Double_t)
Definition: TH3.h:63
virtual Int_t BufferFill(Double_t, Double_t, Double_t)
Definition: TH3.h:57
virtual void GetStats(Double_t *stats) const
Fill the array stats from the contents of this histogram The array stats must be correctly dimensione...
Definition: TH3.cxx:1081
Double_t fTsumwy2
Definition: TH3.h:35
virtual Double_t GetCovariance(Int_t axis1=1, Int_t axis2=2) const
Return covariance between axis1 and axis2.
Definition: TH3.cxx:987
virtual Int_t BufferEmpty(Int_t action=0)
Fill histogram with all entries in the buffer.
Definition: TH3.cxx:183
virtual void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content)
Definition: TH3.h:126
virtual TH2D * DoProject2D(const char *name, const char *title, const TAxis *projX, const TAxis *projY, bool computeErrors, bool originalRange, bool useUF, bool useOF) const
internal method performing the projection to a 2D histogram called from TH3::Project3D
Definition: TH3.cxx:1844
Double_t fTsumwxz
Definition: TH3.h:39
virtual Int_t BufferFill(Double_t, Double_t)
accumulate arguments in buffer.
Definition: TH3.h:56
virtual Double_t GetBinErrorUp(Int_t binx, Int_t biny, Int_t binz)
Definition: TH3.h:95
virtual TH1D * ProjectionY(const char *name="_py", Int_t ixmin=0, Int_t ixmax=-1, Int_t izmin=0, Int_t izmax=-1, Option_t *option="") const
Project a 3-D histogram into a 1-D histogram along Y.
Definition: TH3.cxx:1548
Int_t Fill(Double_t, Double_t)
Increment bin with abscissa X with a weight w.
Definition: TH3.h:59
virtual Int_t GetBin(Int_t binx, Int_t biny, Int_t binz) const
See comments in TH1::GetBin.
Definition: TH3.cxx:895
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
Definition: TH3.cxx:3153
virtual Double_t Integral(Option_t *option="") const
Return integral of bin contents.
Definition: TH3.cxx:1158
virtual void Copy(TObject &hnew) const
Copy.
Definition: TH3.cxx:162
virtual void SetBinContent(Int_t bin, Int_t, Double_t content)
Definition: TH3.h:125
TH3 & operator=(const TH3 &)
virtual ~TH3()
Destructor.
Definition: TH3.cxx:154
virtual TH3 * RebinY(Int_t ngroup=2, const char *newname="")
Rebin only the Y axis see Rebin3D.
Definition: TH3.cxx:2620
virtual Double_t IntegralAndError(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Double_t &err, Option_t *option="") const
Return integral of bin contents in range [binx1,binx2],[biny1,biny2],[binz1,binz2] for a 3-D histogra...
Definition: TH3.cxx:1189
virtual TH1D * ProjectionZ(const char *name="_pz", Int_t ixmin=0, Int_t ixmax=-1, Int_t iymin=0, Int_t iymax=-1, Option_t *option="") const
Project a 3-D histogram into a 1-D histogram along Z.
Definition: TH3.cxx:1579
virtual TH1D * ProjectionX(const char *name="_px", Int_t iymin=0, Int_t iymax=-1, Int_t izmin=0, Int_t izmax=-1, Option_t *option="") const
Project a 3-D histogram into a 1-D histogram along X.
Definition: TH3.cxx:1516
virtual TProfile2D * Project3DProfile(Option_t *option="xy") const
Project a 3-d histogram into a 2-d profile histograms depending on the option parameter option may co...
Definition: TH3.cxx:2510
virtual void FillRandom(const char *fname, Int_t ntimes=5000)
Fill histogram following distribution in function fname.
Definition: TH3.cxx:668
Double_t fTsumwz2
Definition: TH3.h:38
virtual Double_t Interpolate(Double_t x)
Not yet implemented.
Definition: TH3.cxx:1200
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
Definition: TH3.h:89
Double_t fTsumwxy
Definition: TH3.h:36
virtual Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const
Statistical test of compatibility in shape between THIS histogram and h2, using Kolmogorov test.
Definition: TH3.cxx:1301
virtual void FitSlicesZ(TF1 *f1=0, Int_t binminx=1, Int_t binmaxx=0, Int_t binminy=1, Int_t binmaxy=0, Int_t cut=0, Option_t *option="QNR")
Project slices along Z in case of a 3-D histogram, then fit each slice with function f1 and make a 2-...
Definition: TH3.cxx:809
virtual TH1 * Project3D(Option_t *option="x") const
Project a 3-d histogram into 1 or 2-d histograms depending on the option parameter,...
Definition: TH3.cxx:2146
virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const
Definition: TH3.h:91
virtual void PutStats(Double_t *stats)
Replace current statistics with the values in array stats.
Definition: TH3.cxx:2593
virtual Double_t GetBinErrorLow(Int_t binx, Int_t biny, Int_t binz)
Definition: TH3.h:94
virtual Double_t GetBinContent(Int_t bin, Int_t) const
Definition: TH3.h:90
Int_t Fill(Double_t, const char *, Double_t)
Definition: TH3.h:61
virtual Double_t GetBinWithContent3(Double_t c, Int_t &binx, Int_t &biny, Int_t &binz, Int_t firstx=0, Int_t lastx=0, Int_t firsty=0, Int_t lasty=0, Int_t firstz=0, Int_t lastz=0, Double_t maxdiff=0) const
Compute first cell (binx,biny,binz) in the range [firstx,lastx](firsty,lasty][firstz,...
Definition: TH3.cxx:929
virtual TH3 * RebinX(Int_t ngroup=2, const char *newname="")
Rebin only the X axis see Rebin3D.
Definition: TH3.cxx:2610
void DoFillProfileProjection(TProfile2D *p2, const TAxis &a1, const TAxis &a2, const TAxis &a3, Int_t bin1, Int_t bin2, Int_t bin3, Int_t inBin, Bool_t useWeights) const
internal function to fill the bins of the projected profile 2D histogram called from DoProjectProfile...
Definition: TH3.cxx:2278
virtual void GetRandom3(Double_t &x, Double_t &y, Double_t &z)
Return 3 random numbers along axis x , y and z distributed according the cell-contents of a 3-dim his...
Definition: TH3.cxx:1034
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content.
Definition: TH3.cxx:3172
virtual TH3 * RebinZ(Int_t ngroup=2, const char *newname="")
Rebin only the Z axis see Rebin3D.
Definition: TH3.cxx:2630
static TH1D * DoProject1D(const TH3 &h, const char *name, const char *title, const TAxis *projX, bool computeErrors, bool originalRange, bool useUF, bool useOF)
Definition: TH3.h:142
virtual Int_t BufferFill(Double_t x, Double_t y, Double_t z, Double_t w)
accumulate arguments in buffer.
Definition: TH3.cxx:257
virtual void SetShowProjection(const char *option="xy", Int_t nbins=1)
When the mouse is moved in a pad containing a 3-d view of this histogram a second canvas shows a proj...
Definition: TH3.cxx:3356
Int_t Fill(const char *, Double_t, Double_t)
Definition: TH3.h:62
virtual Double_t GetCorrelationFactor(Int_t axis1=1, Int_t axis2=2) const
Return correlation factor between axis1 and axis2.
Definition: TH3.cxx:969
virtual TH1D * DoProject1D(const char *name, const char *title, int imin1, int imax1, int imin2, int imax2, const TAxis *projAxis, const TAxis *axis1, const TAxis *axis2, Option_t *option) const
internal method performing the projection to 1D histogram called from TH3::Project3D
Definition: TH3.cxx:1595
Double_t fTsumwz
Definition: TH3.h:37
Double_t fTsumwyz
Definition: TH3.h:40
TH3()
Default constructor.
Definition: TH3.cxx:63
virtual TProfile2D * DoProjectProfile2D(const char *name, const char *title, const TAxis *projX, const TAxis *projY, bool originalRange, bool useUF, bool useOF) const
internal method to project to a 2D Profile called from TH3::Project3DProfile
Definition: TH3.cxx:2304
Mother of all ROOT objects.
Definition: TObject.h:37
Profile2D histograms are used to display the mean value of Z and its RMS for each cell in X,...
Definition: TProfile2D.h:27
return c1
Definition: legend1.C:41
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
const Int_t n
Definition: legend1.C:16
TH1F * h1
Definition: legend1.C:5
TF1 * f1
Definition: legend1.C:11