ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkVertexFitter
TrkVertexFitterUtils
TrkVertexFitterUtils
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
8
#include "
TrkVertexFitterInterfaces/ITrackToVertexIPEstimator.h
"
9
//
10
#include "
AthenaBaseComps/AthAlgTool.h
"
11
//
12
#include "GaudiKernel/ToolHandle.h"
13
#include "
TrkExInterfaces/IExtrapolator.h
"
14
#include "
TrkVertexFitterInterfaces/IVertexLinearizedTrackFactory.h
"
15
#include "
TrkVertexFitterInterfaces/IVertexUpdator.h
"
16
//
17
#include "
xAODTracking/TrackParticleFwd.h
"
18
#include "
xAODTracking/VertexFwd.h
"
19
//
20
namespace
Trk
{
21
22
class
Track
;
23
class
TrackParticleBase
;
24
69
70
class
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
85
~TrackToVertexIPEstimator
();
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
107
virtual
xAOD::Vertex
*
getUnbiasedVertex
(
108
const
xAOD::TrackParticle
* track,
const
xAOD::Vertex
* vtx)
const override
;
109
virtual
xAOD::Vertex
*
getUnbiasedVertex
(
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
AthAlgTool.h
IExtrapolator.h
ITrackToVertexIPEstimator.h
IVertexLinearizedTrackFactory.h
IVertexUpdator.h
TrackParticleFwd.h
VertexFwd.h
Trk::TrackParticleBase
Definition
TrackParticleBase.h:41
Trk::TrackToVertexIPEstimator::~TrackToVertexIPEstimator
~TrackToVertexIPEstimator()
Trk::TrackToVertexIPEstimator::m_Updator
ToolHandle< Trk::IVertexUpdator > m_Updator
Definition
TrackToVertexIPEstimator.h:142
Trk::TrackToVertexIPEstimator::initialize
virtual StatusCode initialize() override
Default Athena interface methods.
Definition
TrackToVertexIPEstimator.cxx:26
Trk::TrackToVertexIPEstimator::get2DLifetimeSignOfTrack
virtual double get2DLifetimeSignOfTrack(const EventContext &ctx, const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
Definition
TrackToVertexIPEstimator.cxx:241
Trk::TrackToVertexIPEstimator::getUnbiasedVertex
virtual xAOD::Vertex * getUnbiasedVertex(const xAOD::TrackParticle *track, const xAOD::Vertex *vtx) const override
Definition
TrackToVertexIPEstimator.cxx:289
Trk::TrackToVertexIPEstimator::estimate
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.
Definition
TrackToVertexIPEstimator.cxx:57
Trk::TrackToVertexIPEstimator::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition
TrackToVertexIPEstimator.h:140
Trk::TrackToVertexIPEstimator::TrackToVertexIPEstimator
TrackToVertexIPEstimator(const std::string &t, const std::string &n, const IInterface *p)
Default Athena interface constructor and destructor.
Definition
TrackToVertexIPEstimator.cxx:19
Trk::TrackToVertexIPEstimator::m_linFactory
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_linFactory
Definition
TrackToVertexIPEstimator.h:144
Trk::TrackToVertexIPEstimator::get3DLifetimeSignOfTrack
virtual double get3DLifetimeSignOfTrack(const EventContext &ctx, const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
Definition
TrackToVertexIPEstimator.cxx:219
Trk::TrackToVertexIPEstimator::getZLifetimeSignOfTrack
virtual double getZLifetimeSignOfTrack(const EventContext &ctx, const TrackParameters &track, const Amg::Vector3D &jetDirection, const xAOD::Vertex &primaryVertex) const override
Definition
TrackToVertexIPEstimator.cxx:263
Trk::TrackToVertexIPEstimator::calculate
std::unique_ptr< ImpactParametersAndSigma > calculate(const EventContext &ctx, const TrackParameters *track, const xAOD::Vertex &vtx) const
A method calculating the do and its error.
Definition
TrackToVertexIPEstimator.cxx:129
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
Generated on
for ATLAS Offline Software by
1.17.0