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 
23 // system include files
24 #include <memory>
25 
26 // user include files
29 
32 
35 
41 
48 //#include "RecoVertex/VertexTools/interface/VertexDistanceXY.h"
50 #include <algorithm>
53 
54 //
55 // class declaration
56 //
57 
59 public:
60 
63 
64  // obsolete method
65  std::vector<TransientVertex>
66  vertices(const std::vector<reco::TransientTrack> & tracks) const override;
67 
68  virtual std::vector<TransientVertex>
69  vertices(const std::vector<reco::TransientTrack> & tracks,
70  const reco::BeamSpot & beamSpot,
71  const std::string& label=""
72  ) const;
76  return new PrimaryVertexProducerAlgorithm(*this);
77  }
78 
79 
80  // access to config
81  edm::ParameterSet config() const { return theConfig; }
84 private:
86  // ----------member data ---------------------------
89 
90  // vtx fitting algorithms
91  struct algo {
96  double minNdof;
97  };
98 
99  std::vector< algo > algorithms;
100 
102  bool fVerbose;
103 
104 };
105 #endif
106 
PrimaryVertexProducerAlgorithm * clone() const override
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks) const override
PrimaryVertexProducerAlgorithm(const edm::ParameterSet &)
TrackFilterForPVFindingBase * theTrackFilter
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const =0