00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "StHbtMaker/CorrFctn/EntSep_pTCorrFctn.h"
00021 #include <cstdio>
00022
00023 #ifdef __ROOT__
00024 ClassImp(EntSep_pTCorrFctn)
00025 #endif
00026
00027
00028
00029 EntSep_pTCorrFctn::EntSep_pTCorrFctn(char* title, const int& nbinsQ, const float& QLo, const float& QHi,
00030 const int& nbinsExSep, const float& ExSepLo, const float& ExSepHi){
00031
00032 char Tit[100];
00033 sprintf(Tit,"2D Num");
00034 strcat(Tit,title);
00035 mNumerator2D = new StHbt2DHisto(Tit,title,nbinsQ,QLo,QHi,nbinsExSep,ExSepLo,ExSepHi);
00036
00037
00038 sprintf(Tit,"2D Den");
00039 strcat(Tit,title);
00040 mDenominator2D = new StHbt2DHisto(Tit,title,nbinsQ,QLo,QHi,nbinsExSep,ExSepLo,ExSepHi);
00041
00042
00043 sprintf(Tit,"2D Rat");
00044 strcat(Tit,title);
00045 mRatio2D = new StHbt2DHisto(Tit,title,nbinsQ,QLo,QHi,nbinsExSep,ExSepLo,ExSepHi);
00046
00047
00048 mNumerator2D->Sumw2();
00049 mDenominator2D->Sumw2();
00050 mRatio2D->Sumw2();
00051
00052 }
00053
00054
00055 EntSep_pTCorrFctn::~EntSep_pTCorrFctn(){
00056 delete mNumerator2D;
00057 delete mDenominator2D;
00058 delete mRatio2D;
00059 }
00060
00061 void EntSep_pTCorrFctn::Finish(){
00062 mRatio2D->Divide(mNumerator2D,mDenominator2D,1.0,1.0);
00063 }
00064
00065
00066 StHbtString EntSep_pTCorrFctn::Report(){
00067 string stemp = "EntSep_pT Correlation Function Report:\n";
00068 char ctemp[100];
00069 sprintf(ctemp,"Number of entries in numerator:\t%E\n",
00070 mNumerator2D->GetEntries());
00071 stemp += ctemp;
00072 sprintf(ctemp,"Number of entries in denominator:\t%E\n",
00073 mDenominator2D->GetEntries());
00074 stemp += ctemp;
00075 StHbtString returnThis = stemp;
00076 return returnThis;
00077 }
00078
00079 void EntSep_pTCorrFctn::AddRealPair(const StHbtPair* pair){
00080
00081
00082 double entSep = pair->NominalTpcEntranceSeparation();
00083
00084 double kT = pair->kT();
00085
00086 mNumerator2D->Fill(entSep,kT,1.0);
00087 }
00088
00089 void EntSep_pTCorrFctn::AddMixedPair(const StHbtPair* pair){
00090
00091 double entSep = pair->NominalTpcEntranceSeparation();
00092
00093 double kT = pair->kT();
00094
00095 mDenominator2D->Fill(entSep,kT,1.0);
00096 }
00097