CMS 3D CMS Logo

KinematicVertex.h

Go to the documentation of this file.
00001 #ifndef KinematicVertex_H
00002 #define KinematicVertex_H
00003 
00004 #include "DataFormats/GeometrySurface/interface/ReferenceCounted.h"
00005 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h"
00006 #include "RecoVertex/VertexPrimitives/interface/VertexState.h"
00007 class KinematicTree;
00008 
00020 class KinematicVertex : public ReferenceCounted
00021 {
00022 public: 
00023 
00024  friend class KinematicTree;
00025          
00030  KinematicVertex();     
00031         
00032         
00037  KinematicVertex(const VertexState state, float totalChiSq, float degreesOfFr);
00038  
00043  KinematicVertex(const VertexState state, 
00044              const ReferenceCountingPointer<KinematicVertex> prVertex,
00045                                     float totalChiSq, float degreesOfFr);
00046                         
00050  KinematicVertex(const CachingVertex<6>& vertex);       
00051  
00052                                                                 
00053  virtual ~KinematicVertex();
00054  
00060  bool operator==(const KinematicVertex& other)const;                    
00061  
00062  bool operator==(ReferenceCountingPointer<KinematicVertex> other)const;
00063 
00070  bool operator<(const KinematicVertex& other)const;
00082  bool vertexIsValid() const;
00083   
00089  KinematicTree * correspondingTree() const;
00090   
00094  ReferenceCountingPointer<KinematicVertex> vertexBeforeConstraint() const;  
00095   
00096   
00097  VertexState vertexState() const; 
00098   
00099  GlobalPoint position() const;
00100  
00101  GlobalError error() const;
00102  
00103  float chiSquared() const;
00104  
00105  float degreesOfFreedom() const;
00106                                                                                 
00107 private:
00108  
00109  void setTreePointer(KinematicTree * tr) const;
00110 
00111 //kinematic tree this 
00112 //vertex belongs to (can be 0)
00113  mutable KinematicTree * tree;
00114  mutable bool vl;
00115  
00116  VertexState theState;
00117 // GlobalPoint theVertexPosition;
00118 // GlobalError theVPositionError;
00119  float theChiSquared;
00120  float theNDF;
00121  mutable ReferenceCountingPointer<KinematicVertex> pVertex;
00122 };
00123 
00124 #endif

Generated on Tue Jun 9 17:46:10 2009 for CMSSW by  doxygen 1.5.4