ATLAS Offline Software
Loading...
Searching...
No Matches
FullVertexFitter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKVERTEXFITTERBILLOIR_FULLVERTEXFITTER_H
6#define TRKVERTEXFITTERBILLOIR_FULLVERTEXFITTER_H
7
8#include "GaudiKernel/ToolHandle.h"
14
15
16namespace Trk
17{
18 class Track;
20 class IExtrapolator;
22
36
37 class FullVertexFitter : public extends<AthAlgTool, IVertexFitter>
38 {
39 public:
40 // The following 'using' can be removed when IVertexFitter::fit has been
41 // fully migrated to the one with the EventContext
43
44 virtual StatusCode initialize() override;
45
56 FullVertexFitter(const std::string& t,
57 const std::string& n,
58 const IInterface* p);
60
62 virtual std::unique_ptr<xAOD::Vertex> fit(
63 const EventContext& ctx,
64 const std::vector<const Trk::TrackParameters*>& perigeeList,
65 const Amg::Vector3D& startingPoint) const override;
66
69 virtual std::unique_ptr<xAOD::Vertex> fit(
70 const EventContext& ctx,
71 const std::vector<const TrackParameters*>& perigeeList,
72 const std::vector<const Trk::NeutralParameters*>& /*neutralPerigeeList*/,
73 const Amg::Vector3D& startingPoint) const override
74 {
75 msg(MSG::WARNING)
76 << "FullVertexFitter::fit(fit(const std::vector<const "
77 "TrackParameters*>&,const std::vector<const "
78 "Trk::NeutralParameters*>&,const Amg::Vector3D&) ignoring neutrals"
79 << endmsg;
80 return fit(ctx, perigeeList, startingPoint);
81 };
82
85 virtual std::unique_ptr<xAOD::Vertex> fit(
86 const EventContext& ctx,
87 const std::vector<const Trk::TrackParameters*>& perigeeList,
88 const xAOD::Vertex& constraint) const override;
89
92 virtual std::unique_ptr<xAOD::Vertex> fit(
93 const EventContext& ctx,
94 const std::vector<const TrackParameters*>& perigeeList,
95 const std::vector<const Trk::NeutralParameters*>& /*neutralPerigeeList*/,
96 const xAOD::Vertex& constraint) const override
97 {
98 msg(MSG::WARNING)
99 << "FullVertexFitter::fit(fit(const std::vector<const "
100 "TrackParameters*>&,const std::vector<const "
101 "Trk::NeutralParameters*>&,const xAOD::Vertex&) ignoring neutrals"
102 << endmsg;
103 return fit(ctx, perigeeList, constraint);
104 };
105
110 virtual std::unique_ptr<xAOD::Vertex> fit(
111 const EventContext& ctx,
112 const std::vector<const Trk::TrackParameters*>&
113 perigeeList) const override;
114
115 virtual std::unique_ptr<xAOD::Vertex> fit(
116 const EventContext& ctx,
117 const std::vector<const TrackParameters*>& perigeeList,
118 const std::vector<const Trk::NeutralParameters*>& /*neutralPerigeeList*/)
119 const override
120 {
121 msg(MSG::WARNING) << "FullVertexFitter::fit(fit(const std::vector<const "
122 "TrackParameters*>&,const std::vector<const "
123 "Trk::NeutralParameters*>&) ignoring neutrals"
124 << endmsg;
125 return fit(ctx, perigeeList);
126 };
127
129 virtual std::unique_ptr<xAOD::Vertex> fit(
130 const EventContext& ctx,
131 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
132 const Amg::Vector3D& startingPoint) const override;
133
136 virtual std::unique_ptr<xAOD::Vertex> fit(
137 const EventContext& ctx,
138 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
139 const std::vector<const xAOD::NeutralParticle*>& /*vectorNeut*/,
140 const Amg::Vector3D& startingPoint) const override
141 {
142 msg(MSG::WARNING)
143 << "FullVertexFitter::fit(fit(const std::vector<const "
144 "TrackParticle*>&,const std::vector<const "
145 "Trk::NeutralParticle*>&,const Amg::Vector3D&) ignoring neutrals"
146 << endmsg;
147 return fit(ctx, vectorTrk, startingPoint);
148 };
149
152 virtual std::unique_ptr<xAOD::Vertex> fit(
153 const EventContext& ctx,
154 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
155 const xAOD::Vertex& constraint) const override;
156
160 virtual std::unique_ptr<xAOD::Vertex> fit(
161 const EventContext& ctx,
162 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
163 const std::vector<const xAOD::NeutralParticle*>& /*vectorNeut*/,
164 const xAOD::Vertex& constraint) const override
165 {
166 msg(MSG::WARNING)
167 << "FullVertexFitter::fit(fit(const std::vector<const "
168 "TrackParticle*>&,const std::vector<const "
169 "Trk::NeutralParticle*>&,const xAOD::Vertex&) ignoring neutrals"
170 << endmsg;
171 return fit(ctx, vectorTrk, constraint);
172 };
173
174 private:
175 unsigned int m_maxIterations;
177
179
180 ToolHandle<Trk::IVertexLinearizedTrackFactory> m_linFactory;
181 };
182 }
183#endif
184
#define endmsg
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.
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.
Interface class for the extrapolation AlgTool, it inherits from IAlgTool Detailed information about p...
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.
MsgStream & msg
Definition testRead.cxx:32