11def egammaSelectedTrackCopyCfg(flags, name="egammaSelectedTrackCopy", **kwargs):
12 acc = ComponentAccumulator()
13
14 if "egammaCaloClusterSelector" not in kwargs:
15 from egammaCaloTools.egammaCaloToolsConfig import (
16 egammaCaloClusterSelectorGSFCfg,
17 )
18
19 kwargs["egammaCaloClusterSelector"] = acc.popToolsAndMerge(
20 egammaCaloClusterSelectorGSFCfg(flags)
21 )
22
23 if "ExtrapolationTool" not in kwargs:
24 from egammaTrackTools.egammaTrackToolsConfig import (
25 EMExtrapolationToolsCfg,
26 )
27
28 extraptool = EMExtrapolationToolsCfg(
29 flags, name="EMExtrapolationTools")
30 kwargs["ExtrapolationTool"] = acc.popToolsAndMerge(extraptool)
31
32 kwargs.setdefault("ClusterContainerName",
33 flags.Egamma.Keys.Internal.EgammaTopoClusters)
34 kwargs.setdefault("TrackParticleContainerName",
35 flags.Egamma.Keys.Input.TrackParticles)
36 kwargs.setdefault("OutputTrkPartContainerName",
37 flags.Egamma.Keys.Output.TrkPartContainerName)
38
39 if flags.Reco.EnableHGTDExtension:
40 kwargs.setdefault("TrackParticleTimeDecoration",
41 flags.Egamma.Keys.Input.TrackParticles+".time")
42
43 doFwd = flags.Detector.GeometryITk and flags.Egamma.doForward
44 kwargs.setdefault("doFwdTracks", doFwd)
45 if doFwd:
46 kwargs.setdefault("FwdClusterContainerName",
47 flags.Egamma.Keys.Internal.ForwardTopoClusters)
48
49
50 if flags.Detector.GeometryITk:
51 kwargs.setdefault(
52 "ExtraInputs",
53 [
54 (
55 "InDetDD::SiDetectorElementCollection",
56 "ConditionStore+ITkPixelDetectorElementCollection",
57 ),
58 (
59 "InDetDD::SiDetectorElementCollection",
60 "ConditionStore+ITkStripDetectorElementCollection",
61 ),
62 ],
63 )
64 else:
65 kwargs.setdefault(
66 "ExtraInputs",
67 [
68 (
69 "InDetDD::SiDetectorElementCollection",
70 "ConditionStore+PixelDetectorElementCollection",
71 ),
72 (
73 "InDetDD::SiDetectorElementCollection",
74 "ConditionStore+SCT_DetectorElementCollection",
75 ),
76 ],
77 )
78
79 egseltrkcpAlg = CompFactory.egammaSelectedTrackCopy(name, **kwargs)
80
81 acc.addEventAlgo(egseltrkcpAlg)
82 return acc
83
84