10 name: str =
"ActsIDPixelClusteringTool",
11 **kwargs) -> ComponentAccumulator:
12 acc = ComponentAccumulator()
14 kwargs.setdefault(
"isITk",
False)
16 from PixelConditionsAlgorithms.PixelConditionsConfig
import PixelChargeCalibCondCfg, PixelOfflineCalibCondAlgCfg
17 acc.merge(PixelChargeCalibCondCfg(flags))
18 acc.merge(PixelOfflineCalibCondAlgCfg(flags))
19 kwargs.setdefault(
"PixelChargeCalibCondData",
"PixelChargeCalibCondData")
21 if "PixelLorentzAngleTool" not in kwargs:
22 from SiLorentzAngleTool.PixelLorentzAngleConfig
import PixelLorentzAngleToolCfg
23 kwargs.setdefault(
"PixelLorentzAngleTool", acc.popToolsAndMerge( PixelLorentzAngleToolCfg(flags) ))
25 kwargs.setdefault(
"CheckGanged",
True)
26 kwargs.setdefault(
'UseWeightedPosition',
False)
27 kwargs.setdefault(
'UseBroadErrors',
True)
29 acc.setPrivateTools(CompFactory.ActsTrk.PixelClusteringTool(name, **kwargs))
33 name: str =
"ActsIDStripClusteringTool",
34 **kwargs) -> ComponentAccumulator:
35 acc = ComponentAccumulator()
37 kwargs.setdefault(
"isITk",
False)
39 if 'LorentzAngleTool' not in kwargs:
40 from SiLorentzAngleTool.SCT_LorentzAngleConfig
import SCT_LorentzAngleToolCfg
41 kwargs.setdefault(
"LorentzAngleTool", acc.popToolsAndMerge(SCT_LorentzAngleToolCfg(flags)))
43 if "StripDetElStatus" not in kwargs :
44 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig
import (
45 SCT_DetectorElementStatusAlgWithoutFlaggedCfg)
46 acc.merge(SCT_DetectorElementStatusAlgWithoutFlaggedCfg(flags))
47 kwargs.setdefault(
"StripDetElStatus",
"SCTDetectorElementStatusWithoutFlagged")
50 kwargs.setdefault(
"maxFiredStrips", 384)
51 kwargs.setdefault(
"errorStrategy", 2)
53 if flags.InDet.selectSCTIntimeHits:
54 coll_25ns = (flags.Beam.BunchSpacing <= 25
and
55 flags.Beam.Type
is BeamType.Collisions)
56 kwargs.setdefault(
"timeBins",
"01X" if coll_25ns
else "X1X")
58 kwargs.setdefault(
"StripDetEleCollKey",
"SCT_DetectorElementCollection")
60 acc.setPrivateTools(CompFactory.ActsTrk.StripClusteringTool(name, **kwargs))
64 name: str =
'ActsIDPixelClusterizationAlg',
66 useCache: bool =
False,
67 **kwargs) -> ComponentAccumulator:
68 acc = ComponentAccumulator()
70 kwargs.setdefault(
"IDHelper",
"PixelID")
71 kwargs.setdefault(
"RDOContainerKey",
"PixelRDOs")
72 kwargs.setdefault(
"ClustersKey",
"PixelClusters")
73 kwargs.setdefault(
"DetEleCollKey",
"PixelDetectorElementCollection")
75 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
77 kwargs.setdefault(
'ClusterCacheBackend',
'ActsPixelClusterCache_Back')
78 kwargs.setdefault(
'ClusterCache',
'ActsPixelClustersCache')
80 if 'RegSelTool' not in kwargs:
81 from RegionSelector.RegSelToolConfig
import regSelTool_Pixel_Cfg
82 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_Pixel_Cfg(flags)))
84 if 'ClusteringTool' not in kwargs:
87 if 'DetElStatus' not in kwargs:
88 from PixelConditionsAlgorithms.PixelConditionsConfig
import PixelDetectorElementStatusAlgCfg
89 acc.merge(PixelDetectorElementStatusAlgCfg(flags))
90 kwargs.setdefault(
'DetElStatus',
'PixelDetectorElementStatus')
93 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterizationAlg(name, **kwargs))
95 acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheClusterizationAlg(name, **kwargs))
99 name: str =
'ActsIDStripClusterizationAlg',
100 useCache: bool =
False,
101 **kwargs) -> ComponentAccumulator:
102 acc = ComponentAccumulator()
104 kwargs.setdefault(
"RDOContainerKey",
"SCT_RDOs")
105 kwargs.setdefault(
"ClustersKey",
"SCT_Clusters")
106 kwargs.setdefault(
"IDHelper",
"SCT_ID")
107 kwargs.setdefault(
"DetEleCollKey",
"SCT_DetectorElementCollection")
109 kwargs.setdefault(
'RoIs',
'ActsRegionOfInterest')
111 kwargs.setdefault(
'ClusterCacheBackend',
'ActsStripClusterCache_Back')
112 kwargs.setdefault(
'ClusterCache',
'ActsStripClustersCache')
114 if 'RegSelTool' not in kwargs:
115 from RegionSelector.RegSelToolConfig
import regSelTool_SCT_Cfg
116 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_SCT_Cfg(flags)))
118 if 'DetElStatus' not in kwargs :
119 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig
import SCT_DetectorElementStatusAlgWithoutFlaggedCfg
120 acc.merge(SCT_DetectorElementStatusAlgWithoutFlaggedCfg(flags))
121 kwargs.setdefault(
"DetElStatus",
"SCTDetectorElementStatusWithoutFlagged")
123 if 'ClusteringTool' not in kwargs:
127 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterizationAlg(name, **kwargs))
129 acc.addEventAlgo(CompFactory.ActsTrk.StripCacheClusterizationAlg(name, **kwargs))
133 name: str =
"ActsIDPixelClusterPreparationAlg",
134 useCache: bool =
False,
135 **kwargs) -> ComponentAccumulator:
136 acc = ComponentAccumulator()
138 kwargs.setdefault(
'InputCollection',
'PixelClusters')
139 kwargs.setdefault(
'DetectorElements',
'PixelDetectorElementCollection')
141 if 'RegSelTool' not in kwargs:
142 from RegionSelector.RegSelToolConfig
import regSelTool_Pixel_Cfg
143 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_Pixel_Cfg(flags)))
146 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterDataPreparationAlg(name, **kwargs))
148 acc.addEventAlgo(CompFactory.ActsTrk.PixelClusterCacheDataPreparationAlg(name, **kwargs))
152 name: str =
"ActsIDStripClusterPreparationAlg",
153 useCache: bool =
False,
154 **kwargs) -> ComponentAccumulator:
155 acc = ComponentAccumulator()
157 kwargs.setdefault(
'InputCollection',
'SCT_Clusters')
158 kwargs.setdefault(
'DetectorElements',
'SCT_DetectorElementCollection')
160 if 'RegSelTool' not in kwargs:
161 from RegionSelector.RegSelToolConfig
import regSelTool_SCT_Cfg
162 kwargs.setdefault(
'RegSelTool', acc.popToolsAndMerge(regSelTool_SCT_Cfg(flags)))
165 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterDataPreparationAlg(name, **kwargs))
167 acc.addEventAlgo(CompFactory.ActsTrk.StripClusterCacheDataPreparationAlg(name, **kwargs))
172 RoIs: str =
"ActsRegionOfInterest",
173 **kwargs: dict) -> ComponentAccumulator:
174 assert isinstance(RoIs, str)
175 assert isinstance(kwargs, dict)
177 acc = ComponentAccumulator()
186 kwargs.setdefault(
'processPixels', flags.Detector.EnablePixel)
187 kwargs.setdefault(
'processStrips', flags.Detector.EnableSCT)
188 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
189 kwargs.setdefault(
'runReconstruction',
True)
190 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
193 if kwargs[
'runCacheCreation']:
194 acc.merge(ActsClusterCacheCreatorAlgCfg(flags,
195 **extractChildKwargs(prefix=
'ClusterCacheCreatorAlg.', **kwargs)))
198 if kwargs[
'runReconstruction']:
199 if kwargs[
'processPixels']:
202 **extractChildKwargs(prefix=
'PixelClusterizationAlg.', **kwargs)))
203 if kwargs[
'processStrips']:
206 **extractChildKwargs(prefix=
'StripClusterizationAlg.', **kwargs)))
209 if kwargs[
'runPreparation']:
210 if kwargs[
'processPixels']:
213 **extractChildKwargs(prefix=
'PixelClusterPreparationAlg.', **kwargs)))
215 if kwargs[
'processStrips']:
218 **extractChildKwargs(prefix=
'StripClusterPreparationAlg.', **kwargs)))
224 previousActsExtension: str =
None) -> ComponentAccumulator:
225 assert previousActsExtension
is None or isinstance(previousActsExtension, str)
227 acc = ComponentAccumulator()
229 processPixels = flags.Detector.EnablePixel
230 processStrips = flags.Detector.EnableSCT
233 kwargs.setdefault(
'processPixels', processPixels)
234 kwargs.setdefault(
'processStrips', processStrips)
254 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
255 kwargs.setdefault(
'runReconstruction',
True)
256 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
259 roisName = f
'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
261 if flags.Tracking.ActiveConfig.isLargeD0
and flags.Tracking.ActiveConfig.isSecondaryPass:
262 roisName =
'ActsRegionOfInterest'
266 primaryPixelClustersName =
'PixelClusters'
267 primaryStripClustersName =
'SCT_Clusters'
268 pixelClustersName = primaryPixelClustersName
269 stripClustersName = primaryStripClustersName
272 if kwargs[
'runCacheCreation']:
273 kwargs.setdefault(
'ClusterCacheCreatorAlg.name', f
'{flags.Tracking.ActiveConfig.extension}ClusterCacheCreatorAlg')
276 if kwargs[
'runReconstruction']:
277 if kwargs[
'processPixels']:
278 kwargs.setdefault(
'PixelClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterizationAlg')
279 kwargs.setdefault(
'PixelClusterizationAlg.useCache', flags.Acts.useCache)
280 kwargs.setdefault(
'PixelClusterizationAlg.ClustersKey', pixelClustersName)
281 kwargs.setdefault(
'PixelClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
283 if kwargs[
'processStrips']:
284 kwargs.setdefault(
'StripClusterizationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterizationAlg')
285 kwargs.setdefault(
'StripClusterizationAlg.useCache', flags.Acts.useCache)
286 kwargs.setdefault(
'StripClusterizationAlg.ClustersKey', stripClustersName)
287 kwargs.setdefault(
'StripClusterizationAlg.ClusterCache', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
290 if kwargs[
'runPreparation']:
291 if kwargs[
'processPixels']:
292 kwargs.setdefault(
'PixelClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelClusterPreparationAlg')
293 kwargs.setdefault(
'PixelClusterPreparationAlg.useCache', flags.Acts.useCache)
294 kwargs.setdefault(
'PixelClusterPreparationAlg.OutputCollection', f
'{pixelClustersName}_Cached' if kwargs[
'runReconstruction']
else pixelClustersName)
296 if not flags.Acts.useCache:
298 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection', pixelClustersName
if kwargs[
'runReconstruction']
else primaryPixelClustersName)
299 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC',
'')
301 kwargs.setdefault(
'PixelClusterPreparationAlg.InputCollection',
'')
302 kwargs.setdefault(
'PixelClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}PixelClustersCache')
304 if kwargs[
'processStrips']:
305 kwargs.setdefault(
'StripClusterPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripClusterPreparationAlg')
306 kwargs.setdefault(
'StripClusterPreparationAlg.useCache', flags.Acts.useCache)
307 kwargs.setdefault(
'StripClusterPreparationAlg.OutputCollection', f
'{stripClustersName}_Cached' if kwargs[
'runReconstruction']
else stripClustersName)
308 if not flags.Acts.useCache:
309 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection', stripClustersName
if kwargs[
'runReconstruction']
else primaryStripClustersName)
310 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC',
'')
312 kwargs.setdefault(
'StripClusterPreparationAlg.InputCollection',
'')
313 kwargs.setdefault(
'StripClusterPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}StripClustersCache')
316 if flags.Acts.EDM.PersistifyClusters
and kwargs[
'runReconstruction']:
317 from ActsConfig.ActsPersistificationConfig
import PersistifyClusters
318 pixelClusterCollections =
None if not kwargs[
'processPixels']
else [kwargs[
'PixelClusterizationAlg.ClustersKey']]
319 stripClusterCollections =
None if not kwargs[
'processStrips']
else [kwargs[
'StripClusterizationAlg.ClustersKey']]
320 acc.merge(PersistifyClusters(flags,
321 pixelClusterCollections=pixelClusterCollections,
322 stripClusterCollections=stripClusterCollections,
323 hgtdClusterCollections=
None))