ATLAS Offline Software
Loading...
Searching...
No Matches
IVertexFitter.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// IVertexFitter.h, (c) ATLAS Detector software 2005
8
9#ifndef TRKVERTEXFITTERINTERFACE_IVERTEXFITTER_H
10#define TRKVERTEXFITTERINTERFACE_IVERTEXFITTER_H
11
12#include "GaudiKernel/IAlgTool.h"
15#include <vector>
16
17// xAOD includes
18#include "memory"
21#include "xAODTracking/Vertex.h"
22
23class EventContext;
24
52
53namespace Trk {
54class IVertexFitter : virtual public IAlgTool
55{
56
57public:
59
63 virtual ~IVertexFitter() = default;
64
65
70 virtual std::unique_ptr<xAOD::Vertex> fit(
71 const EventContext& ctx,
72 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
73 const Amg::Vector3D& startingPoint) const = 0;
74
75
80 virtual std::unique_ptr<xAOD::Vertex> fit(
81 const EventContext& ctx,
82 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
83 const std::vector<const xAOD::NeutralParticle*>& vectorNeu,
84 const Amg::Vector3D& startingPoint) const = 0;
85
86
92 virtual std::unique_ptr<xAOD::Vertex> fit(
93 const EventContext& ctx,
94 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
95 const std::vector<const xAOD::NeutralParticle*>& vectorNeu,
96 const xAOD::Vertex& constraint) const = 0;
97
98
104 virtual std::unique_ptr<xAOD::Vertex> fit(
105 const EventContext& ctx,
106 const std::vector<const xAOD::TrackParticle*>& vectorTrk,
107 const xAOD::Vertex& constraint) const = 0;
108
109
114 virtual std::unique_ptr<xAOD::Vertex> fit(
115 const EventContext& ctx,
116 const std::vector<const Trk::TrackParameters*>& perigeeList,
117 const std::vector<const Trk::NeutralParameters*>& neutralPerigeeList,
118 const Amg::Vector3D& startingPoint) const = 0;
119
120
125 virtual std::unique_ptr<xAOD::Vertex> fit(
126 const EventContext& ctx,
127 const std::vector<const Trk::TrackParameters*>& perigeeList,
128 const Amg::Vector3D& startingPoint) const = 0;
129
130
136 virtual std::unique_ptr<xAOD::Vertex> fit(
137 const EventContext& ctx,
138 const std::vector<const Trk::TrackParameters*>& perigeeList,
139 const std::vector<const Trk::NeutralParameters*>& neutralPerigeeList,
140 const xAOD::Vertex& constraint) const = 0;
141
142
148 virtual std::unique_ptr<xAOD::Vertex> fit(
149 const EventContext& ctx,
150 const std::vector<const Trk::TrackParameters*>& perigeeList,
151 const xAOD::Vertex& constraint) const = 0;
152
153
159 virtual std::unique_ptr<xAOD::Vertex> fit(
160 const EventContext& ctx,
161 const std::vector<const Trk::TrackParameters*>& perigeeList,
162 const std::vector<const Trk::NeutralParameters*>& neutralPerigeeList) const = 0;
163
164
170 virtual std::unique_ptr<xAOD::Vertex> fit(
171 const EventContext& ctx,
172 const std::vector<const Trk::TrackParameters*>& perigeeList) const = 0;
173
174};
175}
176#endif
177
Interface class for vertex fitting AlgTools, for more detailed information, take a look at the header...
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &vectorTrk, const std::vector< const xAOD::NeutralParticle * > &vectorNeu, const Amg::Vector3D &startingPoint) const =0
Interface for xAOD::TrackParticle and xAOD::NeutralParticle with starting point.
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const Trk::TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &neutralPerigeeList, const xAOD::Vertex &constraint) const =0
Interface for TrackParameters and NeutralParameters with vertex constraint the position of the constr...
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.
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const Trk::TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &neutralPerigeeList) const =0
Fit method using the VertexSeedFinder to estimate initial position of the vertex and taking it as a f...
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const Trk::TrackParameters * > &perigeeList, const Amg::Vector3D &startingPoint) const =0
Interface for TrackParameters with starting point Event Context aware method.
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &vectorTrk, const xAOD::Vertex &constraint) const =0
Interface for xAOD::TrackParticle with vertex constraint the position of the constraint is ALWAYS the...
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &vectorTrk, const std::vector< const xAOD::NeutralParticle * > &vectorNeu, const xAOD::Vertex &constraint) const =0
Interface for xAOD::TrackParticle and xAOD::NeutralParticle with vertex constraint the position of th...
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const Trk::TrackParameters * > &perigeeList, const xAOD::Vertex &constraint) const =0
Interface for TrackParameters with vertex constraint the position of the constraint is ALWAYS the sta...
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const Trk::TrackParameters * > &perigeeList) const =0
Fit method using the VertexSeedFinder to estimate initial position of the vertex and taking it as a f...
virtual ~IVertexFitter()=default
Virtual destructor.
virtual std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const Trk::TrackParameters * > &perigeeList, const std::vector< const Trk::NeutralParameters * > &neutralPerigeeList, const Amg::Vector3D &startingPoint) const =0
Interface for TrackParameters and NeutralParameters with starting point Event Context aware method.
DeclareInterfaceID(IVertexFitter, 1, 0)
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.