12 InputCollections=None,
13 ResolvedTrackCollectionKey=None,
14 SiSPSeededTrackCollectionKey=None,
15 ClusterSplitProbContainer='',
16 previousActsExtension=None):
17 acc = ComponentAccumulator()
21 if flags.Tracking.ActiveConfig.usePrdAssociationTool:
22 from InDetConfig.InDetTrackPRD_AssociationConfig
import (
23 ITkTrackPRD_AssociationCfg)
24 acc.merge(ITkTrackPRD_AssociationCfg(
26 name=(
'ITkTrackPRD_Association' +
27 flags.Tracking.ActiveConfig.extension),
28 TracksName=list(InputCollections)))
31 if flags.Tracking.useITkFTF:
39 from TrigFastTrackFinder.ITkFastTrackFinderStandaloneConfig
import (
40 ITkFastTrackFinderStandaloneCfg)
41 acc.merge(ITkFastTrackFinderStandaloneCfg(
42 flags, SiSPSeededTrackCollectionKey))
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))
60 from InDetConfig.SiSPSeededTrackFinderConfig
import (
61 ITkSiSPSeededTrackFinderCfg)
62 acc.merge(ITkSiSPSeededTrackFinderCfg(
63 flags, TracksLocation=SiSPSeededTrackCollectionKey))
66 if flags.Tracking.ActiveConfig.doGNNTrack:
67 from InDetGNNTracking.InDetGNNTrackingConfig
import GNNTrackMakerCfg
68 acc.merge(GNNTrackMakerCfg(
69 flags, TracksLocation=SiSPSeededTrackCollectionKey))
72 if flags.Tracking.ActiveConfig.doFPGASeed:
73 if flags.Tracking.ActiveConfig.doFPGATrackSim:
74 from FPGATrackSimConfTools
import FPGATrackSimAnalysisConfig
75 acc.merge(FPGATrackSimAnalysisConfig.FPGATrackSimSeedingCfg(flags))
77 from EFTrackingFPGAPipeline.F150IntegrationConfig
import FPGA150Pipeline
78 acc.merge(FPGA150Pipeline(flags, runStandalone=
False))
81 if flags.Tracking.ActiveConfig.doActsSeed:
82 from ActsConfig.ActsSeedingConfig
import ActsSeedingCfg
83 acc.merge(ActsSeedingCfg(flags))
86 if flags.Tracking.ActiveConfig.doActsTrack:
87 from ActsConfig.ActsTrackFindingConfig
import ActsTrackFindingCfg
88 acc.merge(ActsTrackFindingCfg(flags))
91 if flags.Tracking.ActiveConfig.doActsToAthenaTrack:
92 from ActsConfig.ActsEventCnvConfig
import ActsToTrkConvertorAlgCfg
93 acc.merge(ActsToTrkConvertorAlgCfg(
95 ACTSTracksLocation=f
"{flags.Tracking.ActiveConfig.extension}Tracks",
96 TracksLocation=SiSPSeededTrackCollectionKey))
99 if flags.Tracking.ActiveConfig.doAthenaToActsTrack:
100 from ActsConfig.ActsEventCnvConfig
import TrkToActsConvertorAlgCfg
101 acc.merge(TrkToActsConvertorAlgCfg(
103 TrackContainerLocation=f
"{flags.Tracking.ActiveConfig.extension}Tracks",
104 TrackCollectionKeys=[SiSPSeededTrackCollectionKey]))
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"))
123 runCopyAlg = ((flags.Tracking.doITkFastTracking
and
124 flags.Tracking.ActiveConfig.doAthenaTrack)
or
125 (flags.Tracking.ActiveConfig.doGNNTrack
and
126 not flags.Tracking.GNN.doAmbiResolution))
129 from TrkConfig.TrkCollectionAliasAlgConfig
import CopyAlgForAmbiCfg
130 acc.merge(CopyAlgForAmbiCfg(
131 flags,
"ITkCopyAlgForAmbi"+flags.Tracking.ActiveConfig.extension,
132 CollectionName=SiSPSeededTrackCollectionKey,
133 AliasName=ResolvedTrackCollectionKey))
137 if flags.Tracking.ActiveConfig.doAthenaAmbiguityResolution:
140 from TrkConfig.TrkAmbiguitySolverConfig
import (
141 ITkTrkAmbiguityScoreCfg, ITkTrkAmbiguitySolverCfg)
142 acc.merge(ITkTrkAmbiguityScoreCfg(
143 flags, SiSPSeededTrackCollectionKey=SiSPSeededTrackCollectionKey,
144 ClusterSplitProbContainer=ClusterSplitProbContainer))
146 acc.merge(ITkTrkAmbiguitySolverCfg(
147 flags, ResolvedTrackCollectionKey=ResolvedTrackCollectionKey))
150 if flags.Tracking.ActiveConfig.doActsAmbiguityResolution:
152 from ActsConfig.ActsTrackFindingConfig
import ActsAmbiguityResolutionCfg
153 acc.merge(ActsAmbiguityResolutionCfg(flags))
155 from ActsConfig.ActsPrdAssociationConfig
import ActsPrdAssociationAlgCfg
156 acc.merge(ActsPrdAssociationAlgCfg(
157 flags, name = f
'{flags.Tracking.ActiveConfig.extension}PrdAssociationAlg',
158 previousActsExtension=previousActsExtension))
160 if flags.Tracking.ActiveConfig.doActsToAthenaResolvedTrack:
161 from ActsConfig.ActsEventCnvConfig
import ActsToTrkConvertorAlgCfg
162 acc.merge(ActsToTrkConvertorAlgCfg(
164 ACTSTracksLocation=f
"{flags.Tracking.ActiveConfig.extension}ResolvedTracks",
165 TracksLocation=ResolvedTrackCollectionKey))
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"))
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"))
188 acc.merge(ActsTrackFindingValidationAlgCfg(
189 flags, name=f
"{acts_tracks}TrackFindingValidationAlg",
190 TrackToTruthAssociationMap=acts_tracks+
"ToTruthParticleAssociation"))