3 from TriggerMenuMT.L1.Base.Limits
import Limits
7 available =
list(
set(
range(Limits.MaxTrigItems-3)) -
set(L1MenuFlags.CtpIdMap.value.values()) -
set([508]))
8 freeItems = Limits.MaxTrigItems - len(L1MenuFlags.items.value)
9 floatingItems =
sorted(
list(
set(L1MenuFlags.items.value) -
set(L1MenuFlags.CtpIdMap.value.keys())))
10 unusedItemsWithCTPID =
set(L1MenuFlags.CtpIdMap.value.keys()) -
set(L1MenuFlags.items.value)
12 logging.info(
"There are %d available CTP IDs: %s", len(available),
",".
join(map(str,available)))
13 logging.info(
"IDs >= 472 go in partition 2, IDs >= 492 go in partition 3")
14 logging.info(
"There are %d free items", freeItems)
15 logging.info(
"There are %d floating items: %s", len(floatingItems),
",".
join(map(str,floatingItems)))
16 logging.info(
"There are %d unused items with CTP ID: %s", len(unusedItemsWithCTPID),
",".
join(map(str,unusedItemsWithCTPID)))
19 L1MenuFlags.CTPVersion = 4
21 L1MenuFlags.BunchGroupPartitioning = [1, 15, 15]
22 L1MenuFlags.BunchGroupNames = [
'BCRVeto',
'Paired',
'CalReq',
'Empty',
23 'IsolatedUnpaired',
'NonIsolatedUnpaired',
'EmptyAfterPaired',
'InTrain',
24 'AbortGapNotCalReq',
'VdM',
'ALFA',
'EmptyBeforePaired',
27 L1MenuFlags.MenuPartitioning = [0, 472, 492]
38 'L1_BPTX0_BGRP12',
'L1_BPTX1_BGRP12',
44 'L1_TRT_FILLED',
'L1_TRT_EMPTY',
50 'L1_BCM_Wide',
'L1_BCM_Wide_CALIB',
'L1_BCM_Wide_EMPTY',
'L1_BCM_Wide_BGRP12',
'L1_BCM_Wide_UNPAIREDB1',
'L1_BCM_Wide_UNPAIREDB2',
51 'L1_BCM_2A_2C_UNPAIRED_ISO',
'L1_BCM_2A_2C_BGRP12',
52 'L1_BCM_2A_CALIB',
'L1_BCM_2C_CALIB',
53 'L1_BCM_2A_EMPTY',
'L1_BCM_2C_EMPTY',
54 'L1_BCM_2A_UNPAIREDB1',
'L1_BCM_2A_UNPAIREDB2',
'L1_BCM_2C_UNPAIREDB1',
'L1_BCM_2C_UNPAIREDB2',
55 'L1_BCM_2A_FIRSTINTRAIN',
'L1_BCM_2C_FIRSTINTRAIN',
58 'L1_RD0_FILLED',
'L1_RD0_UNPAIRED_ISO',
'L1_RD0_EMPTY',
59 'L1_RD0_FIRSTEMPTY',
'L1_RD0_BGRP10',
'L1_RD0_BGRP11',
60 'L1_RD0_BGRP7',
'L1_RD0_BGRP15',
61 'L1_RD0_FIRSTINTRAIN',
83 "L1_BCM_2A_FIRSTINTRAIN":480,
84 "L1_BCM_2C_FIRSTINTRAIN":481,