ATLAS Offline Software
Loading...
Searching...
No Matches
ActsPatternRecognitionConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3
5 *,
6 previousExtension: str = None) -> ComponentAccumulator:
7 acc = ComponentAccumulator()
8
9 # Vertex reconstruction using spacepoints
10 if flags.Tracking.ActiveConfig.useHoughVertexFilter:
11 from HIGlobal.HIHoughVtxFinderConfig import HIHoughVtxRecoCfg
12 acc.merge(HIHoughVtxRecoCfg(flags,
13 inputPixelSpacePoints = "PixelSpacePoints"))
14
15 # Seeding
16 from ActsConfig.ActsSeedingInDetConfig import ActsInDetSeedingCfg
17 acc.merge(ActsInDetSeedingCfg(flags))
18
19 # CKF
20 from ActsConfig.ActsTrackFindingInDetConfig import ActsInDetTrackFindingCfg
21 acc.merge(ActsInDetTrackFindingCfg(flags))
22
23 # Ambiguity Resolution
24 # !!! NOT VALIDAtED FOR INNER DETECTOR ACTS TRACKING !!!
25 if flags.Acts.doAmbiguityResolution:
26 from ActsConfig.ActsTrackFindingInDetConfig import ActsInDetAmbiguityResolutionCfg
27 acc.merge(ActsInDetAmbiguityResolutionCfg(flags))
28
29 # PRD association
30 from ActsConfig.ActsPrdAssociationConfig import ActsPrdAssociationAlgCfg
31 acc.merge(ActsPrdAssociationAlgCfg(flags,
32 name = f'{flags.Tracking.ActiveConfig.extension}PrdAssociationAlg',
33 InputTrackCollection = f'{flags.Tracking.ActiveConfig.extension}Tracks',
34 previousActsExtension = previousExtension))
35
36 # Truth
37 if flags.Tracking.doTruth:
38 # Run truth on CKF tracks
39 # This is only necessary if we are asking for these tracks to be persistified with the
40 # - flag: Tracking.ActiveConfig.storeSiSPSeededTracks set to True OR
41 # - flag: flags.Acts.doAmbiguityResolution set to False
42 if flags.Tracking.ActiveConfig.storeSiSPSeededTracks or not flags.Acts.doAmbiguityResolution:
43 from ActsConfig.ActsTruthConfig import ActsInDetTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
44 acts_tracks = f"{flags.Tracking.ActiveConfig.extension}Tracks"
45 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
46 name = f"{acts_tracks}TrackToTruthAssociationAlg",
47 ACTSTracksLocation = acts_tracks,
48 AssociationMapOut = f"{acts_tracks}ToTruthParticleAssociation"))
49
50 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
51 name = f"{acts_tracks}TrackFindingValidationAlg",
52 TrackToTruthAssociationMap = f"{acts_tracks}ToTruthParticleAssociation"))
53
54 # Run truth on the tracks from ambiguity resolution. This is only necessary if
55 # - flag: flags.Acts.doAmbiguityResolution set to True
56 if flags.Acts.doAmbiguityResolution:
57 # !!! NOT VALIDATED YET FOR INNER DETECTOR ACTS TRACKING !!!
58 acts_tracks = f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks"
59 from ActsConfig.ActsTruthConfig import ActsInDetTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
60 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
61 name = f"{acts_tracks}TrackToTruthAssociationAlg",
62 ACTSTracksLocation = acts_tracks,
63 AssociationMapOut = f"{acts_tracks}ToTruthParticleAssociation"))
64
65 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
66 name = f"{acts_tracks}TrackFindingValidationAlg",
67 TrackToTruthAssociationMap = f"{acts_tracks}ToTruthParticleAssociation"))
68
69 return acc
70
ComponentAccumulator ActsTrackReconstructionCfg(flags, *, str previousExtension=None)