00001
00002 #ifndef TFitParticleMCMomDev_hh
00003 #define TFitParticleMCMomDev_hh
00004
00005 #include "TMatrixD.h"
00006 #include "PhysicsTools/KinFitter/interface/TAbsFitParticle.h"
00007 #include "TLorentzVector.h"
00008 #include "TVector3.h"
00009
00010 class TFitParticleMCMomDev: public TAbsFitParticle {
00011
00012 public :
00013
00014 TFitParticleMCMomDev();
00015 TFitParticleMCMomDev( const TFitParticleMCMomDev& fitParticle );
00016 TFitParticleMCMomDev(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
00017 TFitParticleMCMomDev(const TString &name, const TString &title,
00018 TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
00019 virtual ~TFitParticleMCMomDev();
00020 virtual TAbsFitParticle* clone( TString newname = "" ) const;
00021
00022
00023
00024
00025 virtual TMatrixD* getDerivative();
00026 virtual TMatrixD* transform(const TLorentzVector& vec);
00027 virtual void setIni4Vec(const TLorentzVector* pini);
00028 void setIni4Vec(const TVector3* p, Double_t M);
00029 virtual TLorentzVector* calc4Vec( const TMatrixD* params );
00030
00031 protected :
00032
00033 void init(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
00034
00035 ClassDef(TFitParticleMCMomDev, 1)
00036
00037 private:
00038 };
00039
00040 #endif