Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:06

0001 #ifndef _ConfigurableVertexFitter_H_
0002 #define _ConfigurableVertexFitter_H_
0003 
0004 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h"
0005 #include "RecoVertex/ConfigurableVertexReco/interface/AbstractConfFitter.h"
0006 #include <string>
0007 #include <map>
0008 
0009 /**
0010  *  A VertexFitter whose concrete implementation
0011  *  (kalman filter, adaptive method, etc.) 
0012  *  is completely definable at runtime via
0013  *  a ParameterSet.
0014  *  Note that every fitter registers as a finder, also.
0015  */
0016 
0017 class ConfigurableVertexFitter : public VertexFitter<5> {
0018 public:
0019   typedef CachingVertex<5>::RefCountedVertexTrack RefCountedVertexTrack;
0020 
0021   ConfigurableVertexFitter(const edm::ParameterSet&);
0022   ConfigurableVertexFitter(const ConfigurableVertexFitter& o);
0023   ~ConfigurableVertexFitter() override;
0024 
0025   ConfigurableVertexFitter* clone() const override;
0026 
0027   CachingVertex<5> vertex(const std::vector<reco::TransientTrack>& t) const override;
0028   CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack>& tracks) const override;
0029   CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack>& tracks, const reco::BeamSpot& spot) const override;
0030   CachingVertex<5> vertex(const std::vector<reco::TransientTrack>& tracks, const GlobalPoint& linPoint) const override;
0031   CachingVertex<5> vertex(const std::vector<reco::TransientTrack>& tracks,
0032                           const GlobalPoint& priorPos,
0033                           const GlobalError& priorError) const override;
0034   CachingVertex<5> vertex(const std::vector<reco::TransientTrack>& tracks,
0035                           const reco::BeamSpot& beamSpot) const override;
0036   CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack>& tracks,
0037                           const GlobalPoint& priorPos,
0038                           const GlobalError& priorError) const override;
0039 
0040 private:
0041   AbstractConfFitter* theFitter;
0042 };
0043 
0044 #endif