ATLAS Offline Software
ActsSpacePointFormationConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from ActsConfig.ActsUtilities import extractChildKwargs
6 
8  name: str = "ActsSpacePointCacheCreatorAlg",
9  **kwargs: dict) -> ComponentAccumulator:
10  acc = 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))
15  return acc
16 
18  name: str = "ActsPixelSpacePointTool",
19  **kwargs: dict) -> ComponentAccumulator:
20  acc = ComponentAccumulator()
21  acc.setPrivateTools(CompFactory.ActsTrk.PixelSpacePointFormationTool(name, **kwargs))
22  return acc
23 
25  name: str = "ActsStripSpacePointTool",
26  **kwargs: dict) -> ComponentAccumulator:
27  acc = ComponentAccumulator()
28 
29  kwargs.setdefault("useTopSp", flags.Acts.reverseTrackFindingForStrips)
30 
31  if 'LorentzAngleTool' not in kwargs:
32  from SiLorentzAngleTool.ITkStripLorentzAngleConfig import ITkStripLorentzAngleToolCfg
33  kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)) )
34 
35  acc.setPrivateTools(CompFactory.ActsTrk.StripSpacePointFormationTool(name, **kwargs))
36  return acc
37 
39  name: str = "ActsCoreStripSpacePointTool",
40  **kwargs: dict) -> ComponentAccumulator:
41  acc = ComponentAccumulator()
42 
43  from ActsConfig.ActsGeometryConfig import ActsDetectorElementToActsGeometryIdMappingAlgCfg
45  kwargs.setdefault('DetectorElementToActsGeometryIdMapKey', 'DetectorElementToActsGeometryIdMap')
46 
47  if 'LorentzAngleTool' not in kwargs:
48  from SiLorentzAngleTool.ITkStripLorentzAngleConfig import ITkStripLorentzAngleToolCfg
49  kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)) )
50 
51  if 'TrackingGeometryTool' not in kwargs:
52  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
53  kwargs.setdefault('TrackingGeometryTool', acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags)))
54 
55  acc.setPrivateTools(CompFactory.ActsTrk.CoreStripSpacePointFormationTool(name, **kwargs))
56  return acc
57 
59  name: str = "ActsPixelSpacePointPreparationAlg",
60  *,
61  useCache: bool = False,
62  **kwargs: dict) -> ComponentAccumulator:
63  acc = ComponentAccumulator()
64 
65  kwargs.setdefault('InputCollection', 'ITkPixelSpacePoints')
66  kwargs.setdefault('DetectorElements', 'ITkPixelDetectorElementCollection')
67 
68  if 'RegSelTool' not in kwargs:
69  from RegionSelector.RegSelToolConfig import regSelTool_ITkPixel_Cfg
70  kwargs.setdefault('RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
71 
72  if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
73  from ActsConfig.ActsMonitoringConfig import ActsDataPreparationMonitoringToolCfg
74  kwargs.setdefault('MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
75  name = "ActsPixelSpacePointPreparationMonitoringTool")))
76 
77  if not useCache:
78  acc.addEventAlgo(CompFactory.ActsTrk.SpacePointDataPreparationAlg(name, **kwargs))
79  else:
80  acc.addEventAlgo(CompFactory.ActsTrk.SpacePointCacheDataPreparationAlg(name, **kwargs))
81  return acc
82 
84  name: str = "ActsStripSpacePointPreparationAlg",
85  *,
86  useCache: bool = False,
87  **kwargs: dict) -> ComponentAccumulator:
88  acc = ComponentAccumulator()
89 
90  kwargs.setdefault('InputCollection', 'ITkStripSpacePoints')
91  kwargs.setdefault('DetectorElements', 'ITkStripDetectorElementCollection')
92 
93  if 'RegSelTool' not in kwargs:
94  from RegionSelector.RegSelToolConfig import regSelTool_ITkStrip_Cfg
95  kwargs.setdefault('RegSelTool', acc.popToolsAndMerge(regSelTool_ITkStrip_Cfg(flags)))
96 
97  if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
98  from ActsConfig.ActsMonitoringConfig import ActsDataPreparationMonitoringToolCfg
99  kwargs.setdefault('MonTool', acc.popToolsAndMerge(ActsDataPreparationMonitoringToolCfg(flags,
100  name = "ActsStripSpacePointPreparationMonitoringTool")))
101 
102  if not useCache:
103  acc.addEventAlgo(CompFactory.ActsTrk.SpacePointDataPreparationAlg(name, **kwargs))
104  else:
105  acc.addEventAlgo(CompFactory.ActsTrk.SpacePointCacheDataPreparationAlg(name, **kwargs))
106  return acc
107 
109  name: str = 'ActsStripOverlapSpacePointPreparationAlg',
110  *,
111  useCache: bool = False,
112  **kwargs: dict) -> ComponentAccumulator:
113  kwargs.setdefault('InputCollection', 'ITkStripOverlapSpacePoints')
114  return ActsStripSpacePointPreparationAlgCfg(flags, name=name, useCache=useCache, **kwargs)
115 
117  name: str = "ActsPixelSpacePointFormationAlg",
118  *,
119  useCache: bool = False,
120  **kwargs: dict) -> ComponentAccumulator:
121  acc = ComponentAccumulator()
122 
123  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
124  acc.merge(ITkPixelReadoutGeometryCfg(flags))
125 
126  kwargs.setdefault('PixelClusters', 'ITkPixelClusters')
127  kwargs.setdefault('PixelSpacePoints', 'ITkPixelSpacePoints')
128 
129  if useCache:
130  kwargs.setdefault('SPCacheBackend', 'ActsPixelSpacePointCache_Back')
131  kwargs.setdefault('SPCache', 'ActsPixelSpacePointCache')
132 
133  if 'SpacePointFormationTool' not in kwargs:
134  kwargs.setdefault("SpacePointFormationTool", acc.popToolsAndMerge(ActsPixelSpacePointToolCfg(flags)))
135 
136  if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
137  from ActsConfig.ActsMonitoringConfig import ActsPixelSpacePointFormationMonitoringToolCfg
138  kwargs.setdefault("MonTool", acc.popToolsAndMerge(ActsPixelSpacePointFormationMonitoringToolCfg(flags)))
139 
140 
141  if useCache:
142  acc.addEventAlgo(CompFactory.ActsTrk.PixelCacheSpacePointFormationAlg(name, **kwargs))
143  else:
144  acc.addEventAlgo(CompFactory.ActsTrk.PixelSpacePointFormationAlg(name, **kwargs))
145 
146  return acc
147 
149  name: str = "ActsStripSpacePointFormationAlg",
150  *,
151  useCache: bool = False,
152  **kwargs: dict) -> ComponentAccumulator:
153  acc = ComponentAccumulator()
154 
155  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
156  acc.merge(ITkStripReadoutGeometryCfg(flags))
157 
158  from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
159  acc.merge(BeamSpotCondAlgCfg(flags))
160 
161  from InDetConfig.SiSpacePointFormationConfig import ITkSiElementPropertiesTableCondAlgCfg
162  acc.merge(ITkSiElementPropertiesTableCondAlgCfg(flags))
163 
164 
165  kwargs.setdefault('StripClusters', 'ITkStripClusters')
166  kwargs.setdefault('StripSpacePoints', 'ITkStripSpacePoints')
167  kwargs.setdefault('StripOverlapSpacePoints', 'ITkStripOverlapSpacePoints')
168 
169  if useCache:
170  kwargs.setdefault('SPCacheBackend', 'ActsStripSpacePointCache_Back')
171  kwargs.setdefault('SPCache', 'ActsStripSpacePointCache')
172  kwargs.setdefault('OSPCacheBackend', 'ActsStripOverlapSpacePointCache_Back')
173  kwargs.setdefault('OSPCache', 'ActsStripOverlapSpacePointCache')
174 
175  if 'SpacePointFormationTool' not in kwargs:
176  from ActsConfig.ActsConfigFlags import SpacePointStrategy
177  if flags.Acts.SpacePointStrategy is SpacePointStrategy.ActsCore:
178  kwargs.setdefault('SpacePointFormationTool', acc.popToolsAndMerge(ActsCoreStripSpacePointToolCfg(flags)))
179  else:
180  kwargs.setdefault('SpacePointFormationTool', acc.popToolsAndMerge(ActsStripSpacePointToolCfg(flags)))
181 
182  if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
183  from ActsConfig.ActsMonitoringConfig import ActsStripSpacePointFormationMonitoringToolCfg
184  kwargs.setdefault("MonTool", acc.popToolsAndMerge(ActsStripSpacePointFormationMonitoringToolCfg(flags)))
185 
186  if useCache:
187  acc.addEventAlgo(CompFactory.ActsTrk.StripCacheSpacePointFormationAlg(name, **kwargs))
188  else:
189  acc.addEventAlgo(CompFactory.ActsTrk.StripSpacePointFormationAlg(name, **kwargs))
190  return acc
191 
193  *,
194  RoIs: str = "ActsRegionOfInterest",
195  **kwargs: dict) -> ComponentAccumulator:
196  acc = ComponentAccumulator()
197 
198  kwargs.setdefault('processPixels', flags.Detector.EnableITkPixel)
199  kwargs.setdefault('processStrips', flags.Detector.EnableITkStrip)
200  kwargs.setdefault('runCacheCreation', flags.Acts.useCache)
201  kwargs.setdefault('runReconstruction', True)
202  kwargs.setdefault('runPreparation', flags.Acts.useCache)
203  kwargs.setdefault('processOverlapSpacePoints', True)
204 
205  if kwargs['runCacheCreation']:
206  acc.merge(ActsSpacePointCacheCreatorAlgCfg(flags, **extractChildKwargs(prefix='SpacePointCacheCreatorAlg.', **kwargs)))
207 
208  if kwargs['runReconstruction']:
209  if kwargs['processPixels']:
210  acc.merge(ActsPixelSpacePointFormationAlgCfg(flags,**extractChildKwargs(prefix='PixelSpacePointFormationAlg.', **kwargs)))
211 
212  if kwargs['processStrips']:
213  acc.merge(ActsStripSpacePointFormationAlgCfg(flags, **extractChildKwargs(prefix='StripSpacePointFormationAlg.', **kwargs)))
214 
215  if kwargs['runPreparation']:
216  if kwargs['processPixels']:
217  acc.merge(ActsPixelSpacePointPreparationAlgCfg(flags,
218  RoIs=RoIs,
219  **extractChildKwargs(prefix='PixelSpacePointPreparationAlg.', **kwargs)))
220  if kwargs['processStrips']:
221  acc.merge(ActsStripSpacePointPreparationAlgCfg(flags,
222  RoIs=RoIs,
223  **extractChildKwargs(prefix='StripSpacePointPreparationAlg.', **kwargs)))
224  if kwargs['processOverlapSpacePoints']:
226  RoIs=RoIs,
227  **extractChildKwargs(prefix='StripOverlapSpacePointPreparationAlg.', **kwargs)))
228 
229  # Analysis extensions
230  if flags.Acts.doAnalysis:
231  if kwargs['processPixels']:
232  from ActsConfig.ActsAnalysisConfig import ActsPixelSpacePointAnalysisAlgCfg
233  acc.merge(ActsPixelSpacePointAnalysisAlgCfg(flags, **extractChildKwargs(prefix='PixelSpacePointAnalysisAlg.', **kwargs)))
234  if kwargs['processStrips']:
235  from ActsConfig.ActsAnalysisConfig import ActsStripSpacePointAnalysisAlgCfg
236  acc.merge(ActsStripSpacePointAnalysisAlgCfg(flags, **extractChildKwargs(prefix='StripSpacePointAnalysisAlg.', **kwargs)))
237  if kwargs['processOverlapSpacePoints']:
238  from ActsConfig.ActsAnalysisConfig import ActsStripOverlapSpacePointAnalysisAlgCfg
239  acc.merge(ActsStripOverlapSpacePointAnalysisAlgCfg(flags, **extractChildKwargs(prefix='StripOverlapSpacePointAnalysisAlg.', **kwargs)))
240 
241  return acc
242 
244  *,
245  previousActsExtension = None) -> ComponentAccumulator:
246  acc = ComponentAccumulator()
247 
248  processPixels = flags.Detector.EnableITkPixel
249  processStrips = flags.Detector.EnableITkStrip
250 
251  # For conversion and LRT pass we do not process pixels since we assume
252  # they have been processed on the primary pass.
253  if flags.Tracking.ActiveConfig.extension in ["ActsConversion", "ActsLargeRadius"]:
254  processPixels = False
255  elif flags.Tracking.doITkFastTracking:
256  # Fast tracking configuration: disable strip
257  processStrips = False
258 
259  kwargs = dict()
260  kwargs.setdefault('processPixels', processPixels)
261  kwargs.setdefault('processStrips', processStrips)
262 
263  # Similarly to Clusterization, space point formation is a three step process at maximum:
264  # (1) Cache Creation
265  # (2) Space Point formation algorithm (reconstruction of space points)
266  # (3) Preparation of collection for downstream algorithms
267  # What step is scheduled depends on the tracking pass and the activation
268  # or de-activation of caching mechanism.
269 
270  # Secondary passes do not need cache creation, that has to be performed
271  # on the primary pass, and only if the caching is enabled.
272  # Reconstruction can run on secondary passes only if the caching is enabled,
273  # this is because we may need to process detector elements not processed
274  # on the primary pass.
275  # Preparation has to be performed on secondary passes always, and on primary
276  # pass only if cache is enabled. In the latter case it is used to collect all
277  # the clusters from all views before passing them to the downstream algorithms
278 
279  if flags.Tracking.ActiveConfig.isSecondaryPass:
280  # Secondary passes
281  kwargs.setdefault('runCacheCreation', False)
282  kwargs.setdefault('runReconstruction', flags.Acts.useCache)
283  kwargs.setdefault('runPreparation', True)
284  else:
285  # Primary pass
286  kwargs.setdefault('runCacheCreation', flags.Acts.useCache)
287  kwargs.setdefault('runReconstruction', True)
288  kwargs.setdefault('runPreparation', flags.Acts.useCache)
289 
290  # Overlap Space Points may not be required
291  processOverlapSpacePoints = processStrips
292  if flags.Tracking.ActiveConfig.extension in ['ActsConversion']:
293  processOverlapSpacePoints = False
294  kwargs.setdefault('processOverlapSpacePoints', processOverlapSpacePoints)
295 
296  # Name of the RoI to be used
297  roisName = f'{flags.Tracking.ActiveConfig.extension}RegionOfInterest'
298  # Large Radius pass uses the same roi as the primary pass (FS roi)
299  if flags.Tracking.ActiveConfig.extension == 'ActsLargeRadius':
300  roisName = 'ActsRegionOfInterest'
301 
302  # Cluster Collection name(s) and Space Point Collection name(s)
303  # The name depends on the tracking pass as well as the cache mechanism
304  pixelClustersName = 'ITkPixelClusters'
305  stripClustersName = 'ITkStripClusters'
306  pixelSpacePointsName = 'ITkPixelSpacePoints'
307  stripSpacePointsName = 'ITkStripSpacePoints'
308  stripOverlapSpacePointsName = 'ITkStripOverlapSpacePoints'
309  # Secondary passes modify the collection name
310  if flags.Tracking.ActiveConfig.isSecondaryPass:
311  pixelClustersName = f'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}PixelClusters'
312  stripClustersName = f'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}StripClusters'
313  pixelSpacePointsName = f'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}PixelSpacePoints'
314  stripSpacePointsName = f'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}StripSpacePoints'
315  stripOverlapSpacePointsName = f'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}StripOverlapSpacePoints'
316  # if cache is enabled, add "_Cached" at the end
317  if flags.Acts.useCache:
318  pixelClustersName += "_Cached"
319  stripClustersName += "_Cached"
320 
321  # Primary collections for space points (i.e. produced by primary pass)
322  primaryPixelSpacePointsName = 'ITkPixelSpacePoints'
323  primaryStripSpacePointsName = 'ITkStripSpacePoints'
324  primaryStripOverlapSpacePointsName = 'ITkStripOverlapSpacePoints'
325 
326  # Configuration for (1)
327  if kwargs['runCacheCreation']:
328  kwargs.setdefault('SpacePointCacheCreatorAlg.name', f'{flags.Tracking.ActiveConfig.extension}SpacePointCacheCreatorAlg')
329 
330  # Configuration for (2)
331  if kwargs['runReconstruction']:
332  if kwargs['processPixels']:
333  kwargs.setdefault('PixelSpacePointFormationAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointFormationAlg')
334  kwargs.setdefault('PixelSpacePointFormationAlg.useCache', flags.Acts.useCache)
335  kwargs.setdefault('PixelSpacePointFormationAlg.SPCache', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointCache')
336  kwargs.setdefault('PixelSpacePointFormationAlg.PixelClusters', pixelClustersName)
337  kwargs.setdefault('PixelSpacePointFormationAlg.PixelSpacePoints', pixelSpacePointsName)
338 
339  if kwargs['processStrips']:
340  kwargs.setdefault('StripSpacePointFormationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointFormationAlg')
341  kwargs.setdefault('StripSpacePointFormationAlg.useCache', flags.Acts.useCache)
342  kwargs.setdefault('StripSpacePointFormationAlg.SPCache', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointCache')
343  kwargs.setdefault('StripSpacePointFormationAlg.StripClusters', stripClustersName)
344  kwargs.setdefault('StripSpacePointFormationAlg.StripSpacePoints', stripSpacePointsName)
345 
346  # Handling of Overlap Space Points
347  kwargs.setdefault('StripSpacePointFormationAlg.ProcessOverlapForStrip', kwargs['processOverlapSpacePoints'])
348  kwargs.setdefault('StripSpacePointFormationAlg.OSPCache', f'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointCache')
349  if kwargs['processOverlapSpacePoints']:
350  kwargs.setdefault('StripSpacePointFormationAlg.StripOverlapSpacePoints', stripOverlapSpacePointsName)
351  else:
352  # Disable keys
353  kwargs.setdefault('StripSpacePointFormationAlg.StripOverlapSpacePoints', '')
354 
355  # Configuration for (3)
356  if kwargs['runPreparation']:
357  if kwargs['processPixels']:
358  kwargs.setdefault('PixelSpacePointPreparationAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointPreparationAlg')
359  kwargs.setdefault('PixelSpacePointPreparationAlg.useCache', flags.Acts.useCache)
360  kwargs.setdefault('PixelSpacePointPreparationAlg.OutputCollection', f'{pixelSpacePointsName}_Cached' if kwargs['runReconstruction'] else pixelSpacePointsName)
361  # The input is one between the collection (w/o cache) and the IDC (w/ cache)
362  if not flags.Acts.useCache:
363  # Take the collection from the reconstruction step. If not available take the collection from the primary pass
364  kwargs.setdefault('PixelSpacePointPreparationAlg.InputCollection', pixelSpacePointsName if kwargs['runReconstruction'] else primaryPixelSpacePointsName)
365  kwargs.setdefault('PixelSpacePointPreparationAlg.InputIDC', '')
366  else:
367  kwargs.setdefault('PixelSpacePointPreparationAlg.InputCollection', '')
368  kwargs.setdefault('PixelSpacePointPreparationAlg.InputIDC', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointCache')
369  # Prd Map
370  if flags.Tracking.ActiveConfig.isSecondaryPass and previousActsExtension is not None:
371  kwargs.setdefault('PixelSpacePointPreparationAlg.InputPrdMap', f'{previousActsExtension}PrdMap')
372 
373 
374  if kwargs['processStrips']:
375  kwargs.setdefault('StripSpacePointPreparationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointPreparationAlg')
376  kwargs.setdefault('StripSpacePointPreparationAlg.useCache', flags.Acts.useCache)
377  kwargs.setdefault('StripSpacePointPreparationAlg.OutputCollection', f'{stripSpacePointsName}_Cached' if kwargs['runReconstruction'] else stripSpacePointsName)
378  # The input is one between the collection (w/o cache) and the IDC (w/ cache)
379  if not flags.Acts.useCache:
380  # Take the collection from the reconstruction step. If not available take the collection from the primary pass
381  kwargs.setdefault('StripSpacePointPreparationAlg.InputCollection', stripSpacePointsName if kwargs['runReconstruction'] else primaryStripSpacePointsName)
382  kwargs.setdefault('StripSpacePointPreparationAlg.InputIDC', '')
383  else:
384  kwargs.setdefault('StripSpacePointPreparationAlg.InputCollection', '')
385  kwargs.setdefault('StripSpacePointPreparationAlg.InputIDC', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointCache')
386  # Prd Map
387  if flags.Tracking.ActiveConfig.isSecondaryPass and previousActsExtension is not None:
388  kwargs.setdefault('StripSpacePointPreparationAlg.InputPrdMap', f'{previousActsExtension}PrdMap')
389 
390  if kwargs['processOverlapSpacePoints']:
391  kwargs.setdefault('StripOverlapSpacePointPreparationAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointPreparationAlg')
392  kwargs.setdefault('StripOverlapSpacePointPreparationAlg.useCache', flags.Acts.useCache)
393  kwargs.setdefault('StripOverlapSpacePointPreparationAlg.OutputCollection', f'{stripOverlapSpacePointsName}_Cached' if kwargs['runReconstruction'] else stripOverlapSpacePointsName)
394  # The input is one between the collection (w/o cache) and the IDC (w/ cache)
395  if not flags.Acts.useCache:
396  # Take the collection from the reconstruction step. If not available take the collection from the primary pass
397  kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputCollection', stripOverlapSpacePointsName if kwargs['runReconstruction'] else primaryStripOverlapSpacePointsName)
398  kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputIDC', '')
399  else:
400  kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputCollection', '')
401  kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputIDC', f'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointCache')
402  # Prd Map
403  if flags.Tracking.ActiveConfig.isSecondaryPass and previousActsExtension is not None:
404  kwargs.setdefault('StripOverlapSpacePointPreparationAlg.InputPrdMap', f'{previousActsExtension}PrdMap')
405 
406  # Analysis algo(s)
407  if flags.Acts.doAnalysis:
408  # Run analysis code on the resulting space point collection produced by this tracking pass
409  # This collection is the result of (3) if it ran, else the result of (2). We are sure at least one of them run
410  if kwargs['processPixels']:
411  kwargs.setdefault('PixelSpacePointAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSpacePointAnalysisAlg')
412  kwargs.setdefault('PixelSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
413  kwargs.setdefault('PixelSpacePointAnalysisAlg.SpacePointContainerKey', kwargs['PixelSpacePointPreparationAlg.OutputCollection'] if kwargs['runPreparation'] else kwargs['PixelSpacePointFormationAlg.PixelSpacePoints'])
414 
415  if kwargs['processStrips']:
416  kwargs.setdefault('StripSpacePointAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSpacePointAnalysisAlg')
417  kwargs.setdefault('StripSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
418  kwargs.setdefault('StripSpacePointAnalysisAlg.SpacePointContainerKey', kwargs['StripSpacePointPreparationAlg.OutputCollection'] if kwargs['runPreparation'] else kwargs['StripSpacePointFormationAlg.StripSpacePoints'])
419 
420  if kwargs['processOverlapSpacePoints']:
421  kwargs.setdefault('StripOverlapSpacePointAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripOverlapSpacePointAnalysisAlg')
422  kwargs.setdefault('StripOverlapSpacePointAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
423  kwargs.setdefault('StripOverlapSpacePointAnalysisAlg.SpacePointContainerKey', kwargs['StripOverlapSpacePointPreparationAlg.OutputCollection'] if kwargs['runPreparation'] else kwargs['StripSpacePointFormationAlg.StripOverlapSpacePoints'])
424 
425  acc.merge(ActsMainSpacePointFormationCfg(flags, RoIs=roisName, **kwargs))
426  return acc
427 
python.ITkStripLorentzAngleConfig.ITkStripLorentzAngleToolCfg
def ITkStripLorentzAngleToolCfg(flags, name="ITkStripLorentzAngleTool", **kwargs)
Definition: ITkStripLorentzAngleConfig.py:10
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
ActsUtilities.extractChildKwargs
dict extractChildKwargs(*str prefix, **dict kwargs)
Definition: ActsUtilities.py:3
python.BeamSpotConditionsConfig.BeamSpotCondAlgCfg
def BeamSpotCondAlgCfg(flags, name="BeamSpotCondAlg", **kwargs)
Definition: BeamSpotConditionsConfig.py:7
ActsAnalysisConfig.ActsStripSpacePointAnalysisAlgCfg
ComponentAccumulator ActsStripSpacePointAnalysisAlgCfg(flags, str name="ActsStripSpacePointAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:269
ActsSpacePointFormationConfig.ActsCoreStripSpacePointToolCfg
ComponentAccumulator ActsCoreStripSpacePointToolCfg(flags, str name="ActsCoreStripSpacePointTool", **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:38
ActsAnalysisConfig.ActsPixelSpacePointAnalysisAlgCfg
ComponentAccumulator ActsPixelSpacePointAnalysisAlgCfg(flags, str name="ActsPixelSpacePointAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:246
RegSelToolConfig.regSelTool_ITkPixel_Cfg
def regSelTool_ITkPixel_Cfg(flags)
Definition: RegSelToolConfig.py:122
ActsSpacePointFormationConfig.ActsStripOverlapSpacePointPreparationAlgCfg
ComponentAccumulator ActsStripOverlapSpacePointPreparationAlgCfg(flags, str name='ActsStripOverlapSpacePointPreparationAlg', *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:108
ActsSpacePointFormationConfig.ActsSpacePointFormationCfg
ComponentAccumulator ActsSpacePointFormationCfg(flags, *previousActsExtension=None)
Definition: ActsSpacePointFormationConfig.py:243
ActsSpacePointFormationConfig.ActsPixelSpacePointPreparationAlgCfg
ComponentAccumulator ActsPixelSpacePointPreparationAlgCfg(flags, str name="ActsPixelSpacePointPreparationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:58
ActsSpacePointFormationConfig.ActsStripSpacePointFormationAlgCfg
ComponentAccumulator ActsStripSpacePointFormationAlgCfg(flags, str name="ActsStripSpacePointFormationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:148
ActsSpacePointFormationConfig.ActsStripSpacePointToolCfg
ComponentAccumulator ActsStripSpacePointToolCfg(flags, str name="ActsStripSpacePointTool", **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:24
RegSelToolConfig.regSelTool_ITkStrip_Cfg
def regSelTool_ITkStrip_Cfg(flags)
Definition: RegSelToolConfig.py:128
ActsMonitoringConfig.ActsDataPreparationMonitoringToolCfg
ComponentAccumulator ActsDataPreparationMonitoringToolCfg(flags, str name="ActsDataPreparationMonitoringTool", **kwargs)
Definition: ActsMonitoringConfig.py:49
ActsAnalysisConfig.ActsStripOverlapSpacePointAnalysisAlgCfg
ComponentAccumulator ActsStripOverlapSpacePointAnalysisAlgCfg(flags, str name="ActsStripOverlapSpacePointAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:291
ActsSpacePointFormationConfig.ActsSpacePointCacheCreatorAlgCfg
ComponentAccumulator ActsSpacePointCacheCreatorAlgCfg(flags, str name="ActsSpacePointCacheCreatorAlg", **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:7
ActsSpacePointFormationConfig.ActsPixelSpacePointToolCfg
ComponentAccumulator ActsPixelSpacePointToolCfg(flags, str name="ActsPixelSpacePointTool", **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:17
ActsGeometryConfig.ActsTrackingGeometryToolCfg
ComponentAccumulator ActsTrackingGeometryToolCfg(flags, str name="ActsTrackingGeometryTool")
Definition: ActsGeometryConfig.py:100
ActsSpacePointFormationConfig.ActsPixelSpacePointFormationAlgCfg
ComponentAccumulator ActsPixelSpacePointFormationAlgCfg(flags, str name="ActsPixelSpacePointFormationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:116
ITkPixelGeoModelConfig.ITkPixelReadoutGeometryCfg
def ITkPixelReadoutGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkPixelGeoModelConfig.py:39
ActsGeometryConfig.ActsDetectorElementToActsGeometryIdMappingAlgCfg
ComponentAccumulator ActsDetectorElementToActsGeometryIdMappingAlgCfg(flags, str name="ActsDetectorElementToActsGeometryIdMappingAlg", **kwargs)
Definition: ActsGeometryConfig.py:257
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkStripGeoModelConfig.py:39
ActsSpacePointFormationConfig.ActsStripSpacePointPreparationAlgCfg
ComponentAccumulator ActsStripSpacePointPreparationAlgCfg(flags, str name="ActsStripSpacePointPreparationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:83
ActsMonitoringConfig.ActsStripSpacePointFormationMonitoringToolCfg
ComponentAccumulator ActsStripSpacePointFormationMonitoringToolCfg(flags, str name="ActsStripSpacePointFormationMonitoringTool", **kwargs)
Definition: ActsMonitoringConfig.py:96
python.SiSpacePointFormationConfig.ITkSiElementPropertiesTableCondAlgCfg
def ITkSiElementPropertiesTableCondAlgCfg(flags, name="ITkSiElementPropertiesTableCondAlg", **kwargs)
Definition: SiSpacePointFormationConfig.py:28
ActsSpacePointFormationConfig.ActsMainSpacePointFormationCfg
ComponentAccumulator ActsMainSpacePointFormationCfg(flags, *str RoIs="ActsRegionOfInterest", **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:192
ActsMonitoringConfig.ActsPixelSpacePointFormationMonitoringToolCfg
ComponentAccumulator ActsPixelSpacePointFormationMonitoringToolCfg(flags, str name="ActsPixelSpacePointFormatioMonitoringTool", **kwargs)
Definition: ActsMonitoringConfig.py:79