ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrackFindingInDetConfig.py
Go to the documentation of this file.
2# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory import CompFactory
6from ActsConfig.ActsConfigFlags import SeedingStrategy
7import AthenaCommon.SystemOfUnits as Units
8from ActsInterop import UnitConstants
9
10# Tools
11
12def isdet(flags,
13 *,
14 pixel: list = None,
15 strip: list = None,
16 noStrip: bool = False) -> list:
17 keys = []
18 if flags.Detector.EnablePixel and pixel is not None:
19 keys += pixel
20 if flags.Detector.EnableSCT and strip is not None and not noStrip:
21 keys += strip
22
23 return keys
24
25def seedOrder(flags,
26 *,
27 pixel: list = None,
28 strip: list = None) -> list:
29 keys = isdet(flags, pixel=pixel, strip=strip)
30 if flags.Acts.useStripSeedsFirst:
31 keys.reverse()
32 return keys
33
35 name: str = "ActsInDetTrackStatePrinterTool",
36 **kwargs) -> ComponentAccumulator:
37 acc = ComponentAccumulator()
38
39 kwargs.setdefault("InputSpacePoints", isdet(flags, noStrip=False,
40 pixel=['PixelSpacePoints'],
41 strip=['SCT_SpacePoints', 'OverlapSpacePoints']))
42
43 from ActsAlignmentAlgs.AlignmentAlgsConfig import ActsGeometryContextAlgCfg
44 from ActsConfig.ActsGeometryConfig import ActsTrackingGeometrySvcCfg
45 acc.merge(ActsGeometryContextAlgCfg(flags))
46 acc.merge(ActsTrackingGeometrySvcCfg(flags))
47
48 acc.setPrivateTools(CompFactory.ActsTrk.TrackStatePrinterTool(name, **kwargs))
49 return acc
50
51# ACTS only algorithm
52
54 name: str = "ActsTrackFindingAlg",
55 **kwargs) -> ComponentAccumulator:
56 def tolist(c):
57 return c if isinstance(c, list) else [c]
58
59 acc = ComponentAccumulator()
60
61 from ActsConfig.ActsGeometryConfig import ActsInDetVolumeIdToDetectorCollectionMappingAlgCfg
62
63 acc.merge( ActsInDetVolumeIdToDetectorCollectionMappingAlgCfg(flags) )
64 kwargs.setdefault("ActsVolumeIdToDetectorElementCollectionMapKey", "VolumeIdToDetectorElementCollectionMap")
65
66 if flags.Detector.EnablePixel:
67 from PixelConditionsAlgorithms.PixelConditionsConfig import PixelDetectorElementStatusAlgCfg
68 acc.merge(PixelDetectorElementStatusAlgCfg(flags))
69 if flags.Detector.EnableSCT:
70 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConfig import SCT_DetectorElementStatusAlgCfg
71 acc.merge(SCT_DetectorElementStatusAlgCfg(flags))
72 kwargs.setdefault("DetElStatus", seedOrder(flags, pixel=["PixelDetectorElementStatus"], strip=["SCTDetectorElementStatus"]))
73
74 # Seed labels and collections.
75 # These 3 lists must match element for element, reversed if flags.Acts.useStripSeedsFirst is True.
76 # Maybe it is best to start with strips where the occupancy is lower.
77 kwargs.setdefault("SeedLabels", seedOrder(flags, pixel=["PPP"], strip=["SSS"]))
78 kwargs.setdefault("SeedContainerKeys", seedOrder(flags, pixel=["ActsPixelSeeds"], strip=["ActsSCT_Seeds"]))
79 kwargs.setdefault('DetectorElementsKeys', seedOrder(flags, pixel=['PixelDetectorElementCollection'], strip=['SCT_DetectorElementCollection']))
80 if flags.Acts.Tracks.doAnalysis:
81 kwargs.setdefault("SeedDestiny", [f'{seedkey}Destiny' for seedkey in kwargs["SeedContainerKeys"]])
82
83 kwargs.setdefault("UncalibratedMeasurementContainerKeys", isdet(flags, pixel=["PixelClusters"], strip=["SCT_Clusters"]))
84
85 kwargs.setdefault('ACTSTracksLocation', 'ActsTracks')
86
87 kwargs.setdefault("maxPropagationStep", 10000)
88 kwargs.setdefault("skipDuplicateSeeds", True)# flags.Acts.skipDuplicateSeeds
89 kwargs.setdefault("seedMeasOffset", 1)
90
91 # Ambi strategy 0 means do the ambiguity resolution outside the track finding.
92 kwargs.setdefault("ambiStrategy", flags.Acts.AmbiguitySolverMode.value)
93
94 if (not flags.Acts.doAmbiguityResolution) :
95 kwargs.setdefault("MaximumSharedHits", 3)
96 kwargs.setdefault("MaximumIterations", 10000)
97 kwargs.setdefault("NMeasurementsMin", 7)
98
99 kwargs.setdefault("doTwoWay", flags.Acts.doTwoWayCKF)
100 kwargs.setdefault("inflateCovarianceTwoWay", True)
101 kwargs.setdefault("twoWayinflateCovarianceFactor", 100.0)
102
103 # forceTrackOnSeed isn't effective with secondary passes, which will have removed most/all of the seed measurements from the measurement containers.
104 kwargs.setdefault("forceTrackOnSeed", flags.Acts.forceTrackOnSeed and not flags.Tracking.ActiveConfig.isSecondaryPass)
105
106 # Borrow many settings from flags.Tracking.ActiveConfig, normally initialised in createITkTrackingPassFlags() at
107 # https://gitlab.cern.ch/atlas/athena/-/blob/main/Tracking/TrkConfig/python/TrackingPassFlags.py#L121
108
109 # bins in |eta|, used for both MeasurementSelectorConfig and TrackSelector::EtaBinnedConfig
110 kwargs.setdefault("etaBins", flags.Tracking.ActiveConfig.etaBins) #
111 # chi2 cuts in sigma of a 1D Gaussian, converted to the same p-value for each measurement dimension
112 kwargs.setdefault("chi2CutOffSigma", tolist(flags.Tracking.ActiveConfig.Xi2maxSigma))
113 kwargs.setdefault("chi2OutlierCutOffSigma", tolist(flags.Tracking.ActiveConfig.Xi2maxNoAddSigma))
114 kwargs.setdefault("checkCounts", True)
115 kwargs.setdefault("doBranchStopper", True)
116
117 kwargs.setdefault("branchStopperPtMinFactor", 0.9)
118 kwargs.setdefault("branchStopperAbsEtaMaxExtra", 0.1)
119
120 # Loosen the requirement on the minimum number of measurements on track candidate
121 # during track finding for tracks above a certain eta
122 kwargs.setdefault("branchStopperMeasCutReduce", flags.Acts.branchStopperMeasCutReduce)
123 kwargs.setdefault("branchStopperAbsEtaMeasCut", flags.Acts.branchStopperAbsEtaMeasCut)
124
125 kwargs.setdefault("numMeasurementsCutOff", [1])
126
127 # there is always an over and underflow bin so the first bin will be 0. - 0.5 the last bin 3.5 - inf.
128 # if all eta bins are >=0. the counter will be categorized by abs(eta) otherwise eta
129 kwargs.setdefault("StatisticEtaBins", [eta/10. for eta in range(5, 40, 5)]) # eta 0.0 - 4.0 in steps of 0.5
130
131 kwargs.setdefault("absEtaMax", flags.Tracking.ActiveConfig.maxEta)
132 kwargs.setdefault("ptMin", [p / Units.GeV * UnitConstants.GeV for p in tolist(flags.Tracking.ActiveConfig.minPT)])
133 # z0 cut is the same for all eta bins. I use the size of the eta bins limits minus one to find the number of bins.
134 kwargs.setdefault("z0Min", [-flags.Tracking.ActiveConfig.maxZImpact / Units.mm * UnitConstants.mm for etabin in flags.Tracking.ActiveConfig.etaBins[:-1]])
135 kwargs.setdefault("z0Max", [ flags.Tracking.ActiveConfig.maxZImpact / Units.mm * UnitConstants.mm for etabin in flags.Tracking.ActiveConfig.etaBins[:-1]])
136 kwargs.setdefault("d0Min", [-d0 / Units.mm * UnitConstants.mm for d0 in tolist(flags.Tracking.ActiveConfig.maxPrimaryImpactList)])
137 kwargs.setdefault("d0Max", [ d0 / Units.mm * UnitConstants.mm for d0 in tolist(flags.Tracking.ActiveConfig.maxPrimaryImpactList)])
138 kwargs.setdefault("minMeasurements", tolist([ 8, 8, 8]))
139 kwargs.setdefault("maxHoles", tolist(flags.Tracking.ActiveConfig.maxHoles))
140 kwargs.setdefault("minPixelHits", tolist(flags.Tracking.ActiveConfig.minPixel))
141 kwargs.setdefault("maxPixelHoles", tolist(flags.Tracking.ActiveConfig.maxPixelHoles))
142 kwargs.setdefault("maxStripHoles", tolist(flags.Tracking.ActiveConfig.maxSctHoles))
143 # The shared hits are not calculated until *after* the track selection, so maxSharedHits is not used.
144 # Even if that were not the case, we need the ambiguity solver to decide which track to drop.
145
146
147 # GBTS produces much purer seeds, so the branch stopper selections aren't needed with GBTS seeds.
148 if flags.Tracking.ActiveConfig.PixelSeedingStrategy is not SeedingStrategy.Gbts:
149 kwargs.setdefault("ptMinMeasurements", seedOrder(flags, pixel=[3], strip=[6]))
150 kwargs.setdefault("absEtaMaxMeasurements", seedOrder(flags, pixel=[3], strip=[999999]))
151
152 from ActsConfig.ActsGeometryConfig import ActsGeometryRealmConvToolCfg
153 kwargs.setdefault("GeometryRealmConvTool", acc.getPrimaryAndMerge(ActsGeometryRealmConvToolCfg(flags)))
154
155 if 'TrackParamsEstimationTool' not in kwargs:
156 from ActsConfig.ActsTrackParamsEstimationConfig import ActsTrackParamsEstimationToolCfg
157 tpe = acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(flags))
158 kwargs.setdefault('TrackParamsEstimationTool', seedOrder(flags, pixel=[tpe], strip=[tpe]))
159
160 if flags.Acts.doPrintTrackStates and 'TrackStatePrinter' not in kwargs:
161 kwargs.setdefault(
162 "TrackStatePrinter",
163 acc.popToolsAndMerge(ActsInDetTrackStatePrinterToolCfg(flags)),
164 )
165
166 # !!! Calibrator is not used for Inner Detector yet
167 if 'PixelCalibrator' not in kwargs:
168 from AthenaConfiguration.Enums import BeamType
169
170 if flags.Beam.Type is not BeamType.Cosmics and flags.Acts.PixelCalibrationStrategy.usesCalibration():
171 from ActsConfig.ActsMeasurementCalibrationConfig import ActsPixelCalibrationToolCfg
172
173 kwargs.setdefault(
174 'PixelCalibrator',
175 acc.popToolsAndMerge(ActsPixelCalibrationToolCfg(flags))
176 )
177 # !!! Calibrator is not used for Inner Detector yet
178 if 'StripCalibrator' not in kwargs:
179 from AthenaConfiguration.Enums import BeamType
180
181 if flags.Beam.Type is not BeamType.Cosmics and flags.Acts.StripCalibrationStrategy.usesCalibration():
182 from ActsConfig.ActsMeasurementCalibrationConfig import ActsStripCalibrationToolCfg
183
184 kwargs.setdefault(
185 'StripCalibrator',
186 acc.popToolsAndMerge(ActsStripCalibrationToolCfg(flags))
187 )
188
189 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
190 from ActsConfig.ActsMonitoringConfig import ActsTrackFindingMonitoringToolCfg
191 kwargs.setdefault('MonTool', acc.popToolsAndMerge(
192 ActsTrackFindingMonitoringToolCfg(flags)))
193
194 acc.addEventAlgo(CompFactory.ActsTrk.TrackFindingAlg(name, **kwargs))
195 return acc
196
197
198
200 **kwargs) -> ComponentAccumulator:
201 acc = ComponentAccumulator()
202
203 # Define Uncalibrated Measurement keys
204 dataPrepPrefix = f'{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}'
205 if not flags.Tracking.ActiveConfig.isSecondaryPass:
206 dataPrepPrefix = ''
207 pixelClusters = f'{dataPrepPrefix}PixelClusters'
208 stripClusters = f'{dataPrepPrefix}SCT_Clusters'
209 # If cache is activated the keys have "_Cached" as postfix
210 if flags.Acts.useCache:
211 pixelClusters += '_Cached'
212 stripClusters += '_Cached'
213 # Consider case detectors are not active
214
215 # Understand what are the seeds we need to consider
216 pixelSeedLabels = ['PPP']
217 stripSeedLabels = ['SSS']
218
219 # Consider if pixel seeds and SCT seeds are needed, for the moment, both are kept for Inner Detector
220
221 # Now set the seed and estimated parameters keys accordingly
222 pixelSeedKeys = [f'{flags.Tracking.ActiveConfig.extension}PixelSeeds']
223 stripSeedKeys = [f'{flags.Tracking.ActiveConfig.extension}SCT_Seeds']
224 pixelDetElements = ['PixelDetectorElementCollection']
225 stripDetElements = ['SCT_DetectorElementCollection']
226 if pixelSeedLabels is None:
227 pixelSeedKeys = None
228 pixelDetElements = None
229 if stripSeedLabels is None:
230 stripSeedKeys = None
231 stripDetElements = None
232
233 kwargs.setdefault('ACTSTracksLocation', f"{flags.Tracking.ActiveConfig.extension}Tracks")
234 kwargs.setdefault('UncalibratedMeasurementContainerKeys', isdet(flags, pixel=[pixelClusters], strip=[stripClusters]))
235 kwargs.setdefault('SeedLabels', seedOrder(flags, pixel=pixelSeedLabels, strip=stripSeedLabels))
236 kwargs.setdefault('SeedContainerKeys', seedOrder(flags, pixel=pixelSeedKeys, strip=stripSeedKeys))
237 kwargs.setdefault('DetectorElementsKeys', seedOrder(flags, pixel=pixelDetElements, strip=stripDetElements))
238
239 acc.merge(ActsInDetMainTrackFindingAlgCfg(flags,
240 name=f"{flags.Tracking.ActiveConfig.extension}TrackFindingAlg",
241 **kwargs))
242
243 # # Analysis extensions
244 # if flags.Acts.Tracks.doAnalysis:
245 # from ActsConfig.ActsAnalysisConfig import ActsTrackAnalysisAlgCfg
246 # acc.merge(ActsTrackAnalysisAlgCfg(flags,
247 # name=f"{flags.Tracking.ActiveConfig.extension}TrackAnalysisAlg",
248 # TracksLocation=f"{flags.Tracking.ActiveConfig.extension}Tracks"))
249
250 # # Seed To Track Monitoring
251 # if len(kwargs["SeedContainerKeys"]) != len(kwargs["DetectorElementsKeys"]):
252 # raise AttributeError("SeedContainerKeys and DetectorElementsKeys must have same size")
253
254 # for i in range(0, len(kwargs["SeedContainerKeys"])):
255 # seedKey = kwargs["SeedContainerKeys"][i]
256 # detElKey = kwargs["DetectorElementsKeys"][i]
257
258 # # make seed params
259 # from ActsConfig.ActsAnalysisConfig import ActsBaseSeedsToTrackParamsAlgCfg
260 # acc.merge(ActsBaseSeedsToTrackParamsAlgCfg(flags,
261 # name = f'{seedKey}SeedsToTrackParamsAlg',
262 # InputSeedContainerKey = seedKey,
263 # DetectorElementsKey = detElKey,
264 # OutputTrackParamsCollectionKey = f'{seedKey}Params'))
265
266 # from ActsConfig.ActsAnalysisConfig import ActsSeedToTrackAnalysisAlgCfg
267 # acc.merge(ActsSeedToTrackAnalysisAlgCfg(flags,
268 # name = f'{seedKey}ToTrackAnalysisAlg',
269 # InputSeedCollection = seedKey,
270 # InputTrackParamsCollection = f'{seedKey}Params',
271 # InputDestinyCollection = f'{seedKey}Destiny'))
272
273 # Persistification
274 if flags.Acts.EDM.PersistifyTracks or flags.Output.doWriteESD:
275 trackColl = kwargs['ACTSTracksLocation']
276 from ActsConfig.ActsEventCnvConfig import ActsToXAODTrackConverterAlgCfg
277 acc.merge(ActsToXAODTrackConverterAlgCfg(flags,
278 name = f'{trackColl}ToXAODConverterAlg',
279 InputActsTracksLocation = trackColl,
280 OutputActsTracksLocation = trackColl))
281
282 toAOD = []
283 prefix = f"{flags.Tracking.ActiveConfig.extension}"
284 toAOD += [f"xAOD::TrackSummaryContainer#{prefix}TrackSummary",
285 f"xAOD::TrackSummaryAuxContainer#{prefix}TrackSummaryAux.",
286 f"xAOD::TrackStateContainer#{prefix}TrackStates",
287 f"xAOD::TrackStateAuxContainer#{prefix}TrackStatesAux.-uncalibratedMeasurement",
288 f"xAOD::TrackParametersContainer#{prefix}TrackParameters",
289 f"xAOD::TrackParametersAuxContainer#{prefix}TrackParametersAux.",
290 f"xAOD::TrackJacobianContainer#{prefix}TrackJacobians",
291 f"xAOD::TrackJacobianAuxContainer#{prefix}TrackJacobiansAux.",
292 f"xAOD::TrackMeasurementContainer#{prefix}TrackMeasurements",
293 f"xAOD::TrackMeasurementAuxContainer#{prefix}TrackMeasurementsAux.",
294 f"xAOD::TrackSurfaceContainer#{prefix}TrackStateSurfaces",
295 f"xAOD::TrackSurfaceAuxContainer#{prefix}TrackStateSurfacesAux.",
296 f"xAOD::TrackSurfaceContainer#{prefix}TrackSurfaces",
297 f"xAOD::TrackSurfaceAuxContainer#{prefix}TrackSurfacesAux."]
298 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
299 acc.merge(addToAOD(flags, toAOD))
300
301 return acc
302
303
305 name: str = "ActsInDetScoreBasedAmbiguityResolutionAlg",
306 **kwargs) -> ComponentAccumulator:
307 acc = ComponentAccumulator()
308
309 kwargs.setdefault('TracksLocation', 'ActsTracks')
310 kwargs.setdefault('ResolvedTracksLocation', 'ActsResolvedTracks')
311 kwargs.setdefault('MinScore',1.0)
312 kwargs.setdefault('MinScoreSharedTracks', 1.0)
313 kwargs.setdefault('MaxSharedTracksPerMeasurement', 20)
314 kwargs.setdefault('MaxShared', 5)
315 kwargs.setdefault('MinUnshared', 5)
316 kwargs.setdefault('UseAmbiguityScoring', True)
317 kwargs.setdefault('jsonFileName', 'ActsAmbiguityConfig.json')
318
319 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
320 from ActsConfig.ActsMonitoringConfig import ActsAmbiguityResolutionMonitoringToolCfg
321 kwargs.setdefault('MonTool', acc.popToolsAndMerge(
322 ActsAmbiguityResolutionMonitoringToolCfg(flags)))
323
324 acc.addEventAlgo(
325 CompFactory.ActsTrk.ScoreBasedAmbiguityResolutionAlg(name, **kwargs))
326 return acc
327
328
330 name: str = "ActsInDetAmbiguityResolutionAlg",
331 **kwargs) -> ComponentAccumulator:
332 acc = ComponentAccumulator()
333
334 kwargs.setdefault('TracksLocation', 'ActsTracks')
335 kwargs.setdefault('ResolvedTracksLocation', 'ActsResolvedTracks')
336 kwargs.setdefault('MaximumSharedHits', 3)
337 kwargs.setdefault('MaximumIterations', 10000)
338 kwargs.setdefault('NMeasurementsMin', 7)
339
340 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
341 from ActsConfig.ActsMonitoringConfig import ActsAmbiguityResolutionMonitoringToolCfg
342 kwargs.setdefault('MonTool', acc.popToolsAndMerge(
343 ActsAmbiguityResolutionMonitoringToolCfg(flags)))
344
345 acc.addEventAlgo(
346 CompFactory.ActsTrk.AmbiguityResolutionAlg(name, **kwargs))
347 return acc
348
349
351 **kwargs) -> ComponentAccumulator:
352 acc = ComponentAccumulator()
353 kwargs.setdefault('TracksLocation', f"{flags.Tracking.ActiveConfig.extension}Tracks")
354 kwargs.setdefault('ResolvedTracksLocation', f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks")
355 from ActsConfig.ActsConfigFlags import AmbiguitySolverStrategy
356
357 if flags.Acts.AmbiguitySolverStrategy is AmbiguitySolverStrategy.ScoreBased:
359 name=f"{flags.Tracking.ActiveConfig.extension}ScoreBasedAmbiguityResolutionAlg",
360 **kwargs))
361 else:
363 name=f"{flags.Tracking.ActiveConfig.extension}AmbiguityResolutionAlg",
364 **kwargs))
365 # Analysis extensions
366 if flags.Acts.Tracks.doAnalysis:
367 from ActsConfig.ActsAnalysisConfig import ActsTrackAnalysisAlgCfg
368 acc.merge(ActsTrackAnalysisAlgCfg(flags,
369 name=f"{flags.Tracking.ActiveConfig.extension}ResolvedTrackAnalysisAlg",
370 TracksLocation=f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks"))
371
372 # Persistification
373 if flags.Acts.EDM.PersistifyTracks:
374 trackColl = kwargs['ResolvedTracksLocation']
375 from ActsConfig.ActsEventCnvConfig import ActsToXAODTrackConverterAlgCfg
376 acc.merge(ActsToXAODTrackConverterAlgCfg(flags,
377 name = f'{trackColl}ToXAODConverterAlg',
378 InputActsTracksLocation = trackColl,
379 OutputActsTracksLocation = trackColl))
380
381 toAOD = []
382 prefix = f"{flags.Tracking.ActiveConfig.extension}Resolved"
383 toAOD += [f"xAOD::TrackSummaryContainer#{prefix}TrackSummary",
384 f"xAOD::TrackSummaryAuxContainer#{prefix}TrackSummaryAux.",
385 f"xAOD::TrackStateContainer#{prefix}TrackStates",
386 f"xAOD::TrackStateAuxContainer#{prefix}TrackStatesAux.-uncalibratedMeasurement",
387 f"xAOD::TrackParametersContainer#{prefix}TrackParameters",
388 f"xAOD::TrackParametersAuxContainer#{prefix}TrackParametersAux.",
389 f"xAOD::TrackJacobianContainer#{prefix}TrackJacobians",
390 f"xAOD::TrackJacobianAuxContainer#{prefix}TrackJacobiansAux.",
391 f"xAOD::TrackMeasurementContainer#{prefix}TrackMeasurements",
392 f"xAOD::TrackMeasurementAuxContainer#{prefix}TrackMeasurementsAux.",
393 f"xAOD::TrackSurfaceContainer#{prefix}TrackStateSurfaces",
394 f"xAOD::TrackSurfaceAuxContainer#{prefix}TrackStateSurfacesAux.",
395 f"xAOD::TrackSurfaceContainer#{prefix}TrackSurfaces",
396 f"xAOD::TrackSurfaceAuxContainer#{prefix}TrackSurfacesAux."]
397 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
398 acc.merge(addToAOD(flags, toAOD))
399
400 return acc
list isdet(flags, *, list pixel=None, list strip=None, bool noStrip=False)
ComponentAccumulator ActsInDetTrackFindingCfg(flags, **kwargs)
ComponentAccumulator ActsInDetMainScoreBasedAmbiguityResolutionAlgCfg(flags, str name="ActsInDetScoreBasedAmbiguityResolutionAlg", **kwargs)
ComponentAccumulator ActsInDetMainTrackFindingAlgCfg(flags, str name="ActsTrackFindingAlg", **kwargs)
list seedOrder(flags, *, list pixel=None, list strip=None)
ComponentAccumulator ActsInDetAmbiguityResolutionCfg(flags, **kwargs)
ComponentAccumulator ActsInDetMainAmbiguityResolutionAlgCfg(flags, str name="ActsInDetAmbiguityResolutionAlg", **kwargs)
ComponentAccumulator ActsInDetTrackStatePrinterToolCfg(flags, str name="ActsInDetTrackStatePrinterTool", **kwargs)