3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from AthenaConfiguration.Enums
import Format
6 from AthenaConfiguration.Enums
import ProductionStep
10 """Return clusterization input prefix based on the production step and tracking config"""
11 if hasattr(flags.TrackOverlay,
"ActiveConfig"):
12 doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig,
"doTrackOverlay",
None)
14 doTrackOverlay = flags.Overlay.doTrackOverlay
17 prefix = flags.Overlay.SigPrefix
18 elif flags.Common.ProductionStep
in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
19 prefix = flags.Overlay.BkgPrefix
28 kwargs.setdefault(
'ProcessHgtd',
True)
29 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
34 kwargs.setdefault(
'ProcessHgtd',
True)
35 acc.addEventAlgo(CompFactory.InDet.XAODToInDetClusterConversion(name, **kwargs))
41 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnableITkPixel)
42 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableITkStrip)
43 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
49 kwargs.setdefault(
'isITk',
False)
50 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnablePixel)
51 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableSCT)
53 kwargs.setdefault(
'PixelDetEleCollKey',
"PixelDetectorElementCollection")
54 kwargs.setdefault(
'StripDetEleCollKey',
"SCT_DetectorElementCollection")
56 kwargs.setdefault(
'InputPixelClustersName',
"PixelClusters")
57 kwargs.setdefault(
'InputStripClustersName',
"SCT_Clusters")
59 kwargs.setdefault(
'OutputPixelClustersName',
"PixelClusters")
60 kwargs.setdefault(
'OutputStripClustersName',
"SCT_Clusters")
62 acc.addEventAlgo(CompFactory.InDet.InDetToXAODClusterConversion(name, **kwargs))
69 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
72 kwargs.setdefault(
'ProcessPixel', flags.Detector.EnableITkPixel)
73 kwargs.setdefault(
'ProcessStrip', flags.Detector.EnableITkStrip)
75 acc.addEventAlgo(CompFactory.InDet.XAODToInDetClusterConversion(name, **kwargs))
84 if "clusteringTool" not in kwargs:
85 from InDetConfig.SiClusterizationToolConfig
import MergedPixelsToolCfg
86 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
89 if "gangedAmbiguitiesFinder" not in kwargs:
90 from InDetConfig.SiClusterizationToolConfig
import PixelGangedAmbiguitiesFinderCfg
91 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(
94 kwargs.setdefault(
"DataObjectName", prefix +
"PixelRDOs")
95 kwargs.setdefault(
"ClustersName",
"PixelClusters")
97 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(prefix+name, **kwargs))
102 kwargs.setdefault(
"DataObjectName",
"Pixel_PU_RDOs")
103 kwargs.setdefault(
"ClustersName",
"PixelPUClusters")
104 kwargs.setdefault(
"AmbiguitiesMap",
"PixelClusterAmbiguitiesMapPU")
111 if "RegSelTool" not in kwargs:
112 from RegionSelector.RegSelToolConfig
import regSelTool_Pixel_Cfg
113 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
116 if "clusteringTool" not in kwargs:
117 from InDetConfig.SiClusterizationToolConfig
import TrigMergedPixelsToolCfg
118 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
121 if "gangedAmbiguitiesFinder" not in kwargs:
122 from InDetConfig.SiClusterizationToolConfig
import PixelGangedAmbiguitiesFinderCfg
123 kwargs.setdefault(
"gangedAmbiguitiesFinder", acc.popToolsAndMerge(
126 kwargs.setdefault(
"AmbiguitiesMap", flags.Trigger.InDetTracking.ClusterAmbiguitiesMap)
127 kwargs.setdefault(
"ClustersName",
"PixelTrigClusters")
128 kwargs.setdefault(
"isRoI_Seeded",
True)
129 kwargs.setdefault(
"RoIs", RoIs)
130 kwargs.setdefault(
"ClusterContainerCacheKey", flags.Trigger.InDetTracking.PixelClusterCacheKey)
131 kwargs.setdefault(
"useDataPoolWithCache",
True)
132 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
134 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(**kwargs))
143 if "clusteringTool" not in kwargs:
144 from InDetConfig.SiClusterizationToolConfig
import ITkMergedPixelsToolCfg
145 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
148 if "gangedAmbiguitiesFinder" not in kwargs:
149 from InDetConfig.SiClusterizationToolConfig
import ITkPixelGangedAmbiguitiesFinderCfg
151 kwargs.setdefault(
"DataObjectName", prefix +
"ITkPixelRDOs")
152 kwargs.setdefault(
"ClustersName",
"ITkPixelClusters")
153 kwargs.setdefault(
"AmbiguitiesMap",
"ITkPixelClusterAmbiguitiesMap")
155 acc.addEventAlgo(CompFactory.InDet.PixelClusterization(prefix+name, **kwargs))
161 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
163 name=
"ITkPixelClusterization_"+signature,
166 ClustersName =
"ITkTrigPixelClusters",
167 ClusterContainerCacheKey=flags.Trigger.ITkTracking.PixelClusterCacheKey,
168 AmbiguitiesMap = flags.Trigger.ITkTracking.ClusterAmbiguitiesMap,
178 if "conditionsTool" not in kwargs:
179 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_ConditionsSummaryToolCfg
180 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
183 if "SCTDetElStatus" not in kwargs :
184 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig
import SCT_DetectorElementStatusAlgWithoutFlaggedCfg
186 kwargs.setdefault(
"SCTDetElStatus",
"SCTDetectorElementStatusWithoutFlagged" )
188 if "clusteringTool" not in kwargs:
189 from InDetConfig.SiClusterizationToolConfig
import SCT_ClusteringToolCfg
190 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
193 kwargs.setdefault(
"DataObjectName", prefix +
"SCT_RDOs")
194 kwargs.setdefault(
"ClustersName",
'SCT_Clusters')
196 acc.addEventAlgo(CompFactory.InDet.SCT_Clusterization(prefix+name, **kwargs))
201 kwargs.setdefault(
"DataObjectName",
"SCT_PU_RDOs" )
202 kwargs.setdefault(
"ClustersName",
"SCT_PU_Clusters")
209 if "RegSelTool" not in kwargs:
210 from RegionSelector.RegSelToolConfig
import regSelTool_SCT_Cfg
211 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
214 if "conditionsTool" not in kwargs:
215 from SCT_ConditionsTools.SCT_ConditionsToolsConfig
import SCT_ConditionsSummaryToolCfg
216 kwargs.setdefault(
"conditionsTool", acc.popToolsAndMerge(
219 if "clusteringTool" not in kwargs:
220 from InDetConfig.SiClusterizationToolConfig
import Trig_SCT_ClusteringToolCfg
221 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
224 kwargs.setdefault(
"DataObjectName",
'SCT_RDOs')
225 kwargs.setdefault(
"ClustersName",
'SCT_TrigClusters')
226 kwargs.setdefault(
"isRoI_Seeded",
True)
227 kwargs.setdefault(
"RoIs", RoIs)
228 kwargs.setdefault(
"ClusterContainerCacheKey", flags.Trigger.InDetTracking.SCTClusterCacheKey)
229 kwargs.setdefault(
"FlaggedCondCacheKey",
"")
230 kwargs.setdefault(
"useDataPoolWithCache",
True)
231 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
233 acc.addEventAlgo(CompFactory.InDet.SCT_Clusterization(**kwargs))
242 kwargs.setdefault(
"conditionsTool",
None)
243 if "SCTDetElStatus" not in kwargs :
244 if not flags.Trigger.doHLT :
245 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig
import (
246 ITkStripDetectorElementStatusAlgCfg)
248 kwargs.setdefault(
"SCTDetElStatus",
"ITkStripDetectorElementStatus")
250 if "clusteringTool" not in kwargs:
251 from InDetConfig.SiClusterizationToolConfig
import ITKStrip_SCT_ClusteringToolCfg
252 kwargs.setdefault(
"clusteringTool", acc.popToolsAndMerge(
254 kwargs.setdefault(
"DataObjectName", prefix +
'ITkStripRDOs')
255 kwargs.setdefault(
"ClustersName",
'ITkStripClusters')
256 kwargs.setdefault(
"SCT_FlaggedCondData",
"ITkStripFlaggedCondData")
258 kwargs.setdefault(
"maxFiredStrips", 0)
260 acc.addEventAlgo( CompFactory.InDet.SCT_Clusterization(prefix+name, **kwargs))
266 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
268 name=
"ITkStripClusterization_"+signature,
271 ClustersName =
"ITkTrigStripClusters",
272 ClusterContainerCacheKey=flags.Trigger.ITkTracking.SCTClusterCacheKey,
281 if flags.Common.ProductionStep
in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
282 prefix = flags.Overlay.BkgPrefix
286 if "TRT_DriftCircleTool" not in kwargs:
287 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_DriftCircleToolCfg
288 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
290 kwargs.setdefault(
"TRTRIOLocation",
'TRT_DriftCircles')
293 kwargs.setdefault(
"TRTRDOLocation", prefix +
'TRT_RDOs')
295 acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(prefix+name, **kwargs))
302 if "TRT_DriftCircleTool" not in kwargs:
303 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_NoTime_DriftCircleToolCfg
304 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
307 kwargs.setdefault(
"TRTRIOLocation",
'TRT_DriftCirclesUncalibrated')
316 if "TRT_DriftCircleTool" not in kwargs:
317 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_Phase_DriftCircleToolCfg
318 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
326 kwargs.setdefault(
"TRTRDOLocation",
'TRT_PU_RDOs')
327 kwargs.setdefault(
"TRTRIOLocation",
'TRT_PU_DriftCircles')
334 if "RegSelTool" not in kwargs:
335 from RegionSelector.RegSelToolConfig
import regSelTool_TRT_Cfg
336 kwargs.setdefault(
"RegSelTool", acc.popToolsAndMerge(
339 if "TRT_DriftCircleTool" not in kwargs:
340 from InDetConfig.TRT_DriftCircleToolConfig
import TRT_DriftCircleToolCfg
341 kwargs.setdefault(
"TRT_DriftCircleTool", acc.popToolsAndMerge(
344 kwargs.setdefault(
"TRTRIOLocation",
"TRT_TrigDriftCircles")
345 kwargs.setdefault(
"TRTRDOLocation",
"TRT_RDOs_TRIG" if flags.Input.Format
is Format.BS
else "TRT_RDOs")
346 kwargs.setdefault(
"isRoI_Seeded",
True)
347 kwargs.setdefault(
"RoIs", RoIs)
349 kwargs.setdefault(
"TRT_DriftCircleCache", flags.Trigger.InDetTracking.TRT_DriftCircleCacheKey)
350 kwargs.setdefault(
"useDataPoolWithCache",
True)
352 kwargs.setdefault(
"name", f
"{name}_{RoIs}")
353 acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(**kwargs))
362 if flags.Detector.EnableITkPixel:
367 if flags.Detector.EnableITkStrip: