3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
7 flags, name="BaseAdaptiveMultiVertexFitter", **kwargs):
8 acc = ComponentAccumulator()
10 if "LinearizedTrackFactory" not in kwargs:
11 from TrkConfig.TrkVertexFitterUtilsConfig
import (
12 FullLinearizedTrackFactoryCfg)
13 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
14 FullLinearizedTrackFactoryCfg(flags)))
16 if "ImpactPoint3dEstimator" not in kwargs:
17 from TrkConfig.TrkVertexFitterUtilsConfig
import (
18 ImpactPoint3dEstimatorCfg)
19 kwargs.setdefault(
"ImpactPoint3dEstimator", acc.popToolsAndMerge(
20 ImpactPoint3dEstimatorCfg(flags)))
22 acc.setPrivateTools(CompFactory.Trk.AdaptiveMultiVertexFitter(name, **kwargs))
26 acc = ComponentAccumulator()
28 if "AnnealingMaker" not in kwargs:
29 from TrkConfig.TrkVertexFitterUtilsConfig
import DetAnnealingMakerCfg
30 kwargs.setdefault(
"AnnealingMaker", acc.popToolsAndMerge(
31 DetAnnealingMakerCfg(flags)))
33 kwargs.setdefault(
"DoSmoothing",
True)
35 acc.setPrivateTools(acc.popToolsAndMerge(
40 acc = ComponentAccumulator()
42 if "AnnealingMaker" not in kwargs:
43 from TrkConfig.TrkVertexFitterUtilsConfig
import SecVtxDetAnnealingMakerCfg
44 kwargs.setdefault(
"AnnealingMaker", acc.popToolsAndMerge(
45 SecVtxDetAnnealingMakerCfg(flags)))
47 kwargs.setdefault(
"DoSmoothing",
True)
49 acc.setPrivateTools(acc.popToolsAndMerge(
54 acc = ComponentAccumulator()
55 acc.setPrivateTools(CompFactory.Trk.SequentialVertexSmoother(name, **kwargs))
59 acc = ComponentAccumulator()
61 if "LinearizedTrackFactory" not in kwargs:
62 from TrkConfig.TrkVertexFitterUtilsConfig
import (
63 FullLinearizedTrackFactoryCfg)
64 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
65 FullLinearizedTrackFactoryCfg(flags)))
67 if "ImpactPoint3dEstimator" not in kwargs:
68 from TrkConfig.TrkVertexFitterUtilsConfig
import (
69 ImpactPoint3dEstimatorCfg)
70 kwargs.setdefault(
"ImpactPoint3dEstimator", acc.popToolsAndMerge(
71 ImpactPoint3dEstimatorCfg(flags)))
73 acc.setPrivateTools(CompFactory.Trk.AdaptiveVertexFitter(name, **kwargs))
77 acc = ComponentAccumulator()
79 if "SeedFinder" not in kwargs:
80 from TrkConfig.TrkVertexSeedFinderToolsConfig
import ZScanSeedFinderCfg
81 kwargs.setdefault(
"SeedFinder", acc.popToolsAndMerge(
82 ZScanSeedFinderCfg(flags)))
84 if "AnnealingMaker" not in kwargs:
85 from TrkConfig.TrkVertexFitterUtilsConfig
import DetAnnealingMakerCfg
86 kwargs.setdefault(
"AnnealingMaker", acc.popToolsAndMerge(
87 DetAnnealingMakerCfg(flags)))
89 if "VertexSmoother" not in kwargs:
90 kwargs.setdefault(
"VertexSmoother", acc.popToolsAndMerge(
93 acc.setPrivateTools(acc.popToolsAndMerge(
98 acc = ComponentAccumulator()
100 if "SeedFinder" not in kwargs:
101 from TrkConfig.TrkVertexSeedFinderToolsConfig
import (
102 CrossDistancesSeedFinderCfg)
103 kwargs.setdefault(
"SeedFinder", acc.popToolsAndMerge(
104 CrossDistancesSeedFinderCfg(flags)))
106 if "LinearizedTrackFactory" not in kwargs:
107 from TrkConfig.TrkVertexFitterUtilsConfig
import (
108 AtlasFullLinearizedTrackFactoryCfg)
109 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
110 AtlasFullLinearizedTrackFactoryCfg(flags)))
112 if "ImpactPoint3dEstimator" not in kwargs:
113 from TrkConfig.TrkVertexFitterUtilsConfig
import (
114 AtlasImpactPoint3dEstimatorCfg)
115 kwargs.setdefault(
"ImpactPoint3dEstimator", acc.popToolsAndMerge(
116 AtlasImpactPoint3dEstimatorCfg(flags)))
118 if "AnnealingMaker" not in kwargs:
119 from TrkConfig.TrkVertexFitterUtilsConfig
import TauDetAnnealingMakerCfg
120 kwargs.setdefault(
"AnnealingMaker", acc.popToolsAndMerge(
121 TauDetAnnealingMakerCfg(flags)))
123 if "VertexSmoother" not in kwargs:
124 kwargs.setdefault(
"VertexSmoother", acc.popToolsAndMerge(
127 acc.setPrivateTools(CompFactory.Trk.AdaptiveVertexFitter(name, **kwargs))
132 kwargs.setdefault(
"MaxIterations", 8000)
133 kwargs.setdefault(
"MaxDistToLinPoint", 0.2)
134 kwargs.setdefault(
"InitialError", 0.2)
139 flags, name="AdaptiveVertexFitterTestAlg", **kwargs):
140 acc = ComponentAccumulator()
142 acc.addEventAlgo(CompFactory.Trk.AdaptiveVertexFitterTestAlg(name, **kwargs))
146 flags, name="AdaptiveMultiVertexFitterTestAlg", **kwargs):
147 acc = ComponentAccumulator()
148 kwargs.setdefault(
"Tool", acc.popToolsAndMerge(
151 CompFactory.Trk.AdaptiveMultiVertexFitterTestAlg(name, **kwargs))
154if __name__ ==
"__main__":
156 from argparse
import ArgumentParser
157 parser = ArgumentParser()
158 parser.add_argument(
"--test")
159 args = parser.parse_args()
161 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
162 flags = initConfigFlags()
164 from AthenaConfiguration.TestDefaults
import defaultTestFiles
165 flags.Input.Files = defaultTestFiles.RDO_RUN2
170 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
171 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
172 cfg=MainServicesCfg(flags)
173 cfg.merge(PoolReadCfg(flags))
177 elif args.test==
"AVMF":
AdaptiveMultiVertexFitterCfg(flags, name="AdaptiveMultiVertexFitter", **kwargs)
AdaptiveVxFitterToolIncSecVtxCfg(flags, name='AdaptiveVxFitterToolIncSecVtx', **kwargs)
AdaptiveMultiVertexFitterTestAlgCfg(flags, name="AdaptiveMultiVertexFitterTestAlg", **kwargs)
SequentialVertexSmootherCfg(flags, name="SequentialVertexSmoother", **kwargs)
AdaptiveMultiSecVertexFitterCfg(flags, name="AdaptiveMultiSecVertexFitter", **kwargs)
BaseAdaptiveMultiVertexFitterCfg(flags, name="BaseAdaptiveMultiVertexFitter", **kwargs)
BaseAdaptiveVertexFitterCfg(flags, name="BaseAdaptiveVertexFitter", **kwargs)
AdaptiveVertexFitterTestAlgCfg(flags, name="AdaptiveVertexFitterTestAlg", **kwargs)
AdaptiveVertexFitterCfg(flags, name="AdaptiveVertexFitter", **kwargs)
TauAdaptiveVertexFitterCfg(flags, name="TauAdaptiveVertexFitter", **kwargs)