Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:08

0001 #ifndef RecoBTag_VertexGhostTrackState_h
0002 #define RecoBTag_VertexGhostTrackState_h
0003 
0004 #include <utility>
0005 
0006 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0007 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
0008 
0009 #include "RecoVertex/GhostTrackFitter/interface/BasicGhostTrackState.h"
0010 
0011 namespace reco {
0012 
0013   class GhostTrackPrediction;
0014 
0015   class VertexGhostTrackState : public BasicGhostTrackState {
0016   public:
0017     VertexGhostTrackState(const GlobalPoint &pos, const CovarianceMatrix &cov) : position_(pos), covariance_(cov) {}
0018 
0019     GlobalPoint globalPosition() const override { return position_; }
0020     GlobalError cartesianError() const override { return covariance_; }
0021     CovarianceMatrix cartesianCovariance() const override { return covariance_; }
0022 
0023     Vertex vertexStateOnGhostTrack(const GhostTrackPrediction &pred, bool withMeasurementError) const override;
0024     Vertex vertexStateOnMeasurement(const GhostTrackPrediction &pred, bool withGhostTrackError) const override;
0025 
0026   private:
0027     pointer clone() const override { return build<VertexGhostTrackState>(*this); }
0028 
0029     GlobalPoint position_;
0030     CovarianceMatrix covariance_;
0031   };
0032 
0033 }  // namespace reco
0034 
0035 #endif  // RecoBTag_VertexGhostTrackState_h