Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:23:35

0001 
0002 
0003 #ifndef TFitParticleMomDev_hh
0004 #define TFitParticleMomDev_hh
0005 
0006 #include "PhysicsTools/KinFitter/interface/TAbsFitParticle.h"
0007 #include "TLorentzVector.h"
0008 #include "TMatrixD.h"
0009 
0010 class TFitParticleMomDev : public TAbsFitParticle {
0011 public:
0012   TFitParticleMomDev();
0013   TFitParticleMomDev(const TFitParticleMomDev& fitParticle);
0014   TFitParticleMomDev(TLorentzVector* pini, const TMatrixD* theCovMatrix);
0015   TFitParticleMomDev(const TString& name, const TString& title, TLorentzVector* pini, const TMatrixD* theCovMatrix);
0016   ~TFitParticleMomDev() override;
0017   TAbsFitParticle* clone(const TString& newname = TString("")) const override;
0018 
0019   // returns derivative dP/dy with P=(p,E) and y=(par1, par2, par3, ...)
0020   // the free parameters of the fit. The columns of the matrix contain
0021   // (dP/dpar1, dP/dpar2, ...).
0022   TMatrixD* getDerivative() override;
0023   TMatrixD* transform(const TLorentzVector& vec) override;
0024   void setIni4Vec(const TLorentzVector* pini) override;
0025   TLorentzVector* calc4Vec(const TMatrixD* params) override;
0026 
0027 protected:
0028   void init(TLorentzVector* pini, const TMatrixD* theCovMatrix);
0029 
0030 private:
0031   ClassDefOverride(TFitParticleMomDev, 0)
0032 };
0033 
0034 #endif