ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDigitization
FastSiDigitization
python
FastSiDigitizationConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
from
DigitizationConfig.PileUpMergeSvcConfig
import
PileUpMergeSvcCfg, PileUpXingFolderCfg
6
7
8
# The earliest bunch crossing time for which interactions will be sent
9
# to the Fast Pixel Digitization code.
10
def
FastPixel_FirstXing
():
11
return
0
12
13
14
# The latest bunch crossing time for which interactions will be sent
15
# to the Fast Pixel Digitization code.
16
def
FastPixel_LastXing
():
17
return
0
18
19
20
# The earliest bunch crossing time for which interactions will be sent
21
# to the Fast SCT Digitization code.
22
def
FastSCT_FirstXing
():
23
return
0
24
25
26
# The latest bunch crossing time for which interactions will be sent
27
# to the Fast SCT Digitization code.
28
def
FastSCT_LastXing
():
29
return
0
30
31
32
def
commonPixelFastDigitizationCfg
(flags, name,**kwargs):
33
acc = ComponentAccumulator()
34
from
InDetConfig.SiClusterizationToolConfig
import
ClusterMakerToolCfg
35
kwargs.setdefault(
"ClusterMaker"
, acc.popToolsAndMerge(ClusterMakerToolCfg(flags)))
36
37
from
RngComps.RngCompsConfig
import
AthRNGSvcCfg
38
kwargs.setdefault(
"RndmSvc"
, acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
39
kwargs.setdefault(
"RndmEngine"
,
"FastPixelDigitization"
)
40
41
if
flags.Digitization.DoXingByXingPileUp:
42
kwargs.setdefault(
"FirstXing"
,
FastPixel_FirstXing
())
43
kwargs.setdefault(
"LastXing"
,
FastPixel_LastXing
() )
44
45
from
PixelConditionsAlgorithms.PixelConditionsConfig
import
PixelConfigCondAlgCfg
46
acc.merge(PixelConfigCondAlgCfg(flags, name=
"PixelConfigCondAlg"
, ReadDeadMapKey =
""
))
47
48
from
SiLorentzAngleTool.PixelLorentzAngleConfig
import
PixelLorentzAngleToolCfg
49
kwargs.setdefault(
"LorentzAngleTool"
, acc.popToolsAndMerge(PixelLorentzAngleToolCfg(flags)))
50
51
acc.setPrivateTools(CompFactory.PixelFastDigitizationTool(name,**kwargs))
52
return
acc
53
54
55
def
commonSCT_FastDigitizationCfg
(flags, name,**kwargs):
56
acc = ComponentAccumulator()
57
from
InDetConfig.SiClusterizationToolConfig
import
ClusterMakerToolCfg
58
kwargs.setdefault(
"ClusterMaker"
, acc.popToolsAndMerge(ClusterMakerToolCfg(flags)))
59
60
from
RngComps.RngCompsConfig
import
AthRNGSvcCfg
61
kwargs.setdefault(
"RndmSvc"
, acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
62
kwargs.setdefault(
"RndmEngine"
,
"FastSCT_Digitization"
)
63
64
if
flags.Digitization.DoXingByXingPileUp:
65
kwargs.setdefault(
"FirstXing"
,
FastSCT_FirstXing
())
66
kwargs.setdefault(
"LastXing"
,
FastSCT_LastXing
() )
67
68
from
SiLorentzAngleTool.SCT_LorentzAngleConfig
import
SCT_LorentzAngleToolCfg
69
kwargs.setdefault(
"LorentzAngleTool"
, acc.popToolsAndMerge(SCT_LorentzAngleToolCfg(flags)))
70
71
acc.setPrivateTools(CompFactory.SCT_FastDigitizationTool(name,**kwargs))
72
return
acc
73
74
75
76
def
PixelFastDigitizationToolCfg
(flags, name="PixelFastDigitizationTool", **kwargs):
77
acc = ComponentAccumulator()
78
intervals = []
79
if
not
flags.Digitization.DoXingByXingPileUp:
80
intervals += [acc.popToolsAndMerge(
FastPixelRangeCfg
(flags))]
81
kwargs.setdefault(
"MergeSvc"
, acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
82
kwargs.setdefault(
"HardScatterSplittingMode"
, 0)
83
acc.setPrivateTools(
commonPixelFastDigitizationCfg
(flags, name, **kwargs))
84
return
acc
85
86
87
88
def
PixelFastDigitizationToolHSCfg
(flags, name="PixelFastDigitizationToolHS", **kwargs):
89
acc = ComponentAccumulator()
90
intervals = []
91
if
not
flags.Digitization.DoXingByXingPileUp:
92
intervals += [acc.popToolsAndMerge(
FastPixelRangeCfg
(flags))]
93
kwargs.setdefault(
"MergeSvc"
, acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
94
kwargs.setdefault(
"HardScatterSplittingMode"
, 1)
95
acc.setPrivateTools(
commonPixelFastDigitizationCfg
(flags, name, **kwargs))
96
return
acc
97
98
99
100
def
PixelFastDigitizationToolPUCfg
(flags, name="PixelFastDigitizationToolPU", **kwargs):
101
acc = ComponentAccumulator()
102
intervals = []
103
if
not
flags.Digitization.DoXingByXingPileUp:
104
intervals += [acc.popToolsAndMerge(
FastPixelRangeCfg
(flags))]
105
kwargs.setdefault(
"MergeSvc"
, acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
106
kwargs.setdefault(
"PixelClusterContainerName"
,
"Pixel_PU_Clusters"
)
107
kwargs.setdefault(
"TruthNamePixel"
,
"PRD_MultiTruthPixel_PU"
)
108
kwargs.setdefault(
"HardScatterSplittingMode"
, 2)
109
acc.setPrivateTools(
commonPixelFastDigitizationCfg
(flags, name, **kwargs))
110
return
acc
111
112
113
114
def
PixelFastDigitizationToolSplitNoMergePUCfg
(flags, name="PixelFastDigitizationToolSplitNoMergePU", **kwargs):
115
acc = ComponentAccumulator()
116
intervals = []
117
if
not
flags.Digitization.DoXingByXingPileUp:
118
intervals += [acc.popToolsAndMerge(
FastPixelRangeCfg
(flags))]
119
kwargs.setdefault(
"MergeSvc"
, acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
120
kwargs.setdefault(
"InputObjectName"
,
"PileupPixelHits"
)
121
kwargs.setdefault(
"PixelClusterContainerName"
,
"PixelFast_PU_Clusters"
)
122
kwargs.setdefault(
"TruthNamePixel"
,
"PRD_MultiTruthPixel_PU"
)
123
kwargs.setdefault(
"HardScatterSplittingMode"
, 0)
124
kwargs.setdefault(
"PixelClusterAmbiguitiesMapName"
,
"PixelClusterAmbiguitiesMapPU"
)
125
acc.setPrivateTools(
commonPixelFastDigitizationCfg
(flags, name, **kwargs))
126
return
acc
127
128
129
130
def
SCT_FastDigitizationToolCfg
(flags, name="SCT_FastDigitizationTool", **kwargs):
131
acc = ComponentAccumulator()
132
intervals = []
133
if
not
flags.Digitization.DoXingByXingPileUp:
134
intervals += [acc.popToolsAndMerge(
FastSCTRangeCfg
(flags))]
135
kwargs.setdefault(
"MergeSvc"
, acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
136
kwargs.setdefault(
"HardScatterSplittingMode"
, 0)
137
acc.setPrivateTools(
commonSCT_FastDigitizationCfg
(flags, name, **kwargs))
138
return
acc
139
return
commonSCT_FastDigitizationCfg
(flags, name,**kwargs)
140
141
142
143
def
SCT_FastDigitizationToolHSCfg
(flags, name="SCT_FastDigitizationToolHS",**kwargs):
144
acc = ComponentAccumulator()
145
intervals = []
146
if
not
flags.Digitization.DoXingByXingPileUp:
147
intervals += [acc.popToolsAndMerge(
FastSCTRangeCfg
(flags))]
148
kwargs.setdefault(
"MergeSvc"
, acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
149
kwargs.setdefault(
"HardScatterSplittingMode"
, 1)
150
acc.setPrivateTools(
commonSCT_FastDigitizationCfg
(flags, name, **kwargs))
151
return
acc
152
153
154
155
def
SCT_FastDigitizationToolPUCfg
(flags, name="SCT_FastDigitizationToolPU",**kwargs):
156
acc = ComponentAccumulator()
157
intervals = []
158
if
not
flags.Digitization.DoXingByXingPileUp:
159
intervals += [acc.popToolsAndMerge(
FastSCTRangeCfg
(flags))]
160
kwargs.setdefault(
"MergeSvc"
, acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
161
kwargs.setdefault(
"SCT_ClusterContainerName"
,
"SCT_PU_Clusters"
)
162
kwargs.setdefault(
"TruthNameSCT"
,
"PRD_MultiTruthSCT_PU"
)
163
kwargs.setdefault(
"HardScatterSplittingMode"
, 2)
164
acc.setPrivateTools(
commonSCT_FastDigitizationCfg
(flags, name, **kwargs))
165
return
acc
166
167
168
169
def
SCT_FastDigitizationToolSplitNoMergePUCfg
(flags, name="SCT_FastDigitizationToolSplitNoMergePU",**kwargs):
170
acc = ComponentAccumulator()
171
intervals = []
172
if
not
flags.Digitization.DoXingByXingPileUp:
173
intervals += [acc.popToolsAndMerge(
FastSCTRangeCfg
(flags))]
174
kwargs.setdefault(
"MergeSvc"
, acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
175
kwargs.setdefault(
"InputObjectName"
,
"PileupSCT_Hits"
)
176
kwargs.setdefault(
"SCT_ClusterContainerName"
,
"SCT_PU_Clusters"
)
177
kwargs.setdefault(
"TruthNameSCT"
,
"PRD_MultiTruthSCT_PU"
)
178
kwargs.setdefault(
"HardScatterSplittingMode"
, 0)
179
acc.setPrivateTools(
commonSCT_FastDigitizationCfg
(flags, name, **kwargs))
180
return
acc
181
182
183
184
def
FastPixelRangeCfg
(flags, name="FastPixelRange" , **kwargs):
185
kwargs.setdefault(
'FirstXing'
,
FastPixel_FirstXing
() )
186
kwargs.setdefault(
'LastXing'
,
FastPixel_LastXing
() )
187
kwargs.setdefault(
'CacheRefreshFrequency'
, 1.0 )
#default 0 no dataproxy reset
188
kwargs.setdefault(
'ItemList'
, [
"SiHitCollection#PixelHits"
] )
189
return
PileUpXingFolderCfg(flags, name, **kwargs)
190
191
192
193
def
FastSCTRangeCfg
(flags, name="FastSCTRange" , **kwargs):
194
#this is the time of the xing in ns
195
kwargs.setdefault(
'FirstXing'
,
FastSCT_FirstXing
() )
196
kwargs.setdefault(
'LastXing'
,
FastSCT_LastXing
() )
197
kwargs.setdefault(
'CacheRefreshFrequency'
, 1.0 )
#default 0 no dataproxy reset
198
kwargs.setdefault(
'ItemList'
, [
"SiHitCollection#SCT_Hits"
] )
199
return
PileUpXingFolderCfg(flags, name, **kwargs)
FastSiDigitizationConfig.FastPixel_LastXing
FastPixel_LastXing()
Definition
FastSiDigitizationConfig.py:16
FastSiDigitizationConfig.PixelFastDigitizationToolHSCfg
PixelFastDigitizationToolHSCfg(flags, name="PixelFastDigitizationToolHS", **kwargs)
Definition
FastSiDigitizationConfig.py:88
FastSiDigitizationConfig.SCT_FastDigitizationToolSplitNoMergePUCfg
SCT_FastDigitizationToolSplitNoMergePUCfg(flags, name="SCT_FastDigitizationToolSplitNoMergePU", **kwargs)
Definition
FastSiDigitizationConfig.py:169
FastSiDigitizationConfig.SCT_FastDigitizationToolHSCfg
SCT_FastDigitizationToolHSCfg(flags, name="SCT_FastDigitizationToolHS", **kwargs)
Definition
FastSiDigitizationConfig.py:143
FastSiDigitizationConfig.FastPixel_FirstXing
FastPixel_FirstXing()
Definition
FastSiDigitizationConfig.py:10
FastSiDigitizationConfig.commonPixelFastDigitizationCfg
commonPixelFastDigitizationCfg(flags, name, **kwargs)
Definition
FastSiDigitizationConfig.py:32
FastSiDigitizationConfig.FastSCT_FirstXing
FastSCT_FirstXing()
Definition
FastSiDigitizationConfig.py:22
FastSiDigitizationConfig.PixelFastDigitizationToolSplitNoMergePUCfg
PixelFastDigitizationToolSplitNoMergePUCfg(flags, name="PixelFastDigitizationToolSplitNoMergePU", **kwargs)
Definition
FastSiDigitizationConfig.py:114
FastSiDigitizationConfig.PixelFastDigitizationToolPUCfg
PixelFastDigitizationToolPUCfg(flags, name="PixelFastDigitizationToolPU", **kwargs)
Definition
FastSiDigitizationConfig.py:100
FastSiDigitizationConfig.commonSCT_FastDigitizationCfg
commonSCT_FastDigitizationCfg(flags, name, **kwargs)
Definition
FastSiDigitizationConfig.py:55
FastSiDigitizationConfig.SCT_FastDigitizationToolPUCfg
SCT_FastDigitizationToolPUCfg(flags, name="SCT_FastDigitizationToolPU", **kwargs)
Definition
FastSiDigitizationConfig.py:155
FastSiDigitizationConfig.FastSCT_LastXing
FastSCT_LastXing()
Definition
FastSiDigitizationConfig.py:28
FastSiDigitizationConfig.SCT_FastDigitizationToolCfg
SCT_FastDigitizationToolCfg(flags, name="SCT_FastDigitizationTool", **kwargs)
Definition
FastSiDigitizationConfig.py:130
FastSiDigitizationConfig.PixelFastDigitizationToolCfg
PixelFastDigitizationToolCfg(flags, name="PixelFastDigitizationTool", **kwargs)
Definition
FastSiDigitizationConfig.py:76
FastSiDigitizationConfig.FastSCTRangeCfg
FastSCTRangeCfg(flags, name="FastSCTRange", **kwargs)
Definition
FastSiDigitizationConfig.py:193
FastSiDigitizationConfig.FastPixelRangeCfg
FastPixelRangeCfg(flags, name="FastPixelRange", **kwargs)
Definition
FastSiDigitizationConfig.py:184
Generated on
for ATLAS Offline Software by
1.17.0