|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef TRKVERTEXFITTERS_ADAPTIVEMULTIVERTEXFITTER_H
7 #define TRKVERTEXFITTERS_ADAPTIVEMULTIVERTEXFITTER_H
11 #include "GaudiKernel/ToolHandle.h"
100 static const InterfaceID IID_AdaptiveMultiVertexFitter(
"AdaptiveMultiVertexFitter", 1, 0);
105 class VxTrackAtVertex;
107 class TrackToVtxLink;
143 fit(std::vector<xAOD::Vertex*> & allVertices)
const;
176 static const InterfaceID&
178 return IID_AdaptiveMultiVertexFitter;
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"
double m_initialError
Initial error in form of diagonal elements of the inverse of the covariance matrix (name is misleadin...
static bool findAmongVertices(const xAOD::Vertex *vertex, const std::vector< xAOD::Vertex * > &previousVertices)
Internal method to find a VxCandidate among a vector of VxCandidates.
void prepareCompatibility(xAOD::Vertex *newvertex) const
Internal function to prepare the compatibility information of all the tracks of the new vertex (an IP...
static const InterfaceID & interfaceID()
double m_minweight
Minimum weight a track as to have in order to be considered in the fit of one of the vertices.
ToolHandle< Trk::IImpactPoint3dEstimator > m_ImpactPoint3dEstimator
double m_maxDistToLinPoint
Maximum distance of linearization point of track to actual fitted vertex before needing to relineariz...
void addVtxTofit(xAOD::Vertex *pVtx) const
virtual ~AdaptiveMultiVertexFitter()
destructor
ToolHandle< Trk::IVertexUpdator > m_VertexUpdator
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< Trk::IVertexTrackCompatibilityEstimator > m_TrackCompatibilityEstimator
std::vector< double > collectWeights(TrackToVtxLink &tracklink) const
Internal function to collect the weights of the tracks partecipating to all the possible vertices (ne...
long int m_maxIterations
Max number of iterations.
double m_maxRelativeShift
Maximum shift allowed for last iteration...
ToolHandle< Trk::IVertexAnnealingMaker > m_AnnealingMaker
Ensure that the ATLAS eigen extensions are properly loaded.
void addVtxToFit(xAOD::Vertex *pVtx) const
Adds a new MVFVxCandidate to a previous multi-vertex fit and fits everything together.
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_LinearizedTrackFactory
void fit(std::vector< xAOD::Vertex * > &allVertices) const
fit all the provided MVFVxCandidate, which have to be already properly initialized.
Class describing a Vertex.
bool m_doSmoothing
True if smoothing after fit iterations has to be performed: otherwise the Smoother AlgoTool provided ...
AdaptiveMultiVertexFitter(const std::string &t, const std::string &n, const IInterface *p)
default constructor due to Athena interface
ToolHandle< Trk::IVertexSmoother > m_VertexSmoother