StQGSMdstMaker.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef STQGSMDSTMAKER_H
  2. #define STQGSMDSTMAKER_H
  3. /*
  4. * General includes
  5. */
  6. #include "StFemtoDstMaker/StO97Track.h"
  7. #include "StFemtoDstMaker/StO97Event.h"
  8. #include "StMaker.h"
  9. #include "TTree.h"
  10. #include "TFile.h"
  11. #include "TChain.h"
  12. #include "TSystem.h"
  13. #include "TBranch.h"
  14. #include "TDatime.h"
  15. #include "TLorentzVector.h"
  16. /*
  17. * Includes for transverse sphericity calculations
  18. */
  19. #include <TVectorT.h>
  20. #include <TMatrixTLazy.h>
  21. #include <TMatrixDSymEigen.h>
  22. //_________________
  23. class StQGSMdstMaker : public StMaker
  24. {
  25. public:
  26. StQGSMdstMaker(const Char_t *iFileName, // input directory where B_MULT and finalpr.data are stored
  27. const Char_t *oFileName);
  28. ~StQGSMdstMaker();
  29. void Clear(Option_t *option = "") { StMaker::Clear(option); }
  30. Int_t Init();
  31. Int_t Make();
  32. Int_t Finish();
  33. Bool_t IsStop() { return mStop; }
  34. void SetCompressionlevel(Int_t comp);
  35. private:
  36. const Char_t *mOutFileName;
  37. const Char_t *mInFileName;
  38. TFile *mOutFile;
  39. FILE *mInEventFile;
  40. FILE *mInTrackFile;
  41. TTree *mTree;
  42. Int_t mCompression;
  43. Float_t mSperp; // For primary tracks with pT>0.15 GeV and |eta|<0.5
  44. Float_t mSperp2; // For primary tracks with pT>0.15 GeV and |eta|<1.0
  45. TMatrixTSym<double> *matrix; // transverse sphericity matrix for mSperp
  46. TMatrixTSym<double> *matrix2; // transverse sphericity matrix for mSperp2
  47. Bool_t mStop;
  48. Int_t mNBytes;
  49. Int_t mNEvents;
  50. Int_t mNTracks;
  51. char mBuf[128]; // buffer for general read purposes
  52. StO97Event *mEvent;
  53. Bool_t ReadEvent();
  54. Bool_t ReadTracks();
  55. ClassDef(StQGSMdstMaker, 1)
  56. };
  57. #endif