MpdKinFitter.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // -------------------------------------------------------------------------
  2. // ----- MpdKinFitter header file -----
  3. // ----- Created 11/09/17 by A.Zinchenko -----
  4. // ----- Original version by N.Geraksiev (formalism by A.Belyaev) -----
  5. // -------------------------------------------------------------------------
  6. /** MpdKinFitter.h
  7. *@author A.Zinchenko <Alexander.Zinchenko@jinr.ru>
  8. **
  9. ** Class for kinematic fitting in MPD.
  10. ** Data level: RECO
  11. **/
  12. #ifndef MPDKINFITTER_H
  13. #define MPDKINFITTER_H 1
  14. #include "TMatrixD.h"
  15. //#include "TMath.h"
  16. #include <vector>
  17. class MpdParticle;
  18. using namespace std;
  19. class MpdKinFitter : public TObject
  20. {
  21. public:
  22. /** Constructor **/
  23. MpdKinFitter(std::vector<TObject*> &daughts); ///< Ctor
  24. /** Constructor **/
  25. MpdKinFitter(std::vector<MpdParticle*> &daughts); ///< Ctor
  26. /** Destructor **/
  27. virtual ~MpdKinFitter();
  28. /** Accessors **/
  29. Double_t Chi2() const { return fChi2; } ///< Chi2 of mother particle
  30. //kinfit
  31. TMatrixD& GetKinx() { return fx; } // pt1,theta1,phi1,pt2,theta2,phi2
  32. TMatrixD& GetKinVm1() { return fVm1; }
  33. TMatrixD& GetKinUm1() { return fUm1; } //
  34. Double_t DoKinFit(Int_t pdg0); // perform fitting
  35. Double_t DoKinFit(Double_t m0); // perform fitting
  36. private:
  37. void Init();
  38. void CalculateFdFdx(TMatrixD mtr, Double_t m0, Double_t* mD);
  39. Double_t fChi2;
  40. Double_t fieldConst;
  41. std::vector<TObject*> fDaughts; // decay products
  42. TMatrixD fx; // 3*nD x 1 parameter matrix pt_i,theta_i,phi_i fitted parameters
  43. TMatrixD fF;
  44. TMatrixD fdFdx;
  45. TMatrixD fdydx;
  46. TMatrixD fVm1; // 3*nD x 3*nD covariance matrix of fitted daughter parameters
  47. TMatrixD fUm1; // 3x3 covariance matrix of mother parameters: pt theta phi
  48. ClassDef(MpdKinFitter,0);
  49. };
  50. #endif