franksXiCut.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef franksXiCut_hh
  2. #define franksXiCut_hh
  3. //#ifndef StMaker_H
  4. //#include "StMaker.h"
  5. //#endif
  6. #include "StHbtMaker/Base/StHbtXiCut.h"
  7. #include "StHbtMaker/Infrastructure/StHbtXi.hh" //9-17-99 seems like good idea
  8. class franksXiCut : public StHbtXiCut {
  9. public:
  10. franksXiCut();
  11. //~franksXiCut();
  12. virtual bool Pass(const StHbtXi*);
  13. virtual StHbtString Report();
  14. void SetXiMassRange(const float& lo, const float& hi);
  15. void SetOmegaMassRange(const float& lo, const float& hi);
  16. void SetdcaXidaughters(const float& lo, const float& hi);
  17. void SetdcaXiToPrimVertex(const float& lo, const float& hi);
  18. void SetdecayLengthXi(const float& lo, const float& hi);
  19. void SettpcHitsBac(const int& lo, const int& hi);
  20. void SetdcaBacToPrimVertex(const float& lo, const float& hi);
  21. void SetptArmXi(const float& lo, const float& hi);
  22. void SetalphaXi(const float& lo, const float& hi);
  23. void SetPt(const float& lo, const float& hi);
  24. void SetRapidity(const float& lo, const float& hi);
  25. void SetdEdx(const float& charge, const float& m1, const float& c1, const float& m2, const float& c2);
  26. private: // here are the quantities we want to cut on...
  27. float mXiMassRange[2]; //Invariant mass limits
  28. float mOmegaMassRange[2]; //Invariant mass limits
  29. float mdcaXidaughters[2]; //DCA between 2 tracks
  30. float mdcaXiToPrimVertex[2]; //DCA between V0 and event vertex
  31. float mdecayLengthXi[2]; //decay length from prim. vertex
  32. int mtpcHitsBac[2]; //no. of tpc hits on pos track
  33. float mdcaBacToPrimVertex[2]; //min. value + track at intersect
  34. float mptArmXi[2]; //pt Armenteros
  35. float malphaXi[2]; //alpha Armenteros
  36. float mPt[2]; //pt of V0
  37. float mRapidity[2]; //rapidity of V0
  38. float mdEdx[4]; // dEdx lines for daughter track
  39. float mChargedEdx; // Charge of track to use in dedx
  40. long mNXisPassed;
  41. long mNXisFailed;
  42. #ifdef __ROOT__
  43. ClassDef(franksXiCut, 1)
  44. #endif
  45. };
  46. inline void franksXiCut::SetXiMassRange(const float& lo, const float& hi) {
  47. mXiMassRange[0] =lo; mXiMassRange[1]=hi;}
  48. inline void franksXiCut::SetOmegaMassRange(const float& lo, const float& hi) {
  49. mOmegaMassRange[0] =lo; mOmegaMassRange[1]=hi;}
  50. inline void franksXiCut::SetdcaXidaughters(const float& lo, const float& hi)
  51. {mdcaXidaughters[0]=lo; mdcaXidaughters[1]=hi;}
  52. inline void franksXiCut::SetdcaXiToPrimVertex(const float& lo, const float& hi)
  53. {mdcaXiToPrimVertex[0]=lo; mdcaXiToPrimVertex[1]=hi;}
  54. inline void franksXiCut::SetdecayLengthXi(const float& lo, const float& hi)
  55. {mdecayLengthXi[0]=lo; mdecayLengthXi[1]=hi;}
  56. inline void franksXiCut::SettpcHitsBac(const int& lo, const int& hi)
  57. {mtpcHitsBac[0]=lo;mtpcHitsBac[1]=hi;}
  58. inline void franksXiCut::SetdcaBacToPrimVertex(const float& lo, const float& hi)
  59. {mdcaBacToPrimVertex[0]=lo; mdcaBacToPrimVertex[1]=hi;}
  60. inline void franksXiCut::SetptArmXi(const float& lo, const float& hi)
  61. {mptArmXi[0]=lo; mptArmXi[1]=hi;}
  62. inline void franksXiCut::SetalphaXi(const float& lo, const float& hi)
  63. {malphaXi[0]=lo; malphaXi[1]=hi;}
  64. inline void franksXiCut::SetdEdx(const float& charge,
  65. const float& m1, const float& c1,
  66. const float& m2, const float& c2)
  67. {mChargedEdx=charge;mdEdx[0]=m1; mdEdx[1]=c1; mdEdx[2]=m2; mdEdx[3]=c2;}
  68. inline void franksXiCut::SetPt(const float& lo, const float& hi)
  69. {mPt[0]=lo; mPt[1]=hi;}
  70. inline void franksXiCut::SetRapidity(const float& lo,const float& hi)
  71. {mRapidity[0]=lo; mRapidity[1]=hi;}
  72. #endif