ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonConfig
python
RPC_OverlayConfig.py
Go to the documentation of this file.
1
2
"""Define methods to construct configured RPC overlay algorithms
3
4
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5
"""
6
7
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
8
from
AthenaConfiguration.ComponentFactory
import
CompFactory
9
10
11
def
RPC_OverlayAlgCfg
(flags, name="RpcOverlay", **kwargs):
12
"""Return a ComponentAccumulator for RPCOverlay algorithm"""
13
acc = ComponentAccumulator()
14
15
kwargs.setdefault(
"BkgInputKey"
, f
"{flags.Overlay.BkgPrefix}RPC_DIGITS"
if
not
flags.Overlay.IgnoreBkgInputs
else
""
)
16
kwargs.setdefault(
"SignalInputKey"
, f
"{flags.Overlay.SigPrefix}RPC_DIGITS"
)
17
kwargs.setdefault(
"OutputKey"
,
"RPC_DIGITS"
)
18
19
# Do RPC overlay
20
acc.addEventAlgo(CompFactory.RpcOverlay(name, **kwargs))
21
22
# Setup output
23
if
flags.Output.doWriteRDO:
24
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
25
if
not
flags.Muon.usePhaseIIGeoSetup:
26
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
27
"RpcPadContainer#RPCPAD"
28
]))
29
if
flags.Muon.enableNRPC:
30
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
31
"xAOD::NRPCRDOContainer#NRPCRDO"
,
"xAOD::NRPCRDOAuxContainer#NRPCRDOAux."
32
]))
33
34
if
flags.Output.doWriteRDO_SGNL:
35
if
not
flags.Muon.usePhaseIIGeoSetup:
36
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
37
acc.merge(OutputStreamCfg(flags,
"RDO_SGNL"
, ItemList=[
38
f
"RpcPadContainer#{flags.Overlay.SigPrefix}RPCPAD"
39
]))
40
if
flags.Muon.enableNRPC:
41
acc.merge(OutputStreamCfg(flags,
"RDO_SGNL"
, ItemList=[
42
f
"xAOD::NRPCRDOContainer#{flags.Overlay.SigPrefix}NRPCRDO"
, f
"xAOD::NRPCRDOAuxContainer#{flags.Overlay.SigPrefix}NRPCRDOAux."
43
]))
44
45
return
acc
46
47
48
def
RPC_TruthOverlayCfg
(flags, name="RpcTruthOverlay", **kwargs):
49
"""Return a ComponentAccumulator for the RPC SDO overlay algorithm"""
50
acc = ComponentAccumulator()
51
52
# We do not need background RPC SDOs
53
if
not
flags.Input.isMC:
54
kwargs.setdefault(
"BkgInputKey"
,
""
)
55
else
:
56
kwargs.setdefault(
"BkgInputKey"
, f
"{flags.Overlay.BkgPrefix}RPC_SDO"
)
57
58
if
kwargs[
"BkgInputKey"
]:
59
from
SGComps.SGInputLoaderConfig
import
SGInputLoaderCfg
60
acc.merge(SGInputLoaderCfg(flags, [f
'MuonSimDataCollection#{kwargs["BkgInputKey"]}'
]))
61
62
kwargs.setdefault(
"SignalInputKey"
, f
"{flags.Overlay.SigPrefix}RPC_SDO"
)
63
kwargs.setdefault(
"OutputKey"
,
"RPC_SDO"
)
64
65
# Do RPC truth overlay
66
acc.addEventAlgo(CompFactory.MuonSimDataOverlay(name, **kwargs))
67
68
# Setup output
69
if
flags.Output.doWriteRDO:
70
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
71
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
72
"MuonSimDataCollection#RPC_SDO"
73
]))
74
75
if
flags.Output.doWriteRDO_SGNL:
76
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
77
acc.merge(OutputStreamCfg(flags,
"RDO_SGNL"
, ItemList=[
78
f
"MuonSimDataCollection#{flags.Overlay.SigPrefix}RPC_SDO"
79
]))
80
81
return
acc
82
83
84
def
RPC_OverlayCfg
(flags):
85
"""Configure and return a ComponentAccumulator for RPC overlay"""
86
acc = ComponentAccumulator()
87
88
# Add RPC RDO to digit config
89
from
MuonConfig.MuonByteStreamCnvTestConfig
import
RpcRdoToRpcDigitCfg
90
acc.merge(RpcRdoToRpcDigitCfg(flags))
91
92
# Add RPC overlay digitization algorithm
93
from
MuonConfig.RPC_DigitizationConfig
import
RPC_OverlayDigitizationBasicCfg
94
acc.merge(RPC_OverlayDigitizationBasicCfg(flags))
95
96
# Add RPC overlay algorithm
97
acc.merge(
RPC_OverlayAlgCfg
(flags))
98
99
# Add RPC truth overlay
100
if
flags.Digitization.EnableTruth:
101
if
flags.Muon.usePhaseIIGeoSetup:
102
from
MuonTruthOverlayR4.TruthOverlayConfig
import
TruthOverlayCfg
103
acc.merge(TruthOverlayCfg(flags, name=
"RpcTruthOverlay"
, WriteKey=
"RPC_SDO"
, deadTime = 100.))
104
else
:
105
acc.merge(
RPC_TruthOverlayCfg
(flags))
106
107
# Add RPC digit to RDO config
108
from
MuonConfig.MuonByteStreamCnvTestConfig
import
RpcDigitToRpcRDOCfg
109
acc.merge(RpcDigitToRpcRDOCfg(flags))
110
if
flags.Muon.enableNRPC:
111
from
MuonConfig.MuonByteStreamCnvTestConfig
import
NrpcDigitToNrpcRDOCfg
112
acc.merge(NrpcDigitToNrpcRDOCfg(flags))
113
114
return
acc
RPC_OverlayConfig.RPC_OverlayCfg
RPC_OverlayCfg(flags)
Definition
RPC_OverlayConfig.py:84
RPC_OverlayConfig.RPC_TruthOverlayCfg
RPC_TruthOverlayCfg(flags, name="RpcTruthOverlay", **kwargs)
Definition
RPC_OverlayConfig.py:48
RPC_OverlayConfig.RPC_OverlayAlgCfg
RPC_OverlayAlgCfg(flags, name="RpcOverlay", **kwargs)
Definition
RPC_OverlayConfig.py:11
Generated on
for ATLAS Offline Software by
1.17.0