Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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 }