Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:28:07

0001 #ifndef _AbstractConfFitter_H_
0002 #define _AbstractConfFitter_H_
0003 
0004 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 
0007 /**
0008  *  An abstract configurable reconstructor.
0009  *  must be configurable via ::configure
0010  */
0011 
0012 class AbstractConfFitter : public VertexFitter<5> {
0013 public:
0014   typedef CachingVertex<5>::RefCountedVertexTrack RefCountedVertexTrack;
0015   /** The configure method configures the vertex reconstructor.
0016      *  It also should also write all its applied defaults back into the map,
0017      */
0018   AbstractConfFitter(const VertexFitter<5>& f);
0019   AbstractConfFitter();
0020   AbstractConfFitter(const AbstractConfFitter&);
0021 
0022   virtual void configure(const edm::ParameterSet&) = 0;
0023   virtual edm::ParameterSet defaults() const = 0;
0024   ~AbstractConfFitter() override;
0025   AbstractConfFitter* clone() const override = 0;
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 public:
0041   const VertexFitter<5>* theFitter;
0042 };
0043 
0044 #endif