CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/PhysicsTools/KinFitter/interface/TFitParticleEScaledMomDev.h

Go to the documentation of this file.
00001 #ifndef TFitParticleEScaledMomDev_hh
00002 #define TFitParticleEScaledMomDev_hh
00003 
00004 #include "PhysicsTools/KinFitter/interface/TAbsFitParticle.h"
00005 #include "TLorentzVector.h"
00006 #include "TMatrixD.h"
00007 
00008 
00009 class TFitParticleEScaledMomDev: public TAbsFitParticle {
00010 
00011 public :
00012 
00013   TFitParticleEScaledMomDev();
00014   TFitParticleEScaledMomDev( const TFitParticleEScaledMomDev& fitParticle );
00015   TFitParticleEScaledMomDev(TLorentzVector* pini, const TMatrixD* theCovMatrix);
00016   TFitParticleEScaledMomDev(const TString &name, const TString &title,
00017                       TLorentzVector* pini, const TMatrixD* theCovMatrix);
00018   virtual ~TFitParticleEScaledMomDev();
00019   virtual TAbsFitParticle* clone( TString newname = "" ) const;
00020 
00021   // returns derivative dP/dy with P=(p,E) and y=(r, theta, phi, ...) 
00022   // the free parameters of the fit. The columns of the matrix contain 
00023   // (dP/dr, dP/dtheta, ...).
00024   virtual TMatrixD* getDerivative();
00025   virtual TMatrixD* transform(const TLorentzVector& vec);
00026   virtual void setIni4Vec(const TLorentzVector* pini);
00027   virtual TLorentzVector* calc4Vec( const TMatrixD* params );
00028 
00029 protected :
00030 
00031   void init(TLorentzVector* pini, const TMatrixD* theCovMatrix);
00032 
00033 };
00034 
00035 #endif