21dt = ROOT.RooRealVar(
"dt",
"dt", -10, 10)
25dm = ROOT.RooRealVar(
"dm",
"delta m(B0)", 0.472)
26tau = ROOT.RooRealVar(
"tau",
"tau (B0)", 1.547)
27w = ROOT.RooRealVar(
"w",
"flavour mistag rate", 0.1)
28dw = ROOT.RooRealVar(
"dw",
"delta mistag rate for B0/B0bar", 0.1)
30mixState = ROOT.RooCategory(
"mixState",
"B0/B0bar mixing state")
31mixState.defineType(
"mixed", -1)
32mixState.defineType(
"unmixed", 1)
34tagFlav = ROOT.RooCategory(
"tagFlav",
"Flavour of the tagged B0")
35tagFlav.defineType(
"B0", 1)
36tagFlav.defineType(
"B0bar", -1)
39tm = ROOT.RooTruthModel(
"tm",
"truth model", dt)
42bmix = ROOT.RooBMixDecay(
53 ROOT.RooBMixDecay.DoubleSided)
59data = bmix.generate(ROOT.RooArgSet(dt, mixState, tagFlav), 10000)
64frame1 = dt.frame(ROOT.RooFit.Title(
65 "B decay distribution with mixing (B0/B0bar)"))
67data.plotOn(frame1, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0"))
68bmix.plotOn(frame1, ROOT.RooFit.Slice(tagFlav,
"B0"))
70data.plotOn(frame1, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0bar"),
71 ROOT.RooFit.MarkerColor(ROOT.kCyan))
72bmix.plotOn(frame1, ROOT.RooFit.Slice(tagFlav,
"B0bar"),
73 ROOT.RooFit.LineColor(ROOT.kCyan))
76frame2 = dt.frame(ROOT.RooFit.Title(
77 "B decay distribution of mixed events (B0/B0bar)"))
79data.plotOn(frame2, ROOT.RooFit.Cut(
80 "mixState==mixState::mixed&&tagFlav==tagFlav::B0"))
81bmix.plotOn(frame2, ROOT.RooFit.Slice(tagFlav,
"B0"),
82 ROOT.RooFit.Slice(mixState,
"mixed"))
86 ROOT.RooFit.Cut(
"mixState==mixState::mixed&&tagFlav==tagFlav::B0bar"),
87 ROOT.RooFit.MarkerColor(
89bmix.plotOn(frame2, ROOT.RooFit.Slice(tagFlav,
"B0bar"), ROOT.RooFit.Slice(
90 mixState,
"mixed"), ROOT.RooFit.LineColor(ROOT.kCyan))
93frame3 = dt.frame(ROOT.RooFit.Title(
94 "B decay distribution of unmixed events (B0/B0bar)"))
96data.plotOn(frame3, ROOT.RooFit.Cut(
97 "mixState==mixState::unmixed&&tagFlav==tagFlav::B0"))
98bmix.plotOn(frame3, ROOT.RooFit.Slice(tagFlav,
"B0"),
99 ROOT.RooFit.Slice(mixState,
"unmixed"))
103 ROOT.RooFit.Cut(
"mixState==mixState::unmixed&&tagFlav==tagFlav::B0bar"),
104 ROOT.RooFit.MarkerColor(
106bmix.plotOn(frame3, ROOT.RooFit.Slice(tagFlav,
"B0bar"), ROOT.RooFit.Slice(
107 mixState,
"unmixed"), ROOT.RooFit.LineColor(ROOT.kCyan))
116CPeigen = ROOT.RooRealVar(
"CPeigen",
"CP eigen value", -1)
117absLambda = ROOT.RooRealVar(
"absLambda",
"|lambda|", 1, 0, 2)
118argLambda = ROOT.RooRealVar(
"absLambda",
"|lambda|", 0.7, -1, 1)
119effR = ROOT.RooRealVar(
"effR",
"B0/B0bar reco efficiency ratio", 1)
122bcp = ROOT.RooBCPEffDecay(
136 ROOT.RooBCPEffDecay.DoubleSided)
142data2 = bcp.generate(ROOT.RooArgSet(dt, tagFlav), 10000)
145frame4 = dt.frame(ROOT.RooFit.Title(
146 "B decay distribution with CPV(|l|=1,Im(l)=0.7) (B0/B0bar)"))
148data2.plotOn(frame4, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0"))
149bcp.plotOn(frame4, ROOT.RooFit.Slice(tagFlav,
"B0"))
151data2.plotOn(frame4, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0bar"),
152 ROOT.RooFit.MarkerColor(ROOT.kCyan))
153bcp.plotOn(frame4, ROOT.RooFit.Slice(tagFlav,
"B0bar"),
154 ROOT.RooFit.LineColor(ROOT.kCyan))
162data3 = bcp.generate(ROOT.RooArgSet(dt, tagFlav), 10000)
166frame5 = dt.frame(ROOT.RooFit.Title(
167 "B decay distribution with CPV(|l|=0.7,Im(l)=0.7) (B0/B0bar)"))
169data3.plotOn(frame5, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0"))
170bcp.plotOn(frame5, ROOT.RooFit.Slice(tagFlav,
"B0"))
172data3.plotOn(frame5, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0bar"),
173 ROOT.RooFit.MarkerColor(ROOT.kCyan))
174bcp.plotOn(frame5, ROOT.RooFit.Slice(tagFlav,
"B0bar"),
175 ROOT.RooFit.LineColor(ROOT.kCyan))
185DGbG = ROOT.RooRealVar(
"DGbG",
"DGamma/GammaAvg", 0.5, -1, 1)
186Adir = ROOT.RooRealVar(
"Adir",
"-[1-abs(l)**2]/[1+abs(l)**2]", 0)
187Amix = ROOT.RooRealVar(
"Amix",
"2Im(l)/[1+abs(l)**2]", 0.7)
188Adel = ROOT.RooRealVar(
"Adel",
"2Re(l)/[1+abs(l)**2]", 0.7)
191DG = ROOT.RooFormulaVar(
"DG",
"Delta Gamma",
"@1/@0",
192 ROOT.RooArgList(tau, DGbG))
196fsin = ROOT.RooFormulaVar(
197 "fsin",
"fsin",
"@0*@1*(1-2*@2)", ROOT.RooArgList(Amix, tagFlav, w))
198fcos = ROOT.RooFormulaVar(
199 "fcos",
"fcos",
"@0*@1*(1-2*@2)", ROOT.RooArgList(Adir, tagFlav, w))
200fsinh = ROOT.RooFormulaVar(
"fsinh",
"fsinh",
"@0", ROOT.RooArgList(Adel))
203bcpg = ROOT.RooBDecay(
"bcpg",
"bcpg", dt, tau, DG, ROOT.RooFit.RooConst(
204 1), fsinh, fcos, fsin, dm, tm, ROOT.RooBDecay.DoubleSided)
210data4 = bcpg.generate(ROOT.RooArgSet(dt, tagFlav), 10000)
213frame6 = dt.frame(ROOT.RooFit.Title(
214 "B decay distribution with CPV(Im(l)=0.7,Re(l)=0.7,|l|=1,dG/G=0.5) (B0/B0bar)"))
216data4.plotOn(frame6, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0"))
217bcpg.plotOn(frame6, ROOT.RooFit.Slice(tagFlav,
"B0"))
219data4.plotOn(frame6, ROOT.RooFit.Cut(
"tagFlav==tagFlav::B0bar"),
220 ROOT.RooFit.MarkerColor(ROOT.kCyan))
221bcpg.plotOn(frame6, ROOT.RooFit.Slice(tagFlav,
"B0bar"),
222 ROOT.RooFit.LineColor(ROOT.kCyan))
224c = ROOT.TCanvas(
"rf708_bphysics",
"rf708_bphysics", 1200, 800)
227ROOT.gPad.SetLeftMargin(0.15)
228frame1.GetYaxis().SetTitleOffset(1.6)
231ROOT.gPad.SetLeftMargin(0.15)
232frame2.GetYaxis().SetTitleOffset(1.6)
235ROOT.gPad.SetLeftMargin(0.15)
236frame3.GetYaxis().SetTitleOffset(1.6)
239ROOT.gPad.SetLeftMargin(0.15)
240frame4.GetYaxis().SetTitleOffset(1.6)
243ROOT.gPad.SetLeftMargin(0.15)
244frame5.GetYaxis().SetTitleOffset(1.6)
247ROOT.gPad.SetLeftMargin(0.15)
248frame6.GetYaxis().SetTitleOffset(1.6)
251c.SaveAs(
"rf708_bphysics.png")