ATLAS Offline Software
Menu_MC_HI_run3_v1.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from TriggerMenuMT.L1.Base.L1MenuFlags import L1MenuFlags
4 import TriggerMenuMT.L1.Menu.Menu_Physics_HI_run3_v1 as physics_menu
5 
6 def defineMenu():
7  physics_menu.defineMenu()
8 
9  # Add new items to the item list in the Physics menu
10  l1items = L1MenuFlags.items()
11  l1items += [
12 
13  # legacy EM
14  #'L1_EM8VH',
15  'L1_EM10', 'L1_EM10VH', 'L1_EM12',
16  #'L1_EM14',
17  'L1_EM15',
18  #'L1_EM16','L1_EM18VH',
19  #'L1_EM20VHI', 'L1_EM22',
20  #'L1_EM22VHI',
21  #'L1_EM20VH_FIRSTEMPTY',
22  'L1_2EM15',
23  #'L1_2EM10', 'L1_2EM16',
24  #'L1_2EM20VH',
25 
26  #combined mu+jet
27  'L1_MU3V_J12',
28  'L1_MU3V_J20',
29  'L1_MU3V_J30',
30 
31  #single jet
32  'L1_J12', 'L1_J15','L1_J20', 'L1_J25', 'L1_J30', 'L1_J40',
33  'L1_J50' ,'L1_J75','L1_J85', 'L1_J100', 'L1_J400',
34  'L1_J15p31ETA49', 'L1_J20p31ETA49', 'L1_J30p31ETA49', 'L1_J50p31ETA49', 'L1_J75p31ETA49',
35  'L1_J400_LAR',
36 
37  # XE
38  'L1_XE50', 'L1_XE55',
39  'L1_XE300',
40 
41  'L1_J40_XE50', 'L1_J40_XE60',
42 
43  # calo
44  'L1_TE3',
45  #'L1_TE4',
46  'L1_TE5', # also for HMT triggers
47  'L1_TE10', 'L1_TE20', 'L1_TE50', 'L1_TE100',
48  'L1_TE200',
49  'L1_TE3p0ETA49', 'L1_TE7p0ETA49',
50  'L1_TE600p0ETA49', 'L1_TE1500p0ETA49', 'L1_TE3000p0ETA49', 'L1_TE3500p0ETA49', 'L1_TE6500p0ETA49', 'L1_TE8000p0ETA49',
51  'L1_TE50_VTE600p0ETA49',
52 
53  #UPC - MU
54  'L1_MU3V_VTE50', 'L1_MU5VF_VTE50', 'L1_2MU3V_VTE50', 'L1_MU3V_VTE200',
55 
56  #UPC - EM
57  'L1_TAU1_TE4_VTE200', 'L1_TAU1_TE5_VTE200',
58  'L1_TAU2_TE4_VTE200',
59  'L1_2TAU1_VTE200',
60  'L1_TAU8_VTE200',
61  #'L1_EM7_VTE200',
62 
63  'L1_eEM1_TE4_VTE200', 'L1_eEM2_TE4_VTE200',
64  'L1_eEM1_VTE200', 'L1_2eEM1_VTE200', 'L1_2eEM2_VTE200', 'L1_eEM9_VTE200',
65 
66  #UPC - calo
67  'L1_ZDC_XOR_VTE200', 'L1_VZDC_A_VZDC_C_TE5_VTE200',
68  'L1_VZDC_A_VZDC_C_TE10_VTE200',
69  'L1_ZDC_A_VZDC_C_VTE200', 'L1_VZDC_A_ZDC_C_VTE200',
70 
71  'L1_MBTS_1_VTE50',
72  #UPC - calo, TRT - legacy
73  'L1_TRT_VTE50',
74  'L1_TRT_VTE200',
75  'L1_TRT_VTE20',
76  'L1_TAU1_TRT_VTE50',
77 
78  #UPC - calo only - legacy
79  'L1_VTE20',
80  'L1_VTE50', 'L1_TE3_VTE50',
81  'L1_VTE200', 'L1_TE5_VTE200', 'L1_TE50_VTE200',
82  #'L1_J12_VTE200',
83 
84  #ZDC
85  'L1_ZDC_A_VTE200', 'L1_ZDC_C_VTE200',
86  'L1_TRT_ZDC_A_VTE50', 'L1_TRT_ZDC_C_VTE50',
87  #ZDC and legacy calo
88  'L1_1ZDC_A_1ZDC_C_VTE200', 'L1_ZDC_1XOR5_VTE200',
89  'L1_VZDC_A_ZDC_C_TE3_VTE200', 'L1_1ZDC_A_1ZDC_C_TE3_VTE200',
90  'L1_ZDC_1XOR5_TE3_VTE200', 'L1_ZDC_A_VZDC_C_TE3_VTE200',
91  'L1_VZDC_A_ZDC_C_TE5_VTE200', 'L1_1ZDC_A_1ZDC_C_TE5_VTE200',
92  'L1_ZDC_1XOR5_TE5_VTE200', 'L1_ZDC_A_VZDC_C_TE5_VTE200',
93  'L1_ZDC_XOR_TE3_VTE200', 'L1_ZDC_XOR_TE5_VTE200',
94  'L1_1ZDC_NZDC_TE5_VTE200',
95 
96  'L1_ZDC_5XOR_TE5_VTE200', 'L1_ZDC_XOR4_TE5_VTE200',
97  'L1_5ZDC_A_5ZDC_C_TE5_VTE200', 'L1_VZDC_A_VZDC_C_VTE200',
98  'L1_VZDC_A_VZDC_C_TE5', 'L1_ZDC_XOR_TE5',
99 
100  'L1_ZDC_A_C_VTE10', 'L1_ZDC_XOR_VTE10',
101 
102  'L1_TAU1_VZDC_A_VZDC_C_VTE100', 'L1_TAU1_ZDC_XOR4_VTE100',
103  'L1_TAU2_VZDC_A_VZDC_C_VTE100', 'L1_TAU2_ZDC_XOR4_VTE100',
104  'L1_TAU1_TRT_VZDC_A_VZDC_C_VTE100', 'L1_TAU1_TRT_ZDC_XOR4_VTE100',
105  'L1_TRT_VZDC_A_VZDC_C_VTE50', 'L1_TRT_VZDC_A_VZDC_C_VTE20',
106  'L1_TRT_VZDC_A_VZDC_C_VTE200',
107 
108  'L1_ZDC_A_C_VTE50',
109  'L1_ZDC_A_C_VTE50_OVERLAY',
110  'L1_ZDC_XOR4_VTE200', 'L1_VZDC_A_VZDC_C_VTE50',
111 
112  'L1_eEM1_VZDC_A_VZDC_C_VTE100', 'L1_eEM1_ZDC_XOR4_VTE100',
113  'L1_eEM2_VZDC_A_VZDC_C_VTE100', 'L1_eEM2_ZDC_XOR4_VTE100',
114 
115  # L1 items for 2022 Nov. heavy ion test run, ATR-26405
116  # Additionla peripheral physics L1 items
117  'L1_VTE5',
118  'L1_MBTS_1_VTE5',
119  # Additioanl supporting itesm for BeamSpot, IDCalib
120  #'L1_J12_VTE100',
121  #'L1_J30_VTE200',
122  'L1_J100_VTE200', # to be checked if J100 is too high
123  'L1_XE35_VTE200',
124  'L1_XE50_VTE200',
125 
126  #Topo
127  'L1_LAR-ZEE',
128 
129  ]
130 
131  # To replace thresholds in the physics menu
132  # Do not use for L1Topo decision threshold!
133  L1MenuFlags.ThresholdMap = {
134  #example: 'jXE100' :'',
135  }
136 
137  # To replace items in the physics menu
138  L1MenuFlags.ItemMap = {
139 
140 
141  # Others
142  'L1_J400_LAR':'',
143  'L1_jJ500_LAR':'',
144 
145  'L1_RD0_FIRSTINTRAIN':'',
146  'L1_RD0_FIRSTEMPTY':'',
147  'L1_RD0_BGRP11':'',
148  'L1_RD0_BGRP7':'',
149  'L1_RD1_EMPTY':'',
150  'L1_RD2_EMPTY':'',
151  'L1_RD2_FILLED':'',
152  'L1_RD3_EMPTY':'',
153  'L1_RD3_FILLED':'',
154 
155  'L1_TGC_BURST':'',
156 
157  'L1_LUCID_A':'',
158  'L1_LUCID_C':'',
159 
160  'L1_BPTX0_BGRP12':'',
161  'L1_BPTX1_BGRP12':'',
162 
163  'L1_CALREQ0':'',
164  'L1_CALREQ1':'',
165  'L1_CALREQ2':'',
166 
167  'L1_MBTS_A':'',
168  'L1_MBTS_C':'',
169  'L1_MBTS_1_EMPTY':'',
170  'L1_MBTS_1_1_EMPTY':'',
171  'L1_MBTS_2_EMPTY':'',
172  'L1_MBTS_1_UNPAIRED_ISO':'',
173  'L1_MBTS_1_1_UNPAIRED_ISO':'',
174  'L1_MBTS_4_A':'',
175  'L1_MBTS_4_C':'',
176  'L1_MBTS_1_A':'',
177  'L1_MBTS_1_C':'',
178  'L1_MBTS_1_A_EMPTY':'',
179  'L1_MBTS_1_C_EMPTY':'',
180 
181  'L1_MBTSA0':'',
182  'L1_MBTSA1':'',
183  'L1_MBTSA2':'',
184  'L1_MBTSA3':'',
185  'L1_MBTSA4':'',
186  'L1_MBTSA5':'',
187  'L1_MBTSA6':'',
188  'L1_MBTSA7':'',
189  'L1_MBTSA8':'',
190  'L1_MBTSA9':'',
191  'L1_MBTSA10':'',
192  'L1_MBTSA11':'',
193  'L1_MBTSA12':'',
194  'L1_MBTSA13':'',
195  'L1_MBTSA14':'',
196  'L1_MBTSA15':'',
197  'L1_MBTSC0':'',
198  'L1_MBTSC1':'',
199  'L1_MBTSC2':'',
200  'L1_MBTSC3':'',
201  'L1_MBTSC4':'',
202  'L1_MBTSC5':'',
203  'L1_MBTSC6':'',
204  'L1_MBTSC7':'',
205  'L1_MBTSC8':'',
206  'L1_MBTSC9':'',
207  'L1_MBTSC10':'',
208  'L1_MBTSC11':'',
209  'L1_MBTSC12':'',
210  'L1_MBTSC13':'',
211  'L1_MBTSC14':'',
212  'L1_MBTSC15':'',
213 
214  'L1_BCM_Wide_BGRP12':'',
215  'L1_BCM_2A_2C_UNPAIRED_ISO':'',
216  'L1_BCM_2A_2C_BGRP12':'',
217  'L1_BCM_Wide_EMPTY':'',
218  'L1_BCM_Wide':'',
219  'L1_BCM_Wide_CALIB':'',
220  'L1_BCM_Wide_UNPAIREDB1':'',
221  'L1_BCM_Wide_UNPAIREDB2':'',
222  'L1_J12_UNPAIREDB1':'',
223  'L1_J12_UNPAIREDB2':'',
224  'L1_BCM_2A_EMPTY':'',
225  'L1_BCM_2C_EMPTY':'',
226  'L1_BCM_2A_UNPAIREDB1':'',
227  'L1_BCM_2C_UNPAIREDB1':'',
228  'L1_BCM_2A_UNPAIREDB2':'',
229  'L1_BCM_2C_UNPAIREDB2':'',
230  'L1_BCM_2A_FIRSTINTRAIN':'',
231  'L1_BCM_2C_FIRSTINTRAIN':'',
232  'L1_BCM_2A_CALIB':'',
233  'L1_BCM_2C_CALIB':'',
234 
235  'L1_AFP_A_OR_C_UNPAIRED_ISO':'',
236  'L1_AFP_A_OR_C_UNPAIRED_NONISO':'',
237  'L1_AFP_A_OR_C_EMPTY':'',
238  'L1_AFP_A_OR_C_FIRSTEMPTY':'',
239  'L1_AFP_FSA_BGRP12':'',
240  'L1_AFP_FSC_BGRP12':'',
241  'L1_AFP_NSA_BGRP12':'',
242  'L1_AFP_NSC_BGRP12':'',
243  'L1_AFP_A':'',
244  'L1_AFP_C':'',
245  'L1_AFP_A_OR_C_MBTS_2':'',
246  'L1_AFP_A_AND_C_MBTS_2':'',
247  'L1_AFP_A_AND_C_TOF_T0T1':'',
248  'L1_AFP_FSA_TOF_T0_BGRP12':'',
249  'L1_AFP_FSA_TOF_T1_BGRP12':'',
250  'L1_AFP_FSC_TOF_T0_BGRP12':'',
251  'L1_AFP_FSC_TOF_T1_BGRP12':'',
252  'L1_AFP_FSA_TOF_T2_BGRP12':'',
253  'L1_AFP_FSA_TOF_T3_BGRP12':'',
254  'L1_AFP_FSC_TOF_T2_BGRP12':'',
255  'L1_AFP_FSC_TOF_T3_BGRP12':'',
256  }
257 
258  #----------------------------------------------
259  def remapItems():
260  itemsToRemove = []
261  for itemIndex, itemName in enumerate(L1MenuFlags.items()):
262  if itemName in L1MenuFlags.ItemMap():
263  if L1MenuFlags.ItemMap()[itemName] != '':
264  L1MenuFlags.items()[itemIndex] = L1MenuFlags.ItemMap()[itemName]
265  else:
266  itemsToRemove.append(itemIndex)
267 
268  for i in reversed(itemsToRemove):
269  del L1MenuFlags.items()[i]
270  #----------------------------------------------
271 
272  remapItems()
273 
python.L1.Menu.Menu_MC_HI_run3_v1.defineMenu
def defineMenu()
Definition: Menu_MC_HI_run3_v1.py:6