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 "CLHEP/Vector/ThreeVector.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
52
57 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
58 const xAOD::TrackParticle* track, const xAOD::Vertex* vtx,
59 bool doRemoval) const = 0;
60
61 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
62 const Trk::TrackParameters* track, const xAOD::Vertex* vtx,
63 bool doRemoval) const = 0;
64
65 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
66 const xAOD::TrackParticle* track, const xAOD::TrackParticle* newtrack,
67 const xAOD::Vertex* vtx, bool doRemoval) const = 0;
68
69 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
70 const Trk::TrackParameters* track, const Trk::TrackParameters* newtrack,
71 const xAOD::Vertex* vtx, bool doRemoval) const = 0;
72
74 const xAOD::Vertex* vtx) const = 0;
76 const xAOD::Vertex* vtx) const = 0;
77
78 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
79 const xAOD::TrackParticle* track, const xAOD::Vertex* vtx) const = 0;
80
81 virtual std::unique_ptr<ImpactParametersAndSigma> estimate(
82 const Trk::TrackParameters* track, const xAOD::Vertex* vtx) const = 0;
83
85 const Trk::TrackParameters& track, const Amg::Vector3D& jetMomentum,
86 const xAOD::Vertex& primaryVertex) const = 0;
88 const Trk::TrackParameters& track, const CLHEP::Hep3Vector& jetMomentum,
89 const xAOD::Vertex& primaryVertex) const = 0;
90
92 const Trk::TrackParameters& track, const Amg::Vector3D& jetMomentum,
93 const xAOD::Vertex& primaryVertex) const = 0;
95 const Trk::TrackParameters& track, const CLHEP::Hep3Vector& jetMomentum,
96 const xAOD::Vertex& primaryVertex) const = 0;
97
99 const Trk::TrackParameters& track, const Amg::Vector3D& jetMomentum,
100 const xAOD::Vertex& primaryVertex) const = 0;
102 const Trk::TrackParameters& track, const CLHEP::Hep3Vector& jetMomentum,
103 const xAOD::Vertex& primaryVertex) const = 0;
104
105}; // end of class definitions
106
107} // namespace Trk
108#endif
DeclareInterfaceID(ITrackToVertexIPEstimator, 1, 0)
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const Trk::TrackParameters *track, const xAOD::Vertex *vtx, bool doRemoval) const =0
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const xAOD::TrackParticle *track, const xAOD::Vertex *vtx, bool doRemoval) const =0
Estimate methods returning a d0 and its calculated sigma.
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const xAOD::TrackParticle *track, const xAOD::Vertex *vtx) const =0
virtual double getZLifetimeSignOfTrack(const Trk::TrackParameters &track, const Amg::Vector3D &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
virtual double get3DLifetimeSignOfTrack(const Trk::TrackParameters &track, const CLHEP::Hep3Vector &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const Trk::TrackParameters *track, const Trk::TrackParameters *newtrack, const xAOD::Vertex *vtx, bool doRemoval) const =0
virtual double get2DLifetimeSignOfTrack(const Trk::TrackParameters &track, const CLHEP::Hep3Vector &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
virtual double getZLifetimeSignOfTrack(const Trk::TrackParameters &track, const CLHEP::Hep3Vector &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const Trk::TrackParameters *track, const xAOD::Vertex *vtx) const =0
virtual xAOD::Vertex * getUnbiasedVertex(const xAOD::TrackParticle *track, const xAOD::Vertex *vtx) const =0
virtual double get2DLifetimeSignOfTrack(const Trk::TrackParameters &track, const Amg::Vector3D &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
virtual xAOD::Vertex * getUnbiasedVertex(const Trk::TrackParameters *track, const xAOD::Vertex *vtx) const =0
virtual double get3DLifetimeSignOfTrack(const Trk::TrackParameters &track, const Amg::Vector3D &jetMomentum, const xAOD::Vertex &primaryVertex) const =0
virtual std::unique_ptr< ImpactParametersAndSigma > estimate(const xAOD::TrackParticle *track, const xAOD::TrackParticle *newtrack, const xAOD::Vertex *vtx, bool doRemoval) 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.