CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
VertexDistance.h
Go to the documentation of this file.
1 #ifndef VertexDistance_H
2 #define VertexDistance_H
3 
10 
15 class VertexState;
16 
18  public:
19 
20  virtual ~VertexDistance() {}
21 
23  const reco::Vertex &) const;
24 
26  const VertexState &) const;
27 
29  const VertexState &) const;
30 
32  const reco::Vertex &) const;
33 
46  virtual Measurement1D signedDistance(const reco::Vertex &primVtx ,
47  const reco::Vertex &secVtx,
48  const GlobalVector & momentum) const = 0;
49 
50  virtual float compatibility (const reco::Vertex &,
51  const reco::Vertex &) const;
52 
53  virtual float compatibility (const VertexState &,
54  const VertexState &) const;
55 
56  virtual float compatibility(const reco::Vertex &,
57  const VertexState &) const;
58 
59  virtual float compatibility(const VertexState &,
60  const reco::Vertex &) const;
61 
62  virtual VertexDistance * clone() const = 0;
63 
64 protected:
65  virtual Measurement1D distance(const GlobalPoint & vtx1Position,
66  const GlobalError & vtx1PositionError,
67  const GlobalPoint & vtx2Position,
68  const GlobalError & vtx2PositionError) const = 0;
69 
70  virtual float compatibility(const GlobalPoint & vtx1Position,
71  const GlobalError & vtx1PositionError,
72  const GlobalPoint & vtx2Position,
73  const GlobalError & vtx2PositionError) const = 0;
74 
75 };
76 #endif // Tracker_VertexDistance_H
virtual float compatibility(const reco::Vertex &, const reco::Vertex &) const
virtual VertexDistance * clone() const =0
virtual Measurement1D signedDistance(const reco::Vertex &primVtx, const reco::Vertex &secVtx, const GlobalVector &momentum) const =0
Measurement1D distance(const reco::Vertex &, const reco::Vertex &) const
virtual ~VertexDistance()