Belle II Software  release-05-01-25
btocharm.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 """
5 List of functions to skim events containing :math:`B\\to X_c + h` decays,
6 where :math:`X_c` stays for :math:`D^0`, :math:`D^{\\pm}`, :math:`D^{*0}` and :math:`D^{*\\pm}`,
7 and :math:`h` stays for :math:`\\pi^{\\pm}`, :math:`K^{\\pm}`, :math:`\\rho^{\\pm}` and :math:`a_1^{\\pm}`.
8 """
9 
10 __authors__ = [
11  "Fernando Abudinen",
12  "Hulya Atmacan",
13  "Chiara La Licata",
14  "Minakshi Nayak",
15  "Niharika Rout"
16 ]
17 
18 import modularAnalysis as ma
19 from skim.standardlists.charm import (loadD0_hh_loose, loadD0_Kshh_loose,
20  loadD0_Kspi0_loose, loadD0_Kspipipi0,
21  loadKForBtoHadrons, loadPiForBtoHadrons,
22  loadStdD0_Kpi, loadStdD0_Kpipi0,
23  loadStdD0_Kpipipi, loadStdDplus_Kpipi,
24  loadStdDplus_Kspi,
25  loadStdDstar0_D0pi0_Kpi,
26  loadStdDstar0_D0pi0_Kpipi0,
27  loadStdDstar0_D0pi0_Kpipipi,
28  loadStdDstarPlus_D0pi_Kpi,
29  loadStdDstarPlus_D0pi_Kpipi0,
30  loadStdDstarPlus_D0pi_Kpipipi,
31  loadStdDstarPlus_Dpi0_Kpipi,
32  loadCharmlessD0_Kpipi0)
33 from skim.standardlists.lightmesons import (loadStdAllRhoPlus,
34  loadStdPi0ForBToHadrons)
35 from skim.standardlists.charmless import (loadStdPi0ForBToCharmless,
36  loadStdVeryLooseTracks)
37 from skimExpertFunctions import BaseSkim, fancy_skim_header
38 from stdCharged import stdK, stdPi
39 from stdPi0s import stdPi0s
40 from stdV0s import stdKshorts
41 
42 __liaison__ = "Yi Zhang <yi.zhang2@desy.de>"
43 
44 
45 @fancy_skim_header
47  """
48  Reconstructed decay modes:
49 
50  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 \\pi^0) \\pi^+`,
51  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 \\pi^0) K^+`,
52 
53  Cuts applied:
54 
55  * ``1.5 < M_D0 < 2.2``
56  * ``5.2 < Mbc``
57  * ``abs(deltaE) < 0.3``
58 
59  Note:
60  This skim uses `skim.standardlists.charm.loadD0_Kspi0_loose`, where :math:`D^0`
61  channels are defined.
62  """
63  __authors__ = ["Minakshi Nayak"]
64  __description__ = ""
65  __contact__ = __liaison__
66  __category__ = "physics, hadronic B to charm"
67 
68  ApplyHLTHadronCut = True
69 
70  def load_standard_lists(self, path):
71  stdK("all", path=path)
72  stdPi("all", path=path)
73  stdKshorts(path=path)
74  loadStdPi0ForBToHadrons(path=path)
75  loadD0_Kspi0_loose(path=path)
76 
77  def build_lists(self, path):
78  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
79 
80  BsigChannels = ["anti-D0:Kspi0 pi+:all",
81  "anti-D0:Kspi0 K+:all"]
82  BsigList = []
83  for chID, channel in enumerate(BsigChannels):
84  ma.reconstructDecay("B+:BtoD0h_Kspi0" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
85  BsigList.append("B+:BtoD0h_Kspi0" + str(chID))
86 
87  self.SkimLists = BsigList
88 
89  def validation_histograms(self, path):
90  ma.reconstructDecay('D0 -> K_S0:merged pi0:veryLooseFit', '1.84 < M < 1.89', path=path)
91  ma.reconstructDecay('B-:ch3 ->D0 K-:all', '5.24 < Mbc < 5.3 and abs(deltaE) < 0.15', path=path)
92 
93  # the variables that are printed out are: Mbc, deltaE and the daughter particle invariant masses.
94  ma.variablesToHistogram(
95  filename='BtoDh_Kspi0_Validation.root',
96  decayString='B-:ch3',
97  variables=[
98  ('Mbc', 100, 5.2, 5.3),
99  ('deltaE', 100, -1, 1),
100  ('daughter(0, InvM)', 100, 1.8, 1.9)], # D0 invariant mass
101  variables_2d=[
102  ('Mbc', 50, 5.23, 5.31, 'deltaE', 50, -0.7, 0.7)], path=path)
103 
104 
105 @fancy_skim_header
107  """
108  Reconstructed decay modes:
109 
110  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 \\pi^+ \\pi^- \\pi^0) \\pi^+`,
111  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 \\pi^+ \\pi^- \\pi^0) K^+`,
112 
113  Cuts applied:
114 
115  * ``1.8 < M_D0 < 1.9``
116  * ``5.25 < Mbc``
117  * ``abs(deltaE) < 0.2``
118 
119  Note:
120  This skim uses `skim.standardlists.charm.loadD0_Kspipipi0`, where :math:`D^0`
121  channels are defined.
122  """
123 
124  __authors__ = ["Niharika Rout"]
125  __description__ = ""
126  __contact__ = __liaison__
127  __category__ = "physics, hadronic B to charm"
128 
129  ApplyHLTHadronCut = True
130  produce_on_tau_samples = False # retention is very close to zero on taupair
131 
132  def load_standard_lists(self, path):
133  stdK("all", path=path)
134  stdPi("all", path=path)
135  stdPi0s("eff40_Jan2020Fit", path=path)
136  stdKshorts(path=path)
137  loadStdPi0ForBToHadrons(path=path)
138  loadPiForBtoHadrons(path=path)
139  loadD0_Kspipipi0(path=path)
140 
141  def build_lists(self, path):
142  Bcuts = "Mbc > 5.25 and abs(deltaE) < 0.2"
143 
144  BsigChannels = ["anti-D0:Kspipipi0 pi+:all",
145  "anti-D0:Kspipipi0 K+:all"
146  ]
147  BsigList = []
148  for chID, channel in enumerate(BsigChannels):
149  ma.reconstructDecay("B+:BtoD0h_Kspipipi0" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
150  BsigList.append("B+:BtoD0h_Kspipipi0" + str(chID))
151 
152  self.SkimLists = BsigList
153 
154  def validation_histograms(self, path):
155  ma.reconstructDecay('D0 -> K_S0:merged pi-:all pi+:all pi0:eff40_Jan2020Fit', '1.84 < M < 1.89', path=path)
156  ma.reconstructDecay('B-:ch3 ->D0 K-:all', '5.24 < Mbc < 5.3 and abs(deltaE) < 0.15', path=path)
157 
158  # the variables that are printed out are: Mbc, deltaE and the daughter particle invariant masses.
159  ma.variablesToHistogram(
160  filename='BtoDh_Kspipipi0_Validation.root',
161  decayString='B-:ch3',
162  variables=[
163  ('Mbc', 100, 5.2, 5.3),
164  ('deltaE', 100, -1, 1),
165  ('daughter(0, InvM)', 100, 1.8, 1.9)], # D0 invariant mass
166  variables_2d=[
167  ('Mbc', 50, 5.23, 5.31, 'deltaE', 50, -0.7, 0.7)], path=path)
168 
169 
170 @fancy_skim_header
172  """
173  Reconstructed decay modes:
174 
175  * :math:`B^{0}\\to D^{-} (D^{0} \\to K^+ \\pi^- \\pi^-) \\pi^+`
176 
177  Cuts applied:
178 
179  * ``Mbc > 5.2``
180  * ``abs(deltaE) < 0.3``
181 
182  Note:
183  This skim uses `skim.standardlists.charm.loadStdDplus_Kpipi`, where :math:`D^-`
184  channel is defined.
185  """
186 
187  __authors__ = ["Chiara La Licata"]
188  __description__ = ""
189  __contact__ = __liaison__
190  __category__ = "physics, hadronic B to charm"
191 
192  ApplyHLTHadronCut = True
193 
194  def load_standard_lists(self, path):
195  loadPiForBtoHadrons(path=path)
196  loadKForBtoHadrons(path=path)
197  loadStdDplus_Kpipi(path=path)
198 
199  def build_lists(self, path):
200  Bcuts = "5.2 < Mbc and abs(deltaE) < 0.3"
201  ma.reconstructDecay("B0:Dpi_Kpipi -> D-:Kpipi pi+:GoodTrack", Bcuts, 0, path=path)
202 
203  self.SkimLists = ["B0:Dpi_Kpipi"]
204 
205 
206 @fancy_skim_header
208  """
209  Reconstructed decay modes:
210 
211  * :math:`B^{0}\\to D^{-} (\\to K_{\\rm S}^0 \\pi^-) \\pi^+`,
212 
213  Cuts applied:
214 
215  * ``1.8 < M_D < 1.9``
216  * ``Mbc > 5.2``
217  * ``abs(deltaE) < 0.3``
218 
219  Note:
220  This skim uses `stdV0s.stdKshorts` and
221  `skim.standardlists.charm.loadStdDplus_Kpipi`, where :math:`D^0` channels are defined.
222  """
223 
224  __authors__ = ["Fernando Abudinen", "Chiara La Licata"]
225  __description__ = ""
226  __contact__ = __liaison__
227  __category__ = "physics, hadronic B to charm"
228 
229  ApplyHLTHadronCut = True
230  produce_on_tau_samples = False # retention is very close to zero on taupair
231 
232  def load_standard_lists(self, path):
233  stdKshorts(path=path)
234  loadStdPi0ForBToHadrons(path=path)
235  loadPiForBtoHadrons(path=path)
236  loadStdDplus_Kspi(path=path)
237 
238  def build_lists(self, path):
239  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
240  ma.reconstructDecay("B0:B0toDpi_Kspi -> D-:Kspi pi+:GoodTrack", Bcuts, 1, path=path)
241 
242  self.SkimLists = ["B0:B0toDpi_Kspi"]
243 
244 
245 @fancy_skim_header
247  """
248  Reconstructed decay modes:
249 
250  * :math:`B^{0}\\to D^{*-} (D^{0} \\to K^+ \\pi^-) \\pi^+`
251 
252  Cuts applied:
253 
254  * ``Mbc > 5.2``
255  * ``abs(deltaE) < 0.3``
256 
257  Note:
258  This skim uses `skim.standardlists.charm.loadStdDstarPlus_D0pi_Kpi`, where the
259  :math:`D^{*-}` channel is defined.
260  """
261 
262  __authors__ = ["Chiara La Licata"]
263  __description__ = ""
264  __contact__ = __liaison__
265  __category__ = "physics, hadronic B to charm"
266 
267  ApplyHLTHadronCut = True
268  produce_on_tau_samples = False # retention is very close to zero on taupair
269 
270  def load_standard_lists(self, path):
271  loadPiForBtoHadrons(path=path)
272  loadKForBtoHadrons(path=path)
273  loadStdD0_Kpi(path=path)
274  loadStdDstarPlus_D0pi_Kpi(path=path)
275 
276  def build_lists(self, path):
277  Bcuts = "5.2 < Mbc and abs(deltaE) < 0.3"
278  ma.reconstructDecay("B0:Dstarpi_Kpi -> D*-:D0_Kpi pi+:GoodTrack", Bcuts, 0, path=path)
279 
280  self.SkimLists = ["B0:Dstarpi_Kpi"]
281 
282 
283 @fancy_skim_header
285  """
286  Reconstructed decay modes:
287 
288  * :math:`B^{0}\\to \\overline{D}^{*-} (\\to \\overline{D}^{0}
289  (\\to K^+ \\pi^- \\pi^- \\pi^+, K^+\\pi^-\\pi^0) \\pi^-) \\pi^+`
290 
291  Cuts applied:
292 
293  * ``Mbc > 5.2``
294  * ``abs(deltaE) < 0.3``
295  """
296 
297  __authors__ = ["Chiara La Licata"]
298  __description__ = ""
299  __contact__ = __liaison__
300  __category__ = "physics, hadronic B to charm"
301 
302  ApplyHLTHadronCut = True
303  produce_on_tau_samples = False # retention is very close to zero on taupair
304 
305  def load_standard_lists(self, path):
306  loadStdPi0ForBToHadrons(path=path)
307  loadPiForBtoHadrons(path=path)
308  loadKForBtoHadrons(path=path)
309  loadStdD0_Kpipi0(path=path)
310  loadStdD0_Kpipipi(path=path)
311  loadStdDstarPlus_D0pi_Kpipi0(path=path)
312  loadStdDstarPlus_D0pi_Kpipipi(path=path)
313 
314  def build_lists(self, path):
315  Bcuts = "5.2 < Mbc and abs(deltaE) < 0.3"
316  BsigChannels = [
317  "D*-:D0_Kpipipi pi+:GoodTrack",
318  "D*-:D0_Kpipi0 pi+:GoodTrack"
319  ]
320 
321  BsigList = []
322  for chID, channel in enumerate(BsigChannels):
323  ma.reconstructDecay("B0:Dstarpi_Kpipipi_Kpipi0" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
324  BsigList.append("B0:Dstarpi_Kpipipi_Kpipi0" + str(chID))
325 
326  self.SkimLists = BsigList
327 
328 
329 @fancy_skim_header
331  """
332  Reconstructed decay modes:
333 
334  * :math:`B^{0}\\to D^{-} (\\to K^+ \\pi^- \\pi^-) \\rho^+`,
335 
336  Cuts applied:
337 
338  * ``1.8 < M_D < 1.9``
339  * ``0.47 < M_rho < 1.07``
340  * ``Mbc > 5.2``
341  * ``abs(deltaE) < 0.3``
342 
343  Note:
344  This skim uses `skim.standardlists.charm.loadStdDplus_Kpipi`, where :math:`D^0` channels
345  are defined, and `skim.standardlists.lightmesons.loadStdAllRhoPlus`.
346  """
347 
348  __authors__ = ["Fernando Abudinen"]
349  __description__ = ""
350  __contact__ = __liaison__
351  __category__ = "physics, hadronic B to charm"
352 
353  ApplyHLTHadronCut = True
354 
355  def load_standard_lists(self, path):
356  stdPi("all", path=path)
357  loadPiForBtoHadrons(path=path)
358  loadKForBtoHadrons(path=path)
359  loadStdDplus_Kpipi(path=path)
360  loadStdPi0ForBToHadrons(path=path)
361  loadStdAllRhoPlus(path=path)
362 
363  def build_lists(self, path):
364  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
365  ma.reconstructDecay("B0:B0toDrho_Kpipi -> D-:Kpipi rho+:all", Bcuts, 1, path=path)
366 
367  self.SkimLists = ["B0:B0toDrho_Kpipi"]
368 
369 
370 @fancy_skim_header
372  """
373  Reconstructed decay modes:
374 
375  * :math:`B^{0}\\to D^{-} (\\to K_{\\rm S}^0 \\pi^-) \\rho^+`,
376 
377  Cuts applied:
378 
379  * ``1.8 < M_D < 1.9``
380  * ``0.47 < M_rho < 1.07``
381  * ``Mbc > 5.2``
382  * ``abs(deltaE) < 0.3``
383 
384  Note:
385  This skim uses `stdV0s.stdKshorts` and
386  `skim.standardlists.charm.loadStdDplus_Kspi`, where :math:`D^0` channels are defined, and
387  `skim.standardlists.lightmesons.loadStdAllRhoPlus`.
388  """
389 
390  __authors__ = ["Fernando Abudinen"]
391  __description__ = ""
392  __contact__ = __liaison__
393  __category__ = "physics, hadronic B to charm"
394 
395  ApplyHLTHadronCut = True
396  produce_on_tau_samples = False # retention is very close to zero on taupair
397 
398  def load_standard_lists(self, path):
399  stdPi("all", path=path)
400  stdKshorts(path=path)
401  loadPiForBtoHadrons(path=path)
402  loadStdDplus_Kspi(path=path)
403  loadStdPi0ForBToHadrons(path=path)
404  loadStdAllRhoPlus(path=path)
405 
406  def build_lists(self, path):
407  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
408 
409  ma.reconstructDecay("B0:B0toDrho_Kspi -> D-:Kspi rho+:all", Bcuts, 1, path=path)
410 
411  self.SkimLists = ["B0:B0toDrho_Kspi"]
412 
413 
414 @fancy_skim_header
416  """
417  Reconstructed decay modes:
418 
419  * :math:`B^{0}\\to D^{*-} (\\to \\overline{D}^{0} (\\to K^+ \\pi^-) \\pi^-) \\rho^+`,
420 
421  Cuts applied:
422 
423  * ``1.7 < M_D < 2.0``
424  * ``0.47 < M_rho < 1.07``
425  * ``DM_Dstar_D < 0.16``
426  * ``Mbc > 5.2``
427  * ``abs(deltaE) < 0.3``
428 
429  Note:
430  This skim uses `skim.standardlists.charm.loadStdD0_Kpi` and
431  `skim.standardlists.charm.loadStdDstarPlus_D0pi_Kpi` where :math:`D^0` channels are
432  defined, and `skim.standardlists.lightmesons.loadStdAllRhoPlus`.
433  """
434 
435  __authors__ = ["Fernando Abudinen"]
436  __description__ = ""
437  __contact__ = __liaison__
438  __category__ = "physics, hadronic B to charm"
439 
440  ApplyHLTHadronCut = True
441  produce_on_tau_samples = False # retention is very close to zero on taupair
442 
443  def load_standard_lists(self, path):
444  stdPi("all", path=path)
445  loadStdPi0ForBToHadrons(path=path)
446  loadStdAllRhoPlus(path=path)
447  loadPiForBtoHadrons(path=path)
448  loadKForBtoHadrons(path=path)
449  loadStdD0_Kpi(path=path)
450  loadStdDstarPlus_D0pi_Kpi(path=path)
451 
452  def build_lists(self, path):
453  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
454  ma.reconstructDecay("B0:BtoDstarRho_D0pi_Kpi -> D*-:D0_Kpi rho+:all", Bcuts, 1, path=path)
455 
456  self.SkimLists = ["B0:BtoDstarRho_D0pi_Kpi"]
457 
458 
459 @fancy_skim_header
461  """
462  Reconstructed decay modes:
463 
464  * :math:`B^{0}\\to D^{*-} (\\to \\overline{D}^{0}
465  (\\to K^+2\\pi^-\\pi^+, K^+\\pi^-\\pi^0)\\pi^-) \\rho^+`,
466 
467  Cuts applied:
468 
469  * ``1.7 < M_D < 2.0``
470  * ``0.47 < M_rho < 1.07``
471  * ``DM_Dstar_D < 0.16``
472  * ``Mbc > 5.2``
473  * ``abs(deltaE) < 0.3``
474 
475  Note:
476  This skim uses `skim.standardlists.charm.loadStdD0_Kpipi0`,
477  `skim.standardlists.charm.loadStdD0_Kpipipi`,
478  `skim.standardlists.charm.loadStdDstarPlus_D0pi_Kpipi0` and
479  `skim.standardlists.charm.loadStdDstarPlus_D0pi_Kpipipi` where :math:`D^0`
480  channels are defined, and `skim.standardlists.lightmesons.loadStdAllRhoPlus`.
481  """
482 
483  __authors__ = ["Fernando Abudinen"]
484  __description__ = ""
485  __contact__ = __liaison__
486  __category__ = "physics, hadronic B to charm"
487 
488  ApplyHLTHadronCut = True
489  produce_on_tau_samples = False # retention is very close to zero on taupair
490 
491  def load_standard_lists(self, path):
492  stdPi("all", path=path)
493  loadStdPi0ForBToHadrons(path=path)
494  loadStdAllRhoPlus(path=path)
495  loadPiForBtoHadrons(path=path)
496  loadKForBtoHadrons(path=path)
497  loadStdD0_Kpipi0(path=path)
498  loadStdD0_Kpipipi(path=path)
499  loadStdDstarPlus_D0pi_Kpipi0(path=path)
500  loadStdDstarPlus_D0pi_Kpipipi(path=path)
501 
502  def build_lists(self, path):
503  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
504 
505  BsigChannels = [
506  "D*-:D0_Kpipipi rho+:all",
507  "D*-:D0_Kpipi0 rho+:all",
508  ]
509  BsigList = []
510  for chID, channel in enumerate(BsigChannels):
511  ma.reconstructDecay("B+:B0toDstarRho" + str(chID) + " -> " + channel, Bcuts, chID, path=path, allowChargeViolation=True)
512  BsigList.append("B+:B0toDstarRho" + str(chID))
513 
514  self.SkimLists = BsigList
515 
516 
517 @fancy_skim_header
519  """
520  Skim list definitions for all charged B to charm 2 body decays.
521 
522  Reconstructed decay modes:
523 
524  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ \\pi^-) \\pi^+`,
525  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^- \\pi^+) \\pi^+`,
526  * :math:`B^{+}\\to \\overline{D}^{0} (\\to \\pi^+ \\pi^-) \\pi^+`,
527  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ K^-) \\pi^+`,
528  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ \\pi^-) K^+`,
529  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^- \\pi^+) K^+`,
530  * :math:`B^{+}\\to \\overline{D}^{0} (\\to \\pi^+ \\pi^-) K^+`,
531  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ K^-) K^+`,
532 
533  Cuts applied:
534 
535  * ``1.5 < M_D0 < 2.2``
536  * ``5.2 < Mbc``
537  * ``abs(deltaE) < 0.3``
538 
539  Note:
540  This skim uses `skim.standardlists.charm.loadD0_hh_loose`, where :math:`D^0`
541  channels are defined.
542  """
543 
544  __authors__ = ["Hulya Atmacan"]
545  __description__ = ""
546  __contact__ = __liaison__
547  __category__ = "physics, hadronic B to charm"
548 
549  ApplyHLTHadronCut = True
550 
551  def load_standard_lists(self, path):
552  loadPiForBtoHadrons(path=path)
553  loadKForBtoHadrons(path=path)
554  loadD0_hh_loose(path=path)
555 
556  def build_lists(self, path):
557  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
558 
559  BsigChannels = [
560  "anti-D0:hh pi+:GoodTrack",
561  "anti-D0:hh K+:GoodTrack"
562  ]
563  BsigList = []
564  for chID, channel in enumerate(BsigChannels):
565  ma.reconstructDecay("B+:BtoD0h_hh" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
566  BsigList.append("B+:BtoD0h_hh" + str(chID))
567 
568  self.SkimLists = BsigList
569 
570  def validation_histograms(self, path):
571  ma.reconstructDecay('D0 -> K-:GoodTrack pi+:GoodTrack', '1.84 < M < 1.89', path=path)
572  ma.reconstructDecay('B-:ch3 ->D0 K-:GoodTrack', '5.24 < Mbc < 5.3 and abs(deltaE) < 0.15', path=path)
573 
574  # the variables that are printed out are: Mbc, deltaE and the daughter particle invariant masses.
575 
576  ma.variablesToHistogram(
577  filename='BtoDh_hh_Validation.root',
578  decayString='B-:ch3',
579  variables=[
580  ('Mbc', 100, 5.2, 5.3),
581  ('deltaE', 100, -1, 1),
582  ('daughter(0, InvM)', 100, 1.8, 1.9)], # D0 invariant mass
583  variables_2d=[
584  ('Mbc', 50, 5.23, 5.31, 'deltaE', 50, -0.7, 0.7)], path=path)
585 
586 
587 @fancy_skim_header
589  """
590  Skim list definitions for all charged B to charm 3 body decays.
591 
592  Reconstructed decay modes:
593 
594  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ \\pi^-) \\pi^+`,
595  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ \\pi^-) K^+`,
596 
597  Cuts applied:
598 
599  * ``1.7 < M_D0 < 2.0``
600  * ``Mbc > 5.2``
601  * ``abs(deltaE) < 0.5``
602 
603  Note:
604  This skim uses `skim.standardlists.charm.loadStdD0_Kpi`, where :math:`D^0`
605  channels are defined.
606  """
607 
608  __authors__ = ["Niharika Rout"]
609  __description__ = ""
610  __contact__ = __liaison__
611  __category__ = "physics, hadronic B to charm"
612 
613  ApplyHLTHadronCut = True
614 
615  def load_standard_lists(self, path):
616  loadPiForBtoHadrons(path=path)
617  loadKForBtoHadrons(path=path)
618  loadStdD0_Kpi(path=path)
619 
620  def build_lists(self, path):
621  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.5"
622 
623  BsigChannels = ["anti-D0:Kpi pi+:GoodTrack",
624  "anti-D0:Kpi K+:GoodTrack"
625  ]
626  BsigList = []
627  for chID, channel in enumerate(BsigChannels):
628  ma.reconstructDecay("B+:BtoD0h_Kpi" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
629  BsigList.append("B+:BtoD0h_Kpi" + str(chID))
630 
631  self.SkimLists = BsigList
632 
633 
634 @fancy_skim_header
636  """
637  Reconstructed decay modes:
638 
639  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ pi^- pi^- pi^+, \\to K^+ pi^- pi^0) \\pi^+`,
640  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ pi^- pi^- pi^+, \\to K^+ pi^- pi^0) K^+`,
641  * :math:`B^{+}\\to \\overline{D}^{*0} (\\to \\overline{D}^{0} (\\to K^+2\\pi^-\\pi^+, K^+\\pi^-\\pi^0)
642  \\pi^0) \\pi^+`
643  * :math:`B^{+}\\to \\overline{D}^{*0} (\\to \\overline{D}^{0} (\\to K^+2\\pi^-\\pi^+, K^+\\pi^-\\pi^0)
644  \\pi^0) \\K^+`
645 
646  Cuts applied:
647 
648  * ``1.7 < M_D0 < 2.0``
649  * ``Mbc > 5.2``
650  * ``abs(deltaE) < 0.3``
651 
652  Note:
653  This skim uses `skim.standardlists.charm.loadStdD0_Kpipipi` and
654  `skim.standardlists.charm.loadStdD0_Kpipi0`, where :math:`D^0` channels are
655  defined.
656  """
657 
658  __authors__ = ["Chiara La Licata"]
659  __description__ = ""
660  __contact__ = __liaison__
661  __category__ = "physics, hadronic B to charm"
662 
663  ApplyHLTHadronCut = True
664 
665  def load_standard_lists(self, path):
666  loadStdPi0ForBToHadrons(path=path)
667  loadPiForBtoHadrons(path=path)
668  loadKForBtoHadrons(path=path)
669  loadStdD0_Kpipi0(path=path)
670  loadStdD0_Kpipipi(path=path)
671  loadStdDstar0_D0pi0_Kpipipi(path=path)
672  loadStdDstar0_D0pi0_Kpipi0(path=path)
673 
674  def build_lists(self, path):
675  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
676 
677  BsigChannels = ["anti-D0:Kpipipi pi+:GoodTrack",
678  "anti-D0:Kpipipi K+:GoodTrack",
679  "anti-D0:Kpipi0 pi+:GoodTrack",
680  "anti-D0:Kpipi0 K+:GoodTrack",
681  "anti-D*0:D0_Kpipipi pi+:GoodTrack",
682  "anti-D*0:D0_Kpipipi K+:GoodTrack",
683  "anti-D*0:D0_Kpipi0 pi+:GoodTrack",
684  "anti-D*0:D0_Kpipi0 K+:GoodTrack"
685  ]
686  BsigList = []
687  for chID, channel in enumerate(BsigChannels):
688  ma.reconstructDecay("B+:BtoD0h_Khh_Khpi0" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
689  BsigList.append("B+:BtoD0h_Khh_Khpi0" + str(chID))
690 
691  ma.copyLists(outputListName="B+:BtoD0h_merged", inputListNames=BsigList, path=path)
692 
693  # Select only three random candidates
694  ma.rankByHighest(particleList="B+:BtoD0h_merged", variable="cos(mdstIndex)", numBest=3,
695  outputVariable="cosMdstIndex_rank", path=path)
696 
697  self.SkimLists = ["B+:BtoD0h_merged"]
698 
699 
700 @fancy_skim_header
702  """
703  Reconstructed decay modes:
704 
705  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 K^+ \\pi^-) \\pi^+`,
706  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 K^- \\pi^+) \\pi^+`,
707  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 \\pi^+ \\pi^-) \\pi^+`,
708  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 K^+ K^-) \\pi^+`,
709  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 K^+ \\pi^-) K^+`,
710  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 K^- \\pi^+) K^+`,
711  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 \\pi^+ \\pi^-) K^+`,
712  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K_{\\rm S}^0 K^+ K^-) K^+`,
713 
714  Cuts applied:
715 
716  * ``1.5 < M_D0 < 2.2``
717  * ``5.2 < Mbc``
718  * ``abs(deltaE) < 0.3``
719 
720  Note:
721  This skim uses `skim.standardlists.charm.loadD0_Kshh_loose`, where :math:`D^0`
722  channels are defined.
723  """
724 
725  __authors__ = ["Minakshi Nayak"]
726  __description__ = ""
727  __contact__ = __liaison__
728  __category__ = "physics, hadronic B to charm"
729 
730  ApplyHLTHadronCut = True
731 
732  def load_standard_lists(self, path):
733  stdKshorts(path=path)
734  loadPiForBtoHadrons(path=path)
735  loadKForBtoHadrons(path=path)
736  loadD0_Kshh_loose(path=path)
737 
738  def build_lists(self, path):
739  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
740 
741  BsigChannels = ["anti-D0:Kshh pi+:GoodTrack",
742  "anti-D0:Kshh K+:GoodTrack"
743  ]
744  BsigList = []
745  for chID, channel in enumerate(BsigChannels):
746  ma.reconstructDecay("B+:BtoD0h_Kshh" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
747  BsigList.append("B+:BtoD0h_Kshh" + str(chID))
748 
749  self.SkimLists = BsigList
750 
751  def validation_histograms(self, path):
752  ma.reconstructDecay('D0 -> K_S0:merged pi+:GoodTrack pi-:GoodTrack', '1.84 < M < 1.89', path=path)
753  ma.reconstructDecay('B-:ch3 ->D0 K-:GoodTrack', '5.24 < Mbc < 5.3 and abs(deltaE) < 0.15', path=path)
754 
755  # the variables that are printed out are: Mbc, deltaE and the daughter particle invariant masses.
756  ma.variablesToHistogram(
757  filename='BtoDh_Kshh_Validation.root',
758  decayString='B-:ch3',
759  variables=[
760  ('Mbc', 100, 5.2, 5.3),
761  ('deltaE', 100, -1, 1),
762  ('daughter(0, InvM)', 100, 1.8, 1.9)], # D0 invariant mass
763  variables_2d=[
764  ('Mbc', 50, 5.23, 5.31, 'deltaE', 50, -0.7, 0.7)], path=path)
765 
766 
767 @fancy_skim_header
769  """
770  Reconstructed decay modes:
771 
772  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+ \\pi^-) \\rho^+`,
773  * :math:`B^{+}\\to \\overline{D}^{*0} (\\to \\overline{D}^{0} (\\to K^+ \\pi^-) \\pi^0) \\rho^+`,
774 
775  Cuts applied:
776 
777  * ``1.7 < M_D0 < 2.0``
778  * ``0.47 < M_rho < 1.07``
779  * ``DM_Dstar_D < 0.16``
780  * ``Mbc > 5.2``
781  * ``abs(deltaE) < 0.3``
782 
783  Note:
784  This skim uses `skim.standardlists.charm.loadStdD0_Kpi` and
785  `skim.standardlists.charm.loadStdDstar0_D0pi0_Kpi`, where :math:`D^0` channels
786  are defined, and `skim.standardlists.lightmesons.loadStdAllRhoPlus`.
787  """
788 
789  __authors__ = ["Fernando Abudinen"]
790  __description__ = ""
791  __contact__ = __liaison__
792  __category__ = "physics, hadronic B to charm"
793 
794  ApplyHLTHadronCut = True
795 
796  def load_standard_lists(self, path):
797  stdPi("all", path=path)
798  loadStdPi0ForBToHadrons(path=path)
799  loadStdAllRhoPlus(path=path)
800  loadPiForBtoHadrons(path=path)
801  loadKForBtoHadrons(path=path)
802  loadStdD0_Kpi(path=path)
803  loadStdDstar0_D0pi0_Kpi(path=path)
804 
805  def build_lists(self, path):
806  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3"
807 
808  BsigChannels = ["anti-D0:Kpi rho+:all",
809  "anti-D*0:D0_Kpi rho+:all"]
810  BsigList = []
811  for chID, channel in enumerate(BsigChannels):
812  ma.reconstructDecay("B+:BtoD0rho_Kpi" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
813  BsigList.append("B+:BtoD0rho_Kpi" + str(chID))
814 
815  self.SkimLists = BsigList
816 
817 
818 @fancy_skim_header
820  """
821  Reconstructed decay modes:
822 
823  * :math:`B^{+}\\to \\overline{D}^{0} (\\to K^+2\\pi^-\\pi^+, K^+\\pi^-\\pi^0) \\rho^+`
824  * :math:`B^{+}\\to \\overline{D}^{*0} (\\to \\overline{D}^{0} (\\to K^+2 \\pi^-
825  \\pi^+, K^+\\pi^-\\pi^0) \\pi^0) \\rho^+`
826 
827  Cuts applied:
828 
829  * ``1.7 < M_D0 < 2.0``
830  * ``DM_Dstar_D < 0.16``
831  * ``0.6 < M_rho < 0.9``
832  * ``cosHel_rho < 0.90``
833  * ``Mbc > 5.2``
834  * ``abs(deltaE) < 0.3``
835 
836  Note:
837  This skim uses `skim.standardlists.charm.loadStdD0_Kpipi0`,
838  `skim.standardlists.charm.loadStdD0_Kpipipi`,
839  `skim.standardlists.charm.loadStdDstar0_D0pi0_Kpipi0`, and
840  `skim.standardlists.charm.loadStdDstar0_D0pi0_Kpipipi`, where :math:`D^0`
841  channels are defined, and `skim.standardlists.lightmesons.loadStdAllRhoPlus`.
842 
843  Warning:
844  This skim saves only three randomly-chosen :math:`B^{+}` candidates in a
845  ``B+:BtoD0rho_merged`` list, since the candidate multiplicity of this skim is
846  very high.
847  """
848  __authors__ = ["Fernando Abudinen"]
849  __description__ = ""
850  __contact__ = __liaison__
851  __category__ = "physics, hadronic B to charm"
852 
853  ApplyHLTHadronCut = True
854 
855  def load_standard_lists(self, path):
856  stdPi("all", path=path)
857  loadStdPi0ForBToHadrons(path=path)
858  loadStdAllRhoPlus(path=path)
859  loadPiForBtoHadrons(path=path)
860  loadKForBtoHadrons(path=path)
861  loadStdD0_Kpipi0(path=path)
862  loadStdD0_Kpipipi(path=path)
863  loadStdDstar0_D0pi0_Kpipi0(path=path)
864  loadStdDstar0_D0pi0_Kpipipi(path=path)
865 
866  def build_lists(self, path):
867  Bcuts = "Mbc > 5.2 and abs(deltaE) < 0.3 and cosHelicityAngle(1,0) < 0.9 and 0.6 <= daughter(1,M) <= 0.9"
868 
869  BsigChannels = [
870  "anti-D0:Kpipipi rho+:all",
871  "anti-D0:Kpipi0 rho+:all",
872  "anti-D*0:D0_Kpipipi rho+:all",
873  "anti-D*0:D0_Kpipi0 rho+:all"
874  ]
875  BsigList = []
876  for chID, channel in enumerate(BsigChannels):
877  ma.reconstructDecay("B+:BtoD0rho_merged" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
878  BsigList.append("B+:BtoD0rho_merged" + str(chID))
879 
880  ma.copyLists(outputListName="B+:BtoD0rho_merged", inputListNames=BsigList, path=path)
881 
882  # Select only three random candidates to save them as these channels have high multiplicity.
883  ma.rankByHighest(particleList="B+:BtoD0rho_merged", variable="cos(mdstIndex)", numBest=3,
884  outputVariable="cosMdstIndex_rank", path=path)
885 
886  self.SkimLists = ["B+:BtoD0rho_merged"]
887 
888 
889 @fancy_skim_header
891  """
892  Reconstructed decay modes:
893 
894  * :math:`B^{0}\\to D^{+}(\\to K^- \\pi^+ \\pi^+) D^{-}(\\to K^+ \\pi^- \\pi^-)`
895  * :math:`B^{0}\\to D^{+}(\\to K^- \\pi^+ \\pi^+) D^{-}(\\to K_{\\rm S}^0 \\pi^-)`
896  * :math:`B^{0}\\to D^{+}(\\to K_{\\rm S}^0 \\pi^-) D^{-}(\\to K_{\\rm S}^0 \\pi^-)`
897 
898  Cuts applied:
899 
900  * ``Mbc > 5.2``
901  * ``abs(deltaE) < 0.3``
902  * ``1.8 < M_D < 1.9``
903 
904  Note:
905  This skim uses `skim.standardlists.charm.loadStdDplus_Kpipi` and
906  `skim.standardlists.charm.loadStdDplus_Kspi`, where :math:`D^-`
907  channel is defined.
908  """
909 
910  produce_on_tau_samples = False # retention is very close to zero on taupair
911 
912  __authors__ = ["Chiara La Licata"]
913  __description__ = ""
914  __contact__ = __liaison__
915  __category__ = "physics, hadronic B to charm"
916 
917  ApplyHLTHadronCut = True
918 
919  def load_standard_lists(self, path):
920  stdKshorts(path=path)
921  loadPiForBtoHadrons(path=path)
922  loadKForBtoHadrons(path=path)
923  loadStdDplus_Kpipi(path=path)
924  loadStdDplus_Kspi(path=path)
925 
926  def build_lists(self, path):
927  Bcuts = "5.2 < Mbc and abs(deltaE) < 0.3"
928  BsigChannels = [
929  "D+:Kpipi D-:Kpipi",
930  "D+:Kpipi D-:Kspi",
931  "D+:Kspi D-:Kspi"
932  ]
933 
934  BsigList = []
935  for chID, channel in enumerate(BsigChannels):
936  ma.reconstructDecay("B0:B0toDD" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
937  BsigList.append("B0:B0toDD" + str(chID))
938 
939  self.SkimLists = BsigList
940 
941 
942 @fancy_skim_header
944  """
945  Reconstructed decay modes:
946 
947  * :math:`B^{0}\\to \\overline{D}^{*-} (\\to \\overline{D}^{0}
948  (\\to K^+ \\pi^-, \\to K^+ \\pi^- \\pi^- \\pi^+, K^+ \\pi^- \\pi^0) \\pi^-) \\D^+(\\to K^- \\pi^+ \\pi^+)`
949  * :math:`B^{0}\\to \\overline{D}^{*-} (\\to D^{-} \\pi^0) \\D^+(\\to K^- \\pi^+ \\pi^+)`
950 
951  Cuts applied:
952 
953  * ``Mbc > 5.2``
954  * ``abs(deltaE) < 0.3``
955  * ``DM_Dstar_D < 0.16``
956  * ``1.8 < M_D < 1.9``
957  """
958 
959  __authors__ = ["Chiara La Licata"]
960  __description__ = ""
961  __contact__ = __liaison__
962  __category__ = "physics, hadronic B to charm"
963 
964  ApplyHLTHadronCut = True
965  produce_on_tau_samples = False # retention is very close to zero on taupair
966 
967  def load_standard_lists(self, path):
968  loadStdPi0ForBToHadrons(path=path)
969  loadPiForBtoHadrons(path=path)
970  loadKForBtoHadrons(path=path)
971  loadStdD0_Kpi(path=path)
972  loadStdD0_Kpipi0(path=path)
973  loadStdD0_Kpipipi(path=path)
974  loadStdDplus_Kpipi(path=path)
975  loadStdDstarPlus_D0pi_Kpi(path=path)
976  loadStdDstarPlus_D0pi_Kpipipi(path=path)
977  loadStdDstarPlus_D0pi_Kpipi0(path=path)
978  loadStdDstarPlus_Dpi0_Kpipi(path=path)
979 
980  def build_lists(self, path):
981  Bcuts = "5.2 < Mbc and abs(deltaE) < 0.3"
982  BsigChannels = [
983  "D*+:D0_Kpi D-:Kpipi",
984  "D*+:D0_Kpipipi D-:Kpipi",
985  "D*+:D0_Kpipi0 D-:Kpipi",
986  "D*+:Dpi0_Kpipi D-:Kpipi"
987  ]
988 
989  BsigList = []
990  for chID, channel in enumerate(BsigChannels):
991  ma.reconstructDecay("B0:B0toDstarD" + str(chID) + " -> " + channel, Bcuts, chID, path=path)
992  BsigList.append("B0:B0toDstarD" + str(chID))
993 
994  self.SkimLists = BsigList
995 
996 
997 @fancy_skim_header
999  """
1000  Reconstructed decay modes:
1001 
1002  * :math:`B^{0}\\to \\bar{D}^{0} (\\to K^+ \\pi^- \\pi^0) \\pi^0`
1003 
1004  Cuts applied:
1005 
1006  * ``Mbc > 5.2``
1007  * ``abs(deltaE) < 0.5``
1008 
1009  Note:
1010  This skim uses `skim.standardlists.charm.loadStdD0_Kpipi0`, where the
1011  :math:`\\bar{D}^{0}` channel is defined.
1012  """
1013 
1014  __authors__ = ["Francis Pham"]
1015  __description__ = ""
1016  __contact__ = __liaison__
1017  __category__ = "physics, hadronic B to charm"
1018 
1019  ApplyHLTHadronCut = True
1020  produce_on_tau_samples = False # retention is very close to zero on taupair
1021 
1022  def load_standard_lists(self, path):
1023  loadStdPi0ForBToCharmless(path=path)
1024  loadStdVeryLooseTracks('K', path=path)
1025  loadStdVeryLooseTracks('pi', path=path)
1026  loadCharmlessD0_Kpipi0(path=path)
1027 
1028  def build_lists(self, path):
1029  Bcuts = "5.2 < Mbc and abs(deltaE) < 0.5"
1030 
1031  ma.reconstructDecay("B0:D0Kpipi0_pi0 -> anti-D0:Kpipi0 pi0:charmlessFit", Bcuts, path=path)
1032 
1033  self.SkimLists = ["B0:D0Kpipi0_pi0"]
skim.btocharm.BtoD0h_Kspi0.validation_histograms
def validation_histograms(self, path)
Definition: btocharm.py:89
skim.btocharm.B0toDstarPi_D0pi_Kpi.SkimLists
SkimLists
Definition: btocharm.py:280
skim.btocharm.B0toDstarD
Definition: btocharm.py:943
skim.btocharm.BtoD0h_Kspipipi0.validation_histograms
def validation_histograms(self, path)
Definition: btocharm.py:154
skim.btocharm.BtoD0rho_Kpi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:796
skim.btocharm.B0toDD_Kpipi_Kspi.SkimLists
SkimLists
Definition: btocharm.py:939
skim.btocharm.B0toDD_Kpipi_Kspi
Definition: btocharm.py:890
skim.btocharm.BtoD0rho_Kpi.build_lists
def build_lists(self, path)
Definition: btocharm.py:805
skim.btocharm.B0toDpi_Kspi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:232
skim.btocharm.BtoD0h_Kshh.validation_histograms
def validation_histograms(self, path)
Definition: btocharm.py:751
skim.btocharm.B0toDstarPi_D0pi_Kpi
Definition: btocharm.py:246
skim.btocharm.BtoD0h_Kpipipi_Kpipi0.build_lists
def build_lists(self, path)
Definition: btocharm.py:674
skim.btocharm.BtoD0h_hh.validation_histograms
def validation_histograms(self, path)
Definition: btocharm.py:570
skim.btocharm.B0toDstarRho_D0pi_Kpi.build_lists
def build_lists(self, path)
Definition: btocharm.py:452
skim.btocharm.B0toD0Kpipi0_pi0
Definition: btocharm.py:998
skim.btocharm.BtoD0h_hh.SkimLists
SkimLists
Definition: btocharm.py:568
skim.btocharm.B0toDrho_Kspi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:398
skim.btocharm.B0toDpi_Kspi.SkimLists
SkimLists
Definition: btocharm.py:242
skim.btocharm.BtoD0h_Kpipipi_Kpipi0.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:665
skim.btocharm.B0toDstarRho_D0pi_Kpipipi_Kpipi0
Definition: btocharm.py:460
skim.btocharm.BtoD0h_Kpi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:615
skim.btocharm.B0toDrho_Kpipi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:355
skim.btocharm.BtoD0h_hh.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:551
skim.btocharm.BtoD0h_hh
Definition: btocharm.py:518
skim.btocharm.BtoD0h_Kpi.SkimLists
SkimLists
Definition: btocharm.py:631
skim.btocharm.BtoD0rho_Kpipipi_Kpipi0.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:855
skim.btocharm.B0toDstarD.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:967
skim.btocharm.B0toDrho_Kspi.build_lists
def build_lists(self, path)
Definition: btocharm.py:406
skim.btocharm.BtoD0h_Kpi
Definition: btocharm.py:588
skim.btocharm.B0toDstarPi_D0pi_Kpi.build_lists
def build_lists(self, path)
Definition: btocharm.py:276
skim.btocharm.B0toDpi_Kpipi.build_lists
def build_lists(self, path)
Definition: btocharm.py:199
skim.btocharm.B0toDpi_Kpipi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:194
skim.btocharm.BtoD0h_Kspi0.build_lists
def build_lists(self, path)
Definition: btocharm.py:77
skim.btocharm.B0toDrho_Kpipi
Definition: btocharm.py:330
skim.btocharm.B0toDD_Kpipi_Kspi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:919
skim.btocharm.BtoD0h_Kspi0.SkimLists
SkimLists
Definition: btocharm.py:87
skim.btocharm.BtoD0rho_Kpi
Definition: btocharm.py:768
skim.btocharm.B0toDstarD.SkimLists
SkimLists
Definition: btocharm.py:994
skim.btocharm.B0toDrho_Kspi.SkimLists
SkimLists
Definition: btocharm.py:411
skim.btocharm.BtoD0h_Kshh.SkimLists
SkimLists
Definition: btocharm.py:749
skim.btocharm.BtoD0h_Kspi0.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:70
skim.btocharm.B0toDstarPi_D0pi_Kpipipi_Kpipi0.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:305
skim.btocharm.B0toDstarRho_D0pi_Kpi.SkimLists
SkimLists
Definition: btocharm.py:456
stdPi0s
Definition: stdPi0s.py:1
skim.btocharm.B0toDrho_Kspi
Definition: btocharm.py:371
skimExpertFunctions.BaseSkim
Definition: skimExpertFunctions.py:504
skim.btocharm.BtoD0h_Kpipipi_Kpipi0
Definition: btocharm.py:635
skim.btocharm.BtoD0rho_Kpipipi_Kpipi0.build_lists
def build_lists(self, path)
Definition: btocharm.py:866
skim.btocharm.B0toDstarPi_D0pi_Kpipipi_Kpipi0.SkimLists
SkimLists
Definition: btocharm.py:326
skim.btocharm.BtoD0h_Kspipipi0.SkimLists
SkimLists
Definition: btocharm.py:152
skim.btocharm.B0toDpi_Kpipi.SkimLists
SkimLists
Definition: btocharm.py:203
skim.btocharm.BtoD0rho_Kpipipi_Kpipi0
Definition: btocharm.py:819
skim.btocharm.B0toDstarRho_D0pi_Kpi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:443
skim.btocharm.BtoD0h_hh.build_lists
def build_lists(self, path)
Definition: btocharm.py:556
skim.btocharm.B0toDstarRho_D0pi_Kpi
Definition: btocharm.py:415
skim.btocharm.B0toDstarRho_D0pi_Kpipipi_Kpipi0.SkimLists
SkimLists
Definition: btocharm.py:514
skim.btocharm.BtoD0h_Kshh.build_lists
def build_lists(self, path)
Definition: btocharm.py:738
skim.btocharm.BtoD0h_Kpi.build_lists
def build_lists(self, path)
Definition: btocharm.py:620
skim.btocharm.B0toD0Kpipi0_pi0.build_lists
def build_lists(self, path)
Definition: btocharm.py:1028
skim.btocharm.B0toDpi_Kspi
Definition: btocharm.py:207
skim.btocharm.BtoD0rho_Kpi.SkimLists
SkimLists
Definition: btocharm.py:815
skim.btocharm.B0toDstarRho_D0pi_Kpipipi_Kpipi0.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:491
skim.btocharm.B0toDstarPi_D0pi_Kpipipi_Kpipi0
Definition: btocharm.py:284
skim.btocharm.B0toDstarPi_D0pi_Kpi.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:270
skim.btocharm.B0toDrho_Kpipi.build_lists
def build_lists(self, path)
Definition: btocharm.py:363
skim.btocharm.B0toD0Kpipi0_pi0.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:1022
skim.btocharm.BtoD0rho_Kpipipi_Kpipi0.SkimLists
SkimLists
Definition: btocharm.py:886
skim.btocharm.BtoD0h_Kpipipi_Kpipi0.SkimLists
SkimLists
Definition: btocharm.py:697
skim.btocharm.B0toDpi_Kpipi
Definition: btocharm.py:171
skim.btocharm.BtoD0h_Kshh
Definition: btocharm.py:701
skim.btocharm.BtoD0h_Kspipipi0
Definition: btocharm.py:106
skim.btocharm.BtoD0h_Kspipipi0.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:132
skim.btocharm.B0toDstarPi_D0pi_Kpipipi_Kpipi0.build_lists
def build_lists(self, path)
Definition: btocharm.py:314
skim.btocharm.B0toD0Kpipi0_pi0.SkimLists
SkimLists
Definition: btocharm.py:1033
skim.btocharm.B0toDstarD.build_lists
def build_lists(self, path)
Definition: btocharm.py:980
skim.btocharm.B0toDrho_Kpipi.SkimLists
SkimLists
Definition: btocharm.py:367
skim.btocharm.BtoD0h_Kspipipi0.build_lists
def build_lists(self, path)
Definition: btocharm.py:141
skim.btocharm.B0toDpi_Kspi.build_lists
def build_lists(self, path)
Definition: btocharm.py:238
skim.btocharm.B0toDD_Kpipi_Kspi.build_lists
def build_lists(self, path)
Definition: btocharm.py:926
skim.btocharm.BtoD0h_Kspi0
Definition: btocharm.py:46
skim.btocharm.B0toDstarRho_D0pi_Kpipipi_Kpipi0.build_lists
def build_lists(self, path)
Definition: btocharm.py:502
skim.btocharm.BtoD0h_Kshh.load_standard_lists
def load_standard_lists(self, path)
Definition: btocharm.py:732