00001 #ifndef KinematicParticleVertexFitter_H 00002 #define KinematicParticleVertexFitter_H 00003 00004 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicTree.h" 00005 #include "RecoVertex/VertexTools/interface/LinearizationPointFinder.h" 00006 #include "RecoVertex/VertexTools/interface/VertexTrackFactory.h" 00007 #include "RecoVertex/KinematicFit/interface/InputSort.h" 00008 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h" 00009 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00010 00025 class KinematicParticleVertexFitter 00026 { 00027 00028 public: 00029 00034 KinematicParticleVertexFitter(); 00035 00036 KinematicParticleVertexFitter(const edm::ParameterSet pSet); 00037 00038 /* 00039 * Constructor with the LinearizationPointFinder 00040 * Linearization point finder should have an 00041 * ability to find point out of set of FreeTrajectoryStates 00042 * LMSLinearizationPointFinder is used as default. 00043 */ 00044 // KinematicParticleVertexFitter(const LinearizationPointFinder& finder); 00045 00046 ~KinematicParticleVertexFitter(); 00047 00055 RefCountedKinematicTree fit(std::vector<RefCountedKinematicParticle> particles) const; 00056 00057 private: 00058 00059 edm::ParameterSet defaultParameters() const; 00060 void setup(const edm::ParameterSet pSet); 00061 00062 VertexFitter<6> * fitter; 00063 LinearizationPointFinder * pointFinder; 00064 VertexTrackFactory<6> * vFactory; 00065 }; 00066 #endif