Logo ROOT  
Reference Guide
TH1.h
Go to the documentation of this file.
1// @(#)root/hist:$Id$
2// Author: Rene Brun 26/12/94
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_TH1
13#define ROOT_TH1
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TH1 //
19// //
20// 1-Dim histogram base class. //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TAxis.h"
25
26#include "TAttLine.h"
27
28#include "TAttFill.h"
29
30#include "TAttMarker.h"
31
32#include "TArrayC.h"
33#include "TArrayS.h"
34#include "TArrayI.h"
35#include "TArrayF.h"
36#include "TArrayD.h"
37#include "Foption.h"
38
39#include "TVectorFfwd.h"
40#include "TVectorDfwd.h"
41
42#include "TFitResultPtr.h"
43
44#include <cfloat>
45#include <string>
46
47class TF1;
48class TH1D;
49class TBrowser;
50class TDirectory;
51class TList;
52class TCollection;
53class TVirtualFFT;
55class TRandom;
56
57
58class TH1 : public TNamed, public TAttLine, public TAttFill, public TAttMarker {
59
60public:
61
62 /// Enumeration specifying type of statistics for bin errors
64 kNormal = 0, ///< Errors with Normal (Wald) approximation: errorUp=errorLow= sqrt(N)
65 kPoisson = 1 , ///< Errors from Poisson interval at 68.3% (1 sigma)
66 kPoisson2 = 2 ///< Errors from Poisson interval at 95% CL (~ 2 sigma)
67 };
68
69 /// Enumeration specifying which axes can be extended
70 enum {
71 kNoAxis = 0, ///< NOTE: Must always be 0 !!!
72 kXaxis = BIT(0),
73 kYaxis = BIT(1),
74 kZaxis = BIT(2),
76 };
77
78 /// Enumeration specifying the way to treat statoverflow
80 kIgnore = 0, ///< Override global flag ignoring the overflows
81 kConsider = 1, ///< Override global flag considering the overflows
82 kNeutral = 2, ///< Adapt to the global flag
83 };
84
85 friend class TH1Merger;
86
87protected:
88 Int_t fNcells; ///< Number of bins(1D), cells (2D) +U/Overflows
89 TAxis fXaxis; ///< X axis descriptor
90 TAxis fYaxis; ///< Y axis descriptor
91 TAxis fZaxis; ///< Z axis descriptor
92 Short_t fBarOffset; ///< (1000*offset) for bar charts or legos
93 Short_t fBarWidth; ///< (1000*width) for bar charts or legos
94 Double_t fEntries; ///< Number of entries
95 Double_t fTsumw; ///< Total Sum of weights
96 Double_t fTsumw2; ///< Total Sum of squares of weights
97 Double_t fTsumwx; ///< Total Sum of weight*X
98 Double_t fTsumwx2; ///< Total Sum of weight*X*X
99 Double_t fMaximum; ///< Maximum value for plotting
100 Double_t fMinimum; ///< Minimum value for plotting
101 Double_t fNormFactor; ///< Normalization factor
102 TArrayD fContour; ///< Array to display contour levels
103 TArrayD fSumw2; ///< Array of sum of squares of weights
104 TString fOption; ///< Histogram options
105 TList *fFunctions; ///<->Pointer to list of functions (fits and user)
106 Int_t fBufferSize; ///< fBuffer size
107 Double_t *fBuffer; ///<[fBufferSize] entry buffer
108 TDirectory *fDirectory; ///<! Pointer to directory holding this histogram
109 Int_t fDimension; ///<! Histogram dimension (1, 2 or 3 dim)
110 Double_t *fIntegral; ///<! Integral of bins used by GetRandom
111 TVirtualHistPainter *fPainter; ///<! Pointer to histogram painter
112 EBinErrorOpt fBinStatErrOpt; ///< Option for bin statistical errors
113 EStatOverflows fStatOverflows; ///< Per object flag to use under/overflows in statistics
114 static Int_t fgBufferSize; ///<! Default buffer size for automatic histograms
115 static Bool_t fgAddDirectory; ///<! Flag to add histograms to the directory
116 static Bool_t fgStatOverflows; ///<! Flag to use under/overflows in statistics
117 static Bool_t fgDefaultSumw2; ///<! Flag to call TH1::Sumw2 automatically at histogram creation time
118
119public:
121
122private:
123 void Build();
124
125 TH1(const TH1&);
126 TH1& operator=(const TH1&) = delete;
127
128protected:
129 TH1();
130 TH1(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup);
131 TH1(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins);
132 TH1(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins);
133
134 Int_t AxisChoice(Option_t *axis) const;
136 virtual Bool_t FindNewAxisLimits(const TAxis* axis, const Double_t point, Double_t& newMin, Double_t &newMax);
137 virtual void SavePrimitiveHelp(std::ostream &out, const char *hname, Option_t *option = "");
138 static Bool_t RecomputeAxisLimits(TAxis& destAxis, const TAxis& anAxis);
139 static Bool_t SameLimitsAndNBins(const TAxis& axis1, const TAxis& axis2);
140 Bool_t IsEmpty() const;
142
143 inline static Double_t AutoP2GetPower2(Double_t x, Bool_t next = kTRUE);
144 inline static Int_t AutoP2GetBins(Int_t n);
145 virtual Int_t AutoP2FindLimits(Double_t min, Double_t max);
146
147 virtual Double_t DoIntegral(Int_t ix1, Int_t ix2, Int_t iy1, Int_t iy2, Int_t iz1, Int_t iz2, Double_t & err,
148 Option_t * opt, Bool_t doerr = kFALSE) const;
149
150 virtual void DoFillN(Int_t ntimes, const Double_t *x, const Double_t *w, Int_t stride=1);
151 Bool_t GetStatOverflowsBehaviour() const { return EStatOverflows::kNeutral == fStatOverflows ? fgStatOverflows : EStatOverflows::kConsider == fStatOverflows; }
152
153 static bool CheckAxisLimits(const TAxis* a1, const TAxis* a2);
154 static bool CheckBinLimits(const TAxis* a1, const TAxis* a2);
155 static bool CheckBinLabels(const TAxis* a1, const TAxis* a2);
156 static bool CheckEqualAxes(const TAxis* a1, const TAxis* a2);
157 static bool CheckConsistentSubAxes(const TAxis *a1, Int_t firstBin1, Int_t lastBin1, const TAxis *a2, Int_t firstBin2=0, Int_t lastBin2=0);
158 static bool CheckConsistency(const TH1* h1, const TH1* h2);
159
160public:
161 /// TH1 status bits
163 kNoStats = BIT(9), ///< Don't draw stats box
164 kUserContour = BIT(10), ///< User specified contour levels
165 // kCanRebin = BIT(11), ///< FIXME DEPRECATED - to be removed, replaced by SetCanExtend / CanExtendAllAxes
166 kLogX = BIT(15), ///< X-axis in log scale
167 kIsZoomed = BIT(16), ///< Bit set when zooming on Y axis
168 kNoTitle = BIT(17), ///< Don't draw the histogram title
169 kIsAverage = BIT(18), ///< Bin contents are average (used by Add)
170 kIsNotW = BIT(19), ///< Histogram is forced to be not weighted even when the histogram is filled with weighted
171 /// different than 1.
172 kAutoBinPTwo = BIT(20), ///< Use Power(2)-based algorithm for autobinning
173 kIsHighlight = BIT(21) ///< bit set if histo is highlight
174 };
175 /// Size of statistics data (size of array used in GetStats()/ PutStats )
176 /// - s[0] = sumw s[1] = sumw2
177 /// - s[2] = sumwx s[3] = sumwx2
178 /// - s[4] = sumwy s[5] = sumwy2 s[6] = sumwxy
179 /// - s[7] = sumwz s[8] = sumwz2 s[9] = sumwxz s[10] = sumwyz
180 /// - s[11] = sumwt s[12] = sumwt2 (11 and 12 used only by TProfile3D)
181 enum {
182 kNstat = 13 ///< Size of statistics data (up to TProfile3D)
183 };
184
185
186 ~TH1() override;
187
188 virtual Bool_t Add(TF1 *h1, Double_t c1=1, Option_t *option="");
189 virtual Bool_t Add(const TH1 *h1, Double_t c1=1);
190 virtual Bool_t Add(const TH1 *h, const TH1 *h2, Double_t c1=1, Double_t c2=1); // *MENU*
191 virtual void AddBinContent(Int_t bin);
192 virtual void AddBinContent(Int_t bin, Double_t w);
193 static void AddDirectory(Bool_t add=kTRUE);
194 static Bool_t AddDirectoryStatus();
195 void Browse(TBrowser *b) override;
196 virtual Bool_t CanExtendAllAxes() const;
197 virtual Double_t Chi2Test(const TH1* h2, Option_t *option = "UU", Double_t *res = 0) const;
198 virtual Double_t Chi2TestX(const TH1* h2, Double_t &chi2, Int_t &ndf, Int_t &igood,Option_t *option = "UU", Double_t *res = 0) const;
199 virtual Double_t Chisquare(TF1 * f1, Option_t *option = "") const;
200 virtual void ClearUnderflowAndOverflow();
201 virtual Double_t ComputeIntegral(Bool_t onlyPositive = false);
202 TObject* Clone(const char *newname = "") const override;
203 void Copy(TObject &hnew) const override;
204 virtual void DirectoryAutoAdd(TDirectory *);
205 Int_t DistancetoPrimitive(Int_t px, Int_t py) override;
206 virtual Bool_t Divide(TF1 *f1, Double_t c1=1);
207 virtual Bool_t Divide(const TH1 *h1);
208 virtual Bool_t Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
209 void Draw(Option_t *option = "") override;
210 virtual TH1 *DrawCopy(Option_t *option="", const char * name_postfix = "_copy") const;
211 virtual TH1 *DrawNormalized(Option_t *option="", Double_t norm=1) const;
212 virtual void DrawPanel(); // *MENU*
213 virtual Int_t BufferEmpty(Int_t action=0);
214 virtual void Eval(TF1 *f1, Option_t *option="");
215 void ExecuteEvent(Int_t event, Int_t px, Int_t py) override;
216 virtual void ExtendAxis(Double_t x, TAxis *axis);
217 virtual TH1 *FFT(TH1* h_output, Option_t *option);
218 virtual Int_t Fill(Double_t x);
219 virtual Int_t Fill(Double_t x, Double_t w);
220 virtual Int_t Fill(const char *name, Double_t w);
221 virtual void FillN(Int_t ntimes, const Double_t *x, const Double_t *w, Int_t stride=1);
222 virtual void FillN(Int_t, const Double_t *, const Double_t *, const Double_t *, Int_t) {;}
223 virtual void FillRandom(const char *fname, Int_t ntimes=5000, TRandom * rng = nullptr);
224 virtual void FillRandom(TH1 *h, Int_t ntimes=5000, TRandom * rng = nullptr);
225 virtual Int_t FindBin(Double_t x, Double_t y=0, Double_t z=0);
226 virtual Int_t FindFixBin(Double_t x, Double_t y=0, Double_t z=0) const;
227 virtual Int_t FindFirstBinAbove(Double_t threshold=0, Int_t axis=1, Int_t firstBin=1, Int_t lastBin=-1) const;
228 virtual Int_t FindLastBinAbove (Double_t threshold=0, Int_t axis=1, Int_t firstBin=1, Int_t lastBin=-1) const;
229 TObject *FindObject(const char *name) const override;
230 TObject *FindObject(const TObject *obj) const override;
231 virtual TFitResultPtr Fit(const char *formula ,Option_t *option="" ,Option_t *goption="", Double_t xmin=0, Double_t xmax=0); // *MENU*
232 virtual TFitResultPtr Fit(TF1 *f1 ,Option_t *option="" ,Option_t *goption="", Double_t xmin=0, Double_t xmax=0);
233 virtual void FitPanel(); // *MENU*
234 TH1 *GetAsymmetry(TH1* h2, Double_t c2=1, Double_t dc2=0);
235 Int_t GetBufferLength() const {return fBuffer ? (Int_t)fBuffer[0] : 0;}
236 Int_t GetBufferSize () const {return fBufferSize;}
237 const Double_t *GetBuffer() const {return fBuffer;}
239 virtual Double_t *GetIntegral();
240 TH1 *GetCumulative(Bool_t forward = kTRUE, const char* suffix = "_cumulative") const;
241
243
244 virtual Int_t GetNdivisions(Option_t *axis="X") const;
245 virtual Color_t GetAxisColor(Option_t *axis="X") const;
246 virtual Color_t GetLabelColor(Option_t *axis="X") const;
247 virtual Style_t GetLabelFont(Option_t *axis="X") const;
248 virtual Float_t GetLabelOffset(Option_t *axis="X") const;
249 virtual Float_t GetLabelSize(Option_t *axis="X") const;
250 virtual Style_t GetTitleFont(Option_t *axis="X") const;
251 virtual Float_t GetTitleOffset(Option_t *axis="X") const;
252 virtual Float_t GetTitleSize(Option_t *axis="X") const;
253 virtual Float_t GetTickLength(Option_t *axis="X") const;
254 virtual Float_t GetBarOffset() const {return Float_t(0.001*Float_t(fBarOffset));}
255 virtual Float_t GetBarWidth() const {return Float_t(0.001*Float_t(fBarWidth));}
256 virtual Int_t GetContour(Double_t *levels = nullptr);
257 virtual Double_t GetContourLevel(Int_t level) const;
258 virtual Double_t GetContourLevelPad(Int_t level) const;
259
260 virtual Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const;
261 virtual void GetBinXYZ(Int_t binglobal, Int_t &binx, Int_t &biny, Int_t &binz) const;
262 virtual Double_t GetBinCenter(Int_t bin) const;
263 virtual Double_t GetBinContent(Int_t bin) const;
264 virtual Double_t GetBinContent(Int_t bin, Int_t) const { return GetBinContent(bin); }
265 virtual Double_t GetBinContent(Int_t bin, Int_t, Int_t) const { return GetBinContent(bin); }
266 virtual Double_t GetBinError(Int_t bin) const;
267 virtual Double_t GetBinError(Int_t binx, Int_t biny) const { return GetBinError(GetBin(binx, biny)); } // for 2D histograms only
268 virtual Double_t GetBinError(Int_t binx, Int_t biny, Int_t binz) const { return GetBinError(GetBin(binx, biny, binz)); } // for 3D histograms only
269 virtual Double_t GetBinErrorLow(Int_t bin) const;
270 virtual Double_t GetBinErrorUp(Int_t bin) const;
272 virtual Double_t GetBinLowEdge(Int_t bin) const;
273 virtual Double_t GetBinWidth(Int_t bin) const;
274 virtual Double_t GetBinWithContent(Double_t c, Int_t &binx, Int_t firstx=0, Int_t lastx=0,Double_t maxdiff=0) const;
275 virtual void GetCenter(Double_t *center) const;
276 static Bool_t GetDefaultSumw2();
278 virtual Double_t GetEntries() const;
279 virtual Double_t GetEffectiveEntries() const;
280 virtual TF1 *GetFunction(const char *name) const;
281 virtual Int_t GetDimension() const { return fDimension; }
282 virtual Double_t GetKurtosis(Int_t axis=1) const;
283 virtual void GetLowEdge(Double_t *edge) const;
284 virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const;
285 virtual Int_t GetMaximumBin() const;
286 virtual Int_t GetMaximumBin(Int_t &locmax, Int_t &locmay, Int_t &locmaz) const;
287 virtual Double_t GetMaximumStored() const {return fMaximum;}
288 virtual Double_t GetMinimum(Double_t minval=-FLT_MAX) const;
289 virtual Int_t GetMinimumBin() const;
290 virtual Int_t GetMinimumBin(Int_t &locmix, Int_t &locmiy, Int_t &locmiz) const;
291 virtual Double_t GetMinimumStored() const {return fMinimum;}
292 virtual void GetMinimumAndMaximum(Double_t& min, Double_t& max) const;
293 virtual Double_t GetMean(Int_t axis=1) const;
294 virtual Double_t GetMeanError(Int_t axis=1) const;
295 virtual Int_t GetNbinsX() const {return fXaxis.GetNbins();}
296 virtual Int_t GetNbinsY() const {return fYaxis.GetNbins();}
297 virtual Int_t GetNbinsZ() const {return fZaxis.GetNbins();}
298 virtual Int_t GetNcells() const {return fNcells; }
299 virtual Double_t GetNormFactor() const {return fNormFactor;}
300 char *GetObjectInfo(Int_t px, Int_t py) const override;
301 Option_t *GetOption() const override { return fOption.Data(); }
302
304
305 virtual Int_t GetQuantiles(Int_t nprobSum, Double_t *q, const Double_t *probSum=0);
306 virtual Double_t GetRandom(TRandom * rng = nullptr) const;
307 virtual void GetStats(Double_t *stats) const;
308 virtual Double_t GetStdDev(Int_t axis=1) const;
309 virtual Double_t GetStdDevError(Int_t axis=1) const;
310 virtual Double_t GetSumOfWeights() const;
311 virtual TArrayD *GetSumw2() {return &fSumw2;}
312 virtual const TArrayD *GetSumw2() const {return &fSumw2;}
313 virtual Int_t GetSumw2N() const {return fSumw2.fN;}
314 Double_t GetRMS(Int_t axis=1) const { return GetStdDev(axis); }
315 Double_t GetRMSError(Int_t axis=1) const { return GetStdDevError(axis); }
316
317 virtual Double_t GetSkewness(Int_t axis=1) const;
318 EStatOverflows GetStatOverflows() const {return fStatOverflows; }; ///< Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more information.
319 TAxis* GetXaxis() { return &fXaxis; }
320 TAxis* GetYaxis() { return &fYaxis; }
321 TAxis* GetZaxis() { return &fZaxis; }
322 const TAxis* GetXaxis() const { return &fXaxis; }
323 const TAxis* GetYaxis() const { return &fYaxis; }
324 const TAxis* GetZaxis() const { return &fZaxis; }
325 virtual Double_t Integral(Option_t *option="") const;
326 virtual Double_t Integral(Int_t binx1, Int_t binx2, Option_t *option="") const;
327 virtual Double_t IntegralAndError(Int_t binx1, Int_t binx2, Double_t & err, Option_t *option="") const;
328 virtual Double_t Interpolate(Double_t x) const;
329 virtual Double_t Interpolate(Double_t x, Double_t y) const;
330 virtual Double_t Interpolate(Double_t x, Double_t y, Double_t z) const;
331 Bool_t IsBinOverflow(Int_t bin, Int_t axis = 0) const;
332 Bool_t IsBinUnderflow(Int_t bin, Int_t axis = 0) const;
333 virtual Bool_t IsHighlight() const { return TestBit(kIsHighlight); }
334 virtual Double_t AndersonDarlingTest(const TH1 *h2, Option_t *option="") const;
335 virtual Double_t AndersonDarlingTest(const TH1 *h2, Double_t &advalue) const;
336 virtual Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const;
337 virtual void LabelsDeflate(Option_t *axis="X");
338 virtual void LabelsInflate(Option_t *axis="X");
339 virtual void LabelsOption(Option_t *option="h", Option_t *axis="X");
340 virtual Long64_t Merge(TCollection *list) { return Merge(list,""); }
342 virtual Bool_t Multiply(TF1 *f1, Double_t c1=1);
343 virtual Bool_t Multiply(const TH1 *h1);
344 virtual Bool_t Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
345 void Paint(Option_t *option = "") override;
346 void Print(Option_t *option = "") const override;
347 virtual void PutStats(Double_t *stats);
348 virtual TH1 *Rebin(Int_t ngroup = 2, const char *newname = "", const Double_t *xbins = 0); // *MENU*
349 virtual TH1 *RebinX(Int_t ngroup = 2, const char *newname = "") { return Rebin(ngroup,newname, (Double_t*) nullptr); }
350 virtual void Rebuild(Option_t *option = "");
351 void RecursiveRemove(TObject *obj) override;
352 virtual void Reset(Option_t *option = "");
353 virtual void ResetStats();
354 void SavePrimitive(std::ostream &out, Option_t *option = "") override;
355 virtual void Scale(Double_t c1=1, Option_t *option="");
356 virtual void SetAxisColor(Color_t color=1, Option_t *axis="X");
357 virtual void SetAxisRange(Double_t xmin, Double_t xmax, Option_t *axis="X");
358 virtual void SetBarOffset(Float_t offset=0.25) {fBarOffset = Short_t(1000*offset);}
359 virtual void SetBarWidth(Float_t width=0.5) {fBarWidth = Short_t(1000*width);}
360 virtual void SetBinContent(Int_t bin, Double_t content);
361 virtual void SetBinContent(Int_t bin, Int_t, Double_t content) { SetBinContent(bin, content); }
362 virtual void SetBinContent(Int_t bin, Int_t, Int_t, Double_t content) { SetBinContent(bin, content); }
363 virtual void SetBinError(Int_t bin, Double_t error);
364 virtual void SetBinError(Int_t binx, Int_t biny, Double_t error);
365 virtual void SetBinError(Int_t binx, Int_t biny, Int_t binz, Double_t error);
366 virtual void SetBins(Int_t nx, Double_t xmin, Double_t xmax);
367 virtual void SetBins(Int_t nx, const Double_t *xBins);
369 virtual void SetBins(Int_t nx, const Double_t *xBins, Int_t ny, const Double_t *yBins);
371 Int_t nz, Double_t zmin, Double_t zmax);
372 virtual void SetBins(Int_t nx, const Double_t *xBins, Int_t ny, const Double_t * yBins, Int_t nz,
373 const Double_t *zBins);
374 virtual void SetBinsLength(Int_t = -1) { } //redefined in derived classes
376 virtual void SetBuffer(Int_t buffersize, Option_t *option="");
377 virtual UInt_t SetCanExtend(UInt_t extendBitMask);
378 virtual void SetContent(const Double_t *content);
379 virtual void SetContour(Int_t nlevels, const Double_t *levels=0);
380 virtual void SetContourLevel(Int_t level, Double_t value);
381 static void SetDefaultBufferSize(Int_t buffersize=1000);
382 static void SetDefaultSumw2(Bool_t sumw2=kTRUE);
383 virtual void SetDirectory(TDirectory *dir);
384 virtual void SetEntries(Double_t n) {fEntries = n;};
385 virtual void SetError(const Double_t *error);
386 virtual void SetHighlight(Bool_t set = kTRUE); // *TOGGLE* *GETTER=IsHighlight
387 virtual void SetLabelColor(Color_t color=1, Option_t *axis="X");
388 virtual void SetLabelFont(Style_t font=62, Option_t *axis="X");
389 virtual void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X");
390 virtual void SetLabelSize(Float_t size=0.02, Option_t *axis="X");
391
392 /*
393 * Set the minimum / maximum value for the Y axis (1-D histograms) or Z axis (2-D histograms)
394 * By default the maximum / minimum value used in drawing is the maximum / minimum value of the histogram
395 * plus a margin of 10%. If these functions are called, the values are used without any extra margin.
396 */
397 virtual void SetMaximum(Double_t maximum = -1111) { fMaximum = maximum; }; // *MENU*
398 virtual void SetMinimum(Double_t minimum = -1111) { fMinimum = minimum; }; // *MENU*
399
400 void SetName(const char *name) override; // *MENU*
401 void SetNameTitle(const char *name, const char *title) override;
402 virtual void SetNdivisions(Int_t n=510, Option_t *axis="X");
403 virtual void SetNormFactor(Double_t factor=1) {fNormFactor = factor;}
404 virtual void SetStats(Bool_t stats=kTRUE); // *MENU*
405 virtual void SetOption(Option_t *option=" ") {fOption = option;}
406 virtual void SetTickLength(Float_t length=0.02, Option_t *axis="X");
407 virtual void SetTitleFont(Style_t font=62, Option_t *axis="X");
408 virtual void SetTitleOffset(Float_t offset=1, Option_t *axis="X");
409 virtual void SetTitleSize(Float_t size=0.02, Option_t *axis="X");
410 void SetStatOverflows(EStatOverflows statOverflows) {fStatOverflows = statOverflows;}; ///< See GetStatOverflows for more information.
411 void SetTitle(const char *title) override; // *MENU*
412 virtual void SetXTitle(const char *title) {fXaxis.SetTitle(title);}
413 virtual void SetYTitle(const char *title) {fYaxis.SetTitle(title);}
414 virtual void SetZTitle(const char *title) {fZaxis.SetTitle(title);}
415 virtual TH1 *ShowBackground(Int_t niter=20, Option_t *option="same"); // *MENU*
416 virtual Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05); // *MENU*
417 virtual void Smooth(Int_t ntimes=1, Option_t *option=""); // *MENU*
418 static void SmoothArray(Int_t NN, Double_t *XX, Int_t ntimes=1);
419 static void StatOverflows(Bool_t flag=kTRUE);
420 virtual void Sumw2(Bool_t flag = kTRUE);
421 void UseCurrentStyle() override;
422 static TH1 *TransformHisto(TVirtualFFT *fft, TH1* h_output, Option_t *option);
423
424
425 // TODO: Remove obsolete methods in v6-04
426 virtual Double_t GetCellContent(Int_t binx, Int_t biny) const
427 { Obsolete("GetCellContent", "v6-00", "v6-04"); return GetBinContent(GetBin(binx, biny)); }
428 virtual Double_t GetCellError(Int_t binx, Int_t biny) const
429 { Obsolete("GetCellError", "v6-00", "v6-04"); return GetBinError(binx, biny); }
430 virtual void RebinAxis(Double_t x, TAxis *axis)
431 { Obsolete("RebinAxis", "v6-00", "v6-04"); ExtendAxis(x, axis); }
432 virtual void SetCellContent(Int_t binx, Int_t biny, Double_t content)
433 { Obsolete("SetCellContent", "v6-00", "v6-04"); SetBinContent(GetBin(binx, biny), content); }
434 virtual void SetCellError(Int_t binx, Int_t biny, Double_t content)
435 { Obsolete("SetCellError", "v6-00", "v6-04"); SetBinError(binx, biny, content); }
436
437 ClassDefOverride(TH1,8) //1-Dim histogram base class
438
439protected:
440 virtual Double_t RetrieveBinContent(Int_t bin) const;
441 virtual void UpdateBinContent(Int_t bin, Double_t content);
442 virtual Double_t GetBinErrorSqUnchecked(Int_t bin) const { return fSumw2.fN ? fSumw2.fArray[bin] : RetrieveBinContent(bin); }
443};
444
445namespace cling {
446 std::string printValue(TH1 *val);
447}
448
449//________________________________________________________________________
450
451class TH1C : public TH1, public TArrayC {
452
453public:
454 TH1C();
455 TH1C(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup);
456 TH1C(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins);
457 TH1C(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins);
458 TH1C(const TH1C &h1c);
459 TH1C& operator=(const TH1C &h1);
460 ~TH1C() override;
461
462 void AddBinContent(Int_t bin) override;
463 void AddBinContent(Int_t bin, Double_t w) override;
464 void Copy(TObject &hnew) const override;
465 void Reset(Option_t *option="") override;
466 void SetBinsLength(Int_t n=-1) override;
467
468 ClassDefOverride(TH1C,3) //1-Dim histograms (one char per channel)
469
470 friend TH1C operator*(Double_t c1, const TH1C &h1);
471 friend TH1C operator*(const TH1C &h1, Double_t c1);
472 friend TH1C operator+(const TH1C &h1, const TH1C &h2);
473 friend TH1C operator-(const TH1C &h1, const TH1C &h2);
474 friend TH1C operator*(const TH1C &h1, const TH1C &h2);
475 friend TH1C operator/(const TH1C &h1, const TH1C &h2);
476
477protected:
478 Double_t RetrieveBinContent(Int_t bin) const override { return Double_t (fArray[bin]); }
479 void UpdateBinContent(Int_t bin, Double_t content) override { fArray[bin] = Char_t (content); }
480};
481
483inline
485TH1C operator+(const TH1C &h1, const TH1C &h2);
486TH1C operator-(const TH1C &h1, const TH1C &h2);
487TH1C operator*(const TH1C &h1, const TH1C &h2);
488TH1C operator/(const TH1C &h1, const TH1C &h2);
489
490//________________________________________________________________________
491
492class TH1S : public TH1, public TArrayS {
493
494public:
495 TH1S();
496 TH1S(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup);
497 TH1S(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins);
498 TH1S(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins);
499 TH1S(const TH1S &h1s);
500 TH1S& operator=(const TH1S &h1);
501 ~TH1S() override;
502
503 void AddBinContent(Int_t bin) override;
504 void AddBinContent(Int_t bin, Double_t w) override;
505 void Copy(TObject &hnew) const override;
506 void Reset(Option_t *option="") override;
507 void SetBinsLength(Int_t n=-1) override;
508
509 ClassDefOverride(TH1S,3) //1-Dim histograms (one short per channel)
510
511 friend TH1S operator*(Double_t c1, const TH1S &h1);
512 friend TH1S operator*(const TH1S &h1, Double_t c1);
513 friend TH1S operator+(const TH1S &h1, const TH1S &h2);
514 friend TH1S operator-(const TH1S &h1, const TH1S &h2);
515 friend TH1S operator*(const TH1S &h1, const TH1S &h2);
516 friend TH1S operator/(const TH1S &h1, const TH1S &h2);
517
518protected:
519 Double_t RetrieveBinContent(Int_t bin) const override { return Double_t (fArray[bin]); }
520 void UpdateBinContent(Int_t bin, Double_t content) override { fArray[bin] = Short_t (content); }
521};
522
524inline
526TH1S operator+(const TH1S &h1, const TH1S &h2);
527TH1S operator-(const TH1S &h1, const TH1S &h2);
528TH1S operator*(const TH1S &h1, const TH1S &h2);
529TH1S operator/(const TH1S &h1, const TH1S &h2);
530
531//________________________________________________________________________
532
533class TH1I: public TH1, public TArrayI {
534
535public:
536 TH1I();
537 TH1I(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup);
538 TH1I(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins);
539 TH1I(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins);
540 TH1I(const TH1I &h1i);
541 TH1I& operator=(const TH1I &h1);
542 ~TH1I() override;
543
544 void AddBinContent(Int_t bin) override;
545 void AddBinContent(Int_t bin, Double_t w) override;
546 void Copy(TObject &hnew) const override;
547 void Reset(Option_t *option="") override;
548 void SetBinsLength(Int_t n=-1) override;
549
550 ClassDefOverride(TH1I,3) //1-Dim histograms (one 32 bits integer per channel)
551
552 friend TH1I operator*(Double_t c1, const TH1I &h1);
553 friend TH1I operator*(const TH1I &h1, Double_t c1);
554 friend TH1I operator+(const TH1I &h1, const TH1I &h2);
555 friend TH1I operator-(const TH1I &h1, const TH1I &h2);
556 friend TH1I operator*(const TH1I &h1, const TH1I &h2);
557 friend TH1I operator/(const TH1I &h1, const TH1I &h2);
558
559protected:
560 Double_t RetrieveBinContent(Int_t bin) const override { return Double_t (fArray[bin]); }
561 void UpdateBinContent(Int_t bin, Double_t content) override { fArray[bin] = Int_t (content); }
562};
563
565inline
567TH1I operator+(const TH1I &h1, const TH1I &h2);
568TH1I operator-(const TH1I &h1, const TH1I &h2);
569TH1I operator*(const TH1I &h1, const TH1I &h2);
570TH1I operator/(const TH1I &h1, const TH1I &h2);
571
572//________________________________________________________________________
573
574class TH1F : public TH1, public TArrayF {
575
576public:
577 TH1F();
578 TH1F(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup);
579 TH1F(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins);
580 TH1F(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins);
581 explicit TH1F(const TVectorF &v);
582 TH1F(const TH1F &h1f);
583 TH1F& operator=(const TH1F &h1);
584 ~TH1F() override;
585
586 void AddBinContent(Int_t bin) override {++fArray[bin];}
587 void AddBinContent(Int_t bin, Double_t w) override
588 { fArray[bin] += Float_t (w); }
589 void Copy(TObject &hnew) const override;
590 void Reset(Option_t *option = "") override;
591 void SetBinsLength(Int_t n=-1) override;
592
593 ClassDefOverride(TH1F,3) //1-Dim histograms (one float per channel)
594
595 friend TH1F operator*(Double_t c1, const TH1F &h1);
596 friend TH1F operator*(const TH1F &h1, Double_t c1);
597 friend TH1F operator+(const TH1F &h1, const TH1F &h2);
598 friend TH1F operator-(const TH1F &h1, const TH1F &h2);
599 friend TH1F operator*(const TH1F &h1, const TH1F &h2);
600 friend TH1F operator/(const TH1F &h1, const TH1F &h2);
601
602protected:
603 Double_t RetrieveBinContent(Int_t bin) const override { return Double_t (fArray[bin]); }
604 void UpdateBinContent(Int_t bin, Double_t content) override { fArray[bin] = Float_t (content); }
605};
606
608inline
610TH1F operator+(const TH1F &h1, const TH1F &h2);
611TH1F operator-(const TH1F &h1, const TH1F &h2);
612TH1F operator*(const TH1F &h1, const TH1F &h2);
613TH1F operator/(const TH1F &h1, const TH1F &h2);
614
615//________________________________________________________________________
616
617class TH1D : public TH1, public TArrayD {
618
619public:
620 TH1D();
621 TH1D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup);
622 TH1D(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins);
623 TH1D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins);
624 explicit TH1D(const TVectorD &v);
625 TH1D(const TH1D &h1d);
626 TH1D& operator=(const TH1D &h1);
627 ~TH1D() override;
628
629 void AddBinContent(Int_t bin) override {++fArray[bin];}
630 void AddBinContent(Int_t bin, Double_t w) override
631 {fArray[bin] += Double_t (w);}
632 void Copy(TObject &hnew) const override;
633 void Reset(Option_t *option = "") override;
634 void SetBinsLength(Int_t n=-1) override;
635
636 ClassDefOverride(TH1D,3) //1-Dim histograms (one double per channel)
637
638 friend TH1D operator*(Double_t c1, const TH1D &h1);
639 friend TH1D operator*(const TH1D &h1, Double_t c1);
640 friend TH1D operator+(const TH1D &h1, const TH1D &h2);
641 friend TH1D operator-(const TH1D &h1, const TH1D &h2);
642 friend TH1D operator*(const TH1D &h1, const TH1D &h2);
643 friend TH1D operator/(const TH1D &h1, const TH1D &h2);
644
645protected:
646 Double_t RetrieveBinContent(Int_t bin) const override { return fArray[bin]; }
647 void UpdateBinContent(Int_t bin, Double_t content) override { fArray[bin] = content; }
648};
649
651inline
653TH1D operator+(const TH1D &h1, const TH1D &h2);
654TH1D operator-(const TH1D &h1, const TH1D &h2);
655TH1D operator*(const TH1D &h1, const TH1D &h2);
656TH1D operator/(const TH1D &h1, const TH1D &h2);
657
658 extern TH1 *R__H(Int_t hid);
659 extern TH1 *R__H(const char *hname);
660
661#endif
#define c(i)
Definition: RSha256.hxx:101
#define h(i)
Definition: RSha256.hxx:106
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
short Style_t
Definition: RtypesCore.h:89
bool Bool_t
Definition: RtypesCore.h:63
int Int_t
Definition: RtypesCore.h:45
short Color_t
Definition: RtypesCore.h:92
char Char_t
Definition: RtypesCore.h:37
const Bool_t kFALSE
Definition: RtypesCore.h:101
unsigned int UInt_t
Definition: RtypesCore.h:46
float Float_t
Definition: RtypesCore.h:57
short Short_t
Definition: RtypesCore.h:39
double Double_t
Definition: RtypesCore.h:59
long long Long64_t
Definition: RtypesCore.h:80
const Bool_t kTRUE
Definition: RtypesCore.h:100
const char Option_t
Definition: RtypesCore.h:66
#define BIT(n)
Definition: Rtypes.h:85
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t b
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t width
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char name[80]
Definition: TGX11.cxx:110
TH1C operator+(const TH1C &h1, const TH1C &h2)
Operator +.
Definition: TH1.cxx:9481
TH1C operator-(const TH1C &h1, const TH1C &h2)
Operator -.
Definition: TH1.cxx:9492
TH1C operator/(const TH1C &h1, const TH1C &h2)
Operator /.
Definition: TH1.cxx:9514
TH1 * R__H(Int_t hid)
return pointer to histogram with name hid if id >=0 h_id if id <0
Definition: TH1.cxx:10252
TH1C operator*(Double_t c1, const TH1C &h1)
Operator *.
Definition: TH1.cxx:9470
float xmin
Definition: THbookFile.cxx:95
float * q
Definition: THbookFile.cxx:89
float ymin
Definition: THbookFile.cxx:95
float xmax
Definition: THbookFile.cxx:95
float ymax
Definition: THbookFile.cxx:95
R__EXTERN Foption_t Foption
Definition: TTreePlayer.cxx:89
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
Int_t fN
Definition: TArray.h:38
Fill Area Attributes class.
Definition: TAttFill.h:19
Line Attributes class.
Definition: TAttLine.h:18
Marker Attributes class.
Definition: TAttMarker.h:19
Class to manage histogram axis.
Definition: TAxis.h:30
Int_t GetNbins() const
Definition: TAxis.h:121
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
Collection abstract base class.
Definition: TCollection.h:65
Describe directory structure in memory.
Definition: TDirectory.h:45
1-Dim function class
Definition: TF1.h:213
Provides an indirection to the TFitResult class and with a semantics identical to a TFitResult pointe...
Definition: TFitResultPtr.h:32
1-D histogram with a byte per channel (see TH1 documentation)
Definition: TH1.h:451
~TH1C() override
Destructor.
Definition: TH1.cxx:9398
void SetBinsLength(Int_t n=-1) override
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH1.cxx:9451
TH1C & operator=(const TH1C &h1)
Operator =.
Definition: TH1.cxx:9461
Double_t RetrieveBinContent(Int_t bin) const override
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH1.h:478
TH1C()
Constructor.
Definition: TH1.cxx:9350
void Copy(TObject &hnew) const override
Copy this to newth1.
Definition: TH1.cxx:9433
void AddBinContent(Int_t bin) override
Increment bin content by 1.
Definition: TH1.cxx:9414
void Reset(Option_t *option="") override
Reset.
Definition: TH1.cxx:9441
void UpdateBinContent(Int_t bin, Double_t content) override
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH1.h:479
1-D histogram with a double per channel (see TH1 documentation)}
Definition: TH1.h:617
Double_t RetrieveBinContent(Int_t bin) const override
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH1.h:646
~TH1D() override
Destructor.
Definition: TH1.cxx:10143
void SetBinsLength(Int_t n=-1) override
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH1.cxx:10176
void Copy(TObject &hnew) const override
Copy this to newth1.
Definition: TH1.cxx:10158
void UpdateBinContent(Int_t bin, Double_t content) override
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH1.h:647
TH1D()
Constructor.
Definition: TH1.cxx:10078
TH1D & operator=(const TH1D &h1)
Operator =.
Definition: TH1.cxx:10186
void AddBinContent(Int_t bin, Double_t w) override
Increment bin content by a weight w.
Definition: TH1.h:630
void AddBinContent(Int_t bin) override
Increment bin content by 1.
Definition: TH1.h:629
1-D histogram with a float per channel (see TH1 documentation)}
Definition: TH1.h:574
void AddBinContent(Int_t bin, Double_t w) override
Increment bin content by a weight w.
Definition: TH1.h:587
void AddBinContent(Int_t bin) override
Increment bin content by 1.
Definition: TH1.h:586
Double_t RetrieveBinContent(Int_t bin) const override
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH1.h:603
TH1F & operator=(const TH1F &h1)
Operator =.
Definition: TH1.cxx:10007
void UpdateBinContent(Int_t bin, Double_t content) override
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH1.h:604
void Copy(TObject &hnew) const override
Copy this to newth1.
Definition: TH1.cxx:9979
void SetBinsLength(Int_t n=-1) override
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH1.cxx:9997
~TH1F() override
Destructor.
Definition: TH1.cxx:9972
TH1F()
Constructor.
Definition: TH1.cxx:9898
1-D histogram with an int per channel (see TH1 documentation)}
Definition: TH1.h:533
void SetBinsLength(Int_t n=-1) override
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH1.cxx:9816
void AddBinContent(Int_t bin) override
Increment bin content by 1.
Definition: TH1.cxx:9779
~TH1I() override
Destructor.
Definition: TH1.cxx:9763
void UpdateBinContent(Int_t bin, Double_t content) override
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH1.h:561
TH1I()
Constructor.
Definition: TH1.cxx:9715
void Copy(TObject &hnew) const override
Copy this to newth1.
Definition: TH1.cxx:9798
TH1I & operator=(const TH1I &h1)
Operator =.
Definition: TH1.cxx:9826
Double_t RetrieveBinContent(Int_t bin) const override
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH1.h:560
1-D histogram with a short per channel (see TH1 documentation)
Definition: TH1.h:492
void UpdateBinContent(Int_t bin, Double_t content) override
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
Definition: TH1.h:520
Double_t RetrieveBinContent(Int_t bin) const override
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Definition: TH1.h:519
TH1S & operator=(const TH1S &h1)
Operator =.
Definition: TH1.cxx:9643
void Copy(TObject &hnew) const override
Copy this to newth1.
Definition: TH1.cxx:9615
TH1S()
Constructor.
Definition: TH1.cxx:9532
void SetBinsLength(Int_t n=-1) override
Set total number of bins including under/overflow Reallocate bin contents array.
Definition: TH1.cxx:9633
~TH1S() override
Destructor.
Definition: TH1.cxx:9580
void AddBinContent(Int_t bin) override
Increment bin content by 1.
Definition: TH1.cxx:9596
TH1 is the base class of all histogram classes in ROOT.
Definition: TH1.h:58
~TH1() override
Histogram default destructor.
Definition: TH1.cxx:624
virtual void SetLabelFont(Style_t font=62, Option_t *axis="X")
Set font number used to draw axis labels.
Definition: Haxis.cxx:249
virtual void SetError(const Double_t *error)
Replace bin errors by values in array error.
Definition: TH1.cxx:8828
virtual void SetDirectory(TDirectory *dir)
By default, when a histogram is created, it is added to the list of histogram objects in the current ...
Definition: TH1.cxx:8814
virtual void FitPanel()
Display a panel with all histogram fit options.
Definition: TH1.cxx:4290
Double_t * fBuffer
[fBufferSize] entry buffer
Definition: TH1.h:107
virtual Int_t AutoP2FindLimits(Double_t min, Double_t max)
Buffer-based estimate of the histogram range using the power of 2 algorithm.
Definition: TH1.cxx:1326
void SetStatOverflows(EStatOverflows statOverflows)
Definition: TH1.h:410
virtual Double_t GetEffectiveEntries() const
Number of effective entries of the histogram.
Definition: TH1.cxx:4454
char * GetObjectInfo(Int_t px, Int_t py) const override
Redefines TObject::GetObjectInfo.
Definition: TH1.cxx:4485
virtual void Smooth(Int_t ntimes=1, Option_t *option="")
Smooth bin contents of this histogram.
Definition: TH1.cxx:6877
virtual void SetNormFactor(Double_t factor=1)
Definition: TH1.h:403
virtual Double_t GetBinCenter(Int_t bin) const
Return bin center for 1D histogram.
Definition: TH1.cxx:9018
virtual void Rebuild(Option_t *option="")
Using the current bin info, recompute the arrays for contents and errors.
Definition: TH1.cxx:7085
virtual void SetBarOffset(Float_t offset=0.25)
Set the bar offset as fraction of the bin width for drawing mode "B".
Definition: TH1.h:358
virtual Color_t GetLabelColor(Option_t *axis="X") const
Return the "axis" label color.
Definition: Haxis.cxx:53
static Bool_t fgStatOverflows
! Flag to use under/overflows in statistics
Definition: TH1.h:116
virtual Int_t FindLastBinAbove(Double_t threshold=0, Int_t axis=1, Int_t firstBin=1, Int_t lastBin=-1) const
Find last bin with content > threshold for axis (1=x, 2=y, 3=z) if no bins with content > threshold i...
Definition: TH1.cxx:3803
virtual void SetTitleSize(Float_t size=0.02, Option_t *axis="X")
Set the axis' title size.
Definition: Haxis.cxx:365
TAxis * GetZaxis()
Definition: TH1.h:321
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a line.
Definition: TH1.cxx:2808
virtual Bool_t Multiply(TF1 *f1, Double_t c1=1)
Performs the operation:
Definition: TH1.cxx:6023
virtual void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X")
Set offset between axis and axis' labels.
Definition: Haxis.cxx:267
@ kXaxis
Definition: TH1.h:72
@ kAllAxes
Definition: TH1.h:75
@ kNoAxis
NOTE: Must always be 0 !!!
Definition: TH1.h:71
@ kZaxis
Definition: TH1.h:74
@ kYaxis
Definition: TH1.h:73
Int_t fNcells
Number of bins(1D), cells (2D) +U/Overflows.
Definition: TH1.h:88
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: TH1.cxx:7754
void Copy(TObject &hnew) const override
Copy this histogram structure to newth1.
Definition: TH1.cxx:2660
virtual Double_t GetCellContent(Int_t binx, Int_t biny) const
Definition: TH1.h:426
void SetTitle(const char *title) override
See GetStatOverflows for more information.
Definition: TH1.cxx:6710
virtual Double_t GetBinError(Int_t binx, Int_t biny) const
Definition: TH1.h:267
Double_t fTsumw
Total Sum of weights.
Definition: TH1.h:95
virtual EBinErrorOpt GetBinErrorOption() const
Definition: TH1.h:271
virtual Float_t GetBarWidth() const
Definition: TH1.h:255
Double_t fTsumw2
Total Sum of squares of weights.
Definition: TH1.h:96
static void StatOverflows(Bool_t flag=kTRUE)
if flag=kTRUE, underflows and overflows are used by the Fill functions in the computation of statisti...
Definition: TH1.cxx:6923
TDirectory * GetDirectory() const
Definition: TH1.h:277
virtual Double_t GetMinimumStored() const
Definition: TH1.h:291
virtual Float_t GetBarOffset() const
Definition: TH1.h:254
TList * fFunctions
->Pointer to list of functions (fits and user)
Definition: TH1.h:105
virtual void RebinAxis(Double_t x, TAxis *axis)
Definition: TH1.h:430
EStatOverflows GetStatOverflows() const
Definition: TH1.h:318
static Bool_t fgAddDirectory
! Flag to add histograms to the directory
Definition: TH1.h:115
virtual Int_t GetQuantiles(Int_t nprobSum, Double_t *q, const Double_t *probSum=0)
Compute Quantiles for this histogram Quantile x_q of a probability distribution Function F is defined...
Definition: TH1.cxx:4585
static Int_t GetDefaultBufferSize()
Static function return the default buffer size for automatic histograms the parameter fgBufferSize ma...
Definition: TH1.cxx:4412
virtual Double_t DoIntegral(Int_t ix1, Int_t ix2, Int_t iy1, Int_t iy2, Int_t iz1, Int_t iz2, Double_t &err, Option_t *opt, Bool_t doerr=kFALSE) const
Internal function compute integral and optionally the error between the limits specified by the bin n...
Definition: TH1.cxx:7898
Double_t fTsumwx2
Total Sum of weight*X*X.
Definition: TH1.h:98
virtual Double_t GetStdDev(Int_t axis=1) const
Returns the Standard Deviation (Sigma).
Definition: TH1.cxx:7528
TH1()
Histogram default constructor.
Definition: TH1.cxx:596
static TH1 * TransformHisto(TVirtualFFT *fft, TH1 *h_output, Option_t *option)
For a given transform (first parameter), fills the histogram (second parameter) with the transform ou...
Definition: TH1.cxx:9196
void UseCurrentStyle() override
Copy current attributes from/to current style.
Definition: TH1.cxx:7390
virtual void LabelsOption(Option_t *option="h", Option_t *axis="X")
Sort bins with labels or set option(s) to draw axis with labels.
Definition: TH1.cxx:5356
virtual Int_t GetNbinsY() const
Definition: TH1.h:296
Short_t fBarOffset
(1000*offset) for bar charts or legos
Definition: TH1.h:92
static bool CheckBinLimits(const TAxis *a1, const TAxis *a2)
Check bin limits.
Definition: TH1.cxx:1524
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
Definition: TH1.cxx:1252
virtual Double_t GetBinError(Int_t bin) const
Return value of error associated to bin number bin.
Definition: TH1.cxx:8940
static Int_t FitOptionsMake(Option_t *option, Foption_t &Foption)
Decode string choptin and fill fitOption structure.
Definition: TH1.cxx:4626
virtual Int_t GetNbinsZ() const
Definition: TH1.h:297
virtual Double_t GetNormFactor() const
Definition: TH1.h:299
virtual Double_t GetMean(Int_t axis=1) const
For axis = 1,2 or 3 returns the mean value of the histogram along X,Y or Z axis.
Definition: TH1.cxx:7456
virtual Double_t GetSkewness(Int_t axis=1) const
Definition: TH1.cxx:7592
virtual void ClearUnderflowAndOverflow()
Remove all the content from the underflow and overflow bins, without changing the number of entries A...
Definition: TH1.cxx:2508
virtual Double_t GetContourLevelPad(Int_t level) const
Return the value of contour number "level" in Pad coordinates.
Definition: TH1.cxx:8317
virtual void SetXTitle(const char *title)
Definition: TH1.h:412
virtual TH1 * DrawNormalized(Option_t *option="", Double_t norm=1) const
Draw a normalized copy of this histogram.
Definition: TH1.cxx:3148
EStatOverflows
Enumeration specifying the way to treat statoverflow.
Definition: TH1.h:79
@ kNeutral
Adapt to the global flag.
Definition: TH1.h:82
@ kIgnore
Override global flag ignoring the overflows.
Definition: TH1.h:80
@ kConsider
Override global flag considering the overflows.
Definition: TH1.h:81
virtual Double_t Chi2TestX(const TH1 *h2, Double_t &chi2, Int_t &ndf, Int_t &igood, Option_t *option="UU", Double_t *res=0) const
The computation routine of the Chisquare test.
Definition: TH1.cxx:2061
virtual Int_t GetDimension() const
Definition: TH1.h:281
static void AddDirectory(Bool_t add=kTRUE)
Sets the flag controlling the automatic add of histograms in memory.
Definition: TH1.cxx:1277
virtual Double_t GetBinContent(Int_t bin, Int_t) const
Definition: TH1.h:264
@ kLogX
X-axis in log scale.
Definition: TH1.h:166
@ kIsAverage
Bin contents are average (used by Add)
Definition: TH1.h:169
@ kNoTitle
Don't draw the histogram title.
Definition: TH1.h:168
@ kUserContour
User specified contour levels.
Definition: TH1.h:164
@ kNoStats
Don't draw stats box.
Definition: TH1.h:163
@ kIsZoomed
Bit set when zooming on Y axis.
Definition: TH1.h:167
@ kAutoBinPTwo
different than 1.
Definition: TH1.h:172
@ kIsNotW
Histogram is forced to be not weighted even when the histogram is filled with weighted.
Definition: TH1.h:170
@ kIsHighlight
bit set if histo is highlight
Definition: TH1.h:173
virtual void SetContourLevel(Int_t level, Double_t value)
Set value for one contour level.
Definition: TH1.cxx:8399
virtual Bool_t CanExtendAllAxes() const
Returns true if all axes are extendable.
Definition: TH1.cxx:6628
TDirectory * fDirectory
! Pointer to directory holding this histogram
Definition: TH1.h:108
Option_t * GetOption() const override
Definition: TH1.h:301
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
Definition: TH1.cxx:7101
void SetNameTitle(const char *name, const char *title) override
Change the name and title of this histogram.
Definition: TH1.cxx:8851
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
Definition: TH1.h:319
virtual void GetBinXYZ(Int_t binglobal, Int_t &binx, Int_t &biny, Int_t &binz) const
Return binx, biny, binz corresponding to the global bin number globalbin see TH1::GetBin function abo...
Definition: TH1.cxx:4948
TH1 * GetCumulative(Bool_t forward=kTRUE, const char *suffix="_cumulative") const
Return a pointer to a histogram containing the cumulative content.
Definition: TH1.cxx:2605
static Double_t AutoP2GetPower2(Double_t x, Bool_t next=kTRUE)
Auxiliary function to get the power of 2 next (larger) or previous (smaller) a given x.
Definition: TH1.cxx:1291
virtual Int_t GetNcells() const
Definition: TH1.h:298
virtual Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05)
Interface to TSpectrum::Search.
Definition: TH1.cxx:9178
Int_t GetBufferLength() const
Definition: TH1.h:235
static Bool_t RecomputeAxisLimits(TAxis &destAxis, const TAxis &anAxis)
Finds new limits for the axis for the Merge function.
Definition: TH1.cxx:5882
virtual Style_t GetTitleFont(Option_t *axis="X") const
Return the "axis" title font.
Definition: Haxis.cxx:118
virtual void SetNdivisions(Int_t n=510, Option_t *axis="X")
Set the number of divisions to draw an axis.
Definition: Haxis.cxx:170
virtual Style_t GetLabelFont(Option_t *axis="X") const
Return the "axis" label font.
Definition: Haxis.cxx:66
virtual Float_t GetTickLength(Option_t *axis="X") const
Return the "axis" tick length.
Definition: Haxis.cxx:105
Int_t GetBufferSize() const
Definition: TH1.h:236
virtual void PutStats(Double_t *stats)
Replace current statistics with the values in array stats.
Definition: TH1.cxx:7805
TVirtualHistPainter * GetPainter(Option_t *option="")
Return pointer to painter.
Definition: TH1.cxx:4494
TObject * FindObject(const char *name) const override
Search object named name in the list of functions.
Definition: TH1.cxx:3863
virtual Float_t GetTitleSize(Option_t *axis="X") const
Return the "axis" title size.
Definition: Haxis.cxx:144
virtual void FillRandom(const char *fname, Int_t ntimes=5000, TRandom *rng=nullptr)
Fill histogram following distribution in function fname.
Definition: TH1.cxx:3523
void Print(Option_t *option="") const override
Print some global quantities for this histogram.
Definition: TH1.cxx:7007
static Bool_t GetDefaultSumw2()
Return kTRUE if TH1::Sumw2 must be called when creating new histograms.
Definition: TH1.cxx:4421
virtual Int_t FindFirstBinAbove(Double_t threshold=0, Int_t axis=1, Int_t firstBin=1, Int_t lastBin=-1) const
Find first bin with content > threshold for axis (1=x, 2=y, 3=z) if no bins with content > threshold ...
Definition: TH1.cxx:3740
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Double_t xmin=0, Double_t xmax=0)
Fit histogram with function fname.
Definition: TH1.cxx:3904
virtual Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const
Return Global bin number corresponding to binx,y,z.
Definition: TH1.cxx:4935
virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const
Return maximum value smaller than maxval of bins in the range, unless the value has been overridden b...
Definition: TH1.cxx:8422
Double_t GetRMSError(Int_t axis=1) const
Definition: TH1.h:315
virtual Int_t GetNbinsX() const
Definition: TH1.h:295
virtual void SetMaximum(Double_t maximum=-1111)
Definition: TH1.h:397
virtual TH1 * FFT(TH1 *h_output, Option_t *option)
This function allows to do discrete Fourier transforms of TH1 and TH2.
Definition: TH1.cxx:3288
virtual void LabelsInflate(Option_t *axis="X")
Double the number of bins for axis.
Definition: TH1.cxx:5289
virtual TH1 * ShowBackground(Int_t niter=20, Option_t *option="same")
This function calculates the background spectrum in this histogram.
Definition: TH1.cxx:9164
virtual Double_t Chi2Test(const TH1 *h2, Option_t *option="UU", Double_t *res=0) const
test for comparing weighted and unweighted histograms
Definition: TH1.cxx:2002
virtual void FillN(Int_t, const Double_t *, const Double_t *, const Double_t *, Int_t)
Definition: TH1.h:222
static Bool_t SameLimitsAndNBins(const TAxis &axis1, const TAxis &axis2)
Same limits and bins.
Definition: TH1.cxx:5872
virtual Bool_t Add(TF1 *h1, Double_t c1=1, Option_t *option="")
Performs the operation: this = this + c1*f1 if errors are defined (see TH1::Sumw2),...
Definition: TH1.cxx:817
Double_t fMaximum
Maximum value for plotting.
Definition: TH1.h:99
Int_t fBufferSize
fBuffer size
Definition: TH1.h:106
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: TH1.cxx:9316
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:7889
Int_t fDimension
! Histogram dimension (1, 2 or 3 dim)
Definition: TH1.h:109
virtual void SetBinError(Int_t bin, Double_t error)
Set the bin Error Note that this resets the bin eror option to be of Normal Type and for the non-empt...
Definition: TH1.cxx:9083
EBinErrorOpt fBinStatErrOpt
Option for bin statistical errors.
Definition: TH1.h:112
static Int_t fgBufferSize
! Default buffer size for automatic histograms
Definition: TH1.h:114
virtual void SetBinsLength(Int_t=-1)
Definition: TH1.h:374
Double_t fNormFactor
Normalization factor.
Definition: TH1.h:101
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition: TH1.cxx:3348
TAxis * GetYaxis()
Definition: TH1.h:320
TArrayD fContour
Array to display contour levels.
Definition: TH1.h:102
virtual Double_t GetBinErrorLow(Int_t bin) const
Return lower error associated to bin number bin.
Definition: TH1.cxx:8956
virtual TH1 * RebinX(Int_t ngroup=2, const char *newname="")
Definition: TH1.h:349
void Browse(TBrowser *b) override
Browse the Histogram object.
Definition: TH1.cxx:753
virtual Double_t GetBinContent(Int_t bin, Int_t, Int_t) const
Definition: TH1.h:265
virtual void SetContent(const Double_t *content)
Replace bin contents by the contents of array content.
Definition: TH1.cxx:8275
virtual Float_t GetLabelSize(Option_t *axis="X") const
Return the "axis" label size.
Definition: Haxis.cxx:92
void Draw(Option_t *option="") override
Draw this histogram with options.
Definition: TH1.cxx:3070
virtual void SavePrimitiveHelp(std::ostream &out, const char *hname, Option_t *option="")
Helper function for the SavePrimitive functions from TH1 or classes derived from TH1,...
Definition: TH1.cxx:7299
Short_t fBarWidth
(1000*width) for bar charts or legos
Definition: TH1.h:93
virtual void SetContour(Int_t nlevels, const Double_t *levels=0)
Set the number and values of contour levels.
Definition: TH1.cxx:8360
virtual Double_t GetBinErrorSqUnchecked(Int_t bin) const
Definition: TH1.h:442
virtual Double_t GetCellError(Int_t binx, Int_t biny) const
Definition: TH1.h:428
virtual Int_t GetNdivisions(Option_t *axis="X") const
Return the number of divisions for "axis".
Definition: Haxis.cxx:27
Int_t AxisChoice(Option_t *axis) const
Choose an axis according to "axis".
Definition: Haxis.cxx:14
virtual void SetMinimum(Double_t minimum=-1111)
Definition: TH1.h:398
Bool_t IsBinUnderflow(Int_t bin, Int_t axis=0) const
Return true if the bin is underflow.
Definition: TH1.cxx:5188
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
Definition: TH1.cxx:7157
virtual void SetCellContent(Int_t binx, Int_t biny, Double_t content)
Definition: TH1.h:432
static bool CheckBinLabels(const TAxis *a1, const TAxis *a2)
Check that axis have same labels.
Definition: TH1.cxx:1553
virtual Double_t Interpolate(Double_t x) const
Given a point x, approximates the value via linear interpolation based on the two nearest bin centers...
Definition: TH1.cxx:5089
static void SetDefaultSumw2(Bool_t sumw2=kTRUE)
When this static function is called with sumw2=kTRUE, all new histograms will automatically activate ...
Definition: TH1.cxx:6695
Bool_t IsBinOverflow(Int_t bin, Int_t axis=0) const
Return true if the bin is overflow.
Definition: TH1.cxx:5156
UInt_t GetAxisLabelStatus() const
Internal function used in TH1::Fill to see which axis is full alphanumeric i.e.
Definition: TH1.cxx:6667
Double_t GetRMS(Int_t axis=1) const
Definition: TH1.h:314
Double_t * fIntegral
! Integral of bins used by GetRandom
Definition: TH1.h:110
Double_t fMinimum
Minimum value for plotting.
Definition: TH1.h:100
virtual Double_t Integral(Option_t *option="") const
Return integral of bin contents.
Definition: TH1.cxx:7862
TH1 & operator=(const TH1 &)=delete
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content see convention for numbering bins in TH1::GetBin In case the bin number is greater th...
Definition: TH1.cxx:9099
virtual void DirectoryAutoAdd(TDirectory *)
Perform the automatic addition of the histogram to the given directory.
Definition: TH1.cxx:2786
virtual void GetLowEdge(Double_t *edge) const
Fill array with low edge of bins for 1D histogram Better to use h1.GetXaxis()->GetLowEdge(edge)
Definition: TH1.cxx:9064
virtual Double_t GetBinLowEdge(Int_t bin) const
Return bin lower edge for 1D histogram.
Definition: TH1.cxx:9029
void Build()
Creates histogram basic data structure.
Definition: TH1.cxx:762
virtual Double_t GetEntries() const
Return the current number of entries.
Definition: TH1.cxx:4429
const TAxis * GetZaxis() const
Definition: TH1.h:324
virtual void SetZTitle(const char *title)
Definition: TH1.h:414
virtual TF1 * GetFunction(const char *name) const
Return pointer to function with name.
Definition: TH1.cxx:8928
virtual Int_t BufferFill(Double_t x, Double_t w)
accumulate arguments in buffer.
Definition: TH1.cxx:1489
virtual Double_t GetBinWithContent(Double_t c, Int_t &binx, Int_t firstx=0, Int_t lastx=0, Double_t maxdiff=0) const
Compute first binx in the range [firstx,lastx] for which diff = abs(bin_content-c) <= maxdiff.
Definition: TH1.cxx:5060
virtual UInt_t SetCanExtend(UInt_t extendBitMask)
Make the histogram axes extendable / not extendable according to the bit mask returns the previous bi...
Definition: TH1.cxx:6641
TList * GetListOfFunctions() const
Definition: TH1.h:242
void SetName(const char *name) override
Change the name of this histogram.
Definition: TH1.cxx:8837
virtual TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const
Copy this histogram and Draw in the current pad.
Definition: TH1.cxx:3117
virtual Float_t GetTitleOffset(Option_t *axis="X") const
Return the "axis" title offset.
Definition: Haxis.cxx:131
Bool_t IsEmpty() const
Check if a histogram is empty (this is a protected method used mainly by TH1Merger )
Definition: TH1.cxx:5138
virtual Double_t GetMeanError(Int_t axis=1) const
Return standard error of mean of this histogram along the X axis.
Definition: TH1.cxx:7496
void Paint(Option_t *option="") override
Control routine to paint any kind of histograms.
Definition: TH1.cxx:6198
virtual Double_t AndersonDarlingTest(const TH1 *h2, Option_t *option="") const
Statistical test of compatibility in shape between this histogram and h2, using the Anderson-Darling ...
Definition: TH1.cxx:7983
virtual void ResetStats()
Reset the statistics including the number of entries and replace with values calculated from bin cont...
Definition: TH1.cxx:7823
virtual void SetBinContent(Int_t bin, Int_t, Int_t, Double_t content)
Definition: TH1.h:362
static void SetDefaultBufferSize(Int_t buffersize=1000)
Static function to set the default buffer size for automatic histograms.
Definition: TH1.cxx:6685
virtual void SetBinErrorOption(EBinErrorOpt type)
Definition: TH1.h:375
virtual void SetBuffer(Int_t buffersize, Option_t *option="")
Set the maximum number of entries to be kept in the buffer.
Definition: TH1.cxx:8335
virtual void DrawPanel()
Display a panel with all histogram drawing options.
Definition: TH1.cxx:3179
virtual Double_t GetRandom(TRandom *rng=nullptr) const
Return a random number distributed according the histogram bin contents.
Definition: TH1.cxx:4984
const TAxis * GetXaxis() const
Definition: TH1.h:322
virtual Double_t Chisquare(TF1 *f1, Option_t *option="") const
Compute and return the chisquare of this histogram with respect to a function The chisquare is comput...
Definition: TH1.cxx:2489
virtual Double_t GetMaximumStored() const
Definition: TH1.h:287
virtual void DoFillN(Int_t ntimes, const Double_t *x, const Double_t *w, Int_t stride=1)
Internal method to fill histogram content from a vector called directly by TH1::BufferEmpty.
Definition: TH1.cxx:3477
virtual void GetMinimumAndMaximum(Double_t &min, Double_t &max) const
Retrieve the minimum and maximum values in the histogram.
Definition: TH1.cxx:8608
@ kNstat
Size of statistics data (up to TProfile3D)
Definition: TH1.h:182
virtual const TArrayD * GetSumw2() const
Definition: TH1.h:312
virtual Int_t GetMaximumBin() const
Return location of bin with maximum value in the range.
Definition: TH1.cxx:8454
static Int_t AutoP2GetBins(Int_t n)
Auxiliary function to get the next power of 2 integer value larger then n.
Definition: TH1.cxx:1304
Double_t fEntries
Number of entries.
Definition: TH1.h:94
virtual Long64_t Merge(TCollection *list)
Definition: TH1.h:340
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
Definition: TH1.cxx:3244
virtual Double_t * GetIntegral()
Return a pointer to the array of bins integral.
Definition: TH1.cxx:2575
TAxis fZaxis
Z axis descriptor.
Definition: TH1.h:91
EStatOverflows fStatOverflows
Per object flag to use under/overflows in statistics.
Definition: TH1.h:113
virtual void FillN(Int_t ntimes, const Double_t *x, const Double_t *w, Int_t stride=1)
Fill this histogram with an array x and weights w.
Definition: TH1.cxx:3451
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: TH1.cxx:9326
virtual Float_t GetLabelOffset(Option_t *axis="X") const
Return the "axis" label offset.
Definition: Haxis.cxx:79
static bool CheckEqualAxes(const TAxis *a1, const TAxis *a2)
Check that the axis are the same.
Definition: TH1.cxx:1600
EBinErrorOpt
Enumeration specifying type of statistics for bin errors.
Definition: TH1.h:63
@ kPoisson2
Errors from Poisson interval at 95% CL (~ 2 sigma)
Definition: TH1.h:66
@ kNormal
Errors with Normal (Wald) approximation: errorUp=errorLow= sqrt(N)
Definition: TH1.h:64
@ kPoisson
Errors from Poisson interval at 68.3% (1 sigma)
Definition: TH1.h:65
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
Definition: TH1.cxx:5035
virtual TArrayD * GetSumw2()
Definition: TH1.h:311
virtual Int_t GetContour(Double_t *levels=nullptr)
Return contour values into array levels if pointer levels is non zero.
Definition: TH1.cxx:8288
TAxis fXaxis
X axis descriptor.
Definition: TH1.h:89
virtual void SetTitleOffset(Float_t offset=1, Option_t *axis="X")
Specify a parameter offset to control the distance between the axis and the axis' title.
Definition: Haxis.cxx:345
const Double_t * GetBuffer() const
Definition: TH1.h:237
virtual Bool_t IsHighlight() const
Definition: TH1.h:333
virtual void SetLabelColor(Color_t color=1, Option_t *axis="X")
Set axis labels color.
Definition: Haxis.cxx:226
virtual Double_t GetBinError(Int_t binx, Int_t biny, Int_t binz) const
Definition: TH1.h:268
virtual void ExtendAxis(Double_t x, TAxis *axis)
Histogram is resized along axis such that x is in the axis range.
Definition: TH1.cxx:6496
virtual void SetAxisColor(Color_t color=1, Option_t *axis="X")
Set color to draw the axis line and tick marks.
Definition: Haxis.cxx:187
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width for 1D histogram.
Definition: TH1.cxx:9040
static bool CheckConsistency(const TH1 *h1, const TH1 *h2)
Check histogram compatibility.
Definition: TH1.cxx:1673
const TAxis * GetYaxis() const
Definition: TH1.h:323
TArrayD fSumw2
Array of sum of squares of weights.
Definition: TH1.h:103
virtual void SetOption(Option_t *option=" ")
Definition: TH1.h:405
TH1 * GetAsymmetry(TH1 *h2, Double_t c2=1, Double_t dc2=0)
Return a histogram containing the asymmetry of this histogram with h2, where the asymmetry is defined...
Definition: TH1.cxx:4345
virtual Double_t GetContourLevel(Int_t level) const
Return value of contour number level.
Definition: TH1.cxx:8307
virtual void SetHighlight(Bool_t set=kTRUE)
Set highlight (enable/disable) mode for the histogram by default highlight mode is disable.
Definition: TH1.cxx:4465
virtual void SetAxisRange(Double_t xmin, Double_t xmax, Option_t *axis="X")
Set the "axis" range.
Definition: Haxis.cxx:201
virtual Double_t GetBinErrorUp(Int_t bin) const
Return upper error associated to bin number bin.
Definition: TH1.cxx:8987
virtual void SetYTitle(const char *title)
Definition: TH1.h:413
virtual void Scale(Double_t c1=1, Option_t *option="")
Multiply this histogram by a constant c1.
Definition: TH1.cxx:6596
virtual Int_t GetMinimumBin() const
Return location of bin with minimum value in the range.
Definition: TH1.cxx:8542
virtual Int_t GetSumw2N() const
Definition: TH1.h:313
virtual void SetCellError(Int_t binx, Int_t biny, Double_t content)
Definition: TH1.h:434
virtual Int_t FindBin(Double_t x, Double_t y=0, Double_t z=0)
Return Global bin number corresponding to x,y,z.
Definition: TH1.cxx:3678
Bool_t GetStatOverflowsBehaviour() const
Definition: TH1.h:151
virtual void SetTitleFont(Style_t font=62, Option_t *axis="X")
Set the axis' title font.
Definition: Haxis.cxx:323
virtual Color_t GetAxisColor(Option_t *axis="X") const
Return the number of divisions for "axis".
Definition: Haxis.cxx:40
TObject * Clone(const char *newname="") const override
Make a complete copy of the underlying object.
Definition: TH1.cxx:2737
virtual Double_t GetStdDevError(Int_t axis=1) const
Return error of standard deviation estimation for Normal distribution.
Definition: TH1.cxx:7576
virtual Bool_t Divide(TF1 *f1, Double_t c1=1)
Performs the operation: this = this/(c1*f1) if errors are defined (see TH1::Sumw2),...
Definition: TH1.cxx:2825
virtual Double_t GetMinimum(Double_t minval=-FLT_MAX) const
Return minimum value larger than minval of bins in the range, unless the value has been overridden by...
Definition: TH1.cxx:8512
static bool CheckConsistentSubAxes(const TAxis *a1, Int_t firstBin1, Int_t lastBin1, const TAxis *a2, Int_t firstBin2=0, Int_t lastBin2=0)
Check that two sub axis are the same.
Definition: TH1.cxx:1636
void RecursiveRemove(TObject *obj) override
Recursively remove object from the list of functions.
Definition: TH1.cxx:6568
TAxis fYaxis
Y axis descriptor.
Definition: TH1.h:90
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: TH1.cxx:8097
virtual Double_t GetSumOfWeights() const
Return the sum of weights excluding under/overflows.
Definition: TH1.cxx:7838
static void SmoothArray(Int_t NN, Double_t *XX, Int_t ntimes=1)
Smooth array xx, translation of Hbook routine hsmoof.F based on algorithm 353QH twice presented by J.
Definition: TH1.cxx:6759
virtual void GetCenter(Double_t *center) const
Fill array with center of bins for 1D histogram Better to use h1.GetXaxis()->GetCenter(center)
Definition: TH1.cxx:9051
TVirtualHistPainter * fPainter
! Pointer to histogram painter
Definition: TH1.h:111
virtual void SetBins(Int_t nx, Double_t xmin, Double_t xmax)
Redefine x axis parameters.
Definition: TH1.cxx:8644
virtual Int_t FindFixBin(Double_t x, Double_t y=0, Double_t z=0) const
Return Global bin number corresponding to x,y,z.
Definition: TH1.cxx:3711
virtual void SetBinContent(Int_t bin, Int_t, Double_t content)
Definition: TH1.h:361
virtual void SetLabelSize(Float_t size=0.02, Option_t *axis="X")
Set size of axis' labels.
Definition: Haxis.cxx:285
virtual void Sumw2(Bool_t flag=kTRUE)
Create structure to store sum of squares of weights.
Definition: TH1.cxx:8897
virtual void SetEntries(Double_t n)
Definition: TH1.h:384
virtual Bool_t FindNewAxisLimits(const TAxis *axis, const Double_t point, Double_t &newMin, Double_t &newMax)
finds new limits for the axis so that point is within the range and the limits are compatible with th...
Definition: TH1.cxx:6452
static bool CheckAxisLimits(const TAxis *a1, const TAxis *a2)
Check that the axis limits of the histograms are the same.
Definition: TH1.cxx:1585
static Bool_t AddDirectoryStatus()
Static function: cannot be inlined on Windows/NT.
Definition: TH1.cxx:745
static Bool_t fgDefaultSumw2
! Flag to call TH1::Sumw2 automatically at histogram creation time
Definition: TH1.h:117
Double_t fTsumwx
Total Sum of weight*X.
Definition: TH1.h:97
virtual void LabelsDeflate(Option_t *axis="X")
Reduce the number of bins for the axis passed in the option to the number of bins having a label.
Definition: TH1.cxx:5219
virtual Double_t ComputeIntegral(Bool_t onlyPositive=false)
Compute integral (cumulative sum of bins) The result stored in fIntegral is used by the GetRandom fun...
Definition: TH1.cxx:2527
TString fOption
Histogram options.
Definition: TH1.h:104
virtual void Eval(TF1 *f1, Option_t *option="")
Evaluate function f1 at the center of bins of this histogram.
Definition: TH1.cxx:3196
virtual void SetBarWidth(Float_t width=0.5)
Set the width of bars as fraction of the bin width for drawing mode "B".
Definition: TH1.h:359
virtual Int_t BufferEmpty(Int_t action=0)
Fill histogram with all entries in the buffer.
Definition: TH1.cxx:1397
virtual void SetStats(Bool_t stats=kTRUE)
Set statistics option on/off.
Definition: TH1.cxx:8867
virtual void SetTickLength(Float_t length=0.02, Option_t *axis="X")
Set the axis' tick marks length.
Definition: Haxis.cxx:302
virtual TH1 * Rebin(Int_t ngroup=2, const char *newname="", const Double_t *xbins=0)
Rebin this histogram.
Definition: TH1.cxx:6267
virtual Double_t GetKurtosis(Int_t axis=1) const
Definition: TH1.cxx:7665
A doubly linked list.
Definition: TList.h:38
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Definition: TNamed.cxx:164
Mother of all ROOT objects.
Definition: TObject.h:37
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition: TObject.h:187
EStatusBits
Definition: TObject.h:57
void Obsolete(const char *method, const char *asOfVers, const char *removedFromVers) const
Use this method to declare a method obsolete.
Definition: TObject.cxx:955
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:27
Basic string class.
Definition: TString.h:136
const char * Data() const
Definition: TString.h:369
TVectorT.
Definition: TVectorT.h:27
TVirtualFFT is an interface class for Fast Fourier Transforms.
Definition: TVirtualFFT.h:88
Abstract interface to a histogram painter.
const Double_t sigma
Double_t y[n]
Definition: legend1.C:17
return c1
Definition: legend1.C:41
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
return c2
Definition: legend2.C:14
void forward(const LAYERDATA &prevLayerData, LAYERDATA &currLayerData)
apply the weights (and functions) in forward direction of the DNN
Definition: NeuralNet.icc:546
const double xbins[xbins_n]