CMS 3D CMS Logo

TFitParticleMCMomDev.h
Go to the documentation of this file.
1 
2 #ifndef TFitParticleMCMomDev_hh
3 #define TFitParticleMCMomDev_hh
4 
5 #include "TMatrixD.h"
7 #include "TLorentzVector.h"
8 #include "TVector3.h"
9 
11 
12 public :
13 
15  TFitParticleMCMomDev( const TFitParticleMCMomDev& fitParticle );
16  TFitParticleMCMomDev(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
17  TFitParticleMCMomDev(const TString &name, const TString &title,
18  TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
19  ~TFitParticleMCMomDev() override;
20  TAbsFitParticle* clone( const TString& newname = TString("") ) const override;
21 
22  // returns derivative dP/dy with P=(p,E) and y=(r, theta, phi, ...)
23  // the free parameters of the fit. The columns of the matrix contain
24  // (dP/dr, dP/dtheta, ...).
25  TMatrixD* getDerivative() override;
26  TMatrixD* transform(const TLorentzVector& vec) override;
27  void setIni4Vec(const TLorentzVector* pini) override;
28  void setIni4Vec(const TVector3* p, Double_t M);
29  TLorentzVector* calc4Vec( const TMatrixD* params ) override;
30 
31 protected :
32 
33  void init(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
34 
35 
36 private:
37 
38  ClassDefOverride(TFitParticleMCMomDev, 0)
39 };
40 
41 #endif
TMatrixD * transform(const TLorentzVector &vec) override
void init(TVector3 *p, Double_t M, const TMatrixD *theCovMatrix)
void setIni4Vec(const TLorentzVector *pini) override
TAbsFitParticle * clone(const TString &newname=TString("")) const override
TLorentzVector * calc4Vec(const TMatrixD *params) override
TMatrixD * getDerivative() override