File indexing completed on 2023-03-17 11:15:57
0001
0002 #ifndef TFitParticleMCMomDev_hh
0003 #define TFitParticleMCMomDev_hh
0004
0005 #include "TMatrixD.h"
0006 #include "PhysicsTools/KinFitter/interface/TAbsFitParticle.h"
0007 #include "TLorentzVector.h"
0008 #include "TVector3.h"
0009
0010 class TFitParticleMCMomDev : public TAbsFitParticle {
0011 public:
0012 TFitParticleMCMomDev();
0013 TFitParticleMCMomDev(const TFitParticleMCMomDev& fitParticle);
0014 TFitParticleMCMomDev(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
0015 TFitParticleMCMomDev(const TString& name, const TString& title, TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
0016 ~TFitParticleMCMomDev() override;
0017 TAbsFitParticle* clone(const TString& newname = TString("")) const override;
0018
0019
0020
0021
0022 TMatrixD* getDerivative() override;
0023 TMatrixD* transform(const TLorentzVector& vec) override;
0024 void setIni4Vec(const TLorentzVector* pini) override;
0025 void setIni4Vec(const TVector3* p, Double_t M);
0026 TLorentzVector* calc4Vec(const TMatrixD* params) override;
0027
0028 protected:
0029 void init(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
0030
0031 private:
0032 ClassDefOverride(TFitParticleMCMomDev, 0)
0033 };
0034
0035 #endif