8 **kwargs):
9 """ Algorithm to refit Acts tracks using Acts GSF and create Acts refitted tracks.
10 Followed by TrackParticle creation and truth decoration."""
11
12 acc = ComponentAccumulator()
13 if "ActsFitter" not in kwargs:
14 from ActsConfig.ActsGaussianSumFitterConfig import ActsGaussianSumFitterToolCfg
15 kwargs.setdefault("ActsFitter", acc.popToolsAndMerge(
16 ActsGaussianSumFitterToolCfg(flags, name="ActsGSFTrackFitter")))
17
18
19 if 'TrackingGeometryTool' not in kwargs:
20 from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
21 kwargs.setdefault(
22 "TrackingGeometryTool",
23 acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)),
24 )
25 kwargs.setdefault('RefittedTracksLocation', 'ActsRefittedGSFTracks')
26
27 kwargs.setdefault("SelectedTrackParticleContainerName",
28 "InDetTrackParticles")
29
30 alg = CompFactory.ActsEMBremCollectionBuilder(name, **kwargs)
31 acc.addEventAlgo(alg)
32
33
34 from ActsConfig.ActsTrackFindingConfig import ActsTrackToTrackParticleCnvAlgCfg
35 acc.merge(ActsTrackToTrackParticleCnvAlgCfg(flags, "ActsGSFTrackParticleCnvAlg",
36 ACTSTracksLocation=[kwargs['RefittedTracksLocation'],],
37 TrackParticlesOutKey="GSFTrackParticles"))
38
39
40 from ActsConfig.ActsTruthConfig import ActsTrackToTruthAssociationAlgCfg
41 acc.merge(ActsTrackToTruthAssociationAlgCfg(flags,
42 name="ACTSGSFTrackParticleToTruthAssociationAlg",
43 ACTSTracksLocation=kwargs['RefittedTracksLocation'],
44 AssociationMapOut="ACTSGSFTrackParticleToTruthParticleAssociation"))
45
46 from ActsConfig.ActsTruthConfig import ActsTrackParticleTruthDecorationAlgCfg
47 acc.merge(ActsTrackParticleTruthDecorationAlgCfg(flags,
48 name="ACTSGSFTrackParticleTruthDecorationAlg",
49 TrackToTruthAssociationMaps = ["ACTSGSFTrackParticleToTruthParticleAssociation"],
50 TrackParticleContainerName = "GSFTrackParticles"
51 ))
52
53 return acc
54
55
56