CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoVertex/GaussianSumVertexFit/interface/GsfVertexTrackCompatibilityEstimator.h

Go to the documentation of this file.
00001 #ifndef GsfVertexTrackCompatibilityEstimator_H
00002 #define GsfVertexTrackCompatibilityEstimator_H
00003 
00004 
00005 #include "RecoVertex/VertexPrimitives/interface/VertexTrackCompatibilityEstimator.h"
00006 #include "RecoVertex/VertexPrimitives/interface/VertexTrack.h"
00007 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h"
00008 #include "RecoVertex/VertexTools/interface/VertexTrackFactory.h"
00009 #include "RecoVertex/GaussianSumVertexFit/interface/MultiPerigeeLTSFactory.h"
00010 #include "RecoVertex/GaussianSumVertexFit/interface/GsfVertexUpdator.h"
00011 
00012 #include "RecoVertex/KalmanVertexFit/interface/KalmanVertexTrackUpdator.h"
00013 #include "RecoVertex/KalmanVertexFit/interface/KVFHelper.h"
00014 
00025 class GsfVertexTrackCompatibilityEstimator:public VertexTrackCompatibilityEstimator<5>
00026 {
00027 
00028 public:
00029 
00030   typedef CachingVertex<5>::RefCountedVertexTrack RefCountedVertexTrack;
00031 
00032   GsfVertexTrackCompatibilityEstimator(){}
00033 
00034   virtual ~GsfVertexTrackCompatibilityEstimator(){}
00035 
00044   virtual BDpair estimate(const CachingVertex<5> & vrt, const RefCountedVertexTrack track) const;
00045 
00046   virtual BDpair estimate(const CachingVertex<5> & v, 
00047                          const RefCountedLinearizedTrackState track) const;
00048 
00049   virtual BDpair estimate(const reco::Vertex & vertex, 
00050                          const reco::TransientTrack & track) const;
00051 
00052   virtual GsfVertexTrackCompatibilityEstimator * clone() const
00053   {
00054     return new GsfVertexTrackCompatibilityEstimator(* this);
00055   }
00056 
00057 
00058 private:
00059 
00060   BDpair estimateFittedTrack(const CachingVertex<5> & v, const RefCountedVertexTrack track) const;
00061   BDpair estimateNFittedTrack(const CachingVertex<5> & v, const RefCountedVertexTrack track) const;  
00062 
00063   GsfVertexUpdator updator;
00064 //   KalmanVertexTrackUpdator trackUpdator;
00065   MultiPerigeeLTSFactory lTrackFactory;
00066   VertexTrackFactory<5> vTrackFactory;
00067 //   KVFHelper helper;
00068 
00069 };
00070 
00071 #endif