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 using VertexDistance::compatibility; 00037 00038 private: 00039 00040 AlgebraicSymMatrix theNullMatrix; 00041 00042 virtual Measurement1D distance(const GlobalPoint & vtx1Position, 00043 const GlobalError & vtx1PositionError, 00044 const GlobalPoint & vtx2Position, 00045 const GlobalError & vtx2PositionError) const; 00046 00047 virtual float compatibility(const GlobalPoint & vtx1Position, 00048 const GlobalError & vtx1PositionError, 00049 const GlobalPoint & vtx2Position, 00050 const GlobalError & vtx2PositionError) const; 00051 }; 00052 00053 00054 #endif 00055 00056 00057