00001 #ifndef _ConfigurableVertexFitter_H_ 00002 #define _ConfigurableVertexFitter_H_ 00003 00004 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h" 00005 #include "RecoVertex/ConfigurableVertexReco/interface/AbstractConfFitter.h" 00006 #include <string> 00007 #include <map> 00008 00017 class ConfigurableVertexFitter : public VertexFitter<5> 00018 { 00019 public: 00020 00021 typedef CachingVertex<5>::RefCountedVertexTrack RefCountedVertexTrack; 00022 00023 ConfigurableVertexFitter ( const edm::ParameterSet & ); 00024 ConfigurableVertexFitter ( const ConfigurableVertexFitter & o ); 00025 ~ConfigurableVertexFitter(); 00026 00027 ConfigurableVertexFitter * clone () const; 00028 00029 CachingVertex<5> vertex ( const std::vector < reco::TransientTrack > & t ) const; 00030 CachingVertex<5> vertex( const std::vector<RefCountedVertexTrack> & tracks) const; 00031 CachingVertex<5> vertex( const std::vector<RefCountedVertexTrack> & tracks, 00032 const reco::BeamSpot & spot ) const; 00033 CachingVertex<5> vertex( const std::vector<reco::TransientTrack> & tracks, 00034 const GlobalPoint& linPoint) const; 00035 CachingVertex<5> vertex( const std::vector<reco::TransientTrack> & tracks, 00036 const GlobalPoint& priorPos, const GlobalError& priorError) const; 00037 CachingVertex<5> vertex( const std::vector<reco::TransientTrack> & tracks, 00038 const reco::BeamSpot& beamSpot) const; 00039 CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack> & tracks, 00040 const GlobalPoint& priorPos, const GlobalError& priorError) const; 00041 00042 private: 00043 AbstractConfFitter * theFitter; 00044 }; 00045 00046 #endif