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 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
29 acc.merge(PersistifyClusters(flags,
30 hgtdClusterCollections=[
'HGTD_Clusters']))
34 acc = ComponentAccumulator()
35 kwargs.setdefault(
'ProcessHgtd',
True)
36 acc.addEventAlgo(CompFactory.InDet.XAODToInDetClusterConversion(name, **kwargs))
41 acc = ComponentAccumulator()
42 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnableITkPixel)
43 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableITkStrip)
44 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
47 pixelClusterCollections =
None if not kwargs[
'ProcessPixel']
else [
'ITkPixelClusters']
48 stripClusterCollections =
None if not kwargs[
'ProcessStrip']
else [
'ITkStripClusters']
49 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
50 acc.merge(PersistifyClusters(flags,
51 pixelClusterCollections=pixelClusterCollections,
52 stripClusterCollections=stripClusterCollections))
57 acc = ComponentAccumulator()
58 kwargs.setdefault(
'isITk',
False)
59 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnablePixel)
60 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableSCT)
62 kwargs.setdefault(
'PixelDetEleCollKey',
"PixelDetectorElementCollection")
63 kwargs.setdefault(
'StripDetEleCollKey',
"SCT_DetectorElementCollection")
65 kwargs.setdefault(
'InputPixelClustersName',
"PixelClusters")
66 kwargs.setdefault(
'InputStripClustersName',
"SCT_Clusters")
68 kwargs.setdefault(
'OutputPixelClustersName',
"PixelClusters")
69 kwargs.setdefault(
'OutputStripClustersName',
"SCT_Clusters")
71 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
74 pixelClusterCollections =
None if not kwargs[
'ProcessPixel']
else [
'PixelClusters']
75 stripClusterCollections =
None if not kwargs[
'ProcessStrip']
else [
'SCT_Clusters']
76 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
77 acc.merge(PersistifyClusters(flags,
78 pixelClusterCollections=pixelClusterCollections,
79 stripClusterCollections=stripClusterCollections))
84 acc = ComponentAccumulator()
86 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
87 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)) )
89 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnableITkPixel)
90 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableITkStrip)
92 acc.addEventAlgo(CompFactory.InDet.XAODToInDetClusterConversion(name, **kwargs))
97 acc = ComponentAccumulator()
101 if "clusteringTool" not in kwargs:
102 from InDetConfig.SiClusterizationToolConfig
import MergedPixelsToolCfg
103 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
104 MergedPixelsToolCfg(flags)))
106 if "gangedAmbiguitiesFinder" not in kwargs:
107 from InDetConfig.SiClusterizationToolConfig
import PixelGangedAmbiguitiesFinderCfg
108 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(
109 PixelGangedAmbiguitiesFinderCfg(flags)))
111 kwargs.setdefault(
"DataObjectName", prefix +
"PixelRDOs")
112 kwargs.setdefault(
"ClustersName",
"PixelClusters")
114 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(prefix+name, **kwargs))
119 kwargs.setdefault(
"DataObjectName",
"Pixel_PU_RDOs")
120 kwargs.setdefault(
"ClustersName",
"PixelPUClusters")
121 kwargs.setdefault(
"AmbiguitiesMap",
"PixelClusterAmbiguitiesMapPU")
126 acc = ComponentAccumulator()
128 if "RegSelTool" not in kwargs:
129 from RegionSelector.RegSelToolConfig
import regSelTool_Pixel_Cfg
130 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
131 regSelTool_Pixel_Cfg(flags)))
133 if "clusteringTool" not in kwargs:
134 from InDetConfig.SiClusterizationToolConfig
import TrigMergedPixelsToolCfg
135 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
136 TrigMergedPixelsToolCfg(flags)))
138 if "gangedAmbiguitiesFinder" not in kwargs:
139 from InDetConfig.SiClusterizationToolConfig
import PixelGangedAmbiguitiesFinderCfg
140 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(
141 PixelGangedAmbiguitiesFinderCfg(flags)))
143 kwargs.setdefault(
"AmbiguitiesMap", flags.Trigger.InDetTracking.ClusterAmbiguitiesMap)
144 kwargs.setdefault(
"ClustersName",
"PixelTrigClusters")
145 kwargs.setdefault(
"isRoI_Seeded",
True)
146 kwargs.setdefault(
"RoIs", RoIs)
147 kwargs.setdefault(
"ClusterContainerCacheKey", flags.Trigger.InDetTracking.PixelClusterCacheKey)
148 kwargs.setdefault(
"useDataPoolWithCache",
True)
149 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
151 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(**kwargs))
156 acc = ComponentAccumulator()
160 if "clusteringTool" not in kwargs:
161 from InDetConfig.SiClusterizationToolConfig
import ITkMergedPixelsToolCfg
162 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
163 ITkMergedPixelsToolCfg(flags)))
165 if "gangedAmbiguitiesFinder" not in kwargs:
166 from InDetConfig.SiClusterizationToolConfig
import ITkPixelGangedAmbiguitiesFinderCfg
167 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(ITkPixelGangedAmbiguitiesFinderCfg(flags)))
168 kwargs.setdefault(
"DataObjectName", prefix +
"ITkPixelRDOs")
169 kwargs.setdefault(
"ClustersName",
"ITkPixelClusters")
170 kwargs.setdefault(
"AmbiguitiesMap",
"ITkPixelClusterAmbiguitiesMap")
172 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(prefix+name, **kwargs))
177 acc = ComponentAccumulator()
178 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
180 name=
"ITkPixelClusterization_"+signature,
183 ClustersName =
"ITkTrigPixelClusters",
184 ClusterContainerCacheKey=flags.Trigger.ITkTracking.PixelClusterCacheKey,
185 AmbiguitiesMap = flags.Trigger.ITkTracking.ClusterAmbiguitiesMap,
186 RegSelTool= acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags))))
191 acc = ComponentAccumulator()
195 if "conditionsTool" not in kwargs:
196 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_ConditionsSummaryToolCfg
197 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
198 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=
False)))
200 if "SCTDetElStatus" not in kwargs :
201 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig
import SCT_DetectorElementStatusAlgWithoutFlaggedCfg
202 acc.merge( SCT_DetectorElementStatusAlgWithoutFlaggedCfg(flags) )
203 kwargs.setdefault(
"SCTDetElStatus",
"SCTDetectorElementStatusWithoutFlagged" )
205 if "clusteringTool" not in kwargs:
206 from InDetConfig.SiClusterizationToolConfig
import SCT_ClusteringToolCfg
207 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
208 SCT_ClusteringToolCfg(flags)))
210 kwargs.setdefault(
"DataObjectName", prefix +
"SCT_RDOs")
211 kwargs.setdefault(
"ClustersName",
'SCT_Clusters')
213 acc.addEventAlgo(CompFactory.InDet.SCT_Clusterization(prefix+name, **kwargs))
218 kwargs.setdefault(
"DataObjectName",
"SCT_PU_RDOs" )
219 kwargs.setdefault(
"ClustersName",
"SCT_PU_Clusters")
224 acc = ComponentAccumulator()
226 if "RegSelTool" not in kwargs:
227 from RegionSelector.RegSelToolConfig
import regSelTool_SCT_Cfg
228 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
229 regSelTool_SCT_Cfg(flags)))
231 if "conditionsTool" not in kwargs:
232 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_ConditionsSummaryToolCfg
233 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
234 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=
False, withTdaqTool=
False)))
236 if "clusteringTool" not in kwargs:
237 from InDetConfig.SiClusterizationToolConfig
import Trig_SCT_ClusteringToolCfg
238 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
239 Trig_SCT_ClusteringToolCfg(flags)))
241 kwargs.setdefault(
"DataObjectName",
'SCT_RDOs')
242 kwargs.setdefault(
"ClustersName",
'SCT_TrigClusters')
243 kwargs.setdefault(
"isRoI_Seeded",
True)
244 kwargs.setdefault(
"RoIs", RoIs)
245 kwargs.setdefault(
"ClusterContainerCacheKey", flags.Trigger.InDetTracking.SCTClusterCacheKey)
246 kwargs.setdefault(
"FlaggedCondCacheKey",
"")
247 kwargs.setdefault(
"useDataPoolWithCache",
True)
248 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
250 acc.addEventAlgo(CompFactory.InDet.SCT_Clusterization(**kwargs))
255 acc = ComponentAccumulator()
259 kwargs.setdefault(
"conditionsTool",
None)
260 if "SCTDetElStatus" not in kwargs :
261 if not flags.Trigger.doHLT :
262 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import (
263 ITkStripDetectorElementStatusAlgCfg)
264 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
265 kwargs.setdefault(
"SCTDetElStatus",
"ITkStripDetectorElementStatus")
267 if "clusteringTool" not in kwargs:
268 from InDetConfig.SiClusterizationToolConfig
import ITKStrip_SCT_ClusteringToolCfg
269 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
270 ITKStrip_SCT_ClusteringToolCfg(flags)))
271 kwargs.setdefault(
"DataObjectName", prefix +
'ITkStripRDOs')
272 kwargs.setdefault(
"ClustersName",
'ITkStripClusters')
273 kwargs.setdefault(
"SCT_FlaggedCondData",
"ITkStripFlaggedCondData")
275 kwargs.setdefault(
"maxFiredStrips", 0)
277 acc.addEventAlgo( CompFactory.InDet.SCT_Clusterization(prefix+name, **kwargs))
282 acc = ComponentAccumulator()
283 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
285 name=
"ITkStripClusterization_"+signature,
288 ClustersName =
"ITkTrigStripClusters",
289 ClusterContainerCacheKey=flags.Trigger.ITkTracking.SCTClusterCacheKey,
290 RegSelTool= acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags))))
295 acc = ComponentAccumulator()
298 if flags.Common.ProductionStep
in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
299 prefix = flags.Overlay.BkgPrefix
303 if "TRT_DriftCircleTool" not in kwargs:
304 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_DriftCircleToolCfg
305 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
306 TRT_DriftCircleToolCfg(flags)))
307 kwargs.setdefault(
"TRTRIOLocation",
'TRT_DriftCircles')
310 kwargs.setdefault(
"TRTRDOLocation", prefix +
'TRT_RDOs')
312 acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(prefix+name, **kwargs))
317 acc = ComponentAccumulator()
319 if "TRT_DriftCircleTool" not in kwargs:
320 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_NoTime_DriftCircleToolCfg
321 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
322 TRT_NoTime_DriftCircleToolCfg(flags)))
324 kwargs.setdefault(
"TRTRIOLocation",
'TRT_DriftCirclesUncalibrated')
331 acc = ComponentAccumulator()
333 if "TRT_DriftCircleTool" not in kwargs:
334 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_Phase_DriftCircleToolCfg
335 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
336 TRT_Phase_DriftCircleToolCfg(flags)))
343 kwargs.setdefault(
"TRTRDOLocation",
'TRT_PU_RDOs')
344 kwargs.setdefault(
"TRTRIOLocation",
'TRT_PU_DriftCircles')
349 acc = ComponentAccumulator()
351 if "RegSelTool" not in kwargs:
352 from RegionSelector.RegSelToolConfig
import regSelTool_TRT_Cfg
353 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
354 regSelTool_TRT_Cfg(flags)))
356 if "TRT_DriftCircleTool" not in kwargs:
357 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_DriftCircleToolCfg
358 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
359 TRT_DriftCircleToolCfg(flags)))
361 kwargs.setdefault(
"TRTRIOLocation",
"TRT_TrigDriftCircles")
362 kwargs.setdefault(
"TRTRDOLocation",
"TRT_RDOs_TRIG" if flags.Input.Format
is Format.BS
else "TRT_RDOs")
363 kwargs.setdefault(
"isRoI_Seeded",
True)
364 kwargs.setdefault(
"RoIs", RoIs)
366 kwargs.setdefault(
"TRT_DriftCircleCache", flags.Trigger.InDetTracking.TRT_DriftCircleCacheKey)
367 kwargs.setdefault(
"useDataPoolWithCache",
True)
369 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
370 acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(**kwargs))
375 acc = ComponentAccumulator()
379 if flags.Detector.EnableITkPixel:
384 if flags.Detector.EnableITkStrip: