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))
29 acc = ComponentAccumulator()
30 kwargs.setdefault(
'ProcessHgtd',
True)
31 acc.addEventAlgo(CompFactory.InDet.XAODToInDetClusterConversion(name, **kwargs))
36 acc = ComponentAccumulator()
37 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnableITkPixel)
38 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableITkStrip)
39 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
44 acc = ComponentAccumulator()
45 kwargs.setdefault(
'isITk',
False)
46 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnablePixel)
47 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableSCT)
49 kwargs.setdefault(
'PixelDetEleCollKey',
"PixelDetectorElementCollection")
50 kwargs.setdefault(
'StripDetEleCollKey',
"SCT_DetectorElementCollection")
52 kwargs.setdefault(
'InputPixelClustersName',
"PixelClusters")
53 kwargs.setdefault(
'InputStripClustersName',
"SCT_Clusters")
55 kwargs.setdefault(
'OutputPixelClustersName',
"PixelClusters")
56 kwargs.setdefault(
'OutputStripClustersName',
"SCT_Clusters")
58 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
63 acc = ComponentAccumulator()
65 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
66 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)) )
68 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnableITkPixel)
69 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableITkStrip)
71 acc.addEventAlgo(CompFactory.InDet.XAODToInDetClusterConversion(name, **kwargs))
76 acc = ComponentAccumulator()
80 if "clusteringTool" not in kwargs:
81 from InDetConfig.SiClusterizationToolConfig
import MergedPixelsToolCfg
82 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
83 MergedPixelsToolCfg(flags)))
85 if "gangedAmbiguitiesFinder" not in kwargs:
86 from InDetConfig.SiClusterizationToolConfig
import PixelGangedAmbiguitiesFinderCfg
87 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(
88 PixelGangedAmbiguitiesFinderCfg(flags)))
90 kwargs.setdefault(
"DataObjectName", prefix +
"PixelRDOs")
91 kwargs.setdefault(
"ClustersName",
"PixelClusters")
93 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(prefix+name, **kwargs))
98 kwargs.setdefault(
"DataObjectName",
"Pixel_PU_RDOs")
99 kwargs.setdefault(
"ClustersName",
"PixelPUClusters")
100 kwargs.setdefault(
"AmbiguitiesMap",
"PixelClusterAmbiguitiesMapPU")
105 acc = ComponentAccumulator()
107 if "RegSelTool" not in kwargs:
108 from RegionSelector.RegSelToolConfig
import regSelTool_Pixel_Cfg
109 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
110 regSelTool_Pixel_Cfg(flags)))
112 if "clusteringTool" not in kwargs:
113 from InDetConfig.SiClusterizationToolConfig
import TrigMergedPixelsToolCfg
114 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
115 TrigMergedPixelsToolCfg(flags)))
117 if "gangedAmbiguitiesFinder" not in kwargs:
118 from InDetConfig.SiClusterizationToolConfig
import PixelGangedAmbiguitiesFinderCfg
119 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(
120 PixelGangedAmbiguitiesFinderCfg(flags)))
122 kwargs.setdefault(
"AmbiguitiesMap", flags.Trigger.InDetTracking.ClusterAmbiguitiesMap)
123 kwargs.setdefault(
"ClustersName",
"PixelTrigClusters")
124 kwargs.setdefault(
"isRoI_Seeded",
True)
125 kwargs.setdefault(
"RoIs", RoIs)
126 kwargs.setdefault(
"ClusterContainerCacheKey", flags.Trigger.InDetTracking.PixelClusterCacheKey)
127 kwargs.setdefault(
"useDataPoolWithCache",
True)
128 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
130 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(**kwargs))
135 acc = ComponentAccumulator()
139 if "clusteringTool" not in kwargs:
140 from InDetConfig.SiClusterizationToolConfig
import ITkMergedPixelsToolCfg
141 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
142 ITkMergedPixelsToolCfg(flags)))
144 if "gangedAmbiguitiesFinder" not in kwargs:
145 from InDetConfig.SiClusterizationToolConfig
import ITkPixelGangedAmbiguitiesFinderCfg
146 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(ITkPixelGangedAmbiguitiesFinderCfg(flags)))
147 kwargs.setdefault(
"DataObjectName", prefix +
"ITkPixelRDOs")
148 kwargs.setdefault(
"ClustersName",
"ITkPixelClusters")
149 kwargs.setdefault(
"AmbiguitiesMap",
"ITkPixelClusterAmbiguitiesMap")
151 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(prefix+name, **kwargs))
156 acc = ComponentAccumulator()
157 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
159 name=
"ITkPixelClusterization_"+signature,
162 ClustersName =
"ITkTrigPixelClusters",
163 ClusterContainerCacheKey=flags.Trigger.ITkTracking.PixelClusterCacheKey,
164 AmbiguitiesMap = flags.Trigger.ITkTracking.ClusterAmbiguitiesMap,
165 RegSelTool= acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags))))
170 acc = ComponentAccumulator()
174 if "conditionsTool" not in kwargs:
175 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_ConditionsSummaryToolCfg
176 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
177 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=
False)))
179 if "SCTDetElStatus" not in kwargs :
180 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig
import SCT_DetectorElementStatusAlgWithoutFlaggedCfg
181 acc.merge( SCT_DetectorElementStatusAlgWithoutFlaggedCfg(flags) )
182 kwargs.setdefault(
"SCTDetElStatus",
"SCTDetectorElementStatusWithoutFlagged" )
184 if "clusteringTool" not in kwargs:
185 from InDetConfig.SiClusterizationToolConfig
import SCT_ClusteringToolCfg
186 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
187 SCT_ClusteringToolCfg(flags)))
189 kwargs.setdefault(
"DataObjectName", prefix +
"SCT_RDOs")
190 kwargs.setdefault(
"ClustersName",
'SCT_Clusters')
192 acc.addEventAlgo(CompFactory.InDet.SCT_Clusterization(prefix+name, **kwargs))
197 kwargs.setdefault(
"DataObjectName",
"SCT_PU_RDOs" )
198 kwargs.setdefault(
"ClustersName",
"SCT_PU_Clusters")
203 acc = ComponentAccumulator()
205 if "RegSelTool" not in kwargs:
206 from RegionSelector.RegSelToolConfig
import regSelTool_SCT_Cfg
207 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
208 regSelTool_SCT_Cfg(flags)))
210 if "conditionsTool" not in kwargs:
211 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_ConditionsSummaryToolCfg
212 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
213 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=
False, withTdaqTool=
False)))
215 if "clusteringTool" not in kwargs:
216 from InDetConfig.SiClusterizationToolConfig
import Trig_SCT_ClusteringToolCfg
217 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
218 Trig_SCT_ClusteringToolCfg(flags)))
220 kwargs.setdefault(
"DataObjectName",
'SCT_RDOs')
221 kwargs.setdefault(
"ClustersName",
'SCT_TrigClusters')
222 kwargs.setdefault(
"isRoI_Seeded",
True)
223 kwargs.setdefault(
"RoIs", RoIs)
224 kwargs.setdefault(
"ClusterContainerCacheKey", flags.Trigger.InDetTracking.SCTClusterCacheKey)
225 kwargs.setdefault(
"FlaggedCondCacheKey",
"")
226 kwargs.setdefault(
"useDataPoolWithCache",
True)
227 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
229 acc.addEventAlgo(CompFactory.InDet.SCT_Clusterization(**kwargs))
234 acc = ComponentAccumulator()
238 kwargs.setdefault(
"conditionsTool",
None)
239 if "SCTDetElStatus" not in kwargs :
240 if not flags.Trigger.doHLT :
241 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import (
242 ITkStripDetectorElementStatusAlgCfg)
243 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
244 kwargs.setdefault(
"SCTDetElStatus",
"ITkStripDetectorElementStatus")
246 if "clusteringTool" not in kwargs:
247 from InDetConfig.SiClusterizationToolConfig
import ITKStrip_SCT_ClusteringToolCfg
248 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
249 ITKStrip_SCT_ClusteringToolCfg(flags)))
250 kwargs.setdefault(
"DataObjectName", prefix +
'ITkStripRDOs')
251 kwargs.setdefault(
"ClustersName",
'ITkStripClusters')
252 kwargs.setdefault(
"SCT_FlaggedCondData",
"ITkStripFlaggedCondData")
254 kwargs.setdefault(
"maxFiredStrips", 0)
256 acc.addEventAlgo( CompFactory.InDet.SCT_Clusterization(prefix+name, **kwargs))
261 acc = ComponentAccumulator()
262 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
264 name=
"ITkStripClusterization_"+signature,
267 ClustersName =
"ITkTrigStripClusters",
268 ClusterContainerCacheKey=flags.Trigger.ITkTracking.SCTClusterCacheKey,
269 RegSelTool= acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags))))
274 acc = ComponentAccumulator()
277 if flags.Common.ProductionStep
in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
278 prefix = flags.Overlay.BkgPrefix
282 if "TRT_DriftCircleTool" not in kwargs:
283 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_DriftCircleToolCfg
284 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
285 TRT_DriftCircleToolCfg(flags)))
286 kwargs.setdefault(
"TRTRIOLocation",
'TRT_DriftCircles')
289 kwargs.setdefault(
"TRTRDOLocation", prefix +
'TRT_RDOs')
291 acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(prefix+name, **kwargs))
296 acc = ComponentAccumulator()
298 if "TRT_DriftCircleTool" not in kwargs:
299 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_NoTime_DriftCircleToolCfg
300 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
301 TRT_NoTime_DriftCircleToolCfg(flags)))
303 kwargs.setdefault(
"TRTRIOLocation",
'TRT_DriftCirclesUncalibrated')
310 acc = ComponentAccumulator()
312 if "TRT_DriftCircleTool" not in kwargs:
313 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_Phase_DriftCircleToolCfg
314 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
315 TRT_Phase_DriftCircleToolCfg(flags)))
322 kwargs.setdefault(
"TRTRDOLocation",
'TRT_PU_RDOs')
323 kwargs.setdefault(
"TRTRIOLocation",
'TRT_PU_DriftCircles')
328 acc = ComponentAccumulator()
330 if "RegSelTool" not in kwargs:
331 from RegionSelector.RegSelToolConfig
import regSelTool_TRT_Cfg
332 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
333 regSelTool_TRT_Cfg(flags)))
335 if "TRT_DriftCircleTool" not in kwargs:
336 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_DriftCircleToolCfg
337 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
338 TRT_DriftCircleToolCfg(flags)))
340 kwargs.setdefault(
"TRTRIOLocation",
"TRT_TrigDriftCircles")
341 kwargs.setdefault(
"TRTRDOLocation",
"TRT_RDOs_TRIG" if flags.Input.Format
is Format.BS
else "TRT_RDOs")
342 kwargs.setdefault(
"isRoI_Seeded",
True)
343 kwargs.setdefault(
"RoIs", RoIs)
345 kwargs.setdefault(
"TRT_DriftCircleCache", flags.Trigger.InDetTracking.TRT_DriftCircleCacheKey)
346 kwargs.setdefault(
"useDataPoolWithCache",
True)
348 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
349 acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(**kwargs))
354 acc = ComponentAccumulator()
358 if flags.Detector.EnableITkPixel:
363 if flags.Detector.EnableITkStrip: