ATLAS Offline Software
InDetToolsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 # ==============================================================================
4 # Provides configs for the tools used for building/thinning tracking related
5 # object containers and decorations in the DAODs
6 # ==============================================================================
7 
8 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
9 from AthenaConfiguration.ComponentFactory import CompFactory
10 from AthenaConfiguration.Enums import BeamType
11 from AthenaCommon.Constants import INFO
12 
13 # Track collection merger
14 def InDetLRTMergeCfg(flags, name="InDetLRTMerge", **kwargs):
15  acc = ComponentAccumulator()
16  alg = CompFactory.CP.TrackParticleMergerAlg(name, **kwargs)
17  kwargs.setdefault("TrackParticleLocation",
18  ["InDetTrackParticles", "InDetLargeD0TrackParticles"])
19  kwargs.setdefault("OutputTrackParticleLocation",
20  "InDetWithLRTTrackParticles")
21  kwargs.setdefault("CreateViewColllection", True)
22  acc.addEventAlgo(alg, primary=True)
23  return acc
24 
25 # Used in vertex fit track decorator
26 
27 
29  flags, name="UsedInVertexFitTrackDecorator", **kwargs):
30  """Configure the UsedInVertexFitTrackDecorator"""
31  acc = ComponentAccumulator()
32 
33  if "UsedInFitDecoratorTool" not in kwargs:
34  from InDetConfig.InDetUsedInFitTrackDecoratorToolConfig import (
35  InDetUsedInFitTrackDecoratorToolCfg)
36  kwargs.setdefault("UsedInFitDecoratorTool", acc.popToolsAndMerge(
38 
39  acc.addPublicTool(
40  CompFactory.DerivationFramework.UsedInVertexFitTrackDecorator(
41  name, **kwargs), primary=True)
42  return acc
43 
44 
45 
46 def HardScatterVertexDecoratorCfg(flags, name = "DFCommonHSDecorator", **kwargs):
47  """Configure the hard process vertex decorator"""
48  acc = ComponentAccumulator()
49  from InDetConfig.InDetHardScatterSelectionToolConfig import InDetHardScatterSelectionToolCfg
50  kwargs.setdefault("HardScatterSelectionTool", acc.getPrimaryAndMerge(InDetHardScatterSelectionToolCfg(flags, name = "HSSelectionTool",
51  ReturnDeco = False)))
52  kwargs.setdefault("VertexContainerName", "PrimaryVertices")
53  kwargs.setdefault("HardScatterDecoName", "hardScatterVertexLink")
54  the_tool = CompFactory.DerivationFramework.HardScatterVertexDecorator(name = "HardScatterDecorTool", **kwargs)
55  acc.addPublicTool(the_tool, primary=True)
56  the_alg = CompFactory.DerivationFramework.CommonAugmentation(name, AugmentationTools=[the_tool])
57  acc.addEventAlgo(the_alg)
58  return acc
59 
60 # TrackStateOnSurface decorator
61 
62 def TrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs):
63  """Configure the TSOS decorator"""
64  acc = ComponentAccumulator()
65 
66  # To produce SCT_DetectorElementCollection
67  from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
68  acc.merge(SCT_ReadoutGeometryCfg(flags))
69 
70  kwargs.setdefault("DecorationPrefix", "notSet")
71 
72  if "TrackExtrapolator" not in kwargs:
73  from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
74  kwargs.setdefault("TrackExtrapolator", acc.addPublicTool(
75  acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags))))
76 
77  if "HoleSearch" not in kwargs:
78  from InDetConfig.InDetTrackHoleSearchConfig import (
79  InDetTrackHoleSearchToolCfg)
80  kwargs.setdefault("HoleSearch", acc.addPublicTool(
81  acc.popToolsAndMerge(InDetTrackHoleSearchToolCfg(flags))))
82 
83  if "ResidualPullCalculator" not in kwargs:
84  from TrkConfig.TrkResidualPullCalculatorConfig import (
85  ResidualPullCalculatorCfg)
86  kwargs.setdefault("ResidualPullCalculator", acc.addPublicTool(
87  acc.popToolsAndMerge(ResidualPullCalculatorCfg(flags))))
88 
89  kwargs.setdefault("IsSimulation", flags.Input.isMC)
90  kwargs.setdefault("StorePixel", flags.Tracking.writeExtendedSi_PRDInfo)
91  kwargs.setdefault("StoreSCT", flags.Tracking.writeExtendedSi_PRDInfo)
92  kwargs.setdefault("StoreTRT", flags.Tracking.writeExtendedTRT_PRDInfo)
93  kwargs.setdefault("AddExtraEventInfo", flags.Beam.Type is BeamType.Cosmics)
94 
95  if kwargs["StoreTRT"] and "TRT_ToT_dEdx" not in kwargs:
96  from InDetConfig.TRT_ElectronPidToolsConfig import TRT_dEdxToolCfg
97  kwargs.setdefault("TRT_ToT_dEdx", acc.addPublicTool(acc.popToolsAndMerge(TRT_dEdxToolCfg(flags))))
98 
99  kwargs.setdefault("DecorationPrefix", "")
100  kwargs.setdefault("PRDtoTrackMap", "PRDtoTrackMapMerge_CombinedInDetTracks")
101 
102  acc.addPublicTool(
103  CompFactory.DerivationFramework.TrackStateOnSurfaceDecorator(
104  name, **kwargs), primary=True)
105  return acc
106 
107 def TSOS_CommonKernelCfg(flags, name="TSOS_CommonKernel",
108  listOfExtensions=[]):
109  acc = ComponentAccumulator()
110 
111  listOfAugmTools = []
112  for extension in listOfExtensions:
113  TrackStateOnSurfaceDecorator = acc.getPrimaryAndMerge(
115  flags, name = f"{extension}TrackStateOnSurfaceDecorator",
116  ContainerName = f"InDet{extension}TrackParticles",
117  PixelMsosName = f"{extension}Pixel_MSOSs",
118  SctMsosName = f"{extension}SCT_MSOSs",
119  TrtMsosName = f"{extension}TRT_MSOSs"))
120  TrackStateOnSurfaceDecorator.DecorationPrefix = "Reco_"
121  listOfAugmTools.append(TrackStateOnSurfaceDecorator)
122 
123  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
124  name, AugmentationTools=listOfAugmTools))
125  return acc
126 
128  flags, name="DFTrackStateOnSurfaceDecorator", **kwargs):
129  kwargs.setdefault("StorePixel", flags.InDet.DAODStorePixel)
130  kwargs.setdefault("StoreSCT", flags.InDet.DAODStoreSCT)
131  kwargs.setdefault("StoreTRT", flags.InDet.DAODStoreTRT)
132  # never decorate EventInfo with TRTPhase, doubt this is useful for IDTIDE
133  kwargs.setdefault("AddExtraEventInfo", flags.InDet.DAODStoreExtra)
134  kwargs.setdefault("DecorationPrefix", "")
135  kwargs.setdefault("PRDtoTrackMap", "")
136  kwargs.setdefault("OutputLevel", INFO)
137  return TrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
138 
139 def DFInDetTSOSKernelCfg(flags, name='DFInDetTSOSKernel'):
140  acc = ComponentAccumulator()
141 
142  # ====================================================================
143  # AUGMENTATION TOOLS
144  # ====================================================================
145  tsos_augmentationTools = []
146 
147  DFTSOS = acc.getPrimaryAndMerge(DFTrackStateOnSurfaceDecoratorCfg(flags))
148  tsos_augmentationTools.append(DFTSOS)
149 
150  # shared between IDTIDE and IDTRKVALID
151  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
152  name,
153  AugmentationTools=tsos_augmentationTools,
154  ThinningTools=[],
155  OutputLevel=INFO))
156  return acc
157 
159  flags, name="ObserverTrackStateOnSurfaceDecorator", **kwargs):
160  kwargs.setdefault("ContainerName", "InDetObservedTrackParticles")
161  kwargs.setdefault("DecorationPrefix", "ObservedTrack_")
162  kwargs.setdefault("PixelMsosName", "ObservedTrack_Pixel_MSOSs")
163  kwargs.setdefault("SctMsosName", "ObservedTrack_SCT_MSOSs")
164  kwargs.setdefault("TrtMsosName", "ObservedTrack_TRT_MSOSs")
165  kwargs.setdefault("AddPRD", True)
166  kwargs.setdefault("StoreHoles", False)
167  return TrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
168 
169 def ObserverTSOS_CommonKernelCfg(flags, name="ObserverTSOS_CommonKernel"):
170  acc = ComponentAccumulator()
171  ObserverTrackStateOnSurfaceDecorator = acc.getPrimaryAndMerge(
173  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
174  name, AugmentationTools=[ObserverTrackStateOnSurfaceDecorator]))
175  return acc
176 
178  flags, name="PseudoTrackStateOnSurfaceDecorator", **kwargs):
179  kwargs.setdefault("ContainerName", "InDetPseudoTrackParticles")
180  kwargs.setdefault("DecorationPrefix", "Pseudo_")
181  kwargs.setdefault("PixelMsosName", "Pseudo_Pixel_MSOSs")
182  kwargs.setdefault("SctMsosName", "Pseudo_SCT_MSOSs")
183  kwargs.setdefault("TrtMsosName", "Pseudo_TRT_MSOSs")
184  kwargs.setdefault("AddPRD", True)
185  kwargs.setdefault("StoreHoles", False)
186  return TrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
187 
188 def PseudoTSOS_CommonKernelCfg(flags, name="PseudoTSOS_CommonKernel"):
189  acc = ComponentAccumulator()
190  PseudoTrackStateOnSurfaceDecorator = acc.getPrimaryAndMerge(
192  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
193  name, AugmentationTools=[PseudoTrackStateOnSurfaceDecorator]))
194  return acc
195 
197  flags, name="SiSPTrackStateOnSurfaceDecorator", **kwargs):
198  kwargs.setdefault("ContainerName", "SiSPSeededTracksTrackParticles")
199  kwargs.setdefault("DecorationPrefix", "SiSP_")
200  kwargs.setdefault("PixelMsosName", "SiSP_Pixel_MSOSs")
201  kwargs.setdefault("SctMsosName", "SiSP_SCT_MSOSs")
202  kwargs.setdefault("TrtMsosName", "SiSP_TRT_MSOSs")
203  kwargs.setdefault("AddPRD", True)
204  kwargs.setdefault("StoreHoles", False)
205  return TrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
206 
207 def SiSPTSOS_CommonKernelCfg(flags, name="SiSPTSOS_CommonKernel",
208  listOfExtensions=[]):
209  acc = ComponentAccumulator()
210 
211  listOfAugmTools = []
212  for extension in listOfExtensions:
213  SiSPTrackStateOnSurfaceDecorator = acc.getPrimaryAndMerge(
215  flags, name = f"SiSP{extension}TrackStateOnSurfaceDecorator",
216  ContainerName = f"SiSPSeededTracks{extension}TrackParticles",
217  PixelMsosName = f"SiSP{extension}_Pixel_MSOSs",
218  SctMsosName = f"SiSP{extension}_SCT_MSOSs",
219  TrtMsosName = f"SiSP{extension}_TRT_MSOSs"))
220  listOfAugmTools.append(SiSPTrackStateOnSurfaceDecorator)
221 
222  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
223  name, AugmentationTools=listOfAugmTools))
224  return acc
225 
227  flags, name="GSFTrackStateOnSurfaceDecorator", **kwargs):
228  kwargs.setdefault("ContainerName", "GSFTrackParticles")
229  kwargs.setdefault("DecorationPrefix", "GSF_")
230  kwargs.setdefault("PixelMsosName", "GSF_Pixel_MSOSs")
231  kwargs.setdefault("SctMsosName", "GSF_SCT_MSOSs")
232  kwargs.setdefault("TrtMsosName", "GSF_TRT_MSOSs")
233  kwargs.setdefault("PRDtoTrackMap", "")
234  return TrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
235 
236 def GSFTSOS_CommonKernelCfg(flags, name="GSFTSOS_CommonKernel"):
237  if flags.Detector.GeometryITk:
238  return ITkGSFTSOS_CommonKernelCfg(flags)
239  acc = ComponentAccumulator()
240  GSFTrackStateOnSurfaceDecorator = acc.getPrimaryAndMerge(
242  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
243  name, AugmentationTools=[GSFTrackStateOnSurfaceDecorator]))
244  return acc
245 
247  flags, name="TrackStateOnSurfaceDecorator", **kwargs):
248  """Configure the TSOS decorator"""
249  # To produce ITkStripDetectorElementCollection
250  from StripGeoModelXml.ITkStripGeoModelConfig import (
251  ITkStripReadoutGeometryCfg)
252  acc = ITkStripReadoutGeometryCfg(flags)
253 
254  from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
255  kwargs.setdefault("TrackExtrapolator", acc.addPublicTool(acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags))))
256 
257  from InDetConfig.InDetTrackHoleSearchConfig import (
258  ITkTrackHoleSearchToolCfg)
259  kwargs.setdefault("HoleSearch", acc.addPublicTool(acc.popToolsAndMerge(ITkTrackHoleSearchToolCfg(flags))))
260 
261  from TrkConfig.TrkResidualPullCalculatorConfig import (
262  ResidualPullCalculatorCfg)
263  kwargs.setdefault("ResidualPullCalculator", acc.addPublicTool(
264  acc.popToolsAndMerge(ResidualPullCalculatorCfg(flags))))
265 
266  kwargs.setdefault("DecorationPrefix", "")
267  kwargs.setdefault("PixelMapName", "ITkPixelClustersOffsets")
268  kwargs.setdefault("SctMapName", "ITkStripClustersOffsets")
269  kwargs.setdefault("PixelClustersName", "ITkPixelClusters")
270  kwargs.setdefault("SctClustersName", "ITkStripClusters")
271  kwargs.setdefault("PRDtoTrackMap", "ITkPRDtoTrackMapMerge_CombinedITkTracks")
272  kwargs.setdefault("PixelMsosName", "ITkPixelMSOSs")
273  kwargs.setdefault("SctMsosName", "ITkStripMSOSs")
274  kwargs.setdefault("SCTDetEleCollKey", "ITkStripDetectorElementCollection")
275 
276  acc.addPublicTool(
277  CompFactory.DerivationFramework.TrackStateOnSurfaceDecorator(
278  name, **kwargs), primary=True)
279  return acc
280 
281 def ITkTSOS_CommonKernelCfg(flags, name="ITkTSOS_CommonKernel"):
282  acc = ComponentAccumulator()
283  ITkTrackStateOnSurfaceDecorator = acc.getPrimaryAndMerge(
285  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
286  name, AugmentationTools=[ITkTrackStateOnSurfaceDecorator]))
287  return acc
288 
290  flags, name="DFITkTrackStateOnSurfaceDecorator", **kwargs):
291  kwargs.setdefault("StorePixel", flags.ITk.DAODStorePixel)
292  kwargs.setdefault("StoreSCT", flags.ITk.DAODStoreStrip)
293  kwargs.setdefault("DecorationPrefix", "")
294  kwargs.setdefault("PRDtoTrackMap", "")
295  kwargs.setdefault("OutputLevel", INFO)
296  return ITkTrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
297 
298 def DFITkTSOSKernelCfg(flags, name='DFITkTSOSKernel'):
299  acc = ComponentAccumulator()
300 
301  # ====================================================================
302  # AUGMENTATION TOOLS
303  # ====================================================================
304  tsos_augmentationTools = []
305 
306  DFTSOS = acc.getPrimaryAndMerge(DFITkTrackStateOnSurfaceDecoratorCfg(flags))
307  tsos_augmentationTools.append(DFTSOS)
308 
309  # shared between IDTIDE and IDTRKVALID
310  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
311  name,
312  AugmentationTools=tsos_augmentationTools,
313  ThinningTools=[],
314  OutputLevel=INFO))
315  return acc
316 
318  flags, name="SiSPTrackStateOnSurfaceDecorator", **kwargs):
319  kwargs.setdefault("ContainerName", "SiSPSeededTracksTrackParticles")
320  kwargs.setdefault("DecorationPrefix", "SiSP_")
321  kwargs.setdefault("PixelMsosName", "SiSP_ITkPixel_MSOSs")
322  kwargs.setdefault("SctMsosName", "SiSP_ITkStrip_MSOSs")
323  kwargs.setdefault("AddPRD", True)
324  kwargs.setdefault("StoreHoles", False)
325  return ITkTrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
326 
327 def ITkSiSPTSOS_CommonKernelCfg(flags, name="ITkSiSPTSOS_CommonKernel",
328  listOfExtensions=[]):
329  acc = ComponentAccumulator()
330  listOfAugmTools = []
331  for extension in listOfExtensions:
332  ITkSiSPTrackStateOnSurfaceDecorator = acc.getPrimaryAndMerge(
334  flags, name = f"SiSP{extension}TrackStateOnSurfaceDecorator",
335  ContainerName = f"SiSPSeededTracks{extension}TrackParticles",
336  PixelMsosName = f"SiSP{extension}_ITkPixel_MSOSs",
337  SctMsosName = f"SiSP{extension}_ITkStrip_MSOSs"))
338  listOfAugmTools.append(ITkSiSPTrackStateOnSurfaceDecorator)
339 
340  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
341  name, AugmentationTools=listOfAugmTools))
342  return acc
343 
345  flags, name="ITkGSFTrackStateOnSurfaceDecorator", **kwargs):
346  kwargs.setdefault("ContainerName", "GSFTrackParticles")
347  kwargs.setdefault("DecorationPrefix", "GSF_")
348  kwargs.setdefault("PixelMsosName", "GSF_ITkPixel_MSOSs")
349  kwargs.setdefault("SctMsosName", "GSF_ITkStrip_MSOSs")
350  kwargs.setdefault("TrtMsosName", "")
351  kwargs.setdefault("PRDtoTrackMap", "")
352  return ITkTrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
353 
354 def ITkGSFTSOS_CommonKernelCfg(flags, name="ITkGSFTSOS_CommonKernel"):
355  acc = ComponentAccumulator()
356  GSFTrackStateOnSurfaceDecorator = acc.getPrimaryAndMerge(
358  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
359  name, AugmentationTools=[GSFTrackStateOnSurfaceDecorator]))
360  return acc
361 
362 # Expression of Z0 at the primary vertex
363 
364 
365 def TrackParametersAtPVCfg(flags, name, **kwargs):
366  """Configure the TrackParametersAtPV tool"""
367  acc = ComponentAccumulator()
368  acc.addPublicTool(CompFactory.DerivationFramework.TrackParametersAtPV(
369  name, **kwargs), primary=True)
370  return acc
371 
372 # Pseudotrack selector
373 
374 
375 def PseudoTrackSelectorCfg(flags, name, **kwargs):
376  """Configure the pseudotrack selector"""
377  acc = ComponentAccumulator()
378 
379  if "trackTruthOriginTool" not in kwargs:
380  from InDetTrackSystematicsTools.InDetTrackSystematicsToolsConfig import InDetTrackTruthOriginToolCfg
381  kwargs.setdefault("trackTruthOriginTool", acc.popToolsAndMerge(
383 
384  acc.addPublicTool(
385  CompFactory.DerivationFramework.PseudoTrackSelector(
386  name, **kwargs), primary=True)
387  return acc
388 
389 # Tool for decorating tracks with the outcome of the track selector tool
390 
391 
393  flags, name, CutLevel="TightPrimary", **kwargs):
394  """Configure the InDetTrackSelectionToolWrapper"""
395  acc = ComponentAccumulator()
396 
397  if "TrackSelectionTool" not in kwargs:
398  from InDetConfig.InDetTrackSelectionToolConfig import (
399  InDetTrackSelectionToolCfg)
400  kwargs.setdefault("TrackSelectionTool", acc.popToolsAndMerge(
402  flags, name="InDetTrackSelectionTool_"+CutLevel,
403  CutLevel=CutLevel)))
404 
405  acc.addPublicTool(
406  CompFactory.DerivationFramework.InDetTrackSelectionToolWrapper(
407  name, **kwargs), primary=True)
408  return acc
409 
410 # Tool for decorating the track and calo isolation
411 
412 
413 def IsolationTrackDecoratorCfg(flags, name, **kwargs):
414  """Confiure the isolation track decorator tool"""
415  acc = ComponentAccumulator()
416  IsolationTrackDecorator = CompFactory.DerivationFramework.IsolationTrackDecorator
417  acc.addPublicTool(IsolationTrackDecorator(name, **kwargs),
418  primary = True)
419  return acc
420 
421 # Tool for thinning TrackParticle containers via string selection
422 
423 
424 def TrackParticleThinningCfg(flags, name, **kwargs):
425  """Configure the TrackParticleThining tool"""
426  if flags.Detector.GeometryITk:
427  return ITkTrackParticleThinningCfg(flags, name, **kwargs)
428 
429  # To produce SCT_DetectorElementCollection
430  from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
431  acc = SCT_ReadoutGeometryCfg(flags)
432 
433  acc.addPublicTool(CompFactory.DerivationFramework.TrackParticleThinning(
434  name, **kwargs), primary=True)
435  return acc
436 
437 def IDTIDEThinningToolCfg(flags, name="IDTIDEThinningTool", **kwargs):
438  if not flags.Detector.EnablePixel:
439  kwargs.setdefault("InDetTrackStatesPixKey", "")
440  kwargs.setdefault("InDetTrackMeasurementsPixKey", "")
441  if not flags.Detector.EnableSCT:
442  kwargs.setdefault("InDetTrackStatesSctKey", "")
443  kwargs.setdefault("InDetTrackMeasurementsSctKey", "")
444  if not flags.Detector.EnableTRT:
445  kwargs.setdefault("InDetTrackStatesTrtKey", "")
446  kwargs.setdefault("InDetTrackMeasurementsTrtKey", "")
447 
448  kwargs.setdefault("SelectionString", "abs(IDTIDEInDetTrackZ0AtPV) < 5.0")
449  # If true, Complains about missing PixelMSOSs
450  kwargs.setdefault("ThinHitsOnTrack", False)
451 
452  from DerivationFrameworkInDet.InDetToolsConfig import (
453  TrackParticleThinningCfg)
454  return TrackParticleThinningCfg(flags, name, **kwargs)
455 
456 def ITkTrackParticleThinningCfg(flags, name, **kwargs):
457  """Configure the TrackParticleThining tool"""
458  # To produce ITkStripDetectorElementCollection
459  from StripGeoModelXml.ITkStripGeoModelConfig import (
460  ITkStripReadoutGeometryCfg)
461  acc = ITkStripReadoutGeometryCfg(flags)
462 
463  kwargs.setdefault("InDetTrackStatesPixKey", "ITkPixelMSOSs")
464  kwargs.setdefault("InDetTrackMeasurementsPixKey", "ITkPixelClusters")
465  kwargs.setdefault("InDetTrackStatesSctKey", "ITkStripMSOSs")
466  kwargs.setdefault("InDetTrackMeasurementsSctKey", "ITkStripClusters")
467  kwargs.setdefault("InDetTrackStatesTrtKey", "")
468  kwargs.setdefault("InDetTrackMeasurementsTrtKey", "")
469  kwargs.setdefault("SCTDetEleCollKey", "ITkStripDetectorElementCollection")
470 
471  acc.addPublicTool(CompFactory.DerivationFramework.TrackParticleThinning(
472  name, **kwargs), primary=True)
473  return acc
474 
475 def ITkTIDEThinningToolCfg(flags, name="ITkTIDEThinningTool", **kwargs):
476  if not flags.Detector.EnableITkPixel:
477  kwargs.setdefault("InDetTrackStatesPixKey", "")
478  kwargs.setdefault("InDetTrackMeasurementsPixKey", "")
479  if not flags.Detector.EnableITkStrip:
480  kwargs.setdefault("InDetTrackStatesSctKey", "")
481  kwargs.setdefault("InDetTrackMeasurementsSctKey", "")
482 
483  kwargs.setdefault("SelectionString", "abs(IDTIDEInDetTrackZ0AtPV) < 5.0")
484  # If true, Complains about missing PixelMSOSs
485  kwargs.setdefault("ThinHitsOnTrack", False)
486 
487  from DerivationFrameworkInDet.InDetToolsConfig import (
488  ITkTrackParticleThinningCfg)
489  return ITkTrackParticleThinningCfg(flags, name, **kwargs)
490 
491 # Tool for thinning TrackParticles that aren't associated with muons
492 
493 
494 def MuonTrackParticleThinningCfg(flags, name, **kwargs):
495  """Configure the MuonTrackParticleThinning tool"""
496  acc = ComponentAccumulator()
497  acc.addPublicTool(
498  CompFactory.DerivationFramework.MuonTrackParticleThinning(
499  name, **kwargs), primary=True)
500  return acc
501 
502 # Tool for thinning TrackParticles that aren't associated with taus
503 
504 
505 def TauTrackParticleThinningCfg(flags, name, **kwargs):
506  """Configure the TauTrackParticleThinning tool"""
507  acc = ComponentAccumulator()
508  acc.addPublicTool(CompFactory.DerivationFramework.TauTrackParticleThinning(
509  name, **kwargs), primary=True)
510  return acc
511 
512 # Tool for thinning TrackParticles that aren't associated high-pt di-taus
513 
514 
515 def DiTauTrackParticleThinningCfg(flags, name, **kwargs):
516  """Configure the DiTauTrackParticleThinning tool"""
517  acc = ComponentAccumulator()
518  acc.addPublicTool(
519  CompFactory.DerivationFramework.DiTauTrackParticleThinning(
520  name, **kwargs), primary=True)
521  return acc
522 
523 # Tool for thinning TrackParticles that are associated with jets
524 
525 
526 def JetTrackParticleThinningCfg(flags, name, **kwargs):
527  """Configure the JetTrackParticleThinning tool"""
528  acc = ComponentAccumulator()
529  acc.addPublicTool(CompFactory.DerivationFramework.JetTrackParticleThinning(
530  name, **kwargs), primary=True)
531  return acc
532 
533 
534 def TauJetLepRMParticleThinningCfg(flags, name, **kwargs):
535  """Configure the DiTauTrackParticleThinning tool"""
536  acc = ComponentAccumulator()
537  acc.addPublicTool(
538  CompFactory.DerivationFramework.TauJets_LepRMParticleThinning(
539  name, **kwargs), primary=True)
540  return acc
541 
542 # Tool for thinning TrackParticles that aren't associated with egamma objects
543 
544 
545 def EgammaTrackParticleThinningCfg(flags, name, **kwargs):
546  """Configure the EgammaTrackParticleThinning tool"""
547  acc = ComponentAccumulator()
548  acc.addPublicTool(
549  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
550  name, **kwargs), primary=True)
551  return acc
552 
553 # Track to vertex wrapper
554 
555 
556 def TrackToVertexWrapperCfg(flags, name, **kwargs):
557  """Configure the TrackToVertexWrapper tool"""
558  acc = ComponentAccumulator()
559 
560  if "TrackToVertexIPEstimator" not in kwargs:
561  from TrkConfig.TrkVertexFitterUtilsConfig import (
562  TrackToVertexIPEstimatorCfg)
563  kwargs.setdefault("TrackToVertexIPEstimator", acc.popToolsAndMerge(
565 
566  kwargs.setdefault("ContainerName", "InDetTrackParticles")
567 
568  acc.addPublicTool(CompFactory.DerivationFramework.TrackToVertexWrapper(
569  name, **kwargs), primary=True)
570  return acc
571 
572 
573 def IDTIDETruthThinningToolCfg(flags, name="IDTIDETruthThinningTool", **kwargs):
574  kwargs.setdefault("WritePartons", True)
575  kwargs.setdefault("WriteHadrons", True)
576  kwargs.setdefault("WriteBHadrons", True)
577  kwargs.setdefault("WriteGeant", True)
578  kwargs.setdefault("GeantPhotonPtThresh", 20000)
579  kwargs.setdefault("WriteTauHad", True)
580  kwargs.setdefault("PartonPtThresh", -1.0)
581  kwargs.setdefault("WriteBSM", True)
582  kwargs.setdefault("WriteBosons", True)
583  kwargs.setdefault("WriteBosonProducts", True)
584  kwargs.setdefault("WriteBSMProducts", True)
585  kwargs.setdefault("WriteTopAndDecays", True)
586  kwargs.setdefault("WriteEverything", True)
587  kwargs.setdefault("WriteAllLeptons", True)
588  kwargs.setdefault("WriteLeptonsNotFromHadrons", True)
589  kwargs.setdefault("WriteNotPhysical", True)
590  kwargs.setdefault("WriteFirstN", -1)
591  kwargs.setdefault("PreserveAncestors", True)
592  kwargs.setdefault("PreserveGeneratorDescendants", True)
593 
594  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import (
595  MenuTruthThinningCfg)
596  return MenuTruthThinningCfg(flags, name, **kwargs)
597 
599  flags, name="IDTRKVALIDTruthThinningTool", **kwargs):
600 
601  kwargs.setdefault("WriteEverything", True)
602  kwargs.setdefault("WriteFirstN", -1)
603  kwargs.setdefault("PreserveAncestors", True)
604  kwargs.setdefault("PreserveGeneratorDescendants", True)
605 
606  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import (
607  MenuTruthThinningCfg)
608  return MenuTruthThinningCfg(flags, name, **kwargs)
609 
611  flags, name="EventInfoBSErrDecorator", **kwargs):
612  acc = ComponentAccumulator()
613  acc.addPublicTool(CompFactory.DerivationFramework.EventInfoBSErrDecorator(
614  name, **kwargs), primary=True)
615  return acc
616 
618  flags, name="UnassociatedHitsGetterTool", **kwargs):
619  acc = ComponentAccumulator()
620 
621  if "AssociationTool" not in kwargs:
622  from InDetConfig.InDetAssociationToolsConfig import (
623  InDetPRDtoTrackMapToolGangedPixelsCfg)
624  kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(
626 
627  acc.setPrivateTools(
628  CompFactory.DerivationFramework.UnassociatedHitsGetterTool(name, **kwargs))
629  return acc
630 
632  flags, name="UnassociatedHitsDecorator", **kwargs):
633  acc = ComponentAccumulator()
634 
635  if "UnassociatedHitsGetter" not in kwargs:
636  from DerivationFrameworkInDet.InDetToolsConfig import (
637  UnassociatedHitsGetterToolCfg)
638  kwargs.setdefault("UnassociatedHitsGetter", acc.popToolsAndMerge(
640 
641  acc.addPublicTool(CompFactory.DerivationFramework.UnassociatedHitsDecorator(
642  name, **kwargs), primary=True)
643  return acc
python.InDetHardScatterSelectionToolConfig.InDetHardScatterSelectionToolCfg
def InDetHardScatterSelectionToolCfg(flags, name="InDetHardScatterSelectionTool", **kwargs)
Definition: InDetHardScatterSelectionToolConfig.py:7
python.TRT_ElectronPidToolsConfig.TRT_dEdxToolCfg
def TRT_dEdxToolCfg(flags, name="TRT_dEdxTool", **kwargs)
Definition: TRT_ElectronPidToolsConfig.py:68
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.InDetToolsConfig.InDetTrackSelectionToolWrapperCfg
def InDetTrackSelectionToolWrapperCfg(flags, name, CutLevel="TightPrimary", **kwargs)
Definition: InDetToolsConfig.py:392
python.InDetToolsConfig.ObserverTrackStateOnSurfaceDecoratorCfg
def ObserverTrackStateOnSurfaceDecoratorCfg(flags, name="ObserverTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:158
python.InDetToolsConfig.TauJetLepRMParticleThinningCfg
def TauJetLepRMParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:534
python.TruthDerivationToolsConfig.MenuTruthThinningCfg
def MenuTruthThinningCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:370
python.InDetToolsConfig.TrackParametersAtPVCfg
def TrackParametersAtPVCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:365
python.InDetToolsConfig.ITkTSOS_CommonKernelCfg
def ITkTSOS_CommonKernelCfg(flags, name="ITkTSOS_CommonKernel")
Definition: InDetToolsConfig.py:281
python.TrkVertexFitterUtilsConfig.TrackToVertexIPEstimatorCfg
def TrackToVertexIPEstimatorCfg(flags, name='TrackToVertexIPEstimator', **kwargs)
Definition: TrkVertexFitterUtilsConfig.py:48
python.InDetToolsConfig.TrackParticleThinningCfg
def TrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:424
python.InDetToolsConfig.UnassociatedHitsGetterToolCfg
def UnassociatedHitsGetterToolCfg(flags, name="UnassociatedHitsGetterTool", **kwargs)
Definition: InDetToolsConfig.py:617
python.InDetToolsConfig.DFInDetTSOSKernelCfg
def DFInDetTSOSKernelCfg(flags, name='DFInDetTSOSKernel')
Definition: InDetToolsConfig.py:139
python.InDetToolsConfig.DiTauTrackParticleThinningCfg
def DiTauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:515
python.InDetTrackSelectionToolConfig.InDetTrackSelectionToolCfg
def InDetTrackSelectionToolCfg(flags, name="InDetTrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:7
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
python.InDetToolsConfig.UnassociatedHitsDecoratorCfg
def UnassociatedHitsDecoratorCfg(flags, name="UnassociatedHitsDecorator", **kwargs)
Definition: InDetToolsConfig.py:631
python.InDetToolsConfig.ITkSiSPTSOS_CommonKernelCfg
def ITkSiSPTSOS_CommonKernelCfg(flags, name="ITkSiSPTSOS_CommonKernel", listOfExtensions=[])
Definition: InDetToolsConfig.py:327
python.InDetToolsConfig.ITkTrackStateOnSurfaceDecoratorCfg
def ITkTrackStateOnSurfaceDecoratorCfg(flags, name="TrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:246
python.InDetToolsConfig.TrackToVertexWrapperCfg
def TrackToVertexWrapperCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:556
python.InDetToolsConfig.GSFTSOS_CommonKernelCfg
def GSFTSOS_CommonKernelCfg(flags, name="GSFTSOS_CommonKernel")
Definition: InDetToolsConfig.py:236
python.InDetToolsConfig.IDTIDEThinningToolCfg
def IDTIDEThinningToolCfg(flags, name="IDTIDEThinningTool", **kwargs)
Definition: InDetToolsConfig.py:437
python.InDetAssociationToolsConfig.InDetPRDtoTrackMapToolGangedPixelsCfg
def InDetPRDtoTrackMapToolGangedPixelsCfg(flags, name='PRDtoTrackMapToolGangedPixels', **kwargs)
Definition: InDetAssociationToolsConfig.py:29
SCT_GeoModelConfig.SCT_ReadoutGeometryCfg
def SCT_ReadoutGeometryCfg(flags)
Definition: SCT_GeoModelConfig.py:42
python.InDetToolsConfig.ObserverTSOS_CommonKernelCfg
def ObserverTSOS_CommonKernelCfg(flags, name="ObserverTSOS_CommonKernel")
Definition: InDetToolsConfig.py:169
Constants
some useful constants -------------------------------------------------—
python.InDetToolsConfig.DFTrackStateOnSurfaceDecoratorCfg
def DFTrackStateOnSurfaceDecoratorCfg(flags, name="DFTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:127
python.InDetToolsConfig.UsedInVertexFitTrackDecoratorCfg
def UsedInVertexFitTrackDecoratorCfg(flags, name="UsedInVertexFitTrackDecorator", **kwargs)
Definition: InDetToolsConfig.py:28
python.InDetToolsConfig.PseudoTSOS_CommonKernelCfg
def PseudoTSOS_CommonKernelCfg(flags, name="PseudoTSOS_CommonKernel")
Definition: InDetToolsConfig.py:188
python.InDetToolsConfig.EventInfoBSErrDecoratorCfg
def EventInfoBSErrDecoratorCfg(flags, name="EventInfoBSErrDecorator", **kwargs)
Definition: InDetToolsConfig.py:610
python.InDetToolsConfig.IDTRKVALIDTruthThinningToolCfg
def IDTRKVALIDTruthThinningToolCfg(flags, name="IDTRKVALIDTruthThinningTool", **kwargs)
Definition: InDetToolsConfig.py:598
python.InDetToolsConfig.JetTrackParticleThinningCfg
def JetTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:526
python.InDetToolsConfig.MuonTrackParticleThinningCfg
def MuonTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:494
python.InDetToolsConfig.TauTrackParticleThinningCfg
def TauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:505
python.InDetToolsConfig.DFITkTrackStateOnSurfaceDecoratorCfg
def DFITkTrackStateOnSurfaceDecoratorCfg(flags, name="DFITkTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:289
python.InDetToolsConfig.ITkTrackParticleThinningCfg
def ITkTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:456
python.InDetTrackHoleSearchConfig.ITkTrackHoleSearchToolCfg
def ITkTrackHoleSearchToolCfg(flags, name='ITkHoleSearchTool', **kwargs)
Definition: InDetTrackHoleSearchConfig.py:56
python.InDetToolsConfig.ITkGSFTrackStateOnSurfaceDecoratorCfg
def ITkGSFTrackStateOnSurfaceDecoratorCfg(flags, name="ITkGSFTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:344
python.InDetToolsConfig.TrackStateOnSurfaceDecoratorCfg
def TrackStateOnSurfaceDecoratorCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:62
python.InDetToolsConfig.HardScatterVertexDecoratorCfg
def HardScatterVertexDecoratorCfg(flags, name="DFCommonHSDecorator", **kwargs)
Definition: InDetToolsConfig.py:46
python.InDetToolsConfig.PseudoTrackSelectorCfg
def PseudoTrackSelectorCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:375
python.InDetToolsConfig.ITkTIDEThinningToolCfg
def ITkTIDEThinningToolCfg(flags, name="ITkTIDEThinningTool", **kwargs)
Definition: InDetToolsConfig.py:475
python.InDetToolsConfig.GSFTrackStateOnSurfaceDecoratorCfg
def GSFTrackStateOnSurfaceDecoratorCfg(flags, name="GSFTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:226
python.InDetToolsConfig.SiSPTrackStateOnSurfaceDecoratorCfg
def SiSPTrackStateOnSurfaceDecoratorCfg(flags, name="SiSPTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:196
python.InDetToolsConfig.IDTIDETruthThinningToolCfg
def IDTIDETruthThinningToolCfg(flags, name="IDTIDETruthThinningTool", **kwargs)
Definition: InDetToolsConfig.py:573
python.InDetToolsConfig.InDetLRTMergeCfg
def InDetLRTMergeCfg(flags, name="InDetLRTMerge", **kwargs)
Definition: InDetToolsConfig.py:14
python.InDetToolsConfig.EgammaTrackParticleThinningCfg
def EgammaTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:545
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkStripGeoModelConfig.py:39
python.InDetTrackHoleSearchConfig.InDetTrackHoleSearchToolCfg
def InDetTrackHoleSearchToolCfg(flags, name='InDetHoleSearchTool', **kwargs)
Definition: InDetTrackHoleSearchConfig.py:8
python.InDetToolsConfig.PseudoTrackStateOnSurfaceDecoratorCfg
def PseudoTrackStateOnSurfaceDecoratorCfg(flags, name="PseudoTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:177
python.InDetToolsConfig.TSOS_CommonKernelCfg
def TSOS_CommonKernelCfg(flags, name="TSOS_CommonKernel", listOfExtensions=[])
Definition: InDetToolsConfig.py:107
python.InDetToolsConfig.DFITkTSOSKernelCfg
def DFITkTSOSKernelCfg(flags, name='DFITkTSOSKernel')
Definition: InDetToolsConfig.py:298
python.InDetToolsConfig.ITkSiSPTrackStateOnSurfaceDecoratorCfg
def ITkSiSPTrackStateOnSurfaceDecoratorCfg(flags, name="SiSPTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:317
python.TrkResidualPullCalculatorConfig.ResidualPullCalculatorCfg
def ResidualPullCalculatorCfg(flags, name='ResidualPullCalculator', **kwargs)
Definition: TrkResidualPullCalculatorConfig.py:6
python.InDetToolsConfig.ITkGSFTSOS_CommonKernelCfg
def ITkGSFTSOS_CommonKernelCfg(flags, name="ITkGSFTSOS_CommonKernel")
Definition: InDetToolsConfig.py:354
python.InDetToolsConfig.SiSPTSOS_CommonKernelCfg
def SiSPTSOS_CommonKernelCfg(flags, name="SiSPTSOS_CommonKernel", listOfExtensions=[])
Definition: InDetToolsConfig.py:207
python.InDetToolsConfig.IsolationTrackDecoratorCfg
def IsolationTrackDecoratorCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:413
InDetTrackSystematicsToolsConfig.InDetTrackTruthOriginToolCfg
def InDetTrackTruthOriginToolCfg(flags, name="InDetTrackTruthOriginTool", **kwargs)
Definition: InDetTrackSystematicsToolsConfig.py:6
python.InDetUsedInFitTrackDecoratorToolConfig.InDetUsedInFitTrackDecoratorToolCfg
def InDetUsedInFitTrackDecoratorToolCfg(flags, name="InDetUsedInFitTrackDecoratorTool", **kwargs)
Definition: InDetUsedInFitTrackDecoratorToolConfig.py:7