00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "TMath.h"
00013 #include "StHbtMaker/CorrFctn/FracMergRowvsQinv.h"
00014 #include <cstdio>
00015
00016 #ifdef __ROOT__
00017 ClassImp(FracMergRowvsQinv)
00018 #endif
00019
00020
00021 FracMergRowvsQinv::FracMergRowvsQinv(char* title, const int& nbinsX, const float& XLo, const float& XHi,
00022 const int& nbinsY, const float& YLo, const float& YHi){
00023
00024 char Tit[100];
00025 sprintf(Tit,"Num2D");
00026 strcat(Tit,title);
00027 mNumerator2D = new StHbt2DHisto(Tit,title,nbinsX,XLo,XHi,nbinsY,YLo,YHi);
00028
00029
00030 sprintf(Tit,"Den2D");
00031 strcat(Tit,title);
00032 mDenominator2D = new StHbt2DHisto(Tit,title,nbinsX,XLo,XHi,nbinsY,YLo,YHi);
00033
00034
00035 sprintf(Tit,"Rat2D");
00036 strcat(Tit,title);
00037 mRatio2D = new StHbt2DHisto(Tit,title,nbinsX,XLo,XHi,nbinsY,YLo,YHi);
00038
00039 mNumerator2D->Sumw2();
00040 mDenominator2D->Sumw2();
00041 mRatio2D->Sumw2();
00042 }
00043
00044 FracMergRowvsQinv::~FracMergRowvsQinv(){
00045 delete mNumerator2D;
00046 delete mDenominator2D;
00047 delete mRatio2D;
00048 }
00049
00050 void FracMergRowvsQinv::Finish(){
00051 mRatio2D->Divide(mNumerator2D,mDenominator2D,1.0,1.0);
00052 }
00053
00054
00055
00056 StHbtString FracMergRowvsQinv::Report(){
00057 string stemp = "Qinv Correlation Function Report:\n";
00058 char ctemp[100];
00059 sprintf(ctemp,"Number of entries in numerator:\t%E\n",mNumerator2D->GetEntries());
00060 stemp += ctemp;
00061 sprintf(ctemp,"Number of entries in denominator:\t%E\n",mDenominator2D->GetEntries());
00062 stemp += ctemp;
00063 sprintf(ctemp,"Number of entries in ratio:\t%E\n",mRatio2D->GetEntries());
00064 stemp += ctemp;
00065 StHbtString returnThis = stemp;
00066 return returnThis;
00067 }
00068
00069 void FracMergRowvsQinv::AddRealPair(const StHbtPair* pair){
00070 double Qinv = fabs(pair->qInv());
00071 mNumerator2D->Fill(Qinv,
00072 pair->getFracOfMergedRow(),1.0);
00073 }
00074
00075
00076 void FracMergRowvsQinv::AddMixedPair(const StHbtPair* pair){
00077 double Qinv = fabs(pair->qInv());
00078 mDenominator2D->Fill(Qinv,
00079 pair->getFracOfMergedRow(),1.0);
00080 }