00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef MinvLikeSignCorrFctn_Minv_vs_Phi_hh
00016 #define MinvLikeSignCorrFctn_Minv_vs_Phi_hh
00017
00018 # define M_PI 3.14159265358979323846
00019 # define M_PIl 3.1415926535897932384626433832795029L
00020
00021 #include "StHbtMaker/Infrastructure/StHbtAnalysis.h"
00022 #include "StHbtMaker/Base/StHbtLikeSignCorrFctn.hh"
00023 #include "StHbtMaker/Cut/mikesEventCut.h"
00024 #include <cmath>
00025
00026
00027 class MinvLikeSignCorrFctn_Minv_vs_Phi : public StHbtLikeSignCorrFctn {
00028 public:
00029 MinvLikeSignCorrFctn_Minv_vs_Phi(const MinvLikeSignCorrFctn_Minv_vs_Phi& );
00030 MinvLikeSignCorrFctn_Minv_vs_Phi(char* title1, char* title2,
00031 const int& nxbins=100, const float& xLo=.98, const float& xHi=1.08,
00032 const int& nybins=12, const float& yLo=0., const float& yHi=M_PIl);
00033 virtual ~MinvLikeSignCorrFctn_Minv_vs_Phi();
00034
00035 virtual StHbtString Report();
00036 virtual void AddRealPair(const StHbtPair*);
00037 virtual void AddMixedPair(const StHbtPair*);
00038 virtual void AddLikeSignPositivePair(const StHbtPair*);
00039 virtual void AddLikeSignNegativePair(const StHbtPair*);
00040 virtual void Finish();
00041 virtual void EventBegin(const StHbtEvent* ev) {
00042 mReactionPlane = ev->ReactionPlane();
00043 mReactionPlaneError = ev->ReactionPlaneSubEventDifference();
00044 }
00045
00046 MinvLikeSignCorrFctn_Minv_vs_Phi* Clone();
00047
00048 StHbt2DHisto* Numerator();
00049 StHbt2DHisto* MixedEventDenominator();
00050 StHbt2DHisto* PositiveDenominator();
00051 StHbt2DHisto* NegativeDenominator();
00052 StHbt2DHisto* MixedEventDifference();
00053 StHbt2DHisto* LikeSignDifference();
00054
00055 private:
00056 float mReactionPlane;
00057 float mReactionPlaneError;
00058 StHbt2DHisto* mNumerator;
00059 StHbt2DHisto* mMixedEventDenominator;
00060 StHbt2DHisto* mPositiveDenominator;
00061 StHbt2DHisto* mNegativeDenominator;
00062 StHbt2DHisto* mMixedEventDifference;
00063 StHbt2DHisto* mLikeSignDifference;
00064
00065
00066 #ifdef __ROOT__
00067 ClassDef(MinvLikeSignCorrFctn_Minv_vs_Phi, 1)
00068 #endif
00069 };
00070
00071
00072 inline StHbt2DHisto* MinvLikeSignCorrFctn_Minv_vs_Phi::Numerator(){return mNumerator;}
00073 inline StHbt2DHisto* MinvLikeSignCorrFctn_Minv_vs_Phi::MixedEventDenominator(){return mMixedEventDenominator;}
00074 inline StHbt2DHisto* MinvLikeSignCorrFctn_Minv_vs_Phi::PositiveDenominator(){return mPositiveDenominator;}
00075 inline StHbt2DHisto* MinvLikeSignCorrFctn_Minv_vs_Phi::NegativeDenominator(){return mNegativeDenominator;}
00076 inline StHbt2DHisto* MinvLikeSignCorrFctn_Minv_vs_Phi::MixedEventDifference(){return mMixedEventDifference;}
00077 inline StHbt2DHisto* MinvLikeSignCorrFctn_Minv_vs_Phi::LikeSignDifference(){return mLikeSignDifference;}
00078
00079 inline MinvLikeSignCorrFctn_Minv_vs_Phi* MinvLikeSignCorrFctn_Minv_vs_Phi::Clone() { MinvLikeSignCorrFctn_Minv_vs_Phi* c = new MinvLikeSignCorrFctn_Minv_vs_Phi(*this); return c;}
00080 inline MinvLikeSignCorrFctn_Minv_vs_Phi::MinvLikeSignCorrFctn_Minv_vs_Phi(const MinvLikeSignCorrFctn_Minv_vs_Phi& fctn) :StHbtLikeSignCorrFctn() {
00081 mNumerator = new StHbt2DHisto(*(fctn.mNumerator));
00082 mMixedEventDenominator= new StHbt2DHisto(*(fctn.mMixedEventDenominator));
00083 mPositiveDenominator = new StHbt2DHisto(*(fctn.mPositiveDenominator));
00084 mNegativeDenominator = new StHbt2DHisto(*(fctn.mNegativeDenominator));
00085 mMixedEventDifference = new StHbt2DHisto(*(fctn.mMixedEventDifference));
00086 mLikeSignDifference = new StHbt2DHisto(*(fctn.mLikeSignDifference));
00087 }
00088
00089
00090 #endif
00091