00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "StHbtMaker/CorrFctn/QinvCorrFctnPidProbWeight.h"
00021
00022 #include <cstdio>
00023
00024 #ifdef __ROOT__
00025 ClassImp(QinvCorrFctnPidProbWeight)
00026 #endif
00027
00028
00029 QinvCorrFctnPidProbWeight::QinvCorrFctnPidProbWeight(char* title1, char* title2, const int& nbins, const float& QinvLo, const float& QinvHi){
00030
00031
00032 char TitNum[100] = "Num";
00033 strcat(TitNum,title1);
00034 mNumerator = new StHbt1DHisto(TitNum,title2,nbins,QinvLo,QinvHi);
00035
00036
00037 char TitDen[100] = "Den";
00038 strcat(TitDen,title1);
00039 mDenominator = new StHbt1DHisto(TitDen,title2,nbins,QinvLo,QinvHi);
00040
00041
00042 char TitRat[100] = "Rat";
00043 strcat(TitRat,title1);
00044 mRatio = new StHbt1DHisto(TitRat,title2,nbins,QinvLo,QinvHi);
00045
00046
00047
00048
00049
00050
00051
00052 mNumerator->Sumw2();
00053 mDenominator->Sumw2();
00054 mRatio->Sumw2();
00055
00056 }
00057
00058
00059 QinvCorrFctnPidProbWeight::~QinvCorrFctnPidProbWeight(){
00060 delete mNumerator;
00061 delete mDenominator;
00062 delete mRatio;
00063 }
00064
00065 void QinvCorrFctnPidProbWeight::Finish(){
00066
00067
00068
00069
00070
00071
00072
00073 mRatio->Divide(mNumerator,mDenominator,1.0,1.0);
00074
00075 }
00076
00077
00078 StHbtString QinvCorrFctnPidProbWeight::Report(){
00079 string stemp = "Qinv Correlation Function Report:\n";
00080 char ctemp[100];
00081 sprintf(ctemp,"Number of entries in numerator:\t%E\n",mNumerator->GetEntries());
00082 stemp += ctemp;
00083 sprintf(ctemp,"Number of entries in denominator:\t%E\n",mDenominator->GetEntries());
00084 stemp += ctemp;
00085 sprintf(ctemp,"Number of entries in ratio:\t%E\n",mRatio->GetEntries());
00086 stemp += ctemp;
00087
00088 StHbtString returnThis = stemp;
00089 return returnThis;
00090 }
00091
00092 void QinvCorrFctnPidProbWeight::AddRealPair(const StHbtPair* pair){
00093 mNumerator->Fill(pair->qInv(),pair->track1()->Track()->PidProbKaon()*pair->track2()->Track()->PidProbKaon());
00094 }
00095
00096 void QinvCorrFctnPidProbWeight::AddMixedPair(const StHbtPair* pair){
00097 mDenominator->Fill(pair->qInv(),pair->track1()->Track()->PidProbKaon()*pair->track2()->Track()->PidProbKaon());
00098 }
00099
00100