![]() |
![]() |
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 00024 class KinematicParticleVertexFitter 00025 { 00026 00027 public: 00028 00033 KinematicParticleVertexFitter(); 00034 00035 00036 /* 00037 * Constructor with the LinearizationPointFinder 00038 * Linearization point finder should have an 00039 * ability to find point out of set of FreeTrajectoryStates 00040 * LMSLinearizationPointFinder is used as default. 00041 */ 00042 // KinematicParticleVertexFitter(const LinearizationPointFinder& finder); 00043 00044 ~KinematicParticleVertexFitter(); 00045 00053 RefCountedKinematicTree fit(vector<RefCountedKinematicParticle> particles) const; 00054 00055 private: 00056 00057 //widely used common tools 00058 //SequentialKinematicVertexFitter * fitter; use the default KalmanFilter instead! 00059 VertexFitter<6> * fitter; 00060 LinearizationPointFinder * pointFinder; 00061 VertexTrackFactory<6> * vFactory; 00062 }; 00063 #endif