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(
21 IVF_CrossDistancesSeedFinderCfg(flags)))
22
23 if "TrackSelector" not in kwargs:
24 from InDetConfig.InDetTrackSelectionToolConfig import (
25 VtxInDetTrackSelectionCfg)
26 kwargs.setdefault("TrackSelector", acc.popToolsAndMerge(
27 VtxInDetTrackSelectionCfg(flags)))
28
29 if "LinearizedTrackFactory" not in kwargs:
30 from TrkConfig.TrkVertexFitterUtilsConfig import (
31 FullLinearizedTrackFactoryCfg)
32 kwargs.setdefault("LinearizedTrackFactory", acc.popToolsAndMerge(
33 FullLinearizedTrackFactoryCfg(flags)))
34
35 if "ImpactPoint3dEstimator" not in kwargs:
36 from TrkConfig.TrkVertexFitterUtilsConfig import (
37 ImpactPoint3dEstimatorCfg)
38 kwargs.setdefault("ImpactPoint3dEstimator", acc.popToolsAndMerge(
39 ImpactPoint3dEstimatorCfg(flags)))
40
41 if "VertexFitterTool" not in kwargs:
42 from TrkConfig.TrkVertexFittersConfig import AdaptiveVertexFitterCfg
43 kwargs.setdefault("VertexFitterTool", acc.popToolsAndMerge(
44 AdaptiveVertexFitterCfg(
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