CMS 3D CMS Logo

TrimmedVertexFinder.h

Go to the documentation of this file.
00001 #ifndef _RecoVertex_TrimmedVertexFinder_H_
00002 #define _RecoVertex_TrimmedVertexFinder_H_
00003 
00004 #include "RecoVertex/VertexPrimitives/interface/TransientVertex.h"
00005 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00006 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h"
00007 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h"
00008 #include "RecoVertex/VertexPrimitives/interface/VertexUpdator.h"
00009 #include "RecoVertex/VertexPrimitives/interface/VertexTrackCompatibilityEstimator.h"
00010 #include <vector>
00011 
00028 class TrimmedVertexFinder {
00029 
00030 public:
00031 
00032   typedef ReferenceCountingPointer<VertexTrack<5> > RefCountedVertexTrack;
00033   typedef ReferenceCountingPointer<LinearizedTrackState<5> > RefCountedLinearizedTrackState;
00034 
00035   TrimmedVertexFinder(const VertexFitter<5> * vf, 
00036                       const VertexUpdator<5> * vu, 
00037                       const VertexTrackCompatibilityEstimator<5> * ve);
00038 
00041   TrimmedVertexFinder(const TrimmedVertexFinder & other);
00042   ~TrimmedVertexFinder();
00043 
00047   std::vector<TransientVertex> 
00048     vertices(std::vector<reco::TransientTrack> & remain) const;
00049 
00052   float trackCompatibilityCut() const { return theMinProb; }
00053 
00056   void setTrackCompatibilityCut(float cut) { theMinProb = cut; }
00057 
00060   TrimmedVertexFinder * clone() const {
00061     return new TrimmedVertexFinder(*this);
00062   }
00063 
00064 
00065 private:
00066 
00067   // finds least compatible track
00068   // returns vtxTracks.end() if all tracks are compatible
00069   //
00070   vector<RefCountedVertexTrack>::iterator theWorst(
00071     const CachingVertex<5> & vtx, 
00072     std::vector<RefCountedVertexTrack> & vtxTracks, 
00073     float cut) const;
00074 
00075   VertexFitter<5> * theFitter;
00076   VertexUpdator<5> * theUpdator;
00077   VertexTrackCompatibilityEstimator<5> * theEstimator;
00078   float theMinProb;
00079 
00080 };
00081 
00082 #endif

Generated on Tue Jun 9 17:46:12 2009 for CMSSW by  doxygen 1.5.4