CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 #ifndef TFitParticleMCPInvSpher_hh
00002 #define TFitParticleMCPInvSpher_hh
00003 
00004 #include "TMatrixD.h"
00005 #include "PhysicsTools/KinFitter/interface/TAbsFitParticle.h"
00006 #include "TLorentzVector.h"
00007 #include "TVector3.h"
00008 
00009 class TFitParticleMCPInvSpher: public TAbsFitParticle {
00010 
00011 public :
00012 
00013   TFitParticleMCPInvSpher();
00014   TFitParticleMCPInvSpher( const TFitParticleMCPInvSpher& fitParticle );
00015   TFitParticleMCPInvSpher(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
00016   TFitParticleMCPInvSpher(const TString &name, const TString &title, 
00017                  TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
00018   virtual ~TFitParticleMCPInvSpher();
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   void setIni4Vec(const TVector3* p, Double_t M);
00028   virtual TLorentzVector* calc4Vec( const TMatrixD* params );
00029 
00030 protected :
00031 
00032   void init(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
00033 
00034   
00035 private:
00036 };
00037 
00038 #endif