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 ["Conversion"]):
55 from InDetConfig.SiSPSeededTrackFinderConfig import (
56 ITkSiSPSeededTrackFinderROIConvCfg)
57 acc.merge(ITkSiSPSeededTrackFinderROIConvCfg(
58 flags, TracksLocation=SiSPSeededTrackCollectionKey))
59 else:
60 from InDetConfig.SiSPSeededTrackFinderConfig import (
61 ITkSiSPSeededTrackFinderCfg)
62 acc.merge(ITkSiSPSeededTrackFinderCfg(
63 flags, TracksLocation=SiSPSeededTrackCollectionKey))
64
65
66 if flags.Tracking.ActiveConfig.doGNNTrack:
67 from InDetGNNTracking.InDetGNNTrackingConfig import GNNTrackMakerCfg
68 acc.merge(GNNTrackMakerCfg(
69 flags, TracksLocation=SiSPSeededTrackCollectionKey))
70
71
72 if flags.Tracking.ActiveConfig.doFPGASeed:
73 if flags.Tracking.ActiveConfig.doFPGATrackSim:
74 from FPGATrackSimConfTools import FPGATrackSimAnalysisConfig
75 acc.merge(FPGATrackSimAnalysisConfig.FPGATrackSimSeedingCfg(flags))
76 else:
77 from EFTrackingFPGAPipeline.F150IntegrationConfig import FPGA150Pipeline
78 acc.merge(FPGA150Pipeline(flags, runStandalone=False))
79
80
81 if flags.Tracking.ActiveConfig.doActsSeed:
82 from ActsConfig.ActsSeedingConfig import ActsSeedingCfg
83 acc.merge(ActsSeedingCfg(flags))
84
85
86 if flags.Tracking.ActiveConfig.doActsTrack:
87 from ActsConfig.ActsTrackFindingConfig import ActsTrackFindingCfg
88 acc.merge(ActsTrackFindingCfg(flags))
89
90
91 if flags.Tracking.ActiveConfig.doActsToAthenaTrack:
92 from ActsConfig.ActsEventCnvConfig import ActsToTrkConvertorAlgCfg
93 acc.merge(ActsToTrkConvertorAlgCfg(
94 flags,
95 ACTSTracksLocation=f"{flags.Tracking.ActiveConfig.extension}Tracks",
96 TracksLocation=SiSPSeededTrackCollectionKey))
97
98
99 if flags.Tracking.ActiveConfig.doAthenaToActsTrack:
100 from ActsConfig.ActsEventCnvConfig import TrkToActsConvertorAlgCfg
101 acc.merge(TrkToActsConvertorAlgCfg(
102 flags,
103 TrackContainerLocation=f"{flags.Tracking.ActiveConfig.extension}Tracks",
104 TrackCollectionKeys=[SiSPSeededTrackCollectionKey]))
105
106
107 runTruth = (flags.Tracking.ActiveConfig.doAthenaTrack or
108 flags.Tracking.ActiveConfig.doActsToAthenaTrack or
109 flags.Tracking.ActiveConfig.doGNNTrack)
110 from InDetConfig.ITkTrackTruthConfig import ITkTrackTruthCfg
111 if flags.Tracking.doTruth and runTruth:
112 acc.merge(ITkTrackTruthCfg(
113 flags, Tracks=SiSPSeededTrackCollectionKey,
114 DetailedTruth=SiSPSeededTrackCollectionKey+"DetailedTruth",
115 TracksTruth=SiSPSeededTrackCollectionKey+"TruthCollection"))
116
117
118
119
120
121
122
123 runCopyAlg = ((flags.Tracking.doITkFastTracking and
124 flags.Tracking.ActiveConfig.doAthenaTrack) or
125 (flags.Tracking.ActiveConfig.doGNNTrack and
126 not flags.Tracking.GNN.doAmbiResolution))
127
128 if runCopyAlg:
129 from TrkConfig.TrkCollectionAliasAlgConfig import CopyAlgForAmbiCfg
130 acc.merge(CopyAlgForAmbiCfg(
131 flags, "ITkCopyAlgForAmbi"+flags.Tracking.ActiveConfig.extension,
132 CollectionName=SiSPSeededTrackCollectionKey,
133 AliasName=ResolvedTrackCollectionKey))
134
135 else:
136
137 if flags.Tracking.ActiveConfig.doAthenaAmbiguityResolution:
138
139
140 from TrkConfig.TrkAmbiguitySolverConfig import (
141 ITkTrkAmbiguityScoreCfg, ITkTrkAmbiguitySolverCfg)
142 acc.merge(ITkTrkAmbiguityScoreCfg(
143 flags, SiSPSeededTrackCollectionKey=SiSPSeededTrackCollectionKey,
144 ClusterSplitProbContainer=ClusterSplitProbContainer))
145
146 acc.merge(ITkTrkAmbiguitySolverCfg(
147 flags, ResolvedTrackCollectionKey=ResolvedTrackCollectionKey))
148
149
150 if flags.Tracking.ActiveConfig.doActsAmbiguityResolution:
151
152 from ActsConfig.ActsTrackFindingConfig import ActsAmbiguityResolutionCfg
153 acc.merge(ActsAmbiguityResolutionCfg(flags))
154
155 from ActsConfig.ActsPrdAssociationConfig import ActsPrdAssociationAlgCfg
156 acc.merge(ActsPrdAssociationAlgCfg(
157 flags, name = f'{flags.Tracking.ActiveConfig.extension}PrdAssociationAlg',
158 previousActsExtension=previousActsExtension))
159
160 if flags.Tracking.ActiveConfig.doActsToAthenaResolvedTrack:
161 from ActsConfig.ActsEventCnvConfig import ActsToTrkConvertorAlgCfg
162 acc.merge(ActsToTrkConvertorAlgCfg(
163 flags,
164 ACTSTracksLocation=f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks",
165 TracksLocation=ResolvedTrackCollectionKey))
166
167 runTruth = (flags.Tracking.ActiveConfig.doAthenaTrack or
168 flags.Tracking.ActiveConfig.doAthenaAmbiguityResolution or
169 (flags.Tracking.ActiveConfig.doGNNTrack and
170 not flags.Tracking.GNN.doAmbiResolution))
171 if flags.Tracking.doTruth and runTruth:
172 acc.merge(ITkTrackTruthCfg(
173 flags, Tracks=ResolvedTrackCollectionKey,
174 DetailedTruth=ResolvedTrackCollectionKey+"DetailedTruth",
175 TracksTruth=ResolvedTrackCollectionKey+"TruthCollection"))
176
177 if flags.Tracking.ActiveConfig.doActsTrack and flags.Tracking.doTruth:
178 from ActsConfig.ActsTruthConfig import (
179 ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg)
180 acts_tracks = (f"{flags.Tracking.ActiveConfig.extension}Tracks"
181 if not flags.Acts.doAmbiguityResolution else
182 f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks")
183 acc.merge(ActsTrackToTruthAssociationAlgCfg(
184 flags, name=f"{acts_tracks}TrackToTruthAssociationAlg",
185 ACTSTracksLocation=acts_tracks,
186 AssociationMapOut=acts_tracks+"ToTruthParticleAssociation"))
187
188 acc.merge(ActsTrackFindingValidationAlgCfg(
189 flags, name=f"{acts_tracks}TrackFindingValidationAlg",
190 TrackToTruthAssociationMap=acts_tracks+"ToTruthParticleAssociation"))
191
192
193 return acc