CMS 3D CMS Logo

TrimmedVertexFinder Class Reference

Algorithm to find 0 or 1 cluster of tracks that are compatible with a single vertex, among `remain`, the initial set of tracks. More...

#include <RecoVertex/TrimmedKalmanVertexFinder/interface/TrimmedVertexFinder.h>

List of all members.

Public Types

typedef
ReferenceCountingPointer
< LinearizedTrackState< 5 > > 
RefCountedLinearizedTrackState
typedef
ReferenceCountingPointer
< VertexTrack< 5 > > 
RefCountedVertexTrack

Public Member Functions

TrimmedVertexFinderclone () const
 clone method
void setTrackCompatibilityCut (float cut)
 Set parameter.
float trackCompatibilityCut () const
 Access to parameter.
 TrimmedVertexFinder (const TrimmedVertexFinder &other)
 Copy constructor, needed to handle copy of pointer data members correctly.
 TrimmedVertexFinder (const VertexFitter< 5 > *vf, const VertexUpdator< 5 > *vu, const VertexTrackCompatibilityEstimator< 5 > *ve)
std::vector< TransientVertexvertices (std::vector< reco::TransientTrack > &remain) const
 Make 0 or 1 vertex On output, `remain` contains the incompatible tracks.
 ~TrimmedVertexFinder ()

Private Member Functions

vector< RefCountedVertexTrack >
::iterator 
theWorst (const CachingVertex< 5 > &vtx, std::vector< RefCountedVertexTrack > &vtxTracks, float cut) const

Private Attributes

VertexTrackCompatibilityEstimator< 5 > * theEstimator
VertexFitter< 5 > * theFitter
float theMinProb
VertexUpdator< 5 > * theUpdator


Detailed Description

Algorithm to find 0 or 1 cluster of tracks that are compatible with a single vertex, among `remain`, the initial set of tracks.

A track is declared incompatible with the vertex if the chi-squared probability between the track and the vertex is smaller than `min`. The algorithm applied is:
1) fit a single vertex with all tracks;
2) remove incompatible tracks 1 by 1 starting from the least compatible one.
On output, `remain` contains the incompatible tracks. This algorithm has 1 parameter that can be set at runtime via the corresponding set() method:

Definition at line 28 of file TrimmedVertexFinder.h.


Member Typedef Documentation

typedef ReferenceCountingPointer<LinearizedTrackState<5> > TrimmedVertexFinder::RefCountedLinearizedTrackState

Definition at line 33 of file TrimmedVertexFinder.h.

typedef ReferenceCountingPointer<VertexTrack<5> > TrimmedVertexFinder::RefCountedVertexTrack

Definition at line 32 of file TrimmedVertexFinder.h.


Constructor & Destructor Documentation

TrimmedVertexFinder::TrimmedVertexFinder ( const VertexFitter< 5 > *  vf,
const VertexUpdator< 5 > *  vu,
const VertexTrackCompatibilityEstimator< 5 > *  ve 
)

Definition at line 8 of file TrimmedVertexFinder.cc.

Referenced by clone().

00011   : theFitter(vf->clone()), theUpdator(vu->clone()), 
00012     theEstimator(ve->clone()), theMinProb(0.05)
00013 {}

TrimmedVertexFinder::TrimmedVertexFinder ( const TrimmedVertexFinder other  ) 

Copy constructor, needed to handle copy of pointer data members correctly.

Definition at line 16 of file TrimmedVertexFinder.cc.

00018   : theFitter(other.theFitter->clone()), 
00019   theUpdator(other.theUpdator->clone()), 
00020   theEstimator(other.theEstimator->clone()), 
00021   theMinProb(other.theMinProb)
00022 {}

TrimmedVertexFinder::~TrimmedVertexFinder (  ) 

Definition at line 25 of file TrimmedVertexFinder.cc.

References theEstimator, theFitter, and theUpdator.

00025                                           {
00026   delete theFitter;
00027   delete theUpdator;
00028   delete theEstimator;
00029 }


Member Function Documentation

TrimmedVertexFinder* TrimmedVertexFinder::clone ( void   )  const [inline]

clone method

Definition at line 60 of file TrimmedVertexFinder.h.

References TrimmedVertexFinder().

00060                                       {
00061     return new TrimmedVertexFinder(*this);
00062   }

void TrimmedVertexFinder::setTrackCompatibilityCut ( float  cut  )  [inline]

Set parameter.

Definition at line 56 of file TrimmedVertexFinder.h.

References theMinProb.

Referenced by ConfigurableTrimmedVertexFinder::vertexCandidates().

00056 { theMinProb = cut; }

vector<RefCountedVertexTrack>::iterator TrimmedVertexFinder::theWorst ( const CachingVertex< 5 > &  vtx,
std::vector< RefCountedVertexTrack > &  vtxTracks,
float  cut 
) const [private]

float TrimmedVertexFinder::trackCompatibilityCut (  )  const [inline]

Access to parameter.

Definition at line 52 of file TrimmedVertexFinder.h.

References theMinProb.

00052 { return theMinProb; }

std::vector<TransientVertex> TrimmedVertexFinder::vertices ( std::vector< reco::TransientTrack > &  remain  )  const

Make 0 or 1 vertex On output, `remain` contains the incompatible tracks.

Referenced by ConfigurableTrimmedVertexFinder::vertexCandidates().


Member Data Documentation

VertexTrackCompatibilityEstimator<5>* TrimmedVertexFinder::theEstimator [private]

Definition at line 77 of file TrimmedVertexFinder.h.

Referenced by ~TrimmedVertexFinder().

VertexFitter<5>* TrimmedVertexFinder::theFitter [private]

Definition at line 75 of file TrimmedVertexFinder.h.

Referenced by ~TrimmedVertexFinder().

float TrimmedVertexFinder::theMinProb [private]

Definition at line 78 of file TrimmedVertexFinder.h.

Referenced by setTrackCompatibilityCut(), and trackCompatibilityCut().

VertexUpdator<5>* TrimmedVertexFinder::theUpdator [private]

Definition at line 76 of file TrimmedVertexFinder.h.

Referenced by ~TrimmedVertexFinder().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:34:35 2009 for CMSSW by  doxygen 1.5.4