Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:09

0001 #ifndef KalmanTrackToTrackCovCalculator_H
0002 #define KalmanTrackToTrackCovCalculator_H
0003 
0004 #include "RecoVertex/VertexPrimitives/interface/TrackToTrackCovCalculator.h"
0005 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h"
0006 
0007 /**
0008    * Calculates all the track-to-track covariance matrices using the Kalman 
0009    * filter algorithms after the vertex has been fit and the tracks refit.
0010    */
0011 
0012 template <unsigned int N>
0013 class KalmanTrackToTrackCovCalculator : public TrackToTrackCovCalculator<N> {
0014 public:
0015   typedef typename CachingVertex<N>::RefCountedVertexTrack RefCountedVertexTrack;
0016 
0017   KalmanTrackToTrackCovCalculator() {}
0018 
0019   /**
0020    * Calculates all the track-to-track covariance matrices
0021    * \param vertex The vertex whose track-to-track covariance matrices have 
0022    *    to be calculated.
0023    * \return The map containing the covariance matrices.
0024    */
0025 
0026   typename CachingVertex<N>::TrackToTrackMap operator()(const CachingVertex<N>& vertex) const override;
0027 
0028   KalmanTrackToTrackCovCalculator* clone() const override { return new KalmanTrackToTrackCovCalculator(*this); }
0029 };
0030 
0031 #endif