17#ifndef TRKV0FITTER_TRKV0VERTEXFITTER_H
18#define TRKV0FITTER_TRKV0VERTEXFITTER_H
21#include "GaudiKernel/ToolHandle.h"
47 virtual StatusCode
finalize()
override;
50 TrkV0VertexFitter(
const std::string& t,
const std::string& n,
const IInterface* p);
54 virtual xAOD::Vertex *
fit(
const std::vector<const xAOD::TrackParticle*>& vectorTrk,
57 virtual xAOD::Vertex *
fit(
const std::vector<const xAOD::TrackParticle*>& vectorTrk,
58 const std::vector<const xAOD::NeutralParticle*>& ,
62 <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
63 "TrackParticle*>&,const std::vector<const "
64 "Trk::NeutralParticle*>&,const Amg::Vector3D&) ignoring neutrals"
66 return fit(vectorTrk, startingPoint);
70 virtual xAOD::Vertex *
fit(
const std::vector<const xAOD::TrackParticle*>& vectorTrk,
73 virtual xAOD::Vertex *
fit(
const std::vector<const xAOD::TrackParticle*>& vectorTrk,
74 const std::vector<const xAOD::NeutralParticle*>& ,
78 <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
79 "TrackParticle*>&,const std::vector<const "
80 "Trk::NeutralParticle*>&,const xAOD::Vertex&) ignoring neutrals"
82 return fit(vectorTrk, constraint);
88 const std::vector<const xAOD::TrackParticle*>& vectorTrk)
const;
92 const std::vector<const Trk::TrackParameters*>& perigeeList,
98 const std::vector<const Trk::TrackParameters*>& perigeeList,
99 const std::vector<const Trk::NeutralParameters*>& ,
103 <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
104 "Trk::TrackParameters*>&,const std::vector<const "
105 "Trk::NeutralParameters*>&,const Amg::Vector3D&) ignoring neutrals"
107 return fit(perigeeList, startingPoint);
112 const std::vector<const Trk::TrackParameters*>& perigeeList,
118 const std::vector<const Trk::TrackParameters*>& perigeeList,
119 const std::vector<const Trk::NeutralParameters*>& ,
123 <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
124 "Trk::TrackParameters*>&,const std::vector<const "
125 "Trk::NeutralParameters*>&,const xAOD::Vertex&) ignoring neutrals"
127 return fit(perigeeList, constraint);
132 virtual xAOD::Vertex*
fit(
const std::vector<const Trk::TrackParameters*>&
133 perigeeList)
const override;
136 const std::vector<const Trk::TrackParameters*>& perigeeList,
137 const std::vector<const Trk::NeutralParameters*>& )
140 msg(MSG::WARNING) <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
141 "Trk::TrackParameters*>&,const std::vector<const "
142 "Trk::NeutralParameters*>&) ignoring neutrals"
144 return fit(perigeeList);
156 virtual xAOD::Vertex *
fit(
const std::vector<const xAOD::TrackParticle*> & vectorTrk,
157 const std::vector<double>& masses,
158 const double& constraintMass,
162 virtual xAOD::Vertex *
fit(
const std::vector<const Trk::TrackParameters*> & perigeeList,
163 const std::vector<double>& masses,
164 const double& constraintMass,
181 {
this,
"AtlasFieldCacheCondObj",
"fieldCondObj",
"Name of the Magnetic Field conditions object key"};
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &vectorTrk, const Amg::Vector3D &startingPoint) const
Interface for xAOD::TrackParticle with starting point Event Context aware interface.
virtual xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &vectorTrk, const std::vector< const xAOD::NeutralParticle * > &, const xAOD::Vertex &constraint) const override
virtual xAOD::Vertex * fit(const std::vector< const Trk::TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &, const xAOD::Vertex &constraint) const override
Interface for TrackParameters and NeutralParameters with xAOD::Vertex starting point.
virtual xAOD::Vertex * fit(const std::vector< const Trk::TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &, const Amg::Vector3D &startingPoint) const override
Interface for Trk::TrackParameters and NeutralParameters with Amg::Vector3D starting point.
virtual StatusCode initialize() override
TrkV0VertexFitter(const std::string &t, const std::string &n, const IInterface *p)
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
ToolHandle< Trk::IExtrapolator > m_extrapolator
Data members to store the results.
virtual xAOD::Vertex * fit(const std::vector< const Trk::TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &) const override
virtual xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &vectorTrk, const std::vector< const xAOD::NeutralParticle * > &, const Amg::Vector3D &startingPoint) const override
virtual StatusCode finalize() override
virtual ~TrkV0VertexFitter()
standard destructor
virtual xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &vectorTrk, const Amg::Vector3D &startingPoint) const override
Interface for xAOD::TrackParticle with Amg::Vector3D starting point.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
Vertex_v1 Vertex
Define the latest version of the vertex class.