Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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