CMS 3D CMS Logo

KalmanVertexTrackUpdator< N > Class Template Reference

Performs the refit of the tracks with the vertex constraint, using the Kalman filter algorithms. More...

#include <RecoVertex/KalmanVertexFit/interface/KalmanVertexTrackUpdator.h>

Inheritance diagram for KalmanVertexTrackUpdator< N >:

VertexTrackUpdator< N >

List of all members.

Public Types

typedef ROOT::Math::SMatrix
< double, 3, N-2,
ROOT::Math::MatRepStd< double,
3, N-2 > > 
AlgebraicMatrix3M
typedef VertexTrack< N >
::RefCountedLinearizedTrackState 
RefCountedLinearizedTrackState
typedef VertexTrack< N >
::RefCountedRefittedTrackState 
RefCountedRefittedTrackState
typedef CachingVertex< N >
::RefCountedVertexTrack 
RefCountedVertexTrack
typedef std::pair
< RefCountedRefittedTrackState,
AlgebraicMatrix3M
trackMatrixPair

Public Member Functions

KalmanVertexTrackUpdator< N > * clone () const
 Clone method.
 KalmanVertexTrackUpdator ()
 Default constructor.
trackMatrixPair trackRefit (const VertexState &vertex, RefCountedLinearizedTrackState linTrackState, float weight) const
 Refit of the track with the vertex constraint.
RefCountedVertexTrack update (const CachingVertex< N > &vertex, RefCountedVertexTrack track) const
 Refit of the track with the vertex constraint.
virtual ~KalmanVertexTrackUpdator ()

Private Attributes

KVFHelper< N > helper
VertexTrackFactory< N > theVTFactory
KalmanVertexUpdator< N > updator


Detailed Description

template<unsigned int N>
class KalmanVertexTrackUpdator< N >

Performs the refit of the tracks with the vertex constraint, using the Kalman filter algorithms.

Definition at line 17 of file KalmanVertexTrackUpdator.h.


Member Typedef Documentation

template<unsigned int N>
typedef ROOT::Math::SMatrix<double,3,N-2,ROOT::Math::MatRepStd<double,3,N-2> > KalmanVertexTrackUpdator< N >::AlgebraicMatrix3M

Definition at line 55 of file KalmanVertexTrackUpdator.h.

template<unsigned int N>
typedef VertexTrack<N>::RefCountedLinearizedTrackState KalmanVertexTrackUpdator< N >::RefCountedLinearizedTrackState

Definition at line 22 of file KalmanVertexTrackUpdator.h.

template<unsigned int N>
typedef VertexTrack<N>::RefCountedRefittedTrackState KalmanVertexTrackUpdator< N >::RefCountedRefittedTrackState

Definition at line 23 of file KalmanVertexTrackUpdator.h.

template<unsigned int N>
typedef CachingVertex<N>::RefCountedVertexTrack KalmanVertexTrackUpdator< N >::RefCountedVertexTrack

Definition at line 21 of file KalmanVertexTrackUpdator.h.

template<unsigned int N>
typedef std::pair< RefCountedRefittedTrackState, AlgebraicMatrix3M > KalmanVertexTrackUpdator< N >::trackMatrixPair

Definition at line 56 of file KalmanVertexTrackUpdator.h.


Constructor & Destructor Documentation

template<unsigned int N>
KalmanVertexTrackUpdator< N >::KalmanVertexTrackUpdator (  )  [inline]

Default constructor.

Definition at line 30 of file KalmanVertexTrackUpdator.h.

Referenced by KalmanVertexTrackUpdator< 5 >::clone().

00030 {}

template<unsigned int N>
virtual KalmanVertexTrackUpdator< N >::~KalmanVertexTrackUpdator (  )  [inline, virtual]

Definition at line 32 of file KalmanVertexTrackUpdator.h.

00032 {}


Member Function Documentation

template<unsigned int N>
KalmanVertexTrackUpdator<N>* KalmanVertexTrackUpdator< N >::clone ( void   )  const [inline, virtual]

Clone method.

Implements VertexTrackUpdator< N >.

Definition at line 50 of file KalmanVertexTrackUpdator.h.

00051   {
00052     return new KalmanVertexTrackUpdator(*this);
00053   }

template<unsigned int N>
trackMatrixPair KalmanVertexTrackUpdator< N >::trackRefit ( const VertexState vertex,
RefCountedLinearizedTrackState  linTrackState,
float  weight 
) const

Refit of the track with the vertex constraint.

Parameters:
vertex The vertex which has to be used as constraint.
track The track to refit.
Returns:
The refitted state with the track-to-vertex covariance.

Referenced by GsfVertexSmoother::createNewComponent().

template<unsigned int N>
CachingVertex< N >::RefCountedVertexTrack KalmanVertexTrackUpdator< N >::update ( const CachingVertex< N > &  vertex,
RefCountedVertexTrack  track 
) const [inline]

Refit of the track with the vertex constraint.

Parameters:
vertex The vertex which has to be used as constraint.
track The track to refit.
Returns:
The VertexTrack containing the refitted track and the track-to-vertex covariance.

Definition at line 12 of file KalmanVertexTrackUpdator.cc.

References HLT_VtxMuL3::updator, and CachingVertex< N >::vertexState().

Referenced by SingleTrackVertexConstraint::constrain().

00014 {
00015   trackMatrixPair thePair = 
00016         trackRefit(vertex.vertexState(), track->linearizedTrack(), track->weight() );
00017 
00018   VertexState rVert = updator.positionUpdate (vertex.vertexState(), track->linearizedTrack(),
00019                         track->weight(), -1);
00020 
00021   float smoothedChi2 = helper.vertexChi2(rVert, vertex.vertexState()) +
00022         helper.trackParameterChi2(track->linearizedTrack(), thePair.first);
00023 
00024   return theVTFactory.vertexTrack(track->linearizedTrack(),
00025         vertex.vertexState(), thePair.first, smoothedChi2, thePair.second,
00026         track->weight());
00027 }


Member Data Documentation

template<unsigned int N>
KVFHelper<N> KalmanVertexTrackUpdator< N >::helper [private]

Definition at line 72 of file KalmanVertexTrackUpdator.h.

template<unsigned int N>
VertexTrackFactory<N> KalmanVertexTrackUpdator< N >::theVTFactory [private]

Definition at line 71 of file KalmanVertexTrackUpdator.h.

template<unsigned int N>
KalmanVertexUpdator<N> KalmanVertexTrackUpdator< N >::updator [private]

Definition at line 73 of file KalmanVertexTrackUpdator.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:16 2009 for CMSSW by  doxygen 1.5.4