3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
5from AthenaConfiguration.Enums
import Format
6from AthenaConfiguration.Enums
import ProductionStep
10 """Return clusterization input prefix based on the production step and tracking config"""
11 doTrackOverlay = flags.TrackOverlay.isTrackOverlaySeq
13 prefix = flags.Overlay.SigPrefix
14 elif flags.Common.ProductionStep
in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
15 prefix = flags.Overlay.BkgPrefix
23 acc = ComponentAccumulator()
24 kwargs.setdefault(
'ProcessHgtd',
True)
25 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
28 if flags.Acts.EDM.PersistifyClusters:
29 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
30 acc.merge(PersistifyClusters(flags,
31 hgtdClusterCollections=[
'HGTD_Clusters']))
35 acc = ComponentAccumulator()
36 kwargs.setdefault(
'ProcessHgtd',
True)
37 acc.addEventAlgo(CompFactory.InDet.XAODToInDetClusterConversion(name, **kwargs))
42 acc = ComponentAccumulator()
43 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnableITkPixel)
44 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableITkStrip)
45 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
48 if flags.Acts.EDM.PersistifyClusters:
49 pixelClusterCollections =
None if not kwargs[
'ProcessPixel']
else [
'ITkPixelClusters']
50 stripClusterCollections =
None if not kwargs[
'ProcessStrip']
else [
'ITkStripClusters']
51 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
52 acc.merge(PersistifyClusters(flags,
53 pixelClusterCollections=pixelClusterCollections,
54 stripClusterCollections=stripClusterCollections))
59 acc = ComponentAccumulator()
60 kwargs.setdefault(
'isITk',
False)
61 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnablePixel)
62 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableSCT)
64 kwargs.setdefault(
'PixelDetEleCollKey',
"PixelDetectorElementCollection")
65 kwargs.setdefault(
'StripDetEleCollKey',
"SCT_DetectorElementCollection")
67 kwargs.setdefault(
'InputPixelClustersName',
"PixelClusters")
68 kwargs.setdefault(
'InputStripClustersName',
"SCT_Clusters")
70 kwargs.setdefault(
'OutputPixelClustersName',
"PixelClusters")
71 kwargs.setdefault(
'OutputStripClustersName',
"SCT_Clusters")
73 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
76 if flags.Acts.EDM.PersistifyClusters:
77 pixelClusterCollections =
None if not kwargs[
'ProcessPixel']
else [
'PixelClusters']
78 stripClusterCollections =
None if not kwargs[
'ProcessStrip']
else [
'SCT_Clusters']
79 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
80 acc.merge(PersistifyClusters(flags,
81 pixelClusterCollections=pixelClusterCollections,
82 stripClusterCollections=stripClusterCollections))
87 acc = ComponentAccumulator()
89 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
90 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)) )
92 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnableITkPixel)
93 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableITkStrip)
95 acc.addEventAlgo(CompFactory.InDet.XAODToInDetClusterConversion(name, **kwargs))
100 acc = ComponentAccumulator()
104 if "clusteringTool" not in kwargs:
105 from InDetConfig.SiClusterizationToolConfig
import MergedPixelsToolCfg
106 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
107 MergedPixelsToolCfg(flags)))
109 if "gangedAmbiguitiesFinder" not in kwargs:
110 from InDetConfig.SiClusterizationToolConfig
import PixelGangedAmbiguitiesFinderCfg
111 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(
112 PixelGangedAmbiguitiesFinderCfg(flags)))
114 kwargs.setdefault(
"DataObjectName", prefix +
"PixelRDOs")
115 kwargs.setdefault(
"ClustersName",
"PixelClusters")
117 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(prefix+name, **kwargs))
122 kwargs.setdefault(
"DataObjectName",
"Pixel_PU_RDOs")
123 kwargs.setdefault(
"ClustersName",
"PixelPUClusters")
124 kwargs.setdefault(
"AmbiguitiesMap",
"PixelClusterAmbiguitiesMapPU")
129 acc = ComponentAccumulator()
131 if "RegSelTool" not in kwargs:
132 from RegionSelector.RegSelToolConfig
import regSelTool_Pixel_Cfg
133 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
134 regSelTool_Pixel_Cfg(flags)))
136 if "clusteringTool" not in kwargs:
137 from InDetConfig.SiClusterizationToolConfig
import TrigMergedPixelsToolCfg
138 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
139 TrigMergedPixelsToolCfg(flags)))
141 if "gangedAmbiguitiesFinder" not in kwargs:
142 from InDetConfig.SiClusterizationToolConfig
import PixelGangedAmbiguitiesFinderCfg
143 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(
144 PixelGangedAmbiguitiesFinderCfg(flags)))
146 kwargs.setdefault(
"AmbiguitiesMap", flags.Trigger.InDetTracking.ClusterAmbiguitiesMap)
147 kwargs.setdefault(
"ClustersName",
"PixelTrigClusters")
148 kwargs.setdefault(
"isRoI_Seeded",
True)
149 kwargs.setdefault(
"RoIs", RoIs)
150 kwargs.setdefault(
"ClusterContainerCacheKey", flags.Trigger.InDetTracking.PixelClusterCacheKey)
151 kwargs.setdefault(
"useDataPoolWithCache",
True)
152 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
154 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(**kwargs))
159 acc = ComponentAccumulator()
163 if "clusteringTool" not in kwargs:
164 from InDetConfig.SiClusterizationToolConfig
import ITkMergedPixelsToolCfg
165 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
166 ITkMergedPixelsToolCfg(flags)))
168 if "gangedAmbiguitiesFinder" not in kwargs:
169 from InDetConfig.SiClusterizationToolConfig
import ITkPixelGangedAmbiguitiesFinderCfg
170 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(ITkPixelGangedAmbiguitiesFinderCfg(flags)))
171 kwargs.setdefault(
"DataObjectName", prefix +
"ITkPixelRDOs")
172 kwargs.setdefault(
"ClustersName",
"ITkPixelClusters")
173 kwargs.setdefault(
"AmbiguitiesMap",
"ITkPixelClusterAmbiguitiesMap")
175 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(prefix+name, **kwargs))
180 acc = ComponentAccumulator()
181 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
183 name=
"ITkPixelClusterization_"+signature,
186 ClustersName =
"ITkTrigPixelClusters",
187 ClusterContainerCacheKey=flags.Trigger.ITkTracking.PixelClusterCacheKey,
188 AmbiguitiesMap = flags.Trigger.ITkTracking.ClusterAmbiguitiesMap,
189 RegSelTool= acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags))))
194 acc = ComponentAccumulator()
198 if "conditionsTool" not in kwargs:
199 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_ConditionsSummaryToolCfg
200 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
201 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=
False)))
203 if "SCTDetElStatus" not in kwargs :
204 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig
import SCT_DetectorElementStatusAlgWithoutFlaggedCfg
205 acc.merge( SCT_DetectorElementStatusAlgWithoutFlaggedCfg(flags) )
206 kwargs.setdefault(
"SCTDetElStatus",
"SCTDetectorElementStatusWithoutFlagged" )
208 if "clusteringTool" not in kwargs:
209 from InDetConfig.SiClusterizationToolConfig
import SCT_ClusteringToolCfg
210 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
211 SCT_ClusteringToolCfg(flags)))
213 kwargs.setdefault(
"DataObjectName", prefix +
"SCT_RDOs")
214 kwargs.setdefault(
"ClustersName",
'SCT_Clusters')
216 acc.addEventAlgo(CompFactory.InDet.SCT_Clusterization(prefix+name, **kwargs))
221 kwargs.setdefault(
"DataObjectName",
"SCT_PU_RDOs" )
222 kwargs.setdefault(
"ClustersName",
"SCT_PU_Clusters")
227 acc = ComponentAccumulator()
229 if "RegSelTool" not in kwargs:
230 from RegionSelector.RegSelToolConfig
import regSelTool_SCT_Cfg
231 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
232 regSelTool_SCT_Cfg(flags)))
234 if "conditionsTool" not in kwargs:
235 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_ConditionsSummaryToolCfg
236 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
237 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=
False, withTdaqTool=
False)))
239 if "clusteringTool" not in kwargs:
240 from InDetConfig.SiClusterizationToolConfig
import Trig_SCT_ClusteringToolCfg
241 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
242 Trig_SCT_ClusteringToolCfg(flags)))
244 kwargs.setdefault(
"DataObjectName",
'SCT_RDOs')
245 kwargs.setdefault(
"ClustersName",
'SCT_TrigClusters')
246 kwargs.setdefault(
"isRoI_Seeded",
True)
247 kwargs.setdefault(
"RoIs", RoIs)
248 kwargs.setdefault(
"ClusterContainerCacheKey", flags.Trigger.InDetTracking.SCTClusterCacheKey)
249 kwargs.setdefault(
"FlaggedCondCacheKey",
"")
250 kwargs.setdefault(
"useDataPoolWithCache",
True)
251 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
253 acc.addEventAlgo(CompFactory.InDet.SCT_Clusterization(**kwargs))
258 acc = ComponentAccumulator()
262 kwargs.setdefault(
"conditionsTool",
None)
263 if "SCTDetElStatus" not in kwargs :
264 if not flags.Trigger.doHLT :
265 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import (
266 ITkStripDetectorElementStatusAlgCfg)
267 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
268 kwargs.setdefault(
"SCTDetElStatus",
"ITkStripDetectorElementStatus")
270 if "clusteringTool" not in kwargs:
271 from InDetConfig.SiClusterizationToolConfig
import ITKStrip_SCT_ClusteringToolCfg
272 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
273 ITKStrip_SCT_ClusteringToolCfg(flags)))
274 kwargs.setdefault(
"DataObjectName", prefix +
'ITkStripRDOs')
275 kwargs.setdefault(
"ClustersName",
'ITkStripClusters')
276 kwargs.setdefault(
"SCT_FlaggedCondData",
"ITkStripFlaggedCondData")
278 kwargs.setdefault(
"maxFiredStrips", 0)
280 acc.addEventAlgo( CompFactory.InDet.SCT_Clusterization(prefix+name, **kwargs))
285 acc = ComponentAccumulator()
286 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
288 name=
"ITkStripClusterization_"+signature,
291 ClustersName =
"ITkTrigStripClusters",
292 ClusterContainerCacheKey=flags.Trigger.ITkTracking.SCTClusterCacheKey,
293 RegSelTool= acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags))))
298 acc = ComponentAccumulator()
301 if flags.Common.ProductionStep
in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
302 prefix = flags.Overlay.BkgPrefix
306 if "TRT_DriftCircleTool" not in kwargs:
307 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_DriftCircleToolCfg
308 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
309 TRT_DriftCircleToolCfg(flags)))
310 kwargs.setdefault(
"TRTRIOLocation",
'TRT_DriftCircles')
313 kwargs.setdefault(
"TRTRDOLocation", prefix +
'TRT_RDOs')
315 acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(prefix+name, **kwargs))
320 acc = ComponentAccumulator()
322 if "TRT_DriftCircleTool" not in kwargs:
323 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_NoTime_DriftCircleToolCfg
324 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
325 TRT_NoTime_DriftCircleToolCfg(flags)))
327 kwargs.setdefault(
"TRTRIOLocation",
'TRT_DriftCirclesUncalibrated')
334 acc = ComponentAccumulator()
336 if "TRT_DriftCircleTool" not in kwargs:
337 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_Phase_DriftCircleToolCfg
338 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
339 TRT_Phase_DriftCircleToolCfg(flags)))
346 kwargs.setdefault(
"TRTRDOLocation",
'TRT_PU_RDOs')
347 kwargs.setdefault(
"TRTRIOLocation",
'TRT_PU_DriftCircles')
352 acc = ComponentAccumulator()
354 if "RegSelTool" not in kwargs:
355 from RegionSelector.RegSelToolConfig
import regSelTool_TRT_Cfg
356 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
357 regSelTool_TRT_Cfg(flags)))
359 if "TRT_DriftCircleTool" not in kwargs:
360 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_DriftCircleToolCfg
361 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
362 TRT_DriftCircleToolCfg(flags)))
364 kwargs.setdefault(
"TRTRIOLocation",
"TRT_TrigDriftCircles")
365 kwargs.setdefault(
"TRTRDOLocation",
"TRT_RDOs_TRIG" if flags.Input.Format
is Format.BS
else "TRT_RDOs")
366 kwargs.setdefault(
"isRoI_Seeded",
True)
367 kwargs.setdefault(
"RoIs", RoIs)
369 kwargs.setdefault(
"TRT_DriftCircleCache", flags.Trigger.InDetTracking.TRT_DriftCircleCacheKey)
370 kwargs.setdefault(
"useDataPoolWithCache",
True)
372 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
373 acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(**kwargs))
378 acc = ComponentAccumulator()
382 if flags.Detector.EnableITkPixel:
387 if flags.Detector.EnableITkStrip: