00001 #ifndef RecoBTag_VertexGhostTrackState_h 00002 #define RecoBTag_VertexGhostTrackState_h 00003 00004 #include <utility> 00005 00006 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00007 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h" 00008 00009 #include "RecoVertex/GhostTrackFitter/interface/BasicGhostTrackState.h" 00010 00011 namespace reco { 00012 00013 class GhostTrackPrediction; 00014 00015 class VertexGhostTrackState : public BasicGhostTrackState { 00016 public: 00017 VertexGhostTrackState(const GlobalPoint &pos, 00018 const CovarianceMatrix &cov) : 00019 position_(pos), covariance_(cov) {} 00020 00021 GlobalPoint globalPosition() const { return position_; } 00022 GlobalError cartesianError() const { return covariance_; } 00023 CovarianceMatrix cartesianCovariance() const { return covariance_; } 00024 00025 Vertex vertexStateOnGhostTrack(const GhostTrackPrediction &pred, 00026 bool withMeasurementError) const; 00027 Vertex vertexStateOnMeasurement(const GhostTrackPrediction &pred, 00028 bool withGhostTrackError) const; 00029 00030 private: 00031 BasicGhostTrackState *clone() const 00032 { return new VertexGhostTrackState(*this); } 00033 00034 GlobalPoint position_; 00035 CovarianceMatrix covariance_; 00036 }; 00037 00038 } 00039 00040 #endif // RecoBTag_VertexGhostTrackState_h