CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoVertex/MultiVertexFit/interface/MultiVertexReconstructor.h

Go to the documentation of this file.
00001 #ifndef _MultiVertexReconstructor_H_
00002 #define _MultiVertexReconstructor_H_
00003 
00004 #include "RecoVertex/VertexPrimitives/interface/VertexReconstructor.h"
00005 #include "RecoVertex/MultiVertexFit/interface/MultiVertexFitter.h"
00006 #include "RecoVertex/MultiVertexFit/interface/DefaultMVFAnnealing.h"
00007 
00012 class MultiVertexReconstructor : public VertexReconstructor
00013 {
00014 public:
00015   MultiVertexReconstructor ( const VertexReconstructor &,
00016                              const AnnealingSchedule & s = DefaultMVFAnnealing(),
00017                              float revive=-1. );
00018   MultiVertexReconstructor ( const MultiVertexReconstructor & );
00019   ~MultiVertexReconstructor();
00020 
00021   std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &,
00022       const reco::BeamSpot & ) const; 
00023   std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &) const; 
00024   std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &,
00025       const std::vector < reco::TransientTrack > & primaries ) const;
00026 
00027   std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &,
00028       const std::vector < reco::TransientTrack > & primaries,
00029       const reco::BeamSpot & spot ) const;
00030 
00031   VertexReconstructor * reconstructor() const;
00032 
00033   MultiVertexReconstructor * clone() const;
00034 
00035 private:
00036   VertexReconstructor * theOldReconstructor;
00037   mutable MultiVertexFitter theFitter;
00038 };
00039 
00040 #endif