ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkVertexFitter
TrkVertexFitterUtils
TrkVertexFitterUtils
KalmanVertexUpdator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TrkVertexFitterUtils_KalmanVertexUpdator_H
6
#define TrkVertexFitterUtils_KalmanVertexUpdator_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "
TrkVertexFitterInterfaces/IVertexUpdator.h
"
10
30
31
namespace
Trk
32
{
33
class
VxTrackAtVertex
;
34
class
LinearizedTrack
;
35
36
class
KalmanVertexUpdator
:
public
AthAlgTool
,
virtual
public
IVertexUpdator
37
{
38
public
:
39
40
virtual
StatusCode
initialize
()
override
;
44
KalmanVertexUpdator
(
const
std::string& t,
const
std::string& n,
const
IInterface* p);
45
49
~KalmanVertexUpdator
();
50
54
virtual
xAOD::Vertex
*
add
(
xAOD::Vertex
& vtx,
VxTrackAtVertex
& trk)
const override
;
55
59
virtual
xAOD::Vertex
*
remove
(
xAOD::Vertex
& vtx,
VxTrackAtVertex
& trk)
const override
;
60
64
virtual
IVertexUpdator::positionUpdateOutcome
positionUpdate
(
const
xAOD::Vertex
& vtx,
const
LinearizedTrack
* trk,
double
trackWeight,
IVertexUpdator::updateMode
mode)
const override
;
65
69
virtual
float
trackParametersChi2
(
const
xAOD::Vertex
& new_vtx,
const
LinearizedTrack
* trk)
const override
;
70
virtual
float
trackParametersChi2
(
const
IVertexUpdator::positionUpdateOutcome
& new_vtx,
const
LinearizedTrack
* trk)
const override
;
71
75
virtual
float
vertexPositionChi2
(
const
xAOD::Vertex
& old_vtx,
const
xAOD::Vertex
& new_vtx)
const override
;
76
virtual
float
vertexPositionChi2
(
const
xAOD::Vertex
& old_vtx,
const
IVertexUpdator::positionUpdateOutcome
& new_vtx)
const override
;
77
78
private
:
79
80
// internal methods performing the actual calculations
81
static
float
trackParametersChi2
(
const
Amg::Vector3D
& new_position,
const
LinearizedTrack
* trk,
const
AmgSymMatrix
(5) & trkParametersWeight) ;
82
static
float
vertexPositionChi2
(
const
xAOD::Vertex
& old_vtx,
const
Amg::Vector3D
& new_position) ;
83
87
xAOD::Vertex
*
update
(
xAOD::Vertex
& vtx,
const
VxTrackAtVertex
& trk,
IVertexUpdator::updateMode
mode)
const
;
88
89
};
//end of class definition
90
}
//end of namespace definition
91
92
#endif
AthAlgTool.h
AmgSymMatrix
#define AmgSymMatrix(dim)
Definition
EventPrimitives.h:50
IVertexUpdator.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
Trk::IVertexUpdator
An abstract base class for the vertex updators.
Definition
IVertexUpdator.h:45
Trk::IVertexUpdator::updateMode
updateMode
Definition
IVertexUpdator.h:68
Trk::KalmanVertexUpdator::KalmanVertexUpdator
KalmanVertexUpdator(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
Definition
KalmanVertexUpdator.cxx:14
Trk::KalmanVertexUpdator::update
xAOD::Vertex * update(xAOD::Vertex &vtx, const VxTrackAtVertex &trk, IVertexUpdator::updateMode mode) const
Method where the fit is actually done.
Definition
KalmanVertexUpdator.cxx:48
Trk::KalmanVertexUpdator::vertexPositionChi2
virtual float vertexPositionChi2(const xAOD::Vertex &old_vtx, const xAOD::Vertex &new_vtx) const override
Method calculating the vertex displacement-related part of the chi2.
Definition
KalmanVertexUpdator.cxx:169
Trk::KalmanVertexUpdator::add
virtual xAOD::Vertex * add(xAOD::Vertex &vtx, VxTrackAtVertex &trk) const override
Method adding a single track to the vertex estimate.
Definition
KalmanVertexUpdator.cxx:36
Trk::KalmanVertexUpdator::positionUpdate
virtual IVertexUpdator::positionUpdateOutcome positionUpdate(const xAOD::Vertex &vtx, const LinearizedTrack *trk, double trackWeight, IVertexUpdator::updateMode mode) const override
Position update method.
Definition
KalmanVertexUpdator.cxx:126
Trk::KalmanVertexUpdator::~KalmanVertexUpdator
~KalmanVertexUpdator()
Destructor.
Trk::KalmanVertexUpdator::initialize
virtual StatusCode initialize() override
Definition
KalmanVertexUpdator.cxx:23
Trk::KalmanVertexUpdator::remove
virtual xAOD::Vertex * remove(xAOD::Vertex &vtx, VxTrackAtVertex &trk) const override
Method removing already added track from the vertex estimate.
Definition
KalmanVertexUpdator.cxx:42
Trk::KalmanVertexUpdator::trackParametersChi2
virtual float trackParametersChi2(const xAOD::Vertex &new_vtx, const LinearizedTrack *trk) const override
Method calculating the interstep Chi2 increment.
Definition
KalmanVertexUpdator.cxx:164
Trk::LinearizedTrack
Definition
LinearizedTrack.h:43
Trk::VxTrackAtVertex
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
Definition
VxTrackAtVertex.h:77
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
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
Trk::IVertexUpdator::positionUpdateOutcome
Definition
IVertexUpdator.h:60
Generated on
for ATLAS Offline Software by
1.17.0