ATLAS Offline Software
EMBremCollectionBuilderConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from 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(
23 
24  if "TrackParticleCreatorTool" not in kwargs:
25  from TrkConfig.TrkParticleCreatorConfig import (
26  GSFBuildInDetParticleCreatorToolCfg)
27  kwargs["TrackParticleCreatorTool"] = acc.popToolsAndMerge(
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 
66 if __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)
EMBremCollectionBuilderConfig.EMBremCollectionBuilderCfg
def EMBremCollectionBuilderCfg(flags, name="EMBremCollectionBuilder", **kwargs)
Definition: EMBremCollectionBuilderConfig.py:8
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TrkParticleCreatorConfig.GSFBuildInDetParticleCreatorToolCfg
def GSFBuildInDetParticleCreatorToolCfg(flags, name="GSFBuildInDetParticleCreatorTool", isTrigger=False, **kwargs)
Definition: TrkParticleCreatorConfig.py:237
python.TrkTrackSlimmingToolConfig.GSFTrackSlimmingToolCfg
def GSFTrackSlimmingToolCfg(flags, name="GSFBuildInDetTrackSlimmingTool", **kwargs)
Definition: TrkTrackSlimmingToolConfig.py:13
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:256
extractSporadic.printProperties
def printProperties(h, q, hLB)
Definition: extractSporadic.py:8
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
egammaTrackToolsConfig.egammaTrkRefitterToolCfg
def egammaTrkRefitterToolCfg(flags, name='GSFRefitterTool', **kwargs)
Definition: egammaTrackToolsConfig.py:35