CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoVertex/TrimmedKalmanVertexFinder/interface/KalmanTrimmedVertexFinder.h

Go to the documentation of this file.
00001 #ifndef _KalmanTrimmedVertexFinder_H_
00002 #define _KalmanTrimmedVertexFinder_H_
00003 
00004 #include "RecoVertex/TrimmedKalmanVertexFinder/interface/ConfigurableTrimmedVertexFinder.h"
00005 
00013 class KalmanTrimmedVertexFinder 
00014   : public VertexReconstructor {
00015 
00016 public:
00017 
00018   KalmanTrimmedVertexFinder();
00019   KalmanTrimmedVertexFinder(
00020     const KalmanTrimmedVertexFinder & other);
00021   virtual ~KalmanTrimmedVertexFinder();
00022 
00025   virtual KalmanTrimmedVertexFinder * clone() const {
00026     return new KalmanTrimmedVertexFinder(*this);
00027   }
00028 
00029   virtual inline std::vector<TransientVertex> 
00030     vertices(const std::vector<reco::TransientTrack> & tracks) const { 
00031     return theFinder->vertices(tracks); 
00032   }
00033   
00034   virtual inline std::vector<TransientVertex> 
00035     vertices(const std::vector<reco::TransientTrack> & tracks,
00036         const reco::BeamSpot & s ) const { 
00037     return theFinder->vertices(tracks,s); 
00038   }
00039 
00040   inline std::vector<TransientVertex> 
00041     vertices( const std::vector<reco::TransientTrack> & tracks, 
00042               std::vector<reco::TransientTrack>& unused) const {
00043     return theFinder->vertices(tracks, unused, reco::BeamSpot(), false );
00044   }
00045   
00046   inline std::vector<TransientVertex> 
00047     vertices( const std::vector<reco::TransientTrack> & tracks, 
00048               std::vector<reco::TransientTrack>& unused,
00049         const reco::BeamSpot & spot, bool usespot=false ) const {
00050     return theFinder->vertices(tracks, unused, spot, usespot );
00051   }
00052 
00055   inline float ptCut() const { return theFinder->ptCut(); }
00056   inline float trackCompatibilityCut() const { 
00057     return theFinder->trackCompatibilityCut();
00058   }
00059   inline float trackCompatibilityToSV() const { 
00060     return theFinder->trackCompatibilityToSV();
00061   }
00062   inline float vertexFitProbabilityCut() const { 
00063     return theFinder->vertexFitProbabilityCut();
00064   }
00065   inline int maxNbOfVertices() const { return theFinder->maxNbOfVertices(); }
00066 
00070   void setParameters ( const edm::ParameterSet & );   
00071    
00072   inline void setPtCut(float cut) { theFinder->setPtCut(cut); }
00073   inline void setTrackCompatibilityCut(float cut) {
00074     theFinder->setTrackCompatibilityCut(cut);
00075   }
00076   inline void setTrackCompatibilityToSV(float cut) {
00077     theFinder->setTrackCompatibilityToSV(cut);
00078   }
00079   inline void setVertexFitProbabilityCut(float cut) { 
00080     theFinder->setVertexFitProbabilityCut(cut);
00081   }
00082   inline void setMaxNbOfVertices(int max) { 
00083     theFinder->setMaxNbOfVertices(max);
00084   }
00085 
00086 private:
00087 
00088   ConfigurableTrimmedVertexFinder * theFinder;
00089 
00090 };
00091 
00092 #endif