ATLAS Offline Software
Loading...
Searching...
No Matches
EMBremCollectionBuilderConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaCommon.Logging import logging
6
7
9 name="EMBremCollectionBuilder",
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 # P->T conversion extra dependencies
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
66if __name__ == "__main__":
67 from AthenaConfiguration.AllConfigFlags import initConfigFlags
68 from AthenaConfiguration.TestDefaults import defaultTestFiles
69 from AthenaConfiguration.ComponentAccumulator import printProperties
70 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
71 flags = initConfigFlags()
72 flags.Input.Files = defaultTestFiles.RDO_RUN2
73 flags.lock()
74 acc = MainServicesCfg(flags)
75 acc.merge(EMBremCollectionBuilderCfg(flags))
76 mlog = logging.getLogger("EMBremCollectionBuilderConfigTest")
77 mlog.info("Configuring EMBremCollectionBuilder: ")
78 printProperties(mlog,
79 acc.getEventAlgo("EMBremCollectionBuilder"),
80 nestLevel=1,
81 printDefaults=True)
82 with open("embremcollectionbuilder.pkl", "wb") as f:
83 acc.store(f)
EMBremCollectionBuilderCfg(flags, name="EMBremCollectionBuilder", **kwargs)