![]() |
![]() |
00001 #ifndef KinematicConstrainedVertexUpdator_H 00002 #define KinematicConstrainedVertexUpdator_H 00003 00004 #include "RecoVertex/KinematicFitPrimitives/interface/MultiTrackKinematicConstraint.h" 00005 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicVertexFactory.h" 00006 #include "RecoVertex/KinematicFit/interface/VertexKinematicConstraint.h" 00007 00013 class KinematicConstrainedVertexUpdator 00014 { 00015 public: 00016 00020 KinematicConstrainedVertexUpdator(); 00021 00022 ~KinematicConstrainedVertexUpdator(); 00023 00032 pair<pair<vector<KinematicState>, AlgebraicMatrix >, RefCountedKinematicVertex > 00033 update(const AlgebraicVector& inState, const AlgebraicMatrix& inCov, vector<KinematicState> lStates, 00034 const GlobalPoint& lPoint,MultiTrackKinematicConstraint * cs)const; 00035 00036 private: 00037 //Method calculating all vertex constraint - related parameters 00038 //To be moved later to the specific constraint class 00039 /* 00040 pair<pair<AlgebraicMatrix, AlgebraicMatrix>, AlgebraicVector> 00041 derivativesAndValue(const vector<KinematicState> states, 00042 const GlobalPoint& point)const; 00043 */ 00044 00045 KinematicVertexFactory * vFactory; 00046 VertexKinematicConstraint * vConstraint; 00047 }; 00048 #endif