gregsTrackPairCut.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #ifndef gregsTrackPairCut_hh
  2. #define gregsTrackPairCut_hh
  3. class StHbtPair;
  4. #include "StHbtMaker/Base/StHbtPairCut.h"
  5. //_________________
  6. class gregsTrackPairCut : public StHbtPairCut{
  7. public:
  8. gregsTrackPairCut();
  9. gregsTrackPairCut(const gregsTrackPairCut&);
  10. ~gregsTrackPairCut();
  11. virtual bool Pass(const StHbtPair*);
  12. void SetQuality(const float& lo, const float& hi );
  13. void SetKt(const float& lo, const float& hi);
  14. void SetPt(const float& lo, const float& hi);
  15. void SetOpeningAngle(const float& lo, const float& hi);
  16. void SetEntranceSeparation(const float& lo, const float& hi);
  17. void SetRapidity(const float& lo, const float& hi);
  18. void SetEta(const float& lo, const float& hi);
  19. void SetQinv(const float& lo, const float& hi);
  20. void SetMinv(const float& lo, const float& hi);
  21. void SetAngleToPrimaryVertex(const float& lo, const float& hi);
  22. void SetFracOfMergedRow(const float& lo, const float& hi);
  23. void SetClosestRowAtDCA(const float& lo, const float& hi);
  24. void SetWeightedAvSep(const float& lo, const float& hi);
  25. void SetAverageSeparation(const float& lo, const float& hi);
  26. void SetRValue(const float& lo);
  27. gregsTrackPairCut* Clone();
  28. virtual StHbtString Report();
  29. private:
  30. StHbtThreeVector mPrimaryVertex;
  31. float mFracOfMergedRow[2];
  32. double mClosestRowAtDCA[2];
  33. double mWeightedAvSep[2];
  34. float mQuality[2];
  35. float mKt[2];
  36. float mPt[2];
  37. float mRapidity[2];
  38. float mEta[2];
  39. float mQinv[2];
  40. float mMinv[2];
  41. float mOpeningAngle[2];
  42. float mAngleToPrimaryVertex[2];
  43. float mEntranceSeparation[2];
  44. float mAverageSeparation[2];
  45. float mRValueLo;
  46. long mNPairsPassed;
  47. long mNPairsFailed;
  48. protected:
  49. #ifdef __ROOT__
  50. ClassDef(gregsTrackPairCut, 1)
  51. #endif
  52. };
  53. inline void gregsTrackPairCut::SetQuality(const float& lo, const float& hi)
  54. { mQuality[0]=lo; mQuality[1]=hi; }
  55. inline void gregsTrackPairCut::SetKt(const float& lo, const float& hi)
  56. { mKt[0]=lo; mKt[1]=hi; }
  57. inline void gregsTrackPairCut::SetPt(const float& lo, const float& hi)
  58. { mPt[0]=lo; mPt[1]=hi; }
  59. inline void gregsTrackPairCut::SetOpeningAngle(const float& lo, const float& hi)
  60. { mOpeningAngle[0]=lo; mOpeningAngle[1]=hi; }
  61. inline void gregsTrackPairCut::SetRapidity(const float& lo, const float& hi)
  62. { mRapidity[0]=lo; mRapidity[1]=hi; }
  63. inline void gregsTrackPairCut::SetEta(const float& lo, const float& hi)
  64. { mEta[0]=lo; mEta[1]=hi; }
  65. inline void gregsTrackPairCut::SetQinv(const float& lo, const float& hi)
  66. { mQinv[0]=lo; mQinv[1]=hi; }
  67. inline void gregsTrackPairCut::SetMinv(const float& lo, const float& hi)
  68. { mMinv[0]=lo; mMinv[1]=hi; }
  69. inline void gregsTrackPairCut::SetEntranceSeparation(const float& lo, const float& hi)
  70. { mEntranceSeparation[0]=lo; mEntranceSeparation[1]=hi; }
  71. inline void gregsTrackPairCut::SetAngleToPrimaryVertex(const float& lo, const float& hi)
  72. { mAngleToPrimaryVertex[0]=lo; mAngleToPrimaryVertex[1]=hi; }
  73. inline void gregsTrackPairCut::SetFracOfMergedRow(const float& lo, const float& hi)
  74. {mFracOfMergedRow[0]=lo; mFracOfMergedRow[1]=hi;}
  75. inline void gregsTrackPairCut::SetClosestRowAtDCA(const float& lo, const float& hi)
  76. {mClosestRowAtDCA[0]=lo; mClosestRowAtDCA[1]=hi;}
  77. inline void gregsTrackPairCut::SetWeightedAvSep(const float& lo, const float& hi)
  78. {mWeightedAvSep[0]=lo; mWeightedAvSep[1]=hi;}
  79. inline void gregsTrackPairCut::SetRValue(const float& lo)
  80. {mRValueLo = lo;}
  81. inline gregsTrackPairCut* gregsTrackPairCut::Clone() { gregsTrackPairCut* c = new gregsTrackPairCut(*this); return c;}
  82. inline void gregsTrackPairCut::SetAverageSeparation(const float& lo, const float& hi) {
  83. mAverageSeparation[0]=lo; mAverageSeparation[1]=hi; }
  84. #endif