7#ifndef TRKVKALVRTFITTER_IVERTEXCASCADEFITTER_H
8#define TRKVKALVRTFITTER_IVERTEXCASCADEFITTER_H
11#include "GaudiKernel/IAlgTool.h"
35 virtual std::unique_ptr<IVKalState>
makeState(
const EventContext& ctx)
const = 0;
38 std::span<const double> particleMass,
40 double massConstraint = 0.)
const = 0;
43 std::span<const double> particleMass,
45 double massConstraint = 0.)
const = 0;
48 std::span<const double> particleMass,
49 const std::vector<VertexID> &precedingVertices,
51 double massConstraint = 0.)
const = 0;
54 const Vertex * primVertex = 0,
bool FirstDecayAtPV =
false )
const = 0;
57 const std::vector<const xAOD::TrackParticle*> & tracksInConstraint,
58 const std::vector<VertexID> &verticesInConstraint,
60 double massConstraint )
const = 0;
Base class for VKal state object.
virtual std::unique_ptr< IVKalState > makeState(const EventContext &ctx) const =0
virtual VertexID nextVertex(const std::vector< const xAOD::TrackParticle * > &list, std::span< const double > particleMass, IVKalState &istate, double massConstraint=0.) const =0
virtual VertexID nextVertex(const std::vector< const xAOD::TrackParticle * > &list, std::span< const double > particleMass, const std::vector< VertexID > &precedingVertices, IVKalState &istate, double massConstraint=0.) const =0
virtual VxCascadeInfo * fitCascade(IVKalState &istate, const Vertex *primVertex=0, bool FirstDecayAtPV=false) const =0
virtual VertexID startVertex(const std::vector< const xAOD::TrackParticle * > &list, std::span< const double > particleMass, IVKalState &istate, double massConstraint=0.) const =0
DeclareInterfaceID(IVertexCascadeFitter, 1, 0)
virtual StatusCode addMassConstraint(VertexID Vertex, const std::vector< const xAOD::TrackParticle * > &tracksInConstraint, const std::vector< VertexID > &verticesInConstraint, IVKalState &istate, double massConstraint) const =0
This class is a simplest representation of a vertex candidate.
Ensure that the ATLAS eigen extensions are properly loaded.