Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
candleplotstack.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_hist
3/// \notebook
4/// Example showing how a THStack with candle plot option.
5///
6/// \macro_image
7/// \macro_code
8///
9/// \authors Georg Troska, Olivier Couet
10
11void candleplotstack()
12{
14 auto rng = new TRandom();
15 auto dateBegin = new TDatime(2010,1,1,0,0,0);
16 auto dateEnd = new TDatime(2011,1,1,0,0,0);
17 int bins = 1000;
18 auto h1 = new TH2I("h1","Machine A",6,dateBegin->Convert(),dateEnd->Convert(),bins,0,1000);
19 auto h2 = new TH2I("h2","Machine B",6,dateBegin->Convert(),dateEnd->Convert(),bins,0,1000);
20 auto hsum = new TH2I("h4","Sum",6,dateBegin->Convert(),dateEnd->Convert(),bins,0,1000);
21
22 float Rand;
23 for (int i = dateBegin->Convert(); i < dateEnd->Convert(); i+=86400*30) {
24 for (int j = 0; j < 1000; j++) {
25 Rand = rng->Gaus(500+sin(i/10000000.)*100,50); h1->Fill(i,Rand); hsum->Fill(i,Rand);
26 Rand = rng->Gaus(500+sin(i/12000000.)*100,50); h2->Fill(i,Rand); hsum->Fill(i,Rand);
27 }
28 }
29
30 h2->SetLineColor(kRed);
31 hsum->SetFillColor(kGreen);
32 TCanvas *c1 = new TCanvas();
33
34 auto hs = new THStack("hs","Machine A+B");
35 hs->Add(h1);
36 hs->Add(h2,"candle2");
37 hs->Add(hsum, "violin1");
38 hs->Draw("candle3");
39 hs->GetXaxis()->SetNdivisions(410);
40
41 gPad->SetGrid(1,0);
42
43 hs->GetXaxis()->SetTimeDisplay(1);
44 hs->GetXaxis()->SetTimeFormat("%d/%m/%y");
45 hs->GetXaxis()->SetNdivisions(-6);
46 hs->GetXaxis()->SetTitle("Date [day/month/year]");
47 c1->Modified();
48
49 gPad->BuildLegend(0.75,0.75,0.95,0.95,"");
50}
@ kRed
Definition Rtypes.h:66
@ kGreen
Definition Rtypes.h:66
R__EXTERN TStyle * gStyle
Definition TStyle.h:436
#define gPad
The Canvas class.
Definition TCanvas.h:23
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
Definition TDatime.h:37
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition TH1.cxx:3346
2-D histogram with an int per channel (see TH1 documentation)
Definition TH2.h:226
The Histogram stack class.
Definition THStack.h:40
This is the base class for the ROOT Random number generators.
Definition TRandom.h:27
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
Definition TStyle.cxx:1913
RVec< PromoteType< T > > sin(const RVec< T > &v)
Definition RVec.hxx:1851
return c1
Definition legend1.C:41
TH1F * h1
Definition legend1.C:5
Definition hsum.py:1