5 h->SetLineColor(linecolor);
10 auto sig_h=
new TH1F(
"sig_h",
"Signal Histo",50,0,10);
11 auto gaus_h1=
new TH1F(
"gaus_h1",
"Gauss Histo 1",30,0,10);
12 auto gaus_h2=
new TH1F(
"gaus_h2",
"Gauss Histo 2",30,0,10);
13 auto bkg_h=
new TH1F(
"exp_h",
"Exponential Histo",50,0,10);
17 for (
int imeas=0;imeas<4000;imeas++){
18 bkg_h->Fill(rndgen.
Exp(4));
19 if (imeas%4==0) gaus_h1->Fill(rndgen.
Gaus(5,2));
20 if (imeas%4==0) gaus_h2->Fill(rndgen.
Gaus(5,2));
21 if (imeas%10==0)sig_h->Fill(rndgen.
Gaus(5,.5));}
25 for (
auto hist : {sig_h,bkg_h,gaus_h1,gaus_h2})
29 auto sum_h=
new TH1F(*bkg_h);
31 sum_h->SetTitle(
"Exponential + Gaussian;X variable;Y variable");
36 bkg_h->Draw(
"SameHist");
37 sig_h->Draw(
"SameHist");
40 auto dividend=
new TH1F(*gaus_h1);
41 dividend->Divide(gaus_h2);
44 dividend->SetTitle(
";X axis;Gaus Histo 1 / Gaus Histo 2");
46 gaus_h1->SetTitle(
";;Gaus Histo 1 and Gaus Histo 2");
53 gaus_h1->DrawNormalized(
"Hist");
54 gaus_h2->DrawNormalized(
"HistSame");
57 dividend->GetYaxis()->SetRangeUser(0,2.49);
virtual void SetRightMargin(Float_t rightmargin)
Set Pad right margin in fraction of the pad width.
TVirtualPad * cd(Int_t subpadnumber=0) override
Set current canvas & pad.
1-D histogram with a float per channel (see TH1 documentation)
void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) override
Automatic pad generation by division.
TVirtualPad * GetPad(Int_t subpadnumber) const override
Get a pointer to subpadnumber of this pad.
Random number generator class based on M.
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...
virtual Double_t Exp(Double_t tau)
Returns an exponential deviate.
virtual void SetGridy(Int_t value=1)=0
void format_h(TH1F *h, int linecolor)