CMS 3D CMS Logo

KinematicVertex.h
Go to the documentation of this file.
1 #ifndef KinematicVertex_H
2 #define KinematicVertex_H
3 
8 class KinematicTree;
9 
22 {
23 public:
24 
25  friend class KinematicTree;
26 
32 
33 
38  KinematicVertex(const VertexState state, float totalChiSq, float degreesOfFr);
39 
44  KinematicVertex(const VertexState state,
46  float totalChiSq, float degreesOfFr);
47 
51  KinematicVertex(const CachingVertex<6>& vertex);
52 
53 
54  ~KinematicVertex() override;
55 
61  bool operator==(const KinematicVertex& other) const;
62 
64 
71  bool operator<(const KinematicVertex& other)const;
83  bool vertexIsValid() const;
84 
91 
96 
97 
98  VertexState vertexState() const;
99 
100  GlobalPoint position() const;
101 
102  GlobalError error() const;
103 
104  float chiSquared() const;
105 
106  float degreesOfFreedom() const;
107 
108  operator reco::Vertex();
109 
110 private:
111 
112  void setTreePointer(KinematicTree * tr) const;
113 
114 //kinematic tree this
115 //vertex belongs to (can be 0)
116  mutable KinematicTree * tree;
117  mutable bool vl;
118 
120 // GlobalPoint theVertexPosition;
121 // GlobalError theVPositionError;
123  float theNDF;
125 };
126 
127 #endif
float degreesOfFreedom() const
bool vertexIsValid() const
void setTreePointer(KinematicTree *tr) const
GlobalPoint position() const
GlobalError error() const
ReferenceCountingPointer< KinematicVertex > vertexBeforeConstraint() const
VertexState theState
bool operator==(const KinematicVertex &other) const
KinematicTree * correspondingTree() const
ReferenceCountingPointer< KinematicVertex > pVertex
float chiSquared() const
VertexState vertexState() const
KinematicTree * tree
~KinematicVertex() override
bool operator<(const KinematicVertex &other) const