00001 #ifndef RecoBTag_KalmanGhostTrackUpdater_h 00002 #define RecoBTag_KalmanGhostTrackUpdater_h 00003 00004 #include "RecoVertex/GhostTrackFitter/interface/GhostTrackFitter.h" 00005 00006 namespace reco { 00007 00008 class GhostTrackPrediction; 00009 class GhostTrackState; 00010 00011 class KalmanGhostTrackUpdater : public GhostTrackFitter::PredictionUpdater { 00012 public: 00013 virtual ~KalmanGhostTrackUpdater() {} 00014 00015 virtual KalmanGhostTrackUpdater *clone() const 00016 { return new KalmanGhostTrackUpdater(*this); } 00017 00018 GhostTrackPrediction update(const GhostTrackPrediction &pred, 00019 const GhostTrackState &state, 00020 double &ndof, double &chi2) const; 00021 00022 void contribution(const GhostTrackPrediction &pred, 00023 const GhostTrackState &state, 00024 double &ndof, double &chi2, 00025 bool withPredError = false) const; 00026 }; 00027 00028 } 00029 00030 #endif // RecoBTag_KalmanGhostTrackUpdater_h