CMS 3D CMS Logo

ConfigurableTrimmedKalmanFinder.cc

Go to the documentation of this file.
00001 #include "RecoVertex/ConfigurableVertexReco/interface/ConfigurableTrimmedKalmanFinder.h"
00002 #include "RecoVertex/TrimmedKalmanVertexFinder/interface/KalmanTrimmedVertexFinder.h"
00003 
00004 namespace {
00005   edm::ParameterSet mydefaults ()
00006   {
00007     edm::ParameterSet ret;
00008     ret.addParameter<double>("ptcut",0.);
00009     ret.addParameter<double>("trkcutpv",0.05);
00010     ret.addParameter<double>("trkcutsv",0.01);
00011     ret.addParameter<double>("vtxcut",0.01);
00012     return ret;
00013   }
00014 }
00015 
00016 ConfigurableTrimmedKalmanFinder::ConfigurableTrimmedKalmanFinder() :
00017     theRector( new KalmanTrimmedVertexFinder() )
00018 {}
00019 
00020 void ConfigurableTrimmedKalmanFinder::configure(
00021     const edm::ParameterSet & n )
00022 {
00023   if ( theRector ) delete theRector;
00024   edm::ParameterSet m=n;
00025   m.augment ( mydefaults() );
00026   KalmanTrimmedVertexFinder * tmp = new KalmanTrimmedVertexFinder();
00027   tmp->setPtCut ( m.getParameter<double>("ptcut") );
00028   tmp->setTrackCompatibilityCut ( m.getParameter<double>("trkcutpv") );
00029   tmp->setTrackCompatibilityToSV ( m.getParameter<double>("trkcutsv") );
00030   tmp->setVertexFitProbabilityCut ( m.getParameter<double>( "vtxcut" ) );
00031   theRector = tmp;
00032 }
00033 
00034 ConfigurableTrimmedKalmanFinder::~ConfigurableTrimmedKalmanFinder()
00035 {
00036   if ( theRector ) delete theRector;
00037 }
00038 
00039 ConfigurableTrimmedKalmanFinder::ConfigurableTrimmedKalmanFinder 
00040     ( const ConfigurableTrimmedKalmanFinder & o ) :
00041   theRector ( o.theRector->clone() )
00042 {}
00043 
00044 
00045 ConfigurableTrimmedKalmanFinder * ConfigurableTrimmedKalmanFinder::clone() const
00046 {
00047   return new ConfigurableTrimmedKalmanFinder ( *this );
00048 }
00049 
00050 vector < TransientVertex > ConfigurableTrimmedKalmanFinder::vertices ( 
00051     const std::vector < reco::TransientTrack > & t ) const
00052 {
00053   return theRector->vertices ( t );
00054 }
00055 
00056 vector < TransientVertex > ConfigurableTrimmedKalmanFinder::vertices ( 
00057     const std::vector < reco::TransientTrack > & t,
00058     const reco::BeamSpot & s ) const
00059 {
00060   return theRector->vertices ( t, s );
00061 }
00062 
00063 
00064 edm::ParameterSet ConfigurableTrimmedKalmanFinder::defaults() const
00065 {
00066   return mydefaults();
00067 }
00068 
00069 #include "RecoVertex/ConfigurableVertexReco/interface/ConfRecoBuilder.h"
00070 
00071 namespace {
00072   ConfRecoBuilder < ConfigurableTrimmedKalmanFinder > t ( "tkf", "Trimmed Kalman Vertex Finder" );
00073 }

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