12 from stdPi0s
import stdPi0s
13 import modularAnalysis
as ma
16 def bToCharmHLTSkim(path):
18 Function to reconstruct B meson candidates for HLT skims
19 @param path modules are added to this path
26 ma.fillParticleList(
"pi+:GoodTrackForHLT",
"abs(d0) < 2 and abs(z0) < 5", path=path)
27 ma.fillParticleList(
"K+:GoodTrackForHLT",
"abs(d0) < 2 and abs(z0) < 5", path=path)
28 stdPi0s(
'all', path, loadPhotonBeamBackgroundMVA=
False)
29 ma.cutAndCopyList(outputListName=
'pi0:GoodPi0ForHLT', inputListName=
'pi0:all',
30 cut=
'[[daughter(0, clusterReg) == 1 and daughter(0, E) > 0.02250] or ' +
31 '[daughter(0, clusterReg) == 2 and daughter(0, E) > 0.020] or ' +
32 '[daughter(0, clusterReg) == 3 and daughter(0, E) > 0.020]] and ' +
33 '[[daughter(1, clusterReg) == 1 and daughter(1, E) > 0.02250] or ' +
34 '[daughter(1, clusterReg) == 2 and daughter(1, E) > 0.020] or ' +
35 '[daughter(1, clusterReg) == 3 and daughter(1, E) > 0.020]] and ' +
36 'M > 0.105 and M < 0.150', path=path)
39 ma.reconstructDecay(decayString=
'D0:KpiForHLT -> K-:GoodTrackForHLT pi+:GoodTrackForHLT', cut=
'1.7 < M < 2.0', path=path)
41 decayString=
'D0:Kpipi0ForHLT -> K-:GoodTrackForHLT pi+:GoodTrackForHLT pi0:GoodPi0ForHLT',
45 decayString=
'D0:KpipipiForHLT -> K-:GoodTrackForHLT pi+:GoodTrackForHLT pi+:GoodTrackForHLT pi-:GoodTrackForHLT',
50 decayString=
'D+:KpipiForHLT -> K-:GoodTrackForHLT pi+:GoodTrackForHLT pi+:GoodTrackForHLT',
56 decayString=
'D*+:D0_KpiForHLT -> D0:KpiForHLT pi+:GoodTrackForHLT',
57 cut=
'massDifference(0) < 0.16',
60 decayString=
'D*+:D0_Kpipi0ForHLT -> D0:Kpipi0ForHLT pi+:GoodTrackForHLT',
61 cut=
'massDifference(0) < 0.16',
64 decayString=
'D*+:D0_KpipipiForHLT -> D0:KpipipiForHLT pi+:GoodTrackForHLT',
65 cut=
'massDifference(0) < 0.16',
69 ma.reconstructDecay(
"B+:BtoD0pi_KpiForHLT -> anti-D0:KpiForHLT pi+:GoodTrackForHLT",
70 "Mbc > 5.15 and abs(deltaE) < 0.5", path=path)
71 BplusList.append(
"B+:BtoD0pi_KpiForHLT")
72 ma.reconstructDecay(
"B+:BtoD0pi_Kpipi0ForHLT -> anti-D0:Kpipi0ForHLT pi+:GoodTrackForHLT",
73 "Mbc > 5.15 and abs(deltaE) < 0.3", path=path)
74 BplusList.append(
"B+:BtoD0pi_Kpipi0ForHLT")
75 ma.reconstructDecay(
"B+:BtoD0pi_KpipipiForHLT -> anti-D0:KpipipiForHLT pi+:GoodTrackForHLT",
76 "Mbc > 5.15 and abs(deltaE) < 0.3", path=path)
77 BplusList.append(
"B+:BtoD0pi_KpipipiForHLT")
80 ma.reconstructDecay(
"B0:B0toDpi_KpipiForHLT -> D-:KpipiForHLT pi+:GoodTrackForHLT",
81 "5.15 < Mbc and abs(deltaE) < 0.3", path=path)
82 BzeroList.append(
"B0:B0toDpi_KpipiForHLT")
83 ma.reconstructDecay(
"B0:B0toDstarPi_D0pi_KpiForHLT -> D*-:D0_KpiForHLT pi+:GoodTrackForHLT",
84 "5.15 < Mbc and abs(deltaE) < 0.3", path=path)
85 BzeroList.append(
"B0:B0toDstarPi_D0pi_KpiForHLT")
86 ma.reconstructDecay(
"B0:B0toDstarPi_D0pi_KpipipiForHLT -> D*-:D0_KpipipiForHLT pi+:GoodTrackForHLT",
87 "5.15 < Mbc and abs(deltaE) < 0.3", path=path)
88 BzeroList.append(
"B0:B0toDstarPi_D0pi_KpipipiForHLT")
89 ma.reconstructDecay(
"B0:B0toDstarPi_D0pi_Kpipi0ForHLT -> D*-:D0_Kpipi0ForHLT pi+:GoodTrackForHLT",
90 "5.15 < Mbc and abs(deltaE) < 0.3", path=path)
91 BzeroList.append(
"B0:B0toDstarPi_D0pi_Kpipi0ForHLT")
93 ma.copyLists(
"B+:BtoCharmForHLT", BplusList, path=path)
94 ma.copyLists(
"B0:BtoCharmForHLT", BzeroList, path=path)