32 const Int_t NMAX = 20;
 
   34 Float_t Z[NMAX], HZ[NMAX], PT[NMAX], INVSIG[NMAX];
 
   36 void hz_calc(Float_t, Float_t, Float_t, Float_t, Float_t, Float_t);
 
   50    TCanvas *c1 = 
new TCanvas(
"zdemo",
 
   51       "Monte Carlo Study of Z scaling",10,40,800,600);
 
   55    TPaveLabel *pl = 
new TPaveLabel(1,16.3,24,17.5,
"Z-scaling of \ 
   56       Direct Photon Productions in pp Collisions at RHIC Energies",
"br");
 
   62    TLatex *t = 
new TLatex();
 
   67    t->DrawLatex(3.1,15.5,
"M.Tokarev, E.Potrebenikova ");
 
   68    t->DrawLatex(14.,15.5,
"JINR preprint E2-98-64, Dubna, 1998 ");
 
   70    TPad *pad1 = 
new TPad(
"pad1",
"This is pad1",0.02,0.02,0.48,0.83,33);
 
   71    TPad *pad2 = 
new TPad(
"pad2",
"This is pad2",0.52,0.02,0.98,0.83,33);
 
   86    hz_calc(energ, dens, tgrad, ptmin, ptmax, delp);
 
   88    pad1->Range(-0.255174,-19.25,2.29657,-6.75);
 
   93    pad1->DrawFrame(1,1e-18,110,1e-8);
 
   94    pad1->GetFrame()->SetFillColor(19);
 
  101    t->DrawLatex(0.6,0.85,
"p - p");
 
  103    t->SetTextSize(0.05);
 
  104    t->DrawLatex(0.6,0.79,
"Direct #gamma");
 
  105    t->DrawLatex(0.6,0.75,
"#theta = 90^{o}");
 
  107    t->DrawLatex(0.20,0.45,
"Ed^{3}#sigma/dq^{3}");
 
  108    t->DrawLatex(0.18,0.40,
"(barn/Gev^{2})");
 
  110    t->SetTextSize(0.045);
 
  111    t->SetTextColor(kBlue);
 
  112    t->DrawLatex(0.22,0.260,
"#sqrt{s} = 63(GeV)");
 
  113    t->SetTextColor(kRed);
 
  114    t->DrawLatex(0.22,0.205,
"#sqrt{s} = 200(GeV)");
 
  116    t->DrawLatex(0.22,0.15,
"#sqrt{s} = 500(GeV)");
 
  118    t->SetTextSize(0.05);
 
  120    t->DrawLatex(0.6,0.06,
"q_{T} (Gev/c)");
 
  122    TGraph *gr1 = 
new TGraph(NLOOP,PT,INVSIG);
 
  124    gr1->SetLineColor(38);
 
  125    gr1->SetMarkerColor(kBlue);
 
  126    gr1->SetMarkerStyle(21);
 
  127    gr1->SetMarkerSize(1.1);
 
  141    hz_calc(energ, dens, tgrad, ptmin, ptmax, delp);
 
  143    TGraph *gr2 = 
new TGraph(NLOOP,PT,INVSIG);
 
  144    gr2->SetLineColor(38);
 
  145    gr2->SetMarkerColor(kRed);
 
  146    gr2->SetMarkerStyle(29);
 
  147    gr2->SetMarkerSize(1.5);
 
  160    hz_calc(energ, dens, tgrad, ptmin, ptmax, delp);
 
  162    TGraph *gr3 = 
new TGraph(NLOOP,PT,INVSIG);
 
  164    gr3->SetLineColor(38);
 
  165    gr3->SetMarkerColor(6);
 
  166    gr3->SetMarkerStyle(8);
 
  167    gr3->SetMarkerSize(1.1);
 
  171    TGraph *graph = 
new TGraph(1,dum,dum);
 
  172    graph->SetMarkerColor(kBlue);
 
  173    graph->SetMarkerStyle(21);
 
  174    graph->SetMarkerSize(1.1);
 
  175    graph->SetPoint(0,1.7,1.e-16);
 
  178    graph = 
new TGraph(1,dum,dum);
 
  179    graph->SetMarkerColor(kRed);
 
  180    graph->SetMarkerStyle(29);
 
  181    graph->SetMarkerSize(1.5);
 
  182    graph->SetPoint(0,1.7,2.e-17);
 
  185    graph = 
new TGraph(1,dum,dum);
 
  186    graph->SetMarkerColor(6);
 
  187    graph->SetMarkerStyle(8);
 
  188    graph->SetMarkerSize(1.1);
 
  189    graph->SetPoint(0,1.7,4.e-18);
 
  193    pad2->Range(-0.43642,-23.75,3.92778,-6.25);
 
  197    pad2->DrawFrame(1,1e-22,3100,1e-8);
 
  198    pad2->GetFrame()->SetFillColor(19);
 
  200    TGraph *gr = 
new TGraph(NLOOP,Z,HZ);
 
  201    gr->SetTitle(
"HZ vs Z");
 
  202    gr->SetFillColor(19);
 
  204    gr->SetMarkerColor(50);
 
  205    gr->SetMarkerStyle(29);
 
  206    gr->SetMarkerSize(1.5);
 
  213    t->SetTextSize(0.08);
 
  215    t->DrawLatex(0.6,0.85,
"p - p");
 
  217    t->SetTextSize(0.05);
 
  218    t->DrawLatex(0.6,0.79,
"Direct #gamma");
 
  219    t->DrawLatex(0.6,0.75,
"#theta = 90^{o}");
 
  221    t->DrawLatex(0.70,0.55,
"H(z)");
 
  222    t->DrawLatex(0.68,0.50,
"(barn)");
 
  224    t->SetTextSize(0.045);
 
  226    t->DrawLatex(0.20,0.30,
"#sqrt{s}, GeV");
 
  227    t->DrawLatex(0.22,0.26,
"63");
 
  228    t->DrawLatex(0.22,0.22,
"200");
 
  229    t->DrawLatex(0.22,0.18,
"500");
 
  231    t->SetTextSize(0.05);
 
  233    t->DrawLatex(0.88,0.06,
"z");
 
  239 void hz_calc(Float_t ENERG, Float_t DENS, Float_t TGRAD, Float_t PTMIN,
 
  240    Float_t PTMAX, Float_t DELP)
 
  244   Float_t GM1  = 0.00001;
 
  245   Float_t GM2  = 0.00001;
 
  254   Float_t DEGRAD=0.01745329;
 
  256   Float_t EB1, EB2, PB1, PB2, MB1, MB2, M1, M2;
 
  259   Float_t P1P2, P1P3, P2P3;
 
  260   Float_t Y1, Y2, S, SMIN,  SX1,  SX2, SX1X2, DELM;
 
  261   Float_t Y1X1,  Y1X2,   Y2X1,   Y2X2,   Y2X1X2,   Y1X1X2;
 
  262   Float_t KX1, KX2,  ZX1, ZX2;
 
  265   Float_t PTOT, THET, ETOT, X1, X2;
 
  275   NLOOP = (PTMAX-PTMIN)/DELP;
 
  277   for (I=0; I<NLOOP;I++) {
 
  279      PTOT = PT[I]/sin(THET);
 
  281      ETOT = sqrt(M1*M1 + PTOT*PTOT);
 
  282      PB1  = sqrt(EB1*EB1 - MB1*MB1);
 
  283      PB2  = sqrt(EB2*EB2 - MB2*MB2);
 
  284      P2P3 = EB2*ETOT+PB2*PTOT*cos(THET);
 
  285      P1P2 = EB2*EB1+PB2*PB1;
 
  286      P1P3 = EB1*ETOT-PB1*PTOT*cos(THET);
 
  290      Y1 = X1+sqrt(X1*X2*(1.-X1)/(1.-X2));
 
  291      Y2 = X2+sqrt(X1*X2*(1.-X2)/(1.-X1));
 
  293      S    = (MB1*MB1)+2.*P1P2+(MB2*MB2);
 
  294      SMIN = 4.*((MB1*MB1)*(X1*X1) +2.*X1*X2*P1P2+(MB2*MB2)*(X2*X2));
 
  295      SX1  = 4.*( 2*(MB1*MB1)*X1+2*X2*P1P2);
 
  296      SX2  = 4.*( 2*(MB2*MB2)*X2+2*X1*P1P2);
 
  298      DELM = pow((1.-Y1)*(1.-Y2),ALX);
 
  300      Z[I] = sqrt(SMIN)/DELM/pow(DNDETA,BETA);
 
  302      Y1X1  = 1. +X2*(1-2.*X1)/(2.*(Y1-X1)*(1.-X2));
 
  303      Y1X2  =     X1*(1-X1)/(2.*(Y1-X1)*(1.-X2)*(1.-X2));
 
  304      Y2X1  =     X2*(1-X2)/(2.*(Y2-X2)*(1.-X1)*(1.-X1));
 
  305      Y2X2  = 1. +X1*(1-2.*X2)/(2.*(Y2-X2)*(1.-X1));
 
  306      Y2X1X2= Y2X1*( (1.-2.*X2)/(X2*(1-X2)) -( Y2X2-1.)/(Y2-X2));
 
  307      Y1X1X2= Y1X2*( (1.-2.*X1)/(X1*(1-X1)) -( Y1X1-1.)/(Y1-X1));
 
  309      KX1=-DELM*(Y1X1*ALX/(1.-Y1) + Y2X1*ALX/(1.-Y2));
 
  310      KX2=-DELM*(Y2X2*ALX/(1.-Y2) + Y1X2*ALX/(1.-Y1));
 
  311      ZX1=Z[I]*(SX1/(2.*SMIN)-KX1/DELM);
 
  312      ZX2=Z[I]*(SX2/(2.*SMIN)-KX2/DELM);
 
  316      HZ[I]=KF1/pow(Z[I],KF2);
 
  317      INVSIG[I]=(HZ[I]*H1*16.)/S;