ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TriggerCommon
TriggerMenuMT
python
L1
Base
CTP.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaCommon.Logging
import
logging
4
log = logging.getLogger(__name__)
5
6
from
..Config.MonitorDef
import
MonitorDef
7
from
..Config.CTPInputConfig
import
CTPInputConfig
8
from
.BunchGroupSet
import
BunchGroupSet
9
from
.MonCounters
import
MenuMonCountersCollection
10
11
class
CTP
(object):
12
13
def
__init__
(self):
14
self.
inputConnectors
= CTPInputConfig.cablingLayout()
15
self.
random
=
Random
( names = [
'Random0'
,
'Random1'
,
'Random2'
,
'Random3'
], cuts = [1, 1, 1, 1] )
16
self.
bunchGroupSet
=
BunchGroupSet
()
17
self.
counters
=
MenuMonCountersCollection
()
# monitoring counters in the menu
18
19
# Customisations via flags
20
21
def
setBunchGroupSetName
(self, name):
22
self.
bunchGroupSet
.name = name
23
return
self.
bunchGroupSet
24
25
def
addBunchGroup
(self, name, internalNumber, bunches):
26
self.
bunchGroupSet
.
addBunchGroup
(name, internalNumber, bunches)
27
28
def
setupMonitoring
(self, menuName, menuItems, menuThresholds, connectors, menuFullName):
29
32
33
# add the CTPMon counters (selection defined in L1/Config/MonitorDef.py)
34
for
counter
in
MonitorDef.ctpmonCounters( menuThresholds, connectors ):
35
self.
counters
.addCounter( counter )
36
37
# add the CTPIN counters (selection defined in L1/Config/MonitorDef.py)
38
for
counter
in
MonitorDef.ctpinCounters( menuThresholds, connectors, self.
inputConnectors
[
"ctpin"
] ):
39
self.
counters
.addCounter( counter )
40
41
# mark the L1 Items that they should be monitored
42
MonitorDef.applyItemCounter( menuName, menuItems, menuFullName )
43
pass
44
45
def
checkConnectorAvailability
(self, availableConnectors, menuToLoad):
46
inputConnectorList = []
47
inputConnectorList += self.
inputConnectors
[
"optical"
].values()
48
inputConnectorList += self.
inputConnectors
[
"electrical"
].values()
49
inputConnectorList += self.
inputConnectors
[
"ctpin"
][
"slot7"
].values()
50
inputConnectorList += self.
inputConnectors
[
"ctpin"
][
"slot8"
].values()
51
inputConnectorList += self.
inputConnectors
[
"ctpin"
][
"slot9"
].values()
52
for
connName
in
inputConnectorList:
53
if
connName !=
''
and
connName
not
in
availableConnectors:
54
msg =
"Connector '%s' requested in L1/Config/CTPConfig.py not defined as menu input. Please add it to L1/Menu/Menu_%s.py"
% (connName, menuToLoad[1])
55
log.error(msg)
56
raise
RuntimeError(msg)
57
58
def
json
(self):
59
confObj = {
60
"inputs"
: self.
inputConnectors
,
61
"monitoring"
: self.
counters
.json()
62
}
63
return
confObj
64
65
66
67
class
Random
(object):
68
def
__init__
(self, names, cuts):
69
self.
names
= names
70
self.
cuts
= cuts
71
json
nlohmann::json json
Definition
HistogramDef.cxx:9
python.L1.Base.BunchGroupSet.BunchGroupSet
Definition
BunchGroupSet.py:49
python.L1.Base.CTP.CTP
Definition
CTP.py:11
python.L1.Base.CTP.CTP.setupMonitoring
setupMonitoring(self, menuName, menuItems, menuThresholds, connectors, menuFullName)
Definition
CTP.py:28
python.L1.Base.CTP.CTP.random
random
Definition
CTP.py:15
python.L1.Base.CTP.CTP.addBunchGroup
addBunchGroup(self, name, internalNumber, bunches)
Definition
CTP.py:25
python.L1.Base.CTP.CTP.inputConnectors
inputConnectors
Definition
CTP.py:14
python.L1.Base.CTP.CTP.checkConnectorAvailability
checkConnectorAvailability(self, availableConnectors, menuToLoad)
Definition
CTP.py:45
python.L1.Base.CTP.CTP.setBunchGroupSetName
setBunchGroupSetName(self, name)
Definition
CTP.py:21
python.L1.Base.CTP.CTP.__init__
__init__(self)
Definition
CTP.py:13
python.L1.Base.CTP.CTP.counters
counters
Definition
CTP.py:17
python.L1.Base.CTP.CTP.bunchGroupSet
bunchGroupSet
Definition
CTP.py:16
python.L1.Base.CTP.Random
Definition
CTP.py:67
python.L1.Base.CTP.Random.cuts
cuts
Definition
CTP.py:70
python.L1.Base.CTP.Random.__init__
__init__(self, names, cuts)
Definition
CTP.py:68
python.L1.Base.CTP.Random.names
names
Definition
CTP.py:69
python.L1.Base.MonCounters.MenuMonCountersCollection
Definition
MonCounters.py:8
Generated on
for ATLAS Offline Software by
1.17.0