00001 /*************************************************************************** 00002 * 00003 * $Id: fabricesPairCut.h,v 1.2 2002/12/12 17:03:51 kisiel Exp $ 00004 * 00005 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu 00006 *************************************************************************** 00007 * 00008 * Description: part of STAR HBT Framework: StHbtMaker package 00009 * a do-nothing pair cut that simply says "true" to every pair 00010 * 00011 *************************************************************************** 00012 * 00013 * $Log: fabricesPairCut.h,v $ 00014 * Revision 1.2 2002/12/12 17:03:51 kisiel 00015 * Add NDedxHits cut, slight modification for Y cuts and Fabrices probability 00016 * 00017 * Revision 1.1 2001/12/14 23:11:27 fretiere 00018 * 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 00019 * 00020 * Revision 1.5 2000/03/23 22:57:28 laue 00021 * Clone() function implemented 00022 * 00023 * Revision 1.4 2000/01/25 17:35:03 laue 00024 * I. In order to run the stand alone version of the StHbtMaker the following 00025 * changes have been done: 00026 * a) all ClassDefs and ClassImps have been put into #ifdef __ROOT__ statements 00027 * b) unnecessary includes of StMaker.h have been removed 00028 * c) the subdirectory StHbtMaker/doc/Make has been created including everything 00029 * needed for the stand alone version 00030 * 00031 * II. To reduce the amount of compiler warning 00032 * a) some variables have been type casted 00033 * b) some destructors have been declared as virtual 00034 * 00035 * Revision 1.3 1999/10/15 01:57:05 lisa 00036 * Important enhancement of StHbtMaker - implement Franks CutMonitors 00037 * ---------------------------------------------------------- 00038 * This means 3 new files in Infrastructure area (CutMonitor), 00039 * several specific CutMonitor classes in the Cut area 00040 * and a new base class in the Base area (StHbtCutMonitor). 00041 * This means also changing all Cut Base class header files from .hh to .h 00042 * so we have access to CutMonitor methods from Cint command line. 00043 * This last means 00044 * 1) files which include these header files are slightly modified 00045 * 2) a side benefit: the TrackCuts and V0Cuts no longer need 00046 * a SetMass() implementation in each Cut class, which was stupid. 00047 * Also: 00048 * ----- 00049 * Include Franks StHbtAssociationReader 00050 * ** None of these changes should affect any user ** 00051 * 00052 * Revision 1.2 1999/07/06 22:33:21 lisa 00053 * Adjusted all to work in pro and new - dev itself is broken 00054 * 00055 * Revision 1.1.1.1 1999/06/29 16:02:56 lisa 00056 * Installation of StHbtMaker 00057 * 00058 **************************************************************************/ 00059 00060 00061 #ifndef fabricesPairCut_hh 00062 #define fabricesPairCut_hh 00063 00064 // do I need these lines ? 00065 //#ifndef StMaker_H 00066 //#include "StMaker.h" 00067 //#endif 00068 00069 #include "Cut/HitMergingPairCut.h" 00070 class ostrstream; 00071 00072 class fabricesPairCut : public HitMergingPairCut{ 00073 public: 00074 fabricesPairCut(); 00075 fabricesPairCut(const fabricesPairCut&); 00076 //~fabricesPairCut(); 00077 00078 virtual bool Pass(const StHbtPair*); 00079 virtual StHbtString Report(); 00080 fabricesPairCut* Clone(); 00081 void setPiKPairMinProbability(double aPiKPairMinProb); 00082 void setPiPPairMinProbability(double aPiPPairMinProb); 00083 void setElPairMaxProbability(double aElPairMaxProb); 00084 void setPiPiPairMaxProbability(double aPiPiPairMaxProb); 00085 void setKKPairMaxProbability(double aKKPairMaxProb); 00086 ostrstream* finalReport() const; 00087 00088 private: 00089 double mPiKPairMinProb; 00090 double mPiPPairMinProb; 00091 double mElPairMaxProb; 00092 double mPiPiPairMaxProb; 00093 double mKKPairMaxProb; 00094 #ifdef __ROOT__ 00095 ClassDef(fabricesPairCut, 1) 00096 #endif 00097 }; 00098 00099 inline fabricesPairCut::fabricesPairCut(const fabricesPairCut& c) : HitMergingPairCut(c) { 00100 mNPairsPassed = 0; 00101 mNPairsFailed = 0; 00102 00103 } 00104 inline fabricesPairCut* fabricesPairCut::Clone() { fabricesPairCut* c = new fabricesPairCut(*this); return c;} 00105 00106 inline void fabricesPairCut::setPiKPairMinProbability(double aPiKPairMinProb){ 00107 mPiKPairMinProb = aPiKPairMinProb; 00108 } 00109 inline void fabricesPairCut::setPiPPairMinProbability(double aPiPPairMinProb){ 00110 mPiPPairMinProb = aPiPPairMinProb; 00111 } 00112 inline void fabricesPairCut::setElPairMaxProbability(double aElPairMaxProb){ 00113 mElPairMaxProb = aElPairMaxProb; 00114 } 00115 inline void fabricesPairCut::setPiPiPairMaxProbability(double aPiPiPairMaxProb){ 00116 mPiPiPairMaxProb = aPiPiPairMaxProb; 00117 } 00118 inline void fabricesPairCut::setKKPairMaxProbability(double aKKPairMaxProb){ 00119 mKKPairMaxProb = aKKPairMaxProb; 00120 } 00121 #endif
1.5.9