CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/RecoVertex/KinematicFit/interface/KinematicParticleVertexFitter.h

Go to the documentation of this file.
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