ATLAS Offline Software
InDetRetrieversConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory import CompFactory
4 from AthenaConfiguration.Enums import Format
5 
6 
7 def PixelClusterRetrieverCfg(flags, name="PixelClusterRetriever", **kwargs):
8  result = ComponentAccumulator()
9  if not flags.Input.isMC:
10  kwargs.setdefault("PixelTruthMap", "")
11  the_tool = CompFactory.JiveXML.PixelClusterRetriever(name, **kwargs)
12  result.addPublicTool(the_tool, primary=True)
13  return result
14 
15 
16 def SiClusterRetrieverCfg(flags, name="SiClusterRetriever", **kwargs):
17  result = ComponentAccumulator()
18  if not flags.Input.isMC:
19  kwargs.setdefault("SCT_TruthMap", "")
20  the_tool = CompFactory.JiveXML.SiClusterRetriever(name, **kwargs)
21  result.addPublicTool(the_tool, primary=True)
22  return result
23 
24 
25 def SiSpacePointRetrieverCfg(flags, name="SiSpacePointRetriever", **kwargs):
26  result = ComponentAccumulator()
27  if not flags.Input.isMC:
28  kwargs.setdefault("PRD_TruthPixel", "")
29  kwargs.setdefault("PRD_TruthSCT", "")
30  the_tool = CompFactory.JiveXML.SiSpacePointRetriever(name, **kwargs)
31  result.addPublicTool(the_tool, primary=True)
32  return result
33 
34 
35 def TRTRetrieverCfg(flags, name="TRTRetriever", **kwargs):
36  result = ComponentAccumulator()
37  if not flags.Input.isMC:
38  kwargs.setdefault("TRTTruthMap", "")
39  the_tool = CompFactory.JiveXML.TRTRetriever(name, **kwargs)
40  result.addPublicTool(the_tool, primary=True)
41  return result
42 
43 
44 def TrackRetrieverCfg(flags, name="TrackRetriever", **kwargs):
45  # Based on TrkJiveXML_DataTypes
46  result = ComponentAccumulator()
47  # FIXME - this is copied from TrkJiveXML_DataTypes.py, but we can do better
48  kwargs.setdefault("PriorityTrackCollection", "Tracks")
49  kwargs.setdefault(
50  "OtherTrackCollections",
51  [
52  "CombinedMuonTracks",
53  "MuonSpectrometerTracks",
54  "ConvertedStacoTracks",
55  "ConvertedMuIdCBTracks",
56  "CombinedInDetTracks",
57  "GSFTracks",
58  ],
59  )
60 
64  kwargs.setdefault("DoWriteResiduals", False)
65  the_tool = CompFactory.JiveXML.TrackRetriever(name, **kwargs)
66  result.addPublicTool(the_tool, primary=True)
67  return result
68 
69 
70 def VertexRetrieverCfg(flags, **kwargs):
71  result = ComponentAccumulator()
72  the_tool = CompFactory.JiveXML.VertexRetriever(name="VertexRetriever", **kwargs)
73  result.addPublicTool(the_tool, primary=True)
74  return result
75 
76 
77 def SegmentRetrieverCfg(flags, **kwargs):
78  result = ComponentAccumulator()
79  the_tool = CompFactory.JiveXML.SegmentRetriever(name="SegmentRetriever", **kwargs)
80  result.addPublicTool(the_tool, primary=True)
81  return result
82 
83 
84 def BeamSpotRetrieverCfg(flags, **kwargs):
85  result = ComponentAccumulator()
86  the_tool = CompFactory.JiveXML.BeamSpotRetriever(name="BeamSpotRetriever", **kwargs)
87  result.addPublicTool(the_tool, primary=True)
88  return result
89 
90 
91 def PixelRDORetrieverCfg(flags, **kwargs):
92  result = ComponentAccumulator()
93  the_tool = CompFactory.JiveXML.PixelRDORetriever(name="PixelRDORetriever", **kwargs)
94  result.addPublicTool(the_tool, primary=True)
95  return result
96 
97 
98 def SCTRDORetrieverCfg(flags, **kwargs):
99  result = ComponentAccumulator()
100  the_tool = CompFactory.JiveXML.SCTRDORetriever(name="SCTRDORetriever", **kwargs)
101  result.addPublicTool(the_tool, primary=True)
102  return result
103 
104 
106  result = ComponentAccumulator()
107  tools = []
108  # Do we need to add equivalent of InDetFlags.doSlimming=False (in JiveXML_RecEx_config.py)? If so, why?
109  # Following is based on InDetJiveXML_DataTypes.py and TrkJiveXML_DataTypes.py
110 
111  haveRDO = (
112  flags.Input.Format is Format.BS or "StreamRDO" in flags.Input.ProcessingTags
113  )
114 
115  if flags.Detector.EnablePixel and flags.Detector.GeometryPixel:
116  tools += [result.getPrimaryAndMerge(PixelClusterRetrieverCfg(flags))]
117  if haveRDO:
118  tools += [result.getPrimaryAndMerge(PixelRDORetrieverCfg(flags))]
119 
120  if flags.Detector.EnableID and flags.Detector.GeometryID and flags.Detector.EnablePixel and flags.Detector.GeometryPixel and flags.Detector.EnableSCT and flags.Detector.GeometrySCT:
121  tools += [result.getPrimaryAndMerge(SiClusterRetrieverCfg(flags))]
122  tools += [result.getPrimaryAndMerge(SiSpacePointRetrieverCfg(flags))]
123  tools += [result.getPrimaryAndMerge(SegmentRetrieverCfg(flags))]
124  tools += [result.getPrimaryAndMerge(VertexRetrieverCfg(flags))]
125  tools += [result.getPrimaryAndMerge(TrackRetrieverCfg(flags))]
126 
127  if flags.Detector.EnableTRT and flags.Detector.GeometryTRT:
128  tools += [result.getPrimaryAndMerge(TRTRetrieverCfg(flags))]
129 
130  if haveRDO and flags.Detector.EnableSCT and flags.Detector.GeometrySCT:
131  tools += [result.getPrimaryAndMerge(SCTRDORetrieverCfg(flags))]
132 
133  if not flags.OnlineEventDisplays.OfflineTest:
134  tools += [result.getPrimaryAndMerge(BeamSpotRetrieverCfg(flags))]
135 
136  return result, tools
InDetRetrieversConfig.SCTRDORetrieverCfg
def SCTRDORetrieverCfg(flags, **kwargs)
Definition: InDetRetrieversConfig.py:98
InDetRetrieversConfig.InDetRetrieversCfg
def InDetRetrieversCfg(flags)
Definition: InDetRetrieversConfig.py:105
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
InDetRetrieversConfig.BeamSpotRetrieverCfg
def BeamSpotRetrieverCfg(flags, **kwargs)
Definition: InDetRetrieversConfig.py:84
InDetRetrieversConfig.PixelRDORetrieverCfg
def PixelRDORetrieverCfg(flags, **kwargs)
Definition: InDetRetrieversConfig.py:91
InDetRetrieversConfig.TrackRetrieverCfg
def TrackRetrieverCfg(flags, name="TrackRetriever", **kwargs)
Definition: InDetRetrieversConfig.py:44
InDetRetrieversConfig.TRTRetrieverCfg
def TRTRetrieverCfg(flags, name="TRTRetriever", **kwargs)
Definition: InDetRetrieversConfig.py:35
InDetRetrieversConfig.PixelClusterRetrieverCfg
def PixelClusterRetrieverCfg(flags, name="PixelClusterRetriever", **kwargs)
Definition: InDetRetrieversConfig.py:7
InDetRetrieversConfig.SiSpacePointRetrieverCfg
def SiSpacePointRetrieverCfg(flags, name="SiSpacePointRetriever", **kwargs)
Definition: InDetRetrieversConfig.py:25
InDetRetrieversConfig.SegmentRetrieverCfg
def SegmentRetrieverCfg(flags, **kwargs)
Definition: InDetRetrieversConfig.py:77
InDetRetrieversConfig.SiClusterRetrieverCfg
def SiClusterRetrieverCfg(flags, name="SiClusterRetriever", **kwargs)
Definition: InDetRetrieversConfig.py:16
InDetRetrieversConfig.VertexRetrieverCfg
def VertexRetrieverCfg(flags, **kwargs)
Definition: InDetRetrieversConfig.py:70