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, 00045 unsigned int hint=UINT_MAX) const; 00046 00047 virtual BDpair estimate(const CachingVertex<5> & v, 00048 const RefCountedLinearizedTrackState track, 00049 unsigned int hint=UINT_MAX) const; 00050 00051 virtual BDpair estimate(const reco::Vertex & vertex, 00052 const reco::TransientTrack & track) const; 00053 00054 virtual GsfVertexTrackCompatibilityEstimator * clone() const 00055 { 00056 return new GsfVertexTrackCompatibilityEstimator(* this); 00057 } 00058 00059 00060 private: 00061 00062 BDpair estimateFittedTrack(const CachingVertex<5> & v, const RefCountedVertexTrack track) const; 00063 BDpair estimateNFittedTrack(const CachingVertex<5> & v, const RefCountedVertexTrack track) const; 00064 00065 GsfVertexUpdator updator; 00066 // KalmanVertexTrackUpdator trackUpdator; 00067 MultiPerigeeLTSFactory lTrackFactory; 00068 VertexTrackFactory<5> vTrackFactory; 00069 // KVFHelper helper; 00070 00071 }; 00072 00073 #endif