98 this functions marks the items that should be monitored by setting the corresponding monitoring flags
99 e.g. to "LF:000|HF:111" for high frequency monitoring of TBP, TAP, and TAV.
106 monItems = { 1 :[], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [] }
107 monItemsHF = { 1 :[], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [] }
111 if 'HI' not in menuName:
112 monItems[TBP|TAP|TAV] = [
114 "L1_MU10BO",
"L1_MU10BOM",
"L1_MU12BOM",
"L1_MU14FCH",
115 "L1_MU3V",
"L1_MU4BOM",
"L1_MU5VF",
"L1_MU8VFC",
116 "L1_2MU3V",
"L1_2MU3VF",
"L1_2MU5VF",
117 "L1_MU5VF_2MU3V",
"L1_MU8VF_2MU5VF",
118 "L1_3MU3V",
"L1_MU5VF_3MU3VF",
"L1_4MU3V",
121 "L1_eEM5",
"L1_eEM9",
"L1_eEM12L",
122 "L1_eEM18L",
"L1_eEM18M",
"L1_eEM24L",
123 "L1_eEM26",
"L1_eEM26L",
"L1_eEM26M",
"L1_eEM26T",
125 "L1_2eEM18M",
"L1_2eEM24L",
126 "L1_eEM24L_3eEM12L",
"L1_eEM40L_2eEM18L",
127 "L1_eTAU20M",
"L1_eTAU30",
128 "L1_eTAU60",
"L1_eTAU80",
130 "L1_cTAU20M",
"L1_cTAU35M",
131 "L1_cTAU30M_2cTAU20M",
132 "L1_jJ30",
"L1_jJ40",
"L1_jJ50",
133 "L1_jJ60",
"L1_jJ125",
134 "L1_jJ160",
"L1_jJ500",
135 "L1_jJ40p30ETA49",
"L1_jJ50p30ETA49",
136 "L1_jJ60p30ETA49",
"L1_jJ125p30ETA49",
137 "L1_4jJ40",
"L1_4jJ50",
138 "L1_3jJ70p0ETA23",
"L1_4jJ40p0ETA25",
"L1_5jJ40p0ETA25",
139 "L1_jJ140_3jJ60",
"L1_jJ85p0ETA21_3jJ40p0ETA25",
140 "L1_jXE60",
"L1_jXE70",
"L1_jXE80",
"L1_jXE90",
"L1_jXE100",
"L1_eTAU12",
141 "L1_jXE110",
"L1_jXE120",
"L1_jXE500",
144 "L1_jTEC200",
"L1_jTEFWD100",
"L1_jTEFWDA100",
"L1_jTEFWDC100",
145 "L1_gJ20p0ETA25",
"L1_gJ20p25ETA49",
"L1_gJ50p0ETA25",
146 "L1_gJ100p0ETA25",
"L1_gJ400p0ETA25",
147 "L1_gLJ80p0ETA25",
"L1_gLJ100p0ETA25",
"L1_gLJ140p0ETA25",
"L1_gLJ160p0ETA25",
148 "L1_gXEJWOJ60",
"L1_gXEJWOJ70",
"L1_gXEJWOJ80",
"L1_gXEJWOJ100",
"L1_gXEJWOJ110",
"L1_gXEJWOJ120",
"L1_gXEJWOJ500",
149 "L1_cXE100",
"L1_cXE110",
153 "L1_2eEM10L_MU8F",
"L1_MU3V_jJ40",
155 "L1_LLPDPHI-jXE40-jJ40",
156 "L1_BPH-0M9-eEM9-eEM7_MU5VF",
157 "L1_BTAG-MU5VFjJ20_2jJ40p0ETA25_jJ50p0ETA25",
158 "L1_BPH-0M9-eEM9-eEM7",
"L1_BPH-0M10-3MU3V",
"L1_BPH-0M10-3MU3VF",
159 "L1_JPSI-1M5-eEM9",
"L1_JPSI-1M5-eEM15",
160 "L1_BTAG-MU3VjJ40",
"L1_BTAG-MU5VFjJ80",
161 "L1_cTAU30M_2cTAU20M_DR-eTAU30LeTAU20L",
163 "L1_DY-BOX-2MU3VF",
"L1_DY-BOX-MU5VFMU3V",
164 "L1_LAR-ZEE-eEM",
"L1_LFV-MU5VF",
165 "L1_10DR-MU14FCH-MU5VF_EMPTY",
"L1_DPHI-M70-2eEM12M",
169 if 'HI' not in menuName:
170 if 'run3' in menuName:
171 monItems[TBP|TAP|TAV] += [
"L1_eTAU140"]
172 monItems[TBP|TAP|TAV] += [
"L1_3jJ90",
"L1_jJ90",
"L1_jJ90p30ETA49"]
174 monItems[TBP|TAP|TAV] += [
"L1_eTAU120"]
175 monItems[TBP|TAP|TAV] += [
"L1_3jJ70",
"L1_jJ70"]
178 "L1_HT190-jJ40s5pETA21",
"L1_jMJJ-500-NFF",
179 "L1_LLP-RO-eEM",
"L1_LLP-NOMATCH-eEM",
181 "L1_ZAFB-25DPHI-eEM18M",
183 "L1_LFV-eEM10L-MU8VF",
"L1_LFV-eEM15L-MU5VF",
186 if 'MC' not in menuName:
187 monItems[TBP|TAP|TAV] += [
190 "L1_LUCID_A",
"L1_LUCID_C",
191 "L1_CALREQ1",
"L1_CALREQ2",
194 "L1_BPTX0_BGRP12",
"L1_BPTX1_BGRP12",
198 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN",
200 "L1_AFP_A_AND_C_TOF_T0T1",
201 "L1_AFP_FSA_BGRP12",
"L1_AFP_FSC_BGRP12",
202 "L1_AFP_FSA_TOF_T0_BGRP12",
"L1_AFP_FSA_TOF_T1_BGRP12",
203 "L1_AFP_FSC_TOF_T0_BGRP12",
"L1_AFP_FSC_TOF_T1_BGRP12",
204 "L1_AFP_A_OR_C_EMPTY",
205 "L1_AFP_NSA_BGRP12",
"L1_AFP_NSC_BGRP12",
206 "L1_AFP_A",
"L1_AFP_C",
"L1_AFP_A_AND_C",
207 "L1_MBTS_A",
"L1_MBTS_C",
208 "L1_MBTS_1",
"L1_MBTS_1_1",
"L1_MBTS_2",
209 "L1_MBTS_1_A",
"L1_MBTS_1_C",
"L1_MBTS_4_A",
"L1_MBTS_4_C",
211 "L1_AFP_A_AND_C_TOF_jJ50",
213 "L1_AFP_A_AND_C_TOF_T0T1_jJ90",
216 "L1_MU3VF",
"L1_MU8F",
"L1_MU8FC",
"L1_MU8VF",
217 "L1_MU3VC",
"L1_MU3EOF",
"L1_MU4BO",
218 "L1_MU8FH",
"L1_MU8EOF",
219 "L1_MU9VF",
"L1_MU9VFC",
220 "L1_MU12FCH",
"L1_MU14FCHR",
"L1_MU14EOF",
221 "L1_MU15VFCH",
"L1_MU15VFCHR",
222 "L1_MU18VFCH",
"L1_MU20VFC",
223 "L1_2MU8F",
"L1_2MU8VF",
224 "L1_2MU14FCH_OVERLAY",
226 "L1_jJ55",
"L1_jJ80",
"L1_jJ140",
"L1_jJ180",
227 "L1_jJ30p0ETA25",
"L1_jJ40p0ETA25",
228 "L1_jJ70p0ETA23",
"L1_jJ55p0ETA23",
229 "L1_jJ80p0ETA25",
"L1_jJ85p0ETA21",
230 "L1_jEM25",
"L1_jEM20M",
232 "L1_eEM7",
"L1_eEM10L",
"L1_eEM15",
233 "L1_eEM18",
"L1_eEM22M",
"L1_eEM24VM",
236 "L1_eTAU20L",
"L1_eTAU35",
"L1_eTAU40HM",
240 monItems[TBP|TAP|TAV] = [
245 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
251 "L1_MBTS_2_2",
"L1_MBTS_3_3",
"L1_MBTS_4_4",
255 "L1_MU3V",
"L1_MU5VF",
256 "L1_MU8F",
"L1_MU8VF",
258 "L1_2MU3V",
"L1_2MU5VF",
260 "L1_2MU14FCH_OVERLAY",
262 "L1_eEM5",
"L1_eEM9",
"L1_eEM12",
"L1_eEM15",
263 "L1_eEM18",
"L1_eEM18L",
264 "L1_eEM26",
"L1_eEM26M",
267 "L1_jJ20",
"L1_jJ30",
"L1_jJ40",
"L1_jJ50",
268 "L1_jJ55",
"L1_jJ60",
"L1_jJ90",
"L1_jJ125",
270 "L1_jJ40p30ETA49",
"L1_jJ50p30ETA49",
"L1_jJ60p30ETA49",
273 "L1_gJ20p0ETA25",
"L1_gJ400p0ETA25",
275 "L1_gLJ80p0ETA25",
"L1_gXEJWOJ100",
283 if "MC" not in menuName:
284 monItems[TBP|TAP|TAV] += [
286 "L1_CALREQ0",
"L1_CALREQ1",
"L1_CALREQ2",
287 "L1_BPTX0_BGRP12",
"L1_BPTX1_BGRP12",
293 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN",
295 "L1_LUCID_A",
"L1_LUCID_C",
299 "L1_MBTS_1",
"L1_MBTS_2",
"L1_MBTS_1_1",
304 if "lowMu" in menuFullName:
305 monItems[TBP|TAP|TAV].extend([
307 "L1_AFP_A_OR_C",
"L1_AFP_A_AND_C",
309 "L1_AFP_A_AND_C_TOF_T0T1_jJ125",
310 "L1_AFP_A_AND_C_TOF_T0T1_jJ50",
311 "L1_AFP_A_AND_C_TOF_T0T1_jJ60",
312 "L1_AFP_A_AND_C_TOF_T0T1_jJ90",
313 "L1_AFP_A_AND_C_TOF_jJ125",
314 "L1_AFP_A_AND_C_TOF_jJ50",
315 "L1_AFP_A_AND_C_TOF_jJ60",
316 "L1_AFP_A_AND_C_TOF_jJ90",
317 "L1_AFP_A_AND_C_jJ20",
318 "L1_AFP_A_AND_C_jJ30",
319 "L1_AFP_A_OR_C_jJ20",
320 "L1_AFP_A_OR_C_jJ30",
324 "L1_MU5VF_AFP_A_OR_C",
326 "L1_eEM9_AFP_A_AND_C",
328 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
"L1_ZDC_OR",
"L1_ZDC_XOR",
333 "L1_jTE5",
"L1_jTE10",
"L1_jTE20",
"L1_jTE50",
334 "L1_jJ10",
"L1_jJ20",
335 "L1_eEM5",
"L1_eEM9",
339 if "MC" not in menuName:
340 monItems[TBP|TAP|TAV].extend([
343 "L1_AFP_A",
"L1_AFP_C",
346 "L1_AFP_FSA_TOF_T0_BGRP12",
347 "L1_AFP_FSA_TOF_T1_BGRP12",
348 "L1_AFP_FSA_TOF_T2_BGRP12",
349 "L1_AFP_FSA_TOF_T3_BGRP12",
351 "L1_AFP_FSC_TOF_T0_BGRP12",
352 "L1_AFP_FSC_TOF_T1_BGRP12",
353 "L1_AFP_FSC_TOF_T2_BGRP12",
354 "L1_AFP_FSC_TOF_T3_BGRP12",
358 "L1_AFP_A_AND_C_TOF_T0T1",
362 monItems[TBP|TAP|TAV].extend([
366 "L1_ZDC_XOR",
"L1_ZDC_C_VZDC_A",
"L1_ZDC_A_VZDC_C",
367 "L1_1ZDC_A_VZDC_C",
"L1_VZDC_A_1ZDC_C",
368 "L1_1ZDC_A_1ZDC_C",
"L1_5ZDC_A_VZDC_C",
"L1_VZDC_A_5ZDC_C",
369 "L1_ZDC_1XOR5",
"L1_5ZDC_A_5ZDC_C",
373 "L1_eEM1",
"L1_eEM2",
375 "L1_DPHI-2eEM1",
"L1_DPHI-2eTAU1",
376 "L1_DPHI-2eEM1_VjTE200",
377 "L1_2eEM1_VjTE200",
"L1_2eEM2_VjTE200",
378 "L1_eEM5_VjTE200",
"L1_eEM9_VjTE200",
379 "L1_eEM1_jTE4_VjTE200",
"L1_eEM2_jTE4_VjTE200",
"L1_eTAU1_jTE4_VjTE200",
387 "L1_jJ5p30ETA49",
"L1_jJ10p30ETA49",
389 "L1_jTE3",
"L1_jTE4",
"L1_jTE5",
"L1_jTE10",
"L1_jTE20",
"L1_jTE50",
390 "L1_jTE100",
"L1_jTE600",
"L1_jTE1500",
"L1_jTE6500",
"L1_jTEFWD2600",
"L1_jTEFWD5600",
"L1_jTEFWD6300",
"L1_jTEFWD6600",
393 "L1_VjTE10",
"L1_VjTE200",
"L1_VjTE600",
"L1_jTE50_VjTE600",
395 "L1_GAP_A",
"L1_GAP_C",
"L1_GAP_AANDC",
397 "L1_MU3V_VjTE50",
"L1_MU3V_VjTE200",
399 "L1_TRT_VjTE20",
"L1_eEM1_TRT_VjTE100",
400 "L1_TRT_ZDC_XOR_VjTE200",
"L1_TRT_1ZDC_NZDC_VjTE200",
402 "L1_ZDC_A_C_VjTE10",
"L1_ZDC_XOR_VjTE10",
"L1_TRT_ZDC_A_C_VjTE10",
"L1_TRT_ZDC_XOR_VjTE10",
403 "L1_TRT_ZDC_A_VjTE50",
"L1_TRT_ZDC_C_VjTE50",
405 "L1_MBTS_2_VZDC_A_ZDC_C_VjTE200_GAP_A",
"L1_MBTS_2_1ZDC_NZDC_VjTE200_GAP_A",
406 "L1_MBTS_2_ZDC_A_VZDC_C_VjTE200_GAP_C",
"L1_MBTS_2_1ZDC_NZDC_VjTE200_GAP_C",
407 "L1_MBTS_1_VZDC_A_ZDC_C_jTE3_VjTE200_GAP_A",
"L1_MBTS_1_1ZDC_NZDC_jTE3_VjTE200_GAP_A",
408 "L1_MBTS_1_ZDC_A_VZDC_C_jTE3_VjTE200_GAP_C",
"L1_MBTS_1_1ZDC_NZDC_jTE3_VjTE200_GAP_C",
410 "L1_1ZDC_A_1ZDC_C_VjTE200",
"L1_ZDC_1XOR5_VjTE200",
411 "L1_ZDC_XOR_VjTE200",
413 "L1_ZDC_XOR_jJ10_VjTE200",
415 "L1_ZDC_HELT20_jTEFWD2600",
416 "L1_ZDC_HELT35_jTEFWD2600",
417 "L1_ZDC_HELT50_jTEFWD2600",
419 "L1_TEA_TeAsymmetry-jTENoSort",
423 "L1_TEA_jJ5p30ETA49",
424 "L1_ESP_TeAsymmetry-jTENoSort",
428 "L1_ESP_jJ5p30ETA49",
430 'L1_TeATIME-jTENoSort',
432 'L1_TeAsymmetry-jTENoSort',
433 'L1_TeAsymmetry1-jTENoSort',
434 'L1_TeAsymmetry2-jTENoSort',
435 'L1_TeAsymmetry3-jTENoSort',
440 'L1_CALMTEA_eEM2_VjTE200',
441 'L1_CALMTEA_eTAU2_VjTE200',
444 'L1_MATCHA_eTAU2_VjTE200',
445 'L1_MATCHA_eTAU2_EMPTY',
446 'L1_MATCHA_eTAU2_VjTE200_EMPTY',
448 'L1_ESP_1ZDC_NZDC_jJ10_VjTE200',
449 'L1_ESP_5ZDC_A_5ZDC_C_jJ10_VjTE200',
450 'L1_ESP_VZDC_A_VZDC_C_jJ10_VjTE200',
451 'L1_ESP_VZDC_A_VZDC_C_jJ10p30ETA49_VjTE200',
452 'L1_ESP_VZDC_A_VZDC_C_jJ5p30ETA49_VjTE200',
453 'L1_ESP_ZDC_5XOR_jJ10_VjTE200',
454 'L1_ESP_ZDC_XOR_jJ10_VjTE200',
455 'L1_ESP_ZDC_XOR_jJ10p30ETA49_VjTE200',
456 'L1_ESP_ZDC_XOR_jJ5p30ETA49_VjTE200',
458 'L1_ESP_ASYM0_TRT_ZDC_XOR_VjTE200',
459 'L1_ESP_ASYM1_TRT_ZDC_XOR_VjTE200',
460 'L1_ESP_ASYM2_TRT_ZDC_XOR_VjTE200',
461 'L1_ESP_ASYM3_TRT_ZDC_XOR_VjTE200',
463 'L1_ESP_ASYM0_ZDC_XOR_VjTE200',
464 'L1_ESP_ASYM1_ZDC_XOR_VjTE200',
465 'L1_ESP_ASYM2_ZDC_XOR_VjTE200',
466 'L1_ESP_ASYM3_ZDC_XOR_VjTE200',
468 'L1_23INVM-27DPHI-2eTAU1_VjTE200',
470 'L1_CALMTEA_DPHI-2eTAU1_VjTE200',
471 'L1_CALMTEA_DPHI-2eTAU1_VjTE200_EMPTY',
473 'L1_CALMTEA_23INVM-27DPHI-2eTAU1_VjTE200',
474 'L1_CALMTEA_23INVM-27DPHI-2eTAU1_VjTE200_EMPTY',
478 if "MC" not in menuName:
479 monItems[TBP|TAP|TAV].extend([
482 monItems[TBP|TAP|TAV] += topo3_monitems
486 monItemsHF[TBP|TAP|TAV] = [
488 "L1_MBTS_1",
"L1_MBTS_2",
"L1_MBTS_1_1",
490 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN"
494 monItemsHF[TBP|TAP|TAV].extend([
497 if "lowMu" in menuFullName:
498 monItemsHF[TBP|TAP|TAV].extend([
500 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
"L1_ZDC_OR",
504 monItemsHF[TBP|TAP|TAV].extend([
505 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
506 "L1_ZDC_OR",
"L1_ZDC_XOR",
507 "L1_ZDC_C_VZDC_A",
"L1_ZDC_A_VZDC_C",
"L1_5ZDC_A_5ZDC_C",
515 counts_LF_items = { TBP :
set(), TAP :
set(), TAV :
set() }
516 counts_HF_items = { TBP :
set(), TAP :
set(), TAV :
set() }
521 counts_LF_items[TBP].update( monItems[k] )
522 counts_HF_items[TBP].update( monItemsHF[k] )
525 counts_LF_items[TAP].update( monItems[k] )
526 counts_HF_items[TAP].update( monItemsHF[k] )
529 counts_LF_items[TAV].update( monItems[k] )
530 counts_HF_items[TAV].update( monItemsHF[k] )
532 counts_LF = dict(
map(
lambda x : (x[0],len(x[1])), counts_LF_items.items() ) )
533 counts_HF = dict(
map(
lambda x : (x[0],len(x[1])), counts_HF_items.items() ) )
535 lutsLF = int( (
max(counts_LF.values())-1) / 8) + 1
536 lutsHF = int( (
max(counts_HF.values())-1) / 8) + 1
539 if lutsLF + lutsHF > maxLUTs:
540 log.error(
"too many monitoring items are defined:")
541 log.error(
" low frequency TBP: %i",counts_LF[TBP])
542 log.error(
" TAP: %i",counts_LF[TAP])
543 log.error(
" TAV: %i",counts_LF[TAV])
544 log.error(
" required LUTs: %i",lutsLF)
545 log.error(
" high frequency TBP: %i",counts_HF[TBP])
546 log.error(
" TAP: %i",counts_HF[TAP])
547 log.error(
" TAV: %i",counts_HF[TAV])
548 log.error(
" required LUTs: %i",lutsHF)
549 log.error(
" this menu requires %i monitoring LUTs while only %i are available", (lutsLF + lutsHF), maxLUTs)
550 raise RuntimeError(
"Reduce the number of monitored items")
552 if 'AllCTPIn' not in menuName:
553 MonitorDef.checkForNonExistingMonItems(items, monItems)
559 for k,l
in monItems.items():
562 item.addMonitor(k, MonitorDef.LOW_FREQ)
565 for k,l
in monItemsHF.items():
568 item.addMonitor(k, MonitorDef.HIGH_FREQ)