3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from ActsConfig.ActsUtilities
import extractChildKwargs
8 name: str =
"ActsSpacePointCacheCreatorAlg",
9 **kwargs: dict) -> ComponentAccumulator:
11 kwargs.setdefault(
"PixelSpacePointCacheKey",
"ActsPixelSpacePointCache_Back")
12 kwargs.setdefault(
"StripSpacePointCacheKey",
"ActsStripSpacePointCache_Back")
13 kwargs.setdefault(
"StripOverlapSpacePointCacheKey",
"ActsStripOverlapSpacePointCache_Back")
14 acc.addEventAlgo(CompFactory.ActsTrk.Cache.CreatorAlg(name, **kwargs))
18 name: str =
"ActsPixelSpacePointTool",
19 **kwargs: dict) -> ComponentAccumulator:
21 acc.setPrivateTools(CompFactory.ActsTrk.PixelSpacePointFormationTool(name, **kwargs))
25 name: str =
"ActsStripSpacePointTool",
26 **kwargs: dict) -> ComponentAccumulator:
29 if 'LorentzAngleTool' not in kwargs:
30 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
33 acc.setPrivateTools(CompFactory.ActsTrk.StripSpacePointFormationTool(name, **kwargs))
37 name: str =
"ActsCoreStripSpacePointTool",
38 **kwargs: dict) -> ComponentAccumulator:
41 if 'LorentzAngleTool' not in kwargs:
42 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
45 if 'ConverterTool' not in kwargs:
46 from ActsConfig.ActsEventCnvConfig
import ActsToTrkConverterToolCfg
49 if 'TrackingGeometryTool' not in kwargs:
50 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
53 acc.setPrivateTools(CompFactory.ActsTrk.CoreStripSpacePointFormationTool(name, **kwargs))
57 name: str =
"ActsPixelSpacePointPreparationAlg",
59 useCache: bool =
False,
60 **kwargs: dict) -> ComponentAccumulator:
63 kwargs.setdefault(
'InputCollection',
'ITkPixelSpacePoints')
64 kwargs.setdefault(
'DetectorElements',
'ITkPixelDetectorElementCollection')
66 if 'RegSelTool' not in kwargs:
67 from RegionSelector.RegSelToolConfig
import regSelTool_ITkPixel_Cfg
70 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
71 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
73 name =
"ActsPixelSpacePointPreparationMonitoringTool")))
76 acc.addEventAlgo(CompFactory.ActsTrk.SpacePointDataPreparationAlg(name, **kwargs))
78 acc.addEventAlgo(CompFactory.ActsTrk.SpacePointCacheDataPreparationAlg(name, **kwargs))
82 name: str =
"ActsStripSpacePointPreparationAlg",
84 useCache: bool =
False,
85 **kwargs: dict) -> ComponentAccumulator:
88 kwargs.setdefault(
'InputCollection',
'ITkStripSpacePoints')
89 kwargs.setdefault(
'DetectorElements',
'ITkStripDetectorElementCollection')
91 if 'RegSelTool' not in kwargs:
92 from RegionSelector.RegSelToolConfig
import regSelTool_ITkStrip_Cfg
95 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
96 from ActsConfig.ActsMonitoringConfig
import ActsDataPreparationMonitoringToolCfg
98 name =
"ActsStripSpacePointPreparationMonitoringTool")))
101 acc.addEventAlgo(CompFactory.ActsTrk.SpacePointDataPreparationAlg(name, **kwargs))
103 acc.addEventAlgo(CompFactory.ActsTrk.SpacePointCacheDataPreparationAlg(name, **kwargs))
107 name: str =
'ActsStripOverlapSpacePointPreparationAlg',
109 useCache: bool =
False,
110 **kwargs: dict) -> ComponentAccumulator:
111 kwargs.setdefault(
'InputCollection',
'ITkStripOverlapSpacePoints')
115 name: str =
"ActsPixelSpacePointFormationAlg",
117 useCache: bool =
False,
118 **kwargs: dict) -> ComponentAccumulator:
121 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
124 kwargs.setdefault(
'PixelClusters',
'ITkPixelClusters')
125 kwargs.setdefault(
'PixelSpacePoints',
'ITkPixelSpacePoints')
128 kwargs.setdefault(
'SPCacheBackend',
'ActsPixelSpacePointCache_Back')
129 kwargs.setdefault(
'SPCache',
'ActsPixelSpacePointCache')
131 if 'SpacePointFormationTool' not in kwargs:
134 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
135 from ActsConfig.ActsMonitoringConfig
import ActsPixelSpacePointFormationMonitoringToolCfg
140 acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheSpacePointFormationAlg(name, **kwargs))
142 acc.addEventAlgo(CompFactory.ActsTrk.PixelSpacePointFormationAlg(name, **kwargs))
147 name: str =
"ActsStripSpacePointFormationAlg",
149 useCache: bool =
False,
150 **kwargs: dict) -> ComponentAccumulator:
153 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
156 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
159 from InDetConfig.SiSpacePointFormationConfig
import ITkSiElementPropertiesTableCondAlgCfg
163 kwargs.setdefault(
'StripClusters',
'ITkStripClusters')
164 kwargs.setdefault(
'StripSpacePoints',
'ITkStripSpacePoints')
165 kwargs.setdefault(
'StripOverlapSpacePoints',
'ITkStripOverlapSpacePoints')
168 kwargs.setdefault(
'SPCacheBackend',
'ActsStripSpacePointCache_Back')
169 kwargs.setdefault(
'SPCache',
'ActsStripSpacePointCache')
170 kwargs.setdefault(
'OSPCacheBackend',
'ActsStripOverlapSpacePointCache_Back')
171 kwargs.setdefault(
'OSPCache',
'ActsStripOverlapSpacePointCache')
173 if 'SpacePointFormationTool' not in kwargs:
174 from ActsConfig.ActsConfigFlags
import SpacePointStrategy
175 if flags.Acts.SpacePointStrategy
is SpacePointStrategy.ActsCore:
180 if flags.Acts.doMonitoring
and 'MonTool' not in kwargs:
181 from ActsConfig.ActsMonitoringConfig
import ActsStripSpacePointFormationMonitoringToolCfg
185 acc.addEventAlgo(CompFactory.ActsTrk.StripCacheSpacePointFormationAlg(name, **kwargs))
187 acc.addEventAlgo(CompFactory.ActsTrk.StripSpacePointFormationAlg(name, **kwargs))
192 RoIs: str =
"ActsRegionOfInterest",
193 **kwargs: dict) -> ComponentAccumulator:
196 kwargs.setdefault(
'processPixels', flags.Detector.EnableITkPixel)
197 kwargs.setdefault(
'processStrips', flags.Detector.EnableITkStrip)
198 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
199 kwargs.setdefault(
'runReconstruction',
True)
200 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
201 kwargs.setdefault(
'processOverlapSpacePoints',
True)
203 if kwargs[
'runCacheCreation']:
206 if kwargs[
'runReconstruction']:
207 if kwargs[
'processPixels']:
210 if kwargs[
'processStrips']:
213 if kwargs[
'runPreparation']:
214 if kwargs[
'processPixels']:
218 if kwargs[
'processStrips']:
222 if kwargs[
'processOverlapSpacePoints']:
228 if flags.Acts.doAnalysis:
229 if kwargs[
'processPixels']:
230 from ActsConfig.ActsAnalysisConfig
import ActsPixelSpacePointAnalysisAlgCfg
232 if kwargs[
'processStrips']:
233 from ActsConfig.ActsAnalysisConfig
import ActsStripSpacePointAnalysisAlgCfg
235 if kwargs[
'processOverlapSpacePoints']:
236 from ActsConfig.ActsAnalysisConfig
import ActsStripOverlapSpacePointAnalysisAlgCfg
243 previousActsExtension = None) -> ComponentAccumulator:
246 processPixels = flags.Detector.EnableITkPixel
247 processStrips = flags.Detector.EnableITkStrip
251 if flags.Tracking.ActiveConfig.extension
in [
"ActsConversion",
"ActsLargeRadius"]:
252 processPixels =
False
253 elif flags.Tracking.doITkFastTracking:
255 processStrips =
False
258 kwargs.setdefault(
'processPixels', processPixels)
259 kwargs.setdefault(
'processStrips', processStrips)
277 if flags.Tracking.ActiveConfig.isSecondaryPass:
279 kwargs.setdefault(
'runCacheCreation',
False)
280 kwargs.setdefault(
'runReconstruction', flags.Acts.useCache)
281 kwargs.setdefault(
'runPreparation',
True)
284 kwargs.setdefault(
'runCacheCreation', flags.Acts.useCache)
285 kwargs.setdefault(
'runReconstruction',
True)
286 kwargs.setdefault(
'runPreparation', flags.Acts.useCache)
289 processOverlapSpacePoints = processStrips
290 if flags.Tracking.ActiveConfig.extension
in [
'ActsConversion']:
291 processOverlapSpacePoints =
False
292 kwargs.setdefault(
'processOverlapSpacePoints', processOverlapSpacePoints)
295 roisName = f
'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
297 if flags.Tracking.ActiveConfig.extension ==
'ActsLargeRadius':
298 roisName =
'ActsRegionOfInterest'
302 pixelClustersName =
'ITkPixelClusters'
303 stripClustersName =
'ITkStripClusters'
304 pixelSpacePointsName =
'ITkPixelSpacePoints'
305 stripSpacePointsName =
'ITkStripSpacePoints'
306 stripOverlapSpacePointsName =
'ITkStripOverlapSpacePoints'
308 if flags.Tracking.ActiveConfig.isSecondaryPass:
309 pixelClustersName = f
'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}PixelClusters'
310 stripClustersName = f
'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}StripClusters'
311 pixelSpacePointsName = f
'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}PixelSpacePoints'
312 stripSpacePointsName = f
'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}StripSpacePoints'
313 stripOverlapSpacePointsName = f
'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}StripOverlapSpacePoints'
315 if flags.Acts.useCache:
316 pixelClustersName +=
"_Cached"
317 stripClustersName +=
"_Cached"
320 primaryPixelSpacePointsName =
'ITkPixelSpacePoints'
321 primaryStripSpacePointsName =
'ITkStripSpacePoints'
322 primaryStripOverlapSpacePointsName =
'ITkStripOverlapSpacePoints'
325 if kwargs[
'runCacheCreation']:
326 kwargs.setdefault(
'SpacePointCacheCreatorAlg.name', f
'{flags.Tracking.ActiveConfig.extension}SpacePointCacheCreatorAlg')
329 if kwargs[
'runReconstruction']:
330 if kwargs[
'processPixels']:
331 kwargs.setdefault(
'PixelSpacePointFormationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSpacePointFormationAlg')
332 kwargs.setdefault(
'PixelSpacePointFormationAlg.useCache', flags.Acts.useCache)
333 kwargs.setdefault(
'PixelSpacePointFormationAlg.SPCache', f
'{flags.Tracking.ActiveConfig.extension}PixelSpacePointCache')
334 kwargs.setdefault(
'PixelSpacePointFormationAlg.PixelClusters', pixelClustersName)
335 kwargs.setdefault(
'PixelSpacePointFormationAlg.PixelSpacePoints', pixelSpacePointsName)
337 if kwargs[
'processStrips']:
338 kwargs.setdefault(
'StripSpacePointFormationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSpacePointFormationAlg')
339 kwargs.setdefault(
'StripSpacePointFormationAlg.useCache', flags.Acts.useCache)
340 kwargs.setdefault(
'StripSpacePointFormationAlg.SPCache', f
'{flags.Tracking.ActiveConfig.extension}StripSpacePointCache')
341 kwargs.setdefault(
'StripSpacePointFormationAlg.StripClusters', stripClustersName)
342 kwargs.setdefault(
'StripSpacePointFormationAlg.StripSpacePoints', stripSpacePointsName)
345 kwargs.setdefault(
'StripSpacePointFormationAlg.ProcessOverlapForStrip', kwargs[
'processOverlapSpacePoints'])
346 kwargs.setdefault(
'StripSpacePointFormationAlg.OSPCache', f
'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointCache')
347 if kwargs[
'processOverlapSpacePoints']:
348 kwargs.setdefault(
'StripSpacePointFormationAlg.StripOverlapSpacePoints', stripOverlapSpacePointsName)
351 kwargs.setdefault(
'StripSpacePointFormationAlg.StripOverlapSpacePoints',
'')
354 if kwargs[
'runPreparation']:
355 if kwargs[
'processPixels']:
356 kwargs.setdefault(
'PixelSpacePointPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSpacePointPreparationAlg')
357 kwargs.setdefault(
'PixelSpacePointPreparationAlg.useCache', flags.Acts.useCache)
358 kwargs.setdefault(
'PixelSpacePointPreparationAlg.OutputCollection', f
'{pixelSpacePointsName}_Cached' if kwargs[
'runReconstruction']
else pixelSpacePointsName)
360 if not flags.Acts.useCache:
362 kwargs.setdefault(
'PixelSpacePointPreparationAlg.InputCollection', pixelSpacePointsName
if kwargs[
'runReconstruction']
else primaryPixelSpacePointsName)
363 kwargs.setdefault(
'PixelSpacePointPreparationAlg.InputIDC',
'')
365 kwargs.setdefault(
'PixelSpacePointPreparationAlg.InputCollection',
'')
366 kwargs.setdefault(
'PixelSpacePointPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}PixelSpacePointCache')
368 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
369 kwargs.setdefault(
'PixelSpacePointPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
372 if kwargs[
'processStrips']:
373 kwargs.setdefault(
'StripSpacePointPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSpacePointPreparationAlg')
374 kwargs.setdefault(
'StripSpacePointPreparationAlg.useCache', flags.Acts.useCache)
375 kwargs.setdefault(
'StripSpacePointPreparationAlg.OutputCollection', f
'{stripSpacePointsName}_Cached' if kwargs[
'runReconstruction']
else stripSpacePointsName)
377 if not flags.Acts.useCache:
379 kwargs.setdefault(
'StripSpacePointPreparationAlg.InputCollection', stripSpacePointsName
if kwargs[
'runReconstruction']
else primaryStripSpacePointsName)
380 kwargs.setdefault(
'StripSpacePointPreparationAlg.InputIDC',
'')
382 kwargs.setdefault(
'StripSpacePointPreparationAlg.InputCollection',
'')
383 kwargs.setdefault(
'StripSpacePointPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}StripSpacePointCache')
385 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
386 kwargs.setdefault(
'StripSpacePointPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
388 if kwargs[
'processOverlapSpacePoints']:
389 kwargs.setdefault(
'StripOverlapSpacePointPreparationAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointPreparationAlg')
390 kwargs.setdefault(
'StripOverlapSpacePointPreparationAlg.useCache', flags.Acts.useCache)
391 kwargs.setdefault(
'StripOverlapSpacePointPreparationAlg.OutputCollection', f
'{stripOverlapSpacePointsName}_Cached' if kwargs[
'runReconstruction']
else stripOverlapSpacePointsName)
393 if not flags.Acts.useCache:
395 kwargs.setdefault(
'StripOverlapSpacePointPreparationAlg.InputCollection', stripOverlapSpacePointsName
if kwargs[
'runReconstruction']
else primaryStripOverlapSpacePointsName)
396 kwargs.setdefault(
'StripOverlapSpacePointPreparationAlg.InputIDC',
'')
398 kwargs.setdefault(
'StripOverlapSpacePointPreparationAlg.InputCollection',
'')
399 kwargs.setdefault(
'StripOverlapSpacePointPreparationAlg.InputIDC', f
'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointCache')
401 if flags.Tracking.ActiveConfig.isSecondaryPass
and previousActsExtension
is not None:
402 kwargs.setdefault(
'StripOverlapSpacePointPreparationAlg.InputPrdMap', f
'{previousActsExtension}PrdMap')
405 if flags.Acts.doAnalysis:
408 if kwargs[
'processPixels']:
409 kwargs.setdefault(
'PixelSpacePointAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSpacePointAnalysisAlg')
410 kwargs.setdefault(
'PixelSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
411 kwargs.setdefault(
'PixelSpacePointAnalysisAlg.SpacePointContainerKey', kwargs[
'PixelSpacePointPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'PixelSpacePointFormationAlg.PixelSpacePoints'])
413 if kwargs[
'processStrips']:
414 kwargs.setdefault(
'StripSpacePointAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSpacePointAnalysisAlg')
415 kwargs.setdefault(
'StripSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
416 kwargs.setdefault(
'StripSpacePointAnalysisAlg.SpacePointContainerKey', kwargs[
'StripSpacePointPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'StripSpacePointFormationAlg.StripSpacePoints'])
418 if kwargs[
'processOverlapSpacePoints']:
419 kwargs.setdefault(
'StripOverlapSpacePointAnalysisAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointAnalysisAlg')
420 kwargs.setdefault(
'StripOverlapSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
421 kwargs.setdefault(
'StripOverlapSpacePointAnalysisAlg.SpacePointContainerKey', kwargs[
'StripOverlapSpacePointPreparationAlg.OutputCollection']
if kwargs[
'runPreparation']
else kwargs[
'StripSpacePointFormationAlg.StripOverlapSpacePoints'])