CMS 3D CMS Logo

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

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