17 The charm standard skim lists here, are for B to charm physics skims. If you are looking
18 for charm physics skims, please check :ref:`skim_physics_charm`.
21 import modularAnalysis
as ma
22 from stdPi0s
import stdPi0s
25 def loadPiForBtoHadrons(path):
27 Creates a ``pi+:GoodTrack`` list, with cuts :math:`|dr|<2~{\\rm cm}` and :math:`|dz|<5~{\\rm cm}`.
30 path (basf2.Path): Skim path to be processed.
32 ma.fillParticleList(
"pi+:GoodTrack",
"abs(dr) < 2 and abs(dz) < 5", path=path)
35 def loadPiSkimHighEff(path):
37 Creates a ``pi+:SkimHighEff`` list, with cuts :math:`|dr|<2~{\\rm cm}` and :math:`|dz|<5~{\\rm cm} and pionID >= 0.01`.
40 path (basf2.Path): Skim path to be processed.
42 ma.fillParticleList(
"pi+:SkimHighEff",
"abs(dr) < 2 and abs(dz) < 5 and pionID >= 0.01", path=path)
47 Creates a ``pi+:slowPi`` list, with cuts :math:`|dr|<2~{\\rm cm}` and :math:`|dz|<5~{\\rm cm} and useCMSFrame(p) < 0.4`.
50 path (basf2.Path): Skim path to be processed.
52 ma.fillParticleList(
"pi+:slowPi",
"abs(dr) < 2 and abs(dz) < 5 and useCMSFrame(p) < 0.4", path=path)
55 def loadKForBtoHadrons(path):
57 Creates a ``K+:GoodTrack`` list, with cuts :math:`|dr|<2~{\\rm cm}` and :math:`|dz|<5~{\\rm cm}`.
60 path (basf2.Path): Skim path to be processed.
62 ma.fillParticleList(
"K+:GoodTrack",
"abs(dr) < 2 and abs(dz) < 5", path=path)
65 def loadKSkimHighEff(path):
67 Creates a ``K+:SkimHighEff`` list, with cuts :math:`|dr|<2~{\\rm cm}` and :math:`|dz|<5~{\\rm cm} and kaonID >= 0.01`.
70 path (basf2.Path): Skim path to be processed.
72 ma.fillParticleList(
"K+:SkimHighEff",
"abs(dr) < 2 and abs(dz) < 5 and kaonID >= 0.01", path=path)
77 Creates a 'D0:all' list, with an invariant mass in the range :math:`1.7 < M < 2.0~{\\rm GeV}/c^2`,
78 from the following particles lists:
80 1. 'K-:GoodTrack pi+:GoodTrack',
81 2. 'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack pi-:GoodTrack',
82 3. 'K-:GoodTrack pi+:GoodTrack pi0:bth_skim',
83 4. 'K_S0:merged pi+:GoodTrack pi-:GoodTrack'.
85 @param path modules are added to this path
87 D0Cuts =
'1.7 < M < 2.0'
88 D0_Channels = [
'K-:GoodTrack pi+:GoodTrack',
89 'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack pi-:GoodTrack',
90 'K-:GoodTrack pi+:GoodTrack pi0:bth_skim',
91 'K_S0:merged pi+:GoodTrack pi-:GoodTrack',
95 for chID, channel
in enumerate(D0_Channels):
96 ma.reconstructDecay(decayString=
'D0:all' + str(chID) +
' -> ' + channel, cut=D0Cuts, dmID=chID, path=path)
97 D0List.append(
'D0:all' + str(chID))
98 ma.copyLists(outputListName=
'D0:all', inputListNames=D0List, path=path)
102 def loadStdD0_Kpi(path=None):
104 Creates a 'D0:Kpi' list, with an invariant mass in the range :math:`1.7 < M < 2.0~{\\rm GeV}/c^2`,
105 from the following particles lists:
107 1. 'K-:GoodTrack pi+:GoodTrack',
109 @param path modules are added to this path
111 ma.reconstructDecay(decayString=
'D0:Kpi -> K-:GoodTrack pi+:GoodTrack', cut=
'1.7 < M < 2.0', dmID=1, path=path)
115 def loadSkimHighEffD0_Kpi(path=None):
117 Creates a 'D0:Kpi_skimhigheff' list, with an invariant mass in the range :math:`1.8 < M < 2.0~{\\rm GeV}/c^2`,
118 from the following particles lists:
120 1. 'K-:SkimHighEff pi+:SkimHighEff',
122 @param path modules are added to this path
124 ma.reconstructDecay(decayString=
'D0:Kpi_skimhigheff -> K-:SkimHighEff pi+:SkimHighEff', cut=
'1.8 < M < 2.0', dmID=1, path=path)
125 return [
'D0:Kpi_skimhigheff']
128 def loadStdD0_Kpipipi(path=None):
130 Creates a 'D0:Kpipipi' list, with an invariant mass in the range :math:`1.7 < M < 2.0~{\\rm GeV}/c^2`,
131 from the following particles lists:
133 2. 'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack pi-:GoodTrack',
135 @param path modules are added to this path
137 ma.reconstructDecay(decayString=
'D0:Kpipipi -> K-:GoodTrack pi+:GoodTrack pi+:GoodTrack pi-:GoodTrack',
138 cut=
'1.7 < M < 2.0', dmID=2, path=path)
139 return [
'D0:Kpipipi']
142 def loadSkimHighEffD0_Kpipipi(path=None):
144 Creates a 'D0:Kpipipi_skimhigheff' list, with an invariant mass in the range :math:`1.8 < M < 2.0~{\\rm GeV}/c^2`,
145 from the following particles lists:
147 2. 'K-:SkimHighEff pi+:SkimHighEff pi+:SkimHighEff pi-:SkimHighEff',
149 @param path modules are added to this path
151 ma.reconstructDecay(decayString=
'D0:Kpipipi_skimhigheff -> K-:SkimHighEff pi+:SkimHighEff pi+:SkimHighEff pi-:SkimHighEff',
152 cut=
'1.8 < M < 2.0', dmID=2, path=path)
153 return [
'D0:Kpipipi_skimhigheff']
156 def loadStdD0_Kpipi0(path=None):
158 Creates a 'D0:Kpipi0' list, with an invariant mass in the range :math:`1.7 < M < 2.0~{\\rm GeV}/c^2`,
159 from the following particles lists:
161 3. 'K-:GoodTrack pi+:GoodTrack pi0:bth_skim',
163 @param path modules are added to this path
165 ma.reconstructDecay(decayString=
'D0:Kpipi0 -> K-:GoodTrack pi+:GoodTrack pi0:bth_skim', cut=
'1.7 < M < 2.0', dmID=3, path=path)
169 def loadStdD0_eff20_Kpipi0(path=None):
171 Creates a 'D0:Kpipi0_eff20' list, with an invariant mass in the range :math:`1.8 < M < 2.0~{\\rm GeV}/c^2`,
172 from the following particles lists:
174 3. 'K-:SkimHighEff pi+:SkimHighEff pi0:eff20_Jan2020',
176 @param path modules are added to this path
179 decayString=
'D0:Kpipi0_eff20 -> K-:SkimHighEff pi+:SkimHighEff pi0:eff20_Jan2020',
183 return [
'D0:Kpipi0_eff20']
186 def loadStdD0_Kspipi(path=None):
188 Creates a 'D0:Kspipi' list, with an invariant mass in the range :math:`1.7 < M < 2.0~{\\rm GeV}/c^2`,
189 from the following particles lists:
191 4. 'K_S0:merged pi+:GoodTrack pi-:GoodTrack'.
193 @param path modules are added to this path
195 ma.reconstructDecay(decayString=
'D0:Kspipi -> K_S0:merged pi+:GoodTrack pi-:GoodTrack', cut=
'1.7 < M < 2.0', dmID=4, path=path)
199 def loadD0_hh_loose(path):
201 Creates a 'D0:hh' list, with an invariant mass in the range :math:`1.5 < M < 2.2~{\\rm GeV}/c^2`,
202 from the following particles lists:
204 1. 'K+:GoodTrack pi-:GoodTrack',
205 2. 'K-:GoodTrack pi+:GoodTrack',
206 3. 'pi+:GoodTrack pi-:GoodTrack',
207 4. 'K+:GoodTrack K-:GoodTrack'.
209 @param path modules are added to this path
212 Dcuts =
'1.5 < M < 2.2'
214 'K+:GoodTrack pi-:GoodTrack',
215 'K-:GoodTrack pi+:GoodTrack',
216 'pi+:GoodTrack pi-:GoodTrack',
217 'K+:GoodTrack K-:GoodTrack'
220 for chID, channel
in enumerate(D0_hh_Channels):
221 ma.reconstructDecay(decayString=
'D0:D0Bar' + str(chID) +
' -> ' + channel, cut=Dcuts, dmID=chID, path=path)
222 D0_hh_List.append(
'D0:D0Bar' + str(chID))
223 ma.copyLists(outputListName=
'D0:hh', inputListNames=D0_hh_List, path=path)
227 def loadD0_Kshh_loose(path):
229 Creates a 'D0:Kshh' list, with an invariant mass in the range :math:`1.5 < M < 2.2~{\\rm GeV}/c^2`,
230 from the following particles lists:
232 1. 'K_S0:merged pi+:GoodTrack pi-:GoodTrack',
233 2. 'K_S0:merged K+:GoodTrack K-:GoodTrack'.
235 @param path modules are added to this path
238 Dcuts =
'1.5 < M < 2.2'
241 'K_S0:merged pi+:GoodTrack pi-:GoodTrack',
242 'K_S0:merged K+:GoodTrack K-:GoodTrack'
245 for chID, channel
in enumerate(D0_Channels):
246 ma.reconstructDecay(decayString=
'D0:Kshh' + str(chID) +
' -> ' + channel, cut=Dcuts, dmID=chID, path=path)
247 D0List.append(
'D0:Kshh' + str(chID))
248 ma.copyLists(outputListName=
'D0:Kshh', inputListNames=D0List, path=path)
252 def loadD0_Kspi0_loose(path):
254 Creates a 'D0:Kspi0' list, with an invariant mass in the range :math:`1.5 < M < 2.2~{\\rm GeV}/c^2`,
255 from the 'K_S0:merged' and the 'pi0:bth_skim' lists.
257 @param path modules are added to this path
260 Dcuts =
'1.5 < M < 2.2'
263 'K_S0:merged pi0:bth_skim'
267 for chID, channel
in enumerate(D0_Channels):
268 ma.reconstructDecay(decayString=
'D0:Kspi0' + str(chID) +
' -> ' + channel, cut=Dcuts, dmID=chID, path=path)
269 D0List.append(
'D0:Kspi0' + str(chID))
270 ma.copyLists(outputListName=
'D0:Kspi0', inputListNames=D0List, path=path)
274 def loadD0_Kspipipi0(path):
276 Creates a 'D0:Kspipipi0' list, with an invariant mass in the range :math:`1.5 < M < 2.2~{\\rm GeV}/c^2`,
277 from the 'K_S0:merged', 'pi+:GoodTrack', 'pi-:GoodTrack' and 'pi0:bth_skim' lists.
279 @param path modules are added to this path
282 Dcuts =
'1.8 < M < 1.9'
285 'K_S0:merged pi+:GoodTrack pi-:GoodTrack pi0:bth_skim'
288 for chID, channel
in enumerate(D0_Channels):
289 ma.reconstructDecay(decayString=
'D0:Kspipipi0' + str(chID) +
' -> ' + channel, cut=Dcuts, dmID=chID, path=path)
290 D0List.append(
'D0:Kspipipi0' + str(chID))
291 ma.copyLists(outputListName=
'D0:Kspipipi0', inputListNames=D0List, path=path)
295 def loadStdDplus(path):
297 Creates a 'D+:all' list, with an invariant mass in the range :math:`1.8 < M < 1.9~{\\rm GeV}/c^2`,
298 from the following particles lists:
300 1. 'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack',
301 2. 'K_S0:merged pi+:GoodTrack',
302 3. 'K_S0:merged pi+:GoodTrack pi0:bth_skim',
303 4. 'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack pi0:bth_skim'.
305 @param path modules are added to this path
307 DplusCuts =
'1.8 < M < 1.9'
308 Dplus_Channels = [
'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack',
309 'K_S0:merged pi+:GoodTrack',
310 'K_S0:merged pi+:GoodTrack pi0:bth_skim',
311 'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack pi0:bth_skim',
315 for chID, channel
in enumerate(Dplus_Channels):
316 ma.reconstructDecay(decayString=
'D+:all' + str(chID) +
' -> ' + channel, cut=DplusCuts, dmID=chID, path=path)
317 DplusList.append(
'D+:all' + str(chID))
318 ma.copyLists(outputListName=
'D+:all', inputListNames=DplusList, path=path)
322 def loadStdDplus_Kpipi(path=None):
324 Creates a 'D+:Kpipi' list, with an invariant mass in the range :math:`1.8 < M < 1.9~{\\rm GeV}/c^2`,
325 from the following particles lists:
327 1. 'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack',
329 @param path modules are added to this path
331 ma.reconstructDecay(decayString=
'D+:Kpipi -> K-:GoodTrack pi+:GoodTrack pi+:GoodTrack', cut=
'1.8 < M < 1.9', dmID=1, path=path)
335 def loadStdDplus_Kspi(path=None):
337 Creates a 'D+:Kspi' list, with an invariant mass in the range :math:`1.8 < M < 1.9~{\\rm GeV}/c^2`,
338 from the following particles lists:
340 2. 'K_S0:merged pi+:GoodTrack',
342 @param path modules are added to this path
344 ma.reconstructDecay(decayString=
'D+:Kspi -> K_S0:merged pi+:GoodTrack', cut=
'1.8 < M < 1.9', dmID=2, path=path)
348 def loadStdDplus_Kspipi0(path=None):
350 Creates a 'D+:Kspipi0' list, with an invariant mass in the range :math:`1.8 < M < 1.9~{\\rm GeV}/c^2`,
351 from the following particles lists:
353 3. 'K_S0:merged pi+:GoodTrack pi0:bth_skim',
355 @param path modules are added to this path
357 ma.reconstructDecay(decayString=
'D+:Kspipi0 -> K_S0:merged pi+:GoodTrack pi0:bth_skim', cut=
'1.8 < M < 1.9',
359 return [
'D+:Kspipi0']
362 def loadStdDplus_Kpipipi0(path=None):
364 Creates a 'D+:Kpipipi0' list, with an invariant mass in the range :math:`1.8 < M < 1.9~{\\rm GeV}/c^2`,
365 from the following particles lists:
367 4. 'K-:GoodTrack pi+:GoodTrack pi+:GoodTrack pi0:bth_skim'.
369 @param path modules are added to this path
371 ma.reconstructDecay(decayString=
'D+:Kpipipi0 -> K-:GoodTrack pi+:GoodTrack pi+:GoodTrack pi0:bth_skim', cut=
'1.8 < M < 1.9',
373 return [
'D+:Kpipipi0']
376 def loadStdDstar0(path):
378 Create a list of 'D*0:all' list, with an invariant mass cut :math:`1.95 < M < 2.05 GeV`, from the following particles lists:
380 - 'D0:all pi0:eff40_Jan2020'
381 - 'D0:all gamma:loose'
383 @param path modules are added to this path
385 Dstar0Cuts =
'massDifference(0) < 0.16'
386 D_Channels = [
'D0:all pi0:eff40_Jan2020',
387 'D0:all gamma:loose']
390 for chID, channel
in enumerate(D_Channels):
391 ma.reconstructDecay(decayString=
'D*0:std' + str(chID) +
' -> ' + channel, cut=Dstar0Cuts, dmID=chID, path=path)
392 DList.append(
'D*0:std' + str(chID))
393 ma.copyLists(outputListName=
'D*0:all', inputListNames=DList, path=path)
397 def loadStdDstar0_D0pi0_all(path=None):
399 Creates a 'D*0:all' list combining the 'D0:all' and 'pi0:bth_skim' lists by requiring the mass difference between D*0 and D0
400 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
402 @param path modules are added to this path
404 Dstar0Cuts =
'massDifference(0) < 0.16'
405 Dstar0_Channels = [
'D0:all pi0:bth_skim',
409 for chID, channel
in enumerate(Dstar0_Channels):
410 ma.reconstructDecay(decayString=
'D*0:all' + str(chID) +
' -> ' + channel, cut=Dstar0Cuts, dmID=chID, path=path)
411 Dstar0List.append(
'D*0:all' + str(chID))
412 ma.copyLists(outputListName=
'D*0:all', inputListNames=Dstar0List, path=path)
416 def loadStdDstar0_D0pi0_Kpi(path=None):
418 Creates a 'D*0:D0_Kpi' list combining the 'D0:Kpi' and 'pi0:bth_skim' lists by requiring the mass difference between D*0 and D0
419 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
421 @param path modules are added to this path
423 ma.reconstructDecay(decayString=
'D*0:D0_Kpi -> D0:Kpi pi0:bth_skim', cut=
'massDifference(0) < 0.16', dmID=1, path=path)
424 return [
'D*0:D0_Kpi']
427 def loadStdDstar0_D0pi0_Kpipipi(path=None):
429 Creates a 'D*0:D0_Kpipipi' list combining the 'D0:Kpipipi' and 'pi0:bth_skim' lists by requiring the mass difference
430 between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
432 @param path modules are added to this path
434 ma.reconstructDecay(decayString=
'D*0:D0_Kpipipi -> D0:Kpipipi pi0:bth_skim', cut=
'massDifference(0) < 0.16', dmID=2, path=path)
435 return [
'D*0:D0_Kpipipi']
438 def loadStdDstar0_D0pi0_Kpipi0(path=None):
440 Creates a 'D*0:D0_Kpipi0' list combining the 'D0:Kpipi0' and 'pi0:bth_skim' lists by requiring the mass difference
441 between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
443 @param path modules are added to this path
445 ma.reconstructDecay(decayString=
'D*0:D0_Kpipi0 -> D0:Kpipi0 pi0:bth_skim', cut=
'massDifference(0) < 0.16', dmID=3, path=path)
446 return [
'D*0:D0_Kpipi0']
449 def loadStdDstar0_D0pi0_Kspipi(path=None):
451 Creates a 'D*0:D0_Kspipi' list combining the 'D0:Kspipi' and 'pi0:bth_skim' lists by requiring the mass difference
452 between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
454 @param path modules are added to this path
456 ma.reconstructDecay(decayString=
'D*0:D0_Kspipi -> D0:Kspipi pi0:bth_skim', cut=
'massDifference(0) < 0.16', dmID=4, path=path)
457 return [
'D*0:D0_Kspipi']
460 def loadStdDstarPlus(path):
462 Create a list of 'D*++:all' list, with an invariant mass cut :math:`1.95 < M < 2.05 GeV`, from the following particles lists:
463 - 'D0:all pi+:GoodTrack'
464 - 'D+:all pi0:eff40_Jan2020'
466 @param path modules are added to this path
468 DstarPlusCuts =
'massDifference(0) < 0.16'
469 D_Channels = [
'D0:all pi+:GoodTrack',
470 'D+:all pi0:eff40_Jan2020']
473 for chID, channel
in enumerate(D_Channels):
474 ma.reconstructDecay(decayString=
'D*+:std' + str(chID) +
' -> ' + channel, cut=DstarPlusCuts, dmID=chID, path=path)
475 DList.append(
'D*+:std' + str(chID))
476 ma.copyLists(outputListName=
'D*+:all', inputListNames=DList, path=path)
480 def loadStdDstarPlus_D0pi_all(path=None):
482 Creates a 'D*+:all' list combining the 'D0:all' and 'pi+:GoodTrack' list by requiring the mass difference between D*+ and D0
483 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
485 @param path modules are added to this path
487 DstarPlusCuts =
'massDifference(0) < 0.16'
488 DstarPlus_Channels = [
'D0:all pi+:GoodTrack',
492 for chID, channel
in enumerate(DstarPlus_Channels):
493 ma.reconstructDecay(decayString=
'D*+:std' + str(chID) +
' -> ' + channel, cut=DstarPlusCuts, dmID=chID, path=path)
494 DstarPlusList.append(
'D*+:std' + str(chID))
495 ma.copyLists(outputListName=
'D*+:all', inputListNames=DstarPlusList, path=path)
499 def loadStdDstarPlus_D0pi_Kpi(path=None):
501 Creates a 'D*+:D0_Kpi' list combining the 'D0:Kpi' and 'pi+:GoodTrack' lists by requiring the mass difference between D*0 and D0
502 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
504 @param path modules are added to this path
506 ma.reconstructDecay(decayString=
'D*+:D0_Kpi -> D0:Kpi pi+:GoodTrack', cut=
'massDifference(0) < 0.16', dmID=1, path=path)
507 return [
'D*+:D0_Kpi']
510 def loadSkimHighEffDstarPlus_D0pi_Kpi(path=None):
512 Creates a 'D*+:D0_Kpi_skimhigheff' list combining the 'D0:Kpi_skimhigheff' and 'pi+:slowPi' lists by requiring the
513 mass difference between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
515 @param path modules are added to this path
517 ma.reconstructDecay(decayString=
'D*+:D0_Kpi_skimhigheff -> D0:Kpi_skimhigheff pi+:slowPi',
518 cut=
'massDifference(0) < 0.16', dmID=1, path=path)
519 return [
'D*+:D0_Kpi_skimhigheff']
522 def loadStdDstarPlus_D0pi_Kpipipi(path=None):
524 Creates a 'D*+:D0_Kpipipi' list combining the 'D0:Kpipipi' and 'pi+:GoodTrack' lists by requiring the mass difference
525 between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
527 @param path modules are added to this path
529 ma.reconstructDecay(decayString=
'D*+:D0_Kpipipi -> D0:Kpipipi pi+:GoodTrack', cut=
'massDifference(0) < 0.16', dmID=2, path=path)
530 return [
'D*+:D0_Kpipipi']
533 def loadSkimHighEffDstarPlus_D0pi_Kpipipi(path=None):
535 Creates a 'D*+:D0_Kpipipi_skimhigheff' list combining the 'D0:Kpipipi_skimhigheff' and 'pi+:slowPi' lists
536 by requiring the mass difference between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
538 @param path modules are added to this path
540 ma.reconstructDecay(decayString=
'D*+:D0_Kpipipi_skimhigheff -> D0:Kpipipi_skimhigheff pi+:slowPi',
541 cut=
'massDifference(0) < 0.16', dmID=2, path=path)
542 return [
'D*+:D0_Kpipipi_skimhigheff']
545 def loadStdDstarPlus_D0pi_Kpipi0(path=None):
547 Creates a 'D*+:D0_Kpipi0' list combining the 'D0:Kpipi0' and 'pi+:GoodTrack' lists by requiring the mass difference
548 between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
550 @param path modules are added to this path
552 ma.reconstructDecay(decayString=
'D*+:D0_Kpipi0 -> D0:Kpipi0 pi+:GoodTrack', cut=
'massDifference(0) < 0.16', dmID=3, path=path)
553 return [
'D*+:D0_Kpipi0']
556 def loadStdDstarPlus_D0pi_Kpipi0_eff20(path=None):
558 Creates a 'D*+:D0_Kpipi0_eff20' list combining the 'D0:Kpipi0_eff20' and 'pi+:slowPi' lists by requiring the mass difference
559 between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
561 @param path modules are added to this path
563 ma.reconstructDecay(decayString=
'D*+:D0_Kpipi0_eff20 -> D0:Kpipi0_eff20 pi+:slowPi',
564 cut=
'massDifference(0) < 0.16', dmID=3, path=path)
565 return [
'D*+:D0_Kpipi0_eff20']
568 def loadStdDstarPlus_D0pi_Kspipi(path=None):
570 Creates a 'D*+:D0_Kspipi' list combining the 'D0:Kspipi' and 'pi+:GoodTrack' lists by requiring the mass difference
571 between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
573 @param path modules are added to this path
575 ma.reconstructDecay(decayString=
'D*+:D0_Kspipi -> D0:Kspipi pi+:GoodTrack', cut=
'massDifference(0) < 0.16', dmID=4, path=path)
576 return [
'D*+:D0_Kspipi']
579 def loadStdDstarPlus_Dpi0_Kpipi(path=None):
581 Creates a 'D*+:Dpi0_Kpipi' list combining the 'D+:Kpipi' and 'pi0:bth_skim' lists by requiring the mass difference
582 between D*0 and D0 to be in the range :math:`\\Delta M < 0.16~{\\rm GeV}/c^2`.
584 @param path modules are added to this path
586 ma.reconstructDecay(decayString=
'D*+:Dpi0_Kpipi -> D+:Kpipi pi0:bth_skim', cut=
'massDifference(0) < 0.16', dmID=4, path=path)
587 return [
'D*+:Dpi0_Kpipi']
590 def loadCharmlessD0_Kpipi0(path=None):
592 Creates a 'D0:Kpipi0' list, with an invariant mass in the range :math:`1.7 < M < 2.0~{\\rm GeV}/c^2`,
593 from the following particles lists:
595 1. 'K-:SkimVeryLoose pi+:SkimVeryLoose pi0:SkimVeryLoose',
597 @param path modules are added to this path
600 decayString=
'D0:Kpipi0 -> K-:SkimVeryLoose pi+:SkimVeryLoose pi0:charmlessFit',