ATLAS Offline Software
TrkVertexSeedFinderToolsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 # Configuration of TrkVertexSeedFinderTools package
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 def DummySeedFinderCfg(flags, name="DummySeedFinder", **kwargs):
8  acc.setPrivateTools(CompFactory.Trk.DummySeedFinder(name, **kwargs))
9  return acc
10 
11 def TrackDensitySeedFinderCfg(flags, name="TrackDensitySeedFinder", **kwargs):
12  acc = ComponentAccumulator()
13  acc.setPrivateTools(CompFactory.Trk.TrackDensitySeedFinder(name, **kwargs))
14  return acc
15 
16 def MCTrueSeedFinderCfg(flags, name="MCTrueSeedFinder", **kwargs):
17  acc = ComponentAccumulator()
18  acc.setPrivateTools(CompFactory.Trk.MCTrueSeedFinder(name, **kwargs))
19  return acc
20 
21 def ZScanSeedFinderCfg(flags, name="ZScanSeedFinder", **kwargs):
22  acc = ComponentAccumulator()
23 
24  if "IPEstimator" not in kwargs:
25  from TrkConfig.TrkVertexFitterUtilsConfig import (
26  TrackToVertexIPEstimatorCfg)
27  kwargs.setdefault("IPEstimator", acc.popToolsAndMerge(
29 
30  acc.setPrivateTools(CompFactory.Trk.ZScanSeedFinder(name, **kwargs))
31  return acc
32 
33 def CrossDistancesSeedFinderCfg(flags, name="CrossDistancesSeedFinder", **kwargs):
34  acc = ComponentAccumulator()
35 
36  if "TrkDistanceFinder" not in kwargs:
37  from TrkConfig.TrkVertexSeedFinderUtilsConfig import (
38  SeedNewtonTrkDistanceFinderCfg)
39  kwargs.setdefault("TrkDistanceFinder", acc.popToolsAndMerge(
41 
42  acc.setPrivateTools(CompFactory.Trk.CrossDistancesSeedFinder(name, **kwargs))
43  return acc
44 
45 def IVF_CrossDistancesSeedFinderCfg(flags, name="IVF_CrossDistancesSeedFinder",
46  **kwargs):
47  kwargs.setdefault("trackdistcutoff", 1.0)
48  return CrossDistancesSeedFinderCfg(flags, name, **kwargs)
49 
51  flags, name='IndexedCrossDistancesSeedFinder', **kwargs):
52  acc = ComponentAccumulator()
53 
54  if "Mode3dFinder" not in kwargs:
55  from TrkConfig.TrkVertexSeedFinderUtilsConfig import (
56  Mode3dFromFsmw1dFinderCfg)
57  kwargs.setdefault("Mode3dFinder", acc.popToolsAndMerge(
59 
60  if "TrkDistanceFinder" not in kwargs:
61  from TrkConfig.TrkVertexSeedFinderUtilsConfig import (
62  SeedNewtonTrkDistanceFinderCfg)
63  kwargs.setdefault("TrkDistanceFinder", acc.popToolsAndMerge(
65 
66  kwargs.setdefault("trackdistcutoff", 0.01)
67  kwargs.setdefault("maximumTracksNoCut", 30)
68  kwargs.setdefault("maximumDistanceCut", 7.5)
69 
70  acc.setPrivateTools(
71  CompFactory.Trk.IndexedCrossDistancesSeedFinder(name, **kwargs))
72  return acc
73 
74 
75 if __name__ == "__main__":
76 
77  from argparse import ArgumentParser
78  parser = ArgumentParser()
79  parser.add_argument("--finder")
80  args = parser.parse_args()
81 
82  from AthenaConfiguration.AllConfigFlags import initConfigFlags
83  flags = initConfigFlags()
84 
85  from AthenaConfiguration.TestDefaults import defaultTestFiles
86  flags.Input.Files = defaultTestFiles.RDO_RUN2
87 
88  flags.lock()
89  flags.dump()
90 
91  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
92  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
93  cfg=MainServicesCfg(flags)
94  cfg.merge(PoolReadCfg(flags))
95 
96  alg = CompFactory.Trk.VertexSeedFinderTestAlg
97 
98  if args.finder=="DummySeedFinder":
99  finder = cfg.popToolsAndMerge(DummySeedFinderCfg(flags))
100  cfg.addEventAlgo(alg(name='testalg1',
101  VertexSeedFinderTool = finder,
102  Expected1 = [0, 0, 0],
103  Expected2 = [0, 0, 0],
104  Expected3 = [0, 0, 0]))
105 
106  elif args.finder=="ZScanSeedFinder":
107  finder = cfg.popToolsAndMerge(ZScanSeedFinderCfg(flags))
108  cfg.addEventAlgo(alg(name='testalg1',
109  VertexSeedFinderTool = finder,
110  Expected1 = [ 0, 0, -8.14159],
111  Expected2 = [1.7, 1.3, -7.82529],
112  Expected3 = [0, 0, 11.6246]))
113 
114  elif args.finder=="CrossDistancesSeedFinder":
115  finder = cfg.popToolsAndMerge(CrossDistancesSeedFinderCfg(flags))
116  cfg.addEventAlgo(alg(name='testalg1',
117  VertexSeedFinderTool = finder,
118  Expected1 = [8.58978, 8.67507, -6.4581],
119  Expected2 = [3.44328, 3.25688, -7.88419],
120  Expected3 = [1.23398, -1.18171, 11.9419]))
121 
122  elif args.finder=="IndexedCrossDistancesSeedFinder":
123  finder = cfg.popToolsAndMerge(IndexedCrossDistancesSeedFinderCfg(flags))
124  cfg.addEventAlgo(alg(name='testalg1',
125  VertexSeedFinderTool = finder,
126  PriVert = [0.3, 0.1],
127  Expected1 = [8.50042, 8.55733, -6.48532],
128  Expected2 = [3.44958, 3.26644, -7.06138],
129  Expected3 = [-0.155833, -1.84918, 12.5667],
130  Expected1PhiModes = [0.525193, 0.785398, 0.967545],
131  Expected1RModes = [3.61433, 12.4693, 7.05322],
132  Expected1ZModes = [-7.88629, -6.5, -5.61236],
133  Expected1Weights = [0.139025, 7.26331, 0.345227],
134  Expected1Indices = [0, 1, 2],
135  Expected1CorrDist = [-9.9, -9.9]))
136 
137  elif args.finder=="TrackDensitySeedFinder":
138  finder = cfg.popToolsAndMerge(TrackDensitySeedFinderCfg(flags))
139  cfg.addEventAlgo(alg(name='testalg1',
140  VertexSeedFinderTool = finder,
141  Expected1 = [0, 0, -7.01305],
142  Expected2 = [1.7, 1.3, -13.013],
143  Expected3 = [0, 0, 11.9761]))
144 
145  elif args.finder=="MCTrueSeedFinder":
146  finder = cfg.popToolsAndMerge(MCTrueSeedFinderCfg(flags))
147  cfg.addEventAlgo(alg(name='testalg1',
148  VertexSeedFinderTool = finder,
149  McEventCollectionKey = 'G4Truth',
150  Expected3 = [1, 2, 12,
151  0.3, -0.7, -3,
152  0.6, 0.2, 7]))
153 
154  cfg.run(2)
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TrkVertexSeedFinderToolsConfig.alg
alg
Definition: TrkVertexSeedFinderToolsConfig.py:96
python.TrkVertexSeedFinderUtilsConfig.SeedNewtonTrkDistanceFinderCfg
def SeedNewtonTrkDistanceFinderCfg(flags, name='SeedNewtonTrkDistanceFinder', **kwargs)
Definition: TrkVertexSeedFinderUtilsConfig.py:22
python.TrkVertexFitterUtilsConfig.TrackToVertexIPEstimatorCfg
def TrackToVertexIPEstimatorCfg(flags, name='TrackToVertexIPEstimator', **kwargs)
Definition: TrkVertexFitterUtilsConfig.py:48
python.TrkVertexSeedFinderToolsConfig.IndexedCrossDistancesSeedFinderCfg
def IndexedCrossDistancesSeedFinderCfg(flags, name='IndexedCrossDistancesSeedFinder', **kwargs)
Definition: TrkVertexSeedFinderToolsConfig.py:50
python.TrkVertexSeedFinderUtilsConfig.Mode3dFromFsmw1dFinderCfg
def Mode3dFromFsmw1dFinderCfg(flags, name='Mode3dFromFsmw1dFinder', **kwargs)
Definition: TrkVertexSeedFinderUtilsConfig.py:35
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.TrkVertexSeedFinderToolsConfig.DummySeedFinderCfg
def DummySeedFinderCfg(flags, name="DummySeedFinder", **kwargs)
Definition: TrkVertexSeedFinderToolsConfig.py:6
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:252
python.TrkVertexSeedFinderToolsConfig.MCTrueSeedFinderCfg
def MCTrueSeedFinderCfg(flags, name="MCTrueSeedFinder", **kwargs)
Definition: TrkVertexSeedFinderToolsConfig.py:16
python.TrkVertexSeedFinderToolsConfig.IVF_CrossDistancesSeedFinderCfg
def IVF_CrossDistancesSeedFinderCfg(flags, name="IVF_CrossDistancesSeedFinder", **kwargs)
Definition: TrkVertexSeedFinderToolsConfig.py:45
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.TrkVertexSeedFinderToolsConfig.CrossDistancesSeedFinderCfg
def CrossDistancesSeedFinderCfg(flags, name="CrossDistancesSeedFinder", **kwargs)
Definition: TrkVertexSeedFinderToolsConfig.py:33
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69