00001 #ifndef Vertex_VertexDistanceXY_H 00002 #define Vertex_VertexDistanceXY_H 00003 00004 #include "RecoVertex/VertexTools/interface/VertexDistance.h" 00005 00011 class VertexDistanceXY : public VertexDistance { 00012 00013 public: 00014 00015 VertexDistanceXY() : theNullMatrix(3, 0) {} 00016 00025 virtual Measurement1D signedDistance(const reco::Vertex &primVtx , 00026 const reco::Vertex &secVtx, 00027 const GlobalVector & momentum) const; 00028 00029 virtual VertexDistanceXY * clone() const 00030 { 00031 return new VertexDistanceXY(*this); 00032 } 00033 00034 00035 using VertexDistance::distance; 00036 00037 private: 00038 00039 AlgebraicSymMatrix theNullMatrix; 00040 00041 virtual Measurement1D distance(const GlobalPoint & vtx1Position, 00042 const GlobalError & vtx1PositionError, 00043 const GlobalPoint & vtx2Position, 00044 const GlobalError & vtx2PositionError) const; 00045 00046 virtual float compatibility(const GlobalPoint & vtx1Position, 00047 const GlobalError & vtx1PositionError, 00048 const GlobalPoint & vtx2Position, 00049 const GlobalError & vtx2PositionError) const; 00050 }; 00051 00052 00053 #endif 00054 00055 00056