37 : ActsExamples::
BareAlgorithm(
"AdaptiveMultiVertexFinder", lvl),
40 throw std::invalid_argument(
"Missing input track parameters collection");
43 throw std::invalid_argument(
"Missing output proto vertices collection");
51 const auto& inputTrackParameters =
53 const auto& inputTrackPointers =
66 auto propagator = std::make_shared<Propagator>(
stepper);
72 IPEstimator ipEstimator(ipEstimatorCfg);
80 std::vector<double> temperatures{8.0, 4.0, 2.0, 1.4142136, 1.2247449, 1.0};
88 fitterCfg.annealingTool = annealingUtility;
89 Fitter fitter(fitterCfg);
94 SeedFinder seedFinder;
99 Finder::Config finderConfig(std::move(fitter), seedFinder, ipEstimator,
102 finderConfig.useBeamSpotConstraint =
false;
105 Finder finder(finderConfig);
114 auto result = finder.find(inputTrackPointers, finderOpts, state);
115 if (not result.ok()) {
116 ACTS_ERROR(
"Error in vertex finder: " << result.error().message());
117 return ProcessCode::ABORT;
119 auto vertices = *result;
122 ACTS_INFO(
"Found " << vertices.size() <<
" vertices in event");
123 for (
const auto&
vtx : vertices) {
124 ACTS_INFO(
"Found vertex at " <<
vtx.fullPosition().transpose() <<
" with "
125 <<
vtx.tracks().size() <<
" tracks.");