ATLAS Offline Software
Loading...
Searching...
No Matches
FullVertexFitter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 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 xAOD::Vertex* fit(
63 const std::vector<const Trk::TrackParameters*>& perigeeList,
64 const Amg::Vector3D& startingPoint) const override;
65
68 virtual xAOD::Vertex* fit(
69 const std::vector<const TrackParameters*>& perigeeList,
70 const std::vector<const Trk::NeutralParameters*>& /*neutralPerigeeList*/,
71 const Amg::Vector3D& startingPoint) const override
72 {
73 msg(MSG::WARNING)
74 << "FullVertexFitter::fit(fit(const std::vector<const "
75 "TrackParameters*>&,const std::vector<const "
76 "Trk::NeutralParameters*>&,const Amg::Vector3D&) ignoring neutrals"
77 << endmsg;
78 return fit(perigeeList, startingPoint);
79 };
80
83 virtual xAOD::Vertex* fit(
84 const std::vector<const Trk::TrackParameters*>& perigeeList,
85 const xAOD::Vertex& constraint) const override;
86
89 virtual xAOD::Vertex* fit(
90 const std::vector<const TrackParameters*>& perigeeList,
91 const std::vector<const Trk::NeutralParameters*>& /*neutralPerigeeList*/,
92 const xAOD::Vertex& constraint) const override
93 {
94 msg(MSG::WARNING)
95 << "FullVertexFitter::fit(fit(const std::vector<const "
96 "TrackParameters*>&,const std::vector<const "
97 "Trk::NeutralParameters*>&,const xAOD::Vertex&) ignoring neutrals"
98 << endmsg;
99 return fit(perigeeList, constraint);
100 };
101
106 virtual xAOD::Vertex* fit(const std::vector<const Trk::TrackParameters*>&
107 perigeeList) const override;
108
110 const std::vector<const TrackParameters*>& perigeeList,
111 const std::vector<const Trk::NeutralParameters*>& /*neutralPerigeeList*/)
112 const override
113 {
114 msg(MSG::WARNING) << "FullVertexFitter::fit(fit(const std::vector<const "
115 "TrackParameters*>&,const std::vector<const "
116 "Trk::NeutralParameters*>&) ignoring neutrals"
117 << endmsg;
118 return fit(perigeeList);
119 };
120
122 virtual xAOD::Vertex* fit(
123 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
124 const Amg::Vector3D& startingPoint) const override;
125
129 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
130 const std::vector<const xAOD::NeutralParticle*>& /*vectorNeut*/,
131 const Amg::Vector3D& startingPoint) const override
132 {
133 msg(MSG::WARNING)
134 << "FullVertexFitter::fit(fit(const std::vector<const "
135 "TrackParticle*>&,const std::vector<const "
136 "Trk::NeutralParticle*>&,const Amg::Vector3D&) ignoring neutrals"
137 << endmsg;
138 return fit(vectorTrk, startingPoint);
139 };
140
143 virtual xAOD::Vertex* fit(
144 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
145 const xAOD::Vertex& constraint) const override;
146
151 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
152 const std::vector<const xAOD::NeutralParticle*>& /*vectorNeut*/,
153 const xAOD::Vertex& constraint) const override
154 {
155 msg(MSG::WARNING)
156 << "FullVertexFitter::fit(fit(const std::vector<const "
157 "TrackParticle*>&,const std::vector<const "
158 "Trk::NeutralParticle*>&,const xAOD::Vertex&) ignoring neutrals"
159 << endmsg;
160 return fit(vectorTrk, constraint);
161 };
162
163 private:
164 unsigned int m_maxIterations;
166
168
169 ToolHandle<Trk::IVertexLinearizedTrackFactory> m_linFactory;
170 };
171 }
172#endif
173
#define endmsg
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_linFactory
Data members to store the results.
virtual ~FullVertexFitter()
standard destructor
virtual xAOD::Vertex * fit(const std::vector< const Trk::TrackParameters * > &perigeeList, const Amg::Vector3D &startingPoint) const override
Interface for ParametersBase with starting point.
virtual xAOD::Vertex * fit(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 StatusCode initialize() override
virtual xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &vectorTrk, const std::vector< const xAOD::NeutralParticle * > &, const xAOD::Vertex &constraint) const override
FullVertexFitter(const std::string &t, const std::string &n, const IInterface *p)
virtual xAOD::Vertex * fit(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 xAOD::Vertex * fit(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 xAOD::Vertex * fit(const std::vector< const TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &) const override
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
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