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 <algorithm>
48 
49 //
50 // class declaration
51 //
52 
54 public:
57 
58  // obsolete method
59  std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack>& tracks) const override;
60 
61  virtual std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack>& tracks,
62  const reco::BeamSpot& beamSpot,
63  const std::string& label = "") const;
66  PrimaryVertexProducerAlgorithm* clone() const override { return new PrimaryVertexProducerAlgorithm(*this); }
67 
68  // access to config
69  edm::ParameterSet config() const { return theConfig; }
72 
73 private:
75  // ----------member data ---------------------------
78 
79  // vtx fitting algorithms
80  struct algo {
85  double minNdof;
86  };
87 
88  std::vector<algo> algorithms;
89 
91  bool fVerbose;
92 };
93 #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