fabricesPairCut.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /***************************************************************************
  2. *
  3. * $Id: fabricesPairCut.h,v 1.2 2002/12/12 17:03:51 kisiel Exp $
  4. *
  5. * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
  6. ***************************************************************************
  7. *
  8. * Description: part of STAR HBT Framework: StHbtMaker package
  9. * a do-nothing pair cut that simply says "true" to every pair
  10. *
  11. ***************************************************************************
  12. *
  13. * $Log: fabricesPairCut.h,v $
  14. * Revision 1.2 2002/12/12 17:03:51 kisiel
  15. * Add NDedxHits cut, slight modification for Y cuts and Fabrices probability
  16. *
  17. * Revision 1.1 2001/12/14 23:11:27 fretiere
  18. * Add class HitMergingCut. Add class fabricesPairCut = HitMerginCut + pair purity cuts. Add TpcLocalTransform function which convert to local tpc coord (not pretty). Modify StHbtTrack, StHbtParticle, StHbtHiddenInfo, StHbtPair to handle the hit information and cope with my code
  19. *
  20. * Revision 1.5 2000/03/23 22:57:28 laue
  21. * Clone() function implemented
  22. *
  23. * Revision 1.4 2000/01/25 17:35:03 laue
  24. * I. In order to run the stand alone version of the StHbtMaker the following
  25. * changes have been done:
  26. * a) all ClassDefs and ClassImps have been put into #ifdef __ROOT__ statements
  27. * b) unnecessary includes of StMaker.h have been removed
  28. * c) the subdirectory StHbtMaker/doc/Make has been created including everything
  29. * needed for the stand alone version
  30. *
  31. * II. To reduce the amount of compiler warning
  32. * a) some variables have been type casted
  33. * b) some destructors have been declared as virtual
  34. *
  35. * Revision 1.3 1999/10/15 01:57:05 lisa
  36. * Important enhancement of StHbtMaker - implement Franks CutMonitors
  37. * ----------------------------------------------------------
  38. * This means 3 new files in Infrastructure area (CutMonitor),
  39. * several specific CutMonitor classes in the Cut area
  40. * and a new base class in the Base area (StHbtCutMonitor).
  41. * This means also changing all Cut Base class header files from .hh to .h
  42. * so we have access to CutMonitor methods from Cint command line.
  43. * This last means
  44. * 1) files which include these header files are slightly modified
  45. * 2) a side benefit: the TrackCuts and V0Cuts no longer need
  46. * a SetMass() implementation in each Cut class, which was stupid.
  47. * Also:
  48. * -----
  49. * Include Franks StHbtAssociationReader
  50. * ** None of these changes should affect any user **
  51. *
  52. * Revision 1.2 1999/07/06 22:33:21 lisa
  53. * Adjusted all to work in pro and new - dev itself is broken
  54. *
  55. * Revision 1.1.1.1 1999/06/29 16:02:56 lisa
  56. * Installation of StHbtMaker
  57. *
  58. **************************************************************************/
  59. #ifndef fabricesPairCut_hh
  60. #define fabricesPairCut_hh
  61. // do I need these lines ?
  62. //#ifndef StMaker_H
  63. //#include "StMaker.h"
  64. //#endif
  65. #include "Cut/HitMergingPairCut.h"
  66. class ostrstream;
  67. class fabricesPairCut : public HitMergingPairCut{
  68. public:
  69. fabricesPairCut();
  70. fabricesPairCut(const fabricesPairCut&);
  71. //~fabricesPairCut();
  72. virtual bool Pass(const StHbtPair*);
  73. virtual StHbtString Report();
  74. fabricesPairCut* Clone();
  75. void setPiKPairMinProbability(double aPiKPairMinProb);
  76. void setPiPPairMinProbability(double aPiPPairMinProb);
  77. void setElPairMaxProbability(double aElPairMaxProb);
  78. void setPiPiPairMaxProbability(double aPiPiPairMaxProb);
  79. void setKKPairMaxProbability(double aKKPairMaxProb);
  80. ostrstream* finalReport() const;
  81. private:
  82. double mPiKPairMinProb;
  83. double mPiPPairMinProb;
  84. double mElPairMaxProb;
  85. double mPiPiPairMaxProb;
  86. double mKKPairMaxProb;
  87. #ifdef __ROOT__
  88. ClassDef(fabricesPairCut, 1)
  89. #endif
  90. };
  91. inline fabricesPairCut::fabricesPairCut(const fabricesPairCut& c) : HitMergingPairCut(c) {
  92. mNPairsPassed = 0;
  93. mNPairsFailed = 0;
  94. }
  95. inline fabricesPairCut* fabricesPairCut::Clone() { fabricesPairCut* c = new fabricesPairCut(*this); return c;}
  96. inline void fabricesPairCut::setPiKPairMinProbability(double aPiKPairMinProb){
  97. mPiKPairMinProb = aPiKPairMinProb;
  98. }
  99. inline void fabricesPairCut::setPiPPairMinProbability(double aPiPPairMinProb){
  100. mPiPPairMinProb = aPiPPairMinProb;
  101. }
  102. inline void fabricesPairCut::setElPairMaxProbability(double aElPairMaxProb){
  103. mElPairMaxProb = aElPairMaxProb;
  104. }
  105. inline void fabricesPairCut::setPiPiPairMaxProbability(double aPiPiPairMaxProb){
  106. mPiPiPairMaxProb = aPiPiPairMaxProb;
  107. }
  108. inline void fabricesPairCut::setKKPairMaxProbability(double aKKPairMaxProb){
  109. mKKPairMaxProb = aKKPairMaxProb;
  110. }
  111. #endif