16 previousActsExtension=None):
17 acc = ComponentAccumulator()
18
19
20
21 if flags.Tracking.ActiveConfig.usePrdAssociationTool:
22 from InDetConfig.InDetTrackPRD_AssociationConfig import (
23 ITkTrackPRD_AssociationCfg)
24 acc.merge(ITkTrackPRD_AssociationCfg(
25 flags,
26 name=('ITkTrackPRD_Association' +
27 flags.Tracking.ActiveConfig.extension),
28 TracksName=list(InputCollections)))
29
30
31 if flags.Tracking.useITkFTF:
32
33
34
35
36
37
38
39 from TrigFastTrackFinder.ITkFastTrackFinderStandaloneConfig import (
40 ITkFastTrackFinderStandaloneCfg)
41 acc.merge(ITkFastTrackFinderStandaloneCfg(
42 flags, SiSPSeededTrackCollectionKey))
43
44 else:
45
46
47
48
49
50
51
52
53 if flags.Tracking.ActiveConfig.doAthenaTrack:
54 if (flags.Tracking.ActiveConfig.extension in
55 ["Conversion", "ActsValidateConversionSeeds"]):
56 from InDetConfig.SiSPSeededTrackFinderConfig import (
57 ITkSiSPSeededTrackFinderROIConvCfg)
58 acc.merge(ITkSiSPSeededTrackFinderROIConvCfg(
59 flags, TracksLocation=SiSPSeededTrackCollectionKey))
60 else:
61 from InDetConfig.SiSPSeededTrackFinderConfig import (
62 ITkSiSPSeededTrackFinderCfg)
63 acc.merge(ITkSiSPSeededTrackFinderCfg(
64 flags, TracksLocation=SiSPSeededTrackCollectionKey))
65
66
67 if flags.Tracking.ActiveConfig.doGNNTrack:
68 from InDetGNNTracking.InDetGNNTrackingConfig import GNNTrackMakerCfg
69 acc.merge(GNNTrackMakerCfg(
70 flags, TracksLocation=SiSPSeededTrackCollectionKey))
71
72
73 if flags.Tracking.ActiveConfig.doFPGASeed:
74 if flags.Tracking.ActiveConfig.doFPGATrackSim:
75 from FPGATrackSimConfTools import FPGATrackSimAnalysisConfig
76 acc.merge(FPGATrackSimAnalysisConfig.FPGATrackSimSeedingCfg(flags))
77 else:
78 from EFTrackingFPGAPipeline.F150IntegrationConfig import FPGA150Pipeline
79 acc.merge(FPGA150Pipeline(flags, runStandalone=False))
80
81
82 if flags.Tracking.ActiveConfig.doActsSeed:
83 from ActsConfig.ActsSeedingConfig import ActsSeedingCfg
84 acc.merge(ActsSeedingCfg(flags))
85
86
87 if flags.Tracking.ActiveConfig.doActsTrack:
88 from ActsConfig.ActsTrackFindingConfig import ActsTrackFindingCfg
89 acc.merge(ActsTrackFindingCfg(flags))
90
91
92 if flags.Tracking.ActiveConfig.doActsToAthenaTrack:
93 from ActsConfig.ActsEventCnvConfig import ActsToTrkConvertorAlgCfg
94 acc.merge(ActsToTrkConvertorAlgCfg(
95 flags,
96 ACTSTracksLocation=f"{flags.Tracking.ActiveConfig.extension}Tracks",
97 TracksLocation=SiSPSeededTrackCollectionKey))
98
99
100 if flags.Tracking.ActiveConfig.doAthenaToActsTrack:
101 from ActsConfig.ActsEventCnvConfig import TrkToActsConvertorAlgCfg
102 acc.merge(TrkToActsConvertorAlgCfg(
103 flags,
104 TrackContainerLocation=f"{flags.Tracking.ActiveConfig.extension}Tracks",
105 TrackCollectionKeys=[SiSPSeededTrackCollectionKey]))
106
107
108 runTruth = (flags.Tracking.ActiveConfig.doAthenaTrack or
109 flags.Tracking.ActiveConfig.doActsToAthenaTrack or
110 flags.Tracking.ActiveConfig.doGNNTrack)
111 from InDetConfig.ITkTrackTruthConfig import ITkTrackTruthCfg
112 if flags.Tracking.doTruth and runTruth:
113 acc.merge(ITkTrackTruthCfg(
114 flags, Tracks=SiSPSeededTrackCollectionKey,
115 DetailedTruth=SiSPSeededTrackCollectionKey+"DetailedTruth",
116 TracksTruth=SiSPSeededTrackCollectionKey+"TruthCollection"))
117
118
119
120
121
122
123
124 runCopyAlg = ((flags.Tracking.doITkFastTracking and
125 flags.Tracking.ActiveConfig.doAthenaTrack) or
126 (flags.Tracking.ActiveConfig.doGNNTrack and
127 not flags.Tracking.GNN.doAmbiResolution))
128
129 if runCopyAlg:
130 from TrkConfig.TrkCollectionAliasAlgConfig import CopyAlgForAmbiCfg
131 acc.merge(CopyAlgForAmbiCfg(
132 flags, "ITkCopyAlgForAmbi"+flags.Tracking.ActiveConfig.extension,
133 CollectionName=SiSPSeededTrackCollectionKey,
134 AliasName=ResolvedTrackCollectionKey))
135
136 else:
137
138 if flags.Tracking.ActiveConfig.doAthenaAmbiguityResolution:
139
140
141 from TrkConfig.TrkAmbiguitySolverConfig import (
142 ITkTrkAmbiguityScoreCfg, ITkTrkAmbiguitySolverCfg)
143 acc.merge(ITkTrkAmbiguityScoreCfg(
144 flags, SiSPSeededTrackCollectionKey=SiSPSeededTrackCollectionKey,
145 ClusterSplitProbContainer=ClusterSplitProbContainer))
146
147 acc.merge(ITkTrkAmbiguitySolverCfg(
148 flags, ResolvedTrackCollectionKey=ResolvedTrackCollectionKey))
149
150
151 if flags.Tracking.ActiveConfig.doActsAmbiguityResolution:
152
153 from ActsConfig.ActsTrackFindingConfig import ActsAmbiguityResolutionCfg
154 acc.merge(ActsAmbiguityResolutionCfg(flags))
155
156 from ActsConfig.ActsPrdAssociationConfig import ActsPrdAssociationAlgCfg
157 acc.merge(ActsPrdAssociationAlgCfg(
158 flags, name = f'{flags.Tracking.ActiveConfig.extension}PrdAssociationAlg',
159 previousActsExtension=previousActsExtension))
160
161 if flags.Tracking.ActiveConfig.doActsToAthenaResolvedTrack:
162 from ActsConfig.ActsEventCnvConfig import ActsToTrkConvertorAlgCfg
163 acc.merge(ActsToTrkConvertorAlgCfg(
164 flags,
165 ACTSTracksLocation=f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks",
166 TracksLocation=ResolvedTrackCollectionKey))
167
168 runTruth = (flags.Tracking.ActiveConfig.doAthenaTrack or
169 flags.Tracking.ActiveConfig.doAthenaAmbiguityResolution or
170 (flags.Tracking.ActiveConfig.doGNNTrack and
171 not flags.Tracking.GNN.doAmbiResolution))
172 if flags.Tracking.doTruth and runTruth:
173 acc.merge(ITkTrackTruthCfg(
174 flags, Tracks=ResolvedTrackCollectionKey,
175 DetailedTruth=ResolvedTrackCollectionKey+"DetailedTruth",
176 TracksTruth=ResolvedTrackCollectionKey+"TruthCollection"))
177
178 if flags.Tracking.ActiveConfig.doActsTrack and flags.Tracking.doTruth:
179 from ActsConfig.ActsTruthConfig import (
180 ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg)
181 acts_tracks = (f"{flags.Tracking.ActiveConfig.extension}Tracks"
182 if not flags.Acts.doAmbiguityResolution else
183 f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks")
184 acc.merge(ActsTrackToTruthAssociationAlgCfg(
185 flags, name=f"{acts_tracks}TrackToTruthAssociationAlg",
186 ACTSTracksLocation=acts_tracks,
187 AssociationMapOut=acts_tracks+"ToTruthParticleAssociation"))
188
189 acc.merge(ActsTrackFindingValidationAlgCfg(
190 flags, name=f"{acts_tracks}TrackFindingValidationAlg",
191 TrackToTruthAssociationMap=acts_tracks+"ToTruthParticleAssociation"))
192
193
194 return acc