ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRawAlgs
InDetOverlay
python
TRTOverlayConfig.py
Go to the documentation of this file.
1
"""Define methods to construct configured TRT 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
TRTOverlayAlgCfg
(flags, name="TRTOverlay", **kwargs):
11
"""Return a ComponentAccumulator for TRTOverlay algorithm"""
12
acc = ComponentAccumulator()
13
14
kwargs.setdefault(
"SortBkgInput"
, flags.Overlay.DataOverlay)
15
kwargs.setdefault(
"BkgInputKey"
, f
"{flags.Overlay.BkgPrefix}TRT_RDOs"
if
not
flags.Overlay.IgnoreBkgInputs
else
""
)
16
kwargs.setdefault(
"SignalInputKey"
, f
"{flags.Overlay.SigPrefix}TRT_RDOs"
)
17
kwargs.setdefault(
"SignalInputSDOKey"
, f
"{flags.Overlay.SigPrefix}TRT_SDO_Map"
)
18
kwargs.setdefault(
"OutputKey"
,
"TRT_RDOs"
)
19
20
# Input setup
21
if
kwargs[
"BkgInputKey"
]:
22
from
SGComps.SGInputLoaderConfig
import
SGInputLoaderCfg
23
acc.merge(SGInputLoaderCfg(flags, [f
'TRT_RDO_Container#{kwargs["BkgInputKey"]}'
]))
24
25
from
TRT_GeoModel.TRT_GeoModelConfig
import
TRT_ReadoutGeometryCfg
26
acc.merge(TRT_ReadoutGeometryCfg(flags))
27
28
# HT hit correction fraction
29
kwargs.setdefault(
"TRT_HT_OccupancyCorrectionBarrel"
, 0.110)
30
kwargs.setdefault(
"TRT_HT_OccupancyCorrectionEndcap"
, 0.090)
31
kwargs.setdefault(
"TRT_HT_OccupancyCorrectionBarrelNoE"
, 0.060)
32
kwargs.setdefault(
"TRT_HT_OccupancyCorrectionEndcapNoE"
, 0.050)
33
kwargs.setdefault(
"TRT_HT_OccupancyCorrectionBarrelAr"
, 0.100)
34
kwargs.setdefault(
"TRT_HT_OccupancyCorrectionEndcapAr"
, 0.101)
35
kwargs.setdefault(
"TRT_HT_OccupancyCorrectionBarrelArNoE"
, 0.088)
36
kwargs.setdefault(
"TRT_HT_OccupancyCorrectionEndcapArNoE"
, 0.102)
37
38
from
InDetConfig.TRT_ElectronPidToolsConfig
import
TRT_OverlayLocalOccupancyCfg
39
kwargs.setdefault(
"TRT_LocalOccupancyTool"
, acc.popToolsAndMerge(TRT_OverlayLocalOccupancyCfg(flags)))
40
41
from
RngComps.RngCompsConfig
import
AthRNGSvcCfg
42
kwargs.setdefault(
"RndmSvc"
, acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
43
44
# Do TRT overlay
45
acc.addEventAlgo(CompFactory.TRTOverlay(name, **kwargs))
46
47
# Setup output
48
if
flags.Output.doWriteRDO:
49
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
50
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
51
"TRT_RDO_Container#TRT_RDOs"
52
]))
53
54
if
not
flags.Input.isMC:
55
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
56
"TRT_BSErrContainer#TRT_ByteStreamErrs"
57
]))
58
59
if
flags.Output.doWriteRDO_SGNL:
60
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
61
acc.merge(OutputStreamCfg(flags,
"RDO_SGNL"
, ItemList=[
62
f
"TRT_RDO_Container#{flags.Overlay.SigPrefix}TRT_RDOs"
63
]))
64
65
return
acc
66
67
68
def
TRTTruthOverlayCfg
(flags, name="TRTSDOOverlay", **kwargs):
69
"""Return a ComponentAccumulator for the TRT SDO overlay algorithm"""
70
acc = ComponentAccumulator()
71
72
# We do not need background TRT SDOs for data overlay
73
if
not
flags.Input.isMC:
74
kwargs.setdefault(
"BkgInputKey"
,
""
)
75
else
:
76
kwargs.setdefault(
"BkgInputKey"
, f
"{flags.Overlay.BkgPrefix}TRT_SDO_Map"
)
77
78
if
kwargs[
"BkgInputKey"
]:
79
from
SGComps.SGInputLoaderConfig
import
SGInputLoaderCfg
80
acc.merge(SGInputLoaderCfg(flags, [f
'InDetSimDataCollection#{kwargs["BkgInputKey"]}'
]))
81
82
kwargs.setdefault(
"SignalInputKey"
, f
"{flags.Overlay.SigPrefix}TRT_SDO_Map"
)
83
kwargs.setdefault(
"OutputKey"
,
"TRT_SDO_Map"
)
84
85
# Do TRT truth overlay
86
acc.addEventAlgo(CompFactory.InDetSDOOverlay(name, **kwargs))
87
88
# Setup output
89
if
flags.Output.doWriteRDO:
90
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
91
acc.merge(OutputStreamCfg(flags,
"RDO"
, ItemList=[
92
"InDetSimDataCollection#TRT_SDO_Map"
93
]))
94
95
if
flags.Output.doWriteRDO_SGNL:
96
from
OutputStreamAthenaPool.OutputStreamConfig
import
OutputStreamCfg
97
acc.merge(OutputStreamCfg(flags,
"RDO_SGNL"
, ItemList=[
98
f
"InDetSimDataCollection#{flags.Overlay.SigPrefix}TRT_SDO_Map"
99
]))
100
101
return
acc
102
103
104
def
TRTOverlayCfg
(flags):
105
"""Configure and return a ComponentAccumulator for TRT overlay"""
106
acc = ComponentAccumulator()
107
108
# Add TRT overlay digitization algorithm
109
from
TRT_Digitization.TRT_DigitizationConfig
import
TRT_OverlayDigitizationBasicCfg
110
acc.merge(TRT_OverlayDigitizationBasicCfg(flags))
111
112
# Add TRT overlay algorithm
113
acc.merge(
TRTOverlayAlgCfg
(flags))
114
115
# Add TRT truth overlay
116
if
flags.Digitization.EnableTruth:
117
acc.merge(
TRTTruthOverlayCfg
(flags))
118
119
return
acc
TRTOverlayConfig.TRTOverlayCfg
TRTOverlayCfg(flags)
Definition
TRTOverlayConfig.py:104
TRTOverlayConfig.TRTOverlayAlgCfg
TRTOverlayAlgCfg(flags, name="TRTOverlay", **kwargs)
Definition
TRTOverlayConfig.py:10
TRTOverlayConfig.TRTTruthOverlayCfg
TRTTruthOverlayCfg(flags, name="TRTSDOOverlay", **kwargs)
Definition
TRTOverlayConfig.py:68
Generated on
for ATLAS Offline Software by
1.17.0