Multidimensional models: complete example with use of conditional pdf with per-event errors
import ROOT
sigma =
ROOT.RooRealVar(
"sigma",
"per-event error scale factor", 1, 0.1, 10)
gm =
ROOT.RooGaussModel(
"gm1",
"gauss model scaled bt per-event error", dt, bias, sigma, dterr)
decay_gm =
ROOT.RooDecay(
"decay_gm",
"decay", dt, tau, gm, type=
"DoubleSided")
frame =
dt.frame(Title=
"Slices of decay(dt|dterr) at various dterr")
for ibin
in range(0, 100, 20):
frame2 =
dt.frame(Title=
"Projection of decay(dt|dterr) on dt")
c =
ROOT.TCanvas(
"rf306_condpereventerrors",
"rf306_condperventerrors", 1200, 400)
c.SaveAs(
"rf306_condpereventerrors.png")
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
[#1] INFO:Fitting -- RooAbsPdf::fitTo(gm1_conv_exp(-abs(@0)/@1)_dt_tau_[decay_gm]_over_gm1_conv_exp(-abs(@0)/@1)_dt_tau_[decay_gm]_Int[dt]) fixing normalization set for coefficient determination to observables in data
[#1] INFO:Fitting -- using CPU computation library compiled with -mavx512
[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_gm1_conv_exp(-abs(@0)/@1)_dt_tau_[decay_gm]_over_gm1_conv_exp(-abs(@0)/@1)_dt_tau_[decay_gm]_Int[dt]_decay_gmData) Summation contains a RooNLLVar, using its error level
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: activating const optimization
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
[#1] INFO:NumericIntegration -- RooRealIntegral::init(gm1_conv_exp(-abs(@0)/@1)_dt_tau_[decay_gm]_Int[dt,dterr]) using numeric integrator RooIntegrator1D to calculate Int(dterr)
[#1] INFO:Plotting -- RooAbsReal::plotOn(decay_gm) plot on dt averages using data variables (dterr)
- Date
- February 2018
- Authors
- Clemens Lange, Wouter Verkerke (C++ version)
Definition in file rf306_condpereventerrors.py.