34Float_t Z[NMAX], HZ[NMAX], PT[NMAX], INVSIG[NMAX];
50 TCanvas *
c1 =
new TCanvas(
"zdemo",
"Monte Carlo Study of Z scaling", 10, 40, 800, 600);
51 c1->Range(0, 0, 25, 18);
55 Direct Photon Productions in pp Collisions at RHIC Energies",
67 t0.
DrawLatex(3.1, 15.5,
"M.Tokarev, E.Potrebenikova ");
68 t0.
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);
100 t1.SetTextSize(0.08);
102 t1.DrawLatex(0.6, 0.85,
"p - p");
104 t1.SetTextSize(0.05);
105 t1.DrawLatex(0.6, 0.79,
"Direct #gamma");
106 t1.DrawLatex(0.6, 0.75,
"#theta = 90^{o}");
108 t1.DrawLatex(0.20, 0.45,
"Ed^{3}#sigma/dq^{3}");
109 t1.DrawLatex(0.18, 0.40,
"(barn/Gev^{2})");
111 t1.SetTextSize(0.045);
113 t1.DrawLatex(0.22, 0.260,
"#sqrt{s} = 63(GeV)");
115 t1.DrawLatex(0.22, 0.205,
"#sqrt{s} = 200(GeV)");
117 t1.DrawLatex(0.22, 0.15,
"#sqrt{s} = 500(GeV)");
119 t1.SetTextSize(0.05);
121 t1.DrawLatex(0.6, 0.06,
"q_{T} (Gev/c)");
142 hz_calc(energ, dens, tgrad, ptmin, ptmax, delp);
161 hz_calc(energ, dens, tgrad, ptmin, ptmax, delp);
174 graph->SetMarkerStyle(21);
175 graph->SetMarkerSize(1.1);
176 graph->SetPoint(0, 1.7, 1.e-16);
181 graph->SetMarkerStyle(29);
182 graph->SetMarkerSize(1.5);
183 graph->SetPoint(0, 1.7, 2.e-17);
187 graph->SetMarkerColor(6);
188 graph->SetMarkerStyle(8);
189 graph->SetMarkerSize(1.1);
190 graph->SetPoint(0, 1.7, 4.e-18);
194 pad2->
Range(-0.43642, -23.75, 3.92778, -6.25);
219 t2.
DrawLatex(0.6, 0.79,
"Direct #gamma");
220 t2.
DrawLatex(0.6, 0.75,
"#theta = 90^{o}");
227 t2.
DrawLatex(0.20, 0.30,
"#sqrt{s}, GeV");
256 Float_t EB1, EB2, PB1, PB2, MB1, MB2, M1, M2;
260 Float_t Y1, Y2,
S, SMIN, SX1, SX2, SX1X2, DELM;
261 Float_t Y1X1, Y1X2, Y2X1, Y2X2, Y2X1X2, Y1X1X2;
265 Float_t PTOT, THET, ETOT, X1, X2;
270 EB1 = ENERG / 2. * A1;
271 EB2 = ENERG / 2. * A2;
275 NLOOP = (PTMAX - PTMIN) / DELP;
277 for (
I = 0;
I < NLOOP;
I++) {
278 PT[
I] = PTMIN +
I * DELP;
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);
297 SX1X2 = 4. * (2 * 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;
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
A TGraph is an object made of two arrays X and Y with npoints each.
void Draw(Option_t *chopt="") override
Draw this graph with its current attributes.
void SetTitle(const char *title="") override
Change (i.e.
To draw Mathematical Formula.
TLatex * DrawLatex(Double_t x, Double_t y, const char *text)
Make a copy of this object with the new parameters And copy object attributes.
The most important graphics class in the ROOT system.
TH1F * DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") override
Draw an empty pad frame with X and Y axis.
void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2) override
Set world coordinate system for the pad.
void SetLogy(Int_t value=1) override
Set Lin/Log scale for Y.
TVirtualPad * cd(Int_t subpadnumber=0) override
Set Current pad.
TFrame * GetFrame() override
Get frame.
void Draw(Option_t *option="") override
Draw Pad in Current pad (re-parent pad if necessary).
void SetLogx(Int_t value=1) override
Set Lin/Log scale for X.
A Pave (see TPave) with a text centered in the Pave.
void Draw(Option_t *option="") override
Draw this pavelabel with its current attributes.
virtual void SetNDC(Bool_t isNDC=kTRUE)
Set NDC mode on if isNDC = kTRUE, off otherwise.
RVec< PromoteType< T > > cos(const RVec< T > &v)
RVec< PromoteTypes< T0, T1 > > pow(const T0 &x, const RVec< T1 > &v)
RVec< PromoteType< T > > sin(const RVec< T > &v)
VecExpr< UnaryOp< Sqrt< T >, VecExpr< A, T, D >, T >, T, D > sqrt(const VecExpr< A, T, D > &rhs)
RooArgSet S(Args_t &&... args)