00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef anglePairCut_hh
00022 #define anglePairCut_hh
00023
00024
00025
00026
00027
00028
00029 #include "StHbtMaker/Base/StHbtPairCut.h"
00030 #include "PhysicalConstants.h"
00031
00032 class anglePairCut : public StHbtPairCut{
00033 public:
00034 anglePairCut();
00035 anglePairCut(char* title);
00036 anglePairCut(const anglePairCut&);
00037
00038
00039 void SetAngleCut(const double& angleLo, const double& angleHi);
00040 void SetAngleCut(const double& angleLo1, const double& angleHi1,
00041 const double& angleLo2, const double& angleHi2);
00042 StHbt1DHisto* betaT();
00043 StHbt1DHisto* betaL();
00044 StHbt1DHisto* betaT2();
00045 StHbt1DHisto* betaL2();
00046 StHbt1DHisto* betaTL();
00047
00048 double EmissionAngle(const StHbtPair*);
00049
00050 virtual bool Pass(const StHbtPair*);
00051 virtual StHbtString Report();
00052 anglePairCut* Clone();
00053
00054 private:
00055 double mAngle1[2];
00056 double mAngle2[2];
00057 long mNPairsPassed;
00058 long mNPairsFailed;
00059 StHbt1DHisto* mBetaT;
00060 StHbt1DHisto* mBetaL;
00061 StHbt1DHisto* mBetaT2;
00062 StHbt1DHisto* mBetaL2;
00063 StHbt1DHisto* mBetaTL;
00064
00065 #ifdef __ROOT__
00066 ClassDef(anglePairCut, 1)
00067 #endif
00068 };
00069
00070 inline anglePairCut::anglePairCut(const anglePairCut& c) : StHbtPairCut(c) {
00071 mNPairsPassed = 0;
00072 mNPairsFailed = 0;
00073
00074 }
00075 inline anglePairCut* anglePairCut::Clone() { anglePairCut* c = new anglePairCut(*this); return c;}
00076 inline void anglePairCut::SetAngleCut(const double& angleLo, const double& angleHi){
00077 mAngle1[0] = angleLo;
00078 mAngle1[1] = angleHi;
00079 mAngle2[0] = 999.0;
00080 mAngle2[1] = 999.0;
00081 }
00082 inline void anglePairCut::SetAngleCut(const double& angleLo1, const double& angleHi1,
00083 const double& angleLo2, const double& angleHi2){
00084 mAngle1[0] = angleLo1;
00085 mAngle1[1] = angleHi1;
00086 mAngle2[0] = angleLo2;
00087 mAngle2[1] = angleHi2;
00088 }
00089 inline StHbt1DHisto* anglePairCut::betaT(){return mBetaT;}
00090 inline StHbt1DHisto* anglePairCut::betaL(){return mBetaL;}
00091 inline StHbt1DHisto* anglePairCut::betaT2(){return mBetaT2;}
00092 inline StHbt1DHisto* anglePairCut::betaL2(){return mBetaL2;}
00093 inline StHbt1DHisto* anglePairCut::betaTL(){return mBetaTL;}
00094
00095 #endif
00096
00097
00098
00099
00100