5#ifndef ACTSTRKPRIVTXFINDERTOOL_ITERATIVEPRIVTXFINDERTOOL_H
6#define ACTSTRKPRIVTXFINDERTOOL_ITERATIVEPRIVTXFINDERTOOL_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/Surfaces/PerigeeSurface.hpp"
37#include "Acts/Definitions/Units.hpp"
38#include "Acts/Utilities/Helpers.hpp"
39#include "Acts/Vertexing/IterativeVertexFinder.hpp"
40#include "Acts/Vertexing/FullBilloirVertexFitter.hpp"
41#include "Acts/Vertexing/HelicalTrackLinearizer.hpp"
42#include "Acts/Vertexing/TrackDensityVertexFinder.hpp"
43#include "Acts/Vertexing/TrackAtVertex.hpp"
44#include "Acts/Vertexing/Vertex.hpp"
45#include "Acts/Vertexing/ImpactPointEstimator.hpp"
46#include "Acts/Utilities/Logger.hpp"
74 return input.template as<TrackWrapper>()->parameters();
89 const std::string& name,
90 const IInterface* parent);
92 virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
95 virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
101 std::unique_ptr<const Acts::Logger>
m_logger {
nullptr};
104 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
105 findVertex(
const EventContext& ctx,
const std::vector<std::unique_ptr<Trk::ITrackLink>>& trackVector)
const;
108 const Acts::BoundTrackParameters& bound,
const Acts::Vector3& surfCenter)
const;
117 using Propagator = Acts::Propagator<Acts::EigenStepper<>, Acts::Navigator>;
124 std::shared_ptr<ATLASMagneticFieldWrapper>
m_bField =
nullptr;
131 PublicToolHandle<ITrackingGeometryTool>
m_trackingGeometryTool{
this,
"TrackingGeometryTool",
"",
"ActsTrackingGeometryTool"};
132 ToolHandle<IExtrapolationTool>
m_extrapolationTool{
this,
"ExtrapolationTool",
"",
"ActsExtrapolationTool"};
133 ToolHandle<InDet::IInDetTrackSelectionTool>
m_trkFilter{
this,
"TrackSelector",
"",
"InDetTrackSelectionTool"};
146 UnsignedIntegerProperty
m_maxVertices{
this,
"maxVertices", 50,
"Max number of vertices"};
150 BooleanProperty
m_doMaxTracksCut{
this,
"doMaxTracksCut",
false,
"Whether use max. tracks cut or not"};
151 UnsignedIntegerProperty
m_maxTracks{
this,
"maxTracks", 5000,
"Max. number of tracks to use for vertex finding"};
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
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".