ATLAS Offline Software
ItemDef.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 #
4 # Disable flake8 checking due to the use of 'exec':
5 # flake8: noqa
6 #
7 
8 from collections import defaultdict as ddict
9 import re, sys
10 import traceback
11 
12 from ..Base.L1MenuFlags import L1MenuFlags
13 from AthenaCommon.Logging import logging
14 log = logging.getLogger(__name__)
15 
16 # The trigger types
17 from ..Base.Limits import Limits
18 from ..Base.Logic import Logic, Not
19 from ..Base.Items import MenuItem, meta_d
20 from ..Base.Thresholds import TopoThreshold
21 from ..Base.CTPCondition import ThrCondition, InternalTrigger # noqa: F401
22 from .TriggerTypeDef import TT
23 
24 from future.utils import with_metaclass
25 
26 
27 
28 class ItemDef:
29  """
30  Defines any items that might be needed in Run2
31  """
32 
33  otherTopoNames = ddict(list)
34 
35  @staticmethod
37  class d(with_metaclass(meta_d)): pass
38 
39  # ... and make them accessible by their name
40  for thr in tc.getDefinedThresholds():
41  setattr(d, thr.getVarName(), ThrCondition(thr))
42  if isinstance(thr, TopoThreshold):
43  ItemDef.otherTopoNames[thr.getVarName().split('_',1)[-1]].append( thr.getVarName() )
44 
45  # InternalTriggers
46  for i in range( Limits.NumBunchgroups ):
47  setattr (d, "BGRP%i"%i, InternalTrigger('BGRP%i'%i))
48 
49  for i in range( Limits.NumRndmTriggers ):
50  setattr (d, "RNDM%i"%i, InternalTrigger('RNDM%i'%i))
51 
52  return d
53 
54  @staticmethod
55  def registerItems(tc, menuName):
56  """Register L1 items for further use"""
57 
58  # dear Menu Experts, please note that it is only necessary to
59  # check the menu name if a certain item needs to be defined
60  # differently in different menus
61 
62  # define local flag for menu version
63  isV8 = '_v8' in menuName or 'run3_v1' in menuName
64  isHIV5 = 'HI_v5' in menuName
65  isPhaseII = '_PhaseII' in menuName
66 
67  d = ItemDef.threshold_conditions(tc)
68 
69  # Setting up bunch group and BPTX conditions
70  physcond = d.BGRP0 & d.BGRP1
71  calibcond = d.BGRP0 & d.BGRP2
72  cosmiccond = d.BGRP0 & d.BGRP3
73  unpaired_isocond = d.BGRP0 & d.BGRP4 # unpaired isolated (satellite bunches)
74  unpaired_nonisocond = d.BGRP0 & d.BGRP5 # unpaired non-isolated (parasitic bunches)
75  firstempty = d.BGRP0 & d.BGRP6
76  bgrp7cond = d.BGRP0 & d.BGRP7 # No unpaired anymore
77  bgrp9cond = d.BGRP0 & d.BGRP9
78  bgrp11cond = d.BGRP0 & d.BGRP11
79  bgrp12cond = d.BGRP0 & d.BGRP12
80  bgrp13cond = d.BGRP0 & d.BGRP13 #UNPAIREDB1
81  bgrp14cond = d.BGRP0 & d.BGRP14 #UNPAIREDB2
82  bgrp10cond = d.BGRP0 & d.BGRP10
83  firstintrain = d.BGRP0 & d.BGRP8
84  physcond_or_unpaired_isocond = d.BGRP0 & (d.BGRP1 | d.BGRP4)
85 
86  # partition 1
87  #bgrpcond1 = d.BGRP0 & d.BGRP11
88  #calibcond1 = d.BGRP0 & d.BGRP12
89 
90  # partition 2
91  #bgrpcond2 = d.BGRP0 & d.BGRP14
92 
93 
94  MenuItem.currentPartition = 1
95 
96  # ZDC
97 
98  # old Run-3 configurations
99  #ZDC_A_C = d.ZDC_A & d.ZDC_C
100  #VZDC_A_C = Not(d.ZDC_A) & Not(d.ZDC_C)
101 
102  # new ZDC configuration for Run-3 (ATR-24734)
103  ZDC_comb0 = Not(d.ZDC_2) & Not(d.ZDC_1) & Not(d.ZDC_0) # this means no signal! to be used ONLY in add with other inputs
104  ZDC_comb1 = Not(d.ZDC_2) & Not(d.ZDC_1) & d.ZDC_0
105  ZDC_comb2 = Not(d.ZDC_2) & d.ZDC_1 & Not(d.ZDC_0)
106  ZDC_comb3 = Not(d.ZDC_2) & d.ZDC_1 & d.ZDC_0
107  ZDC_comb4 = d.ZDC_2 & Not(d.ZDC_1) & Not(d.ZDC_0)
108  ZDC_comb5 = d.ZDC_2 & Not(d.ZDC_1) & d.ZDC_0
109  ZDC_comb6 = d.ZDC_2 & d.ZDC_1 & Not(d.ZDC_0)
110  ZDC_comb7 = d.ZDC_2 & d.ZDC_1 & d.ZDC_0
111 
112  # combined signals for heavy ion runs
113  PHYS_VZDC_A_VZDC_C = ZDC_comb0
114  PHYS_1TO4ZDC_A_VZDC_C = ZDC_comb4
115  PHYS_VZDC_A_1TO4ZDC_C = ZDC_comb6
116  PHYS_1TO4ZDC_A_1TO4ZDC_C = ZDC_comb1
117  PHYS_5ZDC_A_VZDC_C = ZDC_comb5
118  PHYS_VZDC_A_5ZDC_C = ZDC_comb7
119  PHYS_ZDC_1TO4XOR5 = ZDC_comb2
120  PHYS_5ZDC_A_5ZDC_C = ZDC_comb3
121 
122  PHYS_ZDC_A_VZDC_C = d.ZDC_2 & Not(d.ZDC_1)
123  PHYS_VZDC_A_ZDC_C = d.ZDC_2 & d.ZDC_1
124  PHYS_ZDC_XOR4 = d.ZDC_2 & Not(d.ZDC_0)
125  PHYS_ZDC_5XOR = d.ZDC_2 & d.ZDC_0
126  PHYS_1ZDC_NZDC = Not(d.ZDC_2) & ( d.ZDC_1 | d.ZDC_0 ) & Not( d.ZDC_1 & d.ZDC_0)
127 
128  #ATR-26984 refine ZDC_A and ZDC_C logic
129  ZDC_A = ( Not(d.ZDC_2) & ( d.ZDC_1 | d.ZDC_0 ) ) | ( d.ZDC_2 & Not(d.ZDC_1) )
130  ZDC_C = d.ZDC_1 | (d.ZDC_0 & Not(d.ZDC_2) )
131 
132  ZDC_A_C = Not(d.ZDC_2) & ( d.ZDC_1 | d.ZDC_0 )
133  ZDC_AND = ZDC_A_C
134  VZDC_A_C = ZDC_comb0
135  ZDC_XOR = d.ZDC_2
136  VZDC_AORC = Not(ZDC_A) | Not(ZDC_C)
137  ZDCOR = Not(ZDC_comb0)
138 
139  # ZDC configuration for LHCf+ZDC special run in Sep. 2022
140  # rename existing ZDC configuration to match request in ATR-26051
141  ZDC_VETO = ZDC_comb0
142  ZDC_XOR_E1_E3 = ZDC_comb1
143  ZDC_XOR_E2 = ZDC_comb2
144  ZDC_E1_AND_E1 = ZDC_comb3
145  ZDC_E1_AND_E2ORE3 = ZDC_comb4
146  ZDC_E2_AND_E2 = ZDC_comb5
147  ZDC_E2_AND_E3 = ZDC_comb6
148  ZDC_E3_AND_E3 = ZDC_comb7
149  # (additional) combined ZDC signals for LHCf+ZDC special run
150  ZDC_OR = Not(ZDC_VETO)
151  ZDC_A_AND_C = d.ZDC_2 | (d.ZDC_1 & d.ZDC_0)
152 
153 
154  MenuItem('L1_EM3' ).setLogic( d.EM3 & physcond).setTriggerType( TT.calo )
155  MenuItem('L1_EM12' ).setLogic( d.EM12 & physcond).setTriggerType( TT.calo )
156  MenuItem('L1_EM15' ).setLogic( d.EM15 & physcond).setTriggerType( TT.calo )
157  MenuItem('L1_EM10VH' ).setLogic( d.EM10VH & physcond).setTriggerType( TT.calo )
158  MenuItem('L1_EM20VH' ).setLogic( d.EM20VH & physcond).setTriggerType( TT.calo )
159  MenuItem('L1_EM18VHI' ).setLogic( d.EM18VHI & physcond).setTriggerType( TT.calo )
160  MenuItem('L1_EM15VHI' ).setLogic( d.EM15VHI & physcond).setTriggerType( TT.calo )
161  #heavy-ions ATR-27791
162  MenuItem('L1_EM10' ).setLogic( d.EM10 & physcond).setTriggerType( TT.calo )
163  MenuItem('L1_2EM15' ).setLogic( d.EM15.x(2) & physcond).setTriggerType( TT.calo )
164 
165  # Phase-I
166  MenuItem('L1_eEM1' ).setLogic( d.eEM1 & physcond).setTriggerType( TT.calo )
167  MenuItem('L1_eEM2' ).setLogic( d.eEM2 & physcond).setTriggerType( TT.calo )
168  MenuItem('L1_eEM5' ).setLogic( d.eEM5 & physcond).setTriggerType( TT.calo )
169  MenuItem('L1_eEM7' ).setLogic( d.eEM7 & physcond).setTriggerType( TT.calo )
170  MenuItem('L1_eEM9' ).setLogic( d.eEM9 & physcond).setTriggerType( TT.calo )
171  MenuItem('L1_eEM10L' ).setLogic( d.eEM10L & physcond).setTriggerType( TT.calo )
172  MenuItem('L1_eEM12' ).setLogic( d.eEM12 & physcond).setTriggerType( TT.calo )
173  MenuItem('L1_eEM12L' ).setLogic( d.eEM12L & physcond).setTriggerType( TT.calo )
174  MenuItem('L1_eEM15' ).setLogic( d.eEM15 & physcond).setTriggerType( TT.calo )
175  MenuItem('L1_eEM18' ).setLogic( d.eEM18 & physcond).setTriggerType( TT.calo )
176  MenuItem('L1_eEM18L' ).setLogic( d.eEM18L & physcond).setTriggerType( TT.calo )
177  MenuItem('L1_eEM18M' ).setLogic( d.eEM18M & physcond).setTriggerType( TT.calo )
178  MenuItem('L1_eEM22M' ).setLogic( d.eEM22M & physcond).setTriggerType( TT.calo )
179  MenuItem('L1_eEM24L' ).setLogic( d.eEM24L & physcond).setTriggerType( TT.calo )
180  MenuItem('L1_eEM24VM' ).setLogic( d.eEM24VM & physcond).setTriggerType( TT.calo )
181  MenuItem('L1_eEM26' ).setLogic( d.eEM26 & physcond).setTriggerType( TT.calo )
182  MenuItem('L1_eEM26L' ).setLogic( d.eEM26L & physcond).setTriggerType( TT.calo )
183  MenuItem('L1_eEM26M' ).setLogic( d.eEM26M & physcond).setTriggerType( TT.calo )
184  MenuItem('L1_eEM26T' ).setLogic( d.eEM26T & physcond).setTriggerType( TT.calo )
185  MenuItem('L1_eEM28M' ).setLogic( d.eEM28M & physcond).setTriggerType( TT.calo )
186  MenuItem('L1_eEM40L' ).setLogic( d.eEM40L & physcond).setTriggerType( TT.calo )
187  MenuItem('L1_eEM5_EMPTY' ).setLogic(d.eEM5 & cosmiccond ).setTriggerType( TT.calo )
188  MenuItem('L1_eEM9_EMPTY' ).setLogic(d.eEM9 & cosmiccond ).setTriggerType( TT.calo )
189  MenuItem('L1_2eEM9_EMPTY' ).setLogic(d.eEM9.x(2) & cosmiccond ).setTriggerType( TT.calo )
190  MenuItem('L1_eEM9_UNPAIRED_ISO' ).setLogic(d.eEM9 & unpaired_isocond).setTriggerType( TT.calo )
191  MenuItem('L1_eEM15_EMPTY' ).setLogic(d.eEM15 & cosmiccond ).setTriggerType( TT.calo )
192 
193  MenuItem('L1_eEM22A' ).setLogic( d.eEM22A & physcond).setTriggerType( TT.calo )
194  MenuItem('L1_eEM22C' ).setLogic( d.eEM22C & physcond).setTriggerType( TT.calo )
195 
196  # PhaseI 2xEM and 3xEM
197  MenuItem('L1_2eEM12').setLogic(d.eEM12.x(2) & physcond).setTriggerType(TT.calo) #heavy ions, ATR-26333
198  MenuItem('L1_2eEM12L').setLogic(d.eEM12L.x(2) & physcond).setTriggerType(TT.calo) #heavy ions, ATR-26333
199  MenuItem('L1_2eEM18').setLogic(d.eEM18.x(2) & physcond).setTriggerType(TT.calo)
200  MenuItem('L1_2eEM18L').setLogic(d.eEM18L.x(2) & physcond).setTriggerType(TT.calo)
201  MenuItem('L1_2eEM18M').setLogic(d.eEM18M.x(2) & physcond).setTriggerType(TT.calo)
202  MenuItem('L1_2eEM24L').setLogic(d.eEM24L.x(2) & physcond).setTriggerType(TT.calo)
203  MenuItem('L1_3eEM12L').setLogic(d.eEM12L.x(3) & physcond).setTriggerType(TT.calo)
204  MenuItem('L1_eEM24L_3eEM12L').setLogic(d.eEM24L & d.eEM12L.x(3) & physcond).setTriggerType(TT.calo)
205  MenuItem('L1_eEM40L_2eEM18L').setLogic(d.eEM40L & d.eEM18L.x(2) & physcond).setTriggerType(TT.calo)
206  MenuItem('L1_2eEM9').setLogic(d.eEM9.x(2) & physcond).setTriggerType(TT.calo)
207 
208  # EM and jet
209  MenuItem('L1_J15p23ETA49' ).setLogic( d.J1523ETA49 & physcond).setTriggerType(TT.calo)
210  MenuItem('L1_J15p24ETA49' ).setLogic( d.J1524ETA49 & physcond).setTriggerType(TT.calo)
211  MenuItem('L1_J15p31ETA49' ).setLogic( d.J1531ETA49 & physcond).setTriggerType(TT.calo)
212  MenuItem('L1_J20p28ETA31' ).setLogic( d.J2028ETA31 & physcond).setTriggerType(TT.calo)
213  MenuItem('L1_J20p31ETA49' ).setLogic( d.J2031ETA49 & physcond).setTriggerType(TT.calo)
214  MenuItem('L1_J30p31ETA49' ).setLogic( d.J3031ETA49 & physcond).setTriggerType(TT.calo)
215  MenuItem('L1_J40p0ETA25' ).setLogic( d.J400ETA25 & physcond).setTriggerType(TT.calo)
216  MenuItem('L1_J50p31ETA49' ).setLogic( d.J5031ETA49 & physcond).setTriggerType(TT.calo)
217  MenuItem('L1_J70p31ETA49' ).setLogic( d.J7031ETA49 & physcond).setTriggerType(TT.calo)
218 
219  MenuItem('L1_J15p0ETA25' ).setLogic( d.J150ETA25 & physcond).setTriggerType(TT.calo)
220  MenuItem('L1_J20p0ETA28' ).setLogic( d.J200ETA28 & physcond).setTriggerType(TT.calo)
221  MenuItem('L1_J25p0ETA23' ).setLogic( d.J250ETA23 & physcond).setTriggerType(TT.calo)
222  MenuItem('L1_J35p0ETA23' ).setLogic( d.J350ETA23 & physcond).setTriggerType(TT.calo)
223  MenuItem('L1_J20p0ETA49' ).setLogic( d.J200ETA49 & physcond).setTriggerType(TT.calo)
224  MenuItem('L1_J30p0ETA49' ).setLogic( d.J300ETA49 & physcond).setTriggerType(TT.calo)
225  MenuItem('L1_J25p0ETA23_2J15p31ETA49' ).setLogic( d.J250ETA23 & d.J1531ETA49.x(2) & physcond).setTriggerType(TT.calo)
226 
227  # HI
228  MenuItem('L1_EM3_EMPTY' ).setLogic(d.EM3 & cosmiccond).setTriggerType( TT.calo )
229 
230  MenuItem('L1_EM7_EMPTY' ).setLogic(d.EM7 & cosmiccond).setTriggerType( TT.calo )
231  MenuItem('L1_EM7_FIRSTEMPTY' ).setLogic(d.EM7 & firstempty).setTriggerType( TT.calo )
232  MenuItem('L1_eEM9_FIRSTEMPTY' ).setLogic(d.eEM9 & firstempty).setTriggerType( TT.calo )
233 
234  MenuItem('L1_J10_VTE100' ).setLogic( d.J10 & Not(d.TE100) & physcond).setTriggerType( TT.calo )
235  MenuItem('L1_J10_VTE200' ).setLogic( d.J10 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
236  MenuItem('L1_J10_VTE300' ).setLogic( d.J10 & Not(d.TE300) & physcond).setTriggerType( TT.calo )
237 
238  MenuItem('L1_J12_VTE100' ).setLogic( d.J12 & Not(d.TE100) & physcond).setTriggerType( TT.calo )
239  MenuItem('L1_J12_VTE200' ).setLogic( d.J12 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
240  # L1 items for IDCalibPEB, IDCalib in heavy ion collisions, ATR-26405
241  MenuItem('L1_J100_VTE200' ).setLogic( d.J100 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
242  MenuItem('L1_J30_VTE200' ).setLogic( d.J30 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
243  MenuItem('L1_XE35_VTE200' ).setLogic( d.XE35 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
244  MenuItem('L1_XE50_VTE200' ).setLogic( d.XE50 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
245 
246  MenuItem('L1_VTE200' ).setLogic( Not(d.TE200) & physcond).setTriggerType( TT.calo )
247  MenuItem('L1_TE20_VTE200' ).setLogic( d.TE20 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
248  MenuItem('L1_TE50_VTE200' ).setLogic( d.TE50 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
249 
250  MenuItem('L1_TE5_VTE200' ).setLogic( d.TE5 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
251  MenuItem('L1_TE5_VTE100' ).setLogic( d.TE5 & Not(d.TE100) & physcond).setTriggerType( TT.calo )
252  MenuItem('L1_TE5_VTE50' ).setLogic( d.TE5 & Not(d.TE50) & physcond).setTriggerType( TT.calo )
253  MenuItem('L1_TE5_VTE20' ).setLogic( d.TE5 & Not(d.TE20) & physcond).setTriggerType( TT.calo )
254 
255  MenuItem('L1_TE4_VTE200' ).setLogic( d.TE4 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
256  MenuItem('L1_TE4_VTE100' ).setLogic( d.TE4 & Not(d.TE100) & physcond).setTriggerType( TT.calo )
257  MenuItem('L1_TE4_VTE50' ).setLogic( d.TE4 & Not(d.TE50) & physcond).setTriggerType( TT.calo )
258 
259  MenuItem('L1_TE3_VTE50' ).setLogic( d.TE3 & Not(d.TE50) & physcond).setTriggerType( TT.calo )
260  MenuItem('L1_TE3_VTE200' ).setLogic( d.TE3 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
261 
262  MenuItem('L1_TE4_VTE200_EMPTY' ).setLogic( d.TE4 & Not(d.TE200) & cosmiccond).setTriggerType( TT.calo )
263  MenuItem('L1_TE5_VTE200_EMPTY' ).setLogic( d.TE5 & Not(d.TE200) & cosmiccond).setTriggerType( TT.calo )
264 
265  #HI phase-1
266  # additional L1_GAP items defined using jTEFWDA or JTEFWDC
267 
268  GAPA = Not(d.jTEFWDA5)
269  GAPC = Not(d.jTEFWDC5)
270  GAPAC = Not(d.jTEFWDA5) & Not(d.jTEFWDC5)
271 
272  MenuItem('L1_GAP_A').setLogic( GAPA & physcond).setTriggerType(TT.calo)
273  MenuItem('L1_GAP_C').setLogic( GAPC & physcond).setTriggerType(TT.calo)
274  MenuItem('L1_GAP_AANDC').setLogic( GAPAC & physcond).setTriggerType(TT.calo)
275 
276  MenuItem('L1_eEM1_VjTE200').setLogic( d.eEM1 & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
277  MenuItem('L1_eEM1_jTE3_VjTE200').setLogic( d.eEM1 & d.jTE3 & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
278  MenuItem('L1_eEM1_jTE3_VjTE200_EMPTY').setLogic( d.eEM1 & d.jTE3 & Not(d.jTE200) & cosmiccond).setTriggerType(TT.calo)
279  MenuItem('L1_eEM1_jTE4_VjTE200').setLogic( d.eEM1 & d.jTE4 & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
280  MenuItem('L1_eEM1_jTE4_VjTE200_GAP_AANDC').setLogic( d.eEM1 & d.jTE4 & Not(d.jTE200) & GAPAC & physcond).setTriggerType(TT.calo)
281  MenuItem('L1_eEM1_jTE4_VjTE200_EMPTY').setLogic( d.eEM1 & d.jTE4 & Not(d.jTE200) & cosmiccond).setTriggerType(TT.calo)
282  MenuItem('L1_eEM2_VjTE200').setLogic( d.eEM2 & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
283  MenuItem('L1_eEM2_jTE3_VjTE200').setLogic( d.eEM2 & d.jTE3 & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
284  MenuItem('L1_eEM2_jTE4_VjTE200').setLogic( d.eEM2 & d.jTE4 & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
285  MenuItem('L1_eEM2_jTE4_VjTE200_GAP_AANDC').setLogic( d.eEM2 & d.jTE4 & Not(d.jTE200) & GAPAC & physcond).setTriggerType(TT.calo)
286  MenuItem('L1_eEM5_VjTE200').setLogic( d.eEM5 & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
287  MenuItem('L1_eEM5_VjTE200_GAP_AANDC').setLogic( d.eEM5 & Not(d.jTE200) & GAPAC & physcond).setTriggerType(TT.calo)
288  MenuItem('L1_2eEM1_VjTE200').setLogic( d.eEM1.x(2) & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
289  MenuItem('L1_2eEM2_VjTE200').setLogic( d.eEM2.x(2) & Not(d.jTE200) & physcond).setTriggerType(TT.calo)
290  MenuItem('L1_2eEM1_VjTE200_EMPTY').setLogic( d.eEM1.x(2) & Not(d.jTE200) & cosmiccond).setTriggerType(TT.calo)
291  MenuItem('L1_2eEM1_VjTE200_UNPAIRED_ISO').setLogic( d.eEM1.x(2) & Not(d.jTE200) & unpaired_isocond).setTriggerType(TT.calo)
292  MenuItem('L1_2eEM1_VjTE200_UNPAIRED_NONISO').setLogic( d.eEM1.x(2) & Not(d.jTE200) & unpaired_nonisocond).setTriggerType(TT.calo)
293  MenuItem('L1_2eEM1_VjTE200_GAP_AANDC').setLogic( d.eEM1.x(2) & Not(d.jTE200) & GAPAC & physcond).setTriggerType(TT.calo)
294 
295  #mixed items: eEM + legacy TE (ATR-22067), HI run 2023
296  MenuItem('L1_eEM1_TE4_VTE200').setLogic( d.eEM1 & d.TE4 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
297  MenuItem('L1_eEM2_TE4_VTE200').setLogic( d.eEM2 & d.TE4 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
298  MenuItem('L1_eEM1_TE4_VTE200_EMPTY').setLogic( d.eEM1 & d.TE4 & Not(d.TE200) & cosmiccond).setTriggerType(TT.calo)
299  MenuItem('L1_eEM1_VTE200').setLogic( d.eEM1 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
300  MenuItem('L1_2eEM1_VTE200').setLogic( d.eEM1.x(2) & Not(d.TE200) & physcond).setTriggerType(TT.calo)
301  MenuItem('L1_2eEM2_VTE200').setLogic( d.eEM2.x(2) & Not(d.TE200) & physcond).setTriggerType(TT.calo)
302  MenuItem('L1_eEM1_VZDC_A_VZDC_C_VTE100' ).setLogic( d.eEM1 & PHYS_VZDC_A_VZDC_C & Not(d.TE100) & physcond)
303  MenuItem('L1_eEM1_ZDC_XOR4_VTE100' ).setLogic( d.eEM1 & PHYS_ZDC_XOR4 & Not(d.TE100) & physcond)
304  MenuItem('L1_eEM2_VZDC_A_VZDC_C_VTE100' ).setLogic( d.eEM2 & PHYS_VZDC_A_VZDC_C & Not(d.TE100) & physcond)
305  MenuItem('L1_eEM2_ZDC_XOR4_VTE100' ).setLogic( d.eEM2 & PHYS_ZDC_XOR4 & Not(d.TE100) & physcond)
306  MenuItem('L1_eEM9_VTE200').setLogic( d.eEM9 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
307 
308  MenuItem('L1_VjTE200_GAP_A' ).setLogic( Not(d.jTE200) & GAPA & physcond).setTriggerType( TT.calo )
309  MenuItem('L1_VjTE200_GAP_C' ).setLogic( Not(d.jTE200) & GAPC & physcond).setTriggerType( TT.calo )
310  MenuItem('L1_jTE3_VjTE200_GAP_A' ).setLogic( d.jTE3 & Not(d.jTE200) & GAPA & physcond).setTriggerType( TT.calo )
311  MenuItem('L1_jTE3_VjTE200_GAP_C' ).setLogic( d.jTE3 & Not(d.jTE200) & GAPC & physcond).setTriggerType( TT.calo )
312  MenuItem('L1_jTE5_VjTE200' ).setLogic( d.jTE5 & Not(d.jTE200) & physcond).setTriggerType( TT.calo )
313  MenuItem('L1_jTE5_VjTE200_GAP_A' ).setLogic( d.jTE5 & Not(d.jTE200) & GAPA & physcond).setTriggerType( TT.calo )
314  MenuItem('L1_jTE5_VjTE200_GAP_C' ).setLogic( d.jTE5 & Not(d.jTE200) & GAPC & physcond).setTriggerType( TT.calo )
315 
316  # NSW Monitoring
317  MenuItem('L1_NSW_MONITOR').setLogic(d.NSWMon & physcond ).setTriggerType(TT.nsw)
318 
319  # MUON ctpid=[0x20;0x2f]
320  # RUn3 thresholds
321  MenuItem('L1_MU3V' ).setLogic( d.MU3V & physcond).setTriggerType(TT.muon) # ~ Run2 MU4 eff
322  MenuItem('L1_MU5VF' ).setLogic( d.MU5VF & physcond).setTriggerType(TT.muon) # ~ Run2 MU6
323  MenuItem('L1_MU8F' ).setLogic( d.MU8F & physcond).setTriggerType(TT.muon) # ~ Run2 MU10
324  MenuItem('L1_MU8VF' ).setLogic( d.MU8VF & physcond).setTriggerType(TT.muon) # ~ Run2 MU11
325  MenuItem('L1_MU14FCH' ).setLogic( d.MU14FCH & physcond).setTriggerType(TT.muon) # ~ Run2 MU20
326  MenuItem('L1_MU14FCHR' ).setLogic( d.MU14FCHR & physcond).setTriggerType(TT.muon) # ~ Run2 MU21
327 
328  MenuItem('L1_MU3VF' ).setLogic( d.MU3VF & physcond).setTriggerType(TT.muon) # ~ Run2 MU4 rate
329  MenuItem('L1_MU8FC' ).setLogic( d.MU8FC & physcond).setTriggerType(TT.muon) # Backup MU8F
330  MenuItem('L1_MU8VFC' ).setLogic( d.MU8VFC & physcond).setTriggerType(TT.muon) # Backup MU8VF
331  MenuItem('L1_MU15VFCH' ).setLogic( d.MU15VFCH & physcond).setTriggerType(TT.muon) #
332 
333  MenuItem('L1_MU10BOM' ).setLogic( d.MU10BOM & physcond).setTriggerType(TT.muon) # Barrel-only close-by muons
334  MenuItem('L1_MU20VFC' ).setLogic( d.MU20VFC & physcond).setTriggerType(TT.muon) # alignment with toroid off
335 
336  MenuItem('L1_MU10BO' ).setLogic( d.MU10BO & physcond).setTriggerType(TT.muon)
337  MenuItem('L1_MU4BOM' ).setLogic( d.MU4BOM & physcond).setTriggerType(TT.muon) # Barrel-only close-by muons
338  MenuItem('L1_MU12BOM' ).setLogic( d.MU12BOM & physcond).setTriggerType(TT.muon) # Barrel-only close-by muons
339 
340  # test items
341  MenuItem('L1_MU3VC' ).setLogic( d.MU3VC & physcond).setTriggerType(TT.muon)
342  MenuItem('L1_MU4BO' ).setLogic( d.MU4BO & physcond).setTriggerType(TT.muon)
343  MenuItem('L1_MU3EOF' ).setLogic( d.MU3EOF & physcond).setTriggerType(TT.muon)
344  MenuItem('L1_MU8FH' ).setLogic( d.MU8FH & physcond).setTriggerType(TT.muon)
345  MenuItem('L1_MU8EOF' ).setLogic( d.MU8EOF & physcond).setTriggerType(TT.muon)
346  MenuItem('L1_MU9VF' ).setLogic( d.MU9VF & physcond).setTriggerType(TT.muon)
347  MenuItem('L1_MU9VFC' ).setLogic( d.MU9VFC & physcond).setTriggerType(TT.muon)
348  MenuItem('L1_MU12FCH' ).setLogic( d.MU12FCH & physcond).setTriggerType(TT.muon)
349  MenuItem('L1_MU14EOF' ).setLogic( d.MU14EOF & physcond).setTriggerType(TT.muon)
350  MenuItem('L1_MU15VFCHR' ).setLogic( d.MU15VFCHR & physcond).setTriggerType(TT.muon)
351  MenuItem('L1_MU18VFCH' ).setLogic( d.MU18VFCH & physcond).setTriggerType(TT.muon)
352 
353  MenuItem('L1_2MU3V' ).setLogic( d.MU3V.x(2) & physcond).setTriggerType(TT.muon)
354  MenuItem('L1_2MU3VF' ).setLogic( d.MU3VF.x(2) & physcond).setTriggerType(TT.muon)
355  MenuItem('L1_2MU5VF' ).setLogic( d.MU5VF.x(2) & physcond).setTriggerType(TT.muon)
356  MenuItem('L1_2MU8F' ).setLogic( d.MU8F.x(2) & physcond).setTriggerType(TT.muon)
357  MenuItem('L1_2MU8VF' ).setLogic( d.MU8VF.x(2) & physcond).setTriggerType(TT.muon)
358  MenuItem('L1_2MU14FCH' ).setLogic( d.MU14FCH.x(2) & physcond).setTriggerType(TT.muon)
359  MenuItem('L1_MU5VF_2MU3V' ).setLogic( d.MU5VF & d.MU3V.x(2) & physcond).setTriggerType(TT.muon)
360  MenuItem('L1_MU5VF_2MU3VF' ).setLogic( d.MU5VF & d.MU3VF.x(2) & physcond).setTriggerType(TT.muon)
361  MenuItem('L1_MU8F_2MU3V' ).setLogic( d.MU8F & d.MU3V.x(2) & physcond).setTriggerType(TT.muon)
362  MenuItem('L1_MU8F_2MU5VF' ).setLogic( d.MU8F & d.MU5VF.x(2) & physcond).setTriggerType(TT.muon)
363  MenuItem('L1_MU8VF_2MU5VF' ).setLogic( d.MU8VF & d.MU5VF.x(2) & physcond).setTriggerType(TT.muon)
364  MenuItem('L1_MU5VF_3MU3V' ).setLogic( d.MU5VF & d.MU3V.x(3) & physcond).setTriggerType(TT.muon)
365  MenuItem('L1_MU5VF_3MU3VF' ).setLogic( d.MU5VF & d.MU3VF.x(3) & physcond).setTriggerType(TT.muon)
366  MenuItem('L1_3MU3V' ).setLogic( d.MU3V.x(3) & physcond).setTriggerType(TT.muon)
367  MenuItem('L1_3MU3VF' ).setLogic( d.MU3VF.x(3) & physcond).setTriggerType(TT.muon)
368  MenuItem('L1_3MU5VF' ).setLogic( d.MU5VF.x(3) & physcond).setTriggerType(TT.muon)
369  MenuItem('L1_4MU3V' ).setLogic( d.MU3V.x(4) & physcond).setTriggerType(TT.muon)
370  MenuItem('L1_2MU5VF_3MU3V' ).setLogic( d.MU5VF.x(2) & d.MU3V.x(3) & physcond).setTriggerType(TT.muon)
371 
372  MenuItem('L1_2MU14FCH_OVERLAY').setLogic( d.MU14FCH.x(2) & physcond).setTriggerType(TT.zerobs)
373 
374  MenuItem('L1_LLPDPHI-jXE40-jJ40').setLogic( d.TOPO_0DPHI10_jXE40delay_jJ40s & physcond)
375 
376  # HI
377  MenuItem('L1_MU3V_VTE10' ).setLogic( d.MU3V & Not(d.TE10) & physcond).setTriggerType(TT.muon)
378  MenuItem('L1_2MU3V_VTE10').setLogic( d.MU3V.x(2) & Not(d.TE10) & physcond).setTriggerType(TT.muon)
379  MenuItem('L1_2MU3V_VTE50').setLogic( d.MU3V.x(2) & Not(d.TE50) & physcond).setTriggerType(TT.muon)
380  MenuItem('L1_MU3V_TE10' ).setLogic( d.MU3V & d.TE10 & physcond).setTriggerType(TT.muon)
381  MenuItem('L1_MU3V_TE20' ).setLogic( d.MU3V & d.TE20 & physcond).setTriggerType(TT.muon)
382  MenuItem('L1_MU3V_TE30' ).setLogic( d.MU3V & d.TE30 & physcond).setTriggerType(TT.muon)
383  MenuItem('L1_MU3V_TE40' ).setLogic( d.MU3V & d.TE40 & physcond).setTriggerType(TT.muon)
384  MenuItem('L1_MU3V_TE50' ).setLogic( d.MU3V & d.TE50 & physcond).setTriggerType(TT.muon)
385  MenuItem('L1_MU3V_TE70' ).setLogic( d.MU3V & d.TE70 & physcond).setTriggerType(TT.muon)
386  MenuItem('L1_MU3V_TE90' ).setLogic( d.MU3V & d.TE90 & physcond).setTriggerType(TT.muon)
387  MenuItem('L1_MU3V_TE120' ).setLogic( d.MU3V & d.TE120 & physcond).setTriggerType(TT.muon)
388  MenuItem('L1_MU3V_TE160' ).setLogic( d.MU3V & d.TE160 & physcond).setTriggerType(TT.muon)
389  MenuItem('L1_MU3V_TE10p24ETA49' ).setLogic( d.MU3V & d.TE1024ETA49 & physcond).setTriggerType(TT.muon)
390  MenuItem('L1_MU3V_TE15p24ETA49' ).setLogic( d.MU3V & d.TE1524ETA49 & physcond).setTriggerType(TT.muon)
391  MenuItem('L1_MU3V_TE20p24ETA49' ).setLogic( d.MU3V & d.TE2024ETA49 & physcond).setTriggerType(TT.muon)
392  MenuItem('L1_MU3V_TE25p24ETA49' ).setLogic( d.MU3V & d.TE2524ETA49 & physcond).setTriggerType(TT.muon)
393  MenuItem('L1_MU3V_TE30p24ETA49' ).setLogic( d.MU3V & d.TE3024ETA49 & physcond).setTriggerType(TT.muon)
394  MenuItem('L1_MU3V_TE35p24ETA49' ).setLogic( d.MU3V & d.TE3524ETA49 & physcond).setTriggerType(TT.muon)
395  MenuItem('L1_MU3V_TE40p24ETA49' ).setLogic( d.MU3V & d.TE4024ETA49 & physcond).setTriggerType(TT.muon)
396  MenuItem('L1_MU3V_VTE50' ).setLogic( d.MU3V & Not(d.TE50) & physcond).setTriggerType(TT.muon)
397  MenuItem('L1_MU3V_VTE200' ).setLogic( d.MU3V & Not(d.TE200) & physcond).setTriggerType(TT.muon)
398  MenuItem('L1_MU5VF_VTE50').setLogic( d.MU5VF & Not(d.TE50) & physcond).setTriggerType(TT.muon)
399 
400  MenuItem('L1_MU3V_UNPAIRED_ISO' ).setLogic(d.MU3V & unpaired_isocond ).setTriggerType( TT.muon )
401  MenuItem('L1_MU3V_UNPAIRED_NONISO').setLogic(d.MU3V & unpaired_nonisocond).setTriggerType( TT.muon )
402  MenuItem('L1_MU3V_EMPTY' ).setLogic(d.MU3V & cosmiccond).setTriggerType( TT.muon )
403  MenuItem('L1_MU5VF_EMPTY' ).setLogic(d.MU5VF & cosmiccond).setTriggerType( TT.muon )
404  MenuItem('L1_MU3V_FIRSTEMPTY' ).setLogic(d.MU3V & firstempty).setTriggerType( TT.muon )
405  MenuItem('L1_MU5VF_FIRSTEMPTY' ).setLogic(d.MU5VF & firstempty).setTriggerType( TT.muon )
406  MenuItem('L1_MU8F_EMPTY' ).setLogic(d.MU8F & cosmiccond).setTriggerType( TT.muon )
407  MenuItem('L1_MU8VF_EMPTY' ).setLogic(d.MU8VF & cosmiccond).setTriggerType( TT.muon )
408  MenuItem('L1_MU14FCH_FIRSTEMPTY' ).setLogic(d.MU14FCH & firstempty).setTriggerType(TT.muon)
409  MenuItem('L1_MU14FCH_EMPTY' ).setLogic(d.MU14FCH & cosmiccond).setTriggerType(TT.muon)
410  MenuItem('L1_MU14FCH_UNPAIRED_ISO').setLogic(d.MU14FCH & unpaired_isocond).setTriggerType(TT.muon)
411  MenuItem('L1_MU14FCHR_FIRSTEMPTY' ).setLogic(d.MU14FCHR & firstempty).setTriggerType(TT.muon)
412  MenuItem('L1_2MU3V_EMPTY' ).setLogic(d.MU3V.x(2) & cosmiccond).setTriggerType( TT.muon )
413  MenuItem('L1_2MU5VF_UNPAIRED_ISO' ).setLogic(d.MU5VF.x(2) & unpaired_isocond).setTriggerType( TT.muon )
414  MenuItem('L1_2MU5VF_UNPAIRED_NONISO').setLogic(d.MU5VF.x(2) & unpaired_nonisocond).setTriggerType( TT.muon )
415  MenuItem('L1_2MU5VF_EMPTY' ).setLogic(d.MU5VF.x(2) & cosmiccond).setTriggerType( TT.muon )
416  MenuItem('L1_2MU5VF_FIRSTEMPTY' ).setLogic(d.MU5VF.x(2) & firstempty).setTriggerType( TT.muon )
417 
418  # HI - phase-1
419  MenuItem('L1_MU3V_VjTE50' ).setLogic( d.MU3V & Not(d.jTE50) & physcond).setTriggerType(TT.muon)
420  MenuItem('L1_MU5VF_VjTE50').setLogic( d.MU5VF & Not(d.jTE50) & physcond).setTriggerType(TT.muon)
421  MenuItem('L1_2MU3V_VjTE50').setLogic( d.MU3V.x(2) & Not(d.jTE50) & physcond).setTriggerType(TT.muon)
422  MenuItem('L1_MU3V_VjTE50_GAP_AANDC' ).setLogic( d.MU3V & Not(d.jTE50) & GAPAC & physcond).setTriggerType(TT.muon)
423 
424 
425  # EM and MU
426  MenuItem('L1_EM3_MU14FCH' ).setLogic( d.EM3 & d.MU14FCH & physcond).setTriggerType(TT.muon)
427  MenuItem('L1_2eEM10L_MU8F' ).setLogic( d.eEM10L.x(2) & d.MU8F & physcond).setTriggerType(TT.muon)
428  MenuItem('L1_eEM18L_MU8F' ).setLogic( d.eEM18L & d.MU8F & physcond).setTriggerType(TT.muon)
429 
430  # TAU ctpid=[0x40:0x4f]
431  MenuItem('L1_TAU2' ).setLogic( d.HA2 & physcond).setTriggerType( TT.calo )
432  MenuItem('L1_TAU3' ).setLogic( d.HA3 & physcond).setTriggerType( TT.calo )
433  # ATR-19359
434  MenuItem('L1_TAU5' ).setLogic( d.HA5 & physcond).setTriggerType( TT.calo )
435  MenuItem('L1_2TAU5' ).setLogic( d.HA5.x(2) & physcond).setTriggerType(TT.calo)
436  MenuItem('L1_TAU6' ).setLogic( d.HA6 & physcond).setTriggerType( TT.calo )
437  MenuItem('L1_TAU8' ).setLogic( d.HA8 & physcond).setTriggerType( TT.calo )
438  MenuItem('L1_2TAU8' ).setLogic( d.HA8.x(2) & physcond).setTriggerType(TT.calo)
439 
440  MenuItem('L1_TAU12' ).setLogic( d.HA12 & physcond).setTriggerType( TT.calo )
441  MenuItem('L1_TAU12IL').setLogic( d.HA12IL & physcond).setTriggerType( TT.calo )
442  MenuItem('L1_TAU12IM').setLogic( d.HA12IM & physcond).setTriggerType( TT.calo )
443  MenuItem('L1_TAU12IT').setLogic( d.HA12IT & physcond).setTriggerType( TT.calo )
444  MenuItem('L1_TAU12I' ).setLogic( d.HA12I & physcond).setTriggerType( TT.calo )
445  MenuItem('L1_TAU15' ).setLogic( d.HA15 & physcond).setTriggerType( TT.calo )
446 
447  MenuItem('L1_TAU20' ).setLogic( d.HA20 & physcond).setTriggerType( TT.calo )
448  MenuItem('L1_TAU20IL').setLogic( d.HA20IL & physcond).setTriggerType( TT.calo )
449  MenuItem('L1_TAU20IM').setLogic( d.HA20IM & physcond).setTriggerType( TT.calo )
450  MenuItem('L1_TAU20IT').setLogic( d.HA20IT & physcond).setTriggerType( TT.calo )
451 
452  MenuItem('L1_TAU20A' ).setLogic( d.HA20A & physcond).setTriggerType( TT.calo )
453  MenuItem('L1_TAU20C' ).setLogic( d.HA20C & physcond).setTriggerType( TT.calo )
454 
455  MenuItem('L1_TAU25' ).setLogic( d.HA25 & physcond).setTriggerType( TT.calo )
456  MenuItem('L1_TAU25IT').setLogic( d.HA25IT & physcond).setTriggerType( TT.calo )
457  MenuItem('L1_TAU25IM').setLogic( d.HA25IM & physcond).setTriggerType( TT.calo )
458  MenuItem('L1_TAU30' ).setLogic( d.HA30 & physcond).setTriggerType( TT.calo )
459  MenuItem('L1_TAU40' ).setLogic( d.HA40 & physcond).setTriggerType( TT.calo )
460  MenuItem('L1_TAU60' ).setLogic( d.HA60 & physcond).setTriggerType( TT.calo )
461  MenuItem('L1_TAU100' ).setLogic( d.HA100 & physcond).setTriggerType( TT.calo )
462  MenuItem('L1_TAU90' ).setLogic( d.HA90 & physcond).setTriggerType( TT.calo )
463 
464  MenuItem('L1_TAU8_UNPAIRED_ISO' ).setLogic( d.HA8 & unpaired_isocond ).setTriggerType( TT.calo )
465 
466  MenuItem('L1_TAU8_UNPAIRED_NONISO').setLogic( d.HA8 & unpaired_nonisocond ).setTriggerType( TT.calo )
467  MenuItem('L1_TAU8_EMPTY' ).setLogic( d.HA8 & cosmiccond ).setTriggerType( TT.calo )
468  MenuItem('L1_TAU8_FIRSTEMPTY' ).setLogic( d.HA8 & firstempty ).setTriggerType( TT.calo )
469 
470  MenuItem('L1_TAU12_UNPAIRED_ISO' ).setLogic( d.HA12 & unpaired_isocond ).setTriggerType( TT.calo )
471  MenuItem('L1_TAU12_UNPAIRED_NONISO').setLogic( d.HA12 & unpaired_nonisocond ).setTriggerType( TT.calo )
472  MenuItem('L1_TAU12_EMPTY' ).setLogic( d.HA12 & cosmiccond ).setTriggerType( TT.calo )
473  MenuItem('L1_TAU12_FIRSTEMPTY' ).setLogic( d.HA12 & firstempty ).setTriggerType( TT.calo )
474  MenuItem('L1_TAU30_EMPTY' ).setLogic( d.HA30 & cosmiccond ).setTriggerType( TT.calo )
475  MenuItem('L1_TAU30_UNPAIRED_ISO' ).setLogic( d.HA30 & unpaired_isocond ).setTriggerType( TT.calo )
476  MenuItem('L1_TAU40_EMPTY' ).setLogic( d.HA40 & cosmiccond ).setTriggerType( TT.calo )
477  MenuItem('L1_TAU40_UNPAIRED_ISO' ).setLogic( d.HA40 & unpaired_isocond ).setTriggerType( TT.calo )
478 
479  #Phase-I
480  MenuItem('L1_eTAU1' ).setLogic( d.eTAU1 & physcond).setTriggerType( TT.calo )
481  MenuItem('L1_eTAU12' ).setLogic( d.eTAU12 & physcond).setTriggerType( TT.calo )
482  MenuItem('L1_eTAU20' ).setLogic( d.eTAU20 & physcond).setTriggerType( TT.calo )
483  MenuItem('L1_eTAU20L' ).setLogic( d.eTAU20L & physcond).setTriggerType( TT.calo )
484  MenuItem('L1_eTAU20M' ).setLogic( d.eTAU20M & physcond).setTriggerType( TT.calo )
485  MenuItem('L1_jTAU1' ).setLogic( d.jTAU1 & physcond).setTriggerType( TT.calo )
486  MenuItem('L1_jTAU20' ).setLogic( d.jTAU20 & physcond).setTriggerType( TT.calo )
487  MenuItem('L1_jTAU30' ).setLogic( d.jTAU30 & physcond).setTriggerType( TT.calo )
488  MenuItem('L1_jTAU30M' ).setLogic( d.jTAU30M & physcond).setTriggerType( TT.calo )
489  MenuItem('L1_cTAU12M' ).setLogic( d.cTAU12M & physcond).setTriggerType( TT.calo )
490  MenuItem('L1_cTAU20M' ).setLogic( d.cTAU20M & physcond).setTriggerType( TT.calo )
491  MenuItem('L1_eTAU30' ).setLogic( d.eTAU30 & physcond).setTriggerType( TT.calo )
492  MenuItem('L1_cTAU30M' ).setLogic( d.cTAU30M & physcond).setTriggerType( TT.calo )
493  MenuItem('L1_eTAU35' ).setLogic( d.eTAU35 & physcond).setTriggerType( TT.calo )
494  MenuItem('L1_cTAU35M' ).setLogic( d.cTAU35M & physcond).setTriggerType( TT.calo )
495  MenuItem('L1_eTAU40HM').setLogic( d.eTAU40HM & physcond).setTriggerType( TT.calo )
496  MenuItem('L1_eTAU40HT').setLogic( d.eTAU40HT & physcond).setTriggerType( TT.calo )
497  MenuItem('L1_eTAU60HM').setLogic( d.eTAU60HM & physcond).setTriggerType( TT.calo )
498  MenuItem('L1_eTAU80HL').setLogic( d.eTAU80HL & physcond).setTriggerType( TT.calo )
499  MenuItem('L1_eTAU60HL').setLogic( d.eTAU60HL & physcond).setTriggerType( TT.calo )
500  MenuItem('L1_eTAU60' ).setLogic( d.eTAU60 & physcond).setTriggerType( TT.calo )
501  MenuItem('L1_eTAU80' ).setLogic( d.eTAU80 & physcond).setTriggerType( TT.calo )
502  MenuItem('L1_eTAU140' ).setLogic( d.eTAU140 & physcond).setTriggerType( TT.calo )
503 
504  MenuItem('L1_eTAU12_EMPTY').setLogic(d.eTAU12 & cosmiccond).setTriggerType(TT.calo)
505  MenuItem('L1_eTAU12_FIRSTEMPTY').setLogic(d.eTAU12 & firstempty).setTriggerType(TT.calo)
506  MenuItem('L1_eTAU12_UNPAIRED_ISO').setLogic(d.eTAU12 & unpaired_isocond).setTriggerType(TT.calo)
507  MenuItem('L1_eTAU60_EMPTY').setLogic(d.eTAU60 & cosmiccond).setTriggerType(TT.calo)
508  MenuItem('L1_eTAU60_UNPAIRED_ISO').setLogic(d.eTAU60 & unpaired_isocond).setTriggerType(TT.calo)
509 
510  # Phase-I 2xTAU
511  MenuItem('L1_cTAU30M_2cTAU20M').setLogic(d.cTAU30M & d.cTAU20M.x(2) & physcond).setTriggerType(TT.calo)
512  MenuItem('L1_cTAU35M_2cTAU30M').setLogic(d.cTAU35M & d.cTAU30M.x(2) & physcond).setTriggerType(TT.calo)
513  MenuItem('L1_eTAU80_2eTAU60').setLogic(d.eTAU80 & d.eTAU60.x(2) & physcond).setTriggerType(TT.calo)
514  MenuItem('L1_cTAU30M_2cTAU20M_4jJ30p0ETA25').setLogic(d.cTAU30M & d.cTAU20M.x(2) & d.jJ300ETA25.x(4) & physcond).setTriggerType(TT.calo)
515  MenuItem('L1_cTAU35M_2cTAU30M_2jJ55_3jJ50').setLogic(d.cTAU35M & d.cTAU30M.x(2) & d.jJ55.x(2) & d.jJ50.x(3) & physcond).setTriggerType(TT.calo)
516  # ATR-29439
517  MenuItem('L1_cTAU30M_2cTAU20M_3jJ30p0ETA25').setLogic(d.cTAU30M & d.cTAU20M.x(2) & d.jJ300ETA25.x(3) & physcond).setTriggerType(TT.calo)
518 
519 
520  #UPC TAU
521  MenuItem('L1_2TAU1_VTE50' ).setLogic( d.HA1.x(2) & Not(d.TE50) & physcond).setTriggerType(TT.calo)
522  MenuItem('L1_2TAU2_VTE50' ).setLogic( d.HA2.x(2) & Not(d.TE50) & physcond).setTriggerType(TT.calo)
523  MenuItem('L1_2TAU3_VTE50' ).setLogic( d.HA3.x(2) & Not(d.TE50) & physcond).setTriggerType(TT.calo)
524  MenuItem('L1_2TAU2_VTE100').setLogic( d.HA2.x(2) & Not(d.TE100) & physcond).setTriggerType(TT.calo)
525  MenuItem('L1_2TAU3_VTE100').setLogic( d.HA3.x(2) & Not(d.TE100) & physcond).setTriggerType(TT.calo)
526  MenuItem('L1_2TAU1_VTE200').setLogic( d.HA1.x(2) & Not(d.TE200) & physcond).setTriggerType(TT.calo)
527  MenuItem('L1_2TAU2_VTE200').setLogic( d.HA2.x(2) & Not(d.TE200) & physcond).setTriggerType(TT.calo)
528  MenuItem('L1_2TAU3_VTE200').setLogic( d.HA3.x(2) & Not(d.TE200) & physcond).setTriggerType(TT.calo)
529 
530  MenuItem('L1_TAU1_VTE200' ).setLogic( d.HA1 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
531  MenuItem('L1_TAU1_TE3_VTE200').setLogic( d.HA1 & d.TE3 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
532  MenuItem('L1_TAU1_TE4_VTE200').setLogic( d.HA1 & d.TE4 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
533  MenuItem('L1_TAU2_TE3_VTE200').setLogic( d.HA2 & d.TE3 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
534  MenuItem('L1_TAU2_TE4_VTE200').setLogic( d.HA2 & d.TE4 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
535  MenuItem('L1_TAU1_TE5_VTE200').setLogic( d.HA1 & d.TE5 & Not(d.TE200) & physcond).setTriggerType(TT.calo)
536  MenuItem('L1_TAU1_VTE200_EMPTY' ).setLogic( d.HA1 & Not(d.TE200) & cosmiccond).setTriggerType( TT.calo )
537  MenuItem('L1_TAU1_TE3_VTE200_EMPTY' ).setLogic( d.HA1 & d.TE3 & Not(d.TE200) & cosmiccond).setTriggerType( TT.calo )
538  MenuItem('L1_TAU2_TE3_VTE200_EMPTY' ).setLogic( d.HA2 & d.TE3 & Not(d.TE200) & cosmiccond).setTriggerType( TT.calo )
539  MenuItem('L1_TAU1_TE4_VTE200_EMPTY' ).setLogic( d.HA1 & d.TE4 & Not(d.TE200) & cosmiccond).setTriggerType( TT.calo )
540  MenuItem('L1_TAU2_TE4_VTE200_EMPTY' ).setLogic( d.HA2 & d.TE4 & Not(d.TE200) & cosmiccond).setTriggerType( TT.calo )
541  MenuItem('L1_2TAU1_VTE200_EMPTY').setLogic( d.HA1.x(2) & Not(d.TE200) & cosmiccond).setTriggerType(TT.calo)
542  MenuItem('L1_2TAU1_VTE200_UNPAIRED_ISO').setLogic( d.HA1.x(2) & Not(d.TE200) & unpaired_isocond ).setTriggerType(TT.calo)
543  MenuItem('L1_2TAU1_VTE200_UNPAIRED_NONISO').setLogic( d.HA1.x(2) & Not(d.TE200) & unpaired_nonisocond ).setTriggerType(TT.calo)
544  MenuItem('L1_TAU8_VTE200' ).setLogic( d.HA8 & Not(d.TE200) & physcond).setTriggerType( TT.calo )
545  MenuItem('L1_TAU8_VTE200_EMPTY' ).setLogic( d.HA8 & Not(d.TE200) & cosmiccond).setTriggerType( TT.calo )
546 
547  # 3xTAU
548  MenuItem('L1_TAU20_2TAU12' ).setLogic( d.HA20 & d.HA12.x(2) & physcond).setTriggerType( TT.calo )
549  MenuItem('L1_TAU20_2TAU12I' ).setLogic( d.HA20 & d.HA12I.x(2) & physcond).setTriggerType( TT.calo )
550  MenuItem('L1_TAU40_2TAU20IM' ).setLogic( d.HA40 & d.HA20IM.x(2) & physcond).setTriggerType( TT.calo )
551  MenuItem('L1_TAU20IM_2TAU12IM' ).setLogic( d.HA20IM & d.HA12IM.x(2) & physcond).setTriggerType( TT.calo )
552 
553  # mixed tau
554  MenuItem('L1_EM15VHI_2TAU12' ).setLogic( d.EM15VHI & d.HA12.x(2) & physcond).setTriggerType( TT.calo )
555  MenuItem('L1_EM15VHI_2TAU12IL' ).setLogic( d.EM15VHI & d.HA12IL.x(2) & physcond).setTriggerType( TT.calo )
556  MenuItem('L1_EM15VHI_2TAU12IM' ).setLogic( d.EM15VHI & d.HA12IM.x(2) & physcond).setTriggerType( TT.calo )
557  MenuItem('L1_EM15VHI_TAU40_2TAU15' ).setLogic( d.EM15VHI & d.HA40 & d.HA15.x(2) & physcond).setTriggerType( TT.calo )
558  MenuItem('L1_EM15VHI_2TAU12I_J25_2J15_3J12').setLogic( d.EM15VHI & d.HA12I.x(2) & d.J25 & d.J15.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo )
559  MenuItem('L1_EM15VHI_2TAU12IM_J25_3J12' ).setLogic( d.EM15VHI & d.HA12IM.x(2) & d.J25 & d.J12.x(3) & physcond).setTriggerType( TT.calo )
560  MenuItem('L1_EM15VHI_2TAU12IL_J25_3J12' ).setLogic( d.EM15VHI & d.HA12IL.x(2) & d.J25 & d.J12.x(3) & physcond).setTriggerType( TT.calo )
561  MenuItem('L1_EM15VHI_2TAU12_J25_3J12' ).setLogic( d.EM15VHI & d.HA12.x(2) & d.J25 & d.J12.x(3) & physcond).setTriggerType( TT.calo )
562  MenuItem('L1_EM15VHI_2TAU12IM_4J12' ).setLogic( d.EM15VHI & d.HA12IM.x(2) & d.J12.x(4) & physcond).setTriggerType( TT.calo )
563 
564  #Phase-I mixed tau
565  MenuItem('L1_eEM18M_2eTAU20M' ).setLogic( d.eEM18M & d.eTAU20M.x(2) & physcond).setTriggerType( TT.calo )
566  MenuItem('L1_MU8F_eTAU20M' ).setLogic( d.MU8F & d.eTAU20M & physcond).setTriggerType( TT.calo )
567  MenuItem('L1_MU8F_cTAU20M' ).setLogic( d.MU8F & d.cTAU20M & physcond).setTriggerType( TT.calo )
568  MenuItem('L1_MU8F_eTAU20M_jJ55_2jJ30' ).setLogic( d.MU8F & d.eTAU20M & d.jJ55 & d.jJ30.x(2) & physcond).setTriggerType( TT.calo )
569  MenuItem('L1_MU8F_eTAU20M_3jJ30' ).setLogic( d.MU8F & d.eTAU20M & d.jJ30.x(3) & physcond).setTriggerType( TT.calo )
570  MenuItem('L1_MU8F_cTAU20M_3jJ30' ).setLogic( d.MU8F & d.eTAU20M & d.jJ30.x(3) & physcond).setTriggerType( TT.calo )
571  MenuItem('L1_eEM18M_2eTAU20M_jJ55_3jJ30' ).setLogic( d.eEM18M & d.eTAU20M.x(2) & d.jJ55 & d.jJ30.x(3) & physcond).setTriggerType( TT.calo )
572  MenuItem('L1_MU8F_eTAU30M' ).setLogic( d.MU8F & d.eTAU30M & physcond).setTriggerType( TT.calo )
573  MenuItem('L1_MU8F_cTAU30M' ).setLogic( d.MU8F & d.cTAU30M & physcond).setTriggerType( TT.calo )
574  MenuItem('L1_eTAU30M_2eTAU20M_jJ55_2jJ50_3jJ30').setLogic( d.eTAU30M & d.eTAU20M.x(2) & d.jJ55 & d.jJ50.x(2) & d.jJ30.x(3) & physcond).setTriggerType( TT.calo )
575  MenuItem('L1_eTAU35M_2eTAU30M' ).setLogic( d.eTAU35M & d.eTAU30M.x(2) & physcond).setTriggerType( TT.calo )
576  MenuItem('L1_eTAU30M_2jJ50_jXE90' ).setLogic( d.eTAU30M & d.jJ50.x(2) & d.jXE90 & physcond).setTriggerType( TT.calo )
577  MenuItem('L1_eEM18M_2eTAU20M_jXE70' ).setLogic( d.eEM18M & d.eTAU20M.x(2) & d.jXE70 & physcond).setTriggerType( TT.calo )
578  MenuItem('L1_eEM18M_2cTAU20M_jXE70' ).setLogic( d.eEM18M & d.cTAU20M.x(2) & d.jXE70 & physcond).setTriggerType( TT.calo )
579  MenuItem('L1_eEM18M_2eTAU20M_4jJ30' ).setLogic( d.eEM18M & d.eTAU20M.x(2) & d.jJ30.x(4) & physcond).setTriggerType( TT.calo )
580  MenuItem('L1_eEM18M_2cTAU20M_4jJ30' ).setLogic( d.eEM18M & d.cTAU20M.x(2) & d.jJ30.x(4) & physcond).setTriggerType( TT.calo )
581  MenuItem('L1_MU8F_eTAU20M_jXE70' ).setLogic( d.MU8F & d.eTAU20M & d.jXE70 & physcond).setTriggerType( TT.calo )
582  MenuItem('L1_MU8F_cTAU20M_jXE70' ).setLogic( d.MU8F & d.cTAU20M & d.jXE70 & physcond).setTriggerType( TT.calo )
583  MenuItem('L1_eTAU30M_2eTAU20M_jXE70' ).setLogic( d.eTAU30M & d.eTAU20M.x(2) & d.jXE70 & physcond).setTriggerType( TT.calo )
584  MenuItem('L1_eTAU60_2eTAU20M_jXE80' ).setLogic( d.eTAU60 & d.eTAU20M.x(2) & d.jXE80 & physcond).setTriggerType( TT.calo )
585  MenuItem('L1_eTAU60_2cTAU20M_jXE80' ).setLogic( d.eTAU60 & d.cTAU20M.x(2) & d.jXE80 & physcond).setTriggerType( TT.calo )
586 
587  MenuItem('L1_MU8F_TAU12' ).setLogic( d.MU8F & d.HA12 & physcond).setTriggerType( TT.calo )
588  MenuItem('L1_MU8F_TAU12IM' ).setLogic( d.MU8F & d.HA12IM & physcond).setTriggerType( TT.calo )
589  MenuItem('L1_MU8F_TAU20' ).setLogic( d.MU8F & d.HA20 & physcond).setTriggerType( TT.calo )
590  MenuItem('L1_MU8F_TAU20IM' ).setLogic( d.MU8F & d.HA20IM & physcond).setTriggerType( TT.calo )
591  MenuItem('L1_MU8VF_TAU20IM' ).setLogic( d.MU8VF & d.HA20IM & physcond).setTriggerType( TT.calo )
592  MenuItem('L1_MU14FCH_TAU12IM' ).setLogic( d.MU14FCH & d.HA12IM & physcond).setTriggerType( TT.calo)
593  MenuItem('L1_MU8F_TAU12_J25_2J12' ).setLogic( d.MU8F & d.HA12 & d.J25 & d.J12.x(2) & physcond).setTriggerType( TT.calo )
594  MenuItem('L1_MU8F_TAU12IM_J25_2J12').setLogic( d.MU8F & d.HA12IM & d.J25 & d.J12.x(2) & physcond).setTriggerType( TT.calo )
595  MenuItem('L1_MU8F_TAU12IM_3J12' ).setLogic( d.MU8F & d.HA12IM & d.J12.x(3) & physcond).setTriggerType( TT.calo )
596  MenuItem('L1_TAU25IM_2TAU20IM_2J25_3J20').setLogic( d.HA25IM & d.HA20IM.x(2) & d.J25.x(2) & d.J20.x(3) & physcond).setTriggerType( TT.calo )
597  MenuItem('L1_TAU20_2TAU12I_J25_2J15_3J12' ).setLogic( d.HA20 & d.HA12I.x(2) & d.J25 & d.J15.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo )
598  MenuItem('L1_TAU20_2TAU12_J25_2J20_3J12' ).setLogic( d.HA20 & d.HA12.x(2) & d.J25 & d.J20.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo )
599  MenuItem('L1_TAU20IM_2TAU12IM_J25_2J20_3J12').setLogic( d.HA20IM & d.HA12IM.x(2) & d.J25 & d.J20.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo )
600  MenuItem('L1_TAU20IL_2TAU12IL_J25_2J20_3J12').setLogic( d.HA20IL & d.HA12IL.x(2) & d.J25 & d.J20.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo )
601 
602  MenuItem('L1_TAU25IT_2TAU12IT_2J25_3J12').setLogic( d.HA25IT & d.HA12IT.x(2) & d.J25.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo )
603  MenuItem('L1_TAU25IM_2TAU12IM_J25_3J12' ).setLogic( d.HA25IM & d.HA12IM.x(2) & d.J25 & d.J12.x(3) & physcond).setTriggerType( TT.calo )
604  MenuItem('L1_TAU25IM_2TAU20IM').setLogic( d.HA25IM & d.HA20IM.x(2) & physcond).setTriggerType( TT.calo )
605  MenuItem('L1_TAU20IM_2TAU12IM_4J12' ).setLogic( d.HA20IM & d.HA12IM.x(2) & d.J12.x(4) & physcond).setTriggerType( TT.calo )
606  MenuItem('L1_TAU20IM_2TAU12IM_4J12p0ETA25').setLogic( d.HA20IM & d.HA12IM.x(2) & d.J120ETA25.x(4) & physcond).setTriggerType( TT.calo )
607  MenuItem('L1_TAU20IM_2TAU12IM_4J12p0ETA28').setLogic( d.HA20IM & d.HA12IM.x(2) & d.J120ETA28.x(4) & physcond).setTriggerType( TT.calo )
608  MenuItem('L1_TAU60_2TAU40' ).setLogic( d.HA60 & d.HA40.x(2) & physcond).setTriggerType( TT.calo )
609  MenuItem('L1_2TAU12I_TAU20_J25_2J15_3J12' ).setLogic( d.HA12I.x(2) & d.HA20 & d.J25 & d.J15.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo )
610  MenuItem('L1_2TAU20IM_3J20' ).setLogic( d.HA20IM.x(2) & d.J20.x(3) & physcond).setTriggerType( TT.calo )
611  MenuItem('L1_2TAU20IM_J25_3J20' ).setLogic( d.HA20IM.x(2) & d.J25 & d.J20.x(3) & physcond).setTriggerType( TT.calo )
612 
613  MenuItem('L1_TAU20_2J20_XE45' ).setLogic( d.HA20 & d.J20.x(2) & d.XE45 & physcond).setTriggerType( TT.calo )
614  MenuItem('L1_TAU20IM_2J20_XE45' ).setLogic( d.HA20IM & d.J20.x(2) & d.XE45 & physcond).setTriggerType( TT.calo )
615  MenuItem('L1_TAU25_2J20_XE45' ).setLogic( d.HA25 & d.J20.x(2) & d.XE45 & physcond).setTriggerType( TT.calo )
616  MenuItem('L1_TAU20_2TAU12_XE35' ).setLogic( d.HA20 & d.HA12.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
617  MenuItem('L1_TAU20IM_2TAU12IM_XE35' ).setLogic( d.HA20IM & d.HA12IM.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
618  MenuItem('L1_TAU20IL_2TAU12IL_XE35' ).setLogic( d.HA20IL & d.HA12IL.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
619  MenuItem('L1_TAU20IT_2TAU12IT_XE35' ).setLogic( d.HA20IT & d.HA12IT.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
620  MenuItem('L1_TAU20IM_2TAU12IM_XE40' ).setLogic( d.HA20IM & d.HA12IM.x(2) & d.XE40 & physcond).setTriggerType( TT.calo )
621  MenuItem('L1_TAU40_2TAU12IM_XE40' ).setLogic( d.HA40 & d.HA12IM.x(2) & d.XE40 & physcond).setTriggerType( TT.calo )
622 
623  MenuItem('L1_MU8F_TAU12I_XE35' ).setLogic( d.MU8F & d.HA12I & d.XE35 & physcond).setTriggerType( TT.calo )
624  MenuItem('L1_MU8F_TAU12_XE35' ).setLogic( d.MU8F & d.HA12 & d.XE35 & physcond).setTriggerType( TT.calo )
625  MenuItem('L1_MU8F_TAU12IL_XE35' ).setLogic( d.MU8F & d.HA12IL & d.XE35 & physcond).setTriggerType( TT.calo )
626  MenuItem('L1_MU8F_TAU12IM_XE35' ).setLogic( d.MU8F & d.HA12IM & d.XE35 & physcond).setTriggerType( TT.calo )
627  MenuItem('L1_MU8F_TAU12IT_XE35' ).setLogic( d.MU8F & d.HA12IT & d.XE35 & physcond).setTriggerType( TT.calo )
628  MenuItem('L1_MU8F_TAU12IM_XE40' ).setLogic( d.MU8F & d.HA12IM & d.XE40 & physcond).setTriggerType( TT.calo )
629  MenuItem('L1_TAU20I_2TAU12I_XE35' ).setLogic( d.HA20I & d.HA12I.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
630 
631  MenuItem('L1_EM15VHI_TAU20IM_2TAU15_J25_2J20_3J15').setLogic( d.EM15VHI & d.HA20IM & d.HA15.x(2) & d.J25 & d.J20.x(2) & d.J15.x(3) & physcond).setTriggerType( TT.calo )
632  MenuItem('L1_EM15VHI_2TAU12I_XE35' ).setLogic( d.EM15VHI & d.HA12I.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
633  MenuItem('L1_EM15VHI_2TAU12IM_XE35' ).setLogic( d.EM15VHI & d.HA12IM.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
634  MenuItem('L1_EM15VHI_2TAU12IL_XE35' ).setLogic( d.EM15VHI & d.HA12IL.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
635  MenuItem('L1_EM15VHI_2TAU12_XE35' ).setLogic( d.EM15VHI & d.HA12.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
636 
637  # MenuItem('L1_EM15HI_TAU20IM_2TAU15_J25_2J20_3J15').setLogic( d.EM15HI & d.HA20IM & d.HA15.x(2) & d.J25 & d.J20.x(2) & d.J15.x(3) & physcond).setTriggerType( TT.calo )
638  # MenuItem('L1_EM15HI_2TAU12I_XE35' ).setLogic( d.EM15HI & d.HA12I.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
639  # MenuItem('L1_EM15HI_2TAU12IM_XE35' ).setLogic( d.EM15HI & d.HA12IM.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
640  # MenuItem('L1_EM15HI_2TAU12IL_XE35' ).setLogic( d.EM15HI & d.HA12IL.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
641  # MenuItem('L1_EM15HI_2TAU12_XE35' ).setLogic( d.EM15HI & d.HA12.x(2) & d.XE35 & physcond).setTriggerType( TT.calo )
642 
643  # JET ctpid=[0x60:0x7f]
644  MenuItem('L1_J5' ).setLogic( d.J5 & physcond).setTriggerType(TT.calo)
645  MenuItem('L1_J10' ).setLogic( d.J10 & physcond).setTriggerType(TT.calo)
646  MenuItem('L1_J12' ).setLogic( d.J12 & physcond).setTriggerType(TT.calo)
647  MenuItem('L1_J15' ).setLogic( d.J15 & physcond).setTriggerType(TT.calo)
648  MenuItem('L1_J20' ).setLogic( d.J20 & physcond).setTriggerType(TT.calo)
649  MenuItem('L1_J25' ).setLogic( d.J25 & physcond).setTriggerType(TT.calo)
650  MenuItem('L1_J30' ).setLogic( d.J30 & physcond).setTriggerType(TT.calo)
651  MenuItem('L1_J35' ).setLogic( d.J35 & physcond).setTriggerType(TT.calo)
652  MenuItem('L1_J40' ).setLogic( d.J40 & physcond).setTriggerType(TT.calo)
653  MenuItem('L1_J50' ).setLogic( d.J50 & physcond).setTriggerType(TT.calo)
654  MenuItem('L1_J60' ).setLogic( d.J60 & physcond).setTriggerType(TT.calo)
655  MenuItem('L1_J75' ).setLogic( d.J75 & physcond).setTriggerType(TT.calo)
656  MenuItem('L1_J75A' ).setLogic( d.J75A & physcond).setTriggerType(TT.calo)
657  MenuItem('L1_J75C' ).setLogic( d.J75C & physcond).setTriggerType(TT.calo)
658  MenuItem('L1_J85' ).setLogic( d.J85 & physcond).setTriggerType(TT.calo)
659  MenuItem('L1_J100' ).setLogic( d.J100 & physcond).setTriggerType(TT.calo)
660  MenuItem('L1_J120' ).setLogic( d.J120 & physcond).setTriggerType(TT.calo)
661  MenuItem('L1_J150' ).setLogic( d.J150 & physcond).setTriggerType(TT.calo)
662  MenuItem('L1_J175' ).setLogic( d.J175 & physcond).setTriggerType(TT.calo)
663  MenuItem('L1_J250' ).setLogic( d.J250 & physcond).setTriggerType(TT.calo)
664  MenuItem('L1_J400' ).setLogic( d.J400 & physcond).setTriggerType(TT.calo)
665  MenuItem('L1_J400_LAR' ).setLogic( d.J400 & physcond).setTriggerType(TT.lardigital) # ATR-22344
666 
667  MenuItem('L1_jJ15p30ETA49' ).setLogic( d.jJ1530ETA49 & physcond).setTriggerType(TT.calo)
668  MenuItem('L1_jJ20' ).setLogic( d.jJ20 & physcond).setTriggerType(TT.calo)
669  MenuItem('L1_jJ20p30ETA49' ).setLogic( d.jJ2030ETA49 & physcond).setTriggerType(TT.calo)
670  MenuItem('L1_jJ30' ).setLogic( d.jJ30 & physcond).setTriggerType(TT.calo)
671  MenuItem('L1_jJ30_EMPTY' ).setLogic( d.jJ30 & cosmiccond).setTriggerType(TT.calo)
672  MenuItem('L1_jJ30_FIRSTEMPTY' ).setLogic( d.jJ30 & firstempty).setTriggerType(TT.calo)
673  MenuItem('L1_jJ30_UNPAIRED_ISO' ).setLogic( d.jJ30 & unpaired_isocond).setTriggerType(TT.calo)
674  MenuItem('L1_jJ30_UNPAIRED_NONISO' ).setLogic( d.jJ30 & unpaired_nonisocond).setTriggerType(TT.calo)
675  MenuItem('L1_jJ30_BGRP12' ).setLogic( d.jJ30 & bgrp12cond).setTriggerType(TT.calo)
676  MenuItem('L1_jJ30_UNPAIREDB1' ).setLogic( d.jJ30 & bgrp13cond).setTriggerType(TT.calo)
677  MenuItem('L1_jJ30_UNPAIREDB2' ).setLogic( d.jJ30 & bgrp14cond).setTriggerType(TT.calo)
678  MenuItem('L1_jJ30p0ETA25' ).setLogic( d.jJ300ETA25 & physcond).setTriggerType(TT.calo)
679  MenuItem('L1_jJ40' ).setLogic( d.jJ40 & physcond).setTriggerType(TT.calo)
680  MenuItem('L1_jJ40p0ETA25' ).setLogic( d.jJ400ETA25 & physcond).setTriggerType(TT.calo)
681  MenuItem('L1_jJ40p30ETA49' ).setLogic( d.jJ4030ETA49 & physcond).setTriggerType(TT.calo)
682  MenuItem('L1_jJ40p30ETA49_UNPAIRED_ISO').setLogic( d.jJ4030ETA49 & unpaired_isocond).setTriggerType(TT.calo)
683  MenuItem('L1_jJ50' ).setLogic( d.jJ50 & physcond).setTriggerType(TT.calo)
684  MenuItem('L1_jJ50p30ETA49' ).setLogic( d.jJ5030ETA49 & physcond).setTriggerType(TT.calo)
685  MenuItem('L1_jJ55' ).setLogic( d.jJ55 & physcond).setTriggerType(TT.calo)
686  MenuItem('L1_jJ55p0ETA23' ).setLogic( d.jJ550ETA23 & physcond).setTriggerType(TT.calo)
687  MenuItem('L1_jJ60' ).setLogic( d.jJ60 & physcond).setTriggerType(TT.calo)
688  MenuItem('L1_jJ60p30ETA49' ).setLogic( d.jJ6030ETA49 & physcond).setTriggerType(TT.calo)
689  MenuItem('L1_jJ60p30ETA49_EMPTY' ).setLogic( d.jJ6030ETA49 & cosmiccond).setTriggerType(TT.calo)
690  MenuItem('L1_jJ60p30ETA49_UNPAIRED_ISO' ).setLogic( d.jJ6030ETA49 & unpaired_isocond).setTriggerType(TT.calo)
691  MenuItem('L1_jJ60p30ETA49_UNPAIRED_NONISO' ).setLogic( d.jJ6030ETA49 & unpaired_nonisocond).setTriggerType(TT.calo)
692  MenuItem('L1_jJ70p0ETA23' ).setLogic( d.jJ700ETA23 & physcond).setTriggerType(TT.calo)
693  MenuItem('L1_jJ80' ).setLogic( d.jJ80 & physcond).setTriggerType(TT.calo)
694  MenuItem('L1_jJ80p0ETA25' ).setLogic( d.jJ800ETA25 & physcond).setTriggerType(TT.calo)
695  MenuItem('L1_jJ85p0ETA21' ).setLogic( d.jJ850ETA21 & physcond).setTriggerType(TT.calo)
696  MenuItem('L1_jJ90' ).setLogic( d.jJ90 & physcond).setTriggerType(TT.calo)
697  MenuItem('L1_jJ90_UNPAIRED_ISO' ).setLogic( d.jJ90 & unpaired_isocond).setTriggerType(TT.calo)
698  MenuItem('L1_jJ90_UNPAIRED_NONISO' ).setLogic( d.jJ90 & unpaired_nonisocond).setTriggerType(TT.calo)
699  MenuItem('L1_jJ90_2jJ80p0ETA25_3jJ40p0ETA25').setLogic( d.jJ90 & d.jJ800ETA25.x(2) & d.jJ400ETA25.x(3) & physcond).setTriggerType(TT.calo)
700  MenuItem('L1_jJ90p30ETA49' ).setLogic( d.jJ9030ETA49 & physcond).setTriggerType(TT.calo)
701  MenuItem('L1_jJ125' ).setLogic( d.jJ125 & physcond).setTriggerType(TT.calo)
702  MenuItem('L1_jJ125p30ETA49' ).setLogic( d.jJ12530ETA49 & physcond).setTriggerType(TT.calo)
703  MenuItem('L1_jJ140' ).setLogic( d.jJ140 & physcond).setTriggerType(TT.calo)
704  MenuItem('L1_jJ160' ).setLogic( d.jJ160 & physcond).setTriggerType(TT.calo)
705  MenuItem('L1_jJ160_FIRSTEMPTY').setLogic( d.jJ160 & firstempty).setTriggerType(TT.calo)
706  MenuItem('L1_jJ180' ).setLogic( d.jJ180 & physcond).setTriggerType(TT.calo)
707  MenuItem('L1_jJ500' ).setLogic( d.jJ500 & physcond).setTriggerType(TT.calo)
708  MenuItem('L1_jJ500_LAR' ).setLogic( d.jJ500 & physcond).setTriggerType(TT.lardigital) # ATR-22344
709 
710  MenuItem('L1_4jJ40' ).setLogic( d.jJ40.x(4) & physcond).setTriggerType(TT.calo)
711  MenuItem('L1_3jJ55p0ETA23' ).setLogic( d.jJ550ETA23.x(3) & physcond).setTriggerType(TT.calo)
712  MenuItem('L1_4jJ40p0ETA25' ).setLogic( d.jJ400ETA25.x(4) & physcond).setTriggerType(TT.calo)
713  MenuItem('L1_6jJ40' ).setLogic( d.jJ40.x(6) & physcond).setTriggerType(TT.calo)
714  MenuItem('L1_5jJ40p0ETA25' ).setLogic( d.jJ400ETA25.x(5) & physcond).setTriggerType(TT.calo)
715  MenuItem('L1_4jJ50' ).setLogic( d.jJ50.x(4) & physcond).setTriggerType(TT.calo)
716  MenuItem('L1_3jJ90' ).setLogic( d.jJ90.x(3) & physcond).setTriggerType(TT.calo)
717  MenuItem('L1_3jJ70p0ETA23' ).setLogic( d.jJ700ETA23.x(3) & physcond).setTriggerType(TT.calo)
718  MenuItem('L1_jJ140_3jJ60' ).setLogic( d.jJ140 & d.jJ60.x(3) & physcond).setTriggerType(TT.calo)
719  MenuItem('L1_jJ80p0ETA25_2jJ55_jJ50p30ETA49' ).setLogic( d.jJ800ETA25 & d.jJ55.x(2) & d.jJ5030ETA49 & physcond).setTriggerType(TT.calo)
720  MenuItem('L1_jJ55p0ETA23_2jJ40p30ETA49' ).setLogic( d.jJ550ETA23 & d.jJ4030ETA49.x(2) & physcond).setTriggerType(TT.calo)
721  MenuItem('L1_jJ80p0ETA25_2jJ40p30ETA49' ).setLogic( d.jJ800ETA25 & d.jJ4030ETA49.x(2) & physcond).setTriggerType(TT.calo)
722  MenuItem('L1_jJ85p0ETA21_3jJ40p0ETA25' ).setLogic( d.jJ850ETA21 & d.jJ400ETA25.x(3) & physcond).setTriggerType(TT.calo)
723  MenuItem('L1_3jJ40p0ETA25' ).setLogic( d.jJ400ETA25.x(3) & physcond).setTriggerType(TT.calo)
724 
725  MenuItem('L1_jJ60_EMPTY' ).setLogic( d.jJ60 & cosmiccond ).setTriggerType(TT.calo)
726  MenuItem('L1_jJ60_FIRSTEMPTY').setLogic( d.jJ60 & firstempty ).setTriggerType(TT.calo)
727 
728  MenuItem('L1_MU3V_jJ20' ).setLogic( d.MU3V & d.jJ20 & physcond).setTriggerType(TT.calo) # added temporarily
729  MenuItem('L1_MU3V_jJ30' ).setLogic( d.MU3V & d.jJ30 & physcond).setTriggerType(TT.calo) # added temporarily
730  MenuItem('L1_MU3V_jJ40' ).setLogic( d.MU3V & d.jJ40 & physcond).setTriggerType(TT.calo)
731  MenuItem('L1_MU3V_jJ50' ).setLogic( d.MU3V & d.jJ50 & physcond).setTriggerType(TT.calo)
732  MenuItem('L1_MU3V_jJ60' ).setLogic( d.MU3V & d.jJ60 & physcond).setTriggerType(TT.calo)
733  MenuItem('L1_MU5VF_jJ80' ).setLogic( d.MU5VF & d.jJ80 & physcond).setTriggerType(TT.calo)
734 
735  MenuItem('L1_jLJ60' ).setLogic( d.jLJ60 & physcond).setTriggerType(TT.calo) # Not in commissioning
736  MenuItem('L1_jLJ80' ).setLogic( d.jLJ80 & physcond).setTriggerType(TT.calo)
737  MenuItem('L1_jLJ100' ).setLogic( d.jLJ100 & physcond).setTriggerType(TT.calo) # Not in commissioning
738  MenuItem('L1_jLJ120' ).setLogic( d.jLJ120 & physcond).setTriggerType(TT.calo)
739  MenuItem('L1_jLJ140' ).setLogic( d.jLJ140 & physcond).setTriggerType(TT.calo)
740  MenuItem('L1_jLJ160' ).setLogic( d.jLJ160 & physcond).setTriggerType(TT.calo) # Not in commissioning
741  MenuItem('L1_jLJ180' ).setLogic( d.jLJ180 & physcond).setTriggerType(TT.calo)
742  MenuItem('L1_jLJ200' ).setLogic( d.jLJ200 & physcond).setTriggerType(TT.calo) # Not in commissioning
743 
744  MenuItem('L1_gJ20p0ETA25' ).setLogic( d.gJ200ETA25 & physcond).setTriggerType(TT.calo)
745  MenuItem('L1_gJ20p25ETA49' ).setLogic( d.gJ2025ETA49 & physcond).setTriggerType(TT.calo)
746  MenuItem('L1_gJ20p0ETA25_EMPTY' ).setLogic( d.gJ200ETA25 & cosmiccond).setTriggerType(TT.calo)
747  MenuItem('L1_gJ50p0ETA25' ).setLogic( d.gJ500ETA25 & physcond).setTriggerType(TT.calo)
748  MenuItem('L1_gJ100p0ETA25' ).setLogic( d.gJ1000ETA25 & physcond).setTriggerType(TT.calo)
749  MenuItem('L1_gJ400p0ETA25' ).setLogic( d.gJ4000ETA25 & physcond).setTriggerType(TT.calo)
750 
751  MenuItem('L1_gLJ80p0ETA25' ).setLogic( d.gLJ800ETA25 & physcond).setTriggerType(TT.calo)
752  MenuItem('L1_gLJ100p0ETA25' ).setLogic( d.gLJ1000ETA25 & physcond).setTriggerType(TT.calo)
753  MenuItem('L1_gLJ140p0ETA25' ).setLogic( d.gLJ1400ETA25 & physcond).setTriggerType(TT.calo)
754  MenuItem('L1_gLJ160p0ETA25' ).setLogic( d.gLJ1600ETA25 & physcond).setTriggerType(TT.calo)
755 
756  MenuItem('L1_jEM20' ).setLogic( d.jEM20 & physcond).setTriggerType(TT.calo)
757  MenuItem('L1_jEM20M' ).setLogic( d.jEM20M & physcond).setTriggerType(TT.calo)
758 
759  MenuItem('L1_J10p31ETA49').setLogic( d.J1031ETA49 & physcond).setTriggerType(TT.calo)
760  MenuItem('L1_J75p31ETA49').setLogic( d.J7531ETA49 & physcond).setTriggerType(TT.calo)
761 
762 
763  MenuItem('L1_J10_UNPAIRED_ISO' ).setLogic( d.J10 & unpaired_isocond ).setTriggerType(TT.calo)
764  MenuItem('L1_J10_UNPAIRED_NONISO').setLogic( d.J10 & unpaired_nonisocond).setTriggerType(TT.calo)
765  MenuItem('L1_J10_EMPTY' ).setLogic( d.J10 & cosmiccond ).setTriggerType(TT.calo)
766  MenuItem('L1_J10_FIRSTEMPTY' ).setLogic( d.J10 & firstempty ).setTriggerType(TT.calo)
767 
768  MenuItem('L1_J12_UNPAIRED_ISO' ).setLogic( d.J12 & unpaired_isocond ).setTriggerType(TT.calo)
769  MenuItem('L1_J12_UNPAIRED_NONISO' ).setLogic( d.J12 & unpaired_nonisocond).setTriggerType(TT.calo)
770  MenuItem('L1_J12_EMPTY' ).setLogic( d.J12 & cosmiccond ).setTriggerType(TT.calo)
771  MenuItem('L1_J12_FIRSTEMPTY' ).setLogic( d.J12 & firstempty ).setTriggerType(TT.calo)
772  MenuItem('L1_J12_UNPAIREDB1' ).setLogic( d.J12 & bgrp13cond ).setTriggerType(TT.calo)
773  MenuItem('L1_J12_UNPAIREDB2' ).setLogic( d.J12 & bgrp14cond).setTriggerType(TT.calo)
774 
775  MenuItem('L1_J50_UNPAIRED_ISO' ).setLogic( d.J50 & unpaired_isocond ).setTriggerType(TT.calo)
776  MenuItem('L1_J50_UNPAIRED_NONISO' ).setLogic( d.J50 & unpaired_nonisocond).setTriggerType(TT.calo)
777 
778  MenuItem('L1_J12_BGRP12' ).setLogic( d.J12 & bgrp12cond ).setTriggerType(TT.calo)
779  MenuItem('L1_J30p31ETA49_BGRP12').setLogic( d.J3031ETA49 & bgrp12cond ).setTriggerType(TT.calo)
780 
781  MenuItem('L1_J30_EMPTY' ).setLogic( d.J30 & cosmiccond ).setTriggerType(TT.calo)
782  MenuItem('L1_J30_FIRSTEMPTY').setLogic( d.J30 & firstempty ).setTriggerType(TT.calo)
783 
784  MenuItem('L1_J10p31ETA49_EMPTY').setLogic( d.J1031ETA49 & cosmiccond ).setTriggerType(TT.calo)
785  MenuItem('L1_J15p31ETA49_UNPAIRED_ISO').setLogic( d.J1531ETA49 & unpaired_isocond).setTriggerType(TT.calo)
786 
787  MenuItem('L1_J30p31ETA49_EMPTY' ).setLogic( d.J3031ETA49 & cosmiccond ).setTriggerType(TT.calo)
788  MenuItem('L1_J30p31ETA49_FIRSTEMPTY' ).setLogic( d.J3031ETA49 & firstempty ).setTriggerType(TT.calo)
789  MenuItem('L1_J30p31ETA49_UNPAIRED_ISO' ).setLogic( d.J3031ETA49 & unpaired_isocond ).setTriggerType(TT.calo)
790  MenuItem('L1_J30p31ETA49_UNPAIRED_NONISO').setLogic( d.J3031ETA49 & unpaired_nonisocond ).setTriggerType(TT.calo)
791 
792 
793  MenuItem('L1_J100_FIRSTEMPTY').setLogic( d.J100 & firstempty ).setTriggerType(TT.calo)
794 
795  # multi jet
796  MenuItem('L1_2J25p31ETA49' ).setLogic( d.J2531ETA49 & physcond).setTriggerType(TT.calo)
797  MenuItem('L1_2J15' ).setLogic( d.J15.x(2) & physcond).setTriggerType(TT.calo)
798  MenuItem('L1_J15_J15p31ETA49' ).setLogic( d.J15 & d.J1531ETA49 & physcond).setTriggerType(TT.calo)
799  MenuItem('L1_J20_J20p31ETA49' ).setLogic( d.J20 & d.J2031ETA49 & physcond).setTriggerType(TT.calo)
800  MenuItem('L1_3J10' ).setLogic( d.J10.x(3) & physcond).setTriggerType(TT.calo)
801  MenuItem('L1_3J15' ).setLogic( d.J15.x(3) & physcond).setTriggerType(TT.calo)
802  MenuItem('L1_3J20' ).setLogic( d.J20.x(3) & physcond).setTriggerType(TT.calo)
803  MenuItem('L1_3J40' ).setLogic( d.J40.x(3) & physcond).setTriggerType(TT.calo)
804  MenuItem('L1_3J50' ).setLogic( d.J50.x(3) & physcond).setTriggerType(TT.calo)
805  MenuItem('L1_3J75' ).setLogic( d.J75.x(3) & physcond).setTriggerType(TT.calo)
806  MenuItem('L1_4J10' ).setLogic( d.J10.x(4) & physcond).setTriggerType(TT.calo)
807  MenuItem('L1_4J15' ).setLogic( d.J15.x(4) & physcond).setTriggerType(TT.calo)
808  MenuItem('L1_4J20' ).setLogic( d.J20.x(4) & physcond).setTriggerType(TT.calo)
809  MenuItem('L1_4J20p0ETA49').setLogic( d.J200ETA49.x(4) & physcond).setTriggerType(TT.calo)
810  MenuItem('L1_4J30' ).setLogic( d.J30.x(4) & physcond).setTriggerType(TT.calo)
811  MenuItem('L1_6J15' ).setLogic( d.J15.x(6) & physcond).setTriggerType(TT.calo)
812  MenuItem('L1_J75_3J20' ).setLogic( d.J75 & d.J20.x(3) & physcond).setTriggerType(TT.calo)
813  MenuItem('L1_J85_3J30' ).setLogic( d.J85 & d.J30.x(3) & physcond).setTriggerType(TT.calo)
814  MenuItem('L1_J30p0ETA49_2J20p0ETA49' ).setLogic( d.J300ETA49 & d.J200ETA49.x(2) & physcond).setTriggerType(TT.calo)
815  MenuItem('L1_J15p0ETA25_2J15p31ETA49' ).setLogic( d.J150ETA25 & d.J1531ETA49.x(2) & physcond).setTriggerType(TT.calo)
816  MenuItem('L1_J40p0ETA25_2J15p31ETA49' ).setLogic( d.J400ETA25 & d.J1531ETA49.x(2) & physcond).setTriggerType(TT.calo)
817  MenuItem('L1_J40p0ETA25_2J25_J20p31ETA49' ).setLogic( d.J400ETA25 & d.J25.x(2) & d.J2031ETA49 & physcond).setTriggerType(TT.calo)
818  MenuItem('L1_J40p0ETA25_2J30_J20p31ETA49' ).setLogic( d.J400ETA25 & d.J30.x(2) & d.J2031ETA49 & physcond).setTriggerType(TT.calo)
819  MenuItem('L1_J45p0ETA21_3J15p0ETA25' ).setLogic( d.J450ETA21 & d.J150ETA25.x(3) & physcond).setTriggerType(TT.calo)
820  MenuItem('L1_J50_2J40p0ETA25_3J15p0ETA25' ).setLogic( d.J50 & d.J400ETA25.x(2) & d.J150ETA25.x(3) & physcond).setTriggerType(TT.calo)
821 
822  MenuItem('L1_4J17p0ETA22' ).setLogic( d.J170ETA22.x(4) & physcond).setTriggerType(TT.calo)
823  MenuItem('L1_3J25p0ETA23' ).setLogic( d.J250ETA23.x(3) & physcond).setTriggerType(TT.calo)
824  MenuItem('L1_3J35p0ETA23' ).setLogic( d.J350ETA23.x(3) & physcond).setTriggerType(TT.calo)
825  MenuItem('L1_3J15p0ETA25' ).setLogic( d.J150ETA25.x(3) & physcond).setTriggerType(TT.calo)
826  MenuItem('L1_4J15p0ETA25' ).setLogic( d.J150ETA25.x(4) & physcond).setTriggerType(TT.calo)
827  MenuItem('L1_5J15p0ETA25' ).setLogic( d.J150ETA25.x(5) & physcond).setTriggerType(TT.calo)
828 
829  # Legacy ZeroBias
830  if ('Physics_HI_run3_v' in menuName or 'MC_HI_run3_v' in menuName):
831  MenuItem('L1_ZB', ctpid=240).setLogic(d.ZB_J75 & physcond).setTriggerType(TT.zerobs)
832  else:
833  MenuItem('L1_ZB', ctpid=240).setLogic(d.ZB_EM15 & physcond).setTriggerType(TT.zerobs)
834 
835  # Phase-I ZeroBias trigger for commissioning
836  # TODO: When established, replace legacy logic above with corresponding
837  # Phase-I seeds
838  # Unlike legacy ZeroBias, the delay logic is in the CTP firmware, so
839  # we provide the seed rather than a dedicated threshold
840 
841 
842  # LAr Saturation
843  MenuItem('L1_LArSaturation').setLogic( d.LArSaturation & physcond ).setTriggerType(TT.calo)
844 
845  if ('Physics_HI_run3_v' in menuName or 'MC_HI_run3_v' in menuName):
846  MenuItem('L1_ZeroBias').setLogic( d.ZeroBiasB & physcond ).setTriggerType(TT.zerobs)
847  else:
848  MenuItem('L1_ZeroBias').setLogic( d.ZeroBiasA & physcond ).setTriggerType(TT.zerobs)
849 
850  # combined jet - xe
851  MenuItem('L1_J40_XE50').setLogic( d.J40 & d.XE50 & physcond).setTriggerType(TT.calo)
852  MenuItem('L1_jJ80_jXE100').setLogic( d.jJ80 & d.jXE100 & physcond).setTriggerType(TT.calo)
853  MenuItem('L1_J40p0ETA25_XE50').setLogic( d.J400ETA25 & d.XE50 & physcond).setTriggerType(TT.calo)
854  MenuItem('L1_J75_XE40' ).setLogic( d.J75 & d.XE40 & physcond).setTriggerType(TT.calo)
855  MenuItem('L1_J75_XE50' ).setLogic( d.J75 & d.XE50 & physcond).setTriggerType(TT.calo)
856  MenuItem('L1_2J15_XE55').setLogic( d.J15.x(2) & d.XE55 & physcond).setTriggerType(TT.calo)
857  MenuItem('L1_2J40_XE45').setLogic( d.J40.x(2) & d.XE45 & physcond).setTriggerType(TT.calo)
858  MenuItem('L1_2J50_XE40').setLogic( d.J50.x(2) & d.XE40 & physcond).setTriggerType(TT.calo)
859  MenuItem('L1_J40_XE60' ).setLogic( d.J40 & d.XE60 & physcond).setTriggerType(TT.calo)
860  #MenuItem('L1_jJ80_jXE120').setLogic( d.jJ80 & d.jXE120 & physcond).setTriggerType(TT.calo)
861  MenuItem('L1_J30p0ETA49_XE50').setLogic( d.J300ETA49 & d.XE50 & physcond).setTriggerType(TT.calo)
862  MenuItem('L1_3J15p0ETA25_XE40').setLogic( d.J150ETA25.x(3) & d.XE40 & physcond).setTriggerType(TT.calo)
863  # ATR-27250 Duplicate multijet-seeded triggers to jFEX
864  MenuItem('L1_3jJ40p0ETA25_jXE80').setLogic( d.jJ400ETA25.x(3) & d.jXE80 & physcond).setTriggerType(TT.calo)
865  MenuItem('L1_2jJ90_jXE80').setLogic( d.jJ90.x(2) & d.jXE80 & physcond).setTriggerType(TT.calo)
866  MenuItem('L1_2jJ40_jXE110').setLogic( d.jJ40.x(2) & d.jXE110 & physcond).setTriggerType(TT.calo)
867 
868  # combined em - jet
869  MenuItem('L1_EM18VHI_3J20' ).setLogic( d.EM18VHI & d.J20.x(3) & physcond).setTriggerType(TT.calo)
870  MenuItem('L1_EM20VH_3J20' ).setLogic( d.EM20VH & d.J20.x(3) & physcond).setTriggerType(TT.calo)
871  # combined em - jet Phase-1 ATR-28761
872  MenuItem('L1_eEM22M_3jJ50' ).setLogic( d.eEM22M & d.jJ50.x(3) & physcond).setTriggerType(TT.calo)
873  MenuItem('L1_eEM24L_3jJ50' ).setLogic( d.eEM24L & d.jJ50.x(3) & physcond).setTriggerType(TT.calo)
874 
875  #MenuItem('L1_EM13VH_3J20' ).setLogic( d.EM13VH & d.J20.x(3) & physcond).setTriggerType(TT.calo)
876 
879  MenuItem('L1_eEM22M_3jJ40p0ETA25' ).setLogic( d.eEM22M & d.jJ400ETA25.x(3) & physcond).setTriggerType(TT.calo)
880  MenuItem('L1_eEM22M_4jJ30p0ETA25' ).setLogic( d.eEM22M & d.jJ300ETA25.x(4) & physcond).setTriggerType(TT.calo)
881 
882 
883 
884 
885  # combined mu - jet
886  MenuItem('L1_MU3V_J12' ).setLogic( d.MU3V & d.J12 & physcond).setTriggerType(TT.calo)
887  MenuItem('L1_MU3V_J15' ).setLogic( d.MU3V & d.J15 & physcond).setTriggerType(TT.calo)
888  MenuItem('L1_MU5VF_J20' ).setLogic( d.MU5VF & d.J20 & physcond).setTriggerType(TT.calo)
889  MenuItem('L1_MU5VF_J30p0ETA49_2J20p0ETA49').setLogic( d.MU5VF & d.J300ETA49 & d.J200ETA49.x(2) & physcond).setTriggerType(TT.calo)
890  MenuItem('L1_MU5VF_J40' ).setLogic( d.MU5VF & d.J40 & physcond).setTriggerType(TT.calo)
891  MenuItem('L1_MU5VF_J75' ).setLogic( d.MU5VF & d.J75 & physcond).setTriggerType(TT.calo)
892  MenuItem('L1_MU3V_3J15' ).setLogic( d.MU3V & d.J15.x(3) & physcond).setTriggerType(TT.calo)
893  MenuItem('L1_MU3V_3J20' ).setLogic( d.MU3V & d.J20.x(3) & physcond).setTriggerType(TT.calo)
894  MenuItem('L1_MU3V_J20' ).setLogic( d.MU3V & d.J20 & physcond).setTriggerType(TT.calo)
895  MenuItem('L1_MU3V_J30' ).setLogic( d.MU3V & d.J30 & physcond).setTriggerType(TT.calo)
896  MenuItem('L1_MU3V_J50' ).setLogic( d.MU3V & d.J50 & physcond).setTriggerType(TT.calo)
897  MenuItem('L1_MU8F_3J20' ).setLogic( d.MU8F & d.J20.x(3) & physcond).setTriggerType(TT.calo)
898  MenuItem('L1_MU8F_2J20' ).setLogic( d.MU8F & d.J20.x(2) & physcond).setTriggerType(TT.calo)
899  MenuItem('L1_MU8F_2J15_J20').setLogic( d.MU8F & d.J15.x(2) & d.J20 & physcond).setTriggerType(TT.calo)
900 
901  MenuItem('L1_MU8F_3jJ50' ).setLogic( d.MU8F & d.jJ50.x(3) & physcond).setTriggerType(TT.calo)
902  MenuItem('L1_MU8F_2jJ50' ).setLogic( d.MU8F & d.jJ50.x(2) & physcond).setTriggerType(TT.calo)
903  MenuItem('L1_MU8F_2jJ40_jJ50').setLogic( d.MU8F & d.jJ40.x(2) & d.jJ50 & physcond).setTriggerType(TT.calo)
904 
905  MenuItem('L1_MU14FCH_J50' ).setLogic( d.MU14FCH & d.J50 & physcond).setTriggerType(TT.calo)
906  MenuItem('L1_MU3V_XE60' ).setLogic( d.MU3V & d.XE60 & physcond).setTriggerType(TT.calo)
907  MenuItem('L1_2MU3V_XE60' ).setLogic( d.MU3V.x(2) & d.XE60 & physcond).setTriggerType(TT.calo)
908  MenuItem('L1_2MU3V_J40_XE50' ).setLogic( d.MU3V.x(2) & d.J40 & d.XE50 & physcond).setTriggerType(TT.calo)
909  MenuItem('L1_MU3V_J50_XE40' ).setLogic( d.MU3V & d.J50 & d.XE40 & physcond).setTriggerType(TT.calo)
910  MenuItem('L1_2MU3V_J40_XE20' ).setLogic( d.MU3V.x(2) & d.J40 & d.XE20 & physcond).setTriggerType(TT.calo)
911  MenuItem('L1_MU14FCH_J40' ).setLogic( d.MU14FCH & d.J40 & physcond).setTriggerType(TT.calo)
912  MenuItem('L1_MU14FCH_XE30').setLogic( d.MU14FCH & d.XE30 & physcond).setTriggerType(TT.calo)
913  MenuItem('L1_MU14FCH_XE40').setLogic( d.MU14FCH & d.XE40 & physcond).setTriggerType(TT.calo)
914  MenuItem('L1_MU14FCH_jJ80' ).setLogic( d.MU14FCH & d.jJ80 & physcond).setTriggerType(TT.calo)
915  MenuItem('L1_MU14FCH_jXE70').setLogic( d.MU14FCH & d.jXE70 & physcond).setTriggerType(TT.calo)
916  MenuItem('L1_MU14FCH_jJ90' ).setLogic( d.MU14FCH & d.jJ90 & physcond).setTriggerType(TT.calo)
917  MenuItem('L1_MU14FCH_jXE80').setLogic( d.MU14FCH & d.jXE80 & physcond).setTriggerType(TT.calo)
918  # HI
919  MenuItem('L1_J15_NZ' ).setLogic( d.J15 & Not(ZDC_AND) & physcond).setTriggerType(TT.calo)
920  MenuItem('L1_2J15_NZ').setLogic( d.J15.x(2) & Not(ZDC_AND) & physcond).setTriggerType(TT.calo)
921 
922  MenuItem('L1_J15_NL' ).setLogic( d.J15 & Not(d.LUCID_A) & Not(d.LUCID_C) & physcond).setTriggerType(TT.calo)
923  MenuItem('L1_2J15_NL').setLogic( d.J15.x(2) & Not(d.LUCID_A) & Not(d.LUCID_C) & physcond).setTriggerType(TT.calo)
924 
925 
926  # XE
927  MenuItem('L1_XE35').setLogic( d.XE35 & physcond).setTriggerType(TT.calo)
928  MenuItem('L1_XE40').setLogic( d.XE40 & physcond).setTriggerType(TT.calo)
929  MenuItem('L1_XE45').setLogic( d.XE45 & physcond).setTriggerType(TT.calo)
930  MenuItem('L1_XE50').setLogic( d.XE50 & physcond).setTriggerType(TT.calo)
931  MenuItem('L1_XE55').setLogic( d.XE55 & physcond).setTriggerType(TT.calo)
932  MenuItem('L1_XE60').setLogic( d.XE60 & physcond).setTriggerType(TT.calo)
933  MenuItem('L1_XE70').setLogic( d.XE70 & physcond).setTriggerType(TT.calo)
934  MenuItem('L1_XE80').setLogic( d.XE80 & physcond).setTriggerType(TT.calo)
935  # phase1
936  #MenuItem('L1_gXERHO70' ).setLogic( d.gXERHO70 & physcond).setTriggerType(TT.calo)
937  #MenuItem('L1_gXERHO100' ).setLogic( d.gXERHO100 & physcond).setTriggerType(TT.calo)
938  MenuItem('L1_gXENC70' ).setLogic( d.gXENC70 & physcond).setTriggerType(TT.calo)
939  MenuItem('L1_gXENC100' ).setLogic( d.gXENC100 & physcond).setTriggerType(TT.calo)
940  MenuItem('L1_gXEJWOJ60' ).setLogic( d.gXEJWOJ60 & physcond).setTriggerType(TT.calo)
941  MenuItem('L1_gXEJWOJ70' ).setLogic( d.gXEJWOJ70 & physcond).setTriggerType(TT.calo)
942  MenuItem('L1_gXEJWOJ80' ).setLogic( d.gXEJWOJ80 & physcond).setTriggerType(TT.calo)
943  MenuItem('L1_gXEJWOJ100').setLogic( d.gXEJWOJ100 & physcond).setTriggerType(TT.calo)
944  MenuItem('L1_gXEJWOJ110').setLogic( d.gXEJWOJ110 & physcond).setTriggerType(TT.calo)
945  MenuItem('L1_gXEJWOJ120').setLogic( d.gXEJWOJ120 & physcond).setTriggerType(TT.calo)
946  MenuItem('L1_gXEJWOJ500').setLogic( d.gXEJWOJ500 & physcond).setTriggerType(TT.calo)
947  MenuItem('L1_gMHT500').setLogic( d.gMHT500 & physcond).setTriggerType(TT.calo)
948  MenuItem('L1_jXE60' ).setLogic( d.jXE60 & physcond).setTriggerType(TT.calo)
949  MenuItem('L1_jXE70' ).setLogic( d.jXE70 & physcond).setTriggerType(TT.calo)
950  MenuItem('L1_jXE80' ).setLogic( d.jXE80 & physcond).setTriggerType(TT.calo)
951  MenuItem('L1_jXE90' ).setLogic( d.jXE90 & physcond).setTriggerType(TT.calo)
952  MenuItem('L1_jXE100').setLogic( d.jXE100 & physcond).setTriggerType(TT.calo)
953  MenuItem('L1_jXE110').setLogic( d.jXE110 & physcond).setTriggerType(TT.calo)
954  MenuItem('L1_jXE120').setLogic( d.jXE120 & physcond).setTriggerType(TT.calo)
955  MenuItem('L1_jXE500').setLogic( d.jXE500 & physcond).setTriggerType(TT.calo)
956 
957  MenuItem('L1_jXEC100' ).setLogic( d.jXEC100 & physcond).setTriggerType(TT.calo)
958  MenuItem('L1_jXEPerf100' ).setLogic( d.jXEPerf100 & physcond).setTriggerType(TT.calo)
959 
960  #ATR-28670- Combined jet - xe
961  MenuItem('L1_jJ80_jXE120' ).setLogic( d.jJ80 & d.jXE120 & physcond).setTriggerType(TT.calo)
962 
963  # phase1 TE
964  MenuItem('L1_gTE200' ).setLogic( d.gTE200 & physcond).setTriggerType(TT.calo)
965 
966  MenuItem('L1_jTE200' ).setLogic( d.jTE200 & physcond).setTriggerType(TT.calo)
967  MenuItem('L1_jTEC200' ).setLogic( d.jTEC200 & physcond).setTriggerType(TT.calo)
968  MenuItem('L1_jTEFWD100' ).setLogic( d.jTEFWD100 & physcond).setTriggerType(TT.calo)
969  MenuItem('L1_jTEFWDA100' ).setLogic( d.jTEFWDA100 & physcond).setTriggerType(TT.calo)
970  MenuItem('L1_jTEFWDC100' ).setLogic( d.jTEFWDC100 & physcond).setTriggerType(TT.calo)
971  # additional jTE items for 2023 heavy ion runs
972  MenuItem('L1_jTE3' ).setLogic( d.jTE3 & physcond).setTriggerType(TT.calo)
973  MenuItem('L1_jTE4' ).setLogic( d.jTE4 & physcond).setTriggerType(TT.calo)
974  MenuItem('L1_jTE5' ).setLogic( d.jTE5 & physcond).setTriggerType(TT.calo)
975  MenuItem('L1_jTE10' ).setLogic( d.jTE10 & physcond).setTriggerType(TT.calo)
976  MenuItem('L1_jTE20' ).setLogic( d.jTE20 & physcond).setTriggerType(TT.calo)
977  MenuItem('L1_jTE50' ).setLogic( d.jTE50 & physcond).setTriggerType(TT.calo)
978  MenuItem('L1_jTE100' ).setLogic( d.jTE100 & physcond).setTriggerType(TT.calo)
979  MenuItem('L1_jTE600' ).setLogic( d.jTE600 & physcond).setTriggerType(TT.calo)
980  MenuItem('L1_jTE1500' ).setLogic( d.jTE1500 & physcond).setTriggerType(TT.calo)
981  MenuItem('L1_jTE3000' ).setLogic( d.jTE3000 & physcond).setTriggerType(TT.calo)
982  MenuItem('L1_jTE10000' ).setLogic( d.jTE10000 & physcond).setTriggerType(TT.calo)
983  # additional VjTE items for 2023 heavy ion runs
984  MenuItem('L1_VjTE50' ).setLogic( Not(d.jTE50) & physcond).setTriggerType(TT.calo)
985  MenuItem('L1_VjTE200' ).setLogic( Not(d.jTE200) & physcond).setTriggerType(TT.calo)
986  MenuItem('L1_VjTE600' ).setLogic( Not(d.jTE600) & physcond).setTriggerType(TT.calo)
987 
988  MenuItem('L1_XE10').setLogic( d.XE10 & physcond).setTriggerType(TT.calo)
989  MenuItem('L1_XE20').setLogic( d.XE20 & physcond).setTriggerType(TT.calo)
990  MenuItem('L1_XE25').setLogic( d.XE25 & physcond).setTriggerType(TT.calo)
991  MenuItem('L1_XE30').setLogic( d.XE30 & physcond).setTriggerType(TT.calo)
992  MenuItem('L1_XE65').setLogic( d.XE65 & physcond).setTriggerType(TT.calo)
993  MenuItem('L1_XE75').setLogic( d.XE75 & physcond).setTriggerType(TT.calo)
994  MenuItem('L1_XE150').setLogic( d.XE150 & physcond).setTriggerType(TT.calo)
995  MenuItem('L1_XE300').setLogic( d.XE300 & physcond).setTriggerType(TT.calo)
996  MenuItem('L1_XE35_BGRP7').setLogic( d.XE35 & bgrp7cond).setTriggerType(TT.calo)
997  MenuItem('L1_XE40_BGRP7').setLogic( d.XE40 & bgrp7cond).setTriggerType(TT.calo)
998  MenuItem('L1_XE45_BGRP7').setLogic( d.XE45 & bgrp7cond).setTriggerType(TT.calo)
999  MenuItem('L1_XE50_BGRP7').setLogic( d.XE50 & bgrp7cond).setTriggerType(TT.calo)
1000  MenuItem('L1_XE55_BGRP7').setLogic( d.XE55 & bgrp7cond).setTriggerType(TT.calo)
1001  MenuItem('L1_XE60_BGRP7').setLogic( d.XE60 & bgrp7cond).setTriggerType(TT.calo)
1002  MenuItem('L1_XE70_BGRP7').setLogic( d.XE70 & bgrp7cond).setTriggerType(TT.calo)
1003  MenuItem('L1_XE80_BGRP7').setLogic( d.XE80 & bgrp7cond).setTriggerType(TT.calo)
1004  # XS
1005  MenuItem('L1_XS20').setLogic( d.XS20.x(1) & physcond).setTriggerType(TT.calo)
1006  MenuItem('L1_XS30').setLogic( d.XS30.x(1) & physcond).setTriggerType(TT.calo)
1007  MenuItem('L1_XS40').setLogic( d.XS40.x(1) & physcond).setTriggerType(TT.calo)
1008  MenuItem('L1_XS45').setLogic( d.XS45.x(1) & physcond).setTriggerType(TT.calo)
1009  MenuItem('L1_XS50').setLogic( d.XS50.x(1) & physcond).setTriggerType(TT.calo)
1010  MenuItem('L1_XS55').setLogic( d.XS55.x(1) & physcond).setTriggerType(TT.calo)
1011  MenuItem('L1_XS60').setLogic( d.XS60.x(1) & physcond).setTriggerType(TT.calo)
1012  MenuItem('L1_XS65').setLogic( d.XS65.x(1) & physcond).setTriggerType(TT.calo)
1013  #MenuItem('L1_EM10_XS20').setLogic( d.EM10 & d.XS20.x(1) & physcond).setTriggerType(TT.calo)
1014  #MenuItem('L1_EM12_XS20').setLogic( d.EM12 & d.XS20.x(1) & physcond).setTriggerType(TT.calo)
1015  #MenuItem('L1_EM15_XS30').setLogic( d.EM15 & d.XS30.x(1) & physcond).setTriggerType(TT.calo)
1016 
1017  # TE
1018  MenuItem('L1_TE0' ).setLogic( d.TE0 & physcond).setTriggerType(TT.calo)
1019  MenuItem('L1_TE2' ).setLogic( d.TE2 & physcond).setTriggerType(TT.calo)
1020  MenuItem('L1_TE3' ).setLogic( d.TE3 & physcond).setTriggerType(TT.calo)
1021  MenuItem('L1_TE4' ).setLogic( d.TE4 & physcond).setTriggerType(TT.calo)
1022  MenuItem('L1_TE5' ).setLogic( d.TE5 & physcond).setTriggerType(TT.calo)
1023  MenuItem('L1_TE10').setLogic( d.TE10 & physcond).setTriggerType(TT.calo)
1024  MenuItem('L1_TE15').setLogic( d.TE15 & physcond).setTriggerType(TT.calo)
1025  MenuItem('L1_TE20').setLogic( d.TE20 & physcond).setTriggerType(TT.calo)
1026  MenuItem('L1_TE25').setLogic( d.TE25 & physcond).setTriggerType(TT.calo)
1027  MenuItem('L1_TE30').setLogic( d.TE30 & physcond).setTriggerType(TT.calo)
1028  MenuItem('L1_TE40').setLogic( d.TE40 & physcond).setTriggerType(TT.calo)
1029  MenuItem('L1_TE45').setLogic( d.TE45 & physcond).setTriggerType(TT.calo)
1030  MenuItem('L1_TE50').setLogic( d.TE50 & physcond).setTriggerType(TT.calo)
1031  MenuItem('L1_TE55').setLogic( d.TE55 & physcond).setTriggerType(TT.calo)
1032  MenuItem('L1_TE60').setLogic( d.TE60 & physcond).setTriggerType(TT.calo)
1033  MenuItem('L1_TE65').setLogic( d.TE65 & physcond).setTriggerType(TT.calo)
1034  MenuItem('L1_TE70').setLogic( d.TE70 & physcond).setTriggerType(TT.calo)
1035  MenuItem('L1_TE90').setLogic( d.TE90 & physcond).setTriggerType(TT.calo)
1036  MenuItem('L1_TE100').setLogic( d.TE100 & physcond).setTriggerType(TT.calo)
1037  MenuItem('L1_TE120').setLogic( d.TE120 & physcond).setTriggerType(TT.calo)
1038  MenuItem('L1_TE140').setLogic( d.TE140 & physcond).setTriggerType(TT.calo)
1039  MenuItem('L1_TE160').setLogic( d.TE160 & physcond).setTriggerType(TT.calo)
1040  MenuItem('L1_TE200').setLogic( d.TE200 & physcond).setTriggerType(TT.calo)
1041  MenuItem('L1_TE280').setLogic( d.TE280 & physcond).setTriggerType(TT.calo)
1042  MenuItem('L1_TE300').setLogic( d.TE300 & physcond).setTriggerType(TT.calo)
1043  MenuItem('L1_TE360').setLogic( d.TE360 & physcond).setTriggerType(TT.calo)
1044  MenuItem('L1_TE2000').setLogic( d.TE2000 & physcond).setTriggerType(TT.calo)
1045  MenuItem('L1_TE4000').setLogic( d.TE4000 & physcond).setTriggerType(TT.calo)
1046  MenuItem('L1_TE10000').setLogic( d.TE10000 & physcond).setTriggerType(TT.calo)
1047  MenuItem('L1_TE12000').setLogic( d.TE12000 & physcond).setTriggerType(TT.calo)
1048  MenuItem('L1_TE14000').setLogic( d.TE14000 & physcond).setTriggerType(TT.calo)
1049 
1050  MenuItem('L1_TE0p24ETA49' ).setLogic( d.TE024ETA49 & physcond).setTriggerType(TT.calo)
1051  MenuItem('L1_TE3p24ETA49' ).setLogic( d.TE324ETA49 & physcond).setTriggerType(TT.calo)
1052  MenuItem('L1_TE5p24ETA49' ).setLogic( d.TE524ETA49 & physcond).setTriggerType(TT.calo)
1053  MenuItem('L1_TE10p24ETA49' ).setLogic( d.TE1024ETA49 & physcond).setTriggerType(TT.calo)
1054  MenuItem('L1_TE15p24ETA49' ).setLogic( d.TE1524ETA49 & physcond).setTriggerType(TT.calo)
1055  MenuItem('L1_TE20p24ETA49' ).setLogic( d.TE2024ETA49 & physcond).setTriggerType(TT.calo)
1056  MenuItem('L1_TE25p24ETA49' ).setLogic( d.TE2524ETA49 & physcond).setTriggerType(TT.calo)
1057  MenuItem('L1_TE30p24ETA49' ).setLogic( d.TE3024ETA49 & physcond).setTriggerType(TT.calo)
1058  MenuItem('L1_TE35p24ETA49' ).setLogic( d.TE3524ETA49 & physcond).setTriggerType(TT.calo)
1059  MenuItem('L1_TE40p24ETA49' ).setLogic( d.TE4024ETA49 & physcond).setTriggerType(TT.calo)
1060  MenuItem('L1_TE45p24ETA49' ).setLogic( d.TE4524ETA49 & physcond).setTriggerType(TT.calo)
1061  MenuItem('L1_TE50p24ETA49' ).setLogic( d.TE5024ETA49 & physcond).setTriggerType(TT.calo)
1062  MenuItem('L1_TE55p24ETA49' ).setLogic( d.TE5524ETA49 & physcond).setTriggerType(TT.calo)
1063  MenuItem('L1_TE60p24ETA49' ).setLogic( d.TE6024ETA49 & physcond).setTriggerType(TT.calo)
1064  MenuItem('L1_TE65p24ETA49' ).setLogic( d.TE6524ETA49 & physcond).setTriggerType(TT.calo)
1065  MenuItem('L1_TE70p24ETA49' ).setLogic( d.TE7024ETA49 & physcond).setTriggerType(TT.calo)
1066  MenuItem('L1_TE80p24ETA49' ).setLogic( d.TE8024ETA49 & physcond).setTriggerType(TT.calo)
1067  MenuItem('L1_TE110p24ETA49' ).setLogic( d.TE11024ETA49 & physcond).setTriggerType(TT.calo)
1068  MenuItem('L1_TE150p24ETA49' ).setLogic( d.TE15024ETA49 & physcond).setTriggerType(TT.calo)
1069  MenuItem('L1_TE180p24ETA49' ).setLogic( d.TE18024ETA49 & physcond).setTriggerType(TT.calo)
1070  MenuItem('L1_TE2000p24ETA49').setLogic( d.TE200024ETA49 & physcond).setTriggerType(TT.calo)
1071  MenuItem('L1_TE5000p24ETA49').setLogic( d.TE200024ETA49 & physcond).setTriggerType(TT.calo)
1072  MenuItem('L1_TE6500p24ETA49').setLogic( d.TE200024ETA49 & physcond).setTriggerType(TT.calo)
1073  MenuItem('L1_TE8000p24ETA49').setLogic( d.TE200024ETA49 & physcond).setTriggerType(TT.calo)
1074  MenuItem('L1_TE9000p24ETA49').setLogic( d.TE200024ETA49 & physcond).setTriggerType(TT.calo)
1075 
1076  # HI items
1077  MenuItem('L1_TE3p0ETA49' ).setLogic( d.TE30ETA49 & physcond).setTriggerType(TT.calo)
1078  MenuItem('L1_TE7p0ETA49' ).setLogic( d.TE70ETA49 & physcond).setTriggerType(TT.calo)
1079  MenuItem('L1_TE500p0ETA49' ).setLogic( d.TE5000ETA49 & physcond).setTriggerType(TT.calo)
1080  MenuItem('L1_TE600p0ETA49' ).setLogic( d.TE6000ETA49 & physcond).setTriggerType(TT.calo)
1081  MenuItem('L1_TE1500p0ETA49').setLogic( d.TE15000ETA49 & physcond).setTriggerType(TT.calo)
1082  MenuItem('L1_TE3000p0ETA49').setLogic( d.TE30000ETA49 & physcond).setTriggerType(TT.calo)
1083  MenuItem('L1_TE3500p0ETA49').setLogic( d.TE35000ETA49 & physcond).setTriggerType(TT.calo)
1084  MenuItem('L1_TE5000p0ETA49').setLogic( d.TE50000ETA49 & physcond).setTriggerType(TT.calo)
1085  MenuItem('L1_TE6500p0ETA49').setLogic( d.TE65000ETA49 & physcond).setTriggerType(TT.calo)
1086  MenuItem('L1_TE8000p0ETA49').setLogic( d.TE80000ETA49 & physcond).setTriggerType(TT.calo)
1087  MenuItem('L1_TE9000p0ETA49').setLogic( d.TE90000ETA49 & physcond).setTriggerType(TT.calo)
1088 
1089  MenuItem('L1_TE500p0ETA49_OVERLAY' ).setLogic( d.TE5000ETA49 & physcond).setTriggerType(TT.zerobs)
1090  MenuItem('L1_TE600p0ETA49_OVERLAY' ).setLogic( d.TE6000ETA49 & physcond).setTriggerType(TT.zerobs)
1091  MenuItem('L1_TE1500p0ETA49_OVERLAY').setLogic( d.TE15000ETA49 & physcond).setTriggerType(TT.zerobs)
1092  MenuItem('L1_TE3000p0ETA49_OVERLAY').setLogic( d.TE30000ETA49 & physcond).setTriggerType(TT.zerobs)
1093  MenuItem('L1_TE3500p0ETA49_OVERLAY').setLogic( d.TE35000ETA49 & physcond).setTriggerType(TT.zerobs)
1094  MenuItem('L1_TE5000p0ETA49_OVERLAY').setLogic( d.TE50000ETA49 & physcond).setTriggerType(TT.zerobs)
1095  MenuItem('L1_TE6500p0ETA49_OVERLAY').setLogic( d.TE65000ETA49 & physcond).setTriggerType(TT.zerobs)
1096  MenuItem('L1_TE8000p0ETA49_OVERLAY').setLogic( d.TE80000ETA49 & physcond).setTriggerType(TT.zerobs)
1097  MenuItem('L1_TE9000p0ETA49_OVERLAY').setLogic( d.TE90000ETA49 & physcond).setTriggerType(TT.zerobs)
1098 
1099  MenuItem('L1_TE50_VTE600p0ETA49' ).setLogic( d.TE50 & Not(d.TE6000ETA49) & physcond).setTriggerType(TT.calo)
1100  MenuItem('L1_TE50_VTE600p0ETA49_PEB').setLogic( d.TE50 & Not(d.TE6000ETA49) & physcond).setTriggerType(TT.calo)
1101  MenuItem('L1_TE600p0ETA49_PEB' ).setLogic( d.TE6000ETA49 & physcond).setTriggerType(TT.calo)
1102 
1103  MenuItem('L1_VTE2' ).setLogic( Not(d.TE2) & physcond).setTriggerType(TT.calo)
1104  MenuItem('L1_VTE3' ).setLogic( Not(d.TE3) & physcond).setTriggerType(TT.calo)
1105  MenuItem('L1_VTE4' ).setLogic( Not(d.TE4) & physcond).setTriggerType(TT.calo)
1106  MenuItem('L1_VTE5' ).setLogic( Not(d.TE5) & physcond).setTriggerType(TT.calo)
1107  MenuItem('L1_VTE10').setLogic( Not(d.TE10) & physcond).setTriggerType(TT.calo)
1108  MenuItem('L1_VTE20').setLogic( Not(d.TE20) & physcond).setTriggerType(TT.calo)
1109  MenuItem('L1_VTE50').setLogic( Not(d.TE50) & physcond).setTriggerType(TT.calo)
1110 
1111  MenuItem('L1_TE5_NZ').setLogic( d.TE5 & Not(ZDC_AND) & physcond).setTriggerType(TT.calo)
1112 
1113  # MBTS
1114  MBTS_1 = d.MBTS_A | d.MBTS_C
1115  MBTS_2 = (d.MBTS_A.x(2) | d.MBTS_C.x(2) | d.MBTS_A) & (d.MBTS_A.x(2) | d.MBTS_C.x(2) | d.MBTS_C)
1116  MBTS_1_1 = d.MBTS_A & d.MBTS_C
1117  MBTS_2_2 = d.MBTS_A.x(2) & d.MBTS_C.x(2)
1118  MBTS_1_A = d.MBTS_A.x(1)
1119  MBTS_1_C = d.MBTS_C.x(1)
1120  MBTS_2_A = d.MBTS_A.x(2)
1121  MBTS_2_C = d.MBTS_C.x(2)
1122  MBTS_3_3 = d.MBTS_A.x(3) & d.MBTS_C.x(3)
1123  MBTS_4_4 = d.MBTS_A.x(4) & d.MBTS_C.x(4)
1124  MBTS_4_A = d.MBTS_A.x(4)
1125  MBTS_4_C = d.MBTS_C.x(4)
1126 
1127 
1128  MenuItem('L1_MBTS_A' ).setLogic( d.MBTS_A & physcond )
1129  MenuItem('L1_MBTS_C' ).setLogic( d.MBTS_C & physcond )
1130 
1131  MenuItem('L1_MBTS_1' ).setLogic( MBTS_1 & physcond )
1132  MenuItem('L1_MBTS_1_OVERLAY' ).setLogic( MBTS_1 & physcond ).setTriggerType(TT.zerobs)
1133  MenuItem('L1_MBTS_2' ).setLogic( MBTS_2 & physcond )
1134  MenuItem('L1_MBTS_1_1' ).setLogic( MBTS_1_1 & physcond )
1135  MenuItem('L1_MBTS_1_1_OVERLAY' ).setLogic( MBTS_1_1 & physcond ).setTriggerType(TT.zerobs)
1136  MenuItem('L1_MBTS_2_2' ).setLogic( MBTS_2_2 & physcond )
1137  MenuItem('L1_MBTS_2_A' ).setLogic( MBTS_2_A & physcond )
1138  MenuItem('L1_MBTS_2_C' ).setLogic( MBTS_2_C & physcond )
1139  MenuItem('L1_MBTS_3_3' ).setLogic( MBTS_3_3 & physcond )
1140  MenuItem('L1_MBTS_4_4' ).setLogic( MBTS_4_4 & physcond )
1141  MenuItem('L1_MBTS_4_A' ).setLogic( MBTS_4_A & physcond )
1142  MenuItem('L1_MBTS_4_C' ).setLogic( MBTS_4_C & physcond )
1143  MenuItem('L1_MBTS_1_A' ).setLogic( MBTS_1_A & physcond )
1144  MenuItem('L1_MBTS_1_C' ).setLogic( MBTS_1_C & physcond )
1145 
1146 
1147  MenuItem('L1_MBTS_1_UNPAIRED_ISO' ).setLogic( MBTS_1 & unpaired_isocond)
1148  MenuItem('L1_MBTS_2_UNPAIRED_ISO' ).setLogic( MBTS_2 & unpaired_isocond)
1149  MenuItem('L1_MBTS_1_1_UNPAIRED_ISO' ).setLogic( MBTS_1_1 & unpaired_isocond)
1150  MenuItem('L1_MBTS_2_2_UNPAIRED_ISO' ).setLogic( MBTS_2_2 & unpaired_isocond)
1151  MenuItem('L1_MBTS_3_3_UNPAIRED_ISO' ).setLogic( MBTS_3_3 & unpaired_isocond)
1152  MenuItem('L1_MBTS_4_4_UNPAIRED_ISO' ).setLogic( MBTS_3_3 & unpaired_isocond)
1153  MenuItem('L1_MBTS_1_UNPAIRED_NONISO').setLogic( MBTS_1 & unpaired_nonisocond)
1154  MenuItem('L1_MBTS_2_UNPAIRED_NONISO').setLogic( MBTS_2 & unpaired_nonisocond)
1155  MenuItem('L1_MBTS_4_A_UNPAIRED_ISO' ).setLogic( MBTS_4_A & unpaired_isocond )
1156  MenuItem('L1_MBTS_4_C_UNPAIRED_ISO' ).setLogic( MBTS_4_C & unpaired_isocond )
1157 
1158  MenuItem('L1_MBTS_1_A_EMPTY' ).setLogic( MBTS_1_A & cosmiccond )
1159  MenuItem('L1_MBTS_1_C_EMPTY' ).setLogic( MBTS_1_C & cosmiccond )
1160  MenuItem('L1_MBTS_1_EMPTY' ).setLogic( MBTS_1 & cosmiccond )
1161  MenuItem('L1_MBTS_2_EMPTY' ).setLogic( MBTS_2 & cosmiccond )
1162  MenuItem('L1_MBTS_1_1_EMPTY' ).setLogic( MBTS_1_1 & cosmiccond )
1163  MenuItem('L1_MBTS_2_2_EMPTY' ).setLogic( MBTS_2_2 & cosmiccond )
1164  MenuItem('L1_MBTS_3_3_EMPTY' ).setLogic( MBTS_3_3 & cosmiccond )
1165 
1166  MenuItem('L1_MBTS_1_1_VTE50' ).setLogic( MBTS_1_1 & Not(d.TE50) & physcond)
1167  MenuItem('L1_MBTS_2_2_VTE50' ).setLogic( MBTS_2_2 & Not(d.TE50) & physcond)
1168 
1169  MenuItem('L1_MBTS_1_VTE2' ).setLogic( MBTS_1 & Not(d.TE2) & physcond)
1170  MenuItem('L1_MBTS_1_VTE3' ).setLogic( MBTS_1 & Not(d.TE3) & physcond)
1171  MenuItem('L1_MBTS_1_VTE4' ).setLogic( MBTS_1 & Not(d.TE4) & physcond)
1172  MenuItem('L1_MBTS_1_VTE5' ).setLogic( MBTS_1 & Not(d.TE5) & physcond)
1173  MenuItem('L1_MBTS_1_VTE10' ).setLogic( MBTS_1 & Not(d.TE10) & physcond)
1174  MenuItem('L1_MBTS_1_VTE70' ).setLogic( MBTS_1 & Not(d.TE70) & physcond)
1175  MenuItem('L1_MBTS_1_VTE50' ).setLogic( MBTS_1 & Not(d.TE50) & physcond)
1176  MenuItem('L1_MBTS_1_VTE200' ).setLogic( MBTS_1 & Not(d.TE200) & physcond)
1177  # phase-1
1178  MenuItem('L1_MBTS_1_VjTE200' ).setLogic( MBTS_1 & Not(d.jTE200) & physcond)
1179  MenuItem('L1_MBTS_1_VjTE200_GAP_A' ).setLogic( MBTS_1 & Not(d.jTE200) & GAPA & physcond)
1180  MenuItem('L1_MBTS_1_VjTE200_GAP_C' ).setLogic( MBTS_1 & Not(d.jTE200) & GAPC & physcond)
1181 
1182  MenuItem('L1_MBTS_2_VTE2' ).setLogic( MBTS_2 & Not(d.TE2) & physcond)
1183  MenuItem('L1_MBTS_2_VTE3' ).setLogic( MBTS_2 & Not(d.TE3) & physcond)
1184  MenuItem('L1_MBTS_2_VTE4' ).setLogic( MBTS_2 & Not(d.TE4) & physcond)
1185  MenuItem('L1_MBTS_2_VTE5' ).setLogic( MBTS_2 & Not(d.TE5) & physcond)
1186  MenuItem('L1_MBTS_2_VTE10' ).setLogic( MBTS_2 & Not(d.TE10) & physcond)
1187 
1188  MenuItem('L1_MBTSA0' ).setLogic( d.MBTS_A0 & physcond)
1189  MenuItem('L1_MBTSA1' ).setLogic( d.MBTS_A1 & physcond)
1190  MenuItem('L1_MBTSA2' ).setLogic( d.MBTS_A2 & physcond)
1191  MenuItem('L1_MBTSA3' ).setLogic( d.MBTS_A3 & physcond)
1192  MenuItem('L1_MBTSA4' ).setLogic( d.MBTS_A4 & physcond)
1193  MenuItem('L1_MBTSA5' ).setLogic( d.MBTS_A5 & physcond)
1194  MenuItem('L1_MBTSA6' ).setLogic( d.MBTS_A6 & physcond)
1195  MenuItem('L1_MBTSA7' ).setLogic( d.MBTS_A7 & physcond)
1196  MenuItem('L1_MBTSA8' ).setLogic( d.MBTS_A8 & physcond)
1197  MenuItem('L1_MBTSA10').setLogic( d.MBTS_A10 & physcond)
1198  MenuItem('L1_MBTSA12').setLogic( d.MBTS_A12 & physcond)
1199  MenuItem('L1_MBTSA14').setLogic( d.MBTS_A14 & physcond)
1200 
1201  MenuItem('L1_MBTSA9' ).setLogic( d.MBTS_A9 & physcond)
1202  MenuItem('L1_MBTSA11').setLogic( d.MBTS_A11 & physcond)
1203  MenuItem('L1_MBTSA13').setLogic( d.MBTS_A13 & physcond)
1204  MenuItem('L1_MBTSA15').setLogic( d.MBTS_A15 & physcond)
1205 
1206  MenuItem('L1_MBTSC0' ).setLogic( d.MBTS_C0 & physcond)
1207  MenuItem('L1_MBTSC1' ).setLogic( d.MBTS_C1 & physcond)
1208  MenuItem('L1_MBTSC2' ).setLogic( d.MBTS_C2 & physcond)
1209  MenuItem('L1_MBTSC3' ).setLogic( d.MBTS_C3 & physcond)
1210  MenuItem('L1_MBTSC4' ).setLogic( d.MBTS_C4 & physcond)
1211  MenuItem('L1_MBTSC5' ).setLogic( d.MBTS_C5 & physcond)
1212  MenuItem('L1_MBTSC6' ).setLogic( d.MBTS_C6 & physcond)
1213  MenuItem('L1_MBTSC7' ).setLogic( d.MBTS_C7 & physcond)
1214  MenuItem('L1_MBTSC8' ).setLogic( d.MBTS_C8 & physcond)
1215  MenuItem('L1_MBTSC10').setLogic( d.MBTS_C10 & physcond)
1216  MenuItem('L1_MBTSC12').setLogic( d.MBTS_C12 & physcond)
1217  MenuItem('L1_MBTSC14').setLogic( d.MBTS_C14 & physcond)
1218 
1219  MenuItem('L1_MBTSC9' ).setLogic( d.MBTS_C9 & physcond)
1220  MenuItem('L1_MBTSC11').setLogic( d.MBTS_C11 & physcond)
1221  MenuItem('L1_MBTSC13').setLogic( d.MBTS_C13 & physcond)
1222  MenuItem('L1_MBTSC15').setLogic( d.MBTS_C15 & physcond)
1223 
1224  MenuItem('L1_MBTS_1_BGRP9' ).setLogic( MBTS_1 & bgrp9cond )
1225  MenuItem('L1_MBTS_1_1_BGRP9' ).setLogic( MBTS_1_1 & bgrp9cond )
1226  MenuItem('L1_MBTS_2_BGRP9' ).setLogic( MBTS_2 & bgrp9cond )
1227 
1228  MenuItem('L1_MBTS_1_BGRP11' ).setLogic( MBTS_1 & bgrp11cond )
1229  MenuItem('L1_MBTS_1_1_BGRP11').setLogic( MBTS_1_1 & bgrp11cond)
1230  MenuItem('L1_MBTS_2_BGRP11' ).setLogic( MBTS_2 & bgrp11cond )
1231 
1232 
1233  # ZDC
1234 
1235  MenuItem('L1_ZDC' ).setLogic( (ZDC_A | ZDC_C) & physcond)
1236  MenuItem('L1_ZDC_A' ).setLogic( ZDC_A & physcond)
1237  MenuItem('L1_ZDC_C' ).setLogic( ZDC_C & physcond)
1238  MenuItem('L1_ZDC_AND' ).setLogic( ZDC_AND & physcond)
1239  MenuItem('L1_ZDC_A_C' ).setLogic( ZDC_A_C & physcond)
1240 
1241  MenuItem('L1_ZDC_A_C_OVERLAY' ).setLogic( ZDC_A_C & physcond).setTriggerType(TT.zerobs)
1242  MenuItem('L1_ZDC_A_OVERLAY' ).setLogic( ZDC_A & physcond).setTriggerType(TT.zerobs)
1243  MenuItem('L1_ZDC_C_OVERLAY' ).setLogic( ZDC_C & physcond).setTriggerType(TT.zerobs)
1244  MenuItem('L1_ZDC_A_C_VTE50_OVERLAY').setLogic( ZDC_A_C & Not(d.TE50) & physcond).setTriggerType(TT.zerobs)
1245  MenuItem('L1_TE5_OVERLAY' ).setLogic( d.TE5 & physcond).setTriggerType(TT.zerobs)
1246  MenuItem('L1_TE10_OVERLAY' ).setLogic( d.TE10 & physcond).setTriggerType(TT.zerobs)
1247  MenuItem('L1_TE20_OVERLAY' ).setLogic( d.TE20 & physcond).setTriggerType(TT.zerobs)
1248  MenuItem('L1_TE50_OVERLAY' ).setLogic( d.TE50 & physcond).setTriggerType(TT.zerobs)
1249  MenuItem('L1_MBTS_1_VTE50_OVERLAY' ).setLogic( MBTS_1 & Not(d.TE50) & physcond).setTriggerType(TT.zerobs)
1250 
1251  MenuItem('L1_ZDC_VTE200' ).setLogic((ZDC_A | ZDC_C) & Not(d.TE200) & physcond)
1252  MenuItem('L1_ZDC_AND_VTE50' ).setLogic( ZDC_AND & Not(d.TE50) & physcond)
1253  MenuItem('L1_ZDC_A_C_VTE50' ).setLogic( ZDC_A_C & Not(d.TE50) & physcond)
1254  MenuItem('L1_ZDC_A_C_TE50' ).setLogic( ZDC_A_C & d.TE50 & physcond)
1255 
1256  MenuItem('L1_ZDC_A_C_VTE50_PEB').setLogic( ZDC_A_C & Not(d.TE50) & physcond)
1257 
1258  MenuItem('L1_ZDC_A_VTE20' ).setLogic( ZDC_A & Not(d.TE20) & physcond)
1259  MenuItem('L1_ZDC_A_VTE200' ).setLogic( ZDC_A & Not(d.TE200) & physcond)
1260  MenuItem('L1_ZDC_C_VTE20' ).setLogic( ZDC_C & Not(d.TE20) & physcond)
1261  MenuItem('L1_ZDC_C_VTE200' ).setLogic( ZDC_C & Not(d.TE200) & physcond)
1262  MenuItem('L1_TRT_ZDC_A_VTE50' ).setLogic( d.NIMTRT & ZDC_A & Not(d.TE50) & physcond)
1263  MenuItem('L1_TRT_ZDC_C_VTE50' ).setLogic( d.NIMTRT & ZDC_C & Not(d.TE50) & physcond)
1264 
1265  MenuItem('L1_ZDC_A_C_VTE200' ).setLogic( ZDC_A_C & Not(d.TE200) & physcond)
1266  MenuItem('L1_ZDC_A_C_TE5_VTE200').setLogic( ZDC_A_C & d.TE5 & Not(d.TE200) & physcond)
1267 
1268  MenuItem('L1_VZDC_A_C_VTE50' ).setLogic( VZDC_A_C & Not(d.TE50) & physcond)
1269  MenuItem('L1_VZDC_A_C_TE5_VTE200' ).setLogic( VZDC_A_C & d.TE5 & Not(d.TE200) & physcond)
1270  MenuItem('L1_VZDC_A_C_TE20_VTE200').setLogic( VZDC_A_C & d.TE20 & Not(d.TE200) & physcond)
1271  MenuItem('L1_VZDC_AORC_TE5_VTE200').setLogic( VZDC_AORC & d.TE5 & Not(d.TE200) & physcond)
1272  MenuItem('L1_TE20_ZDC_A_VZDC_C_VTE200').setLogic( ZDC_A & Not(ZDC_C) & d.TE20 & Not(d.TE200) & physcond)
1273  MenuItem('L1_TE20_ZDC_C_VZDC_A_VTE200').setLogic( ZDC_C & Not(ZDC_A) & d.TE20 & Not(d.TE200) & physcond)
1274 
1275  MenuItem('L1_ZDC_MBTS_1' ).setLogic((ZDC_A | ZDC_C) & MBTS_1 & physcond)
1276  MenuItem('L1_ZDC_MBTS_2' ).setLogic((ZDC_A | ZDC_C) & MBTS_2 & physcond)
1277 
1278  MenuItem('L1_ZDC_MBTS_1_1' ).setLogic((ZDC_A | ZDC_C) & MBTS_1_1 & physcond)
1279  MenuItem('L1_ZDC_MBTS_2_2' ).setLogic((ZDC_A | ZDC_C) & MBTS_2_2 & physcond)
1280 
1281  MenuItem('L1_ZDC_EMPTY' ).setLogic( (ZDC_A | ZDC_C) & cosmiccond )
1282  MenuItem('L1_ZDC_A_EMPTY' ).setLogic( ZDC_A & cosmiccond )
1283  MenuItem('L1_ZDC_C_EMPTY' ).setLogic( ZDC_C & cosmiccond )
1284  MenuItem('L1_ZDC_UNPAIRED_ISO' ).setLogic( (ZDC_A | ZDC_C) & unpaired_isocond )
1285  MenuItem('L1_ZDC_UNPAIRED_NONISO' ).setLogic( (ZDC_A | ZDC_C) & unpaired_nonisocond )
1286 
1287  MenuItem('L1_ZDC_AND_EMPTY' ).setLogic( ZDC_AND & cosmiccond )
1288  MenuItem('L1_ZDC_AND_UNPAIRED_ISO' ).setLogic( ZDC_AND & unpaired_isocond )
1289  MenuItem('L1_ZDC_AND_UNPAIRED_NONISO' ).setLogic( ZDC_AND & unpaired_nonisocond )
1290  MenuItem('L1_ZDC_A_UNPAIRED_NONISO' ).setLogic( ZDC_A & unpaired_nonisocond )
1291  MenuItem('L1_ZDC_C_UNPAIRED_NONISO' ).setLogic( ZDC_C & unpaired_nonisocond )
1292 
1293  MenuItem('L1_ZDC_A_C_EMPTY' ).setLogic( ZDC_A_C & cosmiccond )
1294  MenuItem('L1_ZDC_A_C_UNPAIRED_ISO' ).setLogic( ZDC_A_C & unpaired_isocond )
1295  MenuItem('L1_ZDC_A_C_UNPAIRED_NONISO' ).setLogic( ZDC_A_C & unpaired_nonisocond )
1296  MenuItem('L1_ZDC_A_UNPAIRED_ISO' ).setLogic( ZDC_A & unpaired_isocond )
1297  MenuItem('L1_ZDC_C_UNPAIRED_ISO' ).setLogic( ZDC_C & unpaired_isocond )
1298 
1299  MenuItem('L1_ZDC_A_C_BGRP9' ).setLogic( ZDC_A_C & bgrp9cond & physcond)
1300  MenuItem('L1_ZDC_A_BGRP9' ).setLogic( ZDC_A & bgrp9cond & physcond)
1301  MenuItem('L1_ZDC_C_BGRP9' ).setLogic( ZDC_C & bgrp9cond & physcond)
1302  MenuItem('L1_ZDC_A_C_BGRP11' ).setLogic( ZDC_A_C & bgrp11cond & physcond)
1303 
1304 # ATR-12470
1305  MenuItem('L1_ZDC_A_VZDC_C' ).setLogic(PHYS_ZDC_A_VZDC_C & physcond)
1306  MenuItem('L1_ZDC_C_VZDC_A' ).setLogic(PHYS_VZDC_A_ZDC_C & physcond)
1307  MenuItem('L1_ZDC_C_VZDC_A_VTE200' ).setLogic(PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1308  MenuItem('L1_MBTS_1_ZDC_A_VZDC_C_VTE200' ).setLogic(MBTS_1 & PHYS_ZDC_A_VZDC_C & Not(d.TE200) & physcond)
1309  MenuItem('L1_MBTS_1_ZDC_C_VZDC_A_VTE200' ).setLogic(MBTS_1 & PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1310  MenuItem('L1_TE3p0ETA49_ZDC_A_VZDC_C_VTE200').setLogic(d.TE30ETA49 & PHYS_ZDC_A_VZDC_C & Not(d.TE200) & physcond)
1311  MenuItem('L1_TE3p0ETA49_ZDC_C_VZDC_A_VTE200').setLogic(d.TE30ETA49 & PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1312  MenuItem('L1_TE4_ZDC_A_VZDC_C_VTE200' ).setLogic(d.TE4 & PHYS_ZDC_A_VZDC_C & Not(d.TE200) & physcond)
1313  MenuItem('L1_TE4_ZDC_C_VZDC_A_VTE200' ).setLogic(d.TE4 & PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1314  MenuItem('L1_TE5_ZDC_A_VZDC_C_VTE200' ).setLogic(d.TE5 & PHYS_ZDC_A_VZDC_C & Not(d.TE200) & physcond)
1315  MenuItem('L1_TE5_ZDC_C_VZDC_A_VTE200' ).setLogic(d.TE5 & PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1316  MenuItem('L1_TE7p0ETA49_ZDC_A_VZDC_C_VTE200').setLogic(d.TE70ETA49 & PHYS_ZDC_A_VZDC_C & Not(d.TE200) & physcond)
1317  MenuItem('L1_TE7p0ETA49_ZDC_C_VZDC_A_VTE200').setLogic(d.TE70ETA49 & PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1318 
1319 
1320  MenuItem('L1_ZDC_XOR' ).setLogic(ZDC_XOR & physcond)
1321  MenuItem('L1_ZDC_XOR_TE3p0ETA49_VTE200').setLogic(ZDC_XOR & d.TE30ETA49 & Not(d.TE200) & physcond)
1322  MenuItem('L1_ZDC_XOR_TE4_VTE200' ).setLogic(ZDC_XOR & d.TE4 & Not(d.TE200) & physcond)
1323  MenuItem('L1_ZDC_XOR_TE5_VTE200' ).setLogic(ZDC_XOR & d.TE5 & Not(d.TE200) & physcond)
1324  MenuItem('L1_ZDC_XOR_TE20_VTE200' ).setLogic(ZDC_XOR & d.TE20 & Not(d.TE200) & physcond)
1325  MenuItem('L1_ZDC_XOR_TRT_VTE200' ).setLogic(ZDC_XOR & d.NIMTRT & Not(d.TE200) & physcond)
1326  MenuItem('L1_ZDC_XOR_VTE50' ).setLogic(ZDC_XOR & Not(d.TE50) & physcond)
1327  MenuItem('L1_ZDC_XOR_VTE200' ).setLogic(ZDC_XOR & Not(d.TE200) & physcond)
1328  MenuItem('L1_ZDC_XOR_VTE200_MBTS_1' ).setLogic(ZDC_XOR & Not(d.TE200) & MBTS_1 & physcond)
1329 
1330 
1331  # ATR-26051
1332  # ZDC for 2022 LHCf+ZDC special run, item names are set to be different from ZDC items for heavy ion runs
1333  MenuItem('L1_ZDC_OR' ).setLogic( ZDC_OR & physcond)
1334  MenuItem('L1_ZDC_XOR_E2' ).setLogic( ZDC_XOR_E2 & physcond)
1335  MenuItem('L1_ZDC_XOR_E1_E3' ).setLogic( ZDC_XOR_E1_E3 & physcond)
1336  MenuItem('L1_ZDC_E1_AND_E1' ).setLogic( ZDC_E1_AND_E1 & physcond)
1337  MenuItem('L1_ZDC_E1_AND_E2ORE3').setLogic( ZDC_E1_AND_E2ORE3 & physcond)
1338  MenuItem('L1_ZDC_E2_AND_E2' ).setLogic( ZDC_E2_AND_E2 & physcond)
1339  MenuItem('L1_ZDC_E2_AND_E3' ).setLogic( ZDC_E2_AND_E3 & physcond)
1340  MenuItem('L1_ZDC_E3_AND_E3' ).setLogic( ZDC_E3_AND_E3 & physcond)
1341  MenuItem('L1_ZDC_A_AND_C' ).setLogic( ZDC_A_AND_C & physcond)
1342  MenuItem('L1_ZDC_A_AND_C_EMPTY' ).setLogic( ZDC_A_AND_C & cosmiccond)
1343  MenuItem('L1_ZDC_A_AND_C_UNPAIRED_NONISO' ).setLogic( ZDC_A_AND_C & unpaired_nonisocond)
1344  MenuItem('L1_ZDC_OR_EMPTY' ).setLogic( ZDC_OR & cosmiccond)
1345  MenuItem('L1_ZDC_OR_UNPAIRED_ISO' ).setLogic( ZDC_OR & unpaired_isocond)
1346  MenuItem('L1_ZDC_OR_UNPAIRED_NONISO').setLogic( ZDC_OR & unpaired_nonisocond)
1347  # individual ZDC bits
1348  MenuItem('L1_ZDC_BIT2').setLogic( d.ZDC_2 & physcond)
1349  MenuItem('L1_ZDC_BIT1').setLogic( d.ZDC_1 & physcond)
1350  MenuItem('L1_ZDC_BIT0').setLogic( d.ZDC_0 & physcond)
1351  # individual ZDC comb
1352  MenuItem('L1_ZDC_COMB0').setLogic( ZDC_comb0 & physcond)
1353  MenuItem('L1_ZDC_COMB1').setLogic( ZDC_comb1 & physcond)
1354  MenuItem('L1_ZDC_COMB2').setLogic( ZDC_comb2 & physcond)
1355  MenuItem('L1_ZDC_COMB3').setLogic( ZDC_comb3 & physcond)
1356  MenuItem('L1_ZDC_COMB4').setLogic( ZDC_comb4 & physcond)
1357  MenuItem('L1_ZDC_COMB5').setLogic( ZDC_comb5 & physcond)
1358  MenuItem('L1_ZDC_COMB6').setLogic( ZDC_comb6 & physcond)
1359  MenuItem('L1_ZDC_COMB7').setLogic( ZDC_comb7 & physcond)
1360  # ZDC calibration for LHCf+ZDC runs
1361  MenuItem('L1_ZDC_OR_LHCF').setLogic( (Not(ZDC_comb0) | d.NIMLHCF) & physcond)
1362 
1363  # ZDC for 2023 heavy ion runs
1364  MenuItem('L1_VZDC_A_VZDC_C' ).setLogic( PHYS_VZDC_A_VZDC_C & physcond)
1365  MenuItem('L1_1ZDC_A_VZDC_C' ).setLogic( PHYS_1TO4ZDC_A_VZDC_C & physcond)
1366  MenuItem('L1_VZDC_A_1ZDC_C' ).setLogic( PHYS_VZDC_A_1TO4ZDC_C & physcond)
1367  MenuItem('L1_1ZDC_A_1ZDC_C').setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & physcond)
1368  MenuItem('L1_5ZDC_A_VZDC_C' ).setLogic( PHYS_5ZDC_A_VZDC_C & physcond)
1369  MenuItem('L1_VZDC_A_5ZDC_C' ).setLogic( PHYS_VZDC_A_5ZDC_C & physcond)
1370  MenuItem('L1_ZDC_1XOR5' ).setLogic( PHYS_ZDC_1TO4XOR5 & physcond)
1371  MenuItem('L1_5ZDC_A_5ZDC_C' ).setLogic( PHYS_5ZDC_A_5ZDC_C & physcond)
1372 
1373  MenuItem('L1_1ZDC_A_1ZDC_C_VTE200').setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.TE200) & physcond)
1374  MenuItem('L1_1ZDC_A_1ZDC_C_VjTE200').setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & physcond)
1375  MenuItem('L1_1ZDC_A_1ZDC_C_VjTE200_GAP_AANDC').setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & GAPAC & physcond)
1376  MenuItem('L1_ZDC_1XOR5_VTE200').setLogic( PHYS_ZDC_1TO4XOR5 & Not(d.TE200) & physcond)
1377  MenuItem('L1_ZDC_1XOR5_VjTE200').setLogic( PHYS_ZDC_1TO4XOR5 & Not(d.jTE200) & physcond)
1378  MenuItem('L1_ZDC_XOR_VjTE200' ).setLogic(ZDC_XOR & Not(d.jTE200) & physcond)
1379  MenuItem('L1_MBTS_1_VZDC_A_ZDC_C_VTE200' ).setLogic( MBTS_1 & PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1380  MenuItem('L1_MBTS_1_VZDC_A_ZDC_C_VjTE200' ).setLogic( MBTS_1 & PHYS_VZDC_A_ZDC_C & Not(d.jTE200) & physcond)
1381  MenuItem('L1_MBTS_1_VZDC_A_ZDC_C_VjTE200_GAP_A' ).setLogic( MBTS_1 & PHYS_VZDC_A_ZDC_C & Not(d.jTE200) & GAPA & physcond)
1382  MenuItem('L1_MBTS_1_1ZDC_A_1ZDC_C_VTE200' ).setLogic( MBTS_1 & PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.TE200) & physcond)
1383  MenuItem('L1_MBTS_1_1ZDC_A_1ZDC_C_VjTE200' ).setLogic( MBTS_1 & PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & physcond)
1384  MenuItem('L1_MBTS_1_1ZDC_A_1ZDC_C_VjTE200_GAP_A' ).setLogic( MBTS_1 & PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & GAPA & physcond)
1385  MenuItem('L1_MBTS_1_ZDC_1XOR5_VTE200' ).setLogic( MBTS_1 & PHYS_ZDC_1TO4XOR5 & Not(d.TE200) & physcond)
1386  MenuItem('L1_MBTS_1_ZDC_1XOR5_VjTE200' ).setLogic( MBTS_1 & PHYS_ZDC_1TO4XOR5 & Not(d.jTE200) & physcond)
1387  MenuItem('L1_MBTS_1_ZDC_1XOR5_VjTE200_GAP_A' ).setLogic( MBTS_1 & PHYS_ZDC_1TO4XOR5 & Not(d.jTE200) & GAPA & physcond)
1388  MenuItem('L1_MBTS_1_ZDC_A_VZDC_C_VjTE200' ).setLogic( MBTS_1 & PHYS_ZDC_A_VZDC_C & Not(d.jTE200) & physcond)
1389  MenuItem('L1_MBTS_1_ZDC_A_VZDC_C_VjTE200_GAP_C' ).setLogic( MBTS_1 & PHYS_ZDC_A_VZDC_C & Not(d.jTE200) & GAPC & physcond)
1390  MenuItem('L1_MBTS_1_1ZDC_A_1ZDC_C_VjTE200_GAP_C' ).setLogic( MBTS_1 & PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & GAPC & physcond)
1391  MenuItem('L1_MBTS_1_ZDC_1XOR5_VjTE200_GAP_C' ).setLogic( MBTS_1 & PHYS_ZDC_1TO4XOR5 & Not(d.jTE200) & GAPC & physcond)
1392 
1393  MenuItem('L1_VZDC_A_ZDC_C_TE3_VTE200' ).setLogic( PHYS_VZDC_A_ZDC_C & d.TE3 & Not(d.TE200) & physcond)
1394  MenuItem('L1_VZDC_A_ZDC_C_jTE3_VjTE200' ).setLogic( PHYS_VZDC_A_ZDC_C &d.jTE3 & Not(d.jTE200) & physcond)
1395  MenuItem('L1_VZDC_A_ZDC_C_jTE3_VjTE200_GAP_A' ).setLogic( PHYS_VZDC_A_ZDC_C &d.jTE3 & Not(d.jTE200) & GAPA & physcond)
1396  MenuItem('L1_1ZDC_A_1ZDC_C_TE3_VTE200' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & d.TE3 & Not(d.TE200) & physcond)
1397  MenuItem('L1_1ZDC_A_1ZDC_C_jTE3_VjTE200' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & d.jTE3 & Not(d.jTE200) & physcond)
1398  MenuItem('L1_1ZDC_A_1ZDC_C_jTE3_VjTE200_GAP_A' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & d.jTE3 & Not(d.jTE200) & GAPA & physcond)
1399  MenuItem('L1_ZDC_1XOR5_TE3_VTE200' ).setLogic( PHYS_ZDC_1TO4XOR5 & d.TE3 & Not(d.TE200) & physcond)
1400  MenuItem('L1_ZDC_1XOR5_jTE3_VjTE200' ).setLogic( PHYS_ZDC_1TO4XOR5 & d.jTE3 & Not(d.jTE200) & physcond)
1401  MenuItem('L1_ZDC_1XOR5_jTE3_VjTE200_GAP_A' ).setLogic( PHYS_ZDC_1TO4XOR5 & d.jTE3 & Not(d.jTE200) & GAPA & physcond)
1402  MenuItem('L1_ZDC_A_VZDC_C_TE3_VTE200' ).setLogic( PHYS_ZDC_A_VZDC_C & d.TE3 & Not(d.TE200) & physcond)
1403  MenuItem('L1_ZDC_A_VZDC_C_jTE3_VjTE200' ).setLogic( PHYS_ZDC_A_VZDC_C & d.jTE3 & Not(d.jTE200) & physcond)
1404  MenuItem('L1_ZDC_A_VZDC_C_jTE3_VjTE200_GAP_C' ).setLogic( PHYS_ZDC_A_VZDC_C & d.jTE3 & Not(d.jTE200) & GAPC & physcond)
1405  MenuItem('L1_1ZDC_A_1ZDC_C_jTE3_VjTE200_GAP_C' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & d.jTE3 & Not(d.jTE200) & GAPC & physcond)
1406  MenuItem('L1_ZDC_1XOR5_jTE3_VjTE200_GAP_C' ).setLogic( PHYS_ZDC_1TO4XOR5 & d.jTE3 & Not(d.jTE200) & GAPC & physcond)
1407 
1408  MenuItem('L1_VZDC_A_ZDC_C_TE5_VTE200' ).setLogic( PHYS_VZDC_A_ZDC_C & d.TE5 & Not(d.TE200) & physcond)
1409  MenuItem('L1_VZDC_A_ZDC_C_jTE5_VjTE200' ).setLogic( PHYS_VZDC_A_ZDC_C &d.jTE5 & Not(d.jTE200) & physcond)
1410  MenuItem('L1_VZDC_A_ZDC_C_jTE5_VjTE200_GAP_A' ).setLogic( PHYS_VZDC_A_ZDC_C &d.jTE5 & Not(d.jTE200) & GAPA & physcond)
1411  MenuItem('L1_1ZDC_A_1ZDC_C_TE5_VTE200' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & d.TE5 & Not(d.TE200) & physcond)
1412  MenuItem('L1_1ZDC_A_1ZDC_C_jTE5_VjTE200' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & d.jTE5 & Not(d.jTE200) & physcond)
1413  MenuItem('L1_1ZDC_A_1ZDC_C_jTE5_VjTE200_GAP_A' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & d.jTE5 & Not(d.jTE200) & GAPA & physcond)
1414  MenuItem('L1_ZDC_1XOR5_TE5_VTE200' ).setLogic( PHYS_ZDC_1TO4XOR5 & d.TE5 & Not(d.TE200) & physcond)
1415  MenuItem('L1_ZDC_1XOR5_jTE5_VjTE200' ).setLogic( PHYS_ZDC_1TO4XOR5 & d.jTE5 & Not(d.jTE200) & physcond)
1416  MenuItem('L1_ZDC_1XOR5_jTE5_VjTE200_GAP_A' ).setLogic( PHYS_ZDC_1TO4XOR5 & d.jTE5 & Not(d.jTE200) & GAPA & physcond)
1417  MenuItem('L1_ZDC_A_VZDC_C_TE5_VTE200' ).setLogic( PHYS_ZDC_A_VZDC_C & d.TE5 & Not(d.TE200) & physcond)
1418  MenuItem('L1_ZDC_A_VZDC_C_jTE5_VjTE200' ).setLogic( PHYS_ZDC_A_VZDC_C & d.jTE5 & Not(d.jTE200) & physcond)
1419  MenuItem('L1_ZDC_A_VZDC_C_jTE5_VjTE200_GAP_C' ).setLogic( PHYS_ZDC_A_VZDC_C & d.jTE5 & Not(d.jTE200) & GAPC & physcond)
1420  MenuItem('L1_1ZDC_A_1ZDC_C_jTE5_VjTE200_GAP_C' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & d.jTE5 & Not(d.jTE200) & GAPC & physcond)
1421  MenuItem('L1_ZDC_1XOR5_jTE5_VjTE200_GAP_C' ).setLogic( PHYS_ZDC_1TO4XOR5 & d.jTE5 & Not(d.jTE200) & GAPC & physcond)
1422 
1423  MenuItem('L1_MBTS_1_ZDC_XOR_VTE200' ).setLogic( MBTS_1 & ZDC_XOR & Not(d.TE200) & physcond)
1424  MenuItem('L1_MBTS_1_ZDC_XOR_VjTE200' ).setLogic( MBTS_1 & ZDC_XOR & Not(d.jTE200) & physcond)
1425  MenuItem('L1_ZDC_XOR_TE3_VTE200' ).setLogic( ZDC_XOR & d.TE3 & Not(d.TE200) & physcond)
1426  MenuItem('L1_ZDC_XOR_jTE3_VjTE200' ).setLogic( ZDC_XOR & d.jTE3 & Not(d.jTE200) & physcond)
1427 
1428  MenuItem('L1_VZDC_A_ZDC_C_VTE200' ).setLogic( PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1429  MenuItem('L1_VZDC_A_ZDC_C_VjTE200' ).setLogic( PHYS_VZDC_A_ZDC_C & Not(d.jTE200) & physcond)
1430  MenuItem('L1_VZDC_A_ZDC_C_VjTE200_GAP_A' ).setLogic( PHYS_VZDC_A_ZDC_C & Not(d.jTE200) & GAPA & physcond)
1431  MenuItem('L1_1ZDC_A_1ZDC_C_VjTE200_GAP_A' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & GAPA & physcond)
1432  MenuItem('L1_1ZDC_A_1ZDC_C_VjTE200_GAP_C' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & GAPC & physcond)
1433  MenuItem('L1_ZDC_1XOR5_VjTE200_GAP_A' ).setLogic( PHYS_ZDC_1TO4XOR5 & Not(d.jTE200) & GAPA & physcond)
1434  MenuItem('L1_ZDC_1XOR5_VjTE200_GAP_C' ).setLogic( PHYS_ZDC_1TO4XOR5 & Not(d.jTE200) & GAPC & physcond)
1435  MenuItem('L1_ZDC_A_VZDC_C_VTE200' ).setLogic( PHYS_ZDC_A_VZDC_C & Not(d.TE200) & physcond)
1436  MenuItem('L1_ZDC_A_VZDC_C_VjTE200' ).setLogic( PHYS_ZDC_A_VZDC_C & Not(d.jTE200) & physcond)
1437  MenuItem('L1_ZDC_A_VZDC_C_VjTE200_GAP_C' ).setLogic( PHYS_ZDC_A_VZDC_C & Not(d.jTE200) & GAPC & physcond)
1438 
1439  MenuItem('L1_MBTS_2_VZDC_A_ZDC_C_VTE200' ).setLogic( MBTS_2 & PHYS_VZDC_A_ZDC_C & Not(d.TE200) & physcond)
1440  MenuItem('L1_MBTS_2_VZDC_A_ZDC_C_VjTE200_GAP_A' ).setLogic( MBTS_2 & PHYS_VZDC_A_ZDC_C & Not(d.jTE200) & GAPA & physcond)
1441  MenuItem('L1_MBTS_2_1ZDC_A_1ZDC_C_VTE200' ).setLogic( MBTS_2 & PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.TE200) & physcond)
1442  MenuItem('L1_MBTS_2_1ZDC_A_1ZDC_C_VjTE200_GAP_A' ).setLogic( MBTS_2 & PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & GAPA & physcond)
1443  MenuItem('L1_MBTS_2_ZDC_1XOR5_VTE200' ).setLogic( MBTS_2 & PHYS_ZDC_1TO4XOR5 & Not(d.TE200) & physcond)
1444  MenuItem('L1_MBTS_2_ZDC_1XOR5_VjTE200_GAP_A' ).setLogic( MBTS_2 & PHYS_ZDC_1TO4XOR5 & Not(d.jTE200) & GAPA & physcond)
1445  MenuItem('L1_MBTS_2_ZDC_A_VZDC_C_VTE200' ).setLogic( MBTS_2 & PHYS_ZDC_A_VZDC_C & Not(d.TE200) & physcond)
1446  MenuItem('L1_MBTS_2_ZDC_A_VZDC_C_VjTE200_GAP_C' ).setLogic( MBTS_2 & PHYS_ZDC_A_VZDC_C & Not(d.jTE200) & GAPC & physcond)
1447  MenuItem('L1_MBTS_2_1ZDC_A_1ZDC_C_VjTE200_GAP_C' ).setLogic( MBTS_2 & PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE200) & GAPC & physcond)
1448  MenuItem('L1_MBTS_2_ZDC_1XOR5_VjTE200_GAP_C' ).setLogic( MBTS_2 & PHYS_ZDC_1TO4XOR5 & Not(d.jTE200) & GAPC & physcond)
1449 
1450  MenuItem('L1_VZDC_A_VZDC_C_TE5_VTE200' ).setLogic( PHYS_VZDC_A_VZDC_C & d.TE5 & Not(d.TE200) & physcond)
1451  MenuItem('L1_VZDC_A_VZDC_C_jTE5_VjTE200' ).setLogic( PHYS_VZDC_A_VZDC_C & d.jTE5 & Not(d.jTE200) & physcond)
1452  MenuItem('L1_VZDC_A_VZDC_C_TE10_VTE200' ).setLogic( PHYS_VZDC_A_VZDC_C & d.TE10 & Not(d.TE200) & physcond)
1453  MenuItem('L1_ZDC_5XOR_TE5_VTE200' ).setLogic( PHYS_ZDC_5XOR & d.TE5 & Not(d.TE200) & physcond)
1454  MenuItem('L1_ZDC_5XOR_jTE5_VjTE200' ).setLogic( PHYS_ZDC_5XOR & d.jTE5 & Not(d.jTE200) & physcond)
1455  MenuItem('L1_ZDC_XOR4_TE5_VTE200' ).setLogic( PHYS_ZDC_XOR4 & d.TE5 & Not(d.TE200) & physcond)
1456  MenuItem('L1_ZDC_XOR4_jTE5_VjTE200' ).setLogic( PHYS_ZDC_XOR4 & d.jTE5 & Not(d.jTE200) & physcond)
1457  MenuItem('L1_ZDC_XOR_jTE5_VjTE200' ).setLogic(ZDC_XOR & d.jTE5 & Not(d.jTE200) & physcond)
1458  MenuItem('L1_VZDC_A_VZDC_C_VTE200' ).setLogic( PHYS_VZDC_A_VZDC_C & Not(d.TE200) & physcond)
1459  MenuItem('L1_VZDC_A_VZDC_C_VjTE200' ).setLogic( PHYS_VZDC_A_VZDC_C & Not(d.jTE200) & physcond)
1460 
1461  MenuItem('L1_VZDC_A_VZDC_C_TE5_VTE200_UNPAIRED_ISO' ).setLogic( PHYS_VZDC_A_VZDC_C & d.TE5 & Not(d.TE200) & unpaired_isocond)
1462  MenuItem('L1_VZDC_A_VZDC_C_jTE5_VjTE200_UNPAIRED_ISO' ).setLogic( PHYS_VZDC_A_VZDC_C & d.jTE5 & Not(d.jTE200) & unpaired_isocond)
1463  MenuItem('L1_ZDC_XOR_TE5_VTE200_UNPAIRED_ISO' ).setLogic(ZDC_XOR & d.TE5 & Not(d.TE200) & unpaired_isocond)
1464  MenuItem('L1_ZDC_XOR_jTE5_VjTE200_UNPAIRED_ISO' ).setLogic(ZDC_XOR & d.jTE5 & Not(d.jTE200) & unpaired_isocond)
1465  MenuItem('L1_5ZDC_A_5ZDC_C_TE5_VTE200' ).setLogic( PHYS_5ZDC_A_5ZDC_C & d.TE5 & Not(d.TE200) & physcond)
1466  MenuItem('L1_5ZDC_A_5ZDC_C_jTE5_VjTE200' ).setLogic( PHYS_5ZDC_A_5ZDC_C & d.jTE5 & Not(d.jTE200) & physcond)
1467  MenuItem('L1_ZDC_XOR_TE5' ).setLogic(ZDC_XOR & d.TE5 & physcond)
1468  MenuItem('L1_ZDC_XOR_jTE5' ).setLogic(ZDC_XOR & d.jTE5 & physcond)
1469  MenuItem('L1_VZDC_A_VZDC_C_TE5' ).setLogic( PHYS_VZDC_A_VZDC_C & d.TE5 & physcond)
1470  MenuItem('L1_VZDC_A_VZDC_C_jTE5' ).setLogic( PHYS_VZDC_A_VZDC_C & d.jTE5 & physcond)
1471  MenuItem('L1_1ZDC_NZDC_TE5_VTE200' ).setLogic( PHYS_1ZDC_NZDC & d.TE5 & Not(d.TE200) & physcond)
1472 
1473  MenuItem('L1_ZDC_A_C_VTE10' ).setLogic( ZDC_A_C & Not(d.TE10) & physcond)
1474  MenuItem('L1_ZDC_A_C_VjTE10' ).setLogic( ZDC_A_C & Not(d.jTE10) & physcond)
1475  MenuItem('L1_ZDC_A_C_VTE10_UNPAIRED_ISO' ).setLogic( ZDC_A_C & Not(d.TE10) & unpaired_isocond)
1476  MenuItem('L1_ZDC_A_C_VjTE10_UNPAIRED_ISO' ).setLogic( ZDC_A_C & Not(d.jTE10) & unpaired_isocond)
1477  MenuItem('L1_ZDC_A_C_VTE10_UNPAIRED_NONISO' ).setLogic( ZDC_A_C & Not(d.TE10) & unpaired_nonisocond)
1478  MenuItem('L1_ZDC_A_C_VjTE10_UNPAIRED_NONISO' ).setLogic( ZDC_A_C & Not(d.jTE10) & unpaired_nonisocond)
1479  MenuItem('L1_ZDC_A_C_VTE10_EMPTY' ).setLogic( ZDC_A_C & Not(d.TE10) & cosmiccond)
1480  MenuItem('L1_ZDC_A_C_VjTE10_EMPTY' ).setLogic( ZDC_A_C & Not(d.jTE10) & cosmiccond)
1481  MenuItem('L1_ZDC_XOR_VTE10' ).setLogic(ZDC_XOR & Not(d.TE10) & physcond)
1482  MenuItem('L1_ZDC_XOR_VjTE10' ).setLogic(ZDC_XOR & Not(d.jTE10) & physcond)
1483  MenuItem('L1_ZDC_OR_VTE200_UNPAIRED_ISO' ).setLogic( ZDCOR & Not(d.TE200) & unpaired_isocond)
1484  MenuItem('L1_MBTS_1_ZDC_OR_VTE200_UNPAIRED_ISO' ).setLogic( MBTS_1 & ZDCOR & Not(d.TE200) & unpaired_isocond)
1485  MenuItem('L1_ZDC_OR_VjTE200_UNPAIRED_ISO' ).setLogic( ZDCOR & Not(d.jTE200) & unpaired_isocond)
1486  MenuItem('L1_MBTS_1_ZDC_OR_VjTE200_UNPAIRED_ISO' ).setLogic( MBTS_1 & ZDCOR & Not(d.jTE200) & unpaired_isocond)
1487 
1488  MenuItem('L1_TAU1_VZDC_A_VZDC_C_VTE100' ).setLogic( d.HA1 & PHYS_VZDC_A_VZDC_C & Not(d.TE100) & physcond)
1489  MenuItem('L1_TAU1_ZDC_XOR4_VTE100' ).setLogic( d.HA1 & PHYS_ZDC_XOR4 & Not(d.TE100) & physcond)
1490  MenuItem('L1_eEM1_VZDC_A_VZDC_C_VjTE100' ).setLogic( d.eEM1 & PHYS_VZDC_A_VZDC_C & Not(d.jTE100) & physcond)
1491  MenuItem('L1_eEM1_ZDC_XOR4_VjTE100' ).setLogic( d.eEM1 & PHYS_ZDC_XOR4 & Not(d.jTE100) & physcond)
1492  MenuItem('L1_eEM1_VZDC_A_VZDC_C_VjTE100_GAP_AANDC' ).setLogic( d.eEM1 & PHYS_VZDC_A_VZDC_C & Not(d.jTE100) & GAPAC & physcond)
1493  MenuItem('L1_eEM1_ZDC_XOR4_VjTE100_GAP_AANDC' ).setLogic( d.eEM1 & PHYS_ZDC_XOR4 & Not(d.jTE100) & GAPAC & physcond)
1494  MenuItem('L1_TAU2_VZDC_A_VZDC_C_VTE100' ).setLogic( d.HA2 & PHYS_VZDC_A_VZDC_C & Not(d.TE100) & physcond)
1495  MenuItem('L1_TAU2_ZDC_XOR4_VTE100' ).setLogic( d.HA2 & PHYS_ZDC_XOR4 & Not(d.TE100) & physcond)
1496  MenuItem('L1_eEM2_VZDC_A_VZDC_C_VjTE100' ).setLogic( d.eEM2 & PHYS_VZDC_A_VZDC_C & Not(d.jTE100) & physcond)
1497  MenuItem('L1_eEM2_ZDC_XOR4_VjTE100' ).setLogic( d.eEM2 & PHYS_ZDC_XOR4 & Not(d.jTE100) & physcond)
1498  MenuItem('L1_eEM2_VZDC_A_VZDC_C_VjTE100_GAP_AANDC' ).setLogic( d.eEM2 & PHYS_VZDC_A_VZDC_C & Not(d.jTE100) & GAPAC & physcond)
1499  MenuItem('L1_eEM2_ZDC_XOR4_VjTE100_GAP_AANDC' ).setLogic( d.eEM2 & PHYS_ZDC_XOR4 & Not(d.jTE100) & GAPAC & physcond)
1500  MenuItem('L1_TAU1_TRT_VZDC_A_VZDC_C_VTE100' ).setLogic( d.HA1 & d.NIMTRT & PHYS_VZDC_A_VZDC_C & Not(d.TE100) & physcond)
1501  MenuItem('L1_TAU1_TRT_ZDC_XOR4_VTE100' ).setLogic( d.HA1 & d.NIMTRT & PHYS_ZDC_XOR4 & Not(d.TE100) & physcond)
1502  MenuItem('L1_TAU1_TRT_VTE50' ).setLogic( d.HA1 & d.NIMTRT & Not(d.TE50) & physcond)
1503  MenuItem('L1_TRT_VZDC_A_VZDC_C_VTE50' ).setLogic( d.NIMTRT & PHYS_VZDC_A_VZDC_C & Not(d.TE50) & physcond)
1504  MenuItem('L1_TRT_VZDC_A_VZDC_C_VTE20' ).setLogic( d.NIMTRT & PHYS_VZDC_A_VZDC_C & Not(d.TE20) & physcond)
1505  MenuItem('L1_TRT_VZDC_A_VZDC_C_VTE200' ).setLogic( d.NIMTRT & PHYS_VZDC_A_VZDC_C & Not(d.TE200) & physcond)
1506  MenuItem('L1_TRT_VZDC_A_VZDC_C_VjTE50' ).setLogic( d.NIMTRT & PHYS_VZDC_A_VZDC_C & Not(d.jTE50) & physcond)
1507  MenuItem('L1_TRT_VZDC_A_VZDC_C_VjTE20' ).setLogic( d.NIMTRT & PHYS_VZDC_A_VZDC_C & Not(d.jTE20) & physcond)
1508  MenuItem('L1_TRT_VZDC_A_VZDC_C_VjTE50_GAP_AANDC' ).setLogic( d.NIMTRT & PHYS_VZDC_A_VZDC_C & Not(d.jTE50) & GAPAC & physcond)
1509  MenuItem('L1_TRT_VZDC_A_VZDC_C_VjTE20_GAP_AANDC' ).setLogic( d.NIMTRT & PHYS_VZDC_A_VZDC_C & Not(d.jTE20) & GAPAC & physcond)
1510 
1511  MenuItem('L1_1ZDC_A_1ZDC_C_VTE50' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.TE50) & physcond)
1512  MenuItem('L1_1ZDC_A_1ZDC_C_VjTE50_GAP_AANDC' ).setLogic( PHYS_1TO4ZDC_A_1TO4ZDC_C & Not(d.jTE50) & GAPAC & physcond)
1513  MenuItem('L1_VZDC_A_VZDC_C_VTE50' ).setLogic( PHYS_VZDC_A_VZDC_C & Not(d.TE50) & physcond)
1514  MenuItem('L1_VZDC_A_VZDC_C_VjTE50_GAP_AANDC' ).setLogic( PHYS_VZDC_A_VZDC_C & Not(d.jTE50) & GAPAC & physcond)
1515  MenuItem('L1_ZDC_XOR4_VTE50' ).setLogic( PHYS_ZDC_XOR4 & Not(d.TE50) & physcond)
1516  MenuItem('L1_ZDC_XOR4_VjTE50_GAP_AANDC' ).setLogic( PHYS_ZDC_XOR4 & Not(d.jTE50) & GAPAC & physcond)
1517  MenuItem('L1_ZDC_XOR4_VTE200' ).setLogic( PHYS_ZDC_XOR4 & Not(d.TE200) & physcond)
1518  MenuItem('L1_ZDC_XOR4_VjTE200_GAP_AANDC' ).setLogic( PHYS_ZDC_XOR4 & Not(d.jTE200) & GAPAC & physcond)
1519  MenuItem('L1_VZDC_A_VZDC_C_VjTE200_GAP_AANDC' ).setLogic( PHYS_VZDC_A_VZDC_C & Not(d.jTE200) & GAPAC & physcond)
1520 
1521  # ATR-14967
1522  # MenuItem('L1_EM3_VZDC_A' ).setLogic( d.EM3 & Not(ZDC_A) & physcond)
1523  # MenuItem('L1_EM3_VZDC_C' ).setLogic( d.EM3 & Not(ZDC_C) & physcond)
1524  # MenuItem('L1_2EM3_VZDC_A' ).setLogic( d.EM3.x(2) & Not(ZDC_A) & physcond)
1525  # MenuItem('L1_2EM3_VZDC_C' ).setLogic( d.EM3.x(2) & Not(ZDC_C) & physcond)
1526  # MenuItem('L1_EM5_VZDC_A' ).setLogic( d.EM5 & Not(ZDC_A) & physcond)
1527  # MenuItem('L1_EM5_VZDC_C' ).setLogic( d.EM5 & Not(ZDC_C) & physcond)
1528  MenuItem('L1_TE5_VZDC_A' ).setLogic( d.TE5 & Not(ZDC_A) & physcond)
1529  MenuItem('L1_TE5_VZDC_C' ).setLogic( d.TE5 & Not(ZDC_C) & physcond)
1530  MenuItem('L1_TE10_VZDC_A' ).setLogic( d.TE10 & Not(ZDC_A) & physcond)
1531  MenuItem('L1_TE10_VZDC_C' ).setLogic( d.TE10 & Not(ZDC_C) & physcond)
1532  MenuItem('L1_TE20_VZDC_A' ).setLogic( d.TE20 & Not(ZDC_A) & physcond)
1533  MenuItem('L1_TE20_VZDC_C' ).setLogic( d.TE20 & Not(ZDC_C) & physcond)
1534  MenuItem('L1_VTE10_VZDC_A' ).setLogic( Not(d.TE10) & Not(ZDC_A) & physcond)
1535  MenuItem('L1_VTE10_VZDC_C' ).setLogic( Not(d.TE10) & Not(ZDC_C) & physcond)
1536  MenuItem('L1_J5_VZDC_A' ).setLogic( d.J5 & Not(ZDC_A) & physcond)
1537  MenuItem('L1_J5_VZDC_C' ).setLogic( d.J5 & Not(ZDC_C) & physcond)
1538  MenuItem('L1_J10_VZDC_A' ).setLogic( d.J10 & Not(ZDC_A) & physcond)
1539  MenuItem('L1_J10_VZDC_C' ).setLogic( d.J10 & Not(ZDC_C) & physcond)
1540  MenuItem('L1_J15_VZDC_A' ).setLogic( d.J15 & Not(ZDC_A) & physcond)
1541  MenuItem('L1_J15_VZDC_C' ).setLogic( d.J15 & Not(ZDC_C) & physcond)
1542  MenuItem('L1_J20_VZDC_A' ).setLogic( d.J20 & Not(ZDC_A) & physcond)
1543  MenuItem('L1_J20_VZDC_C' ).setLogic( d.J20 & Not(ZDC_C) & physcond)
1544  MenuItem('L1_MU3V_VZDC_A' ).setLogic( d.MU3V & Not(ZDC_A) & physcond).setTriggerType(TT.muon)
1545  MenuItem('L1_MU3V_VZDC_C' ).setLogic( d.MU3V & Not(ZDC_C) & physcond).setTriggerType(TT.muon)
1546  MenuItem('L1_2MU3V_VZDC_A' ).setLogic( d.MU3V.x(2) & Not(ZDC_A) & physcond).setTriggerType(TT.muon)
1547  MenuItem('L1_2MU3V_VZDC_C' ).setLogic( d.MU3V.x(2) & Not(ZDC_C) & physcond).setTriggerType(TT.muon)
1548 
1549  MenuItem('L1_MU3V_VTE10_VZDC_A' ).setLogic( d.MU3V & Not(d.TE10) & Not(ZDC_A) & physcond).setTriggerType(TT.muon)
1550  MenuItem('L1_MU3V_VTE10_VZDC_C' ).setLogic( d.MU3V & Not(d.TE10) & Not(ZDC_C) & physcond).setTriggerType(TT.muon)
1551  MenuItem('L1_2MU3V_VTE10_VZDC_A').setLogic( d.MU3V.x(2) & Not(d.TE10) & Not(ZDC_A) & physcond).setTriggerType(TT.muon)
1552  MenuItem('L1_2MU3V_VTE10_VZDC_C').setLogic( d.MU3V.x(2) & Not(d.TE10) & Not(ZDC_C) & physcond).setTriggerType(TT.muon)
1553 
1554  MenuItem('L1_MU3V_VZDC_A_C' ).setLogic( d.MU3V & VZDC_A_C & physcond).setTriggerType(TT.muon)
1555  MenuItem('L1_MU3V_VZDC_AORC_VTE200' ).setLogic( d.MU3V & VZDC_AORC & Not(d.TE200) & physcond).setTriggerType(TT.muon)
1556  MenuItem('L1_MU5VF_VZDC_A' ).setLogic( d.MU5VF & Not(ZDC_A) & physcond).setTriggerType(TT.muon)
1557  MenuItem('L1_MU5VF_VZDC_C' ).setLogic( d.MU5VF & Not(ZDC_C) & physcond).setTriggerType(TT.muon)
1558  MenuItem('L1_MU5VF_VTE10_VZDC_A' ).setLogic( d.MU5VF & Not(d.TE10) & Not(ZDC_A) & physcond).setTriggerType(TT.muon)
1559  MenuItem('L1_MU5VF_VTE10_VZDC_C' ).setLogic( d.MU5VF & Not(d.TE10) & Not(ZDC_C) & physcond).setTriggerType(TT.muon)
1560  MenuItem('L1_MU5VF_VZDC_A_C' ).setLogic( d.MU5VF & VZDC_A_C & physcond).setTriggerType(TT.muon)
1561  MenuItem('L1_RD0_FILLED_VZDC_A' ).setLogic( d.RNDM0 & Not(ZDC_A) & physcond)
1562  MenuItem('L1_RD0_FILLED_VZDC_C' ).setLogic( d.RNDM0 & Not(ZDC_C) & physcond)
1563  MenuItem('L1_MBTS_4_C_VZDC_A' ).setLogic( MBTS_4_C & Not(ZDC_A) & physcond)
1564  MenuItem('L1_MBTS_4_A_VZDC_C' ).setLogic( MBTS_4_A & Not(ZDC_C) & physcond)
1565  MenuItem('L1_MBTS_2_C_VZDC_A' ).setLogic( MBTS_2_C & Not(ZDC_A) & physcond)
1566  MenuItem('L1_MBTS_2_A_VZDC_C' ).setLogic( MBTS_2_A & Not(ZDC_C) & physcond)
1567 
1568 
1569 
1570 
1571  # VDM
1572  MenuItem('L1_ZDC_A_C_BGRP7' ).setLogic( ZDC_A_C & bgrp7cond)
1573  MenuItem('L1_LUCID_BGRP7' ).setLogic( (d.LUCID_A | d.LUCID_C) & bgrp7cond)
1574 
1575  # LUCID
1576  MenuItem('L1_LUCID_A' ).setLogic( d.LUCID_A & physcond)
1577  MenuItem('L1_LUCID_C' ).setLogic( d.LUCID_C & physcond)
1578  MenuItem('L1_LUCID_A_C', ).setLogic( d.LUCID_A & d.LUCID_C & physcond)
1579  MenuItem('L1_LUCID' ).setLogic((d.LUCID_A | d.LUCID_C) & physcond)
1580  MenuItem('L1_LUCID_COMM' ).setLogic( d.LUCID_COMM & physcond)
1581  MenuItem('L1_LUCID_COMM_EMPTY' ).setLogic( d.LUCID_COMM & cosmiccond)
1582  MenuItem('L1_LUCID_EMPTY' ).setLogic((d.LUCID_A | d.LUCID_C) & cosmiccond)
1583  MenuItem('L1_LUCID_A_C_EMPTY' ).setLogic( d.LUCID_A & d.LUCID_C & cosmiccond)
1584  MenuItem('L1_LUCID_UNPAIRED_ISO').setLogic((d.LUCID_A | d.LUCID_C) & unpaired_isocond)
1585  MenuItem('L1_LUCID_COMM_UNPAIRED_ISO' ).setLogic( d.LUCID_COMM & unpaired_isocond )
1586  MenuItem('L1_LUCID_A_C_UNPAIRED_ISO' ).setLogic( d.LUCID_A & d.LUCID_C & unpaired_isocond)
1587  MenuItem('L1_LUCID_A_C_UNPAIRED_NONISO').setLogic(d.LUCID_A & d.LUCID_C & unpaired_nonisocond)
1588 
1589  MenuItem('L1_LUCID_BGRP9').setLogic( (d.LUCID_A | d.LUCID_C) & bgrp9cond)
1590  MenuItem('L1_LUCID_BGRP11').setLogic( (d.LUCID_A | d.LUCID_C) & bgrp11cond)
1591 
1592  MenuItem('L1_LUCID_A_BGRP11').setLogic( d.LUCID_A & bgrp11cond)
1593  MenuItem('L1_LUCID_C_BGRP11').setLogic( d.LUCID_C & bgrp11cond)
1594 
1595  # BCM
1596  MenuItem('L1_BCM_Wide' ).setLogic( d.BCM_Wide & physcond )
1597  MenuItem('L1_BCM_Wide_BGRP12' ).setLogic( d.BCM_Wide & bgrp12cond )
1598  MenuItem('L1_BCM_Wide_EMPTY' ).setLogic( d.BCM_Wide & cosmiccond )
1599  MenuItem('L1_BCM_Wide_UNPAIRED_ISO' ).setLogic( d.BCM_Wide & unpaired_isocond ) # no needed anymore
1600  MenuItem('L1_BCM_Wide_UNPAIRED_NONISO' ).setLogic( d.BCM_Wide & unpaired_nonisocond ) # no needed anymore
1601  MenuItem('L1_BCM_Wide_UNPAIREDB1' ).setLogic( d.BCM_Wide & bgrp13cond )
1602  MenuItem('L1_BCM_Wide_UNPAIREDB2' ).setLogic( d.BCM_Wide & bgrp14cond )
1603 
1604  MenuItem('L1_BCM_HT_BGRP12' ).setLogic( d.BCM_Comb.x(7) & bgrp12cond)
1605  MenuItem('L1_BCM_AC_CA_BGRP12' ).setLogic((d.BCM_AtoC | d.BCM_CtoA) & bgrp12cond )
1606  MenuItem('L1_BCM_AC_CA_UNPAIRED_ISO' ).setLogic((d.BCM_AtoC | d.BCM_CtoA) & unpaired_isocond)
1607 
1608  MenuItem('L1_BCM_AC_UNPAIRED_ISO' ).setLogic( d.BCM_AtoC & unpaired_isocond) # no needed anymore
1609  MenuItem('L1_BCM_CA_UNPAIRED_ISO' ).setLogic( d.BCM_CtoA & unpaired_isocond) # no needed anymore
1610 
1611  MenuItem('L1_BCM_AC_UNPAIRED_NONISO' ).setLogic( d.BCM_AtoC & unpaired_nonisocond) # no needed anymore
1612  MenuItem('L1_BCM_CA_UNPAIRED_NONISO' ).setLogic( d.BCM_CtoA & unpaired_nonisocond) # no needed anymore
1613 
1614  MenuItem('L1_BCM_AC_CALIB' ).setLogic( d.BCM_AtoC & calibcond)
1615  MenuItem('L1_BCM_CA_CALIB' ).setLogic( d.BCM_CtoA & calibcond)
1616  MenuItem('L1_BCM_Wide_CALIB' ).setLogic( d.BCM_Wide & calibcond) # no needed anymore
1617 
1618  MenuItem('L1_BCM_AC_UNPAIREDB1' ).setLogic( d.BCM_AtoC & bgrp13cond) # no needed anymore
1619  MenuItem('L1_BCM_CA_UNPAIREDB2' ).setLogic( d.BCM_CtoA & bgrp14cond) # no needed anymore
1620 
1621  MenuItem('L1_BCM_2A_EMPTY' ).setLogic( d.BCM6 & cosmiccond)
1622  MenuItem('L1_BCM_2C_EMPTY' ).setLogic( d.BCM7 & cosmiccond)
1623 
1624  MenuItem('L1_BCM_2A_UNPAIREDB1' ).setLogic( d.BCM6 & bgrp13cond)
1625  MenuItem('L1_BCM_2C_UNPAIREDB1' ).setLogic( d.BCM7 & bgrp13cond)
1626  MenuItem('L1_BCM_2A_UNPAIREDB2' ).setLogic( d.BCM6 & bgrp14cond)
1627  MenuItem('L1_BCM_2C_UNPAIREDB2' ).setLogic( d.BCM7 & bgrp14cond)
1628 
1629  MenuItem('L1_BCM_2A_UNPAIRED_ISO' ).setLogic( d.BCM6 & unpaired_isocond)
1630  MenuItem('L1_BCM_2C_UNPAIRED_ISO' ).setLogic( d.BCM7 & unpaired_isocond)
1631  MenuItem('L1_BCM_2A_UNPAIRED_NONISO' ).setLogic( d.BCM6 & unpaired_nonisocond)
1632  MenuItem('L1_BCM_2C_UNPAIRED_NONISO' ).setLogic( d.BCM7 & unpaired_nonisocond)
1633 
1634  MenuItem('L1_BCM_2A_CALIB' ).setLogic( d.BCM6 & calibcond)
1635  MenuItem('L1_BCM_2C_CALIB' ).setLogic( d.BCM7 & calibcond)
1636 
1637  MenuItem('L1_BCM_2A_FIRSTINTRAIN' ).setLogic( d.BCM6 & firstintrain)
1638  MenuItem('L1_BCM_2C_FIRSTINTRAIN' ).setLogic( d.BCM7 & firstintrain)
1639 
1640  MenuItem('L1_BCM_2A_2C_BGRP12' ).setLogic((d.BCM6 | d.BCM7) & bgrp12cond )
1641  MenuItem('L1_BCM_2A_2C_UNPAIRED_ISO' ).setLogic((d.BCM6 | d.BCM7) & unpaired_isocond)
1642 
1643  # RANDOM
1644  MenuItem('L1_RD0_FILLED' ).setLogic( d.RNDM0 & physcond ).setTriggerType(TT.rand)
1645  MenuItem('L1_RD0_EMPTY' ).setLogic( d.RNDM0 & cosmiccond ).setTriggerType(TT.rand)
1646  MenuItem('L1_RD0_UNPAIRED_ISO' ).setLogic( d.RNDM0 & unpaired_isocond ).setTriggerType(TT.rand)
1647  MenuItem('L1_RD0_UNPAIRED_NONISO').setLogic( d.RNDM0 & unpaired_nonisocond).setTriggerType(TT.rand)
1648  MenuItem('L1_RD0_FIRSTEMPTY' ).setLogic( d.RNDM0 & firstempty ).setTriggerType(TT.rand)
1649  MenuItem('L1_RD0_BGRP0' ).setLogic( d.RNDM0 & d.BGRP0 ).setTriggerType(TT.rand)
1650  MenuItem('L1_RD0_BGRP7' ).setLogic( d.RNDM0 & bgrp7cond ).setTriggerType(TT.rand)
1651  MenuItem('L1_RD0_BGRP9' ).setLogic( d.RNDM0 & bgrp9cond ).setTriggerType(TT.rand)
1652  MenuItem('L1_RD0_BGRP10' ).setLogic( d.RNDM0 & bgrp10cond ).setTriggerType(TT.rand)
1653  MenuItem('L1_RD0_BGRP11' ).setLogic( d.RNDM0 & bgrp11cond ).setTriggerType(TT.rand)
1654  MenuItem('L1_RD0_BGRP15' ).setLogic( d.RNDM0 & d.BGRP0 & d.BGRP15 ).setTriggerType(TT.rand)
1655  MenuItem('L1_RD0_FIRSTINTRAIN' ).setLogic( d.RNDM0 & firstintrain ).setTriggerType(TT.rand)
1656 
1657  MenuItem('L1_RD1_FILLED' ).setLogic( d.RNDM1 & physcond ).setTriggerType(TT.zerobs) # used to be TT.rand
1658  MenuItem('L1_RD1_EMPTY' ).setLogic( d.RNDM1 & cosmiccond ).setTriggerType(TT.zerobs)
1659  MenuItem('L1_RD1_BGRP10' ).setLogic( d.RNDM1 & bgrp10cond ).setTriggerType(TT.zerobs)
1660 
1661  MenuItem('L1_RD2_FILLED' ).setLogic( d.RNDM2 & physcond ).setTriggerType(TT.rand)
1662  MenuItem('L1_RD2_EMPTY' ).setLogic( d.RNDM2 & cosmiccond ).setTriggerType(TT.rand)
1663  MenuItem('L1_RD2_BGRP11' ).setLogic( d.RNDM2 & bgrp11cond ).setTriggerType(TT.rand)
1664  MenuItem('L1_RD2_BGRP12' ).setLogic( d.RNDM2 & bgrp12cond ).setTriggerType(TT.rand)
1665 
1666  MenuItem('L1_RD3_FILLED' ).setLogic( d.RNDM3 & physcond ).setTriggerType(TT.rand)
1667  MenuItem('L1_RD3_EMPTY' ).setLogic( d.RNDM3 & cosmiccond ).setTriggerType(TT.rand)
1668 
1669  MenuItem('L1_BPTX0_BGRP12', ctpid=0xf1).setLogic(d.BPTX0 & bgrp12cond ).setTriggerType(TT.rand)
1670  MenuItem('L1_BPTX1_BGRP12', ctpid=0xf2).setLogic(d.BPTX1 & bgrp12cond ).setTriggerType(TT.rand)
1671 
1672  # lumi measurements
1673  MenuItem('L1_MLZ_A').setLogic( (d.MBTS_A|ZDC_A|d.LUCID_A) & physcond)
1674  MenuItem('L1_MLZ_C').setLogic( (d.MBTS_C|ZDC_C|d.LUCID_C) & physcond)
1675  MenuItem('L1_MBLZ' ).setLogic( ( (d.MBTS_A|ZDC_A|d.LUCID_A) & (d.MBTS_C|ZDC_C|d.LUCID_C) | d.BCM_Wide) & physcond )
1676 
1677  MenuItem('L1_CALREQ0', ctpid=0x1fd).setLogic( d.CAL0 & calibcond).setTriggerType(TT.calreq0)
1678  MenuItem('L1_CALREQ1', ctpid=0x1fe).setLogic( d.CAL1 & calibcond).setTriggerType(TT.calreq1)
1679  MenuItem('L1_CALREQ2', ctpid=0x1ff).setLogic( d.CAL2 & calibcond).setTriggerType(TT.calreq2)
1680 
1681  # TRT
1682  MenuItem('L1_TRT' , ctpid=0x4e).setLogic(d.NIMTRT & d.BGRP0).setTriggerType(TT.nim)
1683  MenuItem('L1_TRT_FILLED').setLogic(d.NIMTRT & physcond).setTriggerType(TT.nim)
1684  MenuItem('L1_TRT_EMPTY' ).setLogic(d.NIMTRT & cosmiccond).setTriggerType(TT.nim)
1685  MenuItem('L1_TRT_VTE200').setLogic(d.NIMTRT & Not(d.TE200) & physcond)
1686  MenuItem('L1_TRT_VTE50' ).setLogic(d.NIMTRT & Not(d.TE50) & physcond)
1687  MenuItem('L1_TRT_VTE20' ).setLogic(d.NIMTRT & Not(d.TE20) & physcond)
1688 
1689  #TRT + Phase-1 Calo
1690  MenuItem('L1_TRT_VjTE20' ).setLogic(d.NIMTRT & Not(d.jTE20) & physcond)
1691  MenuItem('L1_TRT_VjTE50' ).setLogic(d.NIMTRT & Not(d.jTE50) & physcond)
1692  MenuItem('L1_TRT_VjTE50_GAP_AANDC' ).setLogic(d.NIMTRT & Not(d.jTE50) & GAPAC & physcond)
1693  MenuItem('L1_TRT_VjTE200_GAP_AANDC' ).setLogic(d.NIMTRT & Not(d.jTE200) & GAPAC & physcond)
1694 
1695  # TGC
1696  MenuItem('L1_TGC_BURST').setLogic(d.NIMTGC & bgrp12cond ).setTriggerType(TT.nim)
1697 
1698  # LHCF
1699  MenuItem('L1_LHCF').setLogic( d.NIMLHCF & physcond).setTriggerType(TT.nim)
1700  MenuItem('L1_LHCF_UNPAIRED_ISO').setLogic( d.NIMLHCF & unpaired_isocond).setTriggerType(TT.nim)
1701  MenuItem('L1_LHCF_EMPTY').setLogic( d.NIMLHCF & cosmiccond).setTriggerType(TT.nim)
1702 
1703  MBTS_INNER = (d.MBTS_A0 | d.MBTS_A1 | d.MBTS_A2 | d.MBTS_A3 | d.MBTS_A4 | d.MBTS_A5 | d.MBTS_A6 | d.MBTS_A7 | d.MBTS_C0 | d.MBTS_C1 | d.MBTS_C2 | d.MBTS_C3 | d.MBTS_C4 | d.MBTS_C5 | d.MBTS_C6 | d.MBTS_C7)
1704 
1705  #AFP (ATR-23476)
1706  AFP_A = (d.AFP_NSA & d.AFP_FSA)
1707  AFP_C = (d.AFP_NSC & d.AFP_FSC)
1708  AFP_TOF_A = (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1 | d.AFP_FSA_TOF_T2 | d.AFP_FSA_TOF_T3)
1709  AFP_TOF_C = (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1 | d.AFP_FSC_TOF_T2 | d.AFP_FSC_TOF_T3)
1710  MenuItem('L1_AFP_NSA_BGRP12').setLogic( d.AFP_NSA & bgrp12cond)
1711  MenuItem('L1_AFP_NSC_BGRP12').setLogic( d.AFP_NSC & bgrp12cond)
1712  MenuItem('L1_AFP_FSA_BGRP12').setLogic( d.AFP_FSA & bgrp12cond)
1713  MenuItem('L1_AFP_FSC_BGRP12').setLogic( d.AFP_FSC & bgrp12cond)
1714  MenuItem('L1_AFP_FSA_TOF_T0_BGRP12').setLogic( d.AFP_FSA_TOF_T0 & bgrp12cond)
1715  MenuItem('L1_AFP_FSC_TOF_T0_BGRP12').setLogic( d.AFP_FSC_TOF_T0 & bgrp12cond)
1716  MenuItem('L1_AFP_FSA_TOF_T1_BGRP12').setLogic( d.AFP_FSA_TOF_T1 & bgrp12cond)
1717  MenuItem('L1_AFP_FSC_TOF_T1_BGRP12').setLogic( d.AFP_FSC_TOF_T1 & bgrp12cond)
1718  MenuItem('L1_AFP_FSA_TOF_T2_BGRP12').setLogic( d.AFP_FSA_TOF_T2 & bgrp12cond)
1719  MenuItem('L1_AFP_FSC_TOF_T2_BGRP12').setLogic( d.AFP_FSC_TOF_T2 & bgrp12cond)
1720  MenuItem('L1_AFP_FSA_TOF_T3_BGRP12').setLogic( d.AFP_FSA_TOF_T3 & bgrp12cond)
1721  MenuItem('L1_AFP_FSC_TOF_T3_BGRP12').setLogic( d.AFP_FSC_TOF_T3 & bgrp12cond)
1722 
1723  MenuItem('L1_AFP_A').setLogic( AFP_A & physcond)
1724  MenuItem('L1_AFP_C').setLogic( AFP_C & physcond)
1725  MenuItem('L1_AFP_A_OR_C').setLogic( (AFP_A | AFP_C) & physcond)
1726  MenuItem('L1_AFP_A_AND_C').setLogic( AFP_A & AFP_C & physcond)
1727  MenuItem('L1_AFP_A_AND_C_TOF').setLogic( AFP_TOF_A & AFP_TOF_C & physcond)
1728  MenuItem('L1_AFP_A_AND_C_TOF_T0T1').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & physcond)
1729 
1730  MenuItem('L1_AFP_A_OR_C_UNPAIRED_ISO').setLogic( (AFP_A | AFP_C) & unpaired_isocond )
1731  MenuItem('L1_AFP_A_OR_C_UNPAIRED_NONISO').setLogic( (AFP_A | AFP_C) & unpaired_nonisocond )
1732  MenuItem('L1_AFP_A_OR_C_EMPTY').setLogic( (AFP_A | AFP_C) & cosmiccond)
1733  MenuItem('L1_AFP_A_OR_C_FIRSTEMPTY').setLogic( (AFP_A | AFP_C) & firstempty)
1734  MenuItem('L1_AFP_A_OR_C_TOF_UNPAIRED_ISO').setLogic( (AFP_TOF_A | AFP_TOF_C) & unpaired_isocond )
1735  MenuItem('L1_AFP_A_OR_C_TOF_UNPAIRED_NONISO').setLogic( (AFP_TOF_A | AFP_TOF_C) & unpaired_nonisocond )
1736  MenuItem('L1_AFP_A_OR_C_TOF_EMPTY').setLogic( (AFP_TOF_A | AFP_TOF_C) & cosmiccond)
1737  MenuItem('L1_AFP_A_OR_C_TOF_FIRSTEMPTY').setLogic( (AFP_TOF_A | AFP_TOF_C) & firstempty)
1738 
1739  MenuItem('L1_AFP_A_AND_C_J5').setLogic( AFP_A & AFP_C & d.J5 & physcond )
1740  MenuItem('L1_AFP_A_OR_C_J5').setLogic( (AFP_A | AFP_C) & d.J5 & physcond )
1741  MenuItem('L1_AFP_A_AND_C_J12').setLogic( AFP_A & AFP_C & d.J12 & physcond )
1742  MenuItem('L1_AFP_A_OR_C_J12').setLogic( (AFP_A | AFP_C) & d.J12 & physcond )
1743  MenuItem('L1_AFP_A_AND_C_jJ20').setLogic( AFP_A & AFP_C & d.jJ20 & physcond )
1744  MenuItem('L1_AFP_A_OR_C_jJ20').setLogic( (AFP_A | AFP_C) & d.jJ20 & physcond )
1745  MenuItem('L1_AFP_A_AND_C_jJ30').setLogic( AFP_A & AFP_C & d.jJ30 & physcond )
1746  MenuItem('L1_AFP_A_OR_C_jJ30').setLogic( (AFP_A | AFP_C) & d.jJ30 & physcond )
1747  MenuItem('L1_MU5VF_AFP_A_OR_C').setLogic( (AFP_A | AFP_C) & d.MU5VF & physcond )
1748  MenuItem('L1_MU5VF_AFP_A_AND_C').setLogic( AFP_A & AFP_C & d.MU5VF & physcond )
1749  # MenuItem('L1_EM7_AFP_A_OR_C').setLogic( (AFP_A | AFP_C) & d.EM7 & physcond )
1750  # MenuItem('L1_EM7_AFP_A_AND_C').setLogic( AFP_A & AFP_C & d.EM7 & physcond )
1751  MenuItem('L1_eEM9_AFP_A_OR_C').setLogic( (AFP_A | AFP_C) & d.eEM9 & physcond )
1752  MenuItem('L1_eEM9_AFP_A_AND_C').setLogic( AFP_A & AFP_C & d.eEM9 & physcond )
1753 
1754  MenuItem('L1_AFP_A_AND_C_MBTS_2').setLogic( AFP_A & AFP_C & MBTS_2 & physcond )
1755  MenuItem('L1_AFP_A_OR_C_MBTS_2').setLogic( (AFP_A | AFP_C) & MBTS_2 & physcond )
1756 
1757  MenuItem('L1_AFP_A_AND_C_TOF_CEP-CjJ100').setLogic( AFP_TOF_A & AFP_TOF_C & d.TOPO_CEP_CjJ100s6 & physcond )
1758  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_CEP-CjJ100').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.TOPO_CEP_CjJ100s6 & physcond )
1759 
1760  MenuItem('L1_AFP_A_AND_C_TOF_J20').setLogic( AFP_TOF_A & AFP_TOF_C & d.J20 & physcond )
1761  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_J20').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.J20 & physcond )
1762  MenuItem('L1_AFP_A_AND_C_TOF_J30').setLogic( AFP_TOF_A & AFP_TOF_C & d.J30 & physcond )
1763  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_J30').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.J30 & physcond )
1764  MenuItem('L1_AFP_A_AND_C_TOF_J50').setLogic( AFP_TOF_A & AFP_TOF_C & d.J50 & physcond )
1765  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_J50').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.J50 & physcond )
1766  MenuItem('L1_AFP_A_AND_C_TOF_J75').setLogic( AFP_TOF_A & AFP_TOF_C & d.J75 & physcond )
1767  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_J75').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.J75 & physcond )
1768 
1769  MenuItem('L1_AFP_A_AND_C_TOF_jJ50').setLogic( AFP_TOF_A & AFP_TOF_C & d.jJ50 & physcond )
1770  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_jJ50').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.jJ50 & physcond )
1771  MenuItem('L1_AFP_A_AND_C_TOF_jJ60').setLogic( AFP_TOF_A & AFP_TOF_C & d.jJ60 & physcond )
1772  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_jJ60').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.jJ60 & physcond )
1773  MenuItem('L1_AFP_A_AND_C_TOF_jJ90').setLogic( AFP_TOF_A & AFP_TOF_C & d.jJ90 & physcond )
1774  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_jJ90').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.jJ90 & physcond )
1775  MenuItem('L1_AFP_A_AND_C_TOF_jJ125').setLogic( AFP_TOF_A & AFP_TOF_C & d.jJ125 & physcond )
1776  MenuItem('L1_AFP_A_AND_C_TOF_T0T1_jJ125').setLogic( (d.AFP_FSA_TOF_T0 | d.AFP_FSA_TOF_T1) & (d.AFP_FSC_TOF_T0 | d.AFP_FSC_TOF_T1) & d.jJ125 & physcond )
1777 
1778  try:
1779 
1780  # Legacy primary (items passed via the merger board):
1781  MenuItem('L1_HT190-J15s5pETA21').setLogic( d.R2TOPO_HT190_J15s5pETA21 & physcond)
1782  MenuItem('L1_BPH-0M9-EM7-EM5').setLogic( d.R2TOPO_0INVM9_EM7ab_EMab & physcond)
1783  MenuItem('L1_BPH-0DR3-EM7J15').setLogic( d.R2TOPO_0DR03_EM7ab_CJ15ab & physcond)
1784  MenuItem('L1_BPH-0M9-EM7-EM5_MU5VF').setLogic( d.MU5VF & d.R2TOPO_0INVM9_EM7ab_EMab & physcond)
1785  MenuItem('L1_BPH-0DR3-EM7J15_MU5VF').setLogic( d.MU5VF & d.R2TOPO_0DR03_EM7ab_CJ15ab & physcond)
1786  MenuItem('L1_BPH-0M9-EM7-EM5_2MU3V').setLogic( d.MU3V.x(2) & d.R2TOPO_0INVM9_EM7ab_EMab & physcond)
1787  MenuItem('L1_BPH-0DR3-EM7J15_2MU3V').setLogic( d.MU3V.x(2) & d.R2TOPO_0DR03_EM7ab_CJ15ab & physcond)
1788  MenuItem("L1_JPSI-1M5-EM7" ).setLogic( d.R2TOPO_1INVM5_EM7s1_EMs6 & physcond)
1789  MenuItem("L1_JPSI-1M5-EM12").setLogic( d.R2TOPO_1INVM5_EM12s1_EMs6 & physcond)
1790  MenuItem('L1_MJJ-500-NFF').setLogic( d.R2TOPO_500INVM9999_J30s6_AJ20s6 & physcond)
1791  MenuItem('L1_MJJ-700').setLogic( d.R2TOPO_700INVM9999_AJ30s6_AJ20s6 & physcond)
1792  MenuItem('L1_EM18VHI_MJJ-300').setLogic( d.EM18VHI & d.R2TOPO_300INVM9999_AJ30s6_AJ20s6 & physcond)
1793  MenuItem('L1_HT150-J20s5pETA31_MJJ-400-CF').setLogic( d.R2TOPO_HT150_J20s5pETA31 & d.R2TOPO_400INVM9999_AJ30s6pETA31_AJ20s6p31ETA49 & physcond)
1794  MenuItem('L1_30M-EM20ITAU12').setLogic( d.R2TOPO_DISAMB_30INVM_EM20his2_TAU12ab & physcond)
1795  MenuItem('L1_LLP-RO').setLogic( d.R2TOPO_100RATIO_0MATCH_TAU30si2_EMall & physcond)
1796  MenuItem('L1_LLP-NOMATCH').setLogic( d.R2TOPO_NOT_0MATCH_TAU30si1_EMall & physcond)
1797  MenuItem('L1_DPHI-2EM3').setLogic( d.R2TOPO_27DPHI32_EMs1_EMs6 & physcond)
1798  MenuItem('L1_SC111-CJ15').setLogic( d.R2TOPO_SC111_CJ15abpETA26 & physcond)
1799  MenuItem('L1_J50_DETA20-J50J').setLogic( d.J50 & d.R2TOPO_0DETA20_J50s1_Js2 & physcond)
1800  MenuItem('L1_DR-TAU20ITAU12I-J25').setLogic( d.R2TOPO_1DISAMB_J25ab_0DR28_TAU20abi_TAU12abi & physcond)
1801  MenuItem('L1_TAU60_DR-TAU20ITAU12I' ).setLogic( d.HA60 & d.R2TOPO_0DR28_TAU20abi_TAU12abi & physcond)
1802  MenuItem('L1_DR-TAU20ITAU12I' ).setLogic( d.R2TOPO_0DR28_TAU20abi_TAU12abi & physcond)
1803  MenuItem('L1_LAR-ZEE').setLogic( d.R2TOPO_ZEE_EM20shi2 & physcond).setTriggerType( TT.lardigital ) # LAr demo (ATR-11897, ATR-23403)
1804 
1805  # Phase-1:
1806  MenuItem('L1_LAR-ZEE-eEM').setLogic( d.TOPO_ZEE_eEM24sm2 & physcond).setTriggerType( TT.lardigital ) # LAr demo (ATR-23403),
1807  MenuItem('L1_LATE-MU8F_jXE70').setLogic( d.TOPO_LATE_MU10s1 & d.jXE70 & physcond)
1808  MenuItem('L1_LATE-MU8F_jJ90' ).setLogic( d.TOPO_LATE_MU10s1 & d.jJ90 & physcond)
1809  MenuItem('L1_LFV-MU8VF').setLogic( d.TOPO_0DR15_2MU5VFab & d.MU8VF & d.MU5VF.x(2) & physcond)
1810  MenuItem('L1_LFV-MU5VF' ).setLogic( d.TOPO_0DR15_2MU5VFab & d.MU5VF.x(2) & physcond)
1811  MenuItem('L1_LFV-eEM10L-MU8VF' ).setLogic( d.TOPO_0INVM10_0DR15_eEM10abl_MU8Fab & d.MU8VF & physcond)
1812  MenuItem('L1_LFV-eEM15L-MU5VF' ).setLogic( d.TOPO_0INVM10_0DR15_eEM15abl_MU5VFab & physcond)
1813 
1814  #BLS
1815  #ATR-19720
1816  MenuItem('L1_BPH-2M9-0DR15-2MU3V' ).setLogic( d.TOPO_2INVM9_0DR15_2MU3Vab & physcond)
1817  MenuItem('L1_BPH-2M9-0DR15-2MU3VF' ).setLogic( d.TOPO_2INVM9_0DR15_2MU3VFab & physcond)
1818  MenuItem('L1_BPH-2M9-0DR15-MU5VFMU3V' ).setLogic( d.TOPO_2INVM9_0DR15_MU5VFab_MU3Vab & physcond)
1819  MenuItem('L1_BPH-2M9-2DR15-2MU5VF' ).setLogic( d.TOPO_2INVM9_2DR15_2MU5VFab & physcond)
1820  MenuItem('L1_BPH-8M15-0DR22-MU5VFMU3V-BO' ).setLogic( d.TOPO_8INVM15_0DR22_CMU5VFab_CMU3Vab & physcond)
1821  MenuItem('L1_BPH-8M15-0DR22-2MU5VF' ).setLogic( d.TOPO_8INVM15_0DR22_2MU5VFab & physcond)
1822  #ATR-19355
1823  MenuItem('L1_BPH-0M10-3MU3V' ).setLogic( d.TOPO_0INVM10_3MU3Vab & physcond)
1824  MenuItem('L1_BPH-0M10-3MU3VF' ).setLogic( d.TOPO_0INVM10_3MU3VFab & physcond)
1825  #ATR-19638
1826  MenuItem('L1_BPH-0M10C-3MU3V' ).setLogic( d.TOPO_0INVM10C_3MU3Vab & physcond)
1827  #ATR-19639
1828  MenuItem('L1_BPH-2M9-0DR15-C-MU5VFMU3V' ).setLogic( d.TOPO_2INVM9_0DR15_C_MU5VFab_MU3Vab & physcond)
1829 
1830  # ATR-21566
1831  MenuItem('L1_BPH-7M22-2MU3VF' ).setLogic( d.TOPO_7INVM22_2MU3VFab & physcond)
1832  MenuItem('L1_BPH-7M22-MU5VFMU3VF' ).setLogic( d.TOPO_7INVM22_MU5VFab_MU3VFab & physcond)
1833  MenuItem('L1_BPH-7M22-0DR20-2MU3V' ).setLogic( d.TOPO_7INVM22_0DR20_2MU3Vab & physcond)
1834  MenuItem('L1_BPH-7M22-0DR20-2MU3VF' ).setLogic( d.TOPO_7INVM22_0DR20_2MU3VFab & physcond)
1835  MenuItem('L1_BPH-7M22-0DR12-2MU3V' ).setLogic( d.TOPO_7INVM22_0DR12_2MU3Vab & physcond)
1836 
1837  #ATR-22782
1838  MenuItem('L1_BPH-7M11-25DR99-2MU3VF' ).setLogic( d.TOPO_7INVM11_25DR99_2MU3VFab & physcond)
1839  MenuItem('L1_BPH-7M14-MU5VFMU3VF' ).setLogic( d.TOPO_7INVM14_MU5VFab_MU3VFab & physcond)
1840  MenuItem('L1_BPH-7M14-2MU3VF' ).setLogic( d.TOPO_7INVM14_2MU3VFab & physcond)
1841  MenuItem('L1_BPH-7M14-2MU3V' ).setLogic( d.TOPO_7INVM14_2MU3Vab & physcond)
1842 
1843  #ATR-24932
1844  MenuItem('L1_BPH-7M14-0DR25-MU5VFMU3VF' ).setLogic( d.TOPO_7INVM14_0DR25_MU5VFab_MU3VFab & physcond)
1845 
1846  # ATR-19510, SM Low-mass DY
1847  MenuItem('L1_DY-BOX-2MU3VF').setLogic( d.TOPO_5DETA99_5DPHI99_2MU3VFab & physcond)
1848  MenuItem('L1_DY-BOX-MU5VFMU3V').setLogic( d.TOPO_5DETA99_5DPHI99_MU5VFab_MU3Vab & physcond)
1849  MenuItem('L1_DY-BOX-2MU5VF').setLogic( d.TOPO_5DETA99_5DPHI99_2MU5VFab & physcond)
1850 
1851  #ATR-17320
1852  MenuItem('L1_CEP-CjJ100').setLogic( d.TOPO_CEP_CjJ100s6 & physcond )
1853  MenuItem('L1_CEP-CjJ90' ).setLogic( d.TOPO_CEP_CjJ90s6 & physcond )
1854  #ATR-18824
1855  MenuItem('L1_ZAFB-04DPHI-eEM18M' ).setLogic( d.TOPO_60INVM_04DPHI32_eEM18abm_jEM20s625ETA49 & physcond)
1856  MenuItem('L1_ZAFB-25DPHI-eEM18M' ).setLogic( d.TOPO_60INVM_25DPHI32_eEM18abm_jEM20s625ETA49 & physcond)
1857  #ATR-19302:
1858  MenuItem('L1_DPHI-M70-2eEM12M' ).setLogic( d.TOPO_0INVM70_27DPHI32_eEM12sm1_eEM12sm6 & physcond)
1859  MenuItem('L1_DPHI-M70-2eEM15M' ).setLogic( d.TOPO_0INVM70_27DPHI32_eEM15sm1_eEM15sm6 & physcond)
1860  #ATR-21637
1861  MenuItem('L1_DPHI-M70-2eEM9' ).setLogic( d.TOPO_0INVM70_27DPHI32_eEM9s1_eEM9s6 & physcond)
1862  MenuItem('L1_DPHI-M70-2eEM9L' ).setLogic( d.TOPO_0INVM70_27DPHI32_eEM9sl1_eEM9sl6 & physcond)
1863  #ATR-27782 Boosted diPhoton
1864  MenuItem('L1_DPHI12-M70-2eEM9L').setLogic(d.TOPO_0INVM70_0DPHI12_eEM9sl1_eEM9sl6 & physcond)
1865  MenuItem('L1_DPHI12-M70-2eEM12L').setLogic(d.TOPO_0INVM70_0DPHI12_eEM12sl1_eEM12sl6 & physcond)
1866  MenuItem('L1_2DR15-M70-2eEM9L').setLogic(d.TOPO_0INVM70_2DR15_eEM9sl1_eEM9sl6 & physcond)
1867  MenuItem('L1_2DR15-M70-2eEM12L').setLogic(d.TOPO_0INVM70_2DR15_eEM12sl1_eEM12sl6 & physcond)
1868  # dr-m ranges
1869  MenuItem('L1_13DR25-25M70-2eEM12L').setLogic(d.TOPO_25INVM70_13DR25_eEM12sl1_eEM12sl6 & physcond)
1870  MenuItem('L1_2DR15-0M30-2eEM12L').setLogic(d.TOPO_0INVM30_2DR15_eEM12sl1_eEM12sl6 & physcond)
1871  # asymmetric et + ranges
1872  MenuItem('L1_13DR25-25M70-eEM12LeEM9L').setLogic(d.TOPO_25INVM70_13DR25_eEM12sl1_eEM9sl6 & physcond)
1873  MenuItem('L1_2DR15-0M30-eEM12LeEM9L').setLogic(d.TOPO_0INVM30_2DR15_eEM12sl1_eEM9sl6 & physcond)
1874 
1875  #ATR-19376
1876  MenuItem('L1_10DR-MU14FCH-MU5VF' ).setLogic( d.TOPO_10DR99_2MU5VFab & d.MU14FCH & physcond)
1877  MenuItem('L1_10DR-MU14FCH-MU5VF_EMPTY' ).setLogic( d.TOPO_10DR99_2MU5VFab & d.MU14FCH & cosmiccond)
1878  MenuItem('L1_10DR-MU14FCH-MU5VF_UNPAIRED_ISO').setLogic( d.TOPO_10DR99_2MU5VFab & d.MU14FCH & unpaired_isocond)
1879 
1880  #Missing: KF
1881  # subset of legacy chains migrated phase1 boards
1882  MenuItem('L1_BPH-0M9-eEM9-eEM7').setLogic( d.TOPO_0INVM9_eEM9ab_eEMab & physcond)
1883  MenuItem('L1_BPH-0M9-eEM9-eEM7_MU5VF').setLogic( d.MU5VF & d.TOPO_0INVM9_eEM9ab_eEMab & physcond)
1884  MenuItem('L1_BPH-0M9-eEM9-eEM7_2MU3V').setLogic( d.MU3V.x(2) & d.TOPO_0INVM9_eEM9ab_eEMab & physcond)
1885  MenuItem('L1_BPH-0DR3-eEM9jJ40').setLogic( d.TOPO_0DR03_eEM9ab_CjJ40ab & physcond)
1886  MenuItem('L1_BPH-0DR3-eEM9jJ40_MU5VF').setLogic( d.MU5VF & d.TOPO_0DR03_eEM9ab_CjJ40ab & physcond)
1887  MenuItem('L1_BPH-0DR3-eEM9jJ40_2MU3V').setLogic( d.MU3V.x(2) & d.TOPO_0DR03_eEM9ab_CjJ40ab & physcond)
1888 
1889  MenuItem("L1_JPSI-1M5-eEM9" ).setLogic( d.TOPO_1INVM5_eEM9s1_eEMs6 & physcond)
1890  MenuItem("L1_JPSI-1M5-eEM15").setLogic( d.TOPO_1INVM5_eEM15s1_eEMs6 & physcond)
1891 
1892  MenuItem('L1_LLP-RO-eEM').setLogic( d.TOPO_100RATIO_0MATCH_eTAU40si2_eEMall & physcond)
1893  MenuItem('L1_LLP-NOMATCH-eEM').setLogic( d.TOPO_NOT_0MATCH_eTAU40si1_eEMall & physcond)
1894 
1895  MenuItem('L1_DR25-eTAU30eTAU20').setLogic( d.TOPO_0DR25_eTAU30ab_eTAU20ab & physcond)
1896  MenuItem('L1_DR25-eTAU30eTAU20-jJ55').setLogic( d.TOPO_2DISAMB_jJ55ab_0DR25_eTAU30ab_eTAU20ab & physcond)
1897  MenuItem('L1_DR-eTAU30eTAU20').setLogic( d.TOPO_0DR28_eTAU30ab_eTAU20ab & physcond)
1898  MenuItem('L1_DR-eTAU30eTAU20-jJ55').setLogic( d.TOPO_2DISAMB_jJ55ab_0DR28_eTAU30ab_eTAU20ab & physcond)
1899  MenuItem('L1_DR-eTAU30MeTAU20M').setLogic( d.TOPO_0DR28_eTAU30abm_eTAU20abm & physcond)
1900  MenuItem('L1_DR-eTAU30MeTAU20M-jJ55').setLogic( d.TOPO_2DISAMB_jJ55ab_0DR28_eTAU30abm_eTAU20abm & physcond)
1901  MenuItem('L1_cTAU30M_2cTAU20M_DR-eTAU30MeTAU20M').setLogic( d.cTAU30M & d.cTAU20M.x(2) & d.TOPO_0DR28_eTAU30abm_eTAU20abm & physcond)
1902  MenuItem('L1_cTAU30M_2cTAU20M_DR-eTAU30MeTAU20M-jJ55').setLogic( d.cTAU30M & d.cTAU20M.x(2) & d.TOPO_2DISAMB_jJ55ab_0DR28_eTAU30abm_eTAU20abm & physcond)
1903  MenuItem('L1_cTAU30M_2cTAU20M_DR-eTAU30eTAU20').setLogic( d.cTAU30M & d.cTAU20M.x(2) & d.TOPO_0DR28_eTAU30ab_eTAU20ab & physcond)
1904  MenuItem('L1_cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ55').setLogic( d.cTAU30M & d.cTAU20M.x(2) & d.TOPO_2DISAMB_jJ55ab_0DR28_eTAU30ab_eTAU20ab & physcond)
1905  MenuItem('L1_cTAU20M_DR-eTAU20eTAU12-jJ40').setLogic( d.cTAU20M & d.TOPO_2DISAMB_jJ40ab_0DR10_eTAU20ab_eTAU12ab & physcond)
1906  MenuItem('L1_eTAU80_2cTAU30M_DR-eTAU30eTAU20').setLogic( d.eTAU80 & d.cTAU30M.x(2) & d.TOPO_0DR28_eTAU30ab_eTAU20ab & physcond)
1907  # ATR-29439
1908  MenuItem('L1_cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ50').setLogic( d.cTAU30M & d.cTAU20M.x(2) & d.TOPO_2DISAMB_jJ50ab_0DR28_eTAU30ab_eTAU20ab & physcond)
1909  MenuItem('L1_cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ40').setLogic( d.cTAU30M & d.cTAU20M.x(2) & d.TOPO_2DISAMB_jJ40ab_0DR28_eTAU30ab_eTAU20ab & physcond)
1910  MenuItem('L1_cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ30').setLogic( d.cTAU30M & d.cTAU20M.x(2) & d.TOPO_2DISAMB_jJ30ab_0DR28_eTAU30ab_eTAU20ab & physcond)
1911 
1912 
1913  # ATR-26902
1914  MenuItem('L1_2cTAU20M_4DR28-eTAU30eTAU20-jJ55').setLogic ( d.cTAU20M.x(2) & d.TOPO_2DISAMB_jJ55ab_4DR28_eTAU30ab_eTAU20ab & physcond)
1915  MenuItem('L1_2cTAU20M_4DR32-eTAU30eTAU20-jJ55').setLogic ( d.cTAU20M.x(2) & d.TOPO_2DISAMB_jJ55ab_4DR32_eTAU30ab_eTAU20ab & physcond)
1916  MenuItem('L1_2cTAU20M_10DR32-eTAU30eTAU20-jJ55').setLogic( d.cTAU20M.x(2) & d.TOPO_2DISAMB_jJ55ab_10DR32_eTAU30ab_eTAU20ab & physcond)
1917  MenuItem('L1_4jJ30p0ETA24_0DETA24-eTAU30eTAU12').setLogic ( d.jJ300ETA25.x(4) & d.TOPO_0DETA24_eTAU30s2_eTAU12s2 & physcond)
1918  MenuItem('L1_4jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU20').setLogic ( d.jJ300ETA25.x(4) & d.TOPO_0DETA24_4DPHI99_eTAU30ab_eTAU20ab & physcond)
1919  MenuItem('L1_4jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU12').setLogic ( d.jJ300ETA25.x(4) & d.TOPO_0DETA24_4DPHI99_eTAU30ab_eTAU12ab & physcond)
1920  MenuItem('L1_4jJ30p0ETA24_0DETA24_10DPHI99-eTAU30eTAU12').setLogic( d.jJ300ETA25.x(4) & d.TOPO_0DETA24_10DPHI99_eTAU30ab_eTAU12ab & physcond)
1921  MenuItem('L1_jJ85p0ETA21_3jJ40p0ETA25_cTAU20M_2cTAU12M').setLogic ( d.jJ850ETA21 & d.jJ400ETA25.x(3) & d.cTAU20M & d.cTAU12M.x(2) & physcond)
1922  #ATR-27132
1923  MenuItem('L1_cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24-eTAU30eTAU12').setLogic ( d.cTAU20M & d.cTAU12M & d.jJ300ETA25.x(4) & d.TOPO_0DETA24_eTAU30s2_eTAU12s2 & physcond)
1924  MenuItem('L1_cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU20').setLogic ( d.cTAU20M & d.cTAU12M & d.jJ300ETA25.x(4) & d.TOPO_0DETA24_4DPHI99_eTAU30ab_eTAU20ab & physcond)
1925  MenuItem('L1_cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU12').setLogic ( d.cTAU20M & d.cTAU12M & d.jJ300ETA25.x(4) & d.TOPO_0DETA24_4DPHI99_eTAU30ab_eTAU12ab & physcond)
1926  MenuItem('L1_cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24_10DPHI99-eTAU30eTAU12').setLogic( d.cTAU20M & d.cTAU12M & d.jJ300ETA25.x(4) & d.TOPO_0DETA24_10DPHI99_eTAU30ab_eTAU12ab & physcond)
1927 
1928  MenuItem('L1_jMJJ-400-NFF-0DPHI20').setLogic( d.TOPO_400INVM_0DPHI20_jJ60s6_AjJ50s6 & physcond)
1929  MenuItem('L1_jMJJ-400-NFF-0DPHI22').setLogic( d.TOPO_400INVM_0DPHI22_jJ60s6_AjJ50s6 & physcond)
1930  MenuItem('L1_jMJJ-400-NFF-0DPHI24').setLogic( d.TOPO_400INVM_0DPHI24_jJ60s6_AjJ50s6 & physcond)
1931  MenuItem('L1_jMJJ-400-NFF-0DPHI26').setLogic( d.TOPO_400INVM_0DPHI26_jJ60s6_AjJ50s6 & physcond)
1932  MenuItem('L1_jMJJ-300-NFF').setLogic( d.TOPO_300INVM_jJ60s6_AjJ50s6 & physcond)
1933  MenuItem('L1_jMJJ-400-NFF').setLogic( d.TOPO_400INVM_jJ60s6_AjJ50s6 & physcond)
1934  MenuItem('L1_jMJJ-500-NFF').setLogic( d.TOPO_500INVM_jJ60s6_AjJ50s6 & physcond)
1935  MenuItem('L1_jMJJ-700').setLogic( d.TOPO_700INVM_AjJ60s6_AjJ50s6 & physcond)
1936  MenuItem('L1_jMJJ-700-NFF').setLogic( d.TOPO_700INVM_jJ60s6_AjJ50s6 & physcond)
1937  MenuItem('L1_MU5VF_jMJJ-300-NFF').setLogic( d.MU5VF & d.TOPO_300INVM_jJ60s6_AjJ50s6 & physcond)
1938  MenuItem('L1_eEM22M_jMJJ-300').setLogic( d.eEM22M & d.TOPO_300INVM_AjJ60s6_AjJ50s6 & physcond)
1939  MenuItem('L1_eEM22M_jMJJ-300-NFF').setLogic( d.eEM22M & d.TOPO_300INVM_jJ60s6_AjJ50s6 & physcond)
1940  MenuItem('L1_HT150-jJ50s5pETA32_jMJJ-400-CF').setLogic( d.TOPO_HT150_jJ50s5pETA32 & d.TOPO_400INVM_AjJ60s6pETA32_AjJ50s6p30ETA49 & physcond)
1941  MenuItem('L1_jMJJ-400-CF').setLogic( d.TOPO_400INVM_AjJ60s6pETA32_AjJ50s6p30ETA49 & physcond)
1942  MenuItem('L1_jJ90_DETA20-jJ90J').setLogic( d.jJ50 & d.TOPO_0DETA20_jJ90s1_jJs2 & physcond)
1943  MenuItem('L1_HT190-jJ40s5pETA21').setLogic( d.TOPO_HT190_jJ40s5pETA21 & physcond)
1944  MenuItem('L1_SC111-CjJ40').setLogic( d.TOPO_SC111_CjJ40abpETA26 & physcond)
1945 
1946  # Needed?
1947  MenuItem('L1_DPHI-2eEM5').setLogic( d.TOPO_27DPHI32_eEMs1_eEMs6 & physcond)
1948  # Need to redefine these wrt Phase-I TE
1949  MenuItem('L1_DPHI-2eEM5_VTE5p24ETA49').setLogic( d.TOPO_27DPHI32_eEMs1_eEMs6 & Not(d.TE524ETA49) & physcond).setTriggerType(TT.calo)
1950  MenuItem('L1_DPHI-2eEM5_VTE10').setLogic( d.TOPO_27DPHI32_eEMs1_eEMs6 & Not(d.TE10) & physcond).setTriggerType(TT.calo)
1951  MenuItem('L1_DPHI-2eEM9_VTE50').setLogic( d.eEM9.x(2) & d.TOPO_27DPHI32_eEMs1_eEMs6 & Not(d.TE50) & physcond).setTriggerType(TT.calo)
1952  MenuItem('L1_BTAG-MU3VjJ40').setLogic( d.TOPO_0DR04_MU3Vab_CjJ40ab & physcond)
1953  MenuItem('L1_BTAG-MU5VFjJ80').setLogic( d.TOPO_0DR04_MU5VFab_CjJ80ab & physcond)
1954  MenuItem('L1_BTAG-MU5VFjJ90').setLogic( d.TOPO_0DR04_MU5VFab_CjJ90ab & physcond)
1955  MenuItem('L1_BPH-8M15-2MU3V-BO' ).setLogic( d.TOPO_8INVM15_2CMU3Vab & physcond) # 96% for Upsi
1956 
1957  except NameError as ex:
1958  exc_type, exc_value, exc_traceback = sys.exc_info()
1959  fn,ln,_,_ = traceback.extract_tb(exc_traceback)[0]
1960  fn = fn.rsplit("/",1)[-1]
1961 
1962  msg = ex.args[0]
1963  log.error("Creation of L1Topo item failed, since variable %s" % msg)
1964  m = re.match("name '(?P<varname>.*)' is not defined", msg)
1965  if m:
1966  newmsg = "In line %i in file %s, %s" % (ln, fn, msg)
1967  missingVar = m.groupdict()["varname"]
1968  key = missingVar.split('_',1)[-1]
1969  if key in ItemDef.otherTopoNames:
1970  alternative = ', '.join(ItemDef.otherTopoNames[key])
1971  log.info("However, there is an alternative defined: %s" % alternative)
1972  newmsg += ", however there is an alternative: %s" % alternative
1973  ex.args=(newmsg,)
1974  raise
1975 
1976 
1977  except Exception as ex:
1978  log.error( "Creation of L1Topo item failed, will abort!: %s" , ex)
1979  raise
1980 
1981 
1982  # =======================================================
1983  #
1984  # Here we define the items for the secondary partitions
1985  #
1986  # =======================================================
1987 
1988  # Partition 2
1989  MenuItem.currentPartition = 2
1990 
1991  #Removed after ATR-17056 since we need L1_BCM_CA_UNPAIREDB2 in partition 1
1992  #MenuItem('L1_RD2_BGRP14' ).setLogic( d.RNDM2 & d.BGRP0 & d.BGRP14 ).setTriggerType(TT.rand)
1993 
1994 
1995  # Partition 3
1996  MenuItem.currentPartition = 3
1997 
1998  MenuItem('L1_RD3_BGRP15' ).setLogic( d.RNDM3 & d.BGRP0 & d.BGRP15 ).setTriggerType(TT.rand)
1999 
2000 
2001  # reset to partition 1
2002  MenuItem.currentPartition = 1
2003 
2004  MenuItem.l1configForRegistration = None
2005 
2006  @staticmethod
2008  """
2009  CTP maps the L1 items to its inputs via two switch matrices.
2010  The first one is used to identify all CTP inputs, and is constructed
2011  using a dummy menu which accesses every input item.
2012  We construct this menu dynamically by reading all of the thresholds
2013  on every connector.
2014  The real L1 menu is used to generate the second switch matrix only.
2015  """
2016 
2017  MenuItem.l1configForRegistration = tc
2018 
2019  d = ItemDef.threshold_conditions(tc)
2020 
2021  # Use this as a default
2022  physcond = d.BGRP0 & d.BGRP1
2023 
2024  for board in list(L1MenuFlags.boards().values()) + list(L1MenuFlags.legacyBoards().values()):
2025  log.info(f"Currently reading config for board {board['name']}")
2026 
2027  # Only neededed for the direct CTPIN cables
2028  if board['name'] not in ['Ctpin7','Ctpin8','Ctpin9']:
2029  continue
2030 
2031  # Ignore the sub-boards, just use the merger board
2032  if board['name'] in ['LegacyTopo0','LegacyTopo1']:
2033  continue
2034 
2035  for conn in board['connectors']:
2036  itemname = f"L1_{conn['name']}_Thresholds"
2037 
2038  # Handling for Phase-I topo algorithms
2039  if conn['name'] in ['Topo2El','Topo3El','MuCTPiEl']:
2040  # Accumulate list of thresholds for the connector
2041  thresholds = []
2042 
2043  prefix = 'MUTOPO' if conn['name'] == 'MuCTPiEl' else 'TOPO'
2044 
2045  for g in conn['algorithmGroups']:
2046  for a in g['algorithms']:
2047  for l in a.outputlines:
2048  thresholds.append(f"{prefix}_{l}")
2049  log.info(f"Combining {len(thresholds)} thresholds into item {itemname} for connector {conn['name']}")
2050 
2051  # Need to do AND here because the AND logic occurs in the fully connected CAM,
2052  # while OR is later in the LUTs which support fewer inputs
2053  item_str = '&'.join(f"d.{t.replace('-','_')}" for t in thresholds)
2054  log.info(item_str)
2055  MenuItem(itemname).setLogic(eval(item_str) & physcond)
2056 
2057 
2058  elif conn['name'] == 'LegacyTopoMerged':
2059  # Accumulate list of thresholds for the connector
2060  thresholds = []
2061  for g in conn['signalGroups']:
2062  for s in g['signals']:
2063  if s.__class__==str:
2064  thresholds.append(s)
2065  elif s.__class__==tuple and s[0]:
2066  thresholds.append(s[0])
2067  log.info(f"Combining {len(thresholds)} thresholds into item {itemname} for connector {conn['name']}")
2068 
2069  # Need to do AND here because the AND logic occurs in the fully connected CAM,
2070  # while OR is later in the LUTs which support fewer inputs
2071  item_str = '&'.join(f"d.{t.replace('-','_')}" for t in thresholds)
2072  log.info(item_str)
2073  MenuItem(itemname).setLogic(eval(item_str) & physcond)
2074 
2075 
2076  # Handling for multiplicity thresholds
2077  else:
2078 
2079  # Accumulate list of thresholds for the connector
2080  thresholds = []
2081  for t in conn['thresholds']:
2082  if t.__class__==str and 'SPARE' not in t:
2083  thresholds.append(t)
2084  elif t.__class__==tuple and t[0] and 'SPARE' not in t[0]:
2085  thresholds.append(t[0])
2086  log.info(f"Combining {len(thresholds)} thresholds into item {itemname} for connector {conn['name']}")
2087 
2088  # Need to do AND here because the AND logic occurs in the fully connected CAM,
2089  # while OR is later in the LUTs which support fewer inputs
2090  # For some reason we drop the 'p' (Run 2 '.') here
2091  item_str = '&'.join(f"d.{t.replace('p','')}" for t in thresholds)
2092  log.info(item_str)
2093  MenuItem(itemname).setLogic(eval(item_str) & physcond)
2094 
2095  MenuItem.l1configForRegistration = None
python.L1.Config.ItemDef.ItemDef.registerItems
def registerItems(tc, menuName)
Definition: ItemDef.py:55
python.L1.Base.Logic.Not
def Not(x)
Definition: Logic.py:180
hist_file_dump.d
d
Definition: hist_file_dump.py:137
python.L1.Base.Items.MenuItem
Definition: Items.py:79
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:797
python.L1.Config.ItemDef.ItemDef.threshold_conditions
def threshold_conditions(tc)
Definition: ItemDef.py:36
python.L1.Config.ItemDef.ItemDef
Definition: ItemDef.py:28
python.L1.Base.Items.meta_d
Definition: Items.py:193
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.L1.Config.ItemDef.ItemDef.registerItems_AllCTPIn
def registerItems_AllCTPIn(tc)
Definition: ItemDef.py:2007
python.L1.Base.CTPCondition.InternalTrigger
Definition: CTPCondition.py:33
python.L1.Base.CTPCondition.ThrCondition
Definition: CTPCondition.py:8
Trk::split
@ split
Definition: LayerMaterialProperties.h:38