10 **kwargs):
11 """ Algorithm to create the GSF collection
12 We need to refit with GSF
13 Create a Track Summary
14 Create the relevant TrackParticles """
15
16 acc = ComponentAccumulator()
17
18 if "TrackRefitTool" not in kwargs:
19 from egammaTrackTools.egammaTrackToolsConfig import (
20 egammaTrkRefitterToolCfg)
21 kwargs["TrackRefitTool"] = acc.popToolsAndMerge(
22 egammaTrkRefitterToolCfg(flags))
23
24 if "TrackParticleCreatorTool" not in kwargs:
25 from TrkConfig.TrkParticleCreatorConfig import (
26 GSFBuildInDetParticleCreatorToolCfg)
27 kwargs["TrackParticleCreatorTool"] = acc.popToolsAndMerge(
28 GSFBuildInDetParticleCreatorToolCfg(flags))
29
30 if "TrackSlimmingTool" not in kwargs:
31 from TrkConfig.TrkTrackSlimmingToolConfig import GSFTrackSlimmingToolCfg
32 kwargs["TrackSlimmingTool"] = acc.popToolsAndMerge(GSFTrackSlimmingToolCfg(flags))
33
34 kwargs.setdefault(
35 "usePixel",
36 flags.Detector.EnablePixel or flags.Detector.EnableITkPixel)
37 kwargs.setdefault(
38 "useSCT",
39 flags.Detector.EnableSCT or flags.Detector.EnableITkStrip)
40 kwargs.setdefault("useTRT", flags.Detector.EnableTRT)
41 kwargs.setdefault("DoTruth", flags.Input.isMC)
42 kwargs.setdefault("slimTrkTracks", flags.Egamma.slimGSFTrkTracks)
43 kwargs.setdefault("useHGTD", flags.Reco.EnableHGTDExtension)
44
45
46 if flags.Detector.GeometryITk:
47 kwargs.setdefault("ExtraInputs", [
48 ("InDetDD::SiDetectorElementCollection",
49 "ConditionStore+ITkPixelDetectorElementCollection"),
50 ("InDetDD::SiDetectorElementCollection",
51 "ConditionStore+ITkStripDetectorElementCollection"),
52 ])
53 else:
54 kwargs.setdefault("ExtraInputs", [
55 ("InDetDD::SiDetectorElementCollection",
56 "ConditionStore+PixelDetectorElementCollection"),
57 ("InDetDD::SiDetectorElementCollection",
58 "ConditionStore+SCT_DetectorElementCollection"),
59 ])
60
61 alg = CompFactory.EMBremCollectionBuilder(name, **kwargs)
62 acc.addEventAlgo(alg)
63 return acc
64
65