23dt = ROOT.RooRealVar(
"dt",
"dt", -10, 10)
27dm = ROOT.RooRealVar(
"dm",
"delta m(B0)", 0.472)
28tau = ROOT.RooRealVar(
"tau",
"tau (B0)", 1.547)
29w = ROOT.RooRealVar(
"w",
"flavour mistag rate", 0.1)
30dw = ROOT.RooRealVar(
"dw",
"delta mistag rate for B0/B0bar", 0.1)
32mixState = ROOT.RooCategory(
"mixState",
"B0/B0bar mixing state", {
"mixed": -1,
"unmixed": 1})
34tagFlav = ROOT.RooCategory(
"tagFlav",
"Flavour of the tagged B0", {
"B0": 1,
"B0bar": -1})
37tm = ROOT.RooTruthModel(
"tm",
"truth model", dt)
40bmix = ROOT.RooBMixDecay(
"bmix",
"decay", dt, mixState, tagFlav, tau, dm, w, dw, tm, type=
"DoubleSided")
46data = bmix.generate({dt, mixState, tagFlav}, 10000)
51frame1 = dt.frame(Title=
"B decay distribution with mixing (B0/B0bar)")
53data.plotOn(frame1, Cut=
"tagFlav==tagFlav::B0")
54bmix.plotOn(frame1, Slice=(tagFlav,
"B0"))
56data.plotOn(frame1, Cut=
"tagFlav==tagFlav::B0bar", MarkerColor=
"c")
57bmix.plotOn(frame1, Slice=(tagFlav,
"B0bar"), LineColor=
"c")
60frame2 = dt.frame(Title=
"B decay distribution of mixed events (B0/B0bar)")
62data.plotOn(frame2, Cut=
"mixState==mixState::mixed&&tagFlav==tagFlav::B0")
63bmix.plotOn(frame2, Slice={tagFlav:
"B0", mixState:
"mixed"})
65data.plotOn(frame2, Cut=
"mixState==mixState::mixed&&tagFlav==tagFlav::B0bar", MarkerColor=
"c")
66bmix.plotOn(frame2, Slice={tagFlav:
"B0bar", mixState:
"mixed"}, LineColor=
"c")
69frame3 = dt.frame(Title=
"B decay distribution of unmixed events (B0/B0bar)")
71data.plotOn(frame3, Cut=
"mixState==mixState::unmixed&&tagFlav==tagFlav::B0")
72bmix.plotOn(frame3, Slice={tagFlav:
"B0", mixState:
"unmixed"})
74data.plotOn(frame3, Cut=
"mixState==mixState::unmixed&&tagFlav==tagFlav::B0bar", MarkerColor=
"c")
75bmix.plotOn(frame3, Slice={tagFlav:
"B0bar", mixState:
"unmixed"}, LineColor=
"c")
84CPeigen = ROOT.RooRealVar(
"CPeigen",
"CP eigen value", -1)
85absLambda = ROOT.RooRealVar(
"absLambda",
"|lambda|", 1, 0, 2)
86argLambda = ROOT.RooRealVar(
"absLambda",
"|lambda|", 0.7, -1, 1)
87effR = ROOT.RooRealVar(
"effR",
"B0/B0bar reco efficiency ratio", 1)
90bcp = ROOT.RooBCPEffDecay(
91 "bcp",
"bcp", dt, tagFlav, tau, dm, w, CPeigen, absLambda, argLambda, effR, dw, tm, type=
"DoubleSided"
98data2 = bcp.generate({dt, tagFlav}, 10000)
101frame4 = dt.frame(Title=
"B decay distribution with CPV(|l|=1,Im(l)=0.7) (B0/B0bar)")
103data2.plotOn(frame4, Cut=
"tagFlav==tagFlav::B0")
104bcp.plotOn(frame4, Slice=(tagFlav,
"B0"))
106data2.plotOn(frame4, Cut=
"tagFlav==tagFlav::B0bar", MarkerColor=
"c")
107bcp.plotOn(frame4, Slice=(tagFlav,
"B0bar"), LineColor=
"c")
115data3 = bcp.generate({dt, tagFlav}, 10000)
119frame5 = dt.frame(Title=
"B decay distribution with CPV(|l|=0.7,Im(l)=0.7) (B0/B0bar)")
121data3.plotOn(frame5, Cut=
"tagFlav==tagFlav::B0")
122bcp.plotOn(frame5, Slice=(tagFlav,
"B0"))
124data3.plotOn(frame5, Cut=
"tagFlav==tagFlav::B0bar", MarkerColor=
"c")
125bcp.plotOn(frame5, Slice=(tagFlav,
"B0bar"), LineColor=
"c")
135DGbG = ROOT.RooRealVar(
"DGbG",
"DGamma/GammaAvg", 0.5, -1, 1)
136Adir = ROOT.RooRealVar(
"Adir",
"-[1-abs(l)**2]/[1+abs(l)**2]", 0)
137Amix = ROOT.RooRealVar(
"Amix",
"2Im(l)/[1+abs(l)**2]", 0.7)
138Adel = ROOT.RooRealVar(
"Adel",
"2Re(l)/[1+abs(l)**2]", 0.7)
141DG = ROOT.RooFormulaVar(
"DG",
"Delta Gamma",
"@1/@0", [tau, DGbG])
145fsin = ROOT.RooFormulaVar(
"fsin",
"fsin",
"@0*@1*(1-2*@2)", [Amix, tagFlav, w])
146fcos = ROOT.RooFormulaVar(
"fcos",
"fcos",
"@0*@1*(1-2*@2)", [Adir, tagFlav, w])
147fsinh = ROOT.RooFormulaVar(
"fsinh",
"fsinh",
"@0", [Adel])
150bcpg = ROOT.RooBDecay(
151 "bcpg",
"bcpg", dt, tau, DG, ROOT.RooFit.RooConst(1), fsinh, fcos, fsin, dm, tm, type=
"DoubleSided"
158data4 = bcpg.generate({dt, tagFlav}, 10000)
161frame6 = dt.frame(Title=
"B decay distribution with CPV(Im(l)=0.7,Re(l)=0.7,|l|=1,dG/G=0.5) (B0/B0bar)")
163data4.plotOn(frame6, Cut=
"tagFlav==tagFlav::B0")
164bcpg.plotOn(frame6, Slice=(tagFlav,
"B0"))
166data4.plotOn(frame6, Cut=
"tagFlav==tagFlav::B0bar", MarkerColor=
"c")
167bcpg.plotOn(frame6, Slice=(tagFlav,
"B0bar"), LineColor=
"c")
169c = ROOT.TCanvas(
"rf708_bphysics",
"rf708_bphysics", 1200, 800)
172ROOT.gPad.SetLeftMargin(0.15)
173frame1.GetYaxis().SetTitleOffset(1.6)
176ROOT.gPad.SetLeftMargin(0.15)
177frame2.GetYaxis().SetTitleOffset(1.6)
180ROOT.gPad.SetLeftMargin(0.15)
181frame3.GetYaxis().SetTitleOffset(1.6)
184ROOT.gPad.SetLeftMargin(0.15)
185frame4.GetYaxis().SetTitleOffset(1.6)
188ROOT.gPad.SetLeftMargin(0.15)
189frame5.GetYaxis().SetTitleOffset(1.6)
192ROOT.gPad.SetLeftMargin(0.15)
193frame6.GetYaxis().SetTitleOffset(1.6)
196c.SaveAs(
"rf708_bphysics.png")