00001 #ifndef ConversionVertexFinder_H 00002 #define ConversionVertexFinder_H 00003 00012 #include "TrackingTools/TransientTrack/interface/TransientTrack.h" 00013 #include "RecoVertex/VertexPrimitives/interface/TransientVertex.h" 00014 #include "RecoVertex/KalmanVertexFit/interface/KalmanVertexFitter.h" 00015 #include "RecoVertex/KinematicFit/interface/KinematicConstrainedVertexFitter.h" 00016 // 00017 #include "DataFormats/TrackReco/interface/Track.h" 00018 #include "DataFormats/TrackReco/interface/TrackExtra.h" 00019 #include "DataFormats/VertexReco/interface/Vertex.h" 00020 #include "DataFormats/VertexReco/interface/VertexFwd.h" 00021 // 00022 // 00023 #include "FWCore/Framework/interface/ESHandle.h" 00024 #include "FWCore/Framework/interface/EventSetup.h" 00025 #include "FWCore/Framework/interface/Event.h" 00026 #include <vector> 00027 00028 class KinematicConstrainedVertexFitter; 00029 class ConversionVertexFinder { 00030 00031 public: 00032 00033 ConversionVertexFinder(const edm::ParameterSet& config); 00034 00035 00036 ~ConversionVertexFinder(); 00037 00038 00039 TransientVertex run (std::vector<reco::TransientTrack> pair); 00040 00041 bool run(std::vector<reco::TransientTrack> pair, reco::Vertex& the_vertex) ; 00042 00043 00044 private: 00045 edm::ParameterSet conf_; 00046 double maxDelta_; 00047 double maxReducedChiSq_; 00048 double minChiSqImprovement_; 00049 int maxNbrOfIterations_; 00050 KinematicConstrainedVertexFitter* kcvFitter_; 00051 00052 00053 }; 00054 00055 #endif // ConversionVertexFinder_H 00056 00057