Basic functionality: examples on normalization and integration of p.d.fs, construction of cumulative distribution functions from monodimensional p.d.f.s
from __future__ import print_function
import ROOT
x = ROOT.RooRealVar("x", "x", -10, 10)
gx = ROOT.RooGaussian(
"gx", "gx", x, ROOT.RooFit.RooConst(-2), ROOT.RooFit.RooConst(3))
print("gx = ", gx.getVal())
nset = ROOT.RooArgSet(x)
print("gx_Norm[x] = ", gx.getVal(nset))
igx = gx.createIntegral(ROOT.RooArgSet(x))
print("gx_Int[x] = ", igx.getVal())
x.setRange("signal", -5, 5)
xset = ROOT.RooArgSet(x)
igx_sig = gx.createIntegral(xset, ROOT.RooFit.NormSet(xset), ROOT.RooFit.Range("signal"))
print("gx_Int[x|signal]_Norm[x] = ", igx_sig.getVal())
gx_cdf = gx.createCdf(ROOT.RooArgSet(x))
frame = x.frame(ROOT.RooFit.Title("c.d.f of Gaussian p.d.f"))
gx_cdf.plotOn(frame)
c = ROOT.TCanvas("rf110_normintegration",
"rf110_normintegration", 600, 600)
ROOT.gPad.SetLeftMargin(0.15)
frame.GetYaxis().SetTitleOffset(1.6)
frame.Draw()
c.SaveAs("rf110_normintegration.png")
- Date
- February 2018
- Authors
- Clemens Lange, Wouter Verkerke (C++ version)
Definition in file rf110_normintegration.py.