CMS 3D CMS Logo

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  virtual ~VertexDistance() {}
19 
20  Measurement1D distance(const reco::Vertex &, const reco::Vertex &) const;
21 
22  Measurement1D distance(const VertexState &, const VertexState &) const;
23 
24  Measurement1D distance(const reco::Vertex &, const VertexState &) const;
25 
26  Measurement1D distance(const VertexState &, const reco::Vertex &) const;
27 
40  virtual Measurement1D signedDistance(const reco::Vertex &primVtx,
41  const reco::Vertex &secVtx,
42  const GlobalVector &momentum) const = 0;
43 
44  virtual float compatibility(const reco::Vertex &, const reco::Vertex &) const;
45 
46  virtual float compatibility(const VertexState &, const VertexState &) const;
47 
48  virtual float compatibility(const reco::Vertex &, const VertexState &) const;
49 
50  virtual float compatibility(const VertexState &, const reco::Vertex &) const;
51 
52  virtual VertexDistance *clone() const = 0;
53 
54 protected:
55  virtual Measurement1D distance(const GlobalPoint &vtx1Position,
56  const GlobalError &vtx1PositionError,
57  const GlobalPoint &vtx2Position,
58  const GlobalError &vtx2PositionError) const = 0;
59 
60  virtual float compatibility(const GlobalPoint &vtx1Position,
61  const GlobalError &vtx1PositionError,
62  const GlobalPoint &vtx2Position,
63  const GlobalError &vtx2PositionError) const = 0;
64 };
65 #endif // Tracker_VertexDistance_H
virtual VertexDistance * clone() const =0
Measurement1D distance(const reco::Vertex &, const reco::Vertex &) const
virtual Measurement1D signedDistance(const reco::Vertex &primVtx, const reco::Vertex &secVtx, const GlobalVector &momentum) const =0
virtual float compatibility(const reco::Vertex &, const reco::Vertex &) const
virtual ~VertexDistance()