ATLAS Offline Software
Loading...
Searching...
No Matches
ITrackToVertexIPEstimator.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 TRKVERTEXFITTERINTERFACES_ITRACKTOVERTEXIPESTIMATOR_H
6#define TRKVERTEXFITTERINTERFACES_ITRACKTOVERTEXIPESTIMATOR_H
7
8#include "GaudiKernel/IAlgTool.h"
10//
13//
14#include <memory>
15
16#include "GaudiKernel/EventContext.h"
30
31namespace Trk {
32
34 double IPd0;
35 double IPz0;
37 double sigmad0;
38 double sigmaz0;
40 double PVsigmad0;
41 double PVsigmaz0;
43};
44
45
46class ITrackToVertexIPEstimator : virtual public IAlgTool {
47
48 public:
50
51 virtual ~ITrackToVertexIPEstimator()=default;
52
57 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
58 const EventContext &ctx,
59 const xAOD::TrackParticle* track, const xAOD::Vertex* vtx,
60 bool doRemoval) const = 0;
61
62 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
63 const EventContext &ctx,
64 const Trk::TrackParameters* track, const xAOD::Vertex* vtx,
65 bool doRemoval) const = 0;
66
67 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
68 const EventContext &ctx,
69 const xAOD::TrackParticle* track, const xAOD::TrackParticle* newtrack,
70 const xAOD::Vertex* vtx, bool doRemoval) const = 0;
71
72 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
73 const EventContext &ctx,
74 const Trk::TrackParameters* track, const Trk::TrackParameters* newtrack,
75 const xAOD::Vertex* vtx, bool doRemoval) const = 0;
76
78 const xAOD::Vertex* vtx) const = 0;
80 const xAOD::Vertex* vtx) const = 0;
81
82 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(const EventContext &ctx,
83 const xAOD::TrackParticle* track, const xAOD::Vertex* vtx) const = 0;
84
85 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(const EventContext &ctx,
86 const Trk::TrackParameters* track, const xAOD::Vertex* vtx) const = 0;
87
89 const EventContext &ctx,
90 const Trk::TrackParameters& track, const Amg::Vector3D& jetMomentum,
91 const xAOD::Vertex& primaryVertex) const = 0;
92
94 const EventContext &ctx,
95 const Trk::TrackParameters& track, const Amg::Vector3D& jetMomentum,
96 const xAOD::Vertex& primaryVertex) const = 0;
97
99 const EventContext &ctx,
100 const Trk::TrackParameters& track, const Amg::Vector3D& jetMomentum,
101 const xAOD::Vertex& primaryVertex) const = 0;
102
103
104}; // end of class definitions
105
106} // namespace Trk
107#endif
virtual double get2DLifetimeSignOfTrack(const EventContext &ctx, const Trk::TrackParameters &track, const Amg::Vector3D &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
DeclareInterfaceID(ITrackToVertexIPEstimator, 1, 0)
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const EventContext &ctx, const Trk::TrackParameters *track, const xAOD::Vertex *vtx) const =0
virtual double getZLifetimeSignOfTrack(const EventContext &ctx, const Trk::TrackParameters &track, const Amg::Vector3D &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
virtual double get3DLifetimeSignOfTrack(const EventContext &ctx, const Trk::TrackParameters &track, const Amg::Vector3D &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
virtual ~ITrackToVertexIPEstimator()=default
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const EventContext &ctx, const Trk::TrackParameters *track, const xAOD::Vertex *vtx, bool doRemoval) const =0
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const EventContext &ctx, const xAOD::TrackParticle *track, const xAOD::TrackParticle *newtrack, const xAOD::Vertex *vtx, bool doRemoval) const =0
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const EventContext &ctx, const xAOD::TrackParticle *track, const xAOD::Vertex *vtx, bool doRemoval) const =0
Estimate methods returning a d0 and its calculated sigma.
virtual xAOD::Vertex * getUnbiasedVertex(const xAOD::TrackParticle *track, const xAOD::Vertex *vtx) const =0
virtual xAOD::Vertex * getUnbiasedVertex(const Trk::TrackParameters *track, const xAOD::Vertex *vtx) const =0
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const EventContext &ctx, const Trk::TrackParameters *track, const Trk::TrackParameters *newtrack, const xAOD::Vertex *vtx, bool doRemoval) const =0
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const EventContext &ctx, const xAOD::TrackParticle *track, const xAOD::Vertex *vtx) const =0
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.