File indexing completed on 2023-03-17 11:23:27
0001 #ifndef _MultiVertexReconstructor_H_
0002 #define _MultiVertexReconstructor_H_
0003
0004 #include "RecoVertex/VertexPrimitives/interface/VertexReconstructor.h"
0005 #include "RecoVertex/MultiVertexFit/interface/MultiVertexFitter.h"
0006 #include "RecoVertex/MultiVertexFit/interface/DefaultMVFAnnealing.h"
0007
0008
0009
0010
0011
0012 class MultiVertexReconstructor : public VertexReconstructor {
0013 public:
0014 MultiVertexReconstructor(const VertexReconstructor &,
0015 const AnnealingSchedule &s = DefaultMVFAnnealing(),
0016 float revive = -1.);
0017 MultiVertexReconstructor(const MultiVertexReconstructor &);
0018 ~MultiVertexReconstructor() override;
0019
0020 std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &,
0021 const reco::BeamSpot &) const override;
0022 std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &) const override;
0023 std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &,
0024 const std::vector<reco::TransientTrack> &primaries) const;
0025
0026 std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &,
0027 const std::vector<reco::TransientTrack> &primaries,
0028 const reco::BeamSpot &spot) const override;
0029
0030 VertexReconstructor *reconstructor() const;
0031
0032 MultiVertexReconstructor *clone() const override;
0033
0034 private:
0035 VertexReconstructor *theOldReconstructor;
0036 mutable MultiVertexFitter theFitter;
0037 };
0038
0039 #endif