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