00001 #ifndef _AbstractConfFitter_H_ 00002 #define _AbstractConfFitter_H_ 00003 00004 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h" 00005 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00006 00012 class AbstractConfFitter : public VertexFitter<5> 00013 { 00014 public: 00015 00016 typedef CachingVertex<5>::RefCountedVertexTrack RefCountedVertexTrack; 00020 AbstractConfFitter ( const VertexFitter<5> & f ); 00021 AbstractConfFitter (); 00022 AbstractConfFitter ( const AbstractConfFitter & ); 00023 00024 virtual void configure ( const edm::ParameterSet & ) = 0; 00025 virtual edm::ParameterSet defaults() const = 0; 00026 virtual ~AbstractConfFitter(); 00027 AbstractConfFitter * clone() const = 0; 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 public: 00042 const VertexFitter<5> * theFitter; 00043 }; 00044 00045 #endif