MpdEvent.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. // Author: Emelyanov D.
  2. // Update: Oleg Rogachevsky 2009-09-17 17:21:45+0400
  3. // Copyright: 2009 (C) MPD coll.
  4. //
  5. #ifndef ROOT_MpdEvent
  6. #define ROOT_MpdEvent
  7. #ifndef ROOT_TObject
  8. #include <TObject.h>
  9. #endif
  10. #include "TNamed.h"
  11. #include <TClonesArray.h>
  12. #include "MpdTrack.h"
  13. class MpdEvent : public TNamed {
  14. private:
  15. Int_t fRunInfoRunId;
  16. Int_t fRunInfo_ProductionVersion;
  17. Float_t fRunInfo_CenterOfMassEnergy;
  18. Int_t fRunInfo_BeamMassNumber[2];
  19. Double_t fRunInfoMagneticFieldZ;
  20. UInt_t fEventInfo_TriggerMask;
  21. Int_t fEventInfoNofGlobalTracks;
  22. Int_t fEventInfoNofPrimaryTracks;
  23. Int_t fEventInfo_NofPositiveTracks;
  24. Int_t fEventInfo_NofNegativeTracks;
  25. // PrimaryVertices
  26. Float_t PrimaryVerticesX;
  27. Float_t PrimaryVerticesY;
  28. Float_t PrimaryVerticesZ;
  29. Float_t PrimaryVerticesXerr;
  30. Float_t PrimaryVerticesYerr;
  31. Float_t PrimaryVerticesZerr;
  32. Float_t PrimaryVertices_SumTrackPt;
  33. Float_t PrimaryVertices_MeanDip;
  34. Float_t PrimaryVerticesChi2;
  35. UShort_t PrimaryVertices_RefMultNeg;
  36. UShort_t PrimaryVertices_RefMultPos;
  37. TClonesArray *fPrimaryTracks; //-> array of only primary tracks
  38. TClonesArray *fGlobalTracks; //-> array of all tracks
  39. public:
  40. MpdEvent(); // Default constructor
  41. MpdEvent& operator=(const MpdEvent &event);
  42. virtual ~MpdEvent(); // Destructor
  43. void Reset();
  44. // SETTERS
  45. void SetRunInfoRunId(Int_t n) { fRunInfoRunId = n;}
  46. void SetRunInfo_ProductionVersion(Int_t n) { fRunInfo_ProductionVersion = n;}
  47. void SetRunInfo_CenterOfMassEnergy(Float_t n) {fRunInfo_CenterOfMassEnergy = n;}
  48. void SetRunInfo_BeamMassNumber(Int_t n, Int_t i) {fRunInfo_BeamMassNumber[i] = n;}
  49. void SetRunInfoMagneticFieldZ(Double_t n) {fRunInfoMagneticFieldZ = n;}
  50. void SetEventInfo_TriggerMask(UInt_t n) {fEventInfo_TriggerMask = n;}
  51. void SetEventInfoNofGlobalTracks(Int_t n) {fEventInfoNofGlobalTracks = n;}
  52. void SetEventInfoNofPrimaryTracks(Int_t n) {fEventInfoNofPrimaryTracks = n;}
  53. void SetEventInfo_NofPositiveTracks(Int_t n) {fEventInfo_NofPositiveTracks = n;}
  54. void SetEventInfo_NofNegativeTracks(Int_t n) {fEventInfo_NofNegativeTracks = n;}
  55. // PrimaryVertices
  56. void SetPrimaryVerticesX(Float_t n) {PrimaryVerticesX = n;}
  57. void SetPrimaryVerticesY(Float_t n) {PrimaryVerticesY = n;}
  58. void SetPrimaryVerticesZ(Float_t n) {PrimaryVerticesZ = n;}
  59. void SetPrimaryVerticesXerr(Float_t n) {PrimaryVerticesXerr = n;}
  60. void SetPrimaryVerticesYerr(Float_t n) {PrimaryVerticesYerr = n;}
  61. void SetPrimaryVerticesZerr(Float_t n) {PrimaryVerticesZerr = n;}
  62. void SetPrimaryVertices_SumTrackPt(Float_t n) {PrimaryVertices_SumTrackPt = n;}
  63. void SetPrimaryVertices_MeanDip(Float_t n) {PrimaryVertices_MeanDip = n;}
  64. void SetPrimaryVerticesChi2(Float_t n) {PrimaryVerticesChi2 = n;}
  65. void SetPrimaryVertices_RefMultNeg(UShort_t n) {PrimaryVertices_RefMultNeg = n;}
  66. void SetPrimaryVertices_RefMultPos(UShort_t n) {PrimaryVertices_RefMultPos = n;}
  67. // GETTERS
  68. Int_t GetRunInfoRunId() {return fRunInfoRunId;}
  69. Int_t GetRunInfo_ProductionVersion() {return fRunInfo_ProductionVersion;}
  70. Float_t GetRunInfo_CenterOfMassEnergy() {return fRunInfo_CenterOfMassEnergy;}
  71. Int_t GetRunInfo_BeamMassNumber(int n) {return fRunInfo_BeamMassNumber[n];} // !!! n 0 or 1
  72. Double_t GetRunInfoMagneticFieldZ() {return fRunInfoMagneticFieldZ;}
  73. UInt_t GetEventInfo_TriggerMask() {return fEventInfo_TriggerMask;}
  74. Int_t GetEventInfoNofGlobalTracks() {return fEventInfoNofGlobalTracks;}
  75. Int_t GetEventInfoNofPrimaryTracks() {return fEventInfoNofPrimaryTracks;}
  76. Int_t GetEventInfo_NofPositiveTracks() {return fEventInfo_NofPositiveTracks;}
  77. Int_t GetEventInfo_NofNegativeTracks() {return fEventInfo_NofNegativeTracks;}
  78. TClonesArray *GetPrimaryTracks() {return fPrimaryTracks;}
  79. TClonesArray *GetGlobalTracks() {return fGlobalTracks;}
  80. // PrimaryVertices
  81. Float_t GetPrimaryVerticesX() {return PrimaryVerticesX;}
  82. Float_t GetPrimaryVerticesY() {return PrimaryVerticesY;}
  83. Float_t GetPrimaryVerticesZ() {return PrimaryVerticesZ;}
  84. Float_t GetPrimaryVerticesXerr() {return PrimaryVerticesXerr;}
  85. Float_t GetPrimaryVerticesYerr() {return PrimaryVerticesYerr;}
  86. Float_t GetPrimaryVerticesZerr() {return PrimaryVerticesZerr;}
  87. Float_t GetPrimaryVertices_SumTrackPt() {return PrimaryVertices_SumTrackPt;}
  88. Float_t GetPrimaryVertices_MeanDip() {return PrimaryVertices_MeanDip;}
  89. Float_t GetPrimaryVerticesChi2() {return PrimaryVerticesChi2;}
  90. UShort_t GetPrimaryVertices_RefMultNeg() {return PrimaryVertices_RefMultNeg;}
  91. UShort_t GetPrimaryVertices_RefMultPos() {return PrimaryVertices_RefMultPos;}
  92. MpdTrack *AddPrimaryTrack();
  93. MpdTrack *AddGlobalTrack();
  94. ClassDef(MpdEvent,1) //MPDEVENT
  95. };
  96. #endif