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 }