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 
9 
14 class VertexState;
15 
17  public:
18 
19  virtual ~VertexDistance() {}
20 
22  const reco::Vertex &) const;
23 
24  Measurement1D distance(const VertexState &,
25  const VertexState &) const;
26 
28  const VertexState &) const;
29 
30  Measurement1D distance(const VertexState &,
31  const reco::Vertex &) const;
32 
45  virtual Measurement1D signedDistance(const reco::Vertex &primVtx ,
46  const reco::Vertex &secVtx,
47  const GlobalVector & momentum) const = 0;
48 
49  virtual float compatibility (const reco::Vertex &,
50  const reco::Vertex &) const;
51 
52  virtual float compatibility (const VertexState &,
53  const VertexState &) const;
54 
55  virtual float compatibility(const reco::Vertex &,
56  const VertexState &) const;
57 
58  virtual float compatibility(const VertexState &,
59  const reco::Vertex &) const;
60 
61  virtual VertexDistance * clone() const = 0;
62 
63 protected:
64  virtual Measurement1D distance(const GlobalPoint & vtx1Position,
65  const GlobalError & vtx1PositionError,
66  const GlobalPoint & vtx2Position,
67  const GlobalError & vtx2PositionError) const = 0;
68 
69  virtual float compatibility(const GlobalPoint & vtx1Position,
70  const GlobalError & vtx1PositionError,
71  const GlobalPoint & vtx2Position,
72  const GlobalError & vtx2PositionError) const = 0;
73 
74 };
75 #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()