Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
makeLcD0_BUP2022.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file makeLcD0_BUP2022.C
1 #include <fstream>
2 #include <iostream>
3 #include "stdio.h"
4 
5 #include <TChain.h>
6 #include <TFile.h>
7 #include <TGraphAsymmErrors.h>
8 #include <TGraphErrors.h>
9 #include <TLatex.h>
10 #include <TLegend.h>
11 #include <TLine.h>
12 #include <TROOT.h>
13 #include <TString.h>
14 #include <TTree.h>
15 #include <TVectorD.h>
16 #include <TVirtualFitter.h>
17 #include <algorithm>
18 #include <cassert>
19 #include <cmath>
20 #include <vector>
21 
22 #include "SaveCanvas.C"
23 #include "sPhenixStyle.C"
24 
25 const double refAuAuMB = 240e9;
26 const double refAuAuXSec = 6.8252; // b
27 const double Psi2_resolution = 0.5;
28 
29 const double AuAu_Ncoll_C0_10 = 960.2; // [DOI:?10.1103/PhysRevC.87.034911?]
30 const double AuAu_Ncoll_C0_20 = 770.6; // [DOI:?10.1103/PhysRevC.91.064904?]
31 const double AuAu_Ncoll_60_70 = 29.8; //PHYSICAL REVIEW C 87, 034911 (2013)
32 const double AuAu_Ncoll_70_80 = 12.6; //PHYSICAL REVIEW C 87, 034911 (2013)
33 const double AuAu_Ncoll_C0_100 = 238.5; // BUP2022
34 const double pAu_Ncoll_C0_100 = 4.7; // pb^-1 [sPH-TRG-000]
35 
36 const double AuAu_rec_3year = (5.7 + 15) * 1e9; // BUP2022
37 const double AuAu_rec_5year = AuAu_rec_3year + 30e9; // BUP2022
38 
39 const double pp_inelastic_crosssec = 42e-3; // 42 mb [sPH-TRG-000]
40 const double pp_rec_3year = 6.2e12; // BUP2022
41 const double pp_rec_5year = pp_rec_3year + 80e12; // BUP2022
42 const double pp_beam_pol = 0.57;
43 
44 const double OO_rec_5year = 37e9; // BUP2022
45 const double OO_Ncoll_C0_100 = 9.6; // BUP2022
46 const double OO_inelastic_crosssec = 1.12214; // BUP2022
47 
48 const double ArAr_rec_5year = 12e9; // BUP2022
49 const double ArAr_Ncoll_C0_100 = 28.5; // BUP2022
50 const double ArAr_inelastic_crosssec = 2.3423; // BUP2022
51 
53 {
54  // gROOT->LoadMacro("sPhenixStyle.C");
56 
57  gROOT->Reset();
58 
59  const Int_t NConfig = 4;
60  const Int_t NMax = 5;
61  const Int_t N[NConfig] = {3, 5, 4, 1}; // ALICE_pp, ALICE_pPb, STAR_AuAu
62  const Char_t *ExpName[NConfig] = {"STAR", "ALICE", "ALICE", "ALICE"};
63  const Char_t *CollName[NConfig] = {"AuAu_10_80_200GeV", "pp_7TeV", "pPb_5p02TeV", "PbPb_5p02TeV"};
64  double x[NConfig][NMax], y[NConfig][NMax], ye[NConfig][NMax], yes_u[NConfig][NMax], yes_d[NConfig][NMax];
65  TGraphErrors *gr[NConfig];
66 
67  // STAR data points
68  ifstream inData;
69  for (int i = 0; i < NConfig; i++)
70  {
71  inData.open(Form("dat/%s_LcD0_%s.txt", ExpName[i], CollName[i]));
72  for (int j = 0; j < N[i]; j++)
73  {
74  inData >> x[i][j] >> y[i][j] >> ye[i][j] >> yes_u[i][j] >> yes_d[i][j];
75  }
76  inData.close();
77  gr[i] = new TGraphErrors(N[i], x[i], y[i], 0, ye[i]);
78  cout << Form("dat/%s_LcD0_%s.txt", ExpName[i], CollName[i]) << endl;
79  gr[i]->Print();
80  }
81 
82  // STAR Central data
83  // Updated with https://drupal.star.bnl.gov/STAR/files/starpublications/318/data.html
84  double x_St[1] = {3.96};
85  double y_St[1] = {1.0772};
86  double ye_St[1] = {0.1643};
87  double yes_St[1] = {0.2647};
88  double yesx_St[1] = {0.1};
89  TGraphErrors *gr_St = new TGraphErrors(1, x_St, y_St, 0, ye_St);
90  gr_St->SetMarkerStyle(29);
91  gr_St->SetMarkerSize(2.5);
92  gr_St->SetMarkerColor(kRed - 6);
93  gr_St->SetLineWidth(4);
94  gr_St->SetLineColor(kRed - 6);
95  TGraphAsymmErrors* grs_St = new TGraphAsymmErrors(1, x_St, y_St, yesx_St, yesx_St, yes_St, yes_St);
96  grs_St->SetFillColor(kRed - 10);
97  grs_St->SetMarkerStyle(29);
98  grs_St->SetMarkerSize(2.5);
99  grs_St->SetMarkerColor(kRed - 6);
100  grs_St->SetLineWidth(4);
101  grs_St->SetLineColor(kRed - 6);
102 
103  // Theory calculations
104  // pythia6
105  TFile *fin = new TFile("root/pythia_D_ratio.root");
106  TGraphErrors *gr_pythia_tmp = (TGraphErrors *) fin->Get("Ratio_Lc_D0");
107  TGraph *gr_pythia = new TGraph(*gr_pythia_tmp);
108  gr_pythia->SetLineWidth(2);
109  gr_pythia->SetLineColor(16);
110  // pythia8
111  fin = new TFile("root/PYTHIA8_D_ratio_200GeV_20181029_0.root");
112  TDirectoryFile *fLc = (TDirectoryFile *) fin->Get("Lc");
113  TH1D *h_pythia8 = (TH1D *) fLc->Get("LctoD0_pt_whole_rebin");
114  TGraph *gr_pythia8 = new TGraph(h_pythia8);
115  gr_pythia8->SetLineWidth(2);
116  gr_pythia8->SetLineColor(1);
117  gr_pythia8->SetLineStyle(2);
118 
119  fin = new TFile("root/PYTHIA8_D_ratio_200GeV_20181029_CR.root");
120  fLc = (TDirectoryFile *) fin->Get("Lc");
121  TH1D *h_pythia8_CR = (TH1D *) fLc->Get("LctoD0_pt_whole_rebin");
122  TGraph *gr_pythia8_CR = new TGraph(h_pythia8_CR);
123  gr_pythia8_CR->SetLineWidth(2);
124  gr_pythia8_CR->SetLineColor(1);
125  gr_pythia8_CR->SetLineStyle(1);
126 
127  TGraph *gr_pythia_7TeV = new TGraph("dat/PYTHIA_Lc_D0_pp_7TeV.txt", "%lg %lg");
128  TGraph *gr_pythia_7TeV_CR = new TGraph("dat/PYTHIACR_Lc_D0_pp_7TeV.txt", "%lg %lg");
129  TGraph *gr_Greco_LHC_1 = new TGraph("dat/Greco_LcD0_1_PbPb5p02TeV.txt", "%lg %lg");
130  TGraph *gr_Greco_LHC_2 = new TGraph("dat/Greco_LcD0_2_PbPb5p02TeV.txt", "%lg %lg");
131  TGraph *gr_ShaoSong_LHC_1 = new TGraph("dat/ShaoSong_LcD0_1_PbPb5p02TeV.txt", "%lg %lg");
132  TGraph *gr_ShaoSong_LHC_2 = new TGraph("dat/ShaoSong_LcD0_2_PbPb5p02TeV.txt", "%lg %lg");
133  /*
134  const Int_t N_Greco = 14;
135  Double_t pt_Greco[N_Greco], y_Greco[N_Greco], ye_Greco[N_Greco];
136  inData.open("dat/LcD0_Greco_1407.5069.txt");
137  for(int i=0;i<N_Greco;i++) {
138  double a, b, c;
139  inData >> a >> b >> c;
140  pt_Greco[i] = a;
141  y_Greco[i] = (b+c)/2.;
142  ye_Greco[i] = fabs(b-c)/2.;
143  }
144  inData.close();
145  TGraphErrors *gr_Greco = new TGraphErrors(N_Greco, pt_Greco, y_Greco, 0, ye_Greco);
146  gr_Greco->SetFillColor(16);
147  gr_Greco->SetLineColor(16);
148  */
149  TGraph *gr_Greco_1 = new TGraph("dat/Greco_LcD0_1_AuAu200GeV_0_20.dat", "%lg %lg");
150  gr_Greco_1->SetLineWidth(2);
151  gr_Greco_1->SetLineStyle(2);
152  gr_Greco_1->SetLineColor(4);
153  TGraph *gr_Greco_2 = new TGraph("dat/Greco_LcD0_2_AuAu200GeV_0_20.dat", "%lg %lg");
154  gr_Greco_2->SetLineWidth(2);
155  gr_Greco_2->SetLineStyle(1);
156  gr_Greco_2->SetLineColor(4);
157  TGraph *gr_Tsinghua_1 = new TGraph("dat/Tsinghua_LcD0_1_AuAu200GeV_10_80.txt", "%lg %lg");
158  gr_Tsinghua_1->SetLineWidth(2);
159  gr_Tsinghua_1->SetLineStyle(2);
160  gr_Tsinghua_1->SetLineColor(kGreen - 6);
161  TGraph *gr_Tsinghua_2 = new TGraph("dat/Tsinghua_LcD0_2_AuAu200GeV_10_80.txt", "%lg %lg");
162  gr_Tsinghua_2->SetLineWidth(2);
163  gr_Tsinghua_2->SetLineStyle(1);
164  gr_Tsinghua_2->SetLineColor(kGreen - 6);
165 
166  const Int_t N_Ko = 12;
167  Double_t pt_Ko[N_Ko], y1_Ko[N_Ko], y2_Ko[N_Ko], y3_Ko[N_Ko];
168  inData.open("dat/LcD0_Ko_0901.1382.txt");
169  for (int i = 0; i < N_Ko; i++)
170  {
171  inData >> pt_Ko[i] >> y1_Ko[i] >> y2_Ko[i] >> y3_Ko[i];
172  }
173  inData.close();
174  TGraph *gr_Ko_1 = new TGraph(N_Ko, pt_Ko, y1_Ko);
175  gr_Ko_1->SetLineWidth(2);
176  gr_Ko_1->SetLineColor(2);
177  gr_Ko_1->SetLineStyle(3);
178  TGraph *gr_Ko_2 = new TGraph(N_Ko, pt_Ko, y2_Ko);
179  gr_Ko_2->SetLineWidth(2);
180  gr_Ko_2->SetLineColor(2);
181  gr_Ko_2->SetLineStyle(2);
182  TGraph *gr_Ko_3 = new TGraph(N_Ko, pt_Ko, y3_Ko);
183  gr_Ko_3->SetLineWidth(2);
184  gr_Ko_3->SetLineColor(2);
185  gr_Ko_3->SetLineStyle(1);
186 
187  // **************************
188  // sPHENIX projection
189  // **************************
190 
191  TGraphErrors *gr_sPH_noPID_AuAu_0_10(nullptr);
192  TGraphErrors *gr_sPH_noPID_pp(nullptr);
193 
195  // LC projection 0-10%
197 
198  {
199  const double significance_scaling = sqrt((AuAu_rec_3year * refAuAuXSec) / (refAuAuMB));
200 
201  const Int_t N_sPH = 20;
202  double pT_sPH[N_sPH], sig_sPH_noPID[N_sPH], sig_sPH_ideal[N_sPH];
203  double r_sPH[N_sPH], r_err_sPH_noPID[N_sPH], r_err_sPH_ideal[N_sPH];
204  double pT_sPH_noPID[N_sPH], pT_sPH_ideal[N_sPH];
205  const Double_t offset = 0.06;
206  // TFile *fin = new TFile("signi_0_10.root");
207 
208  fin = new TFile("significance/signi_0.root");
209  TH1D *h1 = (TH1D *) fin->Get("NoPID_signi");
210  TH1D *h2 = (TH1D *) fin->Get("Cleanideal_signi");
211  // cout<<" ok "<<endl;
212 
213  vector<int> rebin{3, 1,1, 1, 1, 1, 1, 1, 1, 1, 1};
214 
215  int index_input = 1;
216  int index_output = 0;
217  for (int rebin_count : rebin)
218  {
219  vector<double> sum_x;
220  vector<double> sum_sig2;
221  for (int i = 0; i < rebin_count; ++i)
222  {
223  sum_x.push_back(h1->GetBinCenter(index_input));
224  sum_sig2.push_back(pow(h1->GetBinContent(index_input), 2));
225 
226  ++index_input;
227  if (index_input > h1->GetNbinsX()) break;
228  }
229 
230  int i(index_output);
231  pT_sPH[i] = accumulate(sum_x.begin(), sum_x.end(), 0.) / sum_x.size();
232  sig_sPH_noPID[i] = significance_scaling * sqrt(accumulate(sum_sig2.begin(), sum_sig2.end(), 0.)) / sum_sig2.size();
233  // sig_sPH_ideal[i] = h2->GetBinContent(i + 1);
234 
235  cout << "gr_sPH_noPID_AuAu_0_10, bin" << i << " pT = "
236  << pT_sPH[i] << " Sig = " << sig_sPH_noPID[i]
237  << "\t| sum_x.begin() = " << *sum_x.begin() << " sum_x.size() = " << sum_x.size()<<"\t| scaling = "<<significance_scaling << endl;
238 
239  pT_sPH_noPID[i] = pT_sPH[i];
240  // pT_sPH_ideal[i] = pT_sPH[i] + offset;
241  r_sPH[i] = gr[0]->Eval(pT_sPH[i]);
242  r_err_sPH_noPID[i] = r_sPH[i] / sig_sPH_noPID[i];
243  // r_err_sPH_ideal[i] = r_sPH[i] / sig_sPH_ideal[i];
244 
245  ++index_output;
246  if (index_input > h1->GetNbinsX()) break;
247  }
248 
249  int n_sPH = index_output;
250 
251  gr_sPH_noPID_AuAu_0_10 = new TGraphErrors(n_sPH, pT_sPH_noPID, r_sPH, nullptr, r_err_sPH_noPID);
252 
253  gr_sPH_noPID_AuAu_0_10->SetMarkerStyle(kFullCircle);
254  // gr_sPH_noPID->SetMarkerSize(1.8);
255  gr_sPH_noPID_AuAu_0_10->SetMarkerSize(2);
256  gr_sPH_noPID_AuAu_0_10->SetMarkerColor(kBlue+1);
257  gr_sPH_noPID_AuAu_0_10->SetLineColor(kBlue+1);
258  gr_sPH_noPID_AuAu_0_10->SetLineWidth(4);
259  }
260 
262  // LC projection 60-80% to pp
264 
265  {
266  const double significance_scaling = sqrt((pp_rec_3year * pp_inelastic_crosssec) / (refAuAuMB * .1 * (AuAu_Ncoll_60_70 + AuAu_Ncoll_70_80)));
267 
268  const Int_t N_sPH = 20;
269  double pT_sPH[N_sPH], sig_sPH_noPID[N_sPH], sig_sPH_ideal[N_sPH];
270  double r_sPH[N_sPH], r_err_sPH_noPID[N_sPH], r_err_sPH_ideal[N_sPH];
271  double pT_sPH_noPID[N_sPH], pT_sPH_ideal[N_sPH];
272  const Double_t offset = 0.06;
273  // TFile *fin = new TFile("signi_0_10.root");
274 
275  fin = new TFile("significance/signi_4.root");
276  TH1D *h1 = (TH1D *) fin->Get("NoPID_signi");
277  TH1D *h2 = (TH1D *) fin->Get("Cleanideal_signi");
278  // cout<<" ok "<<endl;
279 
280  vector<int> rebin{3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
281 
282  int index_input = 1;
283  int index_output = 0;
284  for (int rebin_count : rebin)
285  {
286  vector<double> sum_x;
287  vector<double> sum_sig2;
288  for (int i = 0; i < rebin_count; ++i)
289  {
290  sum_x.push_back(h1->GetBinCenter(index_input));
291  sum_sig2.push_back(pow(h1->GetBinContent(index_input), 2));
292 
293  ++index_input;
294  if (index_input > h1->GetNbinsX()) break;
295  }
296 
297  int i(index_output);
298  pT_sPH[i] = accumulate(sum_x.begin(), sum_x.end(), 0.) / sum_x.size();
299  sig_sPH_noPID[i] = significance_scaling * sqrt(accumulate(sum_sig2.begin(), sum_sig2.end(), 0)) / sum_sig2.size();
300  // sig_sPH_ideal[i] = h2->GetBinContent(i + 1);
301 
302  cout << "gr_sPH_noPID_AuAu_0_10, bin" << i << " pT = "
303  << pT_sPH[i] << " Sig = " << sig_sPH_noPID[i]
304  << "\t| sum_x.begin() = " << *sum_x.begin() << " sum_x.size() = " << sum_x.size()<<"\t| scaling = "<<significance_scaling << endl;
305 
306  pT_sPH_noPID[i] = pT_sPH[i];
307  // pT_sPH_ideal[i] = pT_sPH[i] + offset;
308  r_sPH[i] = gr_pythia8_CR->Eval(pT_sPH[i]);
309  r_err_sPH_noPID[i] = r_sPH[i] / sig_sPH_noPID[i];
310  // r_err_sPH_ideal[i] = r_sPH[i] / sig_sPH_ideal[i];
311 
312  ++index_output;
313  if (index_input > h1->GetNbinsX()) break;
314  }
315 
316  int n_sPH = index_output;
317 
318  gr_sPH_noPID_pp = new TGraphErrors(n_sPH, pT_sPH_noPID, r_sPH, nullptr, r_err_sPH_noPID);
319 
320  gr_sPH_noPID_pp->SetMarkerStyle(kFullSquare);
321  // gr_sPH_noPID->SetMarkerSize(1.8);
322  gr_sPH_noPID_pp->SetMarkerSize(2);
323  gr_sPH_noPID_pp->SetMarkerColor(kBlack);
324  gr_sPH_noPID_pp->SetLineColor(kBlack);
325  gr_sPH_noPID_pp->SetLineWidth(4);
326  }
327 
328 
329 
330  TCanvas *c1 = new TCanvas("Lc_BUP2022_AuAu_3yr", "Lc_BUP2022_AuAu_3yr", 1100, 800);
331  c1->Divide(1, 1);
332  int idx = 1;
333  TPad *p;
334 
335  p = (TPad *) c1->cd(idx++);
336  c1->Update();
337 
338  p->DrawFrame(0, 0, 11, 6)->SetTitle(";#it{p}_{T} [GeV];(#Lambda_{c}^{+}+#bar{#Lambda}_{c}^{-})/(D^{0}+#bar{D}^{0})");
339  // TCanvas *c1 = new TCanvas("c1", "c1", 0, 0, 800, 600);
340  // gStyle->SetOptFit(0);
341  // gStyle->SetOptStat(0);
342  // gStyle->SetEndErrorSize(0);
343 
344  // c1->SetFillColor(10);
345  // c1->SetFillStyle(0);
346  // c1->SetBorderMode(0);
347  // c1->SetBorderSize(0);
348  // c1->SetFrameFillColor(10);
349  // c1->SetFrameFillStyle(0);
350  // c1->SetFrameBorderMode(0);
351  // c1->SetLeftMargin(0.11);
352  // c1->SetRightMargin(0.03);
353  // c1->SetTopMargin(0.03);
354  // c1->SetBottomMargin(0.14);
355  // c1->SetLogy();
356  // c1->SetTickx();
357  // c1->SetTicky();
358 // c1->Draw();
359 // c1->cd();
360 
361  double x1 = 0.01;
362  double x2 = 8.99;
363  double y1 = 0.001;
364  double y2 = 4;
365  // TH1 *h0 = new TH1D("h0", "", 1, x1, x2);
366  // h0->SetMinimum(y1);
367  // h0->SetMaximum(y2);
368  // h0->GetXaxis()->SetNdivisions(208);
369  // h0->GetXaxis()->CenterTitle();
370  // h0->GetXaxis()->SetTitle("Transverse Momentum p_{T} (GeV/c)");
371  // h0->GetXaxis()->SetTitleOffset(0.95);
372  // h0->GetXaxis()->SetTitleSize(0.06);
373  // h0->GetXaxis()->SetLabelOffset(0.01);
374  // h0->GetXaxis()->SetLabelSize(0.045);
375  // h0->GetXaxis()->SetLabelFont(42);
376  // h0->GetXaxis()->SetTitleFont(42);
377  // h0->GetYaxis()->SetNdivisions(505);
378  // h0->GetYaxis()->SetTitle("(#Lambda_{c}^{+}+#bar{#Lambda}_{c}^{-})/(D^{0}+#bar{D}^{0})");
379  // h0->GetYaxis()->SetTitleOffset(0.8);
380  // h0->GetYaxis()->SetTitleSize(0.06);
381  // h0->GetYaxis()->SetLabelOffset(0.018);
382  // h0->GetYaxis()->SetLabelSize(0.045);
383  // h0->GetYaxis()->SetLabelFont(42);
384  // h0->GetYaxis()->SetTitleFont(42);
385  // h0->Draw("c");
386 
387 // TLine *l1 = new TLine(x1, y1, x2, y1);
388 // l1->SetLineWidth(3);
389 // l1->Draw("same");
390 // TLine *l2 = new TLine(x1, y2, x2, y2);
391 // l2->SetLineWidth(3);
392 // l2->Draw("same");
393 // TLine *l3 = new TLine(x1, y1, x1, y2);
394 // l3->SetLineWidth(3);
395 // l3->Draw("same");
396 // TLine *l4 = new TLine(x2, y1, x2, y2);
397 // l4->SetLineWidth(3);
398 // l4->Draw("same");
399 
400 // gr_pythia->SetFillColor(16);
401 // gr_pythia->SetLineWidth(2);
402 // gr_pythia->SetLineStyle(2);
403 // gr_pythia->SetLineColor(1);
404 // gr_pythia->Draw("c");
405 
406  gr_pythia8->Draw("c");
407  gr_pythia8_CR->Draw("c");
408 
409  gr_Greco_1->Draw("c");
410  gr_Greco_2->Draw("c");
411  // gr_Ko_1->Draw("c");
412  gr_Ko_2->Draw("c");
413  gr_Ko_3->Draw("c"); // pythia
414  gr_Tsinghua_1->Draw("c");
415  gr_Tsinghua_2->Draw("c");
416 
417  TLine *la = new TLine(0.2, 0.24, 1.5, 0.24);
418  la->SetLineWidth(5);
419  la->SetLineColor(18);
420  // la->Draw("same");
421 
422  TLatex *tex = new TLatex(0.5, 0.26, "SHM");
423  tex->SetTextFont(12);
424  tex->SetTextSize(0.06);
425  // tex->Draw("same");
426 
427  /*
428  // plotting the data points
429  const Int_t kStyle[NConfig] = {20, 20, 24, 20};
430  const Int_t kColor[NConfig] = {1, 2, 4, 1};
431  const double xo = fabs(x2-x1)/80.;
432  const double yo = fabs(y2-y1)/80.;
433  for(int i=0;i<1;i++) { // STAR
434 
435  for(int j=0;j<N[i];j++) {
436  double x1 = x[i][j] - xo;
437  double x2 = x[i][j] + xo;
438  double y1 = y[i][j] - yes_d[i][j];
439  double y2 = y[i][j] + yes_u[i][j];
440 
441  TLine *la = new TLine(x1, y1, x1, y1+yo);
442  la->SetLineColor(kColor[i]);
443  la->SetLineWidth(1);
444  la->Draw("same");
445  TLine *lb = new TLine(x2, y1, x2, y1+yo);
446  lb->SetLineColor(kColor[i]);
447  lb->SetLineWidth(1);
448  lb->Draw("same");
449  TLine *lc = new TLine(x1, y2, x1, y2-yo);
450  lc->SetLineColor(kColor[i]);
451  lc->SetLineWidth(1);
452  lc->Draw("same");
453  TLine *ld = new TLine(x2, y2, x2, y2-yo);
454  ld->SetLineColor(kColor[i]);
455  ld->SetLineWidth(1);
456  ld->Draw("same");
457  TLine *le = new TLine(x1, y1, x2, y1);
458  le->SetLineColor(kColor[i]);
459  le->SetLineWidth(2);
460  le->Draw("same");
461  TLine *lf = new TLine(x1, y2, x2, y2);
462  lf->SetLineColor(kColor[i]);
463  lf->SetLineWidth(2);
464  lf->Draw("same");
465  }
466  gr[i]->SetMarkerStyle(kStyle[i]);
467  gr[i]->SetMarkerColor(kColor[i]);
468  gr[i]->SetMarkerSize(1.8);
469  gr[i]->SetLineColor(kColor[i]);
470  gr[i]->SetLineWidth(2);
471  gr[i]->Draw("p");
472  }
473  */
474  grs_St->Draw("2");
475  gr_St->Draw("p");
476  gr_sPH_noPID_AuAu_0_10->Draw("p");
477  gr_sPH_noPID_pp->Draw("p");
478  // gr_sPH_ideal->Draw("p");
479 
480 // tex = new TLatex(x1 + 0.2, y2 * 0.9, "Au+Au, #sqrt{s_{NN}}=200GeV");
481 // tex->SetTextFont(42);
482 // tex->SetTextSize(0.05);
483 // tex->Draw("same");
484 // tex = new TLatex(x1 + 0.2, y2 * 0.9, "#sqrt{s_{NN}}=200GeV");
485 // tex->SetTextFont(42);
486 // tex->SetTextSize(0.055);
487  // tex->Draw("same");
488 
489  TLegend *leg = new TLegend(0.1998067,0.688525,0.8001561,0.8282708);
490  leg->AddEntry(gr_sPH_noPID_pp, Form("%.1f pb^{-1} str. #it{p}+#it{p}", pp_rec_3year/1e12), "pl");
491  leg->AddEntry(gr_sPH_noPID_AuAu_0_10, Form("%.0f nb^{-1} rec. Au+Au, 0-10%%", AuAu_rec_3year/1e9), "pl");
492  leg->AddEntry(grs_St, "STAR, Au+Au, 0-20%, PRL#bf{124}", "plf");
493  leg->Draw();
494 
495 
496  leg = new TLegend(0.04741459,0.8467278,0.7472027,0.8968254);
497  leg->SetFillStyle(0);
498  leg->AddEntry("", "#it{#bf{sPHENIX}} BUP 2022, Years 1-3", "");
499 // leg->AddEntry("", ("Years 1-3"), "");
500  leg->Draw();
501 
502  leg = new TLegend(0.6905134,0.44,0.9302814,0.64);
503 // leg->SetFillStyle(0);
504  leg->AddEntry(gr_Tsinghua_2, "Tsinghua", "l");
505  leg->AddEntry(gr_Greco_2, "Catania", "l");
506  leg->AddEntry(gr_Ko_3, "TAMU", "l");
507  leg->AddEntry(gr_pythia8_CR, "PYTHIA8", "l");
508 // leg->Draw();
509 
510  leg = new TLegend(0.35, 0.5, 0.94, 0.65);
511  leg->AddEntry(gr_Tsinghua_2, "Tsinghua: simul. coal, 10-80%", "l");
512  leg->AddEntry(gr_Tsinghua_1, "Tsinghua: seq. coal, 10-80%", "l");
513  leg->AddEntry(gr_Greco_2, "Catania: coal only, 0-20%", "l");
514  leg->AddEntry(gr_Greco_1, "Catania: coal+frag, 0-20%", "l");
515 // leg->SetTextFont(6);
516  leg->Draw();
517 
518  leg = new TLegend(0.5, 0.35, 0.94, 0.5);
519 // leg->SetFillColor(10);
520 // leg->SetFillStyle(10);
521 // leg->SetLineStyle(4000);
522 // leg->SetLineColor(10);
523 // leg->SetLineWidth(0.);
524 // leg->SetTextFont(42);
525 // leg->SetTextSize(0.035);
526  leg->AddEntry(gr_Ko_3, "TAMU: di-quark 0-5%", "l");
527  leg->AddEntry(gr_Ko_2, "TAMU: 3-quark 0-5%", "l");
528  leg->AddEntry(gr_pythia8_CR, "PYTHIA8 (CR)", "l");
529  leg->AddEntry(gr_pythia8, "PYTHIA8 (Monash)", "l");
530 // leg->SetTextFont(10);
531  leg->Draw();
532 
533  c1->Update();
534 
535  // c1->SaveAs("fig/LcD0_proj_0_10_24B.pdf");
536  // c1->SaveAs("fig/LcD0_proj_0_10_24B.png");
537  SaveCanvas(c1, "fig/" + TString(c1->GetName()), kTRUE);
538 }