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 std::unique_ptr<xAOD::Vertex>
fit(
const EventContext& ctx,
55 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
58 virtual std::unique_ptr<xAOD::Vertex>
fit(
const EventContext& ctx,
59 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
60 const std::vector<const xAOD::NeutralParticle*>& ,
64 <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
65 "TrackParticle*>&,const std::vector<const "
66 "Trk::NeutralParticle*>&,const Amg::Vector3D&) ignoring neutrals"
68 return fit(ctx, vectorTrk, startingPoint);
72 virtual std::unique_ptr<xAOD::Vertex>
fit(
const EventContext& ctx,
73 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
76 virtual std::unique_ptr<xAOD::Vertex>
fit(
const EventContext& ctx,
77 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
78 const std::vector<const xAOD::NeutralParticle*>& ,
82 <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
83 "TrackParticle*>&,const std::vector<const "
84 "Trk::NeutralParticle*>&,const xAOD::Vertex&) ignoring neutrals"
86 return fit(ctx, vectorTrk, constraint);
91 virtual std::unique_ptr<xAOD::Vertex>
fit(
92 const EventContext& ctx,
93 const std::vector<const xAOD::TrackParticle*>& vectorTrk)
const;
96 virtual std::unique_ptr<xAOD::Vertex>
fit(
97 const EventContext& ctx,
98 const std::vector<const Trk::TrackParameters*>& perigeeList,
103 virtual std::unique_ptr<xAOD::Vertex>
fit(
104 const EventContext& ctx,
105 const std::vector<const Trk::TrackParameters*>& perigeeList,
106 const std::vector<const Trk::NeutralParameters*>& ,
110 <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
111 "Trk::TrackParameters*>&,const std::vector<const "
112 "Trk::NeutralParameters*>&,const Amg::Vector3D&) ignoring neutrals"
114 return fit(ctx, perigeeList, startingPoint);
118 virtual std::unique_ptr<xAOD::Vertex>
fit(
119 const EventContext& ctx,
120 const std::vector<const Trk::TrackParameters*>& perigeeList,
125 virtual std::unique_ptr<xAOD::Vertex>
fit(
126 const EventContext& ctx,
127 const std::vector<const Trk::TrackParameters*>& perigeeList,
128 const std::vector<const Trk::NeutralParameters*>& ,
132 <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
133 "Trk::TrackParameters*>&,const std::vector<const "
134 "Trk::NeutralParameters*>&,const xAOD::Vertex&) ignoring neutrals"
136 return fit(ctx, perigeeList, constraint);
141 virtual std::unique_ptr<xAOD::Vertex>
fit(
142 const EventContext& ctx,
143 const std::vector<const Trk::TrackParameters*>& perigeeList)
const override;
145 virtual std::unique_ptr<xAOD::Vertex>
fit(
146 const EventContext& ctx,
147 const std::vector<const Trk::TrackParameters*>& perigeeList,
148 const std::vector<const Trk::NeutralParameters*>& )
151 msg(MSG::WARNING) <<
"TrkV0VertexFitter::fit(fit(const std::vector<const "
152 "Trk::TrackParameters*>&,const std::vector<const "
153 "Trk::NeutralParameters*>&) ignoring neutrals"
155 return fit(ctx, perigeeList);
167 virtual std::unique_ptr<xAOD::Vertex>
fit(
const EventContext& ctx,
168 const std::vector<const xAOD::TrackParticle*> & vectorTrk,
169 const std::vector<double>& masses,
170 const double& constraintMass,
174 virtual std::unique_ptr<xAOD::Vertex>
fit(
const EventContext& ctx,
175 const std::vector<const Trk::TrackParameters*> & perigeeList,
176 const std::vector<double>& masses,
177 const double& constraintMass,
194 {
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 std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, 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)
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, 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.
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &vectorTrk, const std::vector< const xAOD::NeutralParticle * > &, const xAOD::Vertex &constraint) const override
ToolHandle< Trk::IExtrapolator > m_extrapolator
Data members to store the results.
virtual StatusCode finalize() override
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const Trk::TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &) const override
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &vectorTrk, const std::vector< const xAOD::NeutralParticle * > &, const Amg::Vector3D &startingPoint) const override
virtual ~TrkV0VertexFitter()
standard destructor
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, 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.