ATLAS Offline Software
Loading...
Searching...
No Matches
TrkVertexToolsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2# Configuration of TrkVertexTools package
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from TrkConfig.VertexFindingFlags import VertexSortingSetup
6
7def SumPt2VertexCollectionSortingToolCfg(flags, name="SumPt2VertexCollectionSortingTool", **kwargs):
8 acc = ComponentAccumulator()
9
10 if "VertexWeightCalculator" not in kwargs:
11 from TrkConfig.TrkVertexWeightCalculatorsConfig import (
12 SumPt2VertexWeightCalculatorCfg)
13 kwargs.setdefault("VertexWeightCalculator", acc.popToolsAndMerge(
14 SumPt2VertexWeightCalculatorCfg(flags)))
15
16 kwargs.setdefault("decorationName", "sumPt2")
17
18 acc.setPrivateTools(
19 CompFactory.Trk.VertexCollectionSortingTool(name,**kwargs))
20 return acc
21
22
23def SumPtVertexCollectionSortingToolCfg(flags, name="SumPtVertexCollectionSortingTool", **kwargs):
24 acc = ComponentAccumulator()
25
26 if "VertexWeightCalculator" not in kwargs:
27 from TrkConfig.TrkVertexWeightCalculatorsConfig import (
28 SumPtVertexWeightCalculatorCfg)
29 kwargs.setdefault("VertexWeightCalculator", acc.popToolsAndMerge(
30 SumPtVertexWeightCalculatorCfg(flags)))
31
32 kwargs.setdefault("decorationName", "sumPt")
33
34 acc.setPrivateTools(
35 CompFactory.Trk.VertexCollectionSortingTool(name,**kwargs))
36 return acc
37
38
39def JetRestrictedSumPt2VertexCollectionSortingToolCfg(flags, name="JetRestrictedSumPt2VertexCollectionSortingTool", **kwargs):
40 acc = ComponentAccumulator()
41
42 if "VertexWeightCalculator" not in kwargs:
43 from TrkConfig.TrkVertexWeightCalculatorsConfig import (
44 JetRestrictedSumPt2VertexWeightCalculatorCfg)
45 kwargs.setdefault("VertexWeightCalculator", acc.popToolsAndMerge(
46 JetRestrictedSumPt2VertexWeightCalculatorCfg(flags)))
47
48 kwargs.setdefault("decorationName", "sumPt2")
49
50 acc.setPrivateTools(
51 CompFactory.Trk.VertexCollectionSortingTool(name,**kwargs))
52 return acc
53
54
55def GNNVertexCollectionSortingToolCfg(flags, name="GNNVertexCollectionSortingTool", **kwargs):
56 acc = ComponentAccumulator()
57
58 if "VertexWeightCalculator" not in kwargs:
59 from TrkConfig.TrkVertexWeightCalculatorsConfig import GNNVertexWeightCalculatorCfg
60 kwargs.setdefault("VertexWeightCalculator", acc.popToolsAndMerge(
61 GNNVertexWeightCalculatorCfg(flags)))
62
63 kwargs.setdefault("decorationName", "gnnScore")
64
65 acc.setPrivateTools(
66 CompFactory.Trk.VertexCollectionSortingTool(name,**kwargs))
67 return acc
68
69
70def HGamNNVertexCollectionSortingToolCfg(flags, name="HGamNNVertexCollectionSortingTool", **kwargs):
71 acc = ComponentAccumulator()
72
73 if "VertexWeightCalculator" not in kwargs:
74 from TrkConfig.TrkVertexWeightCalculatorsConfig import HGamNNVertexWeightCalculatorCfg
75 kwargs.setdefault("VertexWeightCalculator", acc.popToolsAndMerge(
76 HGamNNVertexWeightCalculatorCfg(flags)))
77
78 kwargs.setdefault("decorationName", "HGamNNScore")
79
80 acc.setPrivateTools(
81 CompFactory.Trk.VertexCollectionSortingTool(name,**kwargs))
82 return acc
83
84
85def VertexCollectionSortingToolCfg(flags, **kwargs):
86 if flags.Tracking.PriVertex.sortingSetup == \
87 VertexSortingSetup.SumPt2Sorting:
88 return SumPt2VertexCollectionSortingToolCfg(flags, **kwargs)
89 elif flags.Tracking.PriVertex.sortingSetup == \
90 VertexSortingSetup.SumPtSorting:
91 return SumPtVertexCollectionSortingToolCfg(flags, **kwargs)
92 elif flags.Tracking.PriVertex.sortingSetup == \
93 VertexSortingSetup.JetWeightedSorting:
95 elif flags.Tracking.PriVertex.sortingSetup == \
96 VertexSortingSetup.GNNSorting:
97 return GNNVertexCollectionSortingToolCfg(flags, **kwargs)
98 elif flags.Tracking.PriVertex.sortingSetup == \
99 VertexSortingSetup.HGamNNSorting:
100 return HGamNNVertexCollectionSortingToolCfg(flags, **kwargs)
101
102
103def SecVertexMergingToolCfg(flags, name='SecVertexMergingTool', **kwargs):
104
105 acc = ComponentAccumulator()
106
107 if "VertexFitterTool" not in kwargs:
108 from TrkConfig.TrkVertexFittersConfig import AdaptiveVertexFitterCfg
109 kwargs.setdefault("VertexFitterTool", acc.popToolsAndMerge(AdaptiveVertexFitterCfg(flags)))
110
111 kwargs.setdefault("MininumDistance", 5.0)
112 kwargs.setdefault("CompatibilityDimension", 2)
113
114
115 acc.setPrivateTools(CompFactory.Trk.SecVertexMergingTool(name,**kwargs))
116 return acc
JetRestrictedSumPt2VertexCollectionSortingToolCfg(flags, name="JetRestrictedSumPt2VertexCollectionSortingTool", **kwargs)
GNNVertexCollectionSortingToolCfg(flags, name="GNNVertexCollectionSortingTool", **kwargs)
HGamNNVertexCollectionSortingToolCfg(flags, name="HGamNNVertexCollectionSortingTool", **kwargs)
VertexCollectionSortingToolCfg(flags, **kwargs)
SumPtVertexCollectionSortingToolCfg(flags, name="SumPtVertexCollectionSortingTool", **kwargs)
SecVertexMergingToolCfg(flags, name='SecVertexMergingTool', **kwargs)
SumPt2VertexCollectionSortingToolCfg(flags, name="SumPt2VertexCollectionSortingTool", **kwargs)