00001 #include "commonmacro/common.h"
00002 #include "common/Name.cc"
00003 #include "commonmacro/histutil.h"
00004 #include "commonmacro/ua1.h"
00005
00006 void finalSpectra(
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* gCentralX=(TGraphAsymmErrors*)rCentral->Get(name);
00035 TGraphAsymmErrors* gMinbiasX=(TGraphAsymmErrors*)rMinbias->Get(name);
00036 TGraphAsymmErrors* gPeripheralX=(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(gCentralX,0.08);
00047 kludgeBackground(gMinbiasX,0.08);
00048 kludgeBackground(gPeripheralX,0.05);
00049
00050 kludgeSystematics(gCentralX);
00051 kludgeSystematics(gMinbiasX);
00052 kludgeSystematics(gPeripheralX);
00053
00054 }
00055
00056
00057
00058 TGraphAsymmErrors* gCentralLowPt=makeHMinus(2);
00059 TGraphAsymmErrors* gMinbiasLowPt=makeHMinus(0);
00060 TGraphAsymmErrors* gPeripheralLowPt=makeHMinus(1);
00061
00062
00063 float sigmaUA1_200=42;
00064 float ua1Scale200 = 2.*3.14159/sigmaUA1_200;
00065
00066 float sigmaUA1_130=40.5;
00067 float ua1Scale130= 2.*3.14159/sigmaUA1_130;
00068
00069 TGraphErrors* gUA1Data200=ua1Data200();
00070 scale(gUA1Data200,ua1Scale200);
00071
00072 TF1* fUA1Fit130 = ua1Fit130(ua1Scale130);
00073
00074
00075
00076
00077 gCentralLowPt=removeXErrors(gCentralLowPt);
00078 gMinbiasLowPt=removeXErrors(gMinbiasLowPt);
00079 gPeripheralLowPt=removeXErrors(gPeripheralLowPt);
00080
00081
00082
00083 gStyle->SetOptStat(0); gStyle->SetOptTitle(0);
00084 gStyle->SetPadTickX(1);
00085 gStyle->SetPadTickY(1);
00086
00087
00088 int font = 42;
00089 gStyle->SetTextFont(font); gStyle->SetTitleFont(font);
00090 gStyle->SetLabelFont(font,"x"); gStyle->SetLabelFont(font,"y");
00091
00092
00093 TLatex* ltx=new TLatex;
00094
00095 TCanvas* c1=new TCanvas("c1","c1",400,500);
00096
00097
00098 double xMin=0,xMax=6;
00099 double yMin=1e-7,yMax=10000;
00100 double textSize=0.03;
00101 double titleSize=0.04;
00102 double markerSize=1;
00103 double labelSize=0.03;
00104 double yTitleOffset=1.2;
00105 double xTitleOffset=0.8;
00106 double tickSize=9990;
00107
00108 TAxis* axis;
00109
00110 c1->cd(); gPad->SetLogy();
00111
00112 int centralMarker=29;
00113 int minbiasMarker=8;
00114 int peripheralMarker=22;
00115 int hMinusMarker=21;
00116 int ua1Marker=4;
00117
00118
00119
00120
00121 gCentral=removeXErrors(gCentralX);
00122
00123 gCentral->SetMinimum(yMin); gCentral->SetMaximum(yMax);
00124 gCentral->SetMarkerStyle(centralMarker);
00125 gCentral->SetMarkerSize(markerSize+.2);
00126 gCentral->Draw("ap");
00127
00128
00129 strcpy(txt,"1/p_{T} d^{2}N^{(h^{-}+h^{+})/2}/dp_{T}d#eta #cbar_{|#eta|<0.5}(GeV/c)^{-2}");
00130
00131
00132 axis=gCentral->GetYaxis();
00133 axis->SetTitle(txt);
00134 axis->SetTitleSize(titleSize);
00135 axis->SetTitleOffset(yTitleOffset);
00136 axis->SetLabelSize(labelSize);
00137
00138
00139 axis=gCentral->GetXaxis();
00140 axis->SetTitle("p_{T} (GeV/c)");
00141 axis->SetTitleSize(titleSize);
00142 axis->SetTitleOffset(xTitleOffset);
00143 axis->SetLabelOffset(0.003);
00144 axis->SetLabelSize(labelSize);
00145 axis->SetLimits(xMin,xMax);
00146
00147
00148
00149 gCentralLowPt->SetMarkerStyle(centralMarker);
00150 gCentralLowPt->SetMarkerSize(markerSize);
00151 gCentralLowPt->Draw("p");
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163 gMinbias=removeXErrors(gMinbiasX);
00164
00165 gMinbias->SetMarkerStyle(minbiasMarker);
00166 gMinbias->SetMarkerSize(markerSize);
00167 gMinbias->Draw("p");
00168
00169 gMinbiasLowPt->SetMarkerStyle(minbiasMarker);
00170 gMinbiasLowPt->SetMarkerSize(markerSize);
00171 gMinbiasLowPt->Draw("p");
00172
00173
00174
00175
00176 gPeripheral=removeXErrors(gPeripheralX);
00177
00178 gPeripheral->SetMarkerStyle(peripheralMarker);
00179 gPeripheral->SetMarkerSize(markerSize);
00180 gPeripheral->Draw("p");
00181
00182 gPeripheralLowPt->SetMarkerStyle(peripheralMarker);
00183 gPeripheralLowPt->SetMarkerSize(markerSize);
00184 gPeripheralLowPt->Draw("p");
00185
00186
00187
00188
00189
00190 gUA1Data200->SetMarkerStyle(ua1Marker);
00191 gUA1Data200->SetMarkerSize(markerSize);
00192
00193
00194
00195 gUA1Data200->Draw("p");
00196 fUA1Fit130->SetRange(.1,6);
00197 fUA1Fit130->Draw("same");
00198
00199
00200
00201
00202
00203 TLegend* l=new TLegend(0.5,0.7,0.8,0.8);
00204 l->SetTextSize(textSize);
00205 l->SetBorderSize(0); l->SetFillColor(4000);
00206 l->AddEntry(gCentral,"central 0-5%","p");
00207 l->AddEntry(gPeripheral,"periperhal 60-80%","p");
00208 l->AddEntry(gMinbias,"minimum bias","p");
00209 l->AddEntry(gUA1Data200,"ua1 200 GeV data","p");
00210 l->AddEntry(fUA1Fit130,"ua1 130 GeV fit","l");
00211 l->Draw();
00212
00213 Print(c1,psDir,"spectra");
00214
00215 }
00216
00217 void drawLine(TAxis* a)
00218 {
00219 TLine* line = new TLine;
00220 line->SetLineStyle(2);
00221
00222 line->DrawLine(a->GetXmin(),1,a->GetXmax(),1);
00223 }