CMS 3D CMS Logo

VertexTrackCompatibilityEstimator.h

Go to the documentation of this file.
00001 #ifndef _VertexTrackCompatibilityEstimator_H
00002 #define _VertexTrackCompatibilityEstimator_H
00003 
00004 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h"
00005 #include "DataFormats/VertexReco/interface/Vertex.h"
00006 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00007 
00013 template <unsigned int N>
00014 class VertexTrackCompatibilityEstimator {
00015  
00016 public:
00017 
00018   typedef typename CachingVertex<N>::RefCountedVertexTrack RefCountedVertexTrack;
00019   typedef typename VertexTrack<N>::RefCountedLinearizedTrackState RefCountedLinearizedTrackState;
00020 
00021   VertexTrackCompatibilityEstimator(){}
00022   virtual ~VertexTrackCompatibilityEstimator(){}
00023   
00027   virtual float estimate(const CachingVertex<N> & v, 
00028                          const RefCountedLinearizedTrackState track) const = 0;
00029 
00030   virtual float estimate(const reco::Vertex & v, 
00031                          const reco::TransientTrack & track) const = 0;
00032 
00033   // obsolete ?
00034   virtual float estimate(const CachingVertex<N> & v, 
00035                          const RefCountedVertexTrack track) const = 0;
00039   virtual VertexTrackCompatibilityEstimator<N> * clone() const = 0; 
00040   
00041 };
00042 
00043 #endif

Generated on Tue Jun 9 17:46:13 2009 for CMSSW by  doxygen 1.5.4