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 kwargs.setdefault("autoReverseSearch", flags.Tracking.ActiveConfig.autoReverseSearch)
103 # kwargs.setdefault("useTopSpRZboundary",[ 229.0 * UnitConstants.mm, 450.0 * UnitConstants.mm])
104
105 # forceTrackOnSeed isn't effective with secondary passes, which will have removed most/all of the seed measurements from the measurement containers.
106 kwargs.setdefault("forceTrackOnSeed", flags.Acts.forceTrackOnSeed and not flags.Tracking.ActiveConfig.isSecondaryPass)
107
108 # Borrow many settings from flags.Tracking.ActiveConfig, normally initialised in createITkTrackingPassFlags() at
109 # https://gitlab.cern.ch/atlas/athena/-/blob/main/Tracking/TrkConfig/python/TrackingPassFlags.py#L121
110
111 # bins in |eta|, used for both MeasurementSelectorConfig and TrackSelector::EtaBinnedConfig
112 kwargs.setdefault("etaBins", flags.Tracking.ActiveConfig.etaBins) #
113 # new default chi2 cuts optimise efficiency vs speed. Set same value as Athena's Xi2maxNoAdd.
114 kwargs.setdefault("chi2CutOff", tolist(flags.Tracking.ActiveConfig.Xi2max*1))
115 kwargs.setdefault("chi2OutlierCutOff", tolist(flags.Tracking.ActiveConfig.Xi2maxNoAdd*1))
116 kwargs.setdefault("checkCounts", True)
117 kwargs.setdefault("doBranchStopper", True)
118
119 kwargs.setdefault("branchStopperPtMinFactor", 0.9)
120 kwargs.setdefault("branchStopperAbsEtaMaxExtra", 0.1)
121
122 # Loosen the requirement on the minimum number of measurements on track candidate
123 # during track finding for tracks above a certain eta
124 kwargs.setdefault("branchStopperMeasCutReduce", flags.Acts.branchStopperMeasCutReduce)
125 kwargs.setdefault("branchStopperAbsEtaMeasCut", flags.Acts.branchStopperAbsEtaMeasCut)
126
127 kwargs.setdefault("numMeasurementsCutOff", [1])
128
129 # there is always an over and underflow bin so the first bin will be 0. - 0.5 the last bin 3.5 - inf.
130 # if all eta bins are >=0. the counter will be categorized by abs(eta) otherwise eta
131 kwargs.setdefault("StatisticEtaBins", [eta/10. for eta in range(5, 40, 5)]) # eta 0.0 - 4.0 in steps of 0.5
132
133 kwargs.setdefault("absEtaMax", flags.Tracking.ActiveConfig.maxEta)
134 kwargs.setdefault("ptMin", [p / Units.GeV * UnitConstants.GeV for p in tolist(flags.Tracking.ActiveConfig.minPT)])
135 # 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.
136 kwargs.setdefault("z0Min", [-flags.Tracking.ActiveConfig.maxZImpact / Units.mm * UnitConstants.mm for etabin in flags.Tracking.ActiveConfig.etaBins[:-1]])
137 kwargs.setdefault("z0Max", [ flags.Tracking.ActiveConfig.maxZImpact / Units.mm * UnitConstants.mm for etabin in flags.Tracking.ActiveConfig.etaBins[:-1]])
138 kwargs.setdefault("d0Min", [-d0 / Units.mm * UnitConstants.mm for d0 in tolist(flags.Tracking.ActiveConfig.maxPrimaryImpactList)])
139 kwargs.setdefault("d0Max", [ d0 / Units.mm * UnitConstants.mm for d0 in tolist(flags.Tracking.ActiveConfig.maxPrimaryImpactList)])
140 kwargs.setdefault("minMeasurements", tolist([ 8, 8, 8]))
141 kwargs.setdefault("maxHoles", tolist(flags.Tracking.ActiveConfig.maxHoles))
142 kwargs.setdefault("minPixelHits", tolist(flags.Tracking.ActiveConfig.minPixel))
143 kwargs.setdefault("maxPixelHoles", tolist(flags.Tracking.ActiveConfig.maxPixelHoles))
144 kwargs.setdefault("maxStripHoles", tolist(flags.Tracking.ActiveConfig.maxSctHoles))
145 # The shared hits are not calculated until *after* the track selection, so maxSharedHits is not used.
146 # Even if that were not the case, we need the ambiguity solver to decide which track to drop.
147
148
149 # GBTS produces much purer seeds, so the branch stopper selections aren't needed with GBTS seeds.
150 if flags.Tracking.ActiveConfig.SeedingStrategy is not SeedingStrategy.Gbts:
151 kwargs.setdefault("ptMinMeasurements", seedOrder(flags, pixel=[3], strip=[6]))
152 kwargs.setdefault("absEtaMaxMeasurements", seedOrder(flags, pixel=[3], strip=[999999]))
153
154 from ActsConfig.ActsGeometryConfig import ActsGeometryRealmConvToolCfg
155 kwargs.setdefault("GeometryRealmConvTool", acc.getPrimaryAndMerge(ActsGeometryRealmConvToolCfg(flags)))
156
157 if 'TrackParamsEstimationTool' not in kwargs:
158 from ActsConfig.ActsTrackParamsEstimationConfig import ActsTrackParamsEstimationToolCfg
159 tpe = acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(flags))
160 kwargs.setdefault('TrackParamsEstimationTool', seedOrder(flags, pixel=[tpe], strip=[tpe]))
161
162 if flags.Acts.doPrintTrackStates and 'TrackStatePrinter' not in kwargs:
163 kwargs.setdefault(
164 "TrackStatePrinter",
165 acc.popToolsAndMerge(ActsInDetTrackStatePrinterToolCfg(flags)),
166 )
167
168 # !!! Calibrator is not used for Inner Detector yet
169 if 'PixelCalibrator' not in kwargs:
170 from AthenaConfiguration.Enums import BeamType
171
172 if flags.Beam.Type is not BeamType.Cosmics and flags.Acts.PixelCalibrationStrategy.usesCalibration():
173 from ActsConfig.ActsMeasurementCalibrationConfig import ActsPixelCalibrationToolCfg
174
175 kwargs.setdefault(
176 'PixelCalibrator',
177 acc.popToolsAndMerge(ActsPixelCalibrationToolCfg(flags))
178 )
179 # !!! Calibrator is not used for Inner Detector yet
180 if 'StripCalibrator' not in kwargs:
181 from AthenaConfiguration.Enums import BeamType
182
183 if flags.Beam.Type is not BeamType.Cosmics and flags.Acts.StripCalibrationStrategy.usesCalibration():
184 from ActsConfig.ActsMeasurementCalibrationConfig import ActsStripCalibrationToolCfg
185
186 kwargs.setdefault(
187 'StripCalibrator',
188 acc.popToolsAndMerge(ActsStripCalibrationToolCfg(flags))
189 )
190
191 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
192 from ActsConfig.ActsMonitoringConfig import ActsTrackFindingMonitoringToolCfg
193 kwargs.setdefault('MonTool', acc.popToolsAndMerge(
194 ActsTrackFindingMonitoringToolCfg(flags)))
195
196 acc.addEventAlgo(CompFactory.ActsTrk.TrackFindingAlg(name, **kwargs))
197 return acc
198
199
200
202 **kwargs) -> ComponentAccumulator:
203 acc = ComponentAccumulator()
204
205 # Define Uncalibrated Measurement keys
206 dataPrepPrefix = f'{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}'
207 if not flags.Tracking.ActiveConfig.isSecondaryPass:
208 dataPrepPrefix = ''
209 pixelClusters = f'{dataPrepPrefix}PixelClusters'
210 stripClusters = f'{dataPrepPrefix}SCT_Clusters'
211 # If cache is activated the keys have "_Cached" as postfix
212 if flags.Acts.useCache:
213 pixelClusters += '_Cached'
214 stripClusters += '_Cached'
215 # Consider case detectors are not active
216
217 # Understand what are the seeds we need to consider
218 pixelSeedLabels = ['PPP']
219 stripSeedLabels = ['SSS']
220
221 # Consider if pixel seeds and SCT seeds are needed, for the moment, both are kept for Inner Detector
222
223 # Now set the seed and estimated parameters keys accordingly
224 pixelSeedKeys = [f'{flags.Tracking.ActiveConfig.extension}PixelSeeds']
225 stripSeedKeys = [f'{flags.Tracking.ActiveConfig.extension}SCT_Seeds']
226 pixelDetElements = ['PixelDetectorElementCollection']
227 stripDetElements = ['SCT_DetectorElementCollection']
228 if pixelSeedLabels is None:
229 pixelSeedKeys = None
230 pixelDetElements = None
231 if stripSeedLabels is None:
232 stripSeedKeys = None
233 stripDetElements = None
234
235 kwargs.setdefault('ACTSTracksLocation', f"{flags.Tracking.ActiveConfig.extension}Tracks")
236 kwargs.setdefault('UncalibratedMeasurementContainerKeys', isdet(flags, pixel=[pixelClusters], strip=[stripClusters]))
237 kwargs.setdefault('SeedLabels', seedOrder(flags, pixel=pixelSeedLabels, strip=stripSeedLabels))
238 kwargs.setdefault('SeedContainerKeys', seedOrder(flags, pixel=pixelSeedKeys, strip=stripSeedKeys))
239 kwargs.setdefault('DetectorElementsKeys', seedOrder(flags, pixel=pixelDetElements, strip=stripDetElements))
240
241 acc.merge(ActsInDetMainTrackFindingAlgCfg(flags,
242 name=f"{flags.Tracking.ActiveConfig.extension}TrackFindingAlg",
243 **kwargs))
244
245 # # Analysis extensions
246 # if flags.Acts.Tracks.doAnalysis:
247 # from ActsConfig.ActsAnalysisConfig import ActsTrackAnalysisAlgCfg
248 # acc.merge(ActsTrackAnalysisAlgCfg(flags,
249 # name=f"{flags.Tracking.ActiveConfig.extension}TrackAnalysisAlg",
250 # TracksLocation=f"{flags.Tracking.ActiveConfig.extension}Tracks"))
251
252 # # Seed To Track Monitoring
253 # if len(kwargs["SeedContainerKeys"]) != len(kwargs["DetectorElementsKeys"]):
254 # raise AttributeError("SeedContainerKeys and DetectorElementsKeys must have same size")
255
256 # for i in range(0, len(kwargs["SeedContainerKeys"])):
257 # seedKey = kwargs["SeedContainerKeys"][i]
258 # detElKey = kwargs["DetectorElementsKeys"][i]
259
260 # # make seed params
261 # from ActsConfig.ActsAnalysisConfig import ActsBaseSeedsToTrackParamsAlgCfg
262 # acc.merge(ActsBaseSeedsToTrackParamsAlgCfg(flags,
263 # name = f'{seedKey}SeedsToTrackParamsAlg',
264 # InputSeedContainerKey = seedKey,
265 # DetectorElementsKey = detElKey,
266 # OutputTrackParamsCollectionKey = f'{seedKey}Params'))
267
268 # from ActsConfig.ActsAnalysisConfig import ActsSeedToTrackAnalysisAlgCfg
269 # acc.merge(ActsSeedToTrackAnalysisAlgCfg(flags,
270 # name = f'{seedKey}ToTrackAnalysisAlg',
271 # InputSeedCollection = seedKey,
272 # InputTrackParamsCollection = f'{seedKey}Params',
273 # InputDestinyCollection = f'{seedKey}Destiny'))
274
275 # Persistification
276 if flags.Acts.EDM.PersistifyTracks or flags.Output.doWriteESD:
277 trackColl = kwargs['ACTSTracksLocation']
278 from ActsConfig.ActsEventCnvConfig import ActsToXAODTrackConverterAlgCfg
279 acc.merge(ActsToXAODTrackConverterAlgCfg(flags,
280 name = f'{trackColl}ToXAODConverterAlg',
281 InputActsTracksLocation = trackColl,
282 OutputActsTracksLocation = trackColl))
283
284 toAOD = []
285 prefix = f"{flags.Tracking.ActiveConfig.extension}"
286 toAOD += [f"xAOD::TrackSummaryContainer#{prefix}TrackSummary",
287 f"xAOD::TrackSummaryAuxContainer#{prefix}TrackSummaryAux.",
288 f"xAOD::TrackStateContainer#{prefix}TrackStates",
289 f"xAOD::TrackStateAuxContainer#{prefix}TrackStatesAux.-uncalibratedMeasurement",
290 f"xAOD::TrackParametersContainer#{prefix}TrackParameters",
291 f"xAOD::TrackParametersAuxContainer#{prefix}TrackParametersAux.",
292 f"xAOD::TrackJacobianContainer#{prefix}TrackJacobians",
293 f"xAOD::TrackJacobianAuxContainer#{prefix}TrackJacobiansAux.",
294 f"xAOD::TrackMeasurementContainer#{prefix}TrackMeasurements",
295 f"xAOD::TrackMeasurementAuxContainer#{prefix}TrackMeasurementsAux.",
296 f"xAOD::TrackSurfaceContainer#{prefix}TrackStateSurfaces",
297 f"xAOD::TrackSurfaceAuxContainer#{prefix}TrackStateSurfacesAux.",
298 f"xAOD::TrackSurfaceContainer#{prefix}TrackSurfaces",
299 f"xAOD::TrackSurfaceAuxContainer#{prefix}TrackSurfacesAux."]
300 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
301 acc.merge(addToAOD(flags, toAOD))
302
303 return acc
304
305
307 name: str = "ActsInDetScoreBasedAmbiguityResolutionAlg",
308 **kwargs) -> ComponentAccumulator:
309 acc = ComponentAccumulator()
310
311 kwargs.setdefault('TracksLocation', 'ActsTracks')
312 kwargs.setdefault('ResolvedTracksLocation', 'ActsResolvedTracks')
313 kwargs.setdefault('MinScore',1.0)
314 kwargs.setdefault('MinScoreSharedTracks', 1.0)
315 kwargs.setdefault('MaxSharedTracksPerMeasurement', 20)
316 kwargs.setdefault('MaxShared', 5)
317 kwargs.setdefault('MinUnshared', 5)
318 kwargs.setdefault('UseAmbiguityScoring', True)
319 kwargs.setdefault('jsonFileName', 'ActsAmbiguityConfig.json')
320
321 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
322 from ActsConfig.ActsMonitoringConfig import ActsAmbiguityResolutionMonitoringToolCfg
323 kwargs.setdefault('MonTool', acc.popToolsAndMerge(
324 ActsAmbiguityResolutionMonitoringToolCfg(flags)))
325
326 acc.addEventAlgo(
327 CompFactory.ActsTrk.ScoreBasedAmbiguityResolutionAlg(name, **kwargs))
328 return acc
329
330
332 name: str = "ActsInDetAmbiguityResolutionAlg",
333 **kwargs) -> ComponentAccumulator:
334 acc = ComponentAccumulator()
335
336 kwargs.setdefault('TracksLocation', 'ActsTracks')
337 kwargs.setdefault('ResolvedTracksLocation', 'ActsResolvedTracks')
338 kwargs.setdefault('MaximumSharedHits', 3)
339 kwargs.setdefault('MaximumIterations', 10000)
340 kwargs.setdefault('NMeasurementsMin', 7)
341
342 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
343 from ActsConfig.ActsMonitoringConfig import ActsAmbiguityResolutionMonitoringToolCfg
344 kwargs.setdefault('MonTool', acc.popToolsAndMerge(
345 ActsAmbiguityResolutionMonitoringToolCfg(flags)))
346
347 acc.addEventAlgo(
348 CompFactory.ActsTrk.AmbiguityResolutionAlg(name, **kwargs))
349 return acc
350
351
353 **kwargs) -> ComponentAccumulator:
354 acc = ComponentAccumulator()
355 kwargs.setdefault('TracksLocation', f"{flags.Tracking.ActiveConfig.extension}Tracks")
356 kwargs.setdefault('ResolvedTracksLocation', f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks")
357 from ActsConfig.ActsConfigFlags import AmbiguitySolverStrategy
358
359 if flags.Acts.AmbiguitySolverStrategy is AmbiguitySolverStrategy.ScoreBased:
361 name=f"{flags.Tracking.ActiveConfig.extension}ScoreBasedAmbiguityResolutionAlg",
362 **kwargs))
363 else:
365 name=f"{flags.Tracking.ActiveConfig.extension}AmbiguityResolutionAlg",
366 **kwargs))
367 # Analysis extensions
368 if flags.Acts.Tracks.doAnalysis:
369 from ActsConfig.ActsAnalysisConfig import ActsTrackAnalysisAlgCfg
370 acc.merge(ActsTrackAnalysisAlgCfg(flags,
371 name=f"{flags.Tracking.ActiveConfig.extension}ResolvedTrackAnalysisAlg",
372 TracksLocation=f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks"))
373
374 # Persistification
375 if flags.Acts.EDM.PersistifyTracks:
376 trackColl = kwargs['ResolvedTracksLocation']
377 from ActsConfig.ActsEventCnvConfig import ActsToXAODTrackConverterAlgCfg
378 acc.merge(ActsToXAODTrackConverterAlgCfg(flags,
379 name = f'{trackColl}ToXAODConverterAlg',
380 InputActsTracksLocation = trackColl,
381 OutputActsTracksLocation = trackColl))
382
383 toAOD = []
384 prefix = f"{flags.Tracking.ActiveConfig.extension}Resolved"
385 toAOD += [f"xAOD::TrackSummaryContainer#{prefix}TrackSummary",
386 f"xAOD::TrackSummaryAuxContainer#{prefix}TrackSummaryAux.",
387 f"xAOD::TrackStateContainer#{prefix}TrackStates",
388 f"xAOD::TrackStateAuxContainer#{prefix}TrackStatesAux.-uncalibratedMeasurement",
389 f"xAOD::TrackParametersContainer#{prefix}TrackParameters",
390 f"xAOD::TrackParametersAuxContainer#{prefix}TrackParametersAux.",
391 f"xAOD::TrackJacobianContainer#{prefix}TrackJacobians",
392 f"xAOD::TrackJacobianAuxContainer#{prefix}TrackJacobiansAux.",
393 f"xAOD::TrackMeasurementContainer#{prefix}TrackMeasurements",
394 f"xAOD::TrackMeasurementAuxContainer#{prefix}TrackMeasurementsAux.",
395 f"xAOD::TrackSurfaceContainer#{prefix}TrackStateSurfaces",
396 f"xAOD::TrackSurfaceAuxContainer#{prefix}TrackStateSurfacesAux.",
397 f"xAOD::TrackSurfaceContainer#{prefix}TrackSurfaces",
398 f"xAOD::TrackSurfaceAuxContainer#{prefix}TrackSurfacesAux."]
399 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
400 acc.merge(addToAOD(flags, toAOD))
401
402 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)