CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 public:
13  TFitParticleMCMomDev(const TFitParticleMCMomDev& fitParticle);
14  TFitParticleMCMomDev(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
15  TFitParticleMCMomDev(const TString& name, const TString& title, TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
16  ~TFitParticleMCMomDev() override;
17  TAbsFitParticle* clone(const TString& newname = TString("")) const override;
18 
19  // returns derivative dP/dy with P=(p,E) and y=(r, theta, phi, ...)
20  // the free parameters of the fit. The columns of the matrix contain
21  // (dP/dr, dP/dtheta, ...).
22  TMatrixD* getDerivative() override;
23  TMatrixD* transform(const TLorentzVector& vec) override;
24  void setIni4Vec(const TLorentzVector* pini) override;
25  void setIni4Vec(const TVector3* p, Double_t M);
26  TLorentzVector* calc4Vec(const TMatrixD* params) override;
27 
28 protected:
29  void init(TVector3* p, Double_t M, const TMatrixD* theCovMatrix);
30 
31 private:
32  ClassDefOverride(TFitParticleMCMomDev, 0)
33 };
34 
35 #endif
TMatrixD * transform(const TLorentzVector &vec) override
void init(TVector3 *p, Double_t M, const TMatrixD *theCovMatrix)
void setIni4Vec(const TLorentzVector *pini) override
TLorentzVector * calc4Vec(const TMatrixD *params) override
TAbsFitParticle * clone(const TString &newname=TString("")) const override
TMatrixD * getDerivative() override