CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/RecoVertex/GhostTrackFitter/interface/SequentialGhostTrackFitter.h

Go to the documentation of this file.
00001 #ifndef RecoBTag_SequentialGhostTrackFitter_h
00002 #define RecoBTag_SequentialGhostTrackFitter_h
00003 
00004 #include <vector>
00005 
00006 #include "RecoVertex/GhostTrackFitter/interface/GhostTrackFitter.h"
00007 
00008 namespace reco {
00009 
00010 class GhostTrackPrediction;
00011 class GhostTrackState;
00012 
00013 class SequentialGhostTrackFitter : public GhostTrackFitter::FitterImpl {
00014     public:
00015         SequentialGhostTrackFitter();
00016         ~SequentialGhostTrackFitter() {}
00017 
00018         GhostTrackPrediction fit(
00019                         const GhostTrackFitter::PredictionUpdater &updater,
00020                         const GhostTrackPrediction &prior,
00021                         std::vector<GhostTrackState> &states,
00022                         double &ndof, double &chi2);
00023 
00024     protected:
00025         virtual bool stable(const GhostTrackPrediction &before,
00026                             const GhostTrackPrediction &after) const;
00027         virtual void reset() {}
00028         virtual void postFit(
00029                         const GhostTrackFitter::PredictionUpdater &updater,
00030                         const GhostTrackPrediction &pred,
00031                         std::vector<GhostTrackState> &states) {}
00032 
00033     private:
00034         virtual FitterImpl *clone() const
00035         { return new SequentialGhostTrackFitter(*this); }
00036 
00037         unsigned int    maxIteration;
00038         double          minDeltaR;
00039         double          minDistance;
00040         double          weightThreshold;
00041 };
00042 
00043 }
00044 
00045 #endif // RecoBTag_SequentialGhostTrackFitter_h