ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigValidation
TrigInDetValidation
python
Chains.py
Go to the documentation of this file.
1
#
2
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
#
4
5
# NB: this file is autogenerated, do not edit directly
6
7
class
Chains
:
8
def
get_menu_dict
(self):
9
d = {}
10
11
d[
"electron"
] = {
12
"chains"
: [
13
'HLT_e26_idperf_loose_L1eEM26M'
,
14
'HLT_e26_idperf_tight_L1eEM26M'
,
15
'HLT_e28_idperf_loose_L1eEM28M'
,
16
17
'HLT_e5_idperf_tight_L1eEM5'
,
18
'HLT_e5_idperf_tight_nogsf_L1eEM5'
,
19
20
],
21
"signature"
: [
'Egamma'
],
22
"menu"
:
''
23
}
24
25
d[
"electronTnP"
] = {
26
"chains"
: [
27
'HLT_e26_idperf_loose_L1eEM26M'
,
28
'HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M'
,
29
'HLT_e26_lhtight_e14_idperf_tight_probe_50invmAB130_L1eEM26M'
,
30
'HLT_e28_idperf_loose_L1eEM28M'
,
31
32
],
33
"signature"
: [
'Egamma'
],
34
"menu"
:
''
35
}
36
37
d[
"electronLRT"
] = {
38
"chains"
: [
39
'HLT_e20_idperf_loose_lrtloose_L1eEM18L'
,
40
'HLT_e26_lhtight_ivarloose_e30_lhloose_nopix_lrtmedium_probe_L1eEM26M'
,
41
'HLT_e26_lhtight_ivarloose_e5_idperf_loose_lrtloose_probe_L1eEM26M'
,
42
'HLT_e30_idperf_loose_lrtloose_L1eEM26M'
,
43
'HLT_e30_lhloose_nopix_lrtmedium_probe_g25_medium_L1eEM24L'
,
44
'HLT_e5_idperf_loose_lrtloose_probe_g25_medium_L1eEM24L'
,
45
46
],
47
"signature"
: [
'Egamma'
],
48
"menu"
:
''
49
}
50
51
d[
"muon"
] = {
52
"chains"
: [
53
'HLT_mu24_idperf_L1MU14FCH'
,
54
'HLT_mu26_ivarperf_L1MU14FCH'
,
55
56
'HLT_mu4_mu4_idperf_1invmAB5_L12MU3VF'
,
57
'HLT_mu6_idperf_L1MU5VF'
,
58
59
],
60
"signature"
: [
'Muon'
],
61
"menu"
:
''
62
}
63
64
d[
"muonTnP"
] = {
65
"chains"
: [
66
'HLT_mu14_mu14_idtp_idZmumu_L12MU8F'
,
67
'HLT_mu24_idperf_L1MU14FCH'
,
68
69
],
70
"signature"
: [
'Muon'
],
71
"menu"
:
''
72
}
73
74
d[
"muonLRT"
] = {
75
"chains"
: [
76
'HLT_mu20_LRT_idperf_L1MU14FCH'
,
77
'HLT_mu24_idperf_L1MU14FCH'
,
78
79
],
80
"signature"
: [
'Muon'
],
81
"menu"
:
''
82
}
83
84
d[
"tau"
] = {
85
"chains"
: [
86
'HLT_tau25_idperf_tracktwoMVA_L1cTAU20M'
,
87
88
],
89
"signature"
: [
'Tau'
],
90
"menu"
:
''
91
}
92
93
d[
"tauLRT"
] = {
94
"chains"
: [
95
'HLT_tau25_idperf_trackLRT_L1cTAU20M'
,
96
'HLT_tau25_idperf_tracktwoLLP_L1cTAU20M'
,
97
98
],
99
"signature"
: [
'Tau'
],
100
"menu"
:
'Dev_pp_run3_v1'
101
}
102
103
d[
"FSLRT"
] = {
104
"chains"
: [
105
'HLT_fslrt0_L1jJ160'
,
106
107
],
108
"signature"
: [
'UnconventionalTracking'
],
109
"menu"
:
'Dev_pp_run3_v1'
110
}
111
112
d[
"bjet"
] = {
113
"chains"
: [
114
'HLT_j20_roiftf_preselj20_L1RD0_FILLED'
,
115
'HLT_j45_0eta290_020jvt_boffperf_pf_ftf_L1jJ50'
,
116
'HLT_j80_0eta290_020jvt_boffperf_pf_ftf_L1jJ90'
,
117
118
],
119
"signature"
: [
"Bjet"
],
120
"menu"
:
'Dev_pp_run3_v1'
121
}
122
123
d[
"fsjet"
] = {
124
"chains"
: [
125
'HLT_j45_0eta290_020jvt_boffperf_pf_ftf_L1jJ50'
,
126
'HLT_j45_pf_ftf_preselj20_L1jJ40'
,
127
'HLT_j80_0eta290_020jvt_boffperf_pf_ftf_L1jJ90'
,
128
129
],
130
"signature"
: [
"Jet"
],
131
"menu"
:
'Dev_pp_run3_v1'
132
}
133
134
d[
"minbias"
] = {
135
"chains"
: [
136
'HLT_mb_sptrk_L1RD0_FILLED'
,
137
138
],
139
"signature"
: [
"MinBias"
],
140
"menu"
:
'PhysicsP1_pp_lowMu_run3_v1'
141
}
142
143
d[
"minbiaspix"
] = {
144
"chains"
: [
145
'HLT_mb_pixsptrk_nototpix20_q2_L1VjTE10'
,
146
147
],
148
"signature"
: [
"MinBias"
],
149
"menu"
:
'Dev_HI_run3_v1'
150
# "menu": 'PhysicsP1_HI_run3_v1'
151
}
152
153
d[
"cosmic"
] = {
154
"chains"
: [
155
'HLT_mu4_cosmic_L1MU3V_EMPTY'
,
156
157
],
158
"signature"
: [
'Muon'
,
'Cosmic'
,],
159
"menu"
:
'Cosmic_run3_v1'
160
}
161
162
d[
"bphys"
] = {
163
"chains"
: [
164
'HLT_2mu4_bBmumux_BsmumuPhi_L12MU3V'
,
165
'HLT_mu11_mu6_bBmumux_Bidperf_L1MU8VF_2MU5VF'
,
166
167
],
168
"signature"
: [
'Muon'
,
'Bphysics'
,],
169
"menu"
:
''
170
}
171
172
d[
"bphysfs"
] = {
173
"chains"
: [
174
'HLT_mu10_bBhh_L1MU8F'
,
175
'HLT_mu15_bBhh_L1MU14FCH'
,
176
'HLT_mu15_bBhh_L1MU8F'
,
177
'HLT_mu4_bBhh_L1MU3V'
,
178
179
],
180
"signature"
: [
'Muon'
,
'Bphysics'
,],
181
"menu"
:
'PhysicsP1_pp_lowMu_run3_v1'
182
}
183
184
return
d
185
186
def
get_values
(self, slice_names: list, prop: str) -> set:
187
values =
set
()
188
d = self.
get_menu_dict
()
189
190
for
sn
in
slice_names:
191
if
sn
not
in
d:
192
raise
RuntimeError(
"Undefined slice name {}"
.format(sn))
193
cfg = d[sn]
194
195
if
prop
in
cfg:
196
values.update(cfg[prop])
197
198
return
values
199
200
def
get_flag_str
(self, slice_names: list, prop: str, flag_name: str) -> str:
201
values = self.
get_values
(slice_names, prop)
202
203
cs = [
"'{}'"
.format(v)
for
v
in
values]
204
return
"flags.Trigger.{0}=[{1}]"
.format(flag_name,
","
.join(cs))
205
206
def
get_selectChains_flag
(self, slice_names: list) -> str:
207
return
self.
get_flag_str
(slice_names,
"chains"
,
"selectChains"
)
208
209
def
get_enabledSignatures_flag
(self, slice_names: list) -> str:
210
return
self.
get_flag_str
(slice_names,
"signature"
,
"enabledSignatures"
)
211
212
def
get_menu_flag
(self, slice_names: list) -> str:
213
d = self.
get_menu_dict
()
214
values =
set
()
215
216
for
sn
in
slice_names:
217
cfg = d[sn]
218
219
if
(cfg[
"menu"
] ==
''
):
220
continue
221
222
values.add(cfg[
"menu"
])
223
224
if
(len(values) > 1):
225
raise
RuntimeError(
"Multiple menus specified, configured slices {0} conflict between {1}"
.format(slice_names, values))
226
227
if
(len(values) == 0):
228
return
""
229
230
return
"flags.Trigger.triggerMenuSetup='{}'"
.format(list(values)[0])
231
232
def
get_compiled_flag_str
(self, slice_names: list) -> str:
233
flags = []
234
flags.append(self.
get_flag_str
(slice_names,
"chains"
,
"selectChains"
))
235
flags.append(self.
get_flag_str
(slice_names,
"signature"
,
"enabledSignatures"
))
236
237
mf = self.
get_menu_flag
(slice_names)
238
239
if
(mf !=
''
):
240
flags.append(mf)
241
242
extra = self.
get_values
(slice_names,
"extra"
)
243
flags += extra
244
245
return
";"
.join(flags)
246
247
if
__name__ ==
"__main__"
:
248
c =
Chains
()
249
250
print
(c.get_selectChains_flag([
"muon"
,
"cosmic"
]))
251
print
(c.get_enabledSignatures_flag([
"muon"
,
"cosmic"
]))
252
print
(c.get_menu_flag([
"muon"
,
"cosmic"
]))
if
if(pathvar)
Definition
SealSharedLib.cxx:168
print
void print(char *figname, TCanvas *c1)
Definition
TRTCalib_StrawStatusPlots.cxx:26
python.Chains.Chains
Definition
Chains.py:7
python.Chains.Chains.get_selectChains_flag
str get_selectChains_flag(self, list slice_names)
Definition
Chains.py:206
python.Chains.Chains.get_menu_flag
str get_menu_flag(self, list slice_names)
Definition
Chains.py:212
python.Chains.Chains.get_flag_str
str get_flag_str(self, list slice_names, str prop, str flag_name)
Definition
Chains.py:200
python.Chains.Chains.get_menu_dict
get_menu_dict(self)
Definition
Chains.py:8
python.Chains.Chains.get_values
set get_values(self, list slice_names, str prop)
Definition
Chains.py:186
python.Chains.Chains.get_compiled_flag_str
str get_compiled_flag_str(self, list slice_names)
Definition
Chains.py:232
python.Chains.Chains.get_enabledSignatures_flag
str get_enabledSignatures_flag(self, list slice_names)
Definition
Chains.py:209
set
STL class.
Generated on
for ATLAS Offline Software by
1.17.0