Logo ROOT  
Reference Guide
th2polyBoxes.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_hist
3/// \notebook
4/// This tutorial illustrates how to create an histogram with polygonal
5/// bins (TH2Poly). The bins are boxes.
6///
7/// \macro_image
8/// \macro_code
9///
10/// \author Olivier Couet
11
12TCanvas *th2polyBoxes() {
13 TCanvas *ch2p2 = new TCanvas("ch2p2","ch2p2",600,400);
14 gStyle->SetPalette(57);
15 TH2Poly *h2p = new TH2Poly();
16 h2p->SetName("Boxes");
17 h2p->SetTitle("Boxes");
18
19 Int_t i,j;
20 Int_t nx = 40;
21 Int_t ny = 40;
22 Double_t xval1,yval1,xval2,yval2;
23 Double_t dx=0.2, dy=0.1;
24 xval1 = 0.;
25 xval2 = dx;
26
27 for (i = 0; i<nx; i++) {
28 yval1 = 0.;
29 yval2 = dy;
30 for (j = 0; j<ny; j++) {
31 h2p->AddBin(xval1, yval1, xval2, yval2);
32 yval1 = yval2;
33 yval2 = yval2+yval2*dy;
34 }
35 xval1 = xval2;
36 xval2 = xval2+xval2*dx;
37 }
38
39 TRandom ran;
40 for (i = 0; i<300000; i++) {
41 h2p->Fill(50*ran.Gaus(2.,1), ran.Gaus(2.,1));
42 }
43
44 h2p->Draw("COLZ");
45 return ch2p2;
46}
int Int_t
Definition: RtypesCore.h:45
double Double_t
Definition: RtypesCore.h:59
R__EXTERN TStyle * gStyle
Definition: TStyle.h:414
The Canvas class.
Definition: TCanvas.h:23
void SetTitle(const char *title) override
Change (i.e.
Definition: TH1.cxx:6700
void Draw(Option_t *option="") override
Draw this histogram with options.
Definition: TH1.cxx:3060
void SetName(const char *name) override
Change the name of this histogram.
Definition: TH1.cxx:8827
2D Histogram with Polygonal Bins
Definition: TH2Poly.h:66
Int_t Fill(Double_t x, Double_t y) override
Increment the bin containing (x,y) by 1.
Definition: TH2Poly.cxx:589
virtual Int_t AddBin(TObject *poly)
Adds a new bin to the histogram.
Definition: TH2Poly.cxx:222
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:27
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
Definition: TRandom.cxx:274
void SetPalette(Int_t ncolors=kBird, Int_t *colors=nullptr, Float_t alpha=1.)
See TColor::SetPalette.
Definition: TStyle.cxx:1781