Example displaying two histograms and their ratio.
void ratioplotOld( ) {
TH1F *
h1 =
new TH1F(
"h1",
"Two gaussian plots and their ratio;x title; h1 and h2 gaussian histograms", 100, -5, 5);
TH1F *h2 =
new TH1F(
"h2",
"h2", 100, -5, 5);
h2->FillRandom("gaus");
TPad *pad1 =
new TPad(
"pad1",
"pad1", 0, 0.3, 1, 1.0);
h2->Draw("same");
#if ROOT_VERSION_CODE >= ROOT_VERSION(6,8,0)
#else
h1->GetYaxis()->SetLabelSize(0.);
#endif
TPad *pad2 =
new TPad(
"pad2",
"pad2", 0, 0.05, 1, 0.3);
h3->SetMinimum(0.8);
h3->SetMaximum(1.35);
h3->Sumw2();
h3->SetStats(0);
h3->Divide(h2);
h3->SetMarkerStyle(21);
h3->Draw("ep");
h1->GetYaxis()->SetTitleSize(20);
h1->GetYaxis()->SetTitleFont(43);
h1->GetYaxis()->SetTitleOffset(1.55);
h2->SetLineWidth(2);
h3->SetTitle("");
h3->GetYaxis()->SetTitle("ratio h1/h2 ");
h3->GetYaxis()->SetNdivisions(505);
h3->GetYaxis()->SetTitleSize(20);
h3->GetYaxis()->SetTitleFont(43);
h3->GetYaxis()->SetTitleOffset(1.55);
h3->GetYaxis()->SetLabelFont(43);
h3->GetYaxis()->SetLabelSize(15);
h3->GetXaxis()->SetTitleSize(20);
h3->GetXaxis()->SetTitleFont(43);
h3->GetXaxis()->SetTitleOffset(1);
h3->GetXaxis()->SetLabelFont(43);
h3->GetXaxis()->SetLabelSize(15);
}
virtual void SetLabelSize(Float_t size=0.04)
Set size of axis labels.
virtual void SetLabelFont(Style_t font=62)
Set labels' font.
virtual void SetBottomMargin(Float_t bottommargin)
Set Pad bottom margin in fraction of the pad height.
virtual void SetTopMargin(Float_t topmargin)
Set Pad top margin in fraction of the pad height.
Class to manage histogram axis.
void ChangeLabel(Int_t labNum=0, Double_t labAngle=-1., Double_t labSize=-1., Int_t labAlign=-1, Int_t labColor=-1, Int_t labFont=-1, const TString &labText="")
Define new text attributes for the label number "labNum".
void SetLabelFont(Int_t labelfont)
void SetLabelSize(Float_t labelsize)
1-D histogram with a float per channel (see TH1 documentation)
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
The most important graphics class in the ROOT system.
void SetGridx(Int_t value=1) override
TVirtualPad * cd(Int_t subpadnumber=0) override
Set Current pad.
void Draw(Option_t *option="") override
Draw Pad in Current pad (re-parent pad if necessary).