3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
7 flags, name="BaseAdaptiveMultiVertexFitter", **kwargs):
10 if "LinearizedTrackFactory" not in kwargs:
11 from TrkConfig.TrkVertexFitterUtilsConfig
import (
12 FullLinearizedTrackFactoryCfg)
13 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
16 if "ImpactPoint3dEstimator" not in kwargs:
17 from TrkConfig.TrkVertexFitterUtilsConfig
import (
18 ImpactPoint3dEstimatorCfg)
19 kwargs.setdefault(
"ImpactPoint3dEstimator", acc.popToolsAndMerge(
22 acc.setPrivateTools(CompFactory.Trk.AdaptiveMultiVertexFitter(name, **kwargs))
28 if "AnnealingMaker" not in kwargs:
29 from TrkConfig.TrkVertexFitterUtilsConfig
import DetAnnealingMakerCfg
30 kwargs.setdefault(
"AnnealingMaker", acc.popToolsAndMerge(
33 kwargs.setdefault(
"DoSmoothing",
True)
35 acc.setPrivateTools(acc.popToolsAndMerge(
42 if "AnnealingMaker" not in kwargs:
43 from TrkConfig.TrkVertexFitterUtilsConfig
import SecVtxDetAnnealingMakerCfg
44 kwargs.setdefault(
"AnnealingMaker", acc.popToolsAndMerge(
47 kwargs.setdefault(
"DoSmoothing",
True)
49 acc.setPrivateTools(acc.popToolsAndMerge(
55 acc.setPrivateTools(CompFactory.Trk.SequentialVertexSmoother(name, **kwargs))
61 if "LinearizedTrackFactory" not in kwargs:
62 from TrkConfig.TrkVertexFitterUtilsConfig
import (
63 FullLinearizedTrackFactoryCfg)
64 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
67 if "ImpactPoint3dEstimator" not in kwargs:
68 from TrkConfig.TrkVertexFitterUtilsConfig
import (
69 ImpactPoint3dEstimatorCfg)
70 kwargs.setdefault(
"ImpactPoint3dEstimator", acc.popToolsAndMerge(
73 acc.setPrivateTools(CompFactory.Trk.AdaptiveVertexFitter(name, **kwargs))
79 if "SeedFinder" not in kwargs:
80 from TrkConfig.TrkVertexSeedFinderToolsConfig
import ZScanSeedFinderCfg
81 kwargs.setdefault(
"SeedFinder", acc.popToolsAndMerge(
84 if "AnnealingMaker" not in kwargs:
85 from TrkConfig.TrkVertexFitterUtilsConfig
import DetAnnealingMakerCfg
86 kwargs.setdefault(
"AnnealingMaker", acc.popToolsAndMerge(
89 if "VertexSmoother" not in kwargs:
90 kwargs.setdefault(
"VertexSmoother", acc.popToolsAndMerge(
93 acc.setPrivateTools(acc.popToolsAndMerge(
100 if "SeedFinder" not in kwargs:
101 from TrkConfig.TrkVertexSeedFinderToolsConfig
import (
102 CrossDistancesSeedFinderCfg)
103 kwargs.setdefault(
"SeedFinder", acc.popToolsAndMerge(
106 if "LinearizedTrackFactory" not in kwargs:
107 from TrkConfig.TrkVertexFitterUtilsConfig
import (
108 AtlasFullLinearizedTrackFactoryCfg)
109 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
112 if "ImpactPoint3dEstimator" not in kwargs:
113 from TrkConfig.TrkVertexFitterUtilsConfig
import (
114 AtlasImpactPoint3dEstimatorCfg)
115 kwargs.setdefault(
"ImpactPoint3dEstimator", acc.popToolsAndMerge(
118 if "AnnealingMaker" not in kwargs:
119 from TrkConfig.TrkVertexFitterUtilsConfig
import TauDetAnnealingMakerCfg
120 kwargs.setdefault(
"AnnealingMaker", acc.popToolsAndMerge(
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):
142 acc.addEventAlgo(CompFactory.Trk.AdaptiveVertexFitterTestAlg(name, **kwargs))
146 flags, name="AdaptiveMultiVertexFitterTestAlg", **kwargs):
148 kwargs.setdefault(
"Tool", acc.popToolsAndMerge(
151 CompFactory.Trk.AdaptiveMultiVertexFitterTestAlg(name, **kwargs))
154 if __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
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
177 elif args.test==
"AVMF":