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