Skip to content
Snippets Groups Projects

KalmanVertexUpdator performance tuning for use in AMVF

All threads resolved!
Files
2
@@ -75,7 +75,23 @@ namespace Trk
float vertexPositionChi2(const xAOD::Vertex& old_vtx, const xAOD::Vertex& new_vtx) const;
private:
// struct used as return value for a faster version of positionUpdate
struct positionUpdateOutcome{
Amg::Vector3D position;
AmgSymMatrix(3) covariancePosition;
};
// this method avoids the xAOD::Vertex return value of the public version, speeding up execution significantly.
positionUpdateOutcome positionUpdateFast (const xAOD::Vertex& vtx, const LinearizedTrack * trk, double trackWeight, int sign) const;
// interface to the positionUpdateOutcome struct for internal use within positionUpdateFast
float trackParametersChi2(const positionUpdateOutcome& new_vtx, const LinearizedTrack * trk) const;
float vertexPositionChi2(const xAOD::Vertex& old_vtx, const positionUpdateOutcome& new_vtx) const;
// internal methods performing the actual calculations
float trackParametersChi2(const Amg::Vector3D & new_position, const LinearizedTrack * trk) const;
float vertexPositionChi2(const xAOD::Vertex& old_vtx, const Amg::Vector3D & new_position) const;
/**
* Method where the fit is actually done
*/
Loading