ATLAS Offline Software
ActsSeedingConfig.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.ActsConfigFlags import SeedingStrategy
6 from ActsConfig.ActsUtilities import extractChildKwargs
7 from ActsInterop import UnitConstants
8 
9 # ACTS tools
11  name: str = "ActsPixelSeedingTool",
12  **kwargs) -> ComponentAccumulator:
13  acc = ComponentAccumulator()
14 
15 
16  kwargs.setdefault("numSeedIncrement" , float("inf"))
17  kwargs.setdefault("deltaZMax" , float("inf"))
18  kwargs.setdefault("maxPtScattering", float("inf"))
19  acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
20  return acc
21 
23  name: str = "ActsFastPixelSeedingTool",
24  **kwargs) -> ComponentAccumulator:
25 
26  kwargs.setdefault("minPt", 1000 * UnitConstants.MeV)
27  kwargs.setdefault("collisionRegionMin", -150 * UnitConstants.mm)
28  kwargs.setdefault("collisionRegionMax", 150 * UnitConstants.mm)
29  kwargs.setdefault("maxPhiBins", 200)
30  kwargs.setdefault("gridRMax", 250 * UnitConstants.mm)
31  kwargs.setdefault("deltaRMax", 200 * UnitConstants.mm)
32  kwargs.setdefault("zBinsCustomLooping" , [2, 10, 3, 9, 6, 4, 8, 5, 7])
33  kwargs.setdefault("rRangeMiddleSP", [
34  [40.0, 80.0],
35  [40.0, 200.0],
36  [70.0, 200.0],
37  [70.0, 200.0],
38  [70.0, 250.0],
39  [70.0, 250.0],
40  [70.0, 250.0],
41  [70.0, 200.0],
42  [70.0, 200.0],
43  [40.0, 200.0],
44  [40.0, 80.0]])
45  kwargs.setdefault("useVariableMiddleSPRange", False)
46  kwargs.setdefault("useExperimentCuts", True)
47 
48  return ActsPixelSeedingToolCfg(flags, name, **kwargs)
49 
51  name: str = "ActsStripSeedingTool",
52  **kwargs) -> ComponentAccumulator:
53  acc = ComponentAccumulator()
54 
55 
56  kwargs.setdefault("doSeedQualitySelection", False)
57  # For SpacePointGridConfig
58  kwargs.setdefault("gridRMax" , 1000. * UnitConstants.mm)
59  kwargs.setdefault("deltaRMax" , 600. * UnitConstants.mm)
60  kwargs.setdefault("impactMax" , 20. * UnitConstants.mm)
61  # For SeedfinderConfig
62  kwargs.setdefault("rMax" , 1200. * UnitConstants.mm)
63  kwargs.setdefault("deltaRMinTopSP" , 20. * UnitConstants.mm)
64  kwargs.setdefault("deltaRMaxTopSP" , 300. * UnitConstants.mm)
65  kwargs.setdefault("deltaRMinBottomSP" , 20. * UnitConstants.mm)
66  kwargs.setdefault("deltaRMaxBottomSP" , 300. * UnitConstants.mm)
67  kwargs.setdefault("deltaZMax" , 900. * UnitConstants.mm)
68  kwargs.setdefault("interactionPointCut" , False)
69  kwargs.setdefault("zBinsCustomLooping" , [6, 7, 5, 8, 4, 9, 3, 10, 2, 11, 1])
70  kwargs.setdefault("deltaRMiddleMinSPRange" , 30 * UnitConstants.mm)
71  kwargs.setdefault("deltaRMiddleMaxSPRange" , 150 * UnitConstants.mm)
72  kwargs.setdefault("useDetailedDoubleMeasurementInfo" , True)
73  kwargs.setdefault("maxPtScattering", float("inf"))
74  # For SeedFilterConfig
75  kwargs.setdefault("useDeltaRorTopRadius" , False)
76  kwargs.setdefault("seedConfirmationInFilter" , False)
77  kwargs.setdefault("impactWeightFactor" , 1.)
78  kwargs.setdefault("compatSeedLimit" , 4)
79  kwargs.setdefault("numSeedIncrement" , 1.)
80  kwargs.setdefault("seedWeightIncrement" , 10100.)
81  kwargs.setdefault("maxSeedsPerSpMConf" , 100)
82  kwargs.setdefault("maxQualitySeedsPerSpMConf" , 100)
83  # For seeding algorithm
84  kwargs.setdefault("zBinNeighborsBottom" , [(0,1),(0,1),(0,1),(0,2),(0,1),(0,0),(-1,0),(-2,0),(-1,0),(-1,0),(-1,0)])
85 
86  acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
87  return acc
88 
90  name: str = "ActsPixelOrthogonalSeedingTool",
91  **kwargs) -> ComponentAccumulator:
92  acc = ComponentAccumulator()
93 
94  acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
95  return acc
96 
98  name: str = "ActsFastPixelOrthogonalSeedingTool",
99  **kwargs) -> ComponentAccumulator:
100  acc = ComponentAccumulator()
101 
102 
103 
104  kwargs.setdefault("minPt", 1000 * UnitConstants.MeV)
105  kwargs.setdefault("collisionRegionMin", -150 * UnitConstants.mm)
106  kwargs.setdefault("collisionRegionMax", 150 * UnitConstants.mm)
107  kwargs.setdefault("useExperimentCuts", True)
108 
109  acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
110  return acc
111 
113  name: str = "ActsStripOrthogonalSeedingTool",
114  **kwargs) -> ComponentAccumulator:
115  acc = ComponentAccumulator()
116 
117 
118  kwargs.setdefault("impactMax" , 20. * UnitConstants.mm)
119  kwargs.setdefault('rMax', 1200. * UnitConstants.mm)
120  kwargs.setdefault("deltaRMinTopSP" , 20. * UnitConstants.mm)
121  kwargs.setdefault("deltaRMaxTopSP" , 300. * UnitConstants.mm)
122  kwargs.setdefault("deltaRMinBottomSP" , 20. * UnitConstants.mm)
123  kwargs.setdefault("deltaRMaxBottomSP" , 300. * UnitConstants.mm)
124  kwargs.setdefault("deltaZMax" , 900. * UnitConstants.mm)
125  kwargs.setdefault("interactionPointCut" , False)
126  kwargs.setdefault("impactWeightFactor" , 1.)
127  kwargs.setdefault("compatSeedLimit" , 4)
128  kwargs.setdefault("seedWeightIncrement" , 10100.)
129  kwargs.setdefault("numSeedIncrement" , 1.)
130  kwargs.setdefault("seedConfirmationInFilter" , False)
131  kwargs.setdefault("maxSeedsPerSpMConf" , 100)
132  kwargs.setdefault("maxQualitySeedsPerSpMConf" , 100)
133  kwargs.setdefault("useDeltaRorTopRadius" , False)
134  kwargs.setdefault("rMinMiddle", 33. * UnitConstants.mm)
135  kwargs.setdefault("rMaxMiddle", 1200. * UnitConstants.mm)
136 
137  acc.setPrivateTools(CompFactory.ActsTrk.OrthogonalSeedingTool(name, **kwargs))
138  return acc
139 
141  name: str = 'ActsSiSpacePointsSeedMakerTool',
142  **kwargs) -> ComponentAccumulator:
143  assert isinstance(name, str)
144 
145  acc = ComponentAccumulator()
146 
147  if flags.Tracking.ActiveConfig.extension == "ActsValidateConversionSeeds":
148  kwargs.setdefault('useOverlapSpCollection', False)
149 
150  # Main properties
151  kwargs.setdefault('usePixel',
152  flags.Tracking.ActiveConfig.useITkPixel and
153  flags.Tracking.ActiveConfig.useITkPixelSeeding)
154  kwargs.setdefault('useStrip',
155  flags.Tracking.ActiveConfig.useITkStrip and
156  flags.Tracking.ActiveConfig.useITkStripSeeding)
157  kwargs.setdefault('useOverlapSpCollection',
158  flags.Tracking.ActiveConfig.useITkStrip and
159  flags.Tracking.ActiveConfig.useITkStripSeeding)
160  kwargs.setdefault('ActsSpacePointsPixelName' , "ITkPixelSpacePoints")
161  kwargs.setdefault('ActsSpacePointsStripName' , "ITkStripSpacePoints")
162  kwargs.setdefault('ActsSpacePointsOverlapName' , "ITkStripOverlapSpacePoints")
163 
164 
165  # The code will need to use Trk::SpacePoint object for downstream Athena tracking
166  # If we run this tool we have two options to retrieve this:
167  # (1) Have the Athena->Acts Space Point Converter scheduled beforehand
168  # (2) Have the Athena->Acts Cluster Converter scheduled beforehand
169  # In case (1) the link xAOD -> Trk Space Point will be used to retrieve the Trk::SpacePoints
170  # In case (2) the link xAOD -> InDet Cluster will be used to create the Trk::SpacePoints
171  # If none of the above conditions are met, it means there is a misconfiguration of the algorithms
172  useClusters = flags.Tracking.ActiveConfig.doAthenaToActsCluster and not flags.Tracking.ActiveConfig.doAthenaToActsSpacePoint
173  kwargs.setdefault('useClustersForSeedConversion', useClusters)
174 
175  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
176  # not all classes have that property !!!
177  kwargs.setdefault('PRDtoTrackMap', (
178  'ITkPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
179 
180  # Acts Seed Tools
181  # Do not overwrite if already present in `kwargs`
182  seedTool_pixel = None
183  if 'SeedToolPixel' not in kwargs:
184  if flags.Acts.SeedingStrategy is SeedingStrategy.Orthogonal:
185  if flags.Tracking.doITkFastTracking:
186  seedTool_pixel = acc.popToolsAndMerge(ActsFastPixelOrthogonalSeedingToolCfg(flags))
187  else:
188  seedTool_pixel = acc.popToolsAndMerge(ActsPixelOrthogonalSeedingToolCfg(flags))
189  else:
190  if flags.Tracking.doITkFastTracking:
191  kwargs.setdefault("useFastTracking", True)
192  seedTool_pixel = acc.popToolsAndMerge(ActsFastPixelSeedingToolCfg(flags))
193  else:
194  seedTool_pixel = acc.popToolsAndMerge(ActsPixelSeedingToolCfg(flags))
195 
196  seedTool_strip = None
197  if 'SeedToolStrip' not in kwargs:
198  if flags.Acts.SeedingStrategy is SeedingStrategy.Orthogonal:
199  seedTool_strip = acc.popToolsAndMerge(ActsStripOrthogonalSeedingToolCfg(flags))
200  else:
201  seedTool_strip = acc.popToolsAndMerge(ActsStripSeedingToolCfg(flags,
202  rMax=flags.Tracking.ActiveConfig.radMax,
203  gridRMax=flags.Tracking.ActiveConfig.radMax))
204 
205  kwargs.setdefault('SeedToolPixel', seedTool_pixel)
206  kwargs.setdefault('SeedToolStrip', seedTool_strip)
207 
208  # Validation
209  if flags.Tracking.writeSeedValNtuple:
210  kwargs.setdefault('WriteNtuple', True)
211  HistService = CompFactory.THistSvc(Output = ["valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"])
212  acc.addService(HistService)
213 
214  acc.setPrivateTools(CompFactory.ActsTrk.SiSpacePointsSeedMaker(name, **kwargs))
215  return acc
216 
217 
218 # ACTS algorithm using Athena objects upstream
220  name: str = 'ActsPixelSeedingAlg',
221  **kwargs) -> ComponentAccumulator:
222  acc = ComponentAccumulator()
223 
224  # Beam Spot Cond is a requirement
225  from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
226  acc.merge(BeamSpotCondAlgCfg(flags))
227 
228  from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
229  acc.merge(AtlasFieldCacheCondAlgCfg(flags))
230 
231  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
232  acc.merge(ITkPixelReadoutGeometryCfg(flags))
233 
234  # Need To add additional tool(s)
235  # Tracking Geometry Tool
236  if 'TrackingGeometryTool' not in kwargs:
237  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
238  geoTool = acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags))
239  acc.addPublicTool(geoTool)
240  kwargs.setdefault('TrackingGeometryTool', acc.getPublicTool(geoTool.name))
241 
242  # ATLAS Converter Tool
243  if 'ATLASConverterTool' not in kwargs:
244  from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
245  kwargs.setdefault('ATLASConverterTool', acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags)))
246 
247  # Track Param Estimation Tool
248  if 'TrackParamsEstimationTool' not in kwargs:
249  from ActsConfig.ActsTrackParamsEstimationConfig import ActsTrackParamsEstimationToolCfg
250  kwargs.setdefault('TrackParamsEstimationTool', acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(flags)))
251 
252  if "SeedTool" not in kwargs:
253  if flags.Acts.SeedingStrategy is SeedingStrategy.Orthogonal:
254  if flags.Tracking.doITkFastTracking:
255  kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsFastPixelOrthogonalSeedingToolCfg(flags)))
256  else:
257  kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsPixelOrthogonalSeedingToolCfg(flags)))
258  else:
259  if flags.Tracking.doITkFastTracking:
260  kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsFastPixelSeedingToolCfg(flags)))
261  else:
262  kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsPixelSeedingToolCfg(flags)))
263 
264  kwargs.setdefault("useFastTracking", flags.Tracking.doITkFastTracking)
265  kwargs.setdefault('InputSpacePoints', ['ITkPixelSpacePoints_Cached'] if flags.Acts.useCache else ['ITkPixelSpacePoints'])
266  kwargs.setdefault('OutputSeeds', 'ActsPixelSeeds')
267  kwargs.setdefault('OutputEstimatedTrackParameters', 'ActsPixelEstimatedTrackParams')
268  kwargs.setdefault('DetectorElements', 'ITkPixelDetectorElementCollection')
269 
270  if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
271  from ActsConfig.ActsMonitoringConfig import ActsITkPixelSeedingMonitoringToolCfg
272  kwargs.setdefault('MonTool', acc.popToolsAndMerge(ActsITkPixelSeedingMonitoringToolCfg(flags)))
273 
274  acc.addEventAlgo(CompFactory.ActsTrk.SeedingAlg(name, **kwargs))
275  return acc
276 
277 
279  name: str = 'ActsStripSeedingAlg',
280  **kwargs) -> ComponentAccumulator:
281  acc = ComponentAccumulator()
282 
283  # Beam Spot Cond is a requirement
284  from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
285  acc.merge(BeamSpotCondAlgCfg(flags))
286 
287  from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
288  acc.merge(AtlasFieldCacheCondAlgCfg(flags))
289 
290  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
291  acc.merge(ITkStripReadoutGeometryCfg(flags))
292 
293  # Need To add additional tool(s)
294  # Tracking Geometry Tool
295  if 'TrackingGeometryTool' not in kwargs:
296  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
297  geoTool = acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags))
298  acc.addPublicTool(geoTool)
299  kwargs.setdefault('TrackingGeometryTool', acc.getPublicTool(geoTool.name))
300 
301  # ATLAS Converter Tool
302  if 'ATLASConverterTool' not in kwargs:
303  from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
304  kwargs.setdefault('ATLASConverterTool', acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags)))
305 
306  # Track Param Estimation Tool
307  if 'TrackParamsEstimationTool' not in kwargs:
308  from ActsConfig.ActsTrackParamsEstimationConfig import ActsTrackParamsEstimationToolCfg
309  kwargs.setdefault('TrackParamsEstimationTool', acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(flags)))
310 
311  if "SeedTool" not in kwargs:
312  if flags.Acts.SeedingStrategy is SeedingStrategy.Orthogonal:
313  kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsStripOrthogonalSeedingToolCfg(flags)))
314  else:
315  kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsStripSeedingToolCfg(flags)))
316 
317  kwargs.setdefault('InputSpacePoints', ['ITkStripSpacePoints_Cached', 'ITkStripOverlapSpacePoints_Cached'] if flags.Acts.useCache else ['ITkStripSpacePoints', 'ITkStripOverlapSpacePoints'])
318  kwargs.setdefault('OutputSeeds', 'ActsStripSeeds')
319  kwargs.setdefault('OutputEstimatedTrackParameters', 'ActsStripEstimatedTrackParams')
320  kwargs.setdefault('DetectorElements', 'ITkStripDetectorElementCollection')
321 
322  if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
323  from ActsConfig.ActsMonitoringConfig import ActsITkStripSeedingMonitoringToolCfg
324  kwargs.setdefault('MonTool', acc.popToolsAndMerge(ActsITkStripSeedingMonitoringToolCfg(flags)))
325 
326  acc.addEventAlgo(CompFactory.ActsTrk.SeedingAlg(name, **kwargs))
327  return acc
328 
329 
331  **kwargs) -> ComponentAccumulator:
332  acc = ComponentAccumulator()
333 
334  kwargs.setdefault('processPixels', flags.Detector.EnableITkPixel)
335  kwargs.setdefault('processStrips', flags.Detector.EnableITkStrip)
336 
337  if kwargs['processPixels']:
338  acc.merge(ActsPixelSeedingAlgCfg(flags, **extractChildKwargs(prefix='PixelSeedingAlg.', **kwargs)))
339  if kwargs['processStrips']:
340  acc.merge(ActsStripSeedingAlgCfg(flags, **extractChildKwargs(prefix='StripSeedingAlg.', **kwargs)))
341 
342  # Analysis extensions
343  if flags.Acts.doAnalysis:
344  if kwargs['processPixels']:
345  from ActsConfig.ActsAnalysisConfig import ActsPixelSeedAnalysisAlgCfg, ActsPixelEstimatedTrackParamsAnalysisAlgCfg
346  acc.merge(ActsPixelSeedAnalysisAlgCfg(flags, **extractChildKwargs(prefix='PixelSeedAnalysisAlg.', **kwargs)))
347  acc.merge(ActsPixelEstimatedTrackParamsAnalysisAlgCfg(flags, **extractChildKwargs(prefix='PixelEstimatedTrackParamsAnalysisAlg.', **kwargs)))
348 
349  if kwargs['processStrips']:
350  from ActsConfig.ActsAnalysisConfig import ActsStripSeedAnalysisAlgCfg, ActsStripEstimatedTrackParamsAnalysisAlgCfg
351  acc.merge(ActsStripSeedAnalysisAlgCfg(flags, **extractChildKwargs(prefix='StripSeedAnalysisAlg.', **kwargs)))
352  acc.merge(ActsStripEstimatedTrackParamsAnalysisAlgCfg(flags, **extractChildKwargs(prefix='StripEstimatedTrackParamsAnalysisAlg.', **kwargs)))
353 
354  return acc
355 
356 def ActsSeedingCfg(flags) -> ComponentAccumulator:
357  acc = ComponentAccumulator()
358 
359  processPixels = flags.Detector.EnableITkPixel
360  processStrips = flags.Detector.EnableITkStrip
361 
362  # For conversion pass we do not process pixels
363  if flags.Tracking.ActiveConfig.extension in ["ActsConversion", "ActsLargeRadius"]:
364  processPixels = False
365  # For main pass disable strips if fast tracking configuration
366  elif flags.Tracking.doITkFastTracking:
367  processStrips = False
368 
369  kwargs = dict()
370  kwargs.setdefault('processPixels', processPixels)
371  kwargs.setdefault('processStrips', processStrips)
372 
373  if flags.Tracking.ActiveConfig.extension == "ActsHeavyIon" and processPixels:
374  kwargs.setdefault('PixelSeedingAlg.SeedTool', acc.popToolsAndMerge(ActsPixelSeedingToolCfg(flags, name=f'{flags.Tracking.ActiveConfig.extension}PixelSeedingTool', minPt=flags.Tracking.ActiveConfig.minPTSeed)))
375 
376  if processPixels:
377  # Seeding algo
378  kwargs.setdefault('PixelSeedingAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSeedingAlg')
379  kwargs.setdefault('PixelSeedingAlg.useFastTracking', flags.Tracking.doITkFastTracking)
380  kwargs.setdefault('PixelSeedingAlg.OutputSeeds', f'{flags.Tracking.ActiveConfig.extension}PixelSeeds')
381  kwargs.setdefault('PixelSeedingAlg.OutputEstimatedTrackParameters', f'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams')
382 
383  pixelSpacePoints = ['ITkPixelSpacePoints_Cached'] if flags.Acts.useCache else ['ITkPixelSpacePoints']
384  if flags.Tracking.ActiveConfig.isSecondaryPass:
385  pixelSpacePoints = [f'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}PixelSpacePoints_Cached'] if flags.Acts.useCache else [f'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}PixelSpacePoints']
386  kwargs.setdefault('PixelSeedingAlg.InputSpacePoints', pixelSpacePoints)
387 
388  # Analysis algo(s)
389  if flags.Acts.doAnalysis:
390  kwargs.setdefault('PixelSeedAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSeedAnalysisAlg')
391  kwargs.setdefault('PixelSeedAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
392  kwargs.setdefault('PixelSeedAnalysisAlg.InputSeedCollection', kwargs['PixelSeedingAlg.OutputSeeds'])
393 
394  kwargs.setdefault('PixelEstimatedTrackParamsAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParamsAnalysisAlg')
395  kwargs.setdefault('PixelEstimatedTrackParamsAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
396  kwargs.setdefault('PixelEstimatedTrackParamsAnalysisAlg.InputTrackParamsCollection', kwargs['PixelSeedingAlg.OutputEstimatedTrackParameters'])
397 
398  if processStrips:
399  # Seeding algo
400  kwargs.setdefault('StripSeedingAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSeedingAlg')
401  kwargs.setdefault('StripSeedingAlg.OutputSeeds', f'{flags.Tracking.ActiveConfig.extension}StripSeeds')
402  kwargs.setdefault('StripSeedingAlg.OutputEstimatedTrackParameters', f'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParams')
403  # Conversion pass does not use overlap space points
404  # Space Point naming is not yet fully connected to tracking passes - this will change
405  if flags.Tracking.ActiveConfig.extension == 'ActsConversion':
406  kwargs.setdefault('StripSeedingAlg.InputSpacePoints', ['ITkConversionStripSpacePoints_Cached'] if flags.Acts.useCache else ['ITkConversionStripSpacePoints'])
407  elif flags.Tracking.ActiveConfig.extension == 'ActsLargeRadius':
408  kwargs.setdefault('StripSeedingAlg.InputSpacePoints', ['ITkLargeRadiusStripSpacePoints_Cached',
409  'ITkLargeRadiusStripOverlapSpacePoints_Cached'] if flags.Acts.useCache else ['ITkLargeRadiusStripSpacePoints',
410  'ITkLargeRadiusStripOverlapSpacePoints'])
411  elif flags.Tracking.ActiveConfig.extension == 'ActsLowPt':
412  kwargs.setdefault('StripSeedingAlg.InputSpacePoints', ['ITkLowPtStripSpacePoints_Cached',
413  'ITkLowPtStripOverlapSpacePoints_Cached'] if flags.Acts.useCache else ['ITkLowPtStripSpacePoints',
414  'ITkLowPtStripOverlapSpacePoints'])
415  else:
416  kwargs.setdefault('StripSeedingAlg.InputSpacePoints', ['ITkStripSpacePoints_Cached',
417  'ITkStripOverlapSpacePoints_Cached'] if flags.Acts.useCache else ['ITkStripSpacePoints',
418  'ITkStripOverlapSpacePoints'])
419 
420  # Analysis algo(s)
421  if flags.Acts.doAnalysis:
422  kwargs.setdefault('StripSeedAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSeedAnalysisAlg')
423  kwargs.setdefault('StripSeedAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
424  kwargs.setdefault('StripSeedAnalysisAlg.InputSeedCollection', kwargs['StripSeedingAlg.OutputSeeds'])
425 
426  kwargs.setdefault('StripEstimatedTrackParamsAnalysisAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParamsAnalysisAlg')
427  kwargs.setdefault('StripEstimatedTrackParamsAnalysisAlg.extension', flags.Tracking.ActiveConfig.extension)
428  kwargs.setdefault('StripEstimatedTrackParamsAnalysisAlg.InputTrackParamsCollection', kwargs['StripSeedingAlg.OutputEstimatedTrackParameters'])
429 
430  acc.merge(ActsMainSeedingCfg(flags, **kwargs))
431  return acc
ActsSeedingConfig.ActsPixelOrthogonalSeedingToolCfg
ComponentAccumulator ActsPixelOrthogonalSeedingToolCfg(flags, str name="ActsPixelOrthogonalSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:89
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
ActsUtilities.extractChildKwargs
dict extractChildKwargs(*str prefix, **dict kwargs)
Definition: ActsUtilities.py:3
ActsSeedingConfig.ActsPixelSeedingAlgCfg
ComponentAccumulator ActsPixelSeedingAlgCfg(flags, str name='ActsPixelSeedingAlg', **kwargs)
Definition: ActsSeedingConfig.py:219
python.BeamSpotConditionsConfig.BeamSpotCondAlgCfg
def BeamSpotCondAlgCfg(flags, name="BeamSpotCondAlg", **kwargs)
Definition: BeamSpotConditionsConfig.py:7
ActsAnalysisConfig.ActsPixelEstimatedTrackParamsAnalysisAlgCfg
ComponentAccumulator ActsPixelEstimatedTrackParamsAnalysisAlgCfg(flags, str name='ActsPixelEstimatedTrackParamsAnalysisAlg', str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:557
ActsAnalysisConfig.ActsStripSeedAnalysisAlgCfg
ComponentAccumulator ActsStripSeedAnalysisAlgCfg(flags, str name="ActsStripSeedAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:459
ActsEventCnvConfig.ActsToTrkConverterToolCfg
ComponentAccumulator ActsToTrkConverterToolCfg(flags, str name="ActsToTrkConverterTool", **kwargs)
Definition: ActsEventCnvConfig.py:6
ActsSeedingConfig.ActsPixelSeedingToolCfg
ComponentAccumulator ActsPixelSeedingToolCfg(flags, str name="ActsPixelSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:10
ActsAnalysisConfig.ActsPixelSeedAnalysisAlgCfg
ComponentAccumulator ActsPixelSeedAnalysisAlgCfg(flags, str name="ActsPixelSeedAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:441
ActsMonitoringConfig.ActsITkPixelSeedingMonitoringToolCfg
ComponentAccumulator ActsITkPixelSeedingMonitoringToolCfg(flags, str name="ActsITkPixelSeedingMonitoringTool", **kwargs)
Definition: ActsMonitoringConfig.py:120
ActsSeedingConfig.ActsFastPixelOrthogonalSeedingToolCfg
ComponentAccumulator ActsFastPixelOrthogonalSeedingToolCfg(flags, str name="ActsFastPixelOrthogonalSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:97
ActsSeedingConfig.ActsStripSeedingAlgCfg
ComponentAccumulator ActsStripSeedingAlgCfg(flags, str name='ActsStripSeedingAlg', **kwargs)
Definition: ActsSeedingConfig.py:278
ActsTrackParamsEstimationConfig.ActsTrackParamsEstimationToolCfg
ComponentAccumulator ActsTrackParamsEstimationToolCfg(ConfigFlags, str name="ActsTrackParamsEstimationTool", **kwargs)
Definition: ActsTrackParamsEstimationConfig.py:6
ActsGeometryConfig.ActsTrackingGeometryToolCfg
ComponentAccumulator ActsTrackingGeometryToolCfg(flags, str name="ActsTrackingGeometryTool")
Definition: ActsGeometryConfig.py:99
ActsAnalysisConfig.ActsStripEstimatedTrackParamsAnalysisAlgCfg
ComponentAccumulator ActsStripEstimatedTrackParamsAnalysisAlgCfg(flags, str name='ActsStripEstimatedTrackParamsAnalysisAlg', str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:570
ActsSeedingConfig.ActsSiSpacePointsSeedMakerToolCfg
ComponentAccumulator ActsSiSpacePointsSeedMakerToolCfg(flags, str name='ActsSiSpacePointsSeedMakerTool', **kwargs)
Definition: ActsSeedingConfig.py:140
ITkPixelGeoModelConfig.ITkPixelReadoutGeometryCfg
def ITkPixelReadoutGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkPixelGeoModelConfig.py:39
ActsSeedingConfig.ActsSeedingCfg
ComponentAccumulator ActsSeedingCfg(flags)
Definition: ActsSeedingConfig.py:356
ActsSeedingConfig.ActsFastPixelSeedingToolCfg
ComponentAccumulator ActsFastPixelSeedingToolCfg(flags, str name="ActsFastPixelSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:22
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkStripGeoModelConfig.py:39
ActsMonitoringConfig.ActsITkStripSeedingMonitoringToolCfg
ComponentAccumulator ActsITkStripSeedingMonitoringToolCfg(flags, str name="ActsITkStripSeedingMonitoringTool", **kwargs)
Definition: ActsMonitoringConfig.py:141
python.MagFieldServicesConfig.AtlasFieldCacheCondAlgCfg
def AtlasFieldCacheCondAlgCfg(flags, **kwargs)
Definition: MagFieldServicesConfig.py:8
readCCLHist.float
float
Definition: readCCLHist.py:83
ActsSeedingConfig.ActsMainSeedingCfg
ComponentAccumulator ActsMainSeedingCfg(flags, **kwargs)
Definition: ActsSeedingConfig.py:330
ActsSeedingConfig.ActsStripSeedingToolCfg
ComponentAccumulator ActsStripSeedingToolCfg(flags, str name="ActsStripSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:50
ActsSeedingConfig.ActsStripOrthogonalSeedingToolCfg
ComponentAccumulator ActsStripOrthogonalSeedingToolCfg(flags, str name="ActsStripOrthogonalSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:112