MpdFemtoPicoDstReader.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /**
  2. * \class MpdFemtoPicoDstReader
  3. * \brief Reader for the StPicoDst format
  4. *
  5. * The reader class for StPicoDst format. It reads McDst and
  6. * converts data to the internal MpdFemtoMaker structure (MpdFemtoEvent,
  7. * MpdFemtoTrack, etc).
  8. */
  9. #ifndef MpdFemtoPicoDstReader_h
  10. #define MpdFemtoPicoDstReader_h
  11. // MpdFemtoMaker headers
  12. // Base
  13. #include "MpdFemtoBaseEventReader.h"
  14. // Infrastructure
  15. #include "MpdFemtoEvent.h"
  16. #include "MpdFemtoTrack.h"
  17. #include "MpdFemtoV0.h"
  18. #include "MpdFemtoKink.h"
  19. #include "MpdFemtoXi.h"
  20. #include "MpdFemtoEnumeration.h"
  21. #include "MpdFemtoString.h"
  22. // StPicoDst headers
  23. #include "StPicoDst.h"
  24. #include "StPicoDstReader.h"
  25. #include "StPicoEvent.h"
  26. #include "StPicoTrack.h"
  27. #include "StPicoBTofPidTraits.h"
  28. // ROOT haders
  29. #include "TSystem.h"
  30. #include "TChain.h"
  31. #include "TTree.h"
  32. #ifndef _VANILLA_ROOT_
  33. // Forward declarations
  34. class StRefMultCorr;
  35. #endif
  36. //_________________
  37. class MpdFemtoPicoDstReader : public MpdFemtoBaseEventReader {
  38. public:
  39. /// Default constructor
  40. MpdFemtoPicoDstReader();
  41. /// Constructor
  42. MpdFemtoPicoDstReader(StPicoDstReader *picoDstReader, int debug = 1);
  43. /// Copy constructor
  44. MpdFemtoPicoDstReader(const MpdFemtoPicoDstReader& copy);
  45. /// Assignment operator
  46. MpdFemtoPicoDstReader& operator=(const MpdFemtoPicoDstReader& copy);
  47. /// Destructor
  48. virtual ~MpdFemtoPicoDstReader();
  49. /// Return MpdFemtoEvent (back to the analysis)
  50. virtual MpdFemtoEvent *returnHbtEvent();
  51. /// Make report
  52. virtual MpdFemtoString report();
  53. /// Set picoDst reader
  54. void setPicoDstReader(StPicoDstReader *picoDstReader) {
  55. mPicoDstReader = picoDstReader;
  56. }
  57. #ifndef _VANILLA_ROOT_
  58. /// Set StRefMultCorr
  59. void setRefMultCorrUtil(StRefMultCorr *refMultCorr) {
  60. mRefMultCorrUtil = refMultCorr;
  61. }
  62. #endif
  63. /// Set use StRefMultCorr package
  64. void setUseRefMultCorr(const bool& useRefMultCorr) {
  65. mUseRefMultCorr = useRefMultCorr;
  66. }
  67. /// Set use ZDC correction for StRefMultCorr package
  68. void setUseZdcCorrection(const bool& useZdcCorrection) {
  69. mUseZdcCorrection = useZdcCorrection;
  70. }
  71. private:
  72. /// Sphericity calculation for tracks within |eta|<0.5 (or |eta|<1.),
  73. /// pT>0.15, DCA<3 and nHits>10
  74. void sphericityCalculation();
  75. /// Pointer to the StPicoDstReader
  76. StPicoDstReader *mPicoDstReader;
  77. /// Pointer to MpdFemtoEvent
  78. MpdFemtoEvent *mHbtEvent;
  79. /// Use StRefMultCorr
  80. bool mUseRefMultCorr;
  81. /// Use ZDC correction for StRefMultCorr
  82. bool mUseZdcCorrection;
  83. /// Sphericity esitmated by tracks with |eta|<0.5, pT>0.15, DCA<3 and nHits>10
  84. float mSphericity;
  85. /// Sphericity esitmated by tracks with |eta|<1, pT>0.15, DCA<3 and nHits>10
  86. float mSphericity2;
  87. /// Number of events passed
  88. long int mEventsPassed;
  89. #ifndef _VANILLA_ROOT_
  90. /// Pointer to the StRefMultCorr instance
  91. StRefMultCorr *mRefMultCorrUtil;
  92. #endif
  93. ClassDef(MpdFemtoPicoDstReader, 1)
  94. };
  95. #endif // #define MpdFemtoPicoDstReader_h