22dt = ROOT.RooRealVar(
"dt",
"dt", -10, 10)
26dm = ROOT.RooRealVar(
"dm",
"delta m(B0)", 0.472)
27tau = ROOT.RooRealVar(
"tau",
"tau (B0)", 1.547)
28w = ROOT.RooRealVar(
"w",
"flavour mistag rate", 0.1)
29dw = ROOT.RooRealVar(
"dw",
"delta mistag rate for B0/B0bar", 0.1)
31mixState = ROOT.RooCategory(
"mixState",
"B0/B0bar mixing state")
32mixState.defineType(
"mixed", -1)
33mixState.defineType(
"unmixed", 1)
35tagFlav = ROOT.RooCategory(
"tagFlav",
"Flavour of the tagged B0")
36tagFlav.defineType(
"B0", 1)
37tagFlav.defineType(
"B0bar", -1)
40tm = ROOT.RooTruthModel(
"tm",
"truth model", dt)
43bmix = ROOT.RooBMixDecay(
54 ROOT.RooBMixDecay.DoubleSided)
60data = bmix.generate(ROOT.RooArgSet(dt, mixState, tagFlav), 10000)
65frame1 = dt.frame(ROOT.RooFit.Title(
66 "B decay distribution with mixing (B0/B0bar)"))
68data.plotOn(frame1, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0"))
69bmix.plotOn(frame1, ROOT.RooFit.Slice(tagFlav,
"B0"))
71data.plotOn(frame1, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0bar"),
72 ROOT.RooFit.MarkerColor(ROOT.kCyan))
73bmix.plotOn(frame1, ROOT.RooFit.Slice(tagFlav,
"B0bar"),
74 ROOT.RooFit.LineColor(ROOT.kCyan))
77frame2 = dt.frame(ROOT.RooFit.Title(
78 "B decay distribution of mixed events (B0/B0bar)"))
80data.plotOn(frame2, ROOT.RooFit.Cut(
81 "mixState==mixState::mixed&&tagFlav==tagFlav::B0"))
82bmix.plotOn(frame2, ROOT.RooFit.Slice(tagFlav,
"B0"),
83 ROOT.RooFit.Slice(mixState,
"mixed"))
87 ROOT.RooFit.Cut(
"mixState==mixState::mixed&&tagFlav==tagFlav::B0bar"),
88 ROOT.RooFit.MarkerColor(
90bmix.plotOn(frame2, ROOT.RooFit.Slice(tagFlav,
"B0bar"), ROOT.RooFit.Slice(
91 mixState,
"mixed"), ROOT.RooFit.LineColor(ROOT.kCyan))
94frame3 = dt.frame(ROOT.RooFit.Title(
95 "B decay distribution of unmixed events (B0/B0bar)"))
97data.plotOn(frame3, ROOT.RooFit.Cut(
98 "mixState==mixState::unmixed&&tagFlav==tagFlav::B0"))
99bmix.plotOn(frame3, ROOT.RooFit.Slice(tagFlav,
"B0"),
100 ROOT.RooFit.Slice(mixState,
"unmixed"))
104 ROOT.RooFit.Cut(
"mixState==mixState::unmixed&&tagFlav==tagFlav::B0bar"),
105 ROOT.RooFit.MarkerColor(
107bmix.plotOn(frame3, ROOT.RooFit.Slice(tagFlav,
"B0bar"), ROOT.RooFit.Slice(
108 mixState,
"unmixed"), ROOT.RooFit.LineColor(ROOT.kCyan))
117CPeigen = ROOT.RooRealVar(
"CPeigen",
"CP eigen value", -1)
118absLambda = ROOT.RooRealVar(
"absLambda",
"|lambda|", 1, 0, 2)
119argLambda = ROOT.RooRealVar(
"absLambda",
"|lambda|", 0.7, -1, 1)
120effR = ROOT.RooRealVar(
"effR",
"B0/B0bar reco efficiency ratio", 1)
123bcp = ROOT.RooBCPEffDecay(
137 ROOT.RooBCPEffDecay.DoubleSided)
143data2 = bcp.generate(ROOT.RooArgSet(dt, tagFlav), 10000)
146frame4 = dt.frame(ROOT.RooFit.Title(
147 "B decay distribution with CPV(|l|=1,Im(l)=0.7) (B0/B0bar)"))
149data2.plotOn(frame4, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0"))
150bcp.plotOn(frame4, ROOT.RooFit.Slice(tagFlav,
"B0"))
152data2.plotOn(frame4, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0bar"),
153 ROOT.RooFit.MarkerColor(ROOT.kCyan))
154bcp.plotOn(frame4, ROOT.RooFit.Slice(tagFlav,
"B0bar"),
155 ROOT.RooFit.LineColor(ROOT.kCyan))
163data3 = bcp.generate(ROOT.RooArgSet(dt, tagFlav), 10000)
167frame5 = dt.frame(ROOT.RooFit.Title(
168 "B decay distribution with CPV(|l|=0.7,Im(l)=0.7) (B0/B0bar)"))
170data3.plotOn(frame5, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0"))
171bcp.plotOn(frame5, ROOT.RooFit.Slice(tagFlav,
"B0"))
173data3.plotOn(frame5, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0bar"),
174 ROOT.RooFit.MarkerColor(ROOT.kCyan))
175bcp.plotOn(frame5, ROOT.RooFit.Slice(tagFlav,
"B0bar"),
176 ROOT.RooFit.LineColor(ROOT.kCyan))
186DGbG = ROOT.RooRealVar(
"DGbG",
"DGamma/GammaAvg", 0.5, -1, 1)
187Adir = ROOT.RooRealVar(
"Adir",
"-[1-abs(l)**2]/[1+abs(l)**2]", 0)
188Amix = ROOT.RooRealVar(
"Amix",
"2Im(l)/[1+abs(l)**2]", 0.7)
189Adel = ROOT.RooRealVar(
"Adel",
"2Re(l)/[1+abs(l)**2]", 0.7)
192DG = ROOT.RooFormulaVar(
"DG",
"Delta Gamma",
"@1/@0",
193 ROOT.RooArgList(tau, DGbG))
197fsin = ROOT.RooFormulaVar(
198 "fsin",
"fsin",
"@0*@1*(1-2*@2)", ROOT.RooArgList(Amix, tagFlav, w))
199fcos = ROOT.RooFormulaVar(
200 "fcos",
"fcos",
"@0*@1*(1-2*@2)", ROOT.RooArgList(Adir, tagFlav, w))
201fsinh = ROOT.RooFormulaVar(
"fsinh",
"fsinh",
"@0", ROOT.RooArgList(Adel))
204bcpg = ROOT.RooBDecay(
"bcpg",
"bcpg", dt, tau, DG, ROOT.RooFit.RooConst(
205 1), fsinh, fcos, fsin, dm, tm, ROOT.RooBDecay.DoubleSided)
211data4 = bcpg.generate(ROOT.RooArgSet(dt, tagFlav), 10000)
214frame6 = dt.frame(ROOT.RooFit.Title(
215 "B decay distribution with CPV(Im(l)=0.7,Re(l)=0.7,|l|=1,dG/G=0.5) (B0/B0bar)"))
217data4.plotOn(frame6, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0"))
218bcpg.plotOn(frame6, ROOT.RooFit.Slice(tagFlav,
"B0"))
220data4.plotOn(frame6, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0bar"),
221 ROOT.RooFit.MarkerColor(ROOT.kCyan))
222bcpg.plotOn(frame6, ROOT.RooFit.Slice(tagFlav,
"B0bar"),
223 ROOT.RooFit.LineColor(ROOT.kCyan))
225c = ROOT.TCanvas(
"rf708_bphysics",
"rf708_bphysics", 1200, 800)
228ROOT.gPad.SetLeftMargin(0.15)
229frame1.GetYaxis().SetTitleOffset(1.6)
232ROOT.gPad.SetLeftMargin(0.15)
233frame2.GetYaxis().SetTitleOffset(1.6)
236ROOT.gPad.SetLeftMargin(0.15)
237frame3.GetYaxis().SetTitleOffset(1.6)
240ROOT.gPad.SetLeftMargin(0.15)
241frame4.GetYaxis().SetTitleOffset(1.6)
244ROOT.gPad.SetLeftMargin(0.15)
245frame5.GetYaxis().SetTitleOffset(1.6)
248ROOT.gPad.SetLeftMargin(0.15)
249frame6.GetYaxis().SetTitleOffset(1.6)
252c.SaveAs(
"rf708_bphysics.png")