4 The CTP monitors three different types of signals. In the XML file
5 they are listed in the section <TriggerCounterList>
9 Almost each input threshold is monitored with one counter per
10 multiplicity it can have. E.g. there are 7 counters for the EM10VH
11 threshold: "1EM10VH" ... "7EM10VH"
13 Due to limitations of the CTPIN monitoring LUT (there are only 4 LUT
14 per CTPIN connector and a LUT has 8 bit input) only 2 3-bit thresholds
15 can be monitored per LUT, so max 8 3-bit thresholds per
16 connector. Hence JET thresholds 8 and 9 can not be monitored.
21 This allows to monitor any combination of conditions built in the same
22 way as L1 Items. However, since we can also monitor L1 Items directly
23 (see 3)), there is little need for this type of monitoring. We use it to monitor simple conditions
28 For each of these type 64 L1Items can be monitored independently
29 Please take note that the bunch mask is not applied for the per-bunch monitoring, thus one item per threshold is sufficient
33 from AthenaCommon.Logging
import logging
34 log = logging.getLogger(__name__)
36 from ..Base.MonCounters
import CtpinCounter, CtpmonCounter
50 for slotConnectors
in ctpinConfig.values():
51 for connName
in slotConnectors.values():
53 connectedCables += [ connName ]
56 for ctpinCableName
in connectedCables:
57 conn = connectors[ctpinCableName]
58 for i, tl
in enumerate(conn.triggerLines):
59 if ctpinCableName ==
"JET1" and i==8:
61 for mult
in range(1, 2**tl.nbits):
62 counters += [
CtpinCounter(threshold=tl.name, multiplicity = mult) ]
78 'AFP_NSA',
'AFP_NSC',
'AFP_FSA',
'AFP_FSC',
'AFP_FSA_TOF_T0',
'AFP_FSC_TOF_T0',
79 'AFP_FSA_TOF_T1',
'AFP_FSC_TOF_T1',
'AFP_FSA_TOF_T2',
'AFP_FSC_TOF_T2',
'AFP_FSA_TOF_T3',
'AFP_FSC_TOF_T3',
80 'MBTS_A0',
'MBTS_A1',
'MBTS_A2',
'MBTS_A3',
'MBTS_A4',
'MBTS_A5',
'MBTS_A6',
'MBTS_A7',
81 'MBTS_A8',
'MBTS_A9',
'MBTS_A10',
'MBTS_A11',
'MBTS_A12',
'MBTS_A13',
'MBTS_A14',
'MBTS_A15',
82 'MBTS_C0',
'MBTS_C1',
'MBTS_C2',
'MBTS_C3',
'MBTS_C4',
'MBTS_C5',
'MBTS_C6',
'MBTS_C7',
83 'MBTS_C8',
'MBTS_C9',
'MBTS_C10',
'MBTS_C11',
'MBTS_C12',
'MBTS_C13',
'MBTS_C14',
'MBTS_C15',
84 'BMA0',
'BMA1',
'BMA2',
'BMA3',
"ZDC_0",
"ZDC_1",
"ZDC_2",
"ZDC_ALT_0",
"ZDC_ALT_1",
"ZDC_ALT_2"
88 for thrName
in cThr[mult]:
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",
"L1_eTAU140",
130 "L1_cTAU20M",
"L1_cTAU35M",
131 "L1_cTAU30M_2cTAU20M",
132 "L1_jJ30",
"L1_jJ40",
"L1_jJ50",
133 "L1_jJ60",
"L1_jJ90",
"L1_jJ125",
134 "L1_jJ160",
"L1_jJ500",
135 "L1_jJ40p30ETA49",
"L1_jJ50p30ETA49",
136 "L1_jJ60p30ETA49",
"L1_jJ90p30ETA49",
"L1_jJ125p30ETA49",
137 "L1_3jJ90",
"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",
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",
149 "L1_gXENC70",
"L1_gXENC100",
150 "L1_gXEJWOJ60",
"L1_gXEJWOJ70",
"L1_gXEJWOJ80",
"L1_gXEJWOJ100",
"L1_gXEJWOJ110",
"L1_gXEJWOJ120",
"L1_gXEJWOJ500",
154 "L1_2eEM10L_MU8F",
"L1_MU3V_jJ40",
156 "L1_LLPDPHI-jXE40-jJ40",
157 "L1_BPH-0DR3-eEM9jJ40_MU5VF",
"L1_BPH-0M9-eEM9-eEM7_MU5VF",
"L1_BPH-0DR3-eEM9jJ40_2MU3V",
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-eTAU30MeTAU20M",
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 "L1_HT190-jJ40s5pETA21",
"L1_jMJJ-500-NFF",
170 "L1_LLP-RO-eEM",
"L1_LLP-NOMATCH-eEM",
172 "L1_ZAFB-25DPHI-eEM18M",
174 "L1_LFV-eEM10L-MU8VF",
"L1_LFV-eEM15L-MU5VF",
177 if 'MC' not in menuName:
178 monItems[TBP|TAP|TAV] += [
181 "L1_LUCID_A",
"L1_LUCID_C",
182 "L1_CALREQ1",
"L1_CALREQ2",
185 "L1_BPTX0_BGRP12",
"L1_BPTX1_BGRP12",
189 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN",
191 "L1_AFP_A_AND_C_TOF_T0T1",
192 "L1_AFP_FSA_BGRP12",
"L1_AFP_FSC_BGRP12",
193 "L1_AFP_FSA_TOF_T0_BGRP12",
"L1_AFP_FSA_TOF_T1_BGRP12",
"L1_AFP_FSA_TOF_T2_BGRP12",
"L1_AFP_FSA_TOF_T3_BGRP12",
194 "L1_AFP_FSC_TOF_T0_BGRP12",
"L1_AFP_FSC_TOF_T1_BGRP12",
"L1_AFP_FSC_TOF_T2_BGRP12",
"L1_AFP_FSC_TOF_T3_BGRP12",
195 "L1_AFP_A_OR_C_EMPTY",
196 "L1_AFP_NSA_BGRP12",
"L1_AFP_NSC_BGRP12",
197 "L1_AFP_A",
"L1_AFP_C",
"L1_AFP_A_AND_C",
198 "L1_MBTS_A",
"L1_MBTS_C",
199 "L1_MBTS_1",
"L1_MBTS_1_1",
"L1_MBTS_2",
200 "L1_MBTS_1_A",
"L1_MBTS_1_C",
"L1_MBTS_4_A",
"L1_MBTS_4_C",
202 "L1_AFP_A_AND_C_TOF_jJ50",
204 "L1_AFP_A_AND_C_TOF_T0T1_jJ90",
207 "L1_MU3VF",
"L1_MU8F",
"L1_MU8FC",
"L1_MU8VF",
208 "L1_MU3VC",
"L1_MU3EOF",
"L1_MU4BO",
209 "L1_MU8FH",
"L1_MU8EOF",
210 "L1_MU9VF",
"L1_MU9VFC",
211 "L1_MU12FCH",
"L1_MU14FCHR",
"L1_MU14EOF",
212 "L1_MU15VFCH",
"L1_MU15VFCHR",
213 "L1_MU18VFCH",
"L1_MU20VFC",
214 "L1_2MU8F",
"L1_2MU8VF",
215 "L1_2MU14FCH_OVERLAY",
217 "L1_jJ55",
"L1_jJ80",
"L1_jJ140",
"L1_jJ180",
218 "L1_jJ30p0ETA25",
"L1_jJ40p0ETA25",
219 "L1_jJ70p0ETA23",
"L1_jJ55p0ETA23",
220 "L1_jJ80p0ETA25",
"L1_jJ85p0ETA21",
222 "L1_jEM20",
"L1_jEM20M",
224 "L1_eEM7",
"L1_eEM10L",
"L1_eEM15",
225 "L1_eEM18",
"L1_eEM22M",
"L1_eEM24VM",
228 "L1_eTAU20L",
"L1_eTAU35",
"L1_eTAU40HM",
232 monItems[TBP|TAP|TAV] = [
237 "L1_ZDC_BIT0",
"L1_ZDC_BIT1",
"L1_ZDC_BIT2",
238 "L1_ZDC_COMB0",
"L1_ZDC_COMB1",
"L1_ZDC_COMB2",
"L1_ZDC_COMB3",
239 "L1_ZDC_COMB4",
"L1_ZDC_COMB5",
"L1_ZDC_COMB6",
"L1_ZDC_COMB7",
240 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
246 "L1_MBTS_2_2",
"L1_MBTS_3_3",
"L1_MBTS_4_4",
250 "L1_MU3V",
"L1_MU5VF",
251 "L1_MU8F",
"L1_MU8VF",
253 "L1_2MU3V",
"L1_2MU5VF",
255 "L1_2MU14FCH_OVERLAY",
257 "L1_eEM5",
"L1_eEM9",
"L1_eEM12",
"L1_eEM15",
258 "L1_eEM18",
"L1_eEM18L",
259 "L1_eEM26",
"L1_eEM26M",
262 "L1_jJ20",
"L1_jJ30",
"L1_jJ40",
"L1_jJ50",
263 "L1_jJ55",
"L1_jJ60",
"L1_jJ90",
"L1_jJ125",
265 "L1_jJ40p30ETA49",
"L1_jJ50p30ETA49",
"L1_jJ60p30ETA49",
268 "L1_gJ20p0ETA25",
"L1_gJ400p0ETA25",
270 "L1_gLJ80p0ETA25",
"L1_gXEJWOJ100",
278 if "MC" not in menuName:
279 monItems[TBP|TAP|TAV] += [
281 "L1_CALREQ0",
"L1_CALREQ1",
"L1_CALREQ2",
282 "L1_BPTX0_BGRP12",
"L1_BPTX1_BGRP12",
288 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN",
290 "L1_LUCID_A",
"L1_LUCID_C",
294 "L1_MBTS_1",
"L1_MBTS_2",
"L1_MBTS_1_1",
299 if "lowMu" in menuFullName:
300 monItems[TBP|TAP|TAV].
extend([
302 "L1_AFP_A_OR_C",
"L1_AFP_A_AND_C",
304 "L1_AFP_A_AND_C_J12",
305 "L1_AFP_A_AND_C_TOF_J20",
306 "L1_AFP_A_AND_C_TOF_J30",
307 "L1_AFP_A_AND_C_TOF_J50",
308 "L1_AFP_A_AND_C_TOF_J75",
309 "L1_AFP_A_AND_C_TOF_T0T1_J20",
310 "L1_AFP_A_AND_C_TOF_T0T1_J30",
311 "L1_AFP_A_AND_C_TOF_T0T1_J50",
312 "L1_AFP_A_AND_C_TOF_T0T1_J75",
313 "L1_AFP_A_AND_C_TOF_T0T1_jJ125",
314 "L1_AFP_A_AND_C_TOF_T0T1_jJ50",
315 "L1_AFP_A_AND_C_TOF_T0T1_jJ60",
316 "L1_AFP_A_AND_C_TOF_T0T1_jJ90",
317 "L1_AFP_A_AND_C_TOF_jJ125",
318 "L1_AFP_A_AND_C_TOF_jJ50",
319 "L1_AFP_A_AND_C_TOF_jJ60",
320 "L1_AFP_A_AND_C_TOF_jJ90",
321 "L1_AFP_A_AND_C_jJ20",
322 "L1_AFP_A_AND_C_jJ30",
324 "L1_AFP_A_OR_C_jJ20",
325 "L1_AFP_A_OR_C_jJ30",
328 "L1_ZDC_E1_AND_E1",
"L1_ZDC_E2_AND_E2",
"L1_ZDC_E2_AND_E3",
"L1_ZDC_E3_AND_E3",
329 "L1_ZDC_E1_AND_E2ORE3",
330 "L1_ZDC_XOR_E1_E3",
"L1_ZDC_XOR_E2",
332 "L1_ZDC_PP_A",
"L1_ZDC_PP_C",
"L1_ZDC_PP_OR",
"L1_ZDC_PP_A_C",
333 "L1_ZDC_PP_A2",
"L1_ZDC_PP_C2",
"L1_ZDC_PP_OR2",
335 "L1_MU5VF_AFP_A_OR_C",
337 "L1_eEM9_AFP_A_AND_C",
341 if "MC" not in menuName:
342 monItems[TBP|TAP|TAV].
extend([
345 "L1_AFP_A",
"L1_AFP_C",
348 "L1_AFP_FSA_TOF_T0_BGRP12",
349 "L1_AFP_FSA_TOF_T1_BGRP12",
350 "L1_AFP_FSA_TOF_T2_BGRP12",
351 "L1_AFP_FSA_TOF_T3_BGRP12",
353 "L1_AFP_FSC_TOF_T0_BGRP12",
354 "L1_AFP_FSC_TOF_T1_BGRP12",
355 "L1_AFP_FSC_TOF_T2_BGRP12",
356 "L1_AFP_FSC_TOF_T3_BGRP12",
360 "L1_AFP_A_AND_C_MBTS_2",
361 "L1_AFP_A_AND_C_TOF_T0T1",
362 "L1_AFP_A_OR_C_MBTS_2",
366 monItems[TBP|TAP|TAV].
extend([
370 "L1_ZDC_XOR",
"L1_ZDC_C_VZDC_A",
"L1_ZDC_A_VZDC_C",
371 "L1_1ZDC_A_VZDC_C",
"L1_VZDC_A_1ZDC_C",
372 "L1_1ZDC_A_1ZDC_C",
"L1_5ZDC_A_VZDC_C",
"L1_VZDC_A_5ZDC_C",
373 "L1_ZDC_1XOR5",
"L1_5ZDC_A_5ZDC_C",
377 "L1_eEM1",
"L1_eEM2",
379 "L1_DPHI-2eEM1",
"L1_DPHI-2eTAU1",
380 "L1_DPHI-2eEM1_VjTE200",
381 "L1_2eEM1_VjTE200",
"L1_2eEM2_VjTE200",
"L1_2eEM1_VjTE200_GAP_AANDC",
382 "L1_eEM5_VjTE200",
"L1_eEM9_VjTE200",
383 "L1_eEM1_jTE4_VjTE200",
"L1_eEM2_jTE4_VjTE200",
"L1_eTAU1_jTE4_VjTE200",
384 "L1_2eTAU1_VjTE200",
"L1_2eTAU1_VjTE200_GAP_AANDC",
385 "L1_eEM1_TRT_VjTE200",
"L1_eTAU1_TRT_VjTE200",
386 "L1_eEM1_TRT_ZDC_XOR_VjTE200",
"L1_eTAU1_TRT_ZDC_XOR_VjTE200",
"L1_jTAU1_TRT_ZDC_XOR_VjTE200",
387 "L1_eEM1_TRT_VZDC_A_VZDC_C_VjTE100",
"L1_eTAU1_TRT_VZDC_A_VZDC_C_VjTE100",
388 "L1_eEM1_TRT_ZDC_XOR4_VjTE100",
"L1_eTAU1_TRT_ZDC_XOR4_VjTE100",
392 "L1_jTE3",
"L1_jTE4",
"L1_jTE5",
"L1_jTE10",
"L1_jTE20",
"L1_jTE50",
393 "L1_jTE100",
"L1_jTE600",
"L1_jTE1500",
"L1_jTE6500",
"L1_jTE8300",
394 "L1_jTE9000",
"L1_jTE10000",
"L1_jTE12000",
395 "L1_jTE5_VjTE200",
"L1_gTE5_VjTE200",
397 "L1_VjTE10",
"L1_VjTE200",
"L1_VjTE600",
"L1_jTE50_VjTE600",
399 "L1_GAP_A",
"L1_GAP_C",
"L1_GAP_AANDC",
401 "L1_MU3V_VjTE50",
"L1_MU3V_VjTE200",
403 "L1_TRT_VjTE20",
"L1_eEM1_TRT_VjTE100",
404 "L1_TRT_ZDC_XOR_VjTE200",
"L1_TRT_1ZDC_NZDC_VjTE200",
406 "L1_ZDC_A_C_VjTE10",
"L1_ZDC_XOR_VjTE10",
"L1_TRT_ZDC_A_C_VjTE10",
"L1_TRT_ZDC_XOR_VjTE10",
407 "L1_TRT_ZDC_A_VjTE50",
"L1_TRT_ZDC_C_VjTE50",
409 "L1_MBTS_2_VZDC_A_ZDC_C_VjTE200_GAP_A",
"L1_MBTS_2_1ZDC_NZDC_VjTE200_GAP_A",
410 "L1_MBTS_2_ZDC_A_VZDC_C_VjTE200_GAP_C",
"L1_MBTS_2_1ZDC_NZDC_VjTE200_GAP_C",
411 "L1_MBTS_1_VZDC_A_ZDC_C_jTE3_VjTE200",
"L1_MBTS_1_ZDC_A_VZDC_C_jTE3_VjTE200",
412 "L1_MBTS_1_1ZDC_NZDC_jTE3_VjTE200",
413 "L1_MBTS_1_VZDC_A_ZDC_C_jTE3_VjTE200_GAP_A",
"L1_MBTS_1_1ZDC_NZDC_jTE3_VjTE200_GAP_A",
414 "L1_MBTS_1_ZDC_A_VZDC_C_jTE3_VjTE200_GAP_C",
"L1_MBTS_1_1ZDC_NZDC_jTE3_VjTE200_GAP_C",
416 "L1_1ZDC_A_1ZDC_C_VjTE200",
"L1_ZDC_1XOR5_VjTE200",
417 "L1_ZDC_XOR_VjTE200",
418 "L1_VZDC_A_VZDC_C_jTE5_VjTE200",
"L1_ZDC_XOR_jTE5_VjTE200",
419 "L1_1ZDC_NZDC_jTE5_VjTE200",
"L1_5ZDC_A_5ZDC_C_jTE5_VjTE200",
420 "L1_VZDC_A_VZDC_C_jTE10_VjTE200",
"L1_ZDC_XOR_jTE10_VjTE200",
421 "L1_1ZDC_NZDC_jTE10_VjTE200",
422 "L1_VZDC_A_VZDC_C_gTE5_VjTE200",
"L1_ZDC_XOR_gTE5_VjTE200",
423 "L1_1ZDC_NZDC_gTE5_VjTE200",
"L1_5ZDC_A_5ZDC_C_gTE5_VjTE200",
424 "L1_TRT_VZDC_A_VZDC_C_jTE5_VjTE200",
"L1_TRT_ZDC_XOR_jTE5_VjTE200",
426 "L1_ZDC_XOR_jJ5_VjTE200",
"L1_ZDC_XOR_jJ10_VjTE200",
"L1_1ZDC_NZDC_jJ5_VjTE200",
427 "L1_1ZDC_NZDC_jJ10_VjTE200",
"L1_VZDC_A_VZDC_C_jJ5_VjTE200",
"L1_VZDC_A_VZDC_C_jJ10_VjTE200",
429 "L1_gTE3",
"L1_gTE5",
431 "L1_ZDC_HELT15_jTE4000",
"L1_ZDC_HELT20_jTE4000",
"L1_ZDC_HELT25_jTE4000",
432 "L1_ZDC_HELT35_jTE4000",
"L1_ZDC_HELT50_jTE4000",
436 if "MC" not in menuName:
437 monItems[TBP|TAP|TAV].
extend([
440 monItems[TBP|TAP|TAV] += topo3_monitems
444 monItemsHF[TBP|TAP|TAV] = [
446 "L1_MBTS_1",
"L1_MBTS_2",
"L1_MBTS_1_1",
448 "L1_BCM_2A_FIRSTINTRAIN",
"L1_BCM_2C_FIRSTINTRAIN"
452 monItemsHF[TBP|TAP|TAV].
extend([
455 if "lowMu" in menuFullName:
456 monItemsHF[TBP|TAP|TAV].
extend([
457 "L1_ZDC_PP_A",
"L1_ZDC_PP_C",
"L1_ZDC_PP_A_C",
459 "L1_ZDC_PP_A2",
"L1_ZDC_PP_C2",
463 monItemsHF[TBP|TAP|TAV].
extend([
464 "L1_ZDC_A",
"L1_ZDC_C",
"L1_ZDC_A_C",
465 "L1_ZDC_OR",
"L1_ZDC_XOR",
466 "L1_ZDC_C_VZDC_A",
"L1_ZDC_A_VZDC_C",
"L1_5ZDC_A_5ZDC_C",
474 counts_LF_items = { TBP :
set(), TAP :
set(), TAV :
set() }
475 counts_HF_items = { TBP :
set(), TAP :
set(), TAV :
set() }
480 counts_LF_items[TBP].
update( monItems[k] )
481 counts_HF_items[TBP].
update( monItemsHF[k] )
484 counts_LF_items[TAP].
update( monItems[k] )
485 counts_HF_items[TAP].
update( monItemsHF[k] )
488 counts_LF_items[TAV].
update( monItems[k] )
489 counts_HF_items[TAV].
update( monItemsHF[k] )
491 counts_LF = dict( map(
lambda x : (x[0],len(x[1])), counts_LF_items.items() ) )
492 counts_HF = dict( map(
lambda x : (x[0],len(x[1])), counts_HF_items.items() ) )
494 lutsLF =
int( (
max(counts_LF.values())-1) / 8) + 1
495 lutsHF =
int( (
max(counts_HF.values())-1) / 8) + 1
498 if lutsLF + lutsHF > maxLUTs:
499 log.error(
"too many monitoring items are defined:")
500 log.error(
" low frequency TBP: %i",counts_LF[TBP])
501 log.error(
" TAP: %i",counts_LF[TAP])
502 log.error(
" TAV: %i",counts_LF[TAV])
503 log.error(
" required LUTs: %i",lutsLF)
504 log.error(
" high frequency TBP: %i",counts_HF[TBP])
505 log.error(
" TAP: %i",counts_HF[TAP])
506 log.error(
" TAV: %i",counts_HF[TAV])
507 log.error(
" required LUTs: %i",lutsHF)
508 log.error(
" this menu requires %i monitoring LUTs while only %i are available", (lutsLF + lutsHF), maxLUTs)
509 raise RuntimeError(
"Reduce the number of monitored items")
511 if 'AllCTPIn' not in menuName:
512 MonitorDef.checkForNonExistingMonItems(items, monItems)
518 for k,l
in monItems.items():
521 item.addMonitor(k, MonitorDef.LOW_FREQ)
524 for k,l
in monItemsHF.items():
527 item.addMonitor(k, MonitorDef.HIGH_FREQ)
533 allItemNames = [item.name
for item
in items]
536 allMonitorItems =
set()
538 allMonitorItems.update(monItems[i])
541 nonExistingMonItems = []
543 for monItem
in allMonitorItems:
544 if monItem
not in allItemNames:
545 nonExistingMonItems += [monItem]
547 if len(nonExistingMonItems)>0:
548 raise RuntimeError(
"These monitoring items are not part of the menu: %s" %
','.
join(nonExistingMonItems))