ATLAS Offline Software
TrackVertexAssociationToolConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 
7 def _assertPropertyValue(kwargs, key, force_value):
8  if kwargs.setdefault(key, force_value) != force_value:
9  raise ValueError(
10  f"{key} property must be set to {force_value} (provided value is '{kwargs[key]}')"
11  )
12 
13 def getTTVAToolForReco(name="TTVATool", **kwargs):
14  # First check that the user hasn't attempted to overwrite the AMVF vertices/weights decorations
15  _assertPropertyValue(kwargs, "AMVFVerticesDeco", "TTVA_AMVFVertices_forReco")
16  _assertPropertyValue(kwargs, "AMVFWeightsDeco", "TTVA_AMVFWeights_forReco")
17 
18  return CompFactory.CP.TrackVertexAssociationTool(name, **kwargs)
19 
20 
21 def TTVAToolCfg(flags, name, addDecoAlg=True, VertexContName="PrimaryVertices", **kwargs):
22  """Create a component accumulator containing a TTVA tool
23 
24  If addDecoAlg is True, also adds an algorithm for decorating the 'used-in-fit' information
25  """
26 
27  acc = ComponentAccumulator()
28 
29  kwargs.setdefault("TrackContName", "InDetTrackParticles")
30 
31  acc.setPrivateTools(getTTVAToolForReco(name, **kwargs))
32 
33  if addDecoAlg:
34  from InDetUsedInFitTrackDecoratorTool.UsedInVertexFitTrackDecoratorConfig import (
35  UsedInVertexFitTrackDecoratorCfg)
37  flags, kwargs["TrackContName"], VertexContName))
38 
39  return acc
40 
41 
42 def isoTTVAToolCfg(flags, name="ttvaToolForIso", **kwargs):
43  kwargs.setdefault("WorkingPoint", "Nonprompt_All_MaxWeight")
44  kwargs.setdefault("HardScatterLinkDeco", "")
45  return TTVAToolCfg(flags, name, **kwargs)
46 
47 
48 def TauTTVAToolCfg(flags, name="TVATool", **kwargs):
49  kwargs.setdefault("WorkingPoint", "Nonprompt_Hard_MaxWeight")
50  kwargs.setdefault("HardScatterLinkDeco", "")
51  kwargs.setdefault("TrackContName", flags.Tau.ActiveConfig.TrackCollection)
52  kwargs.setdefault("VertexContName", flags.Tau.ActiveConfig.VertexCollection)
53  return TTVAToolCfg(flags, flags.Tau.ActiveConfig.prefix + name, **kwargs)
54 
55 
56 def CVF_TTVAToolCfg(flags, name="CVF_TTVATool", **kwargs):
57  kwargs.setdefault("WorkingPoint", "Custom")
58  kwargs.setdefault("HardScatterLinkDeco", "")
59  kwargs.setdefault("d0_cut", 2.0)
60  kwargs.setdefault("dzSinTheta_cut", 2.0)
61  return TTVAToolCfg(flags, name, **kwargs)
62 
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
TrackVertexAssociationToolConfig.TauTTVAToolCfg
def TauTTVAToolCfg(flags, name="TVATool", **kwargs)
Definition: TrackVertexAssociationToolConfig.py:48
TrackVertexAssociationToolConfig._assertPropertyValue
def _assertPropertyValue(kwargs, key, force_value)
Definition: TrackVertexAssociationToolConfig.py:7
TrackVertexAssociationToolConfig.CVF_TTVAToolCfg
def CVF_TTVAToolCfg(flags, name="CVF_TTVATool", **kwargs)
Definition: TrackVertexAssociationToolConfig.py:56
TrackVertexAssociationToolConfig.TTVAToolCfg
def TTVAToolCfg(flags, name, addDecoAlg=True, VertexContName="PrimaryVertices", **kwargs)
Definition: TrackVertexAssociationToolConfig.py:21
TrackVertexAssociationToolConfig.getTTVAToolForReco
def getTTVAToolForReco(name="TTVATool", **kwargs)
Definition: TrackVertexAssociationToolConfig.py:13
UsedInVertexFitTrackDecoratorConfig.UsedInVertexFitTrackDecoratorCfg
def UsedInVertexFitTrackDecoratorCfg(flags, trackCont='InDetTrackParticles', vtxCont='PrimaryVertices')
Definition: UsedInVertexFitTrackDecoratorConfig.py:32
TrackVertexAssociationToolConfig.isoTTVAToolCfg
def isoTTVAToolCfg(flags, name="ttvaToolForIso", **kwargs)
Definition: TrackVertexAssociationToolConfig.py:42