00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef MinvCorrFctnArmenteros_hh
00032 #define MinvCorrFctnArmenteros_hh
00033
00034 #include "StHbtMaker/Infrastructure/StHbtAnalysis.h"
00035 #include "StHbtMaker/Base/StHbtCorrFctn.hh"
00036 #include "StHbtMaker/Cut/mikesEventCut.h"
00037
00038 class MinvCorrFctnArmenteros : public StHbtCorrFctn {
00039 public:
00040 MinvCorrFctnArmenteros(char* title,
00041 const int& nbins1, const float& MinvLo1, const float& MinvHi1,
00042 const int& nbins2, const float& MinvLo2, const float& MinvHi2);
00043 MinvCorrFctnArmenteros(const MinvCorrFctnArmenteros&);
00044 virtual ~MinvCorrFctnArmenteros();
00045
00046 virtual StHbtString Report();
00047 virtual void AddRealPair(const StHbtPair*);
00048 virtual void AddMixedPair(const StHbtPair*);
00049
00050 virtual void Finish();
00051
00052 void SetMassWindow( double, double );
00053 MinvCorrFctnArmenteros* Clone();
00054
00055 StHbt2DHisto* Numerator();
00056 StHbt2DHisto* Denominator();
00057 StHbt2DHisto* Difference();
00058
00059 private:
00060 double mLo,mHi;
00061 long mRealPairs, mMixedPairs;
00062 StHbt2DHisto* mNumerator;
00063 StHbt2DHisto* mDenominator;
00064 StHbt2DHisto* mDifference;
00065 #ifdef __ROOT__
00066 ClassDef(MinvCorrFctnArmenteros, 1)
00067 #endif
00068 };
00069
00070 inline StHbt2DHisto* MinvCorrFctnArmenteros::Numerator(){return mNumerator;}
00071 inline StHbt2DHisto* MinvCorrFctnArmenteros::Denominator(){return mDenominator;}
00072 inline StHbt2DHisto* MinvCorrFctnArmenteros::Difference(){return mDifference;}
00073 inline void MinvCorrFctnArmenteros::SetMassWindow(double a, double b){ mLo=a; mHi=b;}
00074 inline MinvCorrFctnArmenteros::MinvCorrFctnArmenteros(const MinvCorrFctnArmenteros& fctn) :StHbtCorrFctn() {
00075 mNumerator = new StHbt2DHisto(*(fctn.mNumerator));
00076 mDenominator= new StHbt2DHisto(*(fctn.mDenominator));
00077 mDifference = new StHbt2DHisto(*(fctn.mDifference));
00078 }
00079 inline MinvCorrFctnArmenteros* MinvCorrFctnArmenteros::Clone() { MinvCorrFctnArmenteros* c = new MinvCorrFctnArmenteros(*this); return c;}
00080
00081 #endif
00082