CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoVertex/VertexPrimitives/src/VertexTrack.cc

Go to the documentation of this file.
00001 #include "RecoVertex/VertexPrimitives/interface/VertexTrack.h"
00002 
00003 
00004 template <unsigned int N>
00005 VertexTrack<N>::VertexTrack(const RefCountedLinearizedTrackState lt, 
00006                          const VertexState v, 
00007                          float weight) 
00008   : theLinTrack(lt), theVertexState(v), theWeight(weight),
00009     stAvailable(false), covAvailable(false), smoothedChi2_(-1.) {}
00010 
00011 
00012 template <unsigned int N>
00013 VertexTrack<N>::VertexTrack(const RefCountedLinearizedTrackState lt, 
00014                          const VertexState v, float weight,
00015                          const RefCountedRefittedTrackState & refittedState,
00016                          float smoothedChi2)
00017   : theLinTrack(lt), theVertexState(v), theWeight(weight),
00018     stAvailable(true), covAvailable(false), theRefittedState(refittedState),
00019     smoothedChi2_(smoothedChi2) {}
00020 
00021 
00022 template <unsigned int N>
00023 VertexTrack<N>::VertexTrack(const RefCountedLinearizedTrackState lt, 
00024                          const VertexState v, float weight, 
00025                          const RefCountedRefittedTrackState & refittedState,
00026                          float smoothedChi2, const AlgebraicSymMatrixOO & fullCov) 
00027   : theLinTrack(lt), theVertexState(v), theWeight(weight),
00028     stAvailable(true), covAvailable(true), 
00029     theRefittedState(refittedState), fullCovariance_(fullCov),
00030     smoothedChi2_(smoothedChi2) {}
00031 
00032 
00033 template <unsigned int N>
00034 typename VertexTrack<N>::AlgebraicVectorN VertexTrack<N>::refittedParamFromEquation() const 
00035 {
00036   return linearizedTrack()->refittedParamFromEquation(theRefittedState);
00037 }
00038 
00039 template class VertexTrack<5>;
00040 template class VertexTrack<6>;
00041 
00042 //   /** Track to vertex covariance 
00043 //    */   
00044 // template <unsigned int N>
00045 // typename VertexTrack<N>::AlgebraicMatrix3M VertexTrack<N>::tkToVtxCovariance() const {
00046 //     if (!tkToVertexCovarianceAvailable()) {
00047 //       throw VertexException("VertexTrack::track to vertex covariance not available"); 
00048 //     }
00049 // //     if (N==5) {
00050 // //       ROOT::Math::SMatrix<double,6,6,ROOT::Math::MatRepSym<double,6> > b6 = fullCovariance_;
00051 // //       return b.Sub<AlgebraicMatrix3M>(3,0);
00052 // //       //a = b.Sub< ROOT::Math::SMatrix<double,3,N-2,ROOT::Math::MatRepStd<double,3,N-2> > >(3,0);
00053 // //     }
00054 //     ROOT::Math::SMatrix<double,3,N-2,ROOT::Math::MatRepStd<double,3,N-2> > a;
00055 //     return a;
00056 //   }