ATLAS Offline Software
Loading...
Searching...
No Matches
egammaRecBuilderConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3""" Instantiate egammaRecBuilder with default configuration
4"""
5
6from AthenaCommon.Logging import logging
7from AthenaConfiguration.ComponentFactory import CompFactory
8from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
9from egammaTools.EMTrackMatchBuilderConfig import EMTrackMatchBuilderCfg
10from egammaTools.EMConversionBuilderConfig import EMConversionBuilderCfg
11
12
14 flags,
15 name='egammaRecBuilder',
16 sequenceName = None,
17 **kwargs):
18
19 seqkw = {'sequence': sequenceName} if sequenceName else {}
20 acc = ComponentAccumulator (**seqkw)
21
22 kwargs.setdefault("doTrackMatching", flags.Egamma.doTracking)
23 kwargs.setdefault("doConversions", flags.Egamma.doConversionBuilding)
24
25 if "TrackMatchBuilderTool" not in kwargs:
26 emtrkmatch = EMTrackMatchBuilderCfg(flags)
27 kwargs["TrackMatchBuilderTool"] = acc.popToolsAndMerge(emtrkmatch)
28
29 if "ConversionBuilderTool" not in kwargs:
30 emcnv = EMConversionBuilderCfg(flags)
31 kwargs["ConversionBuilderTool"] = acc.popToolsAndMerge(emcnv)
32
33 kwargs.setdefault(
34 "egammaRecContainer",
35 flags.Egamma.Keys.Internal.EgammaRecs)
36 kwargs.setdefault(
37 "InputClusterContainerName",
38 flags.Egamma.Keys.Internal.EgammaTopoClusters)
39
40 egrecAlg = CompFactory.egammaRecBuilder(name, **kwargs)
41
42 acc.addEventAlgo(egrecAlg)
43 return acc
44
45
46if __name__ == "__main__":
47 from AthenaConfiguration.AllConfigFlags import initConfigFlags
48 from AthenaConfiguration.TestDefaults import defaultTestFiles
49 from AthenaConfiguration.ComponentAccumulator import printProperties
50 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
51 flags = initConfigFlags()
52 flags.Input.Files = defaultTestFiles.RDO_RUN2
53 flags.lock()
54
55 acc = MainServicesCfg(flags)
56 acc.merge(egammaRecBuilderCfg(flags))
57 mlog = logging.getLogger("egammaRecBuilderConfigTest")
58 mlog.info("Configuring egammaRecBuilder: ")
59 printProperties(mlog,
60 acc.getEventAlgo("egammaRecBuilder"),
61 nestLevel=1,
62 printDefaults=True)
63 with open("egammarecbuilder.pkl", "wb") as f:
64 acc.store(f)
egammaRecBuilderCfg(flags, name='egammaRecBuilder', sequenceName=None, **kwargs)