00001 #include "commonmacro/common.h"
00002 #include "common/Name.cc"
00003 #include "commonmacro/histutil.h"
00004 #include "commonmacro/ua1.h"
00005
00006 void finalRatios(
00007 const char* inCentral=
00008 "links/P01hi.central.2000.hist/finish_cut88778999_iter3.hist.root",
00009 const char* inMinbias=
00010 "links/P01hi.minbias.2000.hist/finish_cut97778999_iter3.hist.root",
00011 const char* inPeripheral=
00012 "links/P01hi.minbias.2000.hist/finish_cut57778999_iter3.hist.root",
00013 const char* psDir="psFinal"
00014 )
00015 {
00016 gSystem->Clear();
00017
00018 TFile* rCentral=new TFile(inCentral);
00019 TFile* rMinbias=new TFile(inMinbias);
00020 TFile* rPeripheral=new TFile(inPeripheral);
00021
00022 int DOKLUDGE=1;
00023
00024
00025
00026
00027
00028 char name[200],title[200],txt[500];
00029 char* sign=0;
00030 int bin=0;
00031
00032 setName(name,"gSpecCorrected",bin,sign);
00033
00034 TGraphAsymmErrors* gCentral=(TGraphAsymmErrors*)rCentral->Get(name);
00035 TGraphAsymmErrors* gMinbias=(TGraphAsymmErrors*)rMinbias->Get(name);
00036 TGraphAsymmErrors* gPeripheral=(TGraphAsymmErrors*)rPeripheral->Get(name);
00037
00038
00039
00040
00041 if(DOKLUDGE){
00042 cout << ">>>>WARNING DOING KLUDGE" << endl;
00043 cout << ">>>>WARNING DOING KLUDGE" << endl;
00044 cout << ">>>>WARNING DOING KLUDGE" << endl;
00045
00046 kludgeBackground(gCentral,0.08);
00047 kludgeBackground(gMinbias,0.08);
00048 kludgeBackground(gPeripheral,0.05);
00049
00050 kludgeSystematics(gCentral);
00051 kludgeSystematics(gMinbias);
00052 kludgeSystematics(gPeripheral);
00053
00054 }
00055
00056
00057
00058 gStyle->SetOptStat(0); gStyle->SetOptTitle(0);
00059
00060 gStyle->SetPadTickY(1);
00061
00062
00063 int font = 42;
00064 gStyle->SetTextFont(font); gStyle->SetTitleFont(font);
00065 gStyle->SetLabelFont(font,"x"); gStyle->SetLabelFont(font,"y");
00066
00067
00068
00069
00070
00071 TCanvas* c1=new TCanvas("c1","c1",400,600);
00072
00073 TPad* p1=new TPad("p1","p1",0.01,0.67,1,1,0,0,0);
00074 p1->SetBottomMargin(0); p1->Draw();
00075
00076 TPad* p2=new TPad("p2","p2",0.01,0.33,1,.67,0,0,0);
00077 p2->SetTopMargin(0); p2->SetBottomMargin(0); p2->Draw();
00078
00079 TPad* p3=new TPad("p3","p3",0.01,0.01,1,.33,0,0,0);
00080 p3->SetTopMargin(0); p3->Draw();
00081
00082
00083 TLatex* ltx=new TLatex;
00084 double xText=2.2,textSize=0.05,titleSize=0.05,iTextSize=0.03;
00085
00086 double yMin=0,yMax=1.6;
00087 double xMin=0,xMax=6.2;
00088 double tickSize =.07;
00089 double markerSize = 0.8;
00090 int markerStyle=4;
00091 int lowPtMarkerStyle=4;
00092
00093 TCanvas* c2=new TCanvas("c2","c2",400,400);
00094
00095
00096
00097
00098 double geom=7200;
00099 double Asq = 197*197;
00100 double geomScale=geom/Asq;
00101
00102 TGraphAsymmErrors* minbiasUA1X=makeUA1Ratio(gMinbias,0,geomScale);
00103
00104 TGraphAsymmErrors* minbiasUA1=removeXErrors(minbiasUA1X);
00105
00106 TGraphAsymmErrors* minbiasUA1Err=
00107 makeUA1ScaleError(gMinbias,geomScale,geomScale,geomScale);
00108
00109 TGraphAsymmErrors* hMinbias=makeHMinus(0);
00110 TGraphAsymmErrors* hMinbiasUA1=makeUA1Ratio(hMinbias,0,geomScale);
00111 TGraphAsymmErrors* hMinbiasUA1Err=
00112 makeUA1ScaleError(hMinbias,geomScale,geomScale,geomScale);
00113 TGraphAsymmErrors* hMinbiasUA1=removeXErrors(hMinbiasUA1);
00114 p1->cd();
00115
00116 minbiasUA1->SetMarkerStyle(markerStyle);
00117 minbiasUA1->SetMarkerSize(markerSize);
00118 minbiasUA1->SetMinimum(yMin); minbiasUA1->SetMaximum(yMax);
00119 minbiasUA1->Draw("ap");
00120 minbiasUA1Err->Draw("[]");
00121
00122 hMinbiasUA1->SetMarkerStyle(lowPtMarkerStyle);
00123 hMinbiasUA1->SetMarkerSize(markerSize);
00124 hMinbiasUA1->Draw("p");
00125 hMinbiasUA1Err->Draw("[]");
00126
00127
00128 TAxis* axis=minbiasUA1->GetXaxis();
00129 axis->SetLimits(xMin,xMax);
00130
00131
00132 drawAxisBins(minbiasUA1X,tickSize,minbiasUA1->GetYaxis()->GetXmax());
00133
00134 drawLine(axis);
00135
00136
00137 ltx->SetTextSize(textSize);
00138 strcpy(txt,"#frac{ 1/p_{T} d^{2} N/dp_{T}d#eta(STAR minbias) #sigma_{geom}}{ 2#pi Ed^{3}#sigma/dp^{3} (UA1) A^{2}}");
00139 ltx->DrawLatex(xText,.3,txt);
00140
00141
00142
00143
00144 c2->cd();
00145 minbiasUA1->SetMinimum(yMin); minbiasUA1->SetMaximum(yMax);
00146 minbiasUA1->SetMarkerSize(1);
00147 minbiasUA1->Draw("ap");
00148 minbiasUA1Err->Draw("[]");
00149
00150 hMinbiasUA1->SetMarkerStyle(lowPtMarkerStyle);
00151 hMinbiasUA1->SetMarkerSize(1);
00152 hMinbiasUA1->Draw("p");
00153 hMinbiasUA1Err->Draw("[]");
00154
00155 minbiasUA1->GetXaxis()->SetTitle("p_{T} (GeV/c)");
00156
00157 drawLine(minbiasUA1->GetXaxis());
00158
00159 ltx->SetTextSize(iTextSize);
00160 strcpy(txt,"#frac{ 1/p_{T} d^{2} N/dp_{T}d#eta(STAR minbias) #sigma_{geom}}{ 2#pi Ed^{3}#sigma/dp^{3} (UA1) A^{2}}");
00161 ltx->DrawLatex(xText,.20,txt);
00162
00163 Print(c2,psDir,"minbiasOverUA1.ps");
00164
00165
00166
00167
00168
00169 double TAA=26;
00170 double TAAScale=1./TAA;
00171 double TAAScaleLow=1./(TAA+1),TAAScaleHigh=1./(TAA-1);
00172
00173 TGraphAsymmErrors* centralUA1X=makeUA1Ratio(gCentral,0,TAAScale);
00174 TGraphAsymmErrors* centralUA1Err=
00175 makeUA1ScaleError(gCentral,TAAScale,TAAScaleLow,TAAScaleHigh);
00176 TGraphAsymmErrors* centralUA1=removeXErrors(centralUA1X);
00177
00178
00179 TGraphAsymmErrors* hCentral=makeHMinus(2);
00180 TGraphAsymmErrors* hCentralUA1=makeUA1Ratio(hCentral,0,TAAScale);
00181 TGraphAsymmErrors* hCentralUA1Err=
00182 makeUA1ScaleError(hCentral,TAAScale,TAAScaleLow,TAAScaleHigh);
00183 TGraphAsymmErrors* hCentralUA1=removeXErrors(hCentralUA1);
00184
00185 p2->cd();
00186 centralUA1->SetMarkerStyle(markerStyle);
00187 centralUA1->SetMinimum(yMin); centralUA1->SetMaximum(yMax-0.01);
00188 centralUA1->Draw("ap");
00189
00190 centralUA1Err->Draw("[]");
00191
00192 hCentralUA1->SetMarkerStyle(lowPtMarkerStyle);
00193 hCentralUA1->SetMarkerSize(markerSize);
00194 hCentralUA1->Draw("p");
00195 hCentralUA1Err->Draw("[]");
00196
00197 axis=centralUA1->GetXaxis();
00198 axis->SetLimits(xMin,xMax);
00199 drawLine(axis);
00200
00201
00202 drawAxisBins(centralUA1X,tickSize,minbiasUA1->GetYaxis()->GetXmax());
00203
00204
00205 ltx->SetTextSize(textSize);
00206 strcpy(txt,"#frac{ 1/p_{T} d^{2}N/dp_{T}d#eta(STAR central)}{ 2#pi Ed^{3}#sigma/dp^{3} (UA1) T_{AA} }");
00207 ltx->DrawLatex(xText,1.2,txt);
00208
00209 strcpy(txt,"STAR h^{-}");
00210 ltx->DrawLatex(1.2,.35,txt);
00211
00212
00213 c2->Clear();
00214 c2->cd();
00215 centralUA1->SetMinimum(yMin); centralUA1->SetMaximum(yMax);
00216 centralUA1->SetMarkerSize(1);
00217 centralUA1->Draw("ap");
00218 centralUA1Err->Draw("[]");
00219 hCentralUA1->SetMarkerSize(1);
00220 hCentralUA1->Draw("p");
00221 hCentralUA1Err->Draw("[]");
00222 centralUA1->GetXaxis()->SetTitle("p_{T} (GeV/c)");
00223
00224 drawLine(centralUA1->GetXaxis());
00225
00226 ltx->SetTextSize(iTextSize);
00227 strcpy(txt,"#frac{ 1/p_{T} d^{2}N/dp_{T}d#eta(STAR central)}{ 2#pi Ed^{3}#sigma/dp^{3} (UA1) T_{AA} }");
00228 ltx->DrawLatex(xText,1.2,txt);
00229
00230 Print(c2,psDir,"centralOverUA1.ps");
00231
00232
00233
00234
00235 TGraphAsymmErrors* centralPeriphX=divide(gCentral,gPeripheral);
00236 TGraphAsymmErrors* centralPeriph=removeXErrors(centralPeriphX);
00237
00238 TGraphAsymmErrors* hPeriph=makeHMinus(1);
00239 TGraphAsymmErrors* hCentralPeriph=divide(hCentral,hPeriph);
00240
00241 p3->cd();
00242 double sc=0;
00243 double* y=centralPeriph->GetY();
00244
00245 sc=1./y[2];
00246 scale(centralPeriph,sc);
00247
00248
00249
00250
00251
00252 centralPeriph->SetMarkerStyle(markerStyle);
00253 centralPeriph->SetMarkerSize(markerSize);
00254 centralPeriph->SetMinimum(0); centralPeriph->SetMaximum(yMax-0.01);
00255 centralPeriph->Draw("ap");
00256
00257 hCentralPeriph->SetMarkerStyle(lowPtMarkerStyle);
00258 hCentralPeriph->SetMarkerSize(markerSize);
00259 hCentralPeriph->Draw("p");
00260
00261 drawLine(axis);
00262
00263 axis=centralPeriph->GetXaxis();
00264 axis->SetLimits(xMin,xMax);
00265
00266 axis->SetTitle("p_{T} (GeV/c)");
00267 axis->SetTitleSize(titleSize);
00268 axis->SetLabelOffset(0.003);
00269
00270 drawAxisBins(centralPeriphX,tickSize,minbiasUA1->GetYaxis()->GetXmax());
00271
00272
00273 ltx->SetTextSize(textSize);
00274 strcpy(txt,"#frac{ STAR central }{ STAR peripheral } (normalized to 1 @ 2GeV/c)");
00275 ltx->DrawLatex(xText,1.3,txt);
00276
00277 Print(c1,psDir,"ratios");
00278
00279
00280 c2->Clear(); c2->cd();
00281
00282 centralPeriph->SetMarkerStyle(markerStyle);
00283 centralPeriph->SetMinimum(0); centralPeriph->SetMaximum(yMax);
00284 centralPeriph->SetMarkerSize(1);
00285 centralPeriph->Draw("ap");
00286 centralPeriph->GetXaxis()->SetTitle("p_{T} (GeV/c)");
00287
00288 hCentralPeriph->SetMarkerStyle(lowPtMarkerStyle);
00289 hCentralPeriph->SetMarkerSize(1);
00290
00291
00292
00293 drawLine(axis);
00294
00295 ltx->SetTextSize(iTextSize);
00296 strcpy(txt,"#frac{ STAR central }{ STAR peripheral } (normalized to 1 @ 2GeV/c)");
00297 ltx->DrawLatex(1,1.3,txt);
00298
00299 Print(c2,psDir,"centralOverPeriph");
00300
00301
00302
00303 }
00304
00305 void drawLine(TAxis* a)
00306 {
00307 TLine* line = new TLine;
00308 line->SetLineStyle(2);
00309
00310 line->DrawLine(a->GetXmin(),1,a->GetXmax(),1);
00311 }
00312