13 'HLT_e26_idperf_loose_L1eEM26M',
14 'HLT_e26_idperf_tight_L1eEM26M',
15 'HLT_e28_idperf_loose_L1eEM28M',
17 'HLT_e5_idperf_tight_L1eEM5',
18 'HLT_e5_idperf_tight_nogsf_L1eEM5',
21 "signature": [
'Egamma'],
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',
33 "signature": [
'Egamma'],
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',
47 "signature": [
'Egamma'],
53 'HLT_mu24_idperf_L1MU14FCH',
54 'HLT_mu26_ivarperf_L1MU14FCH',
56 'HLT_mu4_mu4_idperf_1invmAB5_L12MU3VF',
57 'HLT_mu6_idperf_L1MU5VF',
60 "signature": [
'Muon'],
66 'HLT_mu14_mu14_idtp_idZmumu_L12MU8F',
67 'HLT_mu24_idperf_L1MU14FCH',
70 "signature": [
'Muon'],
76 'HLT_mu20_LRT_idperf_L1MU14FCH',
77 'HLT_mu24_idperf_L1MU14FCH',
80 "signature": [
'Muon'],
86 'HLT_tau25_idperf_tracktwoMVA_L1cTAU20M',
95 'HLT_tau25_idperf_trackLRT_L1cTAU20M',
96 'HLT_tau25_idperf_tracktwoLLP_L1cTAU20M',
100 "menu":
'Dev_pp_run3_v1'
105 'HLT_fslrt0_L1jJ160',
108 "signature": [
'UnconventionalTracking'],
109 "menu":
'Dev_pp_run3_v1'
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',
119 "signature": [
"Bjet"],
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',
130 "signature": [
"Jet"],
136 'HLT_mb_sptrk_L1RD0_FILLED',
139 "signature": [
"MinBias"],
140 "menu":
'PhysicsP1_pp_lowMu_run3_v1'
145 'HLT_mb_pixsptrk_nototpix20_q2_L1TRT_ZDC_A_C_VjTE10',
148 "signature": [
"MinBias"],
149 "menu":
'PhysicsP1_HI_run3_v1'
154 'HLT_mu4_cosmic_L1MU3V_EMPTY',
157 "signature": [
'Muon',
'Cosmic',],
158 "menu":
'Cosmic_run3_v1'
163 'HLT_2mu4_bBmumux_BsmumuPhi_L12MU3V',
164 'HLT_mu11_mu6_bBmumux_Bidperf_L1MU8VF_2MU5VF',
167 "signature": [
'Muon',
'Bphysics',],
177 for sn
in slice_names:
179 raise RuntimeError(
"Undefined slice name {}".
format(sn))
183 values.update(cfg[prop])
187 def get_flag_str(self, slice_names: list, prop: str, flag_name: str) -> str:
190 cs = [
"'{}'".
format(v)
for v
in values]
191 return "flags.Trigger.{0}=[{1}]".
format(flag_name,
",".
join(cs))
194 return self.
get_flag_str(slice_names,
"chains",
"selectChains")
197 return self.
get_flag_str(slice_names,
"signature",
"enabledSignatures")
203 for sn
in slice_names:
206 if(cfg[
"menu"] ==
''):
209 values.add(cfg[
"menu"])
212 raise RuntimeError(
"Multiple menus specified, configured slices {0} conflict between {1}".
format(slice_names, values))
214 if(len(values) == 0):
217 return "flags.Trigger.triggerMenuSetup='{}'".
format(
list(values)[0])
221 flags.append(self.
get_flag_str(slice_names,
"chains",
"selectChains"))
222 flags.append(self.
get_flag_str(slice_names,
"signature",
"enabledSignatures"))
232 return ";".
join(flags)
234 if __name__ ==
"__main__":
237 print(c.get_selectChains_flag([
"muon",
"cosmic"]))
238 print(c.get_enabledSignatures_flag([
"muon",
"cosmic"]))
239 print(c.get_menu_flag([
"muon",
"cosmic"]))