ATLAS Offline Software
Loading...
Searching...
No Matches
ITkActsPatternRecognitionConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 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 # Seeding
10 from ActsConfig.ActsSeedingConfig import ActsSeedingCfg
11 acc.merge(ActsSeedingCfg(flags))
12
13 # CKF
14 from ActsConfig.ActsTrackFindingConfig import ActsTrackFindingCfg
15 acc.merge(ActsTrackFindingCfg(flags))
16
17 # Ambiguity Resolution
18 if flags.Acts.doAmbiguityResolution:
19 from ActsConfig.ActsTrackFindingConfig import ActsAmbiguityResolutionCfg
20 acc.merge(ActsAmbiguityResolutionCfg(flags))
21
22 # PRD association
23 from ActsConfig.ActsPrdAssociationConfig import ActsPrdAssociationAlgCfg
24 acc.merge(ActsPrdAssociationAlgCfg(flags,
25 name = f'{flags.Tracking.ActiveConfig.extension}PrdAssociationAlg',
26 previousActsExtension = previousExtension))
27
28 # Truth
29 if flags.Tracking.doTruth:
30 # Run truth on CKF tracks
31 # This is only necessary if we are asking for these tracks to be persistified with the
32 # - flag: Tracking.ActiveConfig.storeSiSPSeededTracks set to True OR
33 # - flag: flags.Acts.doAmbiguityResolution set to False
34 if flags.Tracking.ActiveConfig.storeSiSPSeededTracks or not flags.Acts.doAmbiguityResolution:
35 from ActsConfig.ActsTruthConfig import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
36 acts_tracks = f"{flags.Tracking.ActiveConfig.extension}Tracks"
37 acc.merge(ActsTrackToTruthAssociationAlgCfg(flags,
38 name = f"{acts_tracks}TrackToTruthAssociationAlg",
39 ACTSTracksLocation = acts_tracks,
40 AssociationMapOut = f"{acts_tracks}ToTruthParticleAssociation"))
41
42 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
43 name = f"{acts_tracks}TrackFindingValidationAlg",
44 TrackToTruthAssociationMap = f"{acts_tracks}ToTruthParticleAssociation"))
45
46 # Run truth on the tracks from ambiguity resolution. This is only necessary if
47 # - flag: flags.Acts.doAmbiguityResolution set to True
48 if flags.Acts.doAmbiguityResolution:
49 acts_tracks = f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks"
50 from ActsConfig.ActsTruthConfig import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
51 acc.merge(ActsTrackToTruthAssociationAlgCfg(flags,
52 name = f"{acts_tracks}TrackToTruthAssociationAlg",
53 ACTSTracksLocation = acts_tracks,
54 AssociationMapOut = f"{acts_tracks}ToTruthParticleAssociation"))
55
56 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
57 name = f"{acts_tracks}TrackFindingValidationAlg",
58 TrackToTruthAssociationMap = f"{acts_tracks}ToTruthParticleAssociation"))
59
60 return acc
61
ComponentAccumulator ITkActsTrackReconstructionCfg(flags, *, str previousExtension=None)