ATLAS Offline Software
Loading...
Searching...
No Matches
TrackVertexAssociationToolConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
6def getTTVAToolForReco(name="TTVATool", **kwargs):
7
8 # set default values for AMVF decoration properties, in case they are not set
9 # passing other values in kwargs will override these, if you are using a custom vertex container (eg. HIGG1D1 jet reconstruction)
10 kwargs.setdefault("AMVFVerticesDeco", "TTVA_AMVFVertices_forReco")
11 kwargs.setdefault("AMVFWeightsDeco", "TTVA_AMVFWeights_forReco")
12
13 return CompFactory.CP.TrackVertexAssociationTool(name, **kwargs)
14
15def TTVAToolCfg(flags, name, addDecoAlg=True, VertexContName="PrimaryVertices", **kwargs):
16 """Create a component accumulator containing a TTVA tool
17
18 If addDecoAlg is True, also adds an algorithm for decorating the 'used-in-fit' information
19 """
20
21 acc = ComponentAccumulator()
22
23 kwargs.setdefault("TrackContName", "InDetTrackParticles")
24 kwargs.setdefault("AMVFVerticesDeco", "TTVA_AMVFVertices_forReco")
25 kwargs.setdefault("AMVFWeightsDeco", "TTVA_AMVFWeights_forReco")
26
27 acc.setPrivateTools(getTTVAToolForReco(name, **kwargs))
28
29 if addDecoAlg:
30 from InDetUsedInFitTrackDecoratorTool.UsedInVertexFitTrackDecoratorConfig import (
31 UsedInVertexFitTrackDecoratorCfg)
32 acc.merge(UsedInVertexFitTrackDecoratorCfg(
33 flags, trackCont=kwargs["TrackContName"], vtxCont=VertexContName,
34 vertexDeco=kwargs["AMVFVerticesDeco"], weightDeco=kwargs["AMVFWeightsDeco"]))
35
36 return acc
37
38
39def isoTTVAToolCfg(flags, name="ttvaToolForIso", **kwargs):
40 kwargs.setdefault("WorkingPoint", "Nonprompt_All_MaxWeight")
41 kwargs.setdefault("HardScatterLinkDeco", "")
42 return TTVAToolCfg(flags, name, **kwargs)
43
44
45def TauTTVAToolCfg(flags, name="TVATool", **kwargs):
46 kwargs.setdefault("WorkingPoint", "Nonprompt_Hard_MaxWeight")
47 kwargs.setdefault("HardScatterLinkDeco", "")
48 kwargs.setdefault("TrackContName", flags.Tau.ActiveConfig.TrackCollection)
49 kwargs.setdefault("VertexContName", flags.Tau.ActiveConfig.VertexCollection)
50 return TTVAToolCfg(flags, flags.Tau.ActiveConfig.prefix + name, **kwargs)
51
52
53def CVF_TTVAToolCfg(flags, name="CVF_TTVATool", **kwargs):
54 kwargs.setdefault("WorkingPoint", "Custom")
55 kwargs.setdefault("HardScatterLinkDeco", "")
56 kwargs.setdefault("d0_cut", 2.0)
57 kwargs.setdefault("dzSinTheta_cut", 2.0)
58 return TTVAToolCfg(flags, name, **kwargs)
59
60
61def GNNHS_TTVAToolCfg(flags, name="TrackVertexAssociationTool_GNNHS", **kwargs):
62 # The import should be done here as TrkConfig is not part of AthAnalysis
63 from TrkConfig.VertexFindingFlags import VertexSortingSetup
64
65 kwargs.setdefault("WorkingPoint", "Prompt_MaxWeight")
66 kwargs.setdefault("VertexContName", "PrimaryVertices_initial"
67 if flags.Tracking.PriVertex.sortingSetup is VertexSortingSetup.GNNSorting else
68 "PrimaryVertices")
69 kwargs.setdefault("AMVFVerticesDeco", "TTVA_AMVFVertices_forGNN")
70 kwargs.setdefault("AMVFWeightsDeco", "TTVA_AMVFWeights_forGNN")
71 return TTVAToolCfg(flags, name, **kwargs)
isoTTVAToolCfg(flags, name="ttvaToolForIso", **kwargs)
CVF_TTVAToolCfg(flags, name="CVF_TTVATool", **kwargs)
GNNHS_TTVAToolCfg(flags, name="TrackVertexAssociationTool_GNNHS", **kwargs)
TTVAToolCfg(flags, name, addDecoAlg=True, VertexContName="PrimaryVertices", **kwargs)
TauTTVAToolCfg(flags, name="TVATool", **kwargs)