CMS 3D CMS Logo

TwoTrackMassKinematicConstraint.h

Go to the documentation of this file.
00001 #ifndef TwoTrackMassKinematicConstraint_H
00002 #define TwoTrackMassKinematicConstraint_H
00003 
00004 #include "RecoVertex/KinematicFitPrimitives/interface/MultiTrackKinematicConstraint.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicState.h"
00006 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00007 #include "RecoVertex/KinematicFitPrimitives/interface/ParticleMass.h"
00008 
00021 class TwoTrackMassKinematicConstraint : public MultiTrackKinematicConstraint{
00022 
00023 public:
00024  TwoTrackMassKinematicConstraint(ParticleMass& ms):mass(ms)
00025  {}
00026 
00027 
00033 virtual AlgebraicVector  value(const vector<KinematicState> states,
00034                         const GlobalPoint& point) const;
00035 
00036 
00042 virtual AlgebraicMatrix parametersDerivative(const vector<KinematicState> states,
00043                                       const GlobalPoint& point) const;
00044 
00050 virtual AlgebraicMatrix positionDerivative(const vector<KinematicState> states,
00051                                     const GlobalPoint& point) const;
00052 
00056 virtual int numberOfEquations() const;
00057  
00058 virtual TwoTrackMassKinematicConstraint * clone()const
00059 {return new TwoTrackMassKinematicConstraint(*this);}
00060 
00061 private:
00062 
00063  ParticleMass mass;
00064 
00065 };
00066 #endif

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