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",
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_gXENC100",
"L1_gXENC110",
150 "L1_cXE100",
"L1_cXE110",
154 "L1_2eEM10L_MU8F",
"L1_MU3V_jJ40",
156 "L1_LLPDPHI-jXE40-jJ40",
157 "L1_BPH-0M9-eEM9-eEM7_MU5VF",
158 "L1_BTAG-MU5VFjJ20_2jJ40p0ETA25_jJ50p0ETA25",
159 "L1_BPH-0M9-eEM9-eEM7",
"L1_BPH-0M10-3MU3V",
"L1_BPH-0M10-3MU3VF",
160 "L1_JPSI-1M5-eEM9",
"L1_JPSI-1M5-eEM15",
161 "L1_BTAG-MU3VjJ40",
"L1_BTAG-MU5VFjJ80",
162 "L1_cTAU30M_2cTAU20M_DR-eTAU30LeTAU20L",
164 "L1_DY-BOX-2MU3VF",
"L1_DY-BOX-MU5VFMU3V",
165 "L1_LAR-ZEE-eEM",
"L1_LFV-MU5VF",
166 "L1_10DR-MU14FCH-MU5VF_EMPTY",
"L1_DPHI-M70-2eEM12M",
170 if 'HI' not in menuName:
171 if 'run3' in menuName:
172 monItems[TBP|TAP|TAV] += [
"L1_eTAU140"]
173 monItems[TBP|TAP|TAV] += [
"L1_3jJ90",
"L1_jJ90",
"L1_jJ90p30ETA49"]
175 monItems[TBP|TAP|TAV] += [
"L1_eTAU120"]
176 monItems[TBP|TAP|TAV] += [
"L1_3jJ70",
"L1_jJ70"]
179 "L1_HT190-jJ40s5pETA21",
"L1_jMJJ-500-NFF",
180 "L1_LLP-RO-eEM",
"L1_LLP-NOMATCH-eEM",
182 "L1_ZAFB-25DPHI-eEM18M",
184 "L1_LFV-eEM10L-MU8VF",
"L1_LFV-eEM15L-MU5VF",
187 if 'MC' not in menuName:
188 monItems[TBP|TAP|TAV] += [
191 "L1_LUCID_A",
"L1_LUCID_C",
192 "L1_CALREQ1",
"L1_CALREQ2",
195 "L1_BPTX0_BGRP12",
"L1_BPTX1_BGRP12",
199 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN",
201 "L1_AFP_A_AND_C_TOF_T0T1",
202 "L1_AFP_FSA_BGRP12",
"L1_AFP_FSC_BGRP12",
203 "L1_AFP_FSA_TOF_T0_BGRP12",
"L1_AFP_FSA_TOF_T1_BGRP12",
204 "L1_AFP_FSC_TOF_T0_BGRP12",
"L1_AFP_FSC_TOF_T1_BGRP12",
205 "L1_AFP_A_OR_C_EMPTY",
206 "L1_AFP_NSA_BGRP12",
"L1_AFP_NSC_BGRP12",
207 "L1_AFP_A",
"L1_AFP_C",
"L1_AFP_A_AND_C",
208 "L1_MBTS_A",
"L1_MBTS_C",
209 "L1_MBTS_1",
"L1_MBTS_1_1",
"L1_MBTS_2",
210 "L1_MBTS_1_A",
"L1_MBTS_1_C",
"L1_MBTS_4_A",
"L1_MBTS_4_C",
212 "L1_AFP_A_AND_C_TOF_jJ50",
214 "L1_AFP_A_AND_C_TOF_T0T1_jJ90",
217 "L1_MU3VF",
"L1_MU8F",
"L1_MU8FC",
"L1_MU8VF",
218 "L1_MU3VC",
"L1_MU3EOF",
"L1_MU4BO",
219 "L1_MU8FH",
"L1_MU8EOF",
220 "L1_MU9VF",
"L1_MU9VFC",
221 "L1_MU12FCH",
"L1_MU14FCHR",
"L1_MU14EOF",
222 "L1_MU15VFCH",
"L1_MU15VFCHR",
223 "L1_MU18VFCH",
"L1_MU20VFC",
224 "L1_2MU8F",
"L1_2MU8VF",
225 "L1_2MU14FCH_OVERLAY",
227 "L1_jJ55",
"L1_jJ80",
"L1_jJ140",
"L1_jJ180",
228 "L1_jJ30p0ETA25",
"L1_jJ40p0ETA25",
229 "L1_jJ70p0ETA23",
"L1_jJ55p0ETA23",
230 "L1_jJ80p0ETA25",
"L1_jJ85p0ETA21",
231 "L1_jEM25",
"L1_jEM20M",
233 "L1_eEM7",
"L1_eEM10L",
"L1_eEM15",
234 "L1_eEM18",
"L1_eEM22M",
"L1_eEM24VM",
237 "L1_eTAU20L",
"L1_eTAU35",
"L1_eTAU40HM",
240 "L1_ADVAET",
"L1_ADVAEL",
"L1_ADBDTT",
"L1_ADBDTL",
241 "L1_ARTEMISL",
"L1_ARTEMIST",
244 "L1_eEM22A",
"L1_eEM22C",
248 monItems[TBP|TAP|TAV] = [
253 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
259 "L1_MBTS_2_2",
"L1_MBTS_3_3",
"L1_MBTS_4_4",
263 "L1_MU3V",
"L1_MU5VF",
264 "L1_MU8F",
"L1_MU8VF",
266 "L1_2MU3V",
"L1_2MU5VF",
268 "L1_2MU14FCH_OVERLAY",
270 "L1_eEM5",
"L1_eEM9",
"L1_eEM12",
"L1_eEM15",
271 "L1_eEM18",
"L1_eEM18L",
272 "L1_eEM26",
"L1_eEM26M",
275 "L1_jJ20",
"L1_jJ30",
"L1_jJ40",
"L1_jJ50",
276 "L1_jJ55",
"L1_jJ60",
"L1_jJ90",
"L1_jJ125",
278 "L1_jJ40p30ETA49",
"L1_jJ50p30ETA49",
"L1_jJ60p30ETA49",
281 "L1_gJ20p0ETA25",
"L1_gJ400p0ETA25",
283 "L1_gLJ80p0ETA25",
"L1_gXEJWOJ100",
291 if "MC" not in menuName:
292 monItems[TBP|TAP|TAV] += [
294 "L1_CALREQ0",
"L1_CALREQ1",
"L1_CALREQ2",
295 "L1_BPTX0_BGRP12",
"L1_BPTX1_BGRP12",
301 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN",
303 "L1_LUCID_A",
"L1_LUCID_C",
307 "L1_MBTS_1",
"L1_MBTS_2",
"L1_MBTS_1_1",
312 if "lowMu" in menuFullName:
313 monItems[TBP|TAP|TAV].extend([
315 "L1_AFP_A_OR_C",
"L1_AFP_A_AND_C",
317 "L1_AFP_A_AND_C_TOF_T0T1_jJ125",
318 "L1_AFP_A_AND_C_TOF_T0T1_jJ50",
319 "L1_AFP_A_AND_C_TOF_T0T1_jJ60",
320 "L1_AFP_A_AND_C_TOF_T0T1_jJ90",
321 "L1_AFP_A_AND_C_TOF_jJ125",
322 "L1_AFP_A_AND_C_TOF_jJ50",
323 "L1_AFP_A_AND_C_TOF_jJ60",
324 "L1_AFP_A_AND_C_TOF_jJ90",
325 "L1_AFP_A_AND_C_jJ20",
326 "L1_AFP_A_AND_C_jJ30",
327 "L1_AFP_A_OR_C_jJ20",
328 "L1_AFP_A_OR_C_jJ30",
332 "L1_MU5VF_AFP_A_OR_C",
334 "L1_eEM9_AFP_A_AND_C",
336 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
"L1_ZDC_OR",
"L1_ZDC_XOR",
341 "L1_jTE5",
"L1_jTE10",
"L1_jTE20",
"L1_jTE50",
342 "L1_jJ10",
"L1_jJ20",
343 "L1_eEM5",
"L1_eEM9",
344 "L1_ARTEMISL",
"L1_ARTEMIST",
348 if "MC" not in menuName:
349 monItems[TBP|TAP|TAV].extend([
352 "L1_AFP_A",
"L1_AFP_C",
355 "L1_AFP_FSA_TOF_T0_BGRP12",
356 "L1_AFP_FSA_TOF_T1_BGRP12",
357 "L1_AFP_FSA_TOF_T2_BGRP12",
358 "L1_AFP_FSA_TOF_T3_BGRP12",
360 "L1_AFP_FSC_TOF_T0_BGRP12",
361 "L1_AFP_FSC_TOF_T1_BGRP12",
362 "L1_AFP_FSC_TOF_T2_BGRP12",
363 "L1_AFP_FSC_TOF_T3_BGRP12",
367 "L1_AFP_A_AND_C_TOF_T0T1",
371 monItems[TBP|TAP|TAV].extend([
375 "L1_ZDC_XOR",
"L1_ZDC_C_VZDC_A",
"L1_ZDC_A_VZDC_C",
376 "L1_1ZDC_A_VZDC_C",
"L1_VZDC_A_1ZDC_C",
377 "L1_1ZDC_A_1ZDC_C",
"L1_ZDC_1XOR5",
382 "L1_eEM1",
"L1_eEM2",
384 "L1_DPHI-2eEM1",
"L1_DPHI-2eTAU1",
385 "L1_DPHI-2eEM1_VjTE200",
386 "L1_2eEM1_VjTE200",
"L1_2eEM2_VjTE200",
387 "L1_eEM5_VjTE200",
"L1_eEM9_VjTE200",
388 "L1_eEM1_jTE4_VjTE200",
"L1_eEM2_jTE4_VjTE200",
"L1_eTAU1_jTE4_VjTE200",
396 "L1_jJ5p30ETA49",
"L1_jJ10p30ETA49",
398 "L1_jTE3",
"L1_jTE4",
"L1_jTE5",
"L1_jTE10",
"L1_jTE20",
"L1_jTE50",
399 "L1_jTE100",
"L1_jTE600",
"L1_jTE1500",
"L1_jTE6500",
404 "L1_VjTE10",
"L1_VjTE200",
"L1_VjTE600",
"L1_jTE50_VjTE600",
406 "L1_GAP_A",
"L1_GAP_C",
"L1_GAP_AANDC",
408 "L1_MU3V_VjTE50",
"L1_MU3V_VjTE200",
410 "L1_TRT_VjTE20",
"L1_eEM1_TRT_VjTE100",
411 "L1_TRT_ZDC_XOR_VjTE200",
"L1_TRT_1ZDC_NZDC_VjTE200",
413 "L1_ZDC_A_C_VjTE10",
"L1_ZDC_XOR_VjTE10",
"L1_TRT_ZDC_A_C_VjTE10",
"L1_TRT_ZDC_XOR_VjTE10",
414 "L1_TRT_ZDC_A_VjTE50",
"L1_TRT_ZDC_C_VjTE50",
416 "L1_MBTS_2_VZDC_A_ZDC_C_VjTE200_GAP_A",
"L1_MBTS_2_1ZDC_NZDC_VjTE200_GAP_A",
417 "L1_MBTS_2_ZDC_A_VZDC_C_VjTE200_GAP_C",
"L1_MBTS_2_1ZDC_NZDC_VjTE200_GAP_C",
418 "L1_MBTS_1_VZDC_A_ZDC_C_jTE3_VjTE200_GAP_A",
"L1_MBTS_1_1ZDC_NZDC_jTE3_VjTE200_GAP_A",
419 "L1_MBTS_1_ZDC_A_VZDC_C_jTE3_VjTE200_GAP_C",
"L1_MBTS_1_1ZDC_NZDC_jTE3_VjTE200_GAP_C",
421 "L1_1ZDC_A_1ZDC_C_VjTE200",
"L1_ZDC_1XOR5_VjTE200",
422 "L1_ZDC_XOR_VjTE200",
424 "L1_ZDC_XOR_jJ10_VjTE200",
426 "L1_ZDC_HELT20_jTEFWD2600",
427 "L1_ZDC_HELT35_jTEFWD2600",
428 "L1_ZDC_HELT50_jTEFWD2600",
430 "L1_TEA_TeAsymmetry-jTENoSort",
434 "L1_TEA_jJ5p30ETA49",
435 "L1_ESP_TeAsymmetry-jTENoSort",
439 "L1_ESP_jJ5p30ETA49",
441 'L1_TeATIME-jTENoSort',
443 'L1_TeAsymmetry-jTENoSort',
444 'L1_TeAsymmetry1-jTENoSort',
445 'L1_TeAsymmetry2-jTENoSort',
446 'L1_TeAsymmetry3-jTENoSort',
451 'L1_CALMTEA_eEM2_VjTE200',
452 'L1_CALMTEA_eTAU2_VjTE200',
455 'L1_MATCHA_eTAU2_VjTE200',
456 'L1_MATCHA_eTAU2_EMPTY',
457 'L1_MATCHA_eTAU2_VjTE200_EMPTY',
459 'L1_ESP_1ZDC_NZDC_jJ10_VjTE200',
460 'L1_ESP_5ZDC_A_5ZDC_C_jJ10_VjTE200',
461 'L1_ESP_VZDC_A_VZDC_C_jJ10_VjTE200',
462 'L1_ESP_VZDC_A_VZDC_C_jJ10p30ETA49_VjTE200',
463 'L1_ESP_VZDC_A_VZDC_C_jJ5p30ETA49_VjTE200',
464 'L1_ESP_ZDC_5XOR_jJ10_VjTE200',
465 'L1_ESP_ZDC_XOR_jJ10_VjTE200',
466 'L1_ESP_ZDC_XOR_jJ10p30ETA49_VjTE200',
467 'L1_ESP_ZDC_XOR_jJ5p30ETA49_VjTE200',
469 'L1_ESP_ASYM0_TRT_ZDC_XOR_VjTE200',
470 'L1_ESP_ASYM1_TRT_ZDC_XOR_VjTE200',
471 'L1_ESP_ASYM2_TRT_ZDC_XOR_VjTE200',
472 'L1_ESP_ASYM3_TRT_ZDC_XOR_VjTE200',
474 'L1_ESP_ASYM0_ZDC_XOR_VjTE200',
475 'L1_ESP_ASYM1_ZDC_XOR_VjTE200',
476 'L1_ESP_ASYM2_ZDC_XOR_VjTE200',
477 'L1_ESP_ASYM3_ZDC_XOR_VjTE200',
479 'L1_23INVM-27DPHI-2eTAU1_VjTE200',
481 'L1_CALMTEA_DPHI-2eTAU1_VjTE200',
482 'L1_CALMTEA_DPHI-2eTAU1_VjTE200_EMPTY',
484 'L1_CALMTEA_23INVM-27DPHI-2eTAU1_VjTE200',
485 'L1_CALMTEA_23INVM-27DPHI-2eTAU1_VjTE200_EMPTY',
489 if "MC" not in menuName:
490 monItems[TBP|TAP|TAV].extend([
493 monItems[TBP|TAP|TAV] += topo3_monitems
497 monItemsHF[TBP|TAP|TAV] = [
499 "L1_MBTS_1",
"L1_MBTS_2",
"L1_MBTS_1_1",
501 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN"
505 monItemsHF[TBP|TAP|TAV].extend([
508 if "lowMu" in menuFullName:
509 monItemsHF[TBP|TAP|TAV].extend([
511 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
"L1_ZDC_OR",
515 monItemsHF[TBP|TAP|TAV].extend([
516 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
517 "L1_ZDC_OR",
"L1_ZDC_XOR",
518 "L1_ZDC_C_VZDC_A",
"L1_ZDC_A_VZDC_C",
"L1_5ZDC_A_5ZDC_C",
526 counts_LF_items = { TBP :
set(), TAP :
set(), TAV :
set() }
527 counts_HF_items = { TBP :
set(), TAP :
set(), TAV :
set() }
532 counts_LF_items[TBP].update( monItems[k] )
533 counts_HF_items[TBP].update( monItemsHF[k] )
536 counts_LF_items[TAP].update( monItems[k] )
537 counts_HF_items[TAP].update( monItemsHF[k] )
540 counts_LF_items[TAV].update( monItems[k] )
541 counts_HF_items[TAV].update( monItemsHF[k] )
543 counts_LF = dict(
map(
lambda x : (x[0],len(x[1])), counts_LF_items.items() ) )
544 counts_HF = dict(
map(
lambda x : (x[0],len(x[1])), counts_HF_items.items() ) )
546 lutsLF = int( (
max(counts_LF.values())-1) / 8) + 1
547 lutsHF = int( (
max(counts_HF.values())-1) / 8) + 1
550 if lutsLF + lutsHF > maxLUTs:
551 log.error(
"too many monitoring items are defined:")
552 log.error(
" low frequency TBP: %i",counts_LF[TBP])
553 log.error(
" TAP: %i",counts_LF[TAP])
554 log.error(
" TAV: %i",counts_LF[TAV])
555 log.error(
" required LUTs: %i",lutsLF)
556 log.error(
" high frequency TBP: %i",counts_HF[TBP])
557 log.error(
" TAP: %i",counts_HF[TAP])
558 log.error(
" TAV: %i",counts_HF[TAV])
559 log.error(
" required LUTs: %i",lutsHF)
560 log.error(
" this menu requires %i monitoring LUTs while only %i are available", (lutsLF + lutsHF), maxLUTs)
561 raise RuntimeError(
"Reduce the number of monitored items")
563 if 'AllCTPIn' not in menuName:
564 MonitorDef.checkForNonExistingMonItems(items, monItems)
570 for k,l
in monItems.items():
573 item.addMonitor(k, MonitorDef.LOW_FREQ)
576 for k,l
in monItemsHF.items():
579 item.addMonitor(k, MonitorDef.HIGH_FREQ)