8def TruthTrackingCfg(flags, name='InDetTruthTrackCreation', **kwargs):
9 acc = ComponentAccumulator()
10
11 if "PRD_TruthTrajectoryBuilder" not in kwargs:
12 from InDetConfig.InDetTruthToolsConfig import (
13 InDetPRD_TruthTrajectoryBuilderCfg)
14 InDetPRD_TruthTrajectoryBuilder = acc.popToolsAndMerge(
15 InDetPRD_TruthTrajectoryBuilderCfg(flags))
16 acc.addPublicTool(InDetPRD_TruthTrajectoryBuilder)
17 kwargs.setdefault('PRD_TruthTrajectoryBuilder',
18 InDetPRD_TruthTrajectoryBuilder)
19
20 if "TruthTrackBuilder" not in kwargs:
21 from InDetConfig.InDetTruthToolsConfig import InDetTruthTrackBuilderCfg
22 InDetTruthTrackBuilder = acc.popToolsAndMerge(
23 InDetTruthTrackBuilderCfg(flags))
24 acc.addPublicTool(InDetTruthTrackBuilder)
25 kwargs.setdefault('TruthTrackBuilder', InDetTruthTrackBuilder)
26
27 kwargs.setdefault('OutputTrackCollection', 'InDetPseudoTracks')
28
29 if "AssociationTool" not in kwargs:
30 from InDetConfig.InDetAssociationToolsConfig import (
31 InDetPRDtoTrackMapToolGangedPixelsCfg)
32 kwargs.setdefault('AssociationTool', acc.popToolsAndMerge(
33 InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
34
35 if "TrackSummaryTool" not in kwargs:
36 from TrkConfig.TrkTrackSummaryToolConfig import (
37 InDetTrackSummaryToolCfg)
38 TrackSummaryTool = acc.popToolsAndMerge(
39 InDetTrackSummaryToolCfg(flags))
40 acc.addPublicTool(TrackSummaryTool)
41 kwargs.setdefault('TrackSummaryTool', TrackSummaryTool)
42
43 if "PRD_TruthTrajectorySelectors" not in kwargs:
44 trajectoryselectors = []
45 if not flags.Tracking.doIdealPseudoTracking:
46 from InDetConfig.InDetTruthToolsConfig import (
47 InDetPRD_TruthTrajectorySelectorCfg)
48 trajectoryselectors.append(acc.popToolsAndMerge(
49 InDetPRD_TruthTrajectorySelectorCfg(flags)))
50 kwargs.setdefault('PRD_TruthTrajectorySelectors', trajectoryselectors)
51
52 acc.addEventAlgo(CompFactory.Trk.TruthTrackCreation(name, **kwargs))
53 return acc
54
55