StPicoDstQA.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /***
  2. StPicoDstQA
  3. VERSION: 1.0
  4. AUTHOR: Nikita Ermakov
  5. E-MAIL: coffe92@gmail.com
  6. ***/
  7. #ifndef STPICODSTQA
  8. #include "StPicoDst.h"
  9. #include "StPicoDstMaker.h"
  10. #include <stdio.h>
  11. #include "TH2F.h"
  12. #include "TH1F.h"
  13. #include "TProfile.h"
  14. #include "StPicoDstMakerRun11/StPicoEvent.h"
  15. #include "StPicoDstMakerRun11/StPicoTrack.h"
  16. #include "StPicoDstMakerRun11/StPicoBTofPidTraits.h"
  17. #include "StPhysicalHelixD.hh"
  18. const float PION_MASS = 0.139569; // GeV/c^2
  19. const float PROTON_MASS = 0.938272; // GeV/c^2
  20. const float KAON_MASS = 0.4936; // GeV/c^2
  21. class StPicoDst;
  22. class StPicoEvent;
  23. class StPicoTrack;
  24. class StPicoDstQA : public StMaker
  25. {
  26. public:
  27. StPicoDstQA(StPicoDstMaker *picoMaker, const char *outFilePath);
  28. ~StPicoDstQA();
  29. void SetRunIdParameters(unsigned int nbins, double lo, double hi) { mRunIdBins=nbins; mRunIdVal[0]=lo; mRunIdVal[1]=hi; }
  30. void SetTriggers(unsigned int trigWord) { mTrigWord = trigWord; }
  31. //
  32. // Chain methods
  33. //
  34. void Clear(Option_t *option = "");
  35. Int_t Init();
  36. Int_t Make();
  37. Int_t Finish();
  38. private:
  39. const char *mOutFilePath;
  40. TFile *mOutFile;
  41. TChain *mChain;
  42. TTree *mTree;
  43. StPicoDstMaker *mPicoMaker;
  44. unsigned int nEvents;
  45. unsigned int nEventsProc;
  46. unsigned int mTrigWord;
  47. unsigned int mRunIdBins;
  48. double mRunIdVal[2];
  49. //
  50. // Event histograms
  51. //
  52. TH1D *hRefMult;
  53. TH1D *hRefMult2;
  54. TH1D *hRefMultForward;
  55. TH1D *hTofMult;
  56. TH2D *hTofVsRef;
  57. TH2D *hTofVsRef2;
  58. TH2D *hRefVsRef2;
  59. TH1D *hNGlobal;
  60. TH1D *hNTracks;
  61. TH1D *hNTracksDiff;
  62. TH1D *hR;
  63. TH1D *hVz;
  64. TH2D *hVxVy;
  65. TH1D *hVpdVzDiff;
  66. //
  67. // Here is the way of how to look on the quantities over the run
  68. //
  69. TProfile *hRefMultVsRunNumer;
  70. TProfile *hPrimTrackNumVsRunNumber;
  71. TProfile *hGlobTrackNumVsRunNumber;
  72. TProfile *hTofMultVsRunNumber;
  73. //
  74. // Track histograms
  75. //
  76. TH2D *hNSigmaPionVsMom;
  77. TH2D *hNSigmaKaonVsMom;
  78. TH2D *hNSigmaProtonVsMom;
  79. TH2D *hNSigmaElectronVsMom;
  80. TH1D *hP;
  81. TH1D *hGlobP;
  82. TH2D *hDedxVsPt;
  83. TH2D *hMSqrVsPt;
  84. TH2D *hInvBetaVsP;
  85. TH2D *hBetaVsP;
  86. TH1D *hEta;
  87. TH1D *hPhi;
  88. TH2D *hEtaVsPhi;
  89. TH1D *hDca;
  90. TH1D *hDcaXY;
  91. TH1D *hDcaZ;
  92. TH1D *hDcaHelix;
  93. ClassDef(StPicoDstQA, 1)
  94. };
  95. #endif