5#ifndef ACTSTRKPRIVTXFINDERTOOL_ADAPTIVEMULTIPRIVTXFINDERTOOL_H
6#define ACTSTRKPRIVTXFINDERTOOL_ADAPTIVEMULTIPRIVTXFINDERTOOL_H
10#include "GaudiKernel/IInterface.h"
11#include "GaudiKernel/ServiceHandle.h"
12#include "Gaudi/Property.h"
13#include "GaudiKernel/EventContext.h"
23#include "Acts/Propagator/Propagator.hpp"
33#include "Acts/Propagator/EigenStepper.hpp"
34#include "Acts/Propagator/Propagator.hpp"
35#include "Acts/Propagator/Navigator.hpp"
36#include "Acts/Definitions/Units.hpp"
37#include "Acts/Utilities/Helpers.hpp"
38#include "Acts/Vertexing/AdaptiveMultiVertexFinder.hpp"
39#include "Acts/Vertexing/AdaptiveMultiVertexFitter.hpp"
40#include "Acts/Vertexing/HelicalTrackLinearizer.hpp"
41#include "Acts/Vertexing/TrackDensityVertexFinder.hpp"
42#include "Acts/Vertexing/TrackAtVertex.hpp"
43#include "Acts/Vertexing/Vertex.hpp"
44#include "Acts/Vertexing/ImpactPointEstimator.hpp"
70 return input.template as<TrackWrapper>()->parameters();
82 const std::string& name,
83 const IInterface* parent);
85 virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
88 virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
94 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
95 findVertex(
const EventContext& ctx,
const std::vector<std::unique_ptr<Trk::ITrackLink>>& trackVector)
const;
99 const Acts::BoundTrackParameters& bound,
const Acts::Vector3& surfCenter)
const;
113 std::unique_ptr<const Acts::Logger>
m_logger {
nullptr};
116 using Propagator = Acts::Propagator<Acts::EigenStepper<>, Acts::Navigator>;
130 PublicToolHandle<ActsTrk::ITrackingGeometryTool>
m_trackingGeometryTool{
this,
"TrackingGeometryTool",
"",
"ActsTrackingGeometryTool"};
131 ToolHandle<ActsTrk::IExtrapolationTool>
m_extrapolationTool{
this,
"ExtrapolationTool",
"",
"ActsExtrapolationTool"};
132 ToolHandle<InDet::IInDetTrackSelectionTool>
m_trkFilter{
this,
"TrackSelector",
"",
"InDetTrackSelectionTool"};
140 DoubleArrayProperty
m_annealingTemps{
this,
"annealingTemps", {1.0},
"Annealing temperatures"};
147 DoubleProperty
m_minWeightFitter{
this,
"minWeightFitter", 0.001,
"Min track weight for fitter"};
157 DoubleProperty
m_minWeight{
this,
"minWeight", 0.0001,
"Min track weight for finder"};
158 UnsignedIntegerProperty
m_maxIterations{
this,
"maxIterations", 100,
"Vertex finder max. iterations"};
171 UnsignedIntegerProperty
m_gridMainGridSize{
this,
"GridMainGridSize", 20,
"Main grid size for Acts::GaussianGridTrackDensity"};
172 UnsignedIntegerProperty
m_gridTrkGridSize{
this,
"GridTrkGridSize", 10,
"Track grid size for Acts::GaussianGridTrackDensity"};
181 StringProperty
m_seederType{
this,
"seederType",
"Gaussian",
"type of seeder, \"Grid\" for Grid seeder, other for Gaussian seeder (default)"};
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
An abstract class which is meant to represent an element link to the Trk::Track or Trk::TrackParticle...
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
Vertex_v1 Vertex
Define the latest version of the vertex class.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".