17 dt = ROOT.RooRealVar(
"dt",
"dt", -10, 10)
18 dterr = ROOT.RooRealVar(
"dterr",
"per-event error on dt", 0.01, 10)
22 bias = ROOT.RooRealVar(
"bias",
"bias", 0, -10, 10)
23 sigma = ROOT.RooRealVar(
24 "sigma",
"per-event error scale factor", 1, 0.1, 10)
25 gm = ROOT.RooGaussModel(
26 "gm1",
"gauss model scaled bt per-event error", dt, bias, sigma, dterr)
29 tau = ROOT.RooRealVar(
"tau",
"tau", 1.548)
30 decay_gm = ROOT.RooDecay(
"decay_gm",
"decay", dt,
31 tau, gm, ROOT.RooDecay.DoubleSided)
37 pdfDtErr = ROOT.RooLandau(
"pdfDtErr",
"pdfDtErr", dterr, ROOT.RooFit.RooConst(
38 1), ROOT.RooFit.RooConst(0.25))
39 expDataDterr = pdfDtErr.generate(ROOT.RooArgSet(dterr), 10000)
46 data = decay_gm.generate(ROOT.RooArgSet(
47 dt), ROOT.RooFit.ProtoData(expDataDterr))
53 decay_gm.fitTo(data, ROOT.RooFit.ConditionalObservables(
54 ROOT.RooArgSet(dterr)))
60 hh_decay = decay_gm.createHistogram(
"hh_decay", dt, ROOT.RooFit.Binning(
61 50), ROOT.RooFit.YVar(dterr, ROOT.RooFit.Binning(50)))
62 hh_decay.SetLineColor(ROOT.kBlue)
65 frame = dt.frame(ROOT.RooFit.Title(
66 "Slices of decay(dt|dterr) at various dterr"))
67 for ibin
in range(0, 100, 20):
69 decay_gm.plotOn(frame, ROOT.RooFit.Normalization(5.))
72 frame2 = dt.frame(ROOT.RooFit.Title(
"Projection of decay(dt|dterr) on dt"))
80 decay_gm.plotOn(frame2, ROOT.RooFit.ProjWData(expDataDterr, ROOT.kTRUE))
83 c = ROOT.TCanvas(
"rf306_condpereventerrors",
84 "rf306_condperventerrors", 1200, 400)
87 ROOT.gPad.SetLeftMargin(0.20)
88 hh_decay.GetZaxis().SetTitleOffset(2.5)
91 ROOT.gPad.SetLeftMargin(0.15)
92 frame.GetYaxis().SetTitleOffset(1.6)
95 ROOT.gPad.SetLeftMargin(0.15)
96 frame2.GetYaxis().SetTitleOffset(1.6)
99 c.SaveAs(
"rf306_condpereventerrors.png")