CMS 3D CMS Logo

PrimaryVertexProducerAlgorithm.h
Go to the documentation of this file.
1 #ifndef PrimaryVertexProducerAlgorithm_H
3 #define PrimaryVertexProducerAlgorithm_H
4 // -*- C++ -*-
5 //
6 // Package: PrimaryVertexProducerAlgorithm
7 // Class: PrimaryVertexProducerAlgorithm
8 //
16 //
17 // Original Author: Pascal Vanlaer
18 // Created: Tue Feb 28 11:06:34 CET 2006
19 //
20 //
21 
22 // system include files
23 #include <memory>
24 
25 // user include files
29 
32 
38 
45 //#include "RecoVertex/VertexTools/interface/VertexDistanceXY.h"
47 #include <algorithm>
50 
51 //
52 // class declaration
53 //
54 
56 public:
59 
60  // obsolete method
61  std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack>& tracks) const override;
62 
63  virtual std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack>& tracks,
64  const reco::BeamSpot& beamSpot,
65  const std::string& label = "") const;
68  PrimaryVertexProducerAlgorithm* clone() const override { return new PrimaryVertexProducerAlgorithm(*this); }
69 
70  // access to config
71  edm::ParameterSet config() const { return theConfig; }
74 
75 private:
77  // ----------member data ---------------------------
80 
81  // vtx fitting algorithms
82  struct algo {
87  double minNdof;
88  };
89 
90  std::vector<algo> algorithms;
91 
93  bool fVerbose;
94 };
95 #endif
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks) const override
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const =0
char const * label
PrimaryVertexProducerAlgorithm * clone() const override
PrimaryVertexProducerAlgorithm(const edm::ParameterSet &)
TrackFilterForPVFindingBase * theTrackFilter
auto const & tracks
cannot be loose