import ROOT
x = ROOT.RooRealVar("x", "x", 0, 20)
p = ROOT.RooPolynomial("p", "p", x, ROOT.RooArgList(ROOT.RooFit.RooConst(
0.01), ROOT.RooFit.RooConst(-0.01), ROOT.RooFit.RooConst(0.0004)))
x.setBins(20)
data1 = p.generate(ROOT.RooArgSet(x), 500)
hist1 = data1.binnedClone()
histpdf1 = ROOT.RooHistPdf("histpdf1", "histpdf1", ROOT.RooArgSet(x), hist1, 0)
frame1 = x.frame(ROOT.RooFit.Title(
"Low statistics histogram pdf"), ROOT.RooFit.Bins(100))
data1.plotOn(frame1)
histpdf1.plotOn(frame1)
x.setBins(10)
data2 = p.generate(ROOT.RooArgSet(x), 100000)
hist2 = data2.binnedClone()
histpdf2 = ROOT.RooHistPdf("histpdf2", "histpdf2", ROOT.RooArgSet(x), hist2, 2)
frame2 = x.frame(ROOT.RooFit.Title(
"High stats histogram pdf with interpolation"), ROOT.RooFit.Bins(100))
data2.plotOn(frame2)
histpdf2.plotOn(frame2)
c = ROOT.TCanvas("rf706_histpdf", "rf706_histpdf", 800, 400)
c.Divide(2)
c.cd(1)
ROOT.gPad.SetLeftMargin(0.15)
frame1.GetYaxis().SetTitleOffset(1.4)
frame1.Draw()
c.cd(2)
ROOT.gPad.SetLeftMargin(0.15)
frame2.GetYaxis().SetTitleOffset(1.8)
frame2.Draw()
c.SaveAs("rf706_histpdf.png")