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