ATLAS Offline Software
TrkRIO_OnTrackCreatorConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 # Configuration of TrkRIO_OnTrackCreator package
4 # RIO (Reconstruction Input Objects) On Track (ROT)
5 # Represent clusters, drift circles (PrepRawData)
6 # with additonal detector specific calibration corrections.
7 
8 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
9 from AthenaConfiguration.ComponentFactory import CompFactory
10 from AthenaConfiguration.Enums import LHCPeriod
11 
12 
13 def InDetRotCreatorCfg(flags, name='InDetRotCreator', **kwargs):
14  if flags.Detector.GeometryITk:
15  name = name.replace("InDet", "ITk")
16  return ITkRotCreatorCfg(flags, name, **kwargs)
17 
18  acc = ComponentAccumulator()
19 
20  if 'ToolPixelCluster' not in kwargs:
21  if flags.Tracking.useBroadPixClusterErrors:
22  from InDetConfig.SiClusterOnTrackTool_PixelConfig import (
23  InDetBroadPixelClusterOnTrackToolCfg)
24  ToolPixelCluster = acc.popToolsAndMerge(
26  else:
27  from InDetConfig.SiClusterOnTrackTool_PixelConfig import (
28  InDetPixelClusterOnTrackToolCfg)
29  ToolPixelCluster = acc.popToolsAndMerge(
31  kwargs.setdefault("ToolPixelCluster", ToolPixelCluster)
32 
33  if 'ToolSCT_Cluster' not in kwargs:
34  if flags.Tracking.useBroadSCTClusterErrors:
35  from InDetConfig.SiClusterOnTrackTool_SCTStripConfig import (
36  InDetBroadSCT_ClusterOnTrackToolCfg)
37  ToolSCT_Cluster = acc.popToolsAndMerge(
39  else:
40  from InDetConfig.SiClusterOnTrackTool_SCTStripConfig import (
41  InDetSCT_ClusterOnTrackToolCfg)
42  ToolSCT_Cluster = acc.popToolsAndMerge(
44  kwargs.setdefault("ToolSCT_Cluster", ToolSCT_Cluster)
45 
46  if 'ToolTRT_DriftCircle' not in kwargs:
47  from InDetConfig.TRT_DriftCircleOnTrackToolConfig import (
48  TRT_DriftCircleOnTrackToolCfg)
49  kwargs.setdefault("ToolTRT_DriftCircle", acc.popToolsAndMerge(
51 
52  kwargs.setdefault('Mode', 'indet')
53 
54  acc.setPrivateTools(CompFactory.Trk.RIO_OnTrackCreator(name, **kwargs))
55  return acc
56 
57 
58 def InDetBroadRotCreatorCfg(flags, name='InDetBroadInDetRotCreator', **kwargs):
59  acc = ComponentAccumulator()
60 
61  if 'ToolPixelCluster' not in kwargs:
62  from InDetConfig.SiClusterOnTrackTool_PixelConfig import (
63  InDetBroadPixelClusterOnTrackToolCfg)
64  kwargs.setdefault('ToolPixelCluster', acc.popToolsAndMerge(
66 
67  if 'ToolSCT_Cluster' not in kwargs:
68  from InDetConfig.SiClusterOnTrackTool_SCTStripConfig import (
69  InDetBroadSCT_ClusterOnTrackToolCfg)
70  kwargs.setdefault('ToolSCT_Cluster', acc.popToolsAndMerge(
72 
73  if flags.Detector.EnableTRT and 'ToolTRT_DriftCircle' not in kwargs:
74  from InDetConfig.TRT_DriftCircleOnTrackToolConfig import (
75  TRT_DriftCircleOnTrackNoDriftTimeToolCfg)
76  kwargs.setdefault('ToolTRT_DriftCircle', acc.popToolsAndMerge(
78 
79  acc.setPrivateTools(acc.popToolsAndMerge(
80  InDetRotCreatorCfg(flags, name, **kwargs)))
81  return acc
82 
83 
84 def InDetRefitRotCreatorCfg(flags, name='InDetRefitRotCreator', **kwargs):
85  acc = ComponentAccumulator()
86 
87  if flags.Detector.EnableTRT:
88  if 'ToolTRT_DriftCircle' not in kwargs:
89  from InDetConfig.TRT_DriftCircleOnTrackToolConfig import (
90  TRT_DriftCircleOnTrackUniversalToolCfg)
91  kwargs.setdefault("ToolTRT_DriftCircle", acc.popToolsAndMerge(
93 
94  acc.setPrivateTools(acc.popToolsAndMerge(
95  InDetRotCreatorCfg(flags, name, **kwargs)))
96  return acc
97 
98 
99 def InDetRotCreatorDigitalCfg(flags, name='InDetRotCreatorDigital', **kwargs):
100  acc = ComponentAccumulator()
101 
102  if 'ToolPixelCluster' not in kwargs:
103  from InDetConfig.SiClusterOnTrackTool_PixelConfig import (
104  InDetPixelClusterOnTrackToolDigitalCfg)
105  kwargs.setdefault('ToolPixelCluster', acc.popToolsAndMerge(
107 
108  acc.setPrivateTools(acc.popToolsAndMerge(
109  InDetRotCreatorCfg(flags, name, **kwargs)))
110  return acc
111 
112 
113 def TrigRotCreatorCfg(flags, name='InDetTrigRotCreator', **kwargs):
114  acc = ComponentAccumulator()
115 
116  if 'ToolPixelCluster' not in kwargs:
117  from InDetConfig.SiClusterOnTrackTool_PixelConfig import (
118  TrigPixelClusterOnTrackToolBaseCfg)
119  kwargs.setdefault("ToolPixelCluster", acc.popToolsAndMerge(
121 
122  if 'ToolSCT_Cluster' not in kwargs:
123  from InDetConfig.SiClusterOnTrackTool_SCTStripConfig import (
124  InDetSCT_ClusterOnTrackToolCfg)
125  kwargs.setdefault("ToolSCT_Cluster", acc.popToolsAndMerge(
127 
128  kwargs.setdefault('Mode', 'indet')
129 
130  acc.setPrivateTools(CompFactory.Trk.RIO_OnTrackCreator(name, **kwargs))
131  return acc
132 
133 
134 def ITkRotCreatorCfg(flags, name='ITkRotCreator', **kwargs):
135  acc = ComponentAccumulator()
136 
137  if 'ToolPixelCluster' not in kwargs:
138  from InDetConfig.SiClusterOnTrackTool_PixelConfig import (
139  ITkPixelClusterOnTrackToolCfg)
140  kwargs.setdefault("ToolPixelCluster", acc.popToolsAndMerge(
142 
143  if 'ToolSCT_Cluster' not in kwargs:
144  from InDetConfig.SiClusterOnTrackTool_SCTStripConfig import (
145  ITkStripClusterOnTrackToolCfg)
146  kwargs.setdefault("ToolSCT_Cluster", acc.popToolsAndMerge(
148 
149  kwargs.setdefault("ToolTRT_DriftCircle", None)
150  kwargs.setdefault('Mode', 'indet')
151 
152  acc.setPrivateTools(CompFactory.Trk.RIO_OnTrackCreator(name, **kwargs))
153  return acc
154 
155 
156 def ITkBroadRotCreatorCfg(flags, name='ITkBroadRotCreator', **kwargs):
157  acc = ComponentAccumulator()
158 
159  if 'ToolPixelCluster' not in kwargs:
160  from InDetConfig.SiClusterOnTrackTool_PixelConfig import (
161  ITkBroadPixelClusterOnTrackToolCfg)
162  kwargs.setdefault('ToolPixelCluster', acc.popToolsAndMerge(
164 
165  if 'ToolSCT_Cluster' not in kwargs:
166  from InDetConfig.SiClusterOnTrackTool_SCTStripConfig import (
167  ITkBroadStripClusterOnTrackToolCfg)
168  kwargs.setdefault('ToolSCT_Cluster', acc.popToolsAndMerge(
170 
171  acc.setPrivateTools(acc.popToolsAndMerge(
172  ITkRotCreatorCfg(flags, name, **kwargs)))
173  return acc
174 
175 
176 def MuonRotCreatorCfg(flags, name="MuonRotCreator", **kwargs):
177  result = ComponentAccumulator()
178 
179  from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import (
180  MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg)
181  mdt_rot_creator = result.popToolsAndMerge(
183  cluster_rot_creator = result.popToolsAndMerge(
185 
186  kwargs.setdefault("ToolMuonDriftCircle", mdt_rot_creator)
187  kwargs.setdefault("ToolMuonCluster", cluster_rot_creator)
188  kwargs.setdefault("ToolPixelCluster", None)
189  kwargs.setdefault("ToolSCT_Cluster", None)
190  kwargs.setdefault("ToolTRT_DriftCircle", None)
191  kwargs.setdefault("Mode", 'muon')
192 
193  result.setPrivateTools(CompFactory.Trk.RIO_OnTrackCreator(name, **kwargs))
194  return result
195 
196 
198  name='RIO_OnTrackErrorScalingCondAlg',
199  **kwargs):
200  acc = ComponentAccumulator()
201 
202  if flags.GeoModel.Run is LHCPeriod.Run1:
203  error_scaling_type = ["PixelRIO_OnTrackErrorScalingRun1"]
204  error_scaling_outkey = ["/Indet/TrkErrorScalingPixel"]
205  else: # Run 2 and 3
206  error_scaling_type = ["PixelRIO_OnTrackErrorScaling"]
207  error_scaling_outkey = ["/Indet/TrkErrorScalingPixel"]
208 
209  error_scaling_type += ["SCTRIO_OnTrackErrorScaling"]
210  error_scaling_outkey += ["/Indet/TrkErrorScalingSCT"]
211 
212  # TODO: cover Run 4 and beyond
213 
214  if flags.GeoModel.Run <= LHCPeriod.Run3:
215  error_scaling_type += ["TRTRIO_OnTrackErrorScaling"]
216  error_scaling_outkey += ["/Indet/TrkErrorScalingTRT"]
217 
218  from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
219  acc.merge(addFoldersSplitOnline(flags,
220  'INDET',
221  '/Indet/Onl/TrkErrorScaling',
222  '/Indet/TrkErrorScaling',
223  className="CondAttrListCollection"))
224 
225  kwargs.setdefault("ReadKey", "/Indet/TrkErrorScaling")
226  kwargs.setdefault("ErrorScalingType", error_scaling_type)
227  kwargs.setdefault("OutKeys", error_scaling_outkey)
228 
229  acc.addCondAlgo(CompFactory.RIO_OnTrackErrorScalingCondAlg(name, **kwargs))
230  return acc
python.TRT_DriftCircleOnTrackToolConfig.TRT_DriftCircleOnTrackToolCfg
def TRT_DriftCircleOnTrackToolCfg(flags, name='TRT_DriftCircleOnTrackTool', **kwargs)
Definition: TRT_DriftCircleOnTrackToolConfig.py:12
python.TrkRIO_OnTrackCreatorConfig.ITkRotCreatorCfg
def ITkRotCreatorCfg(flags, name='ITkRotCreator', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:134
python.TrkRIO_OnTrackCreatorConfig.InDetBroadRotCreatorCfg
def InDetBroadRotCreatorCfg(flags, name='InDetBroadInDetRotCreator', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:58
python.TrkRIO_OnTrackCreatorConfig.TrigRotCreatorCfg
def TrigRotCreatorCfg(flags, name='InDetTrigRotCreator', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:113
python.SiClusterOnTrackTool_SCTStripConfig.InDetBroadSCT_ClusterOnTrackToolCfg
def InDetBroadSCT_ClusterOnTrackToolCfg(flags, name='InDetBroadSCT_ClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_SCTStripConfig.py:21
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TrkRIO_OnTrackCreatorConfig.InDetRotCreatorCfg
def InDetRotCreatorCfg(flags, name='InDetRotCreator', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:13
python.SiClusterOnTrackTool_PixelConfig.ITkBroadPixelClusterOnTrackToolCfg
def ITkBroadPixelClusterOnTrackToolCfg(flags, name='ITkBroadPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:196
python.TRT_DriftCircleOnTrackToolConfig.TRT_DriftCircleOnTrackUniversalToolCfg
def TRT_DriftCircleOnTrackUniversalToolCfg(flags, name='InDetTRT_RefitRotCreator', **kwargs)
Definition: TRT_DriftCircleOnTrackToolConfig.py:29
python.SiClusterOnTrackTool_SCTStripConfig.ITkStripClusterOnTrackToolCfg
def ITkStripClusterOnTrackToolCfg(flags, name='ITkStrip_ClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_SCTStripConfig.py:25
python.TrkRIO_OnTrackCreatorConfig.InDetRefitRotCreatorCfg
def InDetRefitRotCreatorCfg(flags, name='InDetRefitRotCreator', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:84
python.TrkRIO_OnTrackCreatorConfig.InDetRotCreatorDigitalCfg
def InDetRotCreatorDigitalCfg(flags, name='InDetRotCreatorDigital', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:99
python.SiClusterOnTrackTool_PixelConfig.InDetPixelClusterOnTrackToolCfg
def InDetPixelClusterOnTrackToolCfg(flags, name="InDetPixelClusterOnTrackTool", **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:84
python.SiClusterOnTrackTool_PixelConfig.InDetPixelClusterOnTrackToolDigitalCfg
def InDetPixelClusterOnTrackToolDigitalCfg(flags, name="InDetPixelClusterOnTrackToolDigital", **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:60
python.TRT_DriftCircleOnTrackToolConfig.TRT_DriftCircleOnTrackNoDriftTimeToolCfg
def TRT_DriftCircleOnTrackNoDriftTimeToolCfg(flags, name='TRT_DriftCircleOnTrackNoDriftTimeTool', **kwargs)
Definition: TRT_DriftCircleOnTrackToolConfig.py:7
python.IOVDbSvcConfig.addFoldersSplitOnline
def addFoldersSplitOnline(flags, detDb, onlineFolders, offlineFolders, className=None, extensible=False, addMCString='_OFL', splitMC=False, tag=None, forceDb=None, modifiers='')
Definition: IOVDbSvcConfig.py:153
python.MuonRIO_OnTrackCreatorToolConfig.MuonClusterOnTrackCreatorCfg
def MuonClusterOnTrackCreatorCfg(flags, name="MuonClusterOnTrackCreator", **kwargs)
Definition: MuonRIO_OnTrackCreatorToolConfig.py:96
python.MuonRIO_OnTrackCreatorToolConfig.MdtDriftCircleOnTrackCreatorCfg
def MdtDriftCircleOnTrackCreatorCfg(flags, name="MdtDriftCircleOnTrackCreator", **kwargs)
Definition: MuonRIO_OnTrackCreatorToolConfig.py:73
python.TrkRIO_OnTrackCreatorConfig.MuonRotCreatorCfg
def MuonRotCreatorCfg(flags, name="MuonRotCreator", **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:176
python.SiClusterOnTrackTool_SCTStripConfig.InDetSCT_ClusterOnTrackToolCfg
def InDetSCT_ClusterOnTrackToolCfg(flags, name='InDetSCT_ClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_SCTStripConfig.py:6
python.SiClusterOnTrackTool_PixelConfig.InDetBroadPixelClusterOnTrackToolCfg
def InDetBroadPixelClusterOnTrackToolCfg(flags, name='InDetBroadPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:92
python.SiClusterOnTrackTool_SCTStripConfig.ITkBroadStripClusterOnTrackToolCfg
def ITkBroadStripClusterOnTrackToolCfg(flags, name='ITkBroadStripClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_SCTStripConfig.py:34
python.TrkRIO_OnTrackCreatorConfig.RIO_OnTrackErrorScalingCondAlgCfg
def RIO_OnTrackErrorScalingCondAlgCfg(flags, name='RIO_OnTrackErrorScalingCondAlg', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:197
python.SiClusterOnTrackTool_PixelConfig.ITkPixelClusterOnTrackToolCfg
def ITkPixelClusterOnTrackToolCfg(flags, name='ITkPixelClusterOnTrackTool', **kwargs)
Definition: SiClusterOnTrackTool_PixelConfig.py:188
python.SiClusterOnTrackTool_PixelConfig.TrigPixelClusterOnTrackToolBaseCfg
def TrigPixelClusterOnTrackToolBaseCfg(flags, name="InDetTrigPixelClusterOnTrackTool", **kwargs)
InDet PixelClusterOnTrackTool trigger ###.
Definition: SiClusterOnTrackTool_PixelConfig.py:102
python.TrkRIO_OnTrackCreatorConfig.ITkBroadRotCreatorCfg
def ITkBroadRotCreatorCfg(flags, name='ITkBroadRotCreator', **kwargs)
Definition: TrkRIO_OnTrackCreatorConfig.py:156