ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRawAlgs
InDetOverlay
python
PixelOverlayConfig.py
Go to the documentation of this file.
1
"""Define methods to construct configured Pixel overlay algorithms
2
3
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
4
"""
5
6
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
7
from
AthenaConfiguration.ComponentFactory
import
CompFactory
8
9
10
def
PixelOverlayAlgCfg
(flags, name="PixelOverlay", **kwargs):
11
"""Return a ComponentAccumulator for PixelOverlay algorithm"""
12
acc = ComponentAccumulator()
13
14
kwargs.setdefault(
"BkgInputKey"
, f
"{flags.Overlay.BkgPrefix}PixelRDOs"
if
not
flags.Overlay.IgnoreBkgInputs
else
""
)
15
kwargs.setdefault(
"SignalInputKey"
, f
"{flags.Overlay.SigPrefix}PixelRDOs"
)
16
kwargs.setdefault(
"OutputKey"
,
"PixelRDOs"
)
17
18
# Input setup
19
if
kwargs[
"BkgInputKey"
]:
20
from
SGComps.SGInputLoaderConfig
import
SGInputLoaderCfg
21
acc.merge(SGInputLoaderCfg(flags, [f
'PixelRDO_Container#{kwargs["BkgInputKey"]}'
]))
22
23
# Do Pixel overlay
24
acc.addEventAlgo(CompFactory.PixelOverlay(name, **kwargs))
25
26
# Setup output
27
if
flags.Output.doWriteRDO:
28
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
29
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
30
"PixelRDO_Container#PixelRDOs"
31
]))
32
33
if
not
flags.Input.isMC:
34
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
35
"IDCInDetBSErrContainer#PixelByteStreamErrs"
36
]))
37
38
if
flags.Output.doWriteRDO_SGNL:
39
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
40
acc.merge(OutputStreamCfg(flags,
"RDO_SGNL"
, ItemList=[
41
f
"PixelRDO_Container#{flags.Overlay.SigPrefix}PixelRDOs"
42
]))
43
44
# for track overlay, write out the signal RDOs because reco tracking will only run on them
45
if
flags.Overlay.doTrackOverlay:
46
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
47
f
"PixelRDO_Container#{flags.Overlay.SigPrefix}PixelRDOs"
48
]))
49
50
return
acc
51
52
53
def
PixelTruthOverlayCfg
(flags, name="PixelSDOOverlay", **kwargs):
54
"""Return a ComponentAccumulator for the Pixel SDO overlay algorithm"""
55
acc = ComponentAccumulator()
56
57
# We do not need background Pixel SDOs for data overlay
58
if
not
flags.Input.isMC:
59
kwargs.setdefault(
"BkgInputKey"
,
""
)
60
else
:
61
kwargs.setdefault(
"BkgInputKey"
, f
"{flags.Overlay.BkgPrefix}PixelSDO_Map"
)
62
63
if
kwargs[
"BkgInputKey"
]:
64
from
SGComps.SGInputLoaderConfig
import
SGInputLoaderCfg
65
acc.merge(SGInputLoaderCfg(flags, [f
'InDetSimDataCollection#{kwargs["BkgInputKey"]}'
]))
66
67
kwargs.setdefault(
"SignalInputKey"
, f
"{flags.Overlay.SigPrefix}PixelSDO_Map"
)
68
kwargs.setdefault(
"OutputKey"
,
"PixelSDO_Map"
)
69
70
# Do Pixel truth overlay
71
acc.addEventAlgo(CompFactory.InDetSDOOverlay(name, **kwargs))
72
73
# Setup output
74
if
flags.Output.doWriteRDO:
75
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
76
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
77
"InDetSimDataCollection#PixelSDO_Map"
78
]))
79
80
if
flags.Output.doWriteRDO_SGNL:
81
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
82
acc.merge(OutputStreamCfg(flags,
"RDO_SGNL"
, ItemList=[
83
f
"InDetSimDataCollection#{flags.Overlay.SigPrefix}PixelSDO_Map"
84
]))
85
86
return
acc
87
88
89
def
PixelOverlayCfg
(flags):
90
"""Configure and return a ComponentAccumulator for Pixel overlay"""
91
acc = ComponentAccumulator()
92
93
# Add Pixel overlay digitization algorithm
94
from
PixelDigitization.PixelDigitizationConfig
import
PixelOverlayDigitizationBasicCfg
95
acc.merge(PixelOverlayDigitizationBasicCfg(flags))
96
97
# Add Pixel overlay algorithm
98
acc.merge(
PixelOverlayAlgCfg
(flags))
99
100
# Add Pixel truth overlay
101
if
flags.Digitization.EnableTruth:
102
acc.merge(
PixelTruthOverlayCfg
(flags))
103
104
return
acc
PixelOverlayConfig.PixelOverlayAlgCfg
PixelOverlayAlgCfg(flags, name="PixelOverlay", **kwargs)
Definition
PixelOverlayConfig.py:10
PixelOverlayConfig.PixelTruthOverlayCfg
PixelTruthOverlayCfg(flags, name="PixelSDOOverlay", **kwargs)
Definition
PixelOverlayConfig.py:53
PixelOverlayConfig.PixelOverlayCfg
PixelOverlayCfg(flags)
Definition
PixelOverlayConfig.py:89
Generated on
for ATLAS Offline Software by
1.17.0