Belle II Software
release-08-01-10
reconstruction_utils.py
1
#!/usr/bin/env python3
2
3
10
11
from
stdPi0s
import
stdPi0s
12
import
modularAnalysis
as
ma
13
14
15
def
bToCharmHLTSkim(path):
16
"""
17
Function to reconstruct B meson candidates for HLT skims
18
@param path modules are added to this path
19
"""
20
21
BplusList = []
22
BzeroList = []
23
24
# Light mesons
25
ma.fillParticleList(
"pi+:GoodTrackForHLT"
,
"abs(d0) < 2 and abs(z0) < 5"
, path=path)
26
ma.fillParticleList(
"K+:GoodTrackForHLT"
,
"abs(d0) < 2 and abs(z0) < 5"
, path=path)
27
stdPi0s
(
'all'
, path)
28
ma.cutAndCopyList(outputListName=
'pi0:GoodPi0ForHLT'
, inputListName=
'pi0:all'
,
29
cut=
'[[daughter(0, clusterReg) == 1 and daughter(0, E) > 0.02250] or '
+
30
'[daughter(0, clusterReg) == 2 and daughter(0, E) > 0.020] or '
+
31
'[daughter(0, clusterReg) == 3 and daughter(0, E) > 0.020]] and '
+
32
'[[daughter(1, clusterReg) == 1 and daughter(1, E) > 0.02250] or '
+
33
'[daughter(1, clusterReg) == 2 and daughter(1, E) > 0.020] or '
+
34
'[daughter(1, clusterReg) == 3 and daughter(1, E) > 0.020]] and '
+
35
'M > 0.105 and M < 0.150'
, path=path)
36
37
# D0 lists
38
ma.reconstructDecay(decayString=
'D0:KpiForHLT -> K-:GoodTrackForHLT pi+:GoodTrackForHLT'
, cut=
'1.7 < M < 2.0'
, path=path)
39
ma.reconstructDecay(
40
decayString=
'D0:Kpipi0ForHLT -> K-:GoodTrackForHLT pi+:GoodTrackForHLT pi0:GoodPi0ForHLT'
,
41
cut=
'1.7 < M < 2.0'
,
42
path=path)
43
ma.reconstructDecay(
44
decayString=
'D0:KpipipiForHLT -> K-:GoodTrackForHLT pi+:GoodTrackForHLT pi+:GoodTrackForHLT pi-:GoodTrackForHLT'
,
45
cut=
'1.7 < M < 2.0'
,
46
path=path)
47
# D+ list
48
ma.reconstructDecay(
49
decayString=
'D+:KpipiForHLT -> K-:GoodTrackForHLT pi+:GoodTrackForHLT pi+:GoodTrackForHLT'
,
50
cut=
'1.8 < M < 1.9'
,
51
path=path)
52
53
# D*+ lists
54
ma.reconstructDecay(
55
decayString=
'D*+:D0_KpiForHLT -> D0:KpiForHLT pi+:GoodTrackForHLT'
,
56
cut=
'massDifference(0) < 0.16'
,
57
path=path)
58
ma.reconstructDecay(
59
decayString=
'D*+:D0_Kpipi0ForHLT -> D0:Kpipi0ForHLT pi+:GoodTrackForHLT'
,
60
cut=
'massDifference(0) < 0.16'
,
61
path=path)
62
ma.reconstructDecay(
63
decayString=
'D*+:D0_KpipipiForHLT -> D0:KpipipiForHLT pi+:GoodTrackForHLT'
,
64
cut=
'massDifference(0) < 0.16'
,
65
path=path)
66
67
# B+ lists
68
ma.reconstructDecay(
"B+:BtoD0pi_KpiForHLT -> anti-D0:KpiForHLT pi+:GoodTrackForHLT"
,
69
"Mbc > 5.15 and abs(deltaE) < 0.5"
, path=path)
70
BplusList.append(
"B+:BtoD0pi_KpiForHLT"
)
71
ma.reconstructDecay(
"B+:BtoD0pi_Kpipi0ForHLT -> anti-D0:Kpipi0ForHLT pi+:GoodTrackForHLT"
,
72
"Mbc > 5.15 and abs(deltaE) < 0.3"
, path=path)
73
BplusList.append(
"B+:BtoD0pi_Kpipi0ForHLT"
)
74
ma.reconstructDecay(
"B+:BtoD0pi_KpipipiForHLT -> anti-D0:KpipipiForHLT pi+:GoodTrackForHLT"
,
75
"Mbc > 5.15 and abs(deltaE) < 0.3"
, path=path)
76
BplusList.append(
"B+:BtoD0pi_KpipipiForHLT"
)
77
78
# B0 lists
79
ma.reconstructDecay(
"B0:B0toDpi_KpipiForHLT -> D-:KpipiForHLT pi+:GoodTrackForHLT"
,
80
"5.15 < Mbc and abs(deltaE) < 0.3"
, path=path)
81
BzeroList.append(
"B0:B0toDpi_KpipiForHLT"
)
82
ma.reconstructDecay(
"B0:B0toDstarPi_D0pi_KpiForHLT -> D*-:D0_KpiForHLT pi+:GoodTrackForHLT"
,
83
"5.15 < Mbc and abs(deltaE) < 0.3"
, path=path)
84
BzeroList.append(
"B0:B0toDstarPi_D0pi_KpiForHLT"
)
85
ma.reconstructDecay(
"B0:B0toDstarPi_D0pi_KpipipiForHLT -> D*-:D0_KpipipiForHLT pi+:GoodTrackForHLT"
,
86
"5.15 < Mbc and abs(deltaE) < 0.3"
, path=path)
87
BzeroList.append(
"B0:B0toDstarPi_D0pi_KpipipiForHLT"
)
88
ma.reconstructDecay(
"B0:B0toDstarPi_D0pi_Kpipi0ForHLT -> D*-:D0_Kpipi0ForHLT pi+:GoodTrackForHLT"
,
89
"5.15 < Mbc and abs(deltaE) < 0.3"
, path=path)
90
BzeroList.append(
"B0:B0toDstarPi_D0pi_Kpipi0ForHLT"
)
91
92
ma.copyLists(
"B+:BtoCharmForHLT"
, BplusList, path=path)
93
ma.copyLists(
"B0:BtoCharmForHLT"
, BzeroList, path=path)
stdPi0s
Definition:
stdPi0s.py:1
hlt
softwaretrigger
scripts
softwaretrigger
reconstruction_utils.py
Generated on Mon Sep 23 2024 14:03:04 for Belle II Software by
1.9.1