MpdPidUtils.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef MPD_PID_UTILS_H
  2. #define MPD_PID_UTILS_H
  3. #include <TH1.h>
  4. #include <TH2.h>
  5. #define MASS_MU 0.1057
  6. #define MASS_PI 0.1396
  7. #define MASS_PI2 0.0195
  8. #define MASS_KA 0.4937
  9. #define MASS_PR 0.9383
  10. #define MASS_DE 1.876
  11. #define MASS_TR 2.8094
  12. #define MASS_HE3 1.4047
  13. #define MASS_HE4 1.863
  14. #define PDG_DEUTERON 1000010020
  15. #define PDG_TRITON 1000010030
  16. #define PDG_HE3 1000020030
  17. #define PDG_HE4 1000020040
  18. namespace MpdPidUtils {
  19. const Int_t kNSpecies = 9; /// Number of default particle species recognized by the PID
  20. const Int_t kNPosSpecies = 9; /// Number of positively charged particle species recognized by the PID
  21. const Int_t kNNegSpecies = 5; /// Number of negatively charged particle species recognized by the PID
  22. const Int_t nQAHists = 40; /// Max number of dE/dx QA hists
  23. enum ePartType {
  24. kElectron = 0,
  25. kMuon = 1,
  26. kPion = 2,
  27. kKaon = 3,
  28. kProton = 4,
  29. kDeuteron = 5,
  30. kTriton = 6,
  31. kHe3 = 7,
  32. kHe4 = 8,
  33. kUnknown = 9
  34. };
  35. enum ePartCharge {
  36. kPos = 0,
  37. kNeg = 1
  38. };
  39. enum eTrackingState {
  40. kHP = 0,
  41. kCF = 1,
  42. kCFHM = 2
  43. };
  44. const char* const cParticleName[kNSpecies+1] = {
  45. "electron",
  46. "muon",
  47. "pion",
  48. "kaon",
  49. "proton",
  50. "deuteron",
  51. "triton",
  52. "helium-3",
  53. "alpha",
  54. "unknown"
  55. };
  56. const char* const cParticleShortName[kNSpecies+1] = {
  57. "e",
  58. "mu",
  59. "pi",
  60. "K",
  61. "p",
  62. "d",
  63. "t",
  64. "he3",
  65. "alpha",
  66. "unknown"
  67. };
  68. struct dEdXStruct_t {
  69. TH1D *dEdXPart[nQAHists];
  70. TH2D *BetheBlochHist;
  71. Int_t ibeg; Int_t iend;
  72. };
  73. };
  74. #endif