19dt = ROOT.RooRealVar(
"dt",
"dt", -20, 20)
20dm = ROOT.RooRealVar(
"dm",
"dm", 0.472)
21tau = ROOT.RooRealVar(
"tau",
"tau", 1.547)
22w = ROOT.RooRealVar(
"w",
"mistag rate", 0.1)
23dw = ROOT.RooRealVar(
"dw",
"delta mistag rate", 0.)
25mixState = ROOT.RooCategory(
"mixState",
"B0/B0bar mixing state")
26mixState.defineType(
"mixed", -1)
27mixState.defineType(
"unmixed", 1)
28tagFlav = ROOT.RooCategory(
"tagFlav",
"Flavour of the tagged B0")
29tagFlav.defineType(
"B0", 1)
30tagFlav.defineType(
"B0bar", -1)
33dterr = ROOT.RooRealVar(
"dterr",
"dterr", 0.1, 1.0)
34bias1 = ROOT.RooRealVar(
"bias1",
"bias1", 0)
35sigma1 = ROOT.RooRealVar(
"sigma1",
"sigma1", 0.1)
36gm1 = ROOT.RooGaussModel(
"gm1",
"gauss model 1", dt, bias1, sigma1)
39bmix = ROOT.RooBMixDecay(
"bmix",
"decay", dt, mixState, tagFlav,
40 tau, dm, w, dw, gm1, ROOT.RooBMixDecay.DoubleSided)
46data = bmix.generate(ROOT.RooArgSet(dt, mixState, tagFlav), 2000)
55tbins = ROOT.RooBinning(-15, 15)
58tbins.addUniform(60, -15, 0)
61tbins.addUniform(15, 0, 15)
64dtframe = dt.frame(ROOT.RooFit.Range(-15, 15),
65 ROOT.RooFit.Title(
"dt distribution with custom binning"))
66data.plotOn(dtframe, ROOT.RooFit.Binning(tbins))
80abins = ROOT.RooBinning(-10, 10)
84abins.addBoundaryPair(1)
85abins.addBoundaryPair(2)
86abins.addBoundaryPair(3)
87abins.addBoundaryPair(4)
88abins.addBoundaryPair(6)
91aframe = dt.frame(ROOT.RooFit.Range(-10, 10), ROOT.RooFit.Title(
92 "mixState asymmetry distribution with custom binning"))
95data.plotOn(aframe, ROOT.RooFit.Asymmetry(
96 mixState), ROOT.RooFit.Binning(abins))
99bmix.plotOn(aframe, ROOT.RooFit.Asymmetry(mixState))
102aframe.SetMinimum(-1.1)
103aframe.SetMaximum(1.1)
109c = ROOT.TCanvas(
"rf108_plotbinning",
"rf108_plotbinning", 800, 400)
112ROOT.gPad.SetLeftMargin(0.15)
113dtframe.GetYaxis().SetTitleOffset(1.6)
116ROOT.gPad.SetLeftMargin(0.15)
117aframe.GetYaxis().SetTitleOffset(1.6)
120c.SaveAs(
"rf108_plotbinning.png")