StPicoEmcPidTraits.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #ifndef StPicoEmcPidTraits_hh
  2. #define StPicoEmcPidTraits_hh
  3. #include "TObject.h"
  4. class StPicoEmcPidTraits: public TObject {
  5. public:
  6. StPicoEmcPidTraits();
  7. StPicoEmcPidTraits(Int_t index, Int_t id, Int_t adc0, Float_t* e, Float_t* dist, Int_t* nhit, Int_t* ntow);
  8. ~StPicoEmcPidTraits();
  9. virtual void Print(const Char_t *option = "") const;
  10. Int_t bemcId() const { return (Int_t)mBEMCId; }
  11. Int_t adc0() const { return (Int_t)mBTOWADC0; }
  12. Float_t e0() const { return (Float_t)mBTOWE0/1000.; }
  13. Float_t e() const { return (Float_t)mBTOWE/1000.; }
  14. Float_t zDist() const { return (Float_t)mBEMCDistZ/100.; }
  15. Float_t phiDist() const { return (Float_t)mBEMCDistPhi/10000.; }
  16. Int_t nEta() const { return (Int_t)mBSMDNEta; }
  17. Int_t nPhi() const { return (Int_t)mBSMDNPhi; }
  18. Int_t btowId() const { return (Int_t)mBTOWId; }
  19. Int_t btowId2() const { return (Int_t)mBTOWId23/10; }
  20. Int_t btowId3() const { return (Int_t)mBTOWId23%10; }
  21. Float_t e1() const { return (Float_t)mBTOWE1/1000.; }
  22. Float_t e2() const { return (Float_t)mBTOWE2/1000.; }
  23. Float_t e3() const { return (Float_t)mBTOWE3/1000.; }
  24. Float_t etaTowDist() const { return (Float_t)mBTOWDistEta/10000.; }
  25. Float_t phiTowDist() const { return (Float_t)mBTOWDistPhi/10000.; }
  26. private:
  27. Short_t mTrackIndex; // Index to the associated track in the event
  28. // these variables are extracted from the standard BEMC cluster algorithm
  29. Short_t mBEMCId; // index in bemcPoint array
  30. Short_t mBTOWADC0; // adc0 higest adc in the cluster
  31. Short_t mBTOWE0; // E0*1000 highest tower in the cluster
  32. Short_t mBTOWE; // EMC point E*1000
  33. Short_t mBEMCDistZ; // z*100
  34. Short_t mBEMCDistPhi; // phi*10000
  35. UChar_t mBSMDNEta; // # of hits in eta
  36. UChar_t mBSMDNPhi; // # of hits in phi
  37. // these variables are purely from single tower or nearby towers
  38. Short_t mBTOWId; // projected tower Id 1-4800
  39. Char_t mBTOWId23; // emc 2nd and 3rd closest tower local id ( 2nd X 10 + 3rd), each id 0-8
  40. Short_t mBTOWE1; // E1*1000 matched (closest) tower E
  41. Short_t mBTOWE2; // E2*1000 2nd closest tower E
  42. Short_t mBTOWE3; // E3*1000 3rd closest tower E
  43. Short_t mBTOWDistEta; // eta*10000 distance between track and matched tower center
  44. Short_t mBTOWDistPhi; // phi*10000 distance between track and matched tower center
  45. ClassDef(StPicoEmcPidTraits,1);
  46. };
  47. #endif