00001 #ifndef BackToBackKinematicConstraint_H 00002 #define BackToBackKinematicConstraint_H 00003 00004 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicConstraint.h" 00005 00021 class BackToBackKinematicConstraint:public KinematicConstraint 00022 { 00023 public: 00024 00025 BackToBackKinematicConstraint() {} 00026 00027 ~BackToBackKinematicConstraint() {} 00028 00033 virtual std::pair<AlgebraicVector, AlgebraicVector> value(const AlgebraicVector& exPoint) const; 00034 00035 virtual std::pair<AlgebraicMatrix, AlgebraicVector> derivative(const AlgebraicVector& exPoint) const; 00036 00042 virtual std::pair<AlgebraicVector, AlgebraicVector> value(const std::vector<RefCountedKinematicParticle> par) const; 00043 00044 virtual std::pair<AlgebraicMatrix, AlgebraicVector> derivative(const std::vector<RefCountedKinematicParticle> par) const; 00045 00046 virtual AlgebraicVector deviations(int nStates) const; 00047 00048 virtual int numberOfEquations() const; 00049 00050 virtual KinematicConstraint * clone() const; 00051 00052 private: 00053 00054 00055 }; 00056 #endif