Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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