5#ifndef TRKVERTEXFITTERUTILS_TRACKTOVERTEXIPESTIMATOR_H
6#define TRKVERTEXFITTERUTILS_TRACKTOVERTEXIPESTIMATOR_H
12#include "GaudiKernel/ToolHandle.h"
20#include "CLHEP/Vector/ThreeVector.h"
72 ITrackToVertexIPEstimator> {
92 virtual std::unique_ptr<ImpactParametersAndSigma>
estimate(
94 bool doRemoval)
const override;
95 virtual std::unique_ptr<ImpactParametersAndSigma>
estimate(
97 bool doRemoval)
const override;
99 virtual std::unique_ptr<ImpactParametersAndSigma>
estimate(
101 const xAOD::Vertex* vtx,
bool doRemoval)
const override;
102 virtual std::unique_ptr<ImpactParametersAndSigma>
estimate(
104 const xAOD::Vertex* vtx,
bool doRemoval)
const override;
111 virtual std::unique_ptr<ImpactParametersAndSigma>
estimate(
113 virtual std::unique_ptr<ImpactParametersAndSigma>
estimate(
145 std::unique_ptr<ImpactParametersAndSigma>
calculate(
149 "Trk::Extrapolator"};
150 ToolHandle<Trk::IVertexUpdator>
m_Updator{
this,
"VertexUpdator",
151 "Trk::KalmanVertexUpdator"};
153 this,
"LinearizedTrackFactory",
"Trk::FullLinearizedTrackFactory"};
~TrackToVertexIPEstimator()
virtual double get2DLifetimeSignOfTrack(const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
ToolHandle< Trk::IVertexUpdator > m_Updator
virtual double getZLifetimeSignOfTrack(const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
std::unique_ptr< ImpactParametersAndSigma > calculate(const TrackParameters *track, const xAOD::Vertex &vtx) const
A method calculating the do and its error.
virtual StatusCode initialize() override
Default Athena interface methods.
virtual xAOD::Vertex * getUnbiasedVertex(const xAOD::TrackParticle *track, const xAOD::Vertex *vtx) const override
ToolHandle< Trk::IExtrapolator > m_extrapolator
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const xAOD::TrackParticle *track, const xAOD::Vertex *vtx, bool doRemoval) const override
Estimate methods returning a d0 and its calculated sigma.
virtual double get3DLifetimeSignOfTrack(const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
TrackToVertexIPEstimator(const std::string &t, const std::string &n, const IInterface *p)
Default Athena interface constructor and destructor.
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_linFactory
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.