5#ifndef TRKVERTEXFITTERBILLOIR_FULLVERTEXFITTER_H
6#define TRKVERTEXFITTERBILLOIR_FULLVERTEXFITTER_H
8#include "GaudiKernel/ToolHandle.h"
63 virtual std::unique_ptr<xAOD::Vertex>
fit(
64 const EventContext& ctx,
65 const std::vector<const Trk::TrackParameters*>& perigeeList,
70 virtual std::unique_ptr<xAOD::Vertex>
fit(
71 const EventContext& ctx,
72 const std::vector<const TrackParameters*>& perigeeList,
73 const std::vector<const Trk::NeutralParameters*>& ,
77 <<
"FullVertexFitter::fit(fit(const std::vector<const "
78 "TrackParameters*>&,const std::vector<const "
79 "Trk::NeutralParameters*>&,const Amg::Vector3D&) ignoring neutrals"
81 return fit(ctx, perigeeList, startingPoint);
86 virtual std::unique_ptr<xAOD::Vertex>
fit(
87 const EventContext& ctx,
88 const std::vector<const Trk::TrackParameters*>& perigeeList,
93 virtual std::unique_ptr<xAOD::Vertex>
fit(
94 const EventContext& ctx,
95 const std::vector<const TrackParameters*>& perigeeList,
96 const std::vector<const Trk::NeutralParameters*>& ,
100 <<
"FullVertexFitter::fit(fit(const std::vector<const "
101 "TrackParameters*>&,const std::vector<const "
102 "Trk::NeutralParameters*>&,const xAOD::Vertex&) ignoring neutrals"
104 return fit(ctx, perigeeList, constraint);
111 virtual std::unique_ptr<xAOD::Vertex>
fit(
112 const EventContext& ctx,
113 const std::vector<const Trk::TrackParameters*>&
114 perigeeList)
const override;
116 virtual std::unique_ptr<xAOD::Vertex>
fit(
117 const EventContext& ctx,
118 const std::vector<const TrackParameters*>& perigeeList,
119 const std::vector<const Trk::NeutralParameters*>& )
122 msg(MSG::WARNING) <<
"FullVertexFitter::fit(fit(const std::vector<const "
123 "TrackParameters*>&,const std::vector<const "
124 "Trk::NeutralParameters*>&) ignoring neutrals"
126 return fit(ctx, perigeeList);
130 virtual std::unique_ptr<xAOD::Vertex>
fit(
131 const EventContext& ctx,
132 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
137 virtual std::unique_ptr<xAOD::Vertex>
fit(
138 const EventContext& ctx,
139 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
140 const std::vector<const xAOD::NeutralParticle*>& ,
144 <<
"FullVertexFitter::fit(fit(const std::vector<const "
145 "TrackParticle*>&,const std::vector<const "
146 "Trk::NeutralParticle*>&,const Amg::Vector3D&) ignoring neutrals"
148 return fit(ctx, vectorTrk, startingPoint);
153 virtual std::unique_ptr<xAOD::Vertex>
fit(
154 const EventContext& ctx,
155 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
161 virtual std::unique_ptr<xAOD::Vertex>
fit(
162 const EventContext& ctx,
163 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
164 const std::vector<const xAOD::NeutralParticle*>& ,
168 <<
"FullVertexFitter::fit(fit(const std::vector<const "
169 "TrackParticle*>&,const std::vector<const "
170 "Trk::NeutralParticle*>&,const xAOD::Vertex&) ignoring neutrals"
172 return fit(ctx, vectorTrk, constraint);
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::IVertexLinearizedTrackFactory > m_linFactory
Data members to store the results.
virtual ~FullVertexFitter()
standard destructor
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const Trk::TrackParameters * > &perigeeList, const Amg::Vector3D &startingPoint) const override
Interface for ParametersBase with starting point.
virtual StatusCode initialize() override
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &) const override
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &, const xAOD::Vertex &constraint) const override
Interface for TrackParameters and NeutralParameters with RecVertex starting point.
unsigned int m_maxIterations
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
*Interface for xAOD::TrackParticle and NeutralParticle with starting point
FullVertexFitter(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 TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &, const Amg::Vector3D &startingPoint) const override
Interface for TrackParameters and NeutralParameters with starting point.
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &vectorTrk, const Amg::Vector3D &startingPoint) const =0
Interface for xAOD::TrackParticle with starting point Event Context aware interface.
An Abstract Base Class for the LinearizedTrackFactories.
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.