ATLAS Offline Software
InDetPriVxFinderToolConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 # Configuration of InDetPriVxFinderTool package
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from TrkConfig.VertexFindingFlags import VertexSetup
6 
7 
9  flags, name="InDetIterativePriVxFinderTool", **kwargs):
10  acc = ComponentAccumulator()
11 
12  if "SeedFinder" not in kwargs:
13  if flags.Tracking.PriVertex.useBeamConstraint:
14  from TrkConfig.TrkVertexSeedFinderToolsConfig import ZScanSeedFinderCfg
15  kwargs.setdefault("SeedFinder", acc.popToolsAndMerge(
16  ZScanSeedFinderCfg(flags)))
17  else:
18  from TrkConfig.TrkVertexSeedFinderToolsConfig import (
19  IVF_CrossDistancesSeedFinderCfg)
20  kwargs.setdefault("SeedFinder", acc.popToolsAndMerge(
22 
23  if "TrackSelector" not in kwargs:
24  from InDetConfig.InDetTrackSelectionToolConfig import (
25  VtxInDetTrackSelectionCfg)
26  kwargs.setdefault("TrackSelector", acc.popToolsAndMerge(
28 
29  if "LinearizedTrackFactory" not in kwargs:
30  from TrkConfig.TrkVertexFitterUtilsConfig import (
31  FullLinearizedTrackFactoryCfg)
32  kwargs.setdefault("LinearizedTrackFactory", acc.popToolsAndMerge(
34 
35  if "ImpactPoint3dEstimator" not in kwargs:
36  from TrkConfig.TrkVertexFitterUtilsConfig import (
37  ImpactPoint3dEstimatorCfg)
38  kwargs.setdefault("ImpactPoint3dEstimator", acc.popToolsAndMerge(
40 
41  if "VertexFitterTool" not in kwargs:
42  from TrkConfig.TrkVertexFittersConfig import AdaptiveVertexFitterCfg
43  kwargs.setdefault("VertexFitterTool", acc.popToolsAndMerge(
45  flags,
46  SeedFinder=kwargs["SeedFinder"],
47  LinearizedTrackFactory=kwargs["LinearizedTrackFactory"],
48  ImpactPoint3dEstimator=kwargs["ImpactPoint3dEstimator"])))
49 
50  kwargs.setdefault("useBeamConstraint",
51  flags.Tracking.PriVertex.useBeamConstraint)
52  kwargs.setdefault("significanceCutSeeding", 12)
53  kwargs.setdefault("maximumChi2cutForSeeding", 49)
54  kwargs.setdefault("maxVertices", flags.Tracking.PriVertex.maxVertices)
55  kwargs.setdefault("doMaxTracksCut",
56  flags.Tracking.PriVertex.doMaxTracksCut)
57  kwargs.setdefault("MaxTracks", flags.Tracking.PriVertex.maxTracks)
58 
59  acc.setPrivateTools(
60  CompFactory.InDet.InDetIterativePriVxFinderTool(name, **kwargs))
61  return acc
62 
63 
65  flags, name="FastInDetIterativePriVxFinderTool", **kwargs):
66  acc = ComponentAccumulator()
67 
68  if "VertexFitterTool" not in kwargs:
69  from TrkConfig.TrkVertexBilloirToolsConfig import FastVertexFitterCfg
70  kwargs.setdefault("VertexFitterTool", acc.popToolsAndMerge(
71  FastVertexFitterCfg(flags)))
72 
73  acc.setPrivateTools(acc.popToolsAndMerge(
74  IterativeFindingBaseCfg(flags, name, **kwargs)))
75  return acc
76 
77 
79  flags, name="GaussInDetIterativePriVxFinderTool", **kwargs):
80  acc = ComponentAccumulator()
81 
82  if "SeedFinder" not in kwargs:
83  from TrkConfig.TrkVertexSeedFinderToolsConfig import (
84  TrackDensitySeedFinderCfg)
85  kwargs.setdefault("SeedFinder", acc.popToolsAndMerge(
87 
88  acc.setPrivateTools(acc.popToolsAndMerge(
89  IterativeFindingBaseCfg(flags, name, **kwargs)))
90  return acc
91 
92 
94  flags, name="InDetTrigPriVxFinderTool", **kwargs):
95  acc = ComponentAccumulator()
96 
97  if "VertexFitterTool" not in kwargs:
98  from TrkConfig.TrkVertexBilloirToolsConfig import FastVertexFitterCfg
99  kwargs.setdefault("VertexFitterTool", acc.popToolsAndMerge(
100  FastVertexFitterCfg(flags)))
101 
102  if "TrackSelector" not in kwargs:
103  from InDetConfig.InDetTrackSelectionToolConfig import (
104  TrigVtxInDetTrackSelectionCfg)
105  kwargs.setdefault("TrackSelector", acc.popToolsAndMerge(
107 
108  kwargs.setdefault("useBeamConstraint", True)
109  kwargs.setdefault("maximumChi2cutForSeeding", 29)
110  kwargs.setdefault("createSplitVertices", False)
111  kwargs.setdefault("doMaxTracksCut", True)
112  kwargs.setdefault("MaxTracks", 3000)
113 
114  acc.setPrivateTools(acc.popToolsAndMerge(
116  flags, name+flags.Tracking.ActiveConfig.input_name, **kwargs)))
117  return acc
118 
119 
120 def VertexFinderToolCfg(flags, **kwargs):
121 
122  if flags.Tracking.PriVertex.setup == VertexSetup.IVF:
123  return IterativeFindingBaseCfg(flags, **kwargs)
124  elif flags.Tracking.PriVertex.setup == VertexSetup.FastIVF:
125  return FastIterativeFindingCfg(flags, **kwargs)
126  elif flags.Tracking.PriVertex.setup == VertexSetup.ActsGaussAMVF:
127  from ActsConfig.ActsPriVxFinderConfig import ActsGaussAdaptiveMultiFindingCfg
128  return ActsGaussAdaptiveMultiFindingCfg(flags, **kwargs)
129  elif flags.Tracking.PriVertex.setup == VertexSetup.ExperimentalActsIVF:
130  from ActsConfig.ActsPriVxFinderConfig import (
131  ActsIterativeFindingCfg)
132  return ActsIterativeFindingCfg(flags, **kwargs)
133 
134 
135 def TrigVertexFinderToolCfg(flags, **kwargs):
136  if flags.Tracking.ActiveConfig.adaptiveVertex:
137  from ActsConfig.ActsPriVxFinderConfig import (
138  TrigActsGaussAdaptiveMultiFindingCfg)
139  return TrigActsGaussAdaptiveMultiFindingCfg(flags, **kwargs)
140  else:
141  return TrigGaussIterativeFindingCfg(flags, **kwargs)
python.InDetPriVxFinderToolConfig.GaussIterativeFindingCfg
def GaussIterativeFindingCfg(flags, name="GaussInDetIterativePriVxFinderTool", **kwargs)
Definition: InDetPriVxFinderToolConfig.py:78
python.InDetPriVxFinderToolConfig.TrigVertexFinderToolCfg
def TrigVertexFinderToolCfg(flags, **kwargs)
Definition: InDetPriVxFinderToolConfig.py:135
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TrkVertexFittersConfig.AdaptiveVertexFitterCfg
def AdaptiveVertexFitterCfg(flags, name="AdaptiveVertexFitter", **kwargs)
Definition: TrkVertexFittersConfig.py:76
python.TrkVertexFitterUtilsConfig.ImpactPoint3dEstimatorCfg
def ImpactPoint3dEstimatorCfg(flags, name='ImpactPoint3dEstimator', **kwargs)
Definition: TrkVertexFitterUtilsConfig.py:78
ActsPriVxFinderConfig.TrigActsGaussAdaptiveMultiFindingCfg
ComponentAccumulator TrigActsGaussAdaptiveMultiFindingCfg(flags, name="ActsAdaptiveMultiPriVtxFinderTool", **kwargs)
Definition: ActsPriVxFinderConfig.py:43
python.InDetTrackSelectionToolConfig.TrigVtxInDetTrackSelectionCfg
def TrigVtxInDetTrackSelectionCfg(flags, name="InDetTrigDetailedTrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:126
python.InDetPriVxFinderToolConfig.TrigGaussIterativeFindingCfg
def TrigGaussIterativeFindingCfg(flags, name="InDetTrigPriVxFinderTool", **kwargs)
Definition: InDetPriVxFinderToolConfig.py:93
python.TrkVertexSeedFinderToolsConfig.ZScanSeedFinderCfg
def ZScanSeedFinderCfg(flags, name="ZScanSeedFinder", **kwargs)
Definition: TrkVertexSeedFinderToolsConfig.py:21
python.TrkVertexSeedFinderToolsConfig.TrackDensitySeedFinderCfg
def TrackDensitySeedFinderCfg(flags, name="TrackDensitySeedFinder", **kwargs)
Definition: TrkVertexSeedFinderToolsConfig.py:11
python.InDetPriVxFinderToolConfig.FastIterativeFindingCfg
def FastIterativeFindingCfg(flags, name="FastInDetIterativePriVxFinderTool", **kwargs)
Definition: InDetPriVxFinderToolConfig.py:64
python.InDetPriVxFinderToolConfig.VertexFinderToolCfg
def VertexFinderToolCfg(flags, **kwargs)
Definition: InDetPriVxFinderToolConfig.py:120
python.InDetTrackSelectionToolConfig.VtxInDetTrackSelectionCfg
def VtxInDetTrackSelectionCfg(flags, name="VertexInDetTrackSelectionTool", **kwargs)
Configs not based on any CutLevel #####.
Definition: InDetTrackSelectionToolConfig.py:92
python.TrkVertexBilloirToolsConfig.FastVertexFitterCfg
def FastVertexFitterCfg(flags, name="FastVertexFitterTool", **kwargs)
Definition: TrkVertexBilloirToolsConfig.py:6
python.InDetPriVxFinderToolConfig.IterativeFindingBaseCfg
def IterativeFindingBaseCfg(flags, name="InDetIterativePriVxFinderTool", **kwargs)
Definition: InDetPriVxFinderToolConfig.py:8
python.TrkVertexFitterUtilsConfig.FullLinearizedTrackFactoryCfg
def FullLinearizedTrackFactoryCfg(flags, name='FullLinearizedTrkFactory', **kwargs)
Definition: TrkVertexFitterUtilsConfig.py:6
python.TrkVertexSeedFinderToolsConfig.IVF_CrossDistancesSeedFinderCfg
def IVF_CrossDistancesSeedFinderCfg(flags, name="IVF_CrossDistancesSeedFinder", **kwargs)
Definition: TrkVertexSeedFinderToolsConfig.py:45
ActsPriVxFinderConfig.ActsGaussAdaptiveMultiFindingCfg
ComponentAccumulator ActsGaussAdaptiveMultiFindingCfg(flags, name="ActsAdaptiveMultiPriVtxFinderTool", **kwargs)
Definition: ActsPriVxFinderConfig.py:7
ActsPriVxFinderConfig.ActsIterativeFindingCfg
ComponentAccumulator ActsIterativeFindingCfg(flags, name="ActsIterativePriVtxFinderTool", **kwargs)
Definition: ActsPriVxFinderConfig.py:64