00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "TCanvas.h"
00017 #include "TPad.h"
00018 #include "TPaveLabel.h"
00019 #include "TLatex.h"
00020 #include "TGraph.h"
00021 #include "TFrame.h"
00022
00023 const Int_t NMAX = 20;
00024 Int_t NLOOP;
00025 Float_t Z[NMAX], HZ[NMAX], PT[NMAX], INVSIG[NMAX];
00026
00027 void hz_calc(Float_t, Float_t, Float_t, Float_t, Float_t, Float_t);
00028
00029
00030 void zdemo()
00031 {
00032
00033 Float_t energ;
00034 Float_t dens;
00035 Float_t tgrad;
00036 Float_t ptmin;
00037 Float_t ptmax;
00038 Float_t delp;
00039
00040
00041 TCanvas *c1 = new TCanvas("zdemo",
00042 "Monte Carlo Study of Z scaling",10,40,800,600);
00043 c1->Range(0,0,25,18);
00044 c1->SetFillColor(40);
00045
00046 TPaveLabel *pl = new TPaveLabel(1,16.3,24,17.5,"Z-scaling of \
00047 Direct Photon Productions in pp Collisions at RHIC Energies","br");
00048 pl->SetFillColor(18);
00049 pl->SetTextFont(32);
00050 pl->SetTextColor(49);
00051 pl->Draw();
00052
00053 TLatex *t = new TLatex();
00054 t->SetTextFont(32);
00055 t->SetTextColor(1);
00056 t->SetTextSize(0.03);
00057 t->SetTextAlign(12);
00058 t->DrawLatex(3.1,15.5,"M.Tokarev, E.Potrebenikova ");
00059 t->DrawLatex(14.,15.5,"JINR preprint E2-98-64, Dubna, 1998 ");
00060
00061 TPad *pad1 = new TPad("pad1","This is pad1",0.02,0.02,0.48,0.83,33);
00062 TPad *pad2 = new TPad("pad2","This is pad2",0.52,0.02,0.98,0.83,33);
00063
00064 pad1->Draw();
00065 pad2->Draw();
00066
00067
00068
00069
00070
00071 energ = 63;
00072 dens = 1.766;
00073 tgrad = 90.;
00074 ptmin = 4.;
00075 ptmax = 24.;
00076 delp = 2.;
00077 hz_calc(energ, dens, tgrad, ptmin, ptmax, delp);
00078 pad1->cd();
00079 pad1->Range(-0.255174,-19.25,2.29657,-6.75);
00080 pad1->SetLogx();
00081 pad1->SetLogy();
00082
00083
00084 pad1->DrawFrame(1,1e-18,110,1e-8);
00085 pad1->GetFrame()->SetFillColor(19);
00086 t = new TLatex();
00087 t->SetNDC();
00088 t->SetTextFont(62);
00089 t->SetTextColor(36);
00090 t->SetTextSize(0.08);
00091 t->SetTextAlign(12);
00092 t->DrawLatex(0.6,0.85,"p - p");
00093
00094 t->SetTextSize(0.05);
00095 t->DrawLatex(0.6,0.79,"Direct #gamma");
00096 t->DrawLatex(0.6,0.75,"#theta = 90^{o}");
00097
00098 t->DrawLatex(0.20,0.45,"Ed^{3}#sigma/dq^{3}");
00099 t->DrawLatex(0.18,0.40,"(barn/Gev^{2})");
00100
00101 t->SetTextSize(0.045);
00102 t->SetTextColor(kBlue);
00103 t->DrawLatex(0.22,0.260,"#sqrt{s} = 63(GeV)");
00104 t->SetTextColor(kRed);
00105 t->DrawLatex(0.22,0.205,"#sqrt{s} = 200(GeV)");
00106 t->SetTextColor(6);
00107 t->DrawLatex(0.22,0.15,"#sqrt{s} = 500(GeV)");
00108
00109 t->SetTextSize(0.05);
00110 t->SetTextColor(1);
00111 t->DrawLatex(0.6,0.06,"q_{T} (Gev/c)");
00112
00113 TGraph *gr1 = new TGraph(NLOOP,PT,INVSIG);
00114
00115 gr1->SetLineColor(38);
00116 gr1->SetMarkerColor(kBlue);
00117 gr1->SetMarkerStyle(21);
00118 gr1->SetMarkerSize(1.1);
00119 gr1->Draw("LP");
00120
00121
00122
00123
00124
00125
00126 energ = 200;
00127 dens = 2.25;
00128 tgrad = 90.;
00129 ptmin = 4.;
00130 ptmax = 64.;
00131 delp = 6.;
00132 hz_calc(energ, dens, tgrad, ptmin, ptmax, delp);
00133
00134 TGraph *gr2 = new TGraph(NLOOP,PT,INVSIG);
00135 gr2->SetLineColor(38);
00136 gr2->SetMarkerColor(kRed);
00137 gr2->SetMarkerStyle(29);
00138 gr2->SetMarkerSize(1.5);
00139 gr2->Draw("LP");
00140
00141
00142
00143
00144
00145 energ = 500;
00146 dens = 2.73;
00147 tgrad = 90.;
00148 ptmin = 4.;
00149 ptmax = 104.;
00150 delp = 10.;
00151 hz_calc(energ, dens, tgrad, ptmin, ptmax, delp);
00152
00153 TGraph *gr3 = new TGraph(NLOOP,PT,INVSIG);
00154
00155 gr3->SetLineColor(38);
00156 gr3->SetMarkerColor(6);
00157 gr3->SetMarkerStyle(8);
00158 gr3->SetMarkerSize(1.1);
00159 gr3->Draw("LP");
00160
00161 Float_t *dum = 0;
00162 TGraph *graph = new TGraph(1,dum,dum);
00163 graph->SetMarkerColor(kBlue);
00164 graph->SetMarkerStyle(21);
00165 graph->SetMarkerSize(1.1);
00166 graph->SetPoint(0,1.7,1.e-16);
00167 graph->Draw("LP");
00168
00169 graph = new TGraph(1,dum,dum);
00170 graph->SetMarkerColor(kRed);
00171 graph->SetMarkerStyle(29);
00172 graph->SetMarkerSize(1.5);
00173 graph->SetPoint(0,1.7,2.e-17);
00174 graph->Draw("LP");
00175
00176 graph = new TGraph(1,dum,dum);
00177 graph->SetMarkerColor(6);
00178 graph->SetMarkerStyle(8);
00179 graph->SetMarkerSize(1.1);
00180 graph->SetPoint(0,1.7,4.e-18);
00181 graph->Draw("LP");
00182
00183 pad2->cd();
00184 pad2->Range(-0.43642,-23.75,3.92778,-6.25);
00185 pad2->SetLogx();
00186 pad2->SetLogy();
00187
00188 pad2->DrawFrame(1,1e-22,3100,1e-8);
00189 pad2->GetFrame()->SetFillColor(19);
00190
00191 TGraph *gr = new TGraph(NLOOP,Z,HZ);
00192 gr->SetTitle("HZ vs Z");
00193 gr->SetFillColor(19);
00194 gr->SetLineColor(9);
00195 gr->SetMarkerColor(50);
00196 gr->SetMarkerStyle(29);
00197 gr->SetMarkerSize(1.5);
00198 gr->Draw("LP");
00199
00200 t = new TLatex();
00201 t->SetNDC();
00202 t->SetTextFont(62);
00203 t->SetTextColor(36);
00204 t->SetTextSize(0.08);
00205 t->SetTextAlign(12);
00206 t->DrawLatex(0.6,0.85,"p - p");
00207
00208 t->SetTextSize(0.05);
00209 t->DrawLatex(0.6,0.79,"Direct #gamma");
00210 t->DrawLatex(0.6,0.75,"#theta = 90^{o}");
00211
00212 t->DrawLatex(0.70,0.55,"H(z)");
00213 t->DrawLatex(0.68,0.50,"(barn)");
00214
00215 t->SetTextSize(0.045);
00216 t->SetTextColor(46);
00217 t->DrawLatex(0.20,0.30,"#sqrt{s}, GeV");
00218 t->DrawLatex(0.22,0.26,"63");
00219 t->DrawLatex(0.22,0.22,"200");
00220 t->DrawLatex(0.22,0.18,"500");
00221
00222 t->SetTextSize(0.05);
00223 t->SetTextColor(1);
00224 t->DrawLatex(0.88,0.06,"z");
00225
00226 c1->Modified();
00227 c1->Update();
00228 }
00229
00230 void hz_calc(Float_t ENERG, Float_t DENS, Float_t TGRAD, Float_t PTMIN,
00231 Float_t PTMAX, Float_t DELP)
00232 {
00233 Int_t I;
00234
00235 Float_t GM1 = 0.00001;
00236 Float_t GM2 = 0.00001;
00237 Float_t A1 = 1.;
00238 Float_t A2 = 1.;
00239 Float_t ALX = 2.;
00240 Float_t BETA = 1.;
00241 Float_t KF1 = 8.E-7;
00242 Float_t KF2 = 5.215;
00243
00244 Float_t MN = 0.9383;
00245 Float_t DEGRAD=0.01745329;
00246
00247 Float_t EB1, EB2, PB1, PB2, MB1, MB2, M1, M2;
00248 Float_t DNDETA;
00249
00250 Float_t P1P2, P1P3, P2P3;
00251 Float_t Y1, Y2, S, SMIN, SX1, SX2, SX1X2, DELM;
00252 Float_t Y1X1, Y1X2, Y2X1, Y2X2, Y2X1X2, Y1X1X2;
00253 Float_t KX1, KX2, ZX1, ZX2;
00254 Float_t H1;
00255
00256 Float_t PTOT, THET, ETOT, X1, X2;
00257
00258 DNDETA= DENS;
00259 MB1 = MN*A1;
00260 MB2 = MN*A2;
00261 EB1 = ENERG/2.*A1;
00262 EB2 = ENERG/2.*A2;
00263 M1 = GM1;
00264 M2 = GM2;
00265 THET = TGRAD*DEGRAD;
00266 NLOOP = (PTMAX-PTMIN)/DELP;
00267
00268 for (I=0; I<NLOOP;I++) {
00269 PT[I]=PTMIN+I*DELP;
00270 PTOT = PT[I]/sin(THET);
00271
00272 ETOT = sqrt(M1*M1 + PTOT*PTOT);
00273 PB1 = sqrt(EB1*EB1 - MB1*MB1);
00274 PB2 = sqrt(EB2*EB2 - MB2*MB2);
00275 P2P3 = EB2*ETOT+PB2*PTOT*cos(THET);
00276 P1P2 = EB2*EB1+PB2*PB1;
00277 P1P3 = EB1*ETOT-PB1*PTOT*cos(THET);
00278
00279 X1 = P2P3/P1P2;
00280 X2 = P1P3/P1P2;
00281 Y1 = X1+sqrt(X1*X2*(1.-X1)/(1.-X2));
00282 Y2 = X2+sqrt(X1*X2*(1.-X2)/(1.-X1));
00283
00284 S = (MB1*MB1)+2.*P1P2+(MB2*MB2);
00285 SMIN = 4.*((MB1*MB1)*(X1*X1) +2.*X1*X2*P1P2+(MB2*MB2)*(X2*X2));
00286 SX1 = 4.*( 2*(MB1*MB1)*X1+2*X2*P1P2);
00287 SX2 = 4.*( 2*(MB2*MB2)*X2+2*X1*P1P2);
00288 SX1X2= 4.*(2*P1P2);
00289 DELM = pow((1.-Y1)*(1.-Y2),ALX);
00290
00291 Z[I] = sqrt(SMIN)/DELM/pow(DNDETA,BETA);
00292
00293 Y1X1 = 1. +X2*(1-2.*X1)/(2.*(Y1-X1)*(1.-X2));
00294 Y1X2 = X1*(1-X1)/(2.*(Y1-X1)*(1.-X2)*(1.-X2));
00295 Y2X1 = X2*(1-X2)/(2.*(Y2-X2)*(1.-X1)*(1.-X1));
00296 Y2X2 = 1. +X1*(1-2.*X2)/(2.*(Y2-X2)*(1.-X1));
00297 Y2X1X2= Y2X1*( (1.-2.*X2)/(X2*(1-X2)) -( Y2X2-1.)/(Y2-X2));
00298 Y1X1X2= Y1X2*( (1.-2.*X1)/(X1*(1-X1)) -( Y1X1-1.)/(Y1-X1));
00299
00300 KX1=-DELM*(Y1X1*ALX/(1.-Y1) + Y2X1*ALX/(1.-Y2));
00301 KX2=-DELM*(Y2X2*ALX/(1.-Y2) + Y1X2*ALX/(1.-Y1));
00302 ZX1=Z[I]*(SX1/(2.*SMIN)-KX1/DELM);
00303 ZX2=Z[I]*(SX2/(2.*SMIN)-KX2/DELM);
00304
00305 H1=ZX1*ZX2;
00306
00307 HZ[I]=KF1/pow(Z[I],KF2);
00308 INVSIG[I]=(HZ[I]*H1*16.)/S;
00309
00310 }
00311 }