CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/PhysicsTools/KinFitter/interface/TFitParticleMomDev.h

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