ATLAS Offline Software
Loading...
Searching...
No Matches
TrkV0VertexFitter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TrkV0VertexFitter.h, (c) ATLAS Detector software 2006
8
16
17#ifndef TRKV0FITTER_TRKV0VERTEXFITTER_H
18#define TRKV0FITTER_TRKV0VERTEXFITTER_H
19
21#include "GaudiKernel/ToolHandle.h"
27
29
30namespace Trk
31{
32 class IExtrapolator;
38
39 class TrkV0VertexFitter : public extends<AthAlgTool, IVertexFitter>
40 {
41 public:
42 // The following 'using' can be removed when IVertexFitter::fit
43 // has been fully migrated to the one with the EventContext
45
46 virtual StatusCode initialize() override;
47 virtual StatusCode finalize() override;
48
50 TrkV0VertexFitter(const std::string& t, const std::string& n, const IInterface* p);
52
54 virtual std::unique_ptr<xAOD::Vertex> fit(const EventContext& ctx,
55 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
56 const Amg::Vector3D& startingPoint) const override;
57
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*>& /*vectorNeut*/,
61 const Amg::Vector3D& startingPoint) const override
62 {
63 msg(MSG::WARNING)
64 << "TrkV0VertexFitter::fit(fit(const std::vector<const "
65 "TrackParticle*>&,const std::vector<const "
66 "Trk::NeutralParticle*>&,const Amg::Vector3D&) ignoring neutrals"
67 << endmsg;
68 return fit(ctx, vectorTrk, startingPoint);
69 };
70
72 virtual std::unique_ptr<xAOD::Vertex> fit(const EventContext& ctx,
73 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
74 const xAOD::Vertex& constraint) const override;
75
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*>& /*vectorNeut*/,
79 const xAOD::Vertex& constraint) const override
80 {
81 msg(MSG::WARNING)
82 << "TrkV0VertexFitter::fit(fit(const std::vector<const "
83 "TrackParticle*>&,const std::vector<const "
84 "Trk::NeutralParticle*>&,const xAOD::Vertex&) ignoring neutrals"
85 << endmsg;
86 return fit(ctx, vectorTrk, constraint);
87 };
88
91 virtual std::unique_ptr<xAOD::Vertex> fit(
92 const EventContext& ctx,
93 const std::vector<const xAOD::TrackParticle*>& vectorTrk) const;
94
96 virtual std::unique_ptr<xAOD::Vertex> fit(
97 const EventContext& ctx,
98 const std::vector<const Trk::TrackParameters*>& perigeeList,
99 const Amg::Vector3D& startingPoint) const override;
100
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*>& /*neutralPerigeeList*/,
107 const Amg::Vector3D& startingPoint) const override
108 {
109 msg(MSG::WARNING)
110 << "TrkV0VertexFitter::fit(fit(const std::vector<const "
111 "Trk::TrackParameters*>&,const std::vector<const "
112 "Trk::NeutralParameters*>&,const Amg::Vector3D&) ignoring neutrals"
113 << endmsg;
114 return fit(ctx, perigeeList, startingPoint);
115 };
116
118 virtual std::unique_ptr<xAOD::Vertex> fit(
119 const EventContext& ctx,
120 const std::vector<const Trk::TrackParameters*>& perigeeList,
121 const xAOD::Vertex& constraint) const override;
122
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*>& /*neutralPerigeeList*/,
129 const xAOD::Vertex& constraint) const override
130 {
131 msg(MSG::WARNING)
132 << "TrkV0VertexFitter::fit(fit(const std::vector<const "
133 "Trk::TrackParameters*>&,const std::vector<const "
134 "Trk::NeutralParameters*>&,const xAOD::Vertex&) ignoring neutrals"
135 << endmsg;
136 return fit(ctx, perigeeList, constraint);
137 };
138
141 virtual std::unique_ptr<xAOD::Vertex> fit(
142 const EventContext& ctx,
143 const std::vector<const Trk::TrackParameters*>& perigeeList) const override;
144
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*>& /*neutralPerigeeList*/)
149 const override
150 {
151 msg(MSG::WARNING) << "TrkV0VertexFitter::fit(fit(const std::vector<const "
152 "Trk::TrackParameters*>&,const std::vector<const "
153 "Trk::NeutralParameters*>&) ignoring neutrals"
154 << endmsg;
155 return fit(ctx, perigeeList);
156 };
157
166
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,
171 const xAOD::Vertex* pointingVertex,
172 const Amg::Vector3D& startingPoint) const;
173
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,
178 const xAOD::Vertex* pointingVertex,
179 const Amg::Vector3D& startingPoint) const;
180
181
182 private:
185 double m_maxR;
186 double m_maxZ;
189
191
192 ToolHandle< Trk::IExtrapolator > m_extrapolator;
194 {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"};
195 };
196}
197#endif
#define endmsg
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.
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.
MsgStream & msg
Definition testRead.cxx:32