6#ifndef TRKVERTEXFITTERS_ADAPTIVEMULTIVERTEXFITTER_H
7#define TRKVERTEXFITTERS_ADAPTIVEMULTIVERTEXFITTER_H
11#include "GaudiKernel/ToolHandle.h"
143 fit(std::vector<xAOD::Vertex*> & allVertices)
const;
176 static const InterfaceID&
262 "LinearizedTrackFactory",
263 "Trk::FullLinearizedTrackFactory"
265 ToolHandle<Trk::IVertexTrackCompatibilityEstimator>
267 "TrackCompatibilityEstimator",
268 "Trk::Chi2TrackCompatibilityEstimator" };
271 "ImpactPoint3dEstimator",
272 "Trk::ImpactPoint3dEstimator/ImpactPoint3dEstimator"
278 "Trk::KalmanVertexUpdator"
283 "Trk::SequentialVertexSmoother"
288 "Trk::DetAnnealingMaker"
ToolHandle< Trk::IImpactPoint3dEstimator > m_ImpactPoint3dEstimator
double m_minweight
Minimum weight a track as to have in order to be considered in the fit of one of the vertices.
virtual ~AdaptiveMultiVertexFitter()
destructor
ToolHandle< Trk::IVertexSmoother > m_VertexSmoother
static bool findAmongVertices(const xAOD::Vertex *vertex, const std::vector< xAOD::Vertex * > &previousVertices)
Internal method to find a VxCandidate among a vector of VxCandidates.
long int m_maxIterations
Max number of iterations.
ToolHandle< Trk::IVertexAnnealingMaker > m_AnnealingMaker
void addVtxToFit(xAOD::Vertex *pVtx) const
Adds a new MVFVxCandidate to a previous multi-vertex fit and fits everything together.
void addVtxTofit(xAOD::Vertex *pVtx) const
void prepareCompatibility(xAOD::Vertex *newvertex) const
Internal function to prepare the compatibility information of all the tracks of the new vertex (an IP...
bool m_doSmoothing
True if smoothing after fit iterations has to be performed: otherwise the Smoother AlgoTool provided ...
double m_initialError
Initial error in form of diagonal elements of the inverse of the covariance matrix (name is misleadin...
ToolHandle< Trk::IVertexUpdator > m_VertexUpdator
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_LinearizedTrackFactory
ToolHandle< Trk::IVertexTrackCompatibilityEstimator > m_TrackCompatibilityEstimator
double m_maxRelativeShift
Maximum shift allowed for last iteration... (in terms of Delta|VecR|/sigma|VecR|)
double m_maxDistToLinPoint
Maximum distance of linearization point of track to actual fitted vertex before needing to relineariz...
void fit(std::vector< xAOD::Vertex * > &allVertices) const
fit all the provided MVFVxCandidate, which have to be already properly initialized.
AdaptiveMultiVertexFitter(const std::string &t, const std::string &n, const IInterface *p)
default constructor due to Athena interface
static const InterfaceID & interfaceID()
std::vector< double > collectWeights(TrackToVtxLink &tracklink) const
Internal function to collect the weights of the tracks partecipating to all the possible vertices (ne...
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_AdaptiveMultiVertexFitter("AdaptiveMultiVertexFitter", 1, 0)
Vertex_v1 Vertex
Define the latest version of the vertex class.