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_L1VjTE10',
148 "signature": [
"MinBias"],
149 "menu":
'Dev_HI_run3_v1'
155 'HLT_mu4_cosmic_L1MU3V_EMPTY',
158 "signature": [
'Muon',
'Cosmic',],
159 "menu":
'Cosmic_run3_v1'
164 'HLT_2mu4_bBmumux_BsmumuPhi_L12MU3V',
165 'HLT_mu11_mu6_bBmumux_Bidperf_L1MU8VF_2MU5VF',
168 "signature": [
'Muon',
'Bphysics',],
178 for sn
in slice_names:
180 raise RuntimeError(
"Undefined slice name {}".
format(sn))
184 values.update(cfg[prop])
188 def get_flag_str(self, slice_names: list, prop: str, flag_name: str) -> str:
191 cs = [
"'{}'".
format(v)
for v
in values]
192 return "flags.Trigger.{0}=[{1}]".
format(flag_name,
",".
join(cs))
195 return self.
get_flag_str(slice_names,
"chains",
"selectChains")
198 return self.
get_flag_str(slice_names,
"signature",
"enabledSignatures")
204 for sn
in slice_names:
207 if(cfg[
"menu"] ==
''):
210 values.add(cfg[
"menu"])
213 raise RuntimeError(
"Multiple menus specified, configured slices {0} conflict between {1}".
format(slice_names, values))
215 if(len(values) == 0):
218 return "flags.Trigger.triggerMenuSetup='{}'".
format(
list(values)[0])
222 flags.append(self.
get_flag_str(slice_names,
"chains",
"selectChains"))
223 flags.append(self.
get_flag_str(slice_names,
"signature",
"enabledSignatures"))
233 return ";".
join(flags)
235 if __name__ ==
"__main__":
238 print(c.get_selectChains_flag([
"muon",
"cosmic"]))
239 print(c.get_enabledSignatures_flag([
"muon",
"cosmic"]))
240 print(c.get_menu_flag([
"muon",
"cosmic"]))