ATLAS Offline Software
Loading...
Searching...
No Matches
TrackToVertexIPEstimator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKVERTEXFITTERUTILS_TRACKTOVERTEXIPESTIMATOR_H
6#define TRKVERTEXFITTERUTILS_TRACKTOVERTEXIPESTIMATOR_H
7
9//
11//
12#include "GaudiKernel/ToolHandle.h"
16//
19//
20namespace Trk {
21
22class Track;
24
69
70class TrackToVertexIPEstimator : public extends<AthAlgTool,
71 ITrackToVertexIPEstimator> {
72
73 public:
77 virtual StatusCode initialize() override;
78
82 TrackToVertexIPEstimator(const std::string& t, const std::string& n,
83 const IInterface* p);
84
86
91 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
92 const EventContext &ctx,
93 const xAOD::TrackParticle* track, const xAOD::Vertex* vtx,
94 bool doRemoval) const override;
95 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
96 const EventContext &ctx,
97 const TrackParameters* track, const xAOD::Vertex* vtx,
98 bool doRemoval) const override;
99
100 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(const EventContext &ctx,
101 const xAOD::TrackParticle* track, const xAOD::TrackParticle* newtrack,
102 const xAOD::Vertex* vtx, bool doRemoval) const override;
103 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(const EventContext &ctx,
104 const TrackParameters* track, const TrackParameters* newtrack,
105 const xAOD::Vertex* vtx, bool doRemoval) const override;
106
108 const xAOD::TrackParticle* track, const xAOD::Vertex* vtx) const override;
110 const TrackParameters* track, const xAOD::Vertex* vtx) const override;
111
112 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(const EventContext &ctx,
113 const xAOD::TrackParticle* track, const xAOD::Vertex* vtx) const override;
114 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(const EventContext &ctx,
115 const TrackParameters* track, const xAOD::Vertex* vtx) const override;
116
117 /* Methods which provide the lifetime Sign for the Impact Parameter (2D, Z,
118 * 3D) */
119 virtual double get3DLifetimeSignOfTrack(const EventContext &ctx,
120 const TrackParameters& track, const Amg::Vector3D& jetDirection,
121 const xAOD::Vertex& primaryVertex) const override;
122
123 virtual double get2DLifetimeSignOfTrack(const EventContext &ctx,
124 const TrackParameters& track, const Amg::Vector3D& jetDirection,
125 const xAOD::Vertex& primaryVertex) const override;
126
127 virtual double getZLifetimeSignOfTrack(const EventContext &ctx,
128 const TrackParameters& track, const Amg::Vector3D& jetDirection,
129 const xAOD::Vertex& primaryVertex) const override;
130
131 private:
137 std::unique_ptr<ImpactParametersAndSigma> calculate(const EventContext &ctx,
138 const TrackParameters* track, const xAOD::Vertex& vtx) const;
139
140 ToolHandle<Trk::IExtrapolator> m_extrapolator{this, "Extrapolator",
141 "Trk::Extrapolator"};
142 ToolHandle<Trk::IVertexUpdator> m_Updator{this, "VertexUpdator",
143 "Trk::KalmanVertexUpdator"};
144 ToolHandle<Trk::IVertexLinearizedTrackFactory> m_linFactory{
145 this, "LinearizedTrackFactory", "Trk::FullLinearizedTrackFactory"};
146
147}; // end of class definitions
148
149} // namespace Trk
150
151#endif
ToolHandle< Trk::IVertexUpdator > m_Updator
virtual StatusCode initialize() override
Default Athena interface methods.
virtual double get2DLifetimeSignOfTrack(const EventContext &ctx, const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
virtual xAOD::Vertex * getUnbiasedVertex(const xAOD::TrackParticle *track, const xAOD::Vertex *vtx) const override
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const EventContext &ctx, const xAOD::TrackParticle *track, const xAOD::Vertex *vtx, bool doRemoval) const override
Estimate methods returning a d0 and its calculated sigma.
ToolHandle< Trk::IExtrapolator > m_extrapolator
TrackToVertexIPEstimator(const std::string &t, const std::string &n, const IInterface *p)
Default Athena interface constructor and destructor.
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_linFactory
virtual double get3DLifetimeSignOfTrack(const EventContext &ctx, const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
virtual double getZLifetimeSignOfTrack(const EventContext &ctx, const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
std::unique_ptr< ImpactParametersAndSigma > calculate(const EventContext &ctx, const TrackParameters *track, const xAOD::Vertex &vtx) const
A method calculating the do and its error.
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.