CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoVertex/KinematicFitPrimitives/interface/KinematicRefittedTrackState.h

Go to the documentation of this file.
00001 #ifndef KinematicRefittedTrackState_H
00002 #define KinematicRefittedTrackState_H
00003 
00004 #include "RecoVertex/VertexPrimitives/interface/RefittedTrackState.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/PerigeeKinematicState.h"
00006 #include "RecoVertex/KinematicFitPrimitives/interface/Matrices.h"
00007 
00008 
00022 class KinematicRefittedTrackState : public RefittedTrackState<6>{
00023 
00024 public:
00025 
00026  typedef ReferenceCountingPointer<RefittedTrackState<6> > RefCountedRefittedTrackState;
00027 
00028  KinematicRefittedTrackState(const KinematicState& st, const AlgebraicVector4& mv);
00029 
00033  AlgebraicVector6 parameters() const;
00034   
00038  AlgebraicSymMatrix66 covariance() const ;
00039 
00043  AlgebraicVector7 kinematicParameters() const;
00044   
00048  AlgebraicSymMatrix77 kinematicParametersCovariance() const ;
00049 
00053  FreeTrajectoryState freeTrajectoryState() const;
00054  
00055  GlobalPoint position() const;
00056 
00060  AlgebraicVector4 kinematicMomentumVector() const;
00061 
00065  AlgebraicVector4 momentumVector() const;
00066 
00067  TrajectoryStateOnSurface trajectoryStateOnSurface(const Surface & surface) const;
00068 
00069  TrajectoryStateOnSurface trajectoryStateOnSurface(const Surface & surface, 
00070                                                    const Propagator & propagator) const;
00071                                                    
00072  virtual double weight() const;
00073 
00074  virtual ReferenceCountingPointer<RefittedTrackState<6> > stateWithNewWeight
00075         (const double newWeight) const;
00076 
00077  virtual std::vector< ReferenceCountingPointer<RefittedTrackState<6> > > components() const;                                               
00078 
00079  virtual reco::TransientTrack transientTrack() const;
00080 
00081 
00082 private:
00083 
00084  KinematicState state; 
00085  AlgebraicVector4 momentumAtVertex;
00086 
00087 };
00088 #endif