5#ifndef TRKVERTEXFITTERBILLOIR_FASTVERTEXFITTER_H
6#define TRKVERTEXFITTERBILLOIR_FASTVERTEXFITTER_H
10#include "GaudiKernel/ToolHandle.h"
53 virtual std::unique_ptr<xAOD::Vertex>
fit(
54 const EventContext& ctx,
55 const std::vector<const Trk::TrackParameters*>& perigeeList,
60 virtual std::unique_ptr<xAOD::Vertex>
fit(
61 const EventContext& ctx,
62 const std::vector<const TrackParameters*>& perigeeList,
63 const std::vector<const Trk::NeutralParameters*>& ,
67 <<
"FastVertexFitter::fit(fit(const std::vector<const "
68 "TrackParameters*>&,const std::vector<const "
69 "Trk::NeutralParameters*>&,const Amg::Vector3D&) ignoring neutrals"
71 return fit(ctx, perigeeList, startingPoint);
76 virtual std::unique_ptr<xAOD::Vertex>
fit(
77 const EventContext& ctx,
78 const std::vector<const Trk::TrackParameters*>& perigeeList,
83 virtual std::unique_ptr<xAOD::Vertex>
fit(
84 const EventContext& ctx,
85 const std::vector<const TrackParameters*>& perigeeList,
86 const std::vector<const Trk::NeutralParameters*>& ,
90 <<
"FastVertexFitter::fit(fit(const std::vector<const "
91 "TrackParameters*>&,const std::vector<const "
92 "Trk::NeutralParameters*>&,const xAOD::Vertex&) ignoring neutrals"
94 return fit(ctx, perigeeList, constraint);
101 virtual std::unique_ptr<xAOD::Vertex>
fit(
102 const EventContext& ctx,
103 const std::vector<const Trk::TrackParameters*>& perigeeList)
const override;
105 virtual std::unique_ptr<xAOD::Vertex>
fit(
106 const EventContext& ctx,
107 const std::vector<const TrackParameters*>& perigeeList,
108 const std::vector<const Trk::NeutralParameters*>& )
111 msg(MSG::WARNING) <<
"FastVertexFitter::fit(fit(const std::vector<const "
112 "TrackParameters*>&,const std::vector<const "
113 "Trk::NeutralParameters*>&) ignoring neutrals"
115 return fit(ctx, perigeeList);
119 virtual std::unique_ptr<xAOD::Vertex>
fit(
120 const EventContext& ctx,
121 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
126 virtual std::unique_ptr<xAOD::Vertex>
fit(
127 const EventContext& ctx,
128 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
129 const std::vector<const xAOD::NeutralParticle*>& ,
133 <<
"FastVertexFitter::fit(fit(const std::vector<const "
134 "TrackParticle*>&,const std::vector<const "
135 "Trk::NeutralParticle*>&,const Amg::Vector3D&) ignoring neutrals"
137 return fit(ctx, vectorTrk, startingPoint);
142 virtual std::unique_ptr<xAOD::Vertex>
fit(
143 const EventContext& ctx,
144 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
150 virtual std::unique_ptr<xAOD::Vertex>
fit(
151 const EventContext& ctx,
152 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
153 const std::vector<const xAOD::NeutralParticle*>& ,
157 <<
"FastVertexFitter::fit(fit(const std::vector<const "
158 "TrackParticle*>&,const std::vector<const "
159 "Trk::NeutralParticle*>&,const xAOD::Vertex&) ignoring neutrals"
161 return fit(ctx, vectorTrk, constraint);
168 ToolHandle<Trk::IExtrapolator>
m_extrapolator{
this,
"Extrapolator",
"Trk::Extrapolator"};
169 ToolHandle<Trk::IVertexLinearizedTrackFactory>
m_linFactory{
this,
"LinearizedTrackFactory",
"Trk::FullLinearizedTrackFactory"};
Define macros for attributes used to control the static checker.
unsigned int m_maxIterations
virtual StatusCode initialize() override
ToolHandle< Trk::IExtrapolator > m_extrapolator
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.
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_linFactory
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
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 ~FastVertexFitter()
standard destructor
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
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &) const override
FastVertexFitter(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 xAOD::Vertex &constraint) const override
Interface for TrackParameters and NeutralParameters with RecVertex 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.