ATLAS Offline Software
Loading...
Searching...
No Matches
TrkEventCnvToolsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
6def InDetEventCnvToolCfg(flags, name='InDetEventCnvTool', **kwargs):
7 acc = ComponentAccumulator()
8
9 # For condition data
10 if flags.Detector.GeometryPixel:
11 from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
12 acc.merge(PixelReadoutGeometryCfg(flags))
13 if flags.Detector.GeometrySCT:
14 from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
15 acc.merge(SCT_ReadoutGeometryCfg(flags))
16 if flags.Detector.GeometryTRT:
17 from TRT_GeoModel.TRT_GeoModelConfig import TRT_ReadoutGeometryCfg
18 acc.merge(TRT_ReadoutGeometryCfg(flags))
19
20 acc.setPrivateTools(CompFactory.InDet.InDetEventCnvTool(name, **kwargs))
21 return acc
22
23def ITkEventCnvToolCfg(flags, name='ITkEventCnvTool', **kwargs):
24 acc = ComponentAccumulator()
25
26 # For condition data
27 if flags.Detector.GeometryITkPixel:
28 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
29 acc.merge(ITkPixelReadoutGeometryCfg(flags))
30 if flags.Detector.GeometryITkStrip:
31 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
32 acc.merge(ITkStripReadoutGeometryCfg(flags))
33
34 kwargs.setdefault("PixelClusterContainer", "ITkPixelClusters")
35 kwargs.setdefault("SCT_ClusterContainer", "ITkStripClusters")
36 kwargs.setdefault("TRT_DriftCircleContainer", "")
37 kwargs.setdefault("PixelDetEleCollKey", "ITkPixelDetectorElementCollection")
38 kwargs.setdefault("SCTDetEleCollKey", "ITkStripDetectorElementCollection")
39 kwargs.setdefault("TRTDetEleContKey", "")
40
41 acc.setPrivateTools(CompFactory.InDet.InDetEventCnvTool(name, **kwargs))
42 return acc
43
44def MuonEventCnvToolCfg(flags, name='MuonEventCnvTool', **kwargs):
45 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
46 acc = MuonGeoModelCfg(flags)
47 kwargs.setdefault("FixTGCs", not flags.Muon.usePhaseIIGeoSetup)
48 acc.setPrivateTools(CompFactory.Muon.MuonEventCnvTool(name, **kwargs))
49 return acc
50
51def TrkEventCnvSuperToolCfg(flags, name='EventCnvSuperTool', **kwargs):
52 acc = ComponentAccumulator()
53
54 kwargs.setdefault("DoID", flags.Reco.EnableTracking)
55 kwargs.setdefault("DoMuons", flags.Detector.EnableMuon)
56 kwargs.setdefault("DoTrackOverlay",
57 (flags.Common.isOverlay or flags.Output.doWriteRDO) and \
58 flags.Overlay.doTrackOverlay)
59
60 if kwargs["DoID"] and "IdCnvTool" not in kwargs:
61 if flags.Detector.GeometryID:
62 IdCnvTool = acc.popToolsAndMerge(InDetEventCnvToolCfg(flags))
63 elif flags.Detector.GeometryITk:
64 IdCnvTool = acc.popToolsAndMerge(ITkEventCnvToolCfg(flags))
65 kwargs.setdefault("IdCnvTool", IdCnvTool)
66
67 if kwargs["DoMuons"] and "MuonCnvTool" not in kwargs:
68 kwargs.setdefault("MuonCnvTool", acc.popToolsAndMerge(
69 MuonEventCnvToolCfg(flags)))
70
71 acc.addPublicTool(CompFactory.Trk.EventCnvSuperTool(name, **kwargs))
72 return acc
73
74
MuonEventCnvToolCfg(flags, name='MuonEventCnvTool', **kwargs)
TrkEventCnvSuperToolCfg(flags, name='EventCnvSuperTool', **kwargs)
InDetEventCnvToolCfg(flags, name='InDetEventCnvTool', **kwargs)
ITkEventCnvToolCfg(flags, name='ITkEventCnvTool', **kwargs)