Logo ROOT   6.12/07
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 
12 TCanvas *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 }
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:256
R__EXTERN TStyle * gStyle
Definition: TStyle.h:402
int Int_t
Definition: RtypesCore.h:41
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:27
virtual Int_t AddBin(TObject *poly)
Adds a new bin to the histogram.
Definition: TH2Poly.cxx:215
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition: TH1.cxx:2969
virtual void SetName(const char *name)
Change the name of this histogram.
Definition: TH1.cxx:8217
The Canvas class.
Definition: TCanvas.h:31
double Double_t
Definition: RtypesCore.h:55
virtual void SetTitle(const char *title)
See GetStatOverflows for more information.
Definition: TH1.cxx:6154
void SetPalette(Int_t ncolors=kBird, Int_t *colors=0, Float_t alpha=1.)
See TColor::SetPalette.
Definition: TStyle.cxx:1459
virtual Int_t Fill(Double_t x, Double_t y)
Increment the bin containing (x,y) by 1.
Definition: TH2Poly.cxx:605
2D Histogram with Polygonal Bins
Definition: TH2Poly.h:66