Fill a 1D histogram from a user-defined parametric function.
import ROOT
form1 = ROOT.TFormula("form1", "abs(sin(x)/x)")
rangeMin = 0.0
rangeMax = 10.0
sqroot = ROOT.TF1("sqroot", "x*gaus(0) + [3]*form1", rangeMin, rangeMax)
sqroot.SetLineColor(4)
sqroot.SetLineWidth(6)
gausScale = 10.0
gausMean = 4.0
gausVar = 1.0
form1Scale = 20.0
sqroot.SetParameters(gausScale, gausMean, gausVar, form1Scale)
h1d = ROOT.TH1D("h1d", "Test random numbers", 200, rangeMin, rangeMax)
h1d.FillRandom("sqroot", 10000)
with ROOT.TFile.Open("fillrandom_userfunc_py.root", "RECREATE") as myFile:
myFile.WriteObject(form1, form1.GetName())
myFile.WriteObject(sqroot, sqroot.GetName())
myFile.WriteObject(h1d, h1d.GetName())
- Date
- November 2024
- Author
- Rene Brun, Giacomo Parolini
Definition in file hist002_TH1_fillrandom_userfunc.py.