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
28 
31 
34 
40 
47 //#include "RecoVertex/VertexTools/interface/VertexDistanceXY.h"
49 #include <algorithm>
52 
53 //
54 // class declaration
55 //
56 
58 public:
61 
62  // obsolete method
63  std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack>& tracks) const override;
64 
65  virtual std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack>& tracks,
66  const reco::BeamSpot& beamSpot,
67  const std::string& label = "") const;
70  PrimaryVertexProducerAlgorithm* clone() const override { return new PrimaryVertexProducerAlgorithm(*this); }
71 
72  // access to config
73  edm::ParameterSet config() const { return theConfig; }
76 
77 private:
79  // ----------member data ---------------------------
82 
83  // vtx fitting algorithms
84  struct algo {
89  double minNdof;
90  };
91 
92  std::vector<algo> algorithms;
93 
95  bool fVerbose;
96 };
97 #endif
PrimaryVertexProducerAlgorithm * clone() const override
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks) const override
char const * label
PrimaryVertexProducerAlgorithm(const edm::ParameterSet &)
TrackFilterForPVFindingBase * theTrackFilter
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const =0