Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
candlehisto.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_hist
3 /// \notebook
4 /// Example showing how to combine the various candle plot options.
5 ///
6 /// \macro_image
7 /// \macro_code
8 ///
9 /// \author Georg Troska
10 
11 void candlehisto()
12 {
13  TCanvas *c1 = new TCanvas("c1", "Candle Presets", 800, 600);
14  c1->Divide(3, 2);
15 
16  TRandom *rng = new TRandom();
17  TH2I *h1 = new TH2I("h1", "Sin", 18, 0, 360, 100, -1.5, 1.5);
18  h1->GetXaxis()->SetTitle("Deg");
19 
20  float myRand;
21  for (int i = 0; i < 360; i+= 10) {
22  for (int j = 0; j < 100; j++) {
23  myRand = rng->Gaus(sin(i * 3.14 / 180), 0.2);
24  h1->Fill(i, myRand);
25  }
26  }
27 
28  for (int i = 1; i < 7; i++) {
29  c1->cd(i);
30  TString title = TString::Format("CANDLEX%d", i);
31  TH2I *myhist = (TH2I*)h1->DrawCopy(title);
32  myhist->SetTitle(title);
33  }
34 
35  TCanvas *c2 = new TCanvas("c2", "Violin Presets", 800, 300);
36  c2->Divide(2, 1);
37 
38  for (int i = 1; i < 3; i++) {
39  c2->cd(i);
40  TString title = TString::Format("VIOLINX%d", i);
41  TH2I *myhist = (TH2I*)h1->DrawCopy(title);
42  myhist->SetFillColor(kGray + 2);
43  }
44 
45  TCanvas *c3 = new TCanvas("c3", "Playing with candle and violin-options", 800, 600);
46  c3->Divide(3, 2);
47  TString myopt[6] = {"1000000", "2000000", "3000000", "1112111", "112111", "112111"};
48  for (int i = 0; i < 6; i++) {
49  c3->cd(i + 1);
50  TString title = TString::Format("candlex(%s)", myopt[i].Data());
51  TH2I *myhist = (TH2I*)h1->DrawCopy(title);
52  myhist->SetFillColor(kYellow);
53  if (i == 4) {
54  TH2I *myhist2 = (TH2I*)h1->DrawCopy("candlex(1000000) same");
55  myhist2->SetFillColor(kRed);
56  }
57  if (i == 5) {
58  myhist->SetBarWidth(0.2);
59  myhist->SetBarOffset(0.25);
60  TH2I *myhist2 = (TH2I*)h1->DrawCopy("candlex(2000000) same");
61  myhist2->SetFillColor(kRed);
62  myhist2->SetBarWidth(0.6);
63  myhist2->SetBarOffset(-0.5);
64  }
65  myhist->SetTitle(title);
66  }
67 }