]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/macros/Plot_plotsTPR.C
Provide setters for Normalization points
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / macros / Plot_plotsTPR.C
CommitLineData
8eebdc9b 1#include <math.h>
2#include <time.h>
3#include <stdio.h>
4#include <stdlib.h>
5#include <Riostream.h>
6
7#include "TVector2.h"
8#include "TFile.h"
9#include "TString.h"
10#include "TLatex.h"
11#include "TCanvas.h"
12#include "TPad.h"
13#include "TF1.h"
14#include "TH1.h"
15#include "TH2.h"
16#include "TH3.h"
17#include "TProfile.h"
18#include "TProfile2D.h"
19#include "TMath.h"
20#include "TText.h"
21#include "TRandom3.h"
22#include "TArray.h"
23#include "TLegend.h"
24#include "TStyle.h"
25#include "TMinuit.h"
26#include "TASImage.h"
27#include "TGraphErrors.h"
0e610a08 28#include "TGraphAsymmErrors.h"
29#include "TSpline.h"
cbf4f1cb 30#include "TMultiGraph.h"
8eebdc9b 31
32#define BohrR 1963.6885
33#define FmToGeV 0.19733 // conversion to fm
34#define PI 3.1415926
35#define masspiC 0.1395702 // pi+ mass (GeV/c^2)
36
37using namespace std;
38
39bool SaveFiles=kFALSE;
5be394f6 40const int KT3Bin=0;// Kt3 bin. 0-1
cbf4f1cb 41int FitType=2;// 0 (Gaussian), 1 (Edgeworth), 2 (Exponential)
42bool pp_pPb_Comp=0;
8eebdc9b 43bool AddedCC=kTRUE;// Charge Conjugate already added?
0e610a08 44bool NchOneThirdAxis=0;
8eebdc9b 45//
5130881c 46int MbinMaxPbPb=15;// 15
0e610a08 47int MbinMinpPb=12;// 13
5be394f6 48int MbinMinpp=13;// 14
5130881c 49int MbinMinPbPb=0;// 0
50int MbinMaxpPb=18;// 18
8eebdc9b 51//
52//
5130881c 53//
54const int MaxKT3Bins=2;
8eebdc9b 55int TextFont=42;// 63, or 42
5be394f6 56float SizeLabel=0.06;// 20(63 font), 0.08(42 font)
57float SizeLegend=0.05;//
58float SizeTitle=0.06;//
59float SizeSpecif=0.05;//
b2c0d4ba 60
cbf4f1cb 61bool RadiusOnly=0;// only show radii, not lambdas
b2c0d4ba 62
8eebdc9b 63
64double RightMargin=0.002;// 0.002
65//
66double Chi2_C2global;
67double NFitPoints_C2global;
68TH1D *C2_ss[20];
69TH1D *C2_os[20];
70
71
72
73void DrawALICELogo(Bool_t, Float_t, Float_t, Float_t, Float_t);
b2c0d4ba 74TCanvas *make_canvas(const Char_t*,const Char_t*,Int_t,Int_t,Int_t,Int_t,Int_t);
8eebdc9b 75
76void Plot_plotsTPR(){
77
78 gStyle->SetOptStat(0);
79 gStyle->SetOptDate(0);
5be394f6 80 //gStyle->SetOptFit(0111);
b2c0d4ba 81
8eebdc9b 82 ////////////////////////////////////
83 // Get Nrec to Nch mapping
84 double meanNchPbPb[20]={0};
b2c0d4ba 85 //double meanNchPbPb_e[20]={0};
8eebdc9b 86 double meanNchpPb[20]={0};
b2c0d4ba 87 //double meanNchpPb_e[20]={0};
8eebdc9b 88 double meanNchpp[20]={0};
b2c0d4ba 89 //double meanNchpp_e[20]={0};
8eebdc9b 90 TFile *NrecMapFile;
91 TH2D *NrecMap;
92 TList *MyList;
93 //
0e610a08 94 NrecMapFile = new TFile("Results/NrecMapping_12a17a_NclsFix.root","READ");// standard
95 //NrecMapFile = new TFile("Results/NrecMapping_12a17a.root","READ");// v5 and before (with P < 1.0 cut)
96 //NrecMapFile = new TFile("Results/NrecMapping_12a17a_TuneOnData.root","READ");
5be394f6 97 //NrecMapFile = new TFile("Results/Old_NrecMappingFiles/NrecMapping_12a17a.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 98 //NrecMapFile = new TFile("Results/NrecMapping_12a11a.root","READ");// MC variation
8eebdc9b 99 MyList=(TList*)NrecMapFile->Get("MyList");
0e610a08 100 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");// Nch
101 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");// Npions
5130881c 102 for(int bin=1; bin<=2; bin++){// 1 to 2 (FB7), 1 to 1 (AMPT), 1 to 4 (FB5and7overlap)
8eebdc9b 103 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 104 if(NrecMap->GetMean(2)>0) {
105 meanNchPbPb[bin-1] = NrecMap->GetMean(2);
106 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
107 }
0e610a08 108 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchPbPb[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 109 }
110 NrecMapFile->Close();
111 //
0e610a08 112 NrecMapFile = new TFile("Results/NrecMapping_12a17e_NclsFix.root","READ");// standard
113 //NrecMapFile = new TFile("Results/NrecMapping_12a17e.root","READ");// v5 and before (with P < 1.0 cut)
114 //NrecMapFile = new TFile("Results/NrecMapping_12a17e_TuneOnData.root","READ");
5be394f6 115 //NrecMapFile = new TFile("Results/Old_NrecMappingFiles/NrecMapping_12a17e.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 116 //NrecMapFile = new TFile("Results/NrecMapping_12a11b.root","READ");// MC variation
8eebdc9b 117 MyList=(TList*)NrecMapFile->Get("MyList");
118 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
0e610a08 119 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");
5130881c 120 for(int bin=3; bin<=10; bin++){// 3 to 10 (FB7), 2 to 3 (AMPT), 5 to 12 (FB5and7overlap)
8eebdc9b 121 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 122 if(NrecMap->GetMean(2)>0) {
123 meanNchPbPb[bin-1] = NrecMap->GetMean(2);
124 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
125 }
0e610a08 126 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchPbPb[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 127 }
128 NrecMapFile->Close();
129 //
5130881c 130 ////////////////////// extra for AMPT
131 /*NrecMapFile = new TFile("Results/NrecMapping_12a11d.root","READ");
132 MyList=(TList*)NrecMapFile->Get("MyList");
133 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
134 for(int bin=4; bin<=7; bin++){// 4 to 7 (AMPT)
135 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
136 if(NrecMap->GetMean(2)>0) meanNchPbPb[bin-1] = log10(NrecMap->GetMean(2));
137 }
138 NrecMapFile->Close();*/
139 //////////////////////////////////////////
140 //
0e610a08 141 NrecMapFile = new TFile("Results/NrecMapping_12a17c_NclsFix.root","READ");// standard
142 //NrecMapFile = new TFile("Results/NrecMapping_12a17c.root","READ");// v5 and before (with P < 1.0 cut)
143 //NrecMapFile = new TFile("Results/NrecMapping_12a17c_TuneOnData.root","READ");
5be394f6 144 //NrecMapFile = new TFile("Results/Old_NrecMappingFiles/NrecMapping_12a17c.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 145 //NrecMapFile = new TFile("Results/NrecMapping_12a11g.root","READ");// MC variation
8eebdc9b 146 MyList=(TList*)NrecMapFile->Get("MyList");
147 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
0e610a08 148 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");
5130881c 149 for(int bin=11; bin<=19; bin++){// 11 to 19 (FB7), 1 to 1 (AMPT), 13 to 19 (FB5and7overlap)
8eebdc9b 150 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 151 if(NrecMap->GetMean(2)>0) {
152 meanNchPbPb[bin-1] = NrecMap->GetMean(2);
153 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
154 }
0e610a08 155 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchPbPb[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 156 }
157 NrecMapFile->Close();
0e610a08 158 ///cout<<endl;
8eebdc9b 159 //
0e610a08 160 NrecMapFile = new TFile("Results/NrecMapping_13b2_efix_NclsFix.root","READ");// standard
161 //NrecMapFile = new TFile("Results/NrecMapping_13b2_efix_p1.root","READ");// v5 and before (with P < 1.0 cut)
162 //NrecMapFile = new TFile("Results/NrecMapping_13b2_TuneOnData.root","READ");
5be394f6 163 //NrecMapFile = new TFile("Results/PDC_13b2_efix_p1_R2.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 164 //NrecMapFile = new TFile("Results/NrecMapping_13b3.root","READ");// MC variation
8eebdc9b 165 MyList=(TList*)NrecMapFile->Get("MyList");
166 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
0e610a08 167 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");
8eebdc9b 168 for(int bin=10; bin<=20; bin++){
169 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 170 if(NrecMap->GetMean(2)>0) {
171 meanNchpPb[bin-1] = NrecMap->GetMean(2);
172 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
173 }
0e610a08 174 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchpPb[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 175 }
176 NrecMapFile->Close();
0e610a08 177 //cout<<endl;
8eebdc9b 178 //
0e610a08 179 NrecMapFile = new TFile("Results/NrecMapping_10f6a_NclsFix.root","READ");// standard
180 //NrecMapFile = new TFile("Results/NrecMapping_10f6a.root","READ");// v5 (with P < 1.0 cut)
181 //NrecMapFile = new TFile("Results/NrecMapping_10f6a_TuneOnData.root","READ");
5be394f6 182 //NrecMapFile = new TFile("Results/PDC_10f6a_R2.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 183 //NrecMapFile = new TFile("Results/NrecMapping_10f6.root","READ");// MC variation
8eebdc9b 184 MyList=(TList*)NrecMapFile->Get("MyList");
185 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
0e610a08 186 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");
8eebdc9b 187 for(int bin=10; bin<=20; bin++){
188 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 189 if(NrecMap->GetMean(2)>0) {
190 meanNchpp[bin-1] = NrecMap->GetMean(2);
191 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
192 }
0e610a08 193 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchpp[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 194 }
195 NrecMapFile->Close();
0e610a08 196 //cout<<endl;
197
5130881c 198 //for(int i=0; i<20; i++) cout<<pow(10,meanNchPbPb[i])<<endl;
8eebdc9b 199 //cout<<"+++++++++++++++"<<endl;
5130881c 200 //for(int i=0; i<20; i++) cout<<pow(10,meanNchpPb[i])<<endl;
8eebdc9b 201 //cout<<"+++++++++++++++"<<endl;
5be394f6 202 //for(int i=0; i<20; i++) cout<<meanNchpp[i]<<endl;
8eebdc9b 203
204 TFile *ExRangeFile=new TFile("Results/ExtendedQ3rangeM0.root","READ");
205 TList *ExList=(TList*)ExRangeFile->Get("MyList");
206 TH1D *ExRangeTerm1=(TH1D*)ExList->FindObject("fExtendedQ3Histo_term1");
207 TH1D *ExRangeTerm2=(TH1D*)ExList->FindObject("fExtendedQ3Histo_term2");
208 TH1D *ExRangeTerm5=(TH1D*)ExList->FindObject("fExtendedQ3Histo_term5");
209 ExRangeTerm1->SetDirectory(0); ExRangeTerm2->SetDirectory(0); ExRangeTerm5->SetDirectory(0);
210 ExRangeFile->Close();
211 ExRangeTerm1->Sumw2(); ExRangeTerm2->Sumw2(); ExRangeTerm5->Sumw2();
212 ExRangeTerm2->Scale(ExRangeTerm1->Integral(25,29)/ExRangeTerm2->Integral(25,29));
213 ExRangeTerm5->Scale(ExRangeTerm1->Integral(25,29)/ExRangeTerm5->Integral(25,29));
214 float TwoFrac=0.7;
215 float OneFrac=pow(TwoFrac,.5);
216 float ThreeFrac=pow(TwoFrac,1.5);
217 // Purify. Isolate pure 3-pion QS correlations using Lambda and K3 (removes lower order correlations)
218 ExRangeTerm1->Add(ExRangeTerm5, -(pow(1-OneFrac,3) + 3*OneFrac*pow(1-OneFrac,2)));
219 ExRangeTerm1->Add(ExRangeTerm2, -3*(1-OneFrac));
220 ExRangeTerm1->Add(ExRangeTerm5, (1-OneFrac)*3*(1-TwoFrac));
221 ExRangeTerm1->Scale(1/ThreeFrac);
8eebdc9b 222 // Isolate 3-pion cumulant
223 ExRangeTerm1->Add(ExRangeTerm2, -3/TwoFrac);
224 ExRangeTerm1->Add(ExRangeTerm5, 3*(1-TwoFrac)/TwoFrac);
225 ExRangeTerm1->Add(ExRangeTerm5, 3);
226 ExRangeTerm1->Divide(ExRangeTerm5);
227 ExRangeTerm1->SetMarkerStyle(20);
228 ExRangeTerm1->SetMarkerColor(1);
229
230 //
231 TF1 *MixedChargeSysFit=new TF1("MixedChargeSysFit","[0]+[1]*exp(-pow([2]*x/0.19733,2))",0,.5);
8eebdc9b 232 //
cbf4f1cb 233 TF1 *Fit_C2[3][3][3][20];// CollType, Gauss/EW/Exp, EDbin, cb
234 TH1D *Parameters_C2[3][3][3][6];// CollType, Gauss/EW/Exp, EDbin, Parameter#
8eebdc9b 235 TH1D *C2[3][3][20];// CollType, EDbin, cb
236 TH1D *C2_Sys[3][3][20];// CollType, EDbin, cb
237 TH1D *C3[3][2][2][3][20];// CollType, Real/MonteCarlo, SC/MC, EDbin, cb
238 TH1D *c3[3][2][2][3][20];// CollType, Real/MonteCarlo, SC/MC, EDbin, cb
239 TH1D *C3_Sys[3][2][2][3][20];// CollType, Real/MonteCarlo, SC/MC, EDbin, cb
240 TH1D *c3_Sys[3][2][2][3][20];// CollType, Real/MonteCarlo, SC/MC, EDbin, cb
cbf4f1cb 241 TF1 *c3_fit[3][3][3][20];// CollType, Gauss/EW/Exp, EDbin, cb
0e610a08 242 TGraph *gr_c3Spline[3][3][20];// CollType, EDbin, cb
cbf4f1cb 243 TGraph *gr_c3SplineExpFit[3][3][20];// CollType, EDbin, cb
0e610a08 244 TF1 *c3_mixedChargeSysFit[3][2][20];// CollType, EDbin, cb
cbf4f1cb 245 TH1D *Parameters_c3[3][3][3][6];// CollType, Gaussian/EW, EDbin, Parameter#
246 TH1D *Parameters_Bjoern[2][3];// Bjoern's points: Hydro case, CollType
247
8eebdc9b 248 for(int ct=0; ct<3; ct++){
cbf4f1cb 249 for(int ft=0; ft<3; ft++){// Gaussian or EW or Exp
b2c0d4ba 250 for(int kt3=0; kt3<3; kt3++){
0e610a08 251 for(int par=0; par<6; par++){
b2c0d4ba 252 TString *name_C2=new TString("Parameters_C2_");
253 *name_C2 += ct;
254 *name_C2 += ft;
255 *name_C2 += kt3;
256 *name_C2 += par;
257 TString *name_c3=new TString("Parameters_c3_");
258 *name_c3 += ct;
259 *name_c3 += ft;
260 *name_c3 += kt3;
261 *name_c3 += par;
0e610a08 262
263 if(NchOneThirdAxis) {
264 Parameters_C2[ct][ft][kt3][par] = new TH1D(name_C2->Data(),"",3000,1,13.5);// Nch^(1/3)
265 Parameters_c3[ct][ft][kt3][par] = new TH1D(name_c3->Data(),"",3000,1,13.5);// Nch^(1/3)
cbf4f1cb 266 if(ft==0 && kt3==0 && par==0){
267 TString *name_Bjoern = new TString("Bjoern_"); *name_Bjoern += ct;
268 Parameters_Bjoern[0][ct] = new TH1D(name_Bjoern->Data(),"",3000,1,13.5);// Nch^(1/3)
269 name_Bjoern->Append("_hydro");
270 Parameters_Bjoern[1][ct] = new TH1D(name_Bjoern->Data(),"",3000,1,13.5);// Nch^(1/3)
271 }
0e610a08 272 }else{
273 Parameters_C2[ct][ft][kt3][par] = new TH1D(name_C2->Data(),"",30000,1,3001);// Nch
274 Parameters_c3[ct][ft][kt3][par] = new TH1D(name_c3->Data(),"",30000,1,3001);// Nch
cbf4f1cb 275 if(ft==0 && kt3==0 && par==0){
276 TString *name_Bjoern = new TString("Bjoern_"); *name_Bjoern += ct;
277 Parameters_Bjoern[0][ct] = new TH1D(name_Bjoern->Data(),"",30000,1,3001);// Nch
278 name_Bjoern->Append("_hydro");
279 Parameters_Bjoern[1][ct] = new TH1D(name_Bjoern->Data(),"",30000,1,3001);// Nch
280 }
0e610a08 281 }
b2c0d4ba 282 }
8eebdc9b 283 }
284 }
285 }
b2c0d4ba 286
5be394f6 287 TH1D *RadiiC2pp_Published = new TH1D("RadiiC2pp_Published","",3000,1.0,3001);
8eebdc9b 288 //
289 double N_1 = 0, N_1_e=0;
290 double lambda_1 = 0, lambda_1_e=0;
291 double radius_1 = 0, radius_1_e=0;
292 double EW1_1 = 0, EW1_1_e=0;
293 double EW2_1 = 0, EW2_1_e=0;
b2c0d4ba 294
295
8eebdc9b 296 // Start File access
297 for(int ct=0; ct<3; ct++){
b2c0d4ba 298 for(int dt=0; dt<2; dt++){// data type (Real or Monte Carlo)
8eebdc9b 299 if(ct==0 && dt==1) continue; // no MC for PbPb
300 for(int cb=0; cb<20; cb++){
5130881c 301 if(ct==0 && cb<MbinMinPbPb) continue;
8eebdc9b 302 if(ct==0 && cb>MbinMaxPbPb) continue;
5130881c 303 if(ct==1 && cb>MbinMaxpPb) continue;
8eebdc9b 304 if(ct==1 && cb<MbinMinpPb) continue;
305 if(ct==2 && cb<MbinMinpp) continue;
306 if(ct==2 && dt==1 && cb<=13) continue;// no Pythia data for cb=13
307 for(int ChComb=0; ChComb<2; ChComb++) {// SC or MC
308 for(int ch=0; ch<1; ch++) {// - or +
5130881c 309 for(int KT3=0; KT3<MaxKT3Bins; KT3++) {// Kt3 bin
8eebdc9b 310 if(dt==1 && KT3>0) continue;// no MC data yet for higher kt3
311 TString *name3 = new TString("OutFiles/OutFile");
312 if(ct==0) name3->Append("PbPb");
313 if(ct==1) name3->Append("pPb");
314 if(ct==2) name3->Append("pp");
315 if(dt==1) name3->Append("MonteCarlo");
316 if(ChComb==0) name3->Append("SC");
317 else name3->Append("MC");
318 if(ch==0) name3->Append("Neg");
319 else name3->Append("Pos");
0e610a08 320
8eebdc9b 321 name3->Append("Kt3_");
322 *name3 += KT3+1;
323 name3->Append("_M");
324 *name3 += cb;
325 name3->Append(".root");
0e610a08 326
8eebdc9b 327 TFile *file=new TFile(name3->Data(),"READ");
cbf4f1cb 328
329 TString *name3_2 = new TString("OutFiles/OutFileExpFit");
330 if(ct==0) name3_2->Append("PbPb");
331 if(ct==1) name3_2->Append("pPb");
332 if(ct==2) name3_2->Append("pp");
333 name3_2->Append("SC");
334 if(ch==0) name3_2->Append("Neg");
335 else name3_2->Append("Pos");
336
337 name3_2->Append("Kt3_");
338 *name3_2 += KT3+1;
339 name3_2->Append("_M");
340 *name3_2 += cb;
341 name3_2->Append(".root");
342
343 TFile *fileExpFit=new TFile(name3_2->Data(),"READ");
8eebdc9b 344 //
cbf4f1cb 345
b2c0d4ba 346
8eebdc9b 347 if(ch==0) {
348 C3[ct][dt][ChComb][KT3][cb]=(TH1D*)file->Get("C3");
349 C3[ct][dt][ChComb][KT3][cb]->SetDirectory(0);
350 C3[ct][dt][ChComb][KT3][cb]->SetMarkerStyle(24+ct);
351 c3[ct][dt][ChComb][KT3][cb]=(TH1D*)file->Get("c3");
352 c3[ct][dt][ChComb][KT3][cb]->SetDirectory(0);
353 c3[ct][dt][ChComb][KT3][cb]->SetMarkerStyle(20+ct);
354 if(dt==1) {c3[ct][dt][ChComb][KT3][cb]->SetMarkerStyle(28);}
355 C3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetRangeUser(0,0.5);
356
357 C3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetRangeUser(0,0.5);
358 C3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetLabelFont(TextFont); C3[ct][dt][ChComb][KT3][cb]->GetYaxis()->SetLabelFont(TextFont);
8eebdc9b 359 C3[ct][dt][ChComb][KT3][cb]->GetYaxis()->SetTitleFont(TextFont);
360 c3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetRangeUser(0,0.5);
361 c3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetLabelFont(TextFont); c3[ct][dt][ChComb][KT3][cb]->GetYaxis()->SetLabelFont(TextFont);
8eebdc9b 362 c3[ct][dt][ChComb][KT3][cb]->GetYaxis()->SetTitleFont(TextFont);
363 if(ct==0) {
364 C3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(1); C3[ct][dt][ChComb][KT3][cb]->SetLineColor(1);
365 c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(1); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(1);
366 }else if(ct==1){
367 C3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(2); C3[ct][dt][ChComb][KT3][cb]->SetLineColor(2);
368 c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(2); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(2);
369 if(dt==1) {c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(1); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(1);}
370 }else {
371 C3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(4); C3[ct][dt][ChComb][KT3][cb]->SetLineColor(4);
372 c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(4); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(4);
373 if(dt==1) {c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(1); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(1);}
374 }
b2c0d4ba 375
8eebdc9b 376 if(dt==0) {
377 if(ChComb==0) {
378 C2[ct][KT3][cb]=(TH1D*)file->Get("C2_ss");
0e610a08 379 Fit_C2[ct][0][KT3][cb]=(TF1*)file->Get("fitC2ss_Base");// was fitC2ss_Gauss
380 Fit_C2[ct][1][KT3][cb]=(TF1*)file->Get("fitC2ss_Expan");// fitC2ss_EW
cbf4f1cb 381 Fit_C2[ct][2][KT3][cb]=(TF1*)fileExpFit->Get("fitC2ss_Base");// Exp fit
382
8eebdc9b 383 C2_Sys[ct][KT3][cb]=(TH1D*)C2[ct][KT3][cb]->Clone();
384 if(ct==0){
385 C2[ct][KT3][cb]->SetMarkerColor(1); C2[ct][KT3][cb]->SetLineColor(1);
8eebdc9b 386 C2_Sys[ct][KT3][cb]->SetFillColor(kGray);
387 }else if(ct==1){
388 C2[ct][KT3][cb]->SetMarkerColor(2); C2[ct][KT3][cb]->SetLineColor(2);
8eebdc9b 389 C2_Sys[ct][KT3][cb]->SetFillColor(kRed-10);
390 }else{
391 C2[ct][KT3][cb]->SetMarkerColor(4); C2[ct][KT3][cb]->SetLineColor(4);
8eebdc9b 392 C2_Sys[ct][KT3][cb]->SetFillColor(kBlue-10);
393 }
394 C2_Sys[ct][KT3][cb]->SetMarkerSize(0); C2_Sys[ct][KT3][cb]->SetFillStyle(1000);
395 // C2 Systematics
396 for(int bin=1; bin<=C2_Sys[ct][KT3][cb]->GetNbinsX(); bin++){
397 C2_Sys[ct][KT3][cb]->SetBinError(bin, 0.01*C2_Sys[ct][KT3][cb]->GetBinContent(bin));
398 }
b2c0d4ba 399 C2[ct][KT3][cb]->SetDirectory(0); //Fit_h_C2[ct][KT3][cb]->SetDirectory(0);
8eebdc9b 400 C2_Sys[ct][KT3][cb]->SetDirectory(0);
401 C2[ct][KT3][cb]->SetMarkerStyle(24+ct);
402 C2[ct][KT3][cb]->GetXaxis()->SetRangeUser(0,0.33);
403 C2[ct][KT3][cb]->GetXaxis()->SetLabelFont(TextFont); C2[ct][KT3][cb]->GetYaxis()->SetLabelFont(TextFont);
404 C2[ct][KT3][cb]->GetXaxis()->SetTitleOffset(1.2); C2[ct][KT3][cb]->GetYaxis()->SetTitleOffset(1.2);
405 C2[ct][KT3][cb]->GetXaxis()->SetTitleFont(TextFont); C2[ct][KT3][cb]->GetYaxis()->SetTitleFont(TextFont);
b2c0d4ba 406 C2[ct][KT3][cb]->GetXaxis()->SetTitleSize(SizeTitle); //C2[ct][KT3][cb]->GetYaxis()->SetTitleFont(SizeTitle*SF2);
b2c0d4ba 407 //
0e610a08 408
409 c3_fit[ct][0][KT3][cb]=(TF1*)file->Get("c3Fit1D_Base");// was c3Fit1D_Gauss
410 c3_fit[ct][1][KT3][cb]=(TF1*)file->Get("c3Fit1D_Expan");// was c3Fit1D_EW
cbf4f1cb 411 c3_fit[ct][2][KT3][cb]=(TF1*)fileExpFit->Get("c3Fit1D_Base");
0e610a08 412 gr_c3Spline[ct][KT3][cb] = (TGraph*)file->Get("gr_c3Spline");// Spline of a spline + TF1
cbf4f1cb 413 gr_c3SplineExpFit[ct][KT3][cb] = (TGraph*)fileExpFit->Get("gr_c3Spline");// Exp fit
414 c3_fit[ct][0][KT3][cb]->SetLineStyle(6);
415 gr_c3Spline[ct][KT3][cb]->SetLineStyle(7); c3_fit[ct][1][KT3][cb]->SetLineStyle(7);
416 gr_c3SplineExpFit[ct][KT3][cb]->SetLineStyle(1); c3_fit[ct][2][KT3][cb]->SetLineStyle(1);
417 if(ct==0) {c3_fit[ct][0][KT3][cb]->SetLineColor(1); c3_fit[ct][1][KT3][cb]->SetLineColor(1); c3_fit[ct][2][KT3][cb]->SetLineColor(1);}
418 if(ct==1) {c3_fit[ct][0][KT3][cb]->SetLineColor(2); c3_fit[ct][1][KT3][cb]->SetLineColor(2); c3_fit[ct][2][KT3][cb]->SetLineColor(2);}
419 if(ct==2) {c3_fit[ct][0][KT3][cb]->SetLineColor(4); c3_fit[ct][1][KT3][cb]->SetLineColor(4); c3_fit[ct][2][KT3][cb]->SetLineColor(4);}
b2c0d4ba 420 }// ChComb==0
cbf4f1cb 421
8eebdc9b 422 }
423 }else{
0e610a08 424
8eebdc9b 425 if(ChComb==0){
426 N_1 = 0; N_1_e=0;
427 lambda_1 = 0; lambda_1_e=0;
428 radius_1 = 0; radius_1_e=0;
429 EW1_1 = 0; EW1_1_e=0;
430 EW2_1 = 0; EW2_1_e=0;
8eebdc9b 431 //
432 if(!AddedCC){
b2c0d4ba 433 cout<<"Not Supported!!"<<endl;
8eebdc9b 434 }
435 }
436 //
437 if(!AddedCC){
b2c0d4ba 438 cout<<"Not Supported!!"<<endl;
8eebdc9b 439 }
440 }// ch==1
b2c0d4ba 441
442
8eebdc9b 443 for(int bin=1; bin<10; bin++){// Remove large error bins
b2c0d4ba 444 if(C3[ct][dt][ChComb][KT3][cb]->GetBinError(bin) > 0.33*C3[ct][dt][ChComb][KT3][cb]->GetBinContent(bin)){
8eebdc9b 445 C3[ct][dt][ChComb][KT3][cb]->SetBinContent(bin,10); C3[ct][dt][ChComb][KT3][cb]->SetBinError(bin,10);
446 }
b2c0d4ba 447 if(c3[ct][dt][ChComb][KT3][cb]->GetBinError(bin) > 0.33*c3[ct][dt][ChComb][KT3][cb]->GetBinContent(bin)){
8eebdc9b 448 c3[ct][dt][ChComb][KT3][cb]->SetBinContent(bin,10); c3[ct][dt][ChComb][KT3][cb]->SetBinError(bin,10);
449 }
0e610a08 450
8eebdc9b 451 }
b2c0d4ba 452
8eebdc9b 453 if(AddedCC && dt==0){
5be394f6 454 if(ct==0 || ct==1) c3[ct][dt][ChComb][KT3][cb]->SetMarkerSize(1.12*C3[ct][dt][ChComb][KT3][cb]->GetMarkerSize());
455 else c3[ct][dt][ChComb][KT3][cb]->SetMarkerSize(1.2*C3[ct][dt][ChComb][KT3][cb]->GetMarkerSize());
0e610a08 456
8eebdc9b 457 //
b2c0d4ba 458 if(ChComb==0){
459 double logNch=0;
460 if(ct==0) logNch=meanNchPbPb[cb];
461 else if(ct==1) logNch=meanNchpPb[cb];
462 else logNch=meanNchpp[cb];
463 int logNchBin = Parameters_c3[ct][0][KT3][0]->GetXaxis()->FindBin(logNch);
cbf4f1cb 464 for(int ft=0; ft<3; ft++){// Gaussian or EW or Exp
b2c0d4ba 465 N_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(0); N_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(0);
466 lambda_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(1); lambda_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(1);
467 radius_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(2); radius_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(2);
cbf4f1cb 468 if(ft==2) {radius_1 /= sqrt(TMath::Pi()); radius_1_e /= sqrt(TMath::Pi());}
b2c0d4ba 469 EW1_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(3); EW1_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(3);
470 EW2_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(4); EW2_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(4);
cbf4f1cb 471
472 if(ft!=1) {EW1_1=0; EW2_1=0; EW1_1_e=0; EW2_1_e=0;}// make sure they are zero
b2c0d4ba 473 //
474 Parameters_c3[ct][ft][KT3][0]->SetBinContent(logNchBin, N_1); Parameters_c3[ct][ft][KT3][0]->SetBinError(logNchBin, N_1_e);
475 Parameters_c3[ct][ft][KT3][1]->SetBinContent(logNchBin, lambda_1); Parameters_c3[ct][ft][KT3][1]->SetBinError(logNchBin, lambda_1_e);
476 Parameters_c3[ct][ft][KT3][2]->SetBinContent(logNchBin, radius_1); Parameters_c3[ct][ft][KT3][2]->SetBinError(logNchBin, radius_1_e);
477 Parameters_c3[ct][ft][KT3][3]->SetBinContent(logNchBin, EW1_1); Parameters_c3[ct][ft][KT3][3]->SetBinError(logNchBin, EW1_1_e);
478 Parameters_c3[ct][ft][KT3][4]->SetBinContent(logNchBin, EW2_1); Parameters_c3[ct][ft][KT3][4]->SetBinError(logNchBin, EW2_1_e);
0e610a08 479 // lambda_3* parameter
480 Parameters_c3[ct][ft][KT3][5]->SetBinContent(logNchBin, lambda_1*pow(1 + EW2_1/8.,3));
481 Parameters_c3[ct][ft][KT3][5]->SetBinError(logNchBin, lambda_1_e*pow(1 + EW2_1/8.,3));
b2c0d4ba 482 // remove unstable c3 Fit points
483 bool badbin=kFALSE;
484 if(ct==0 && cb>12) badbin=kTRUE;
485 if(ct==1 && cb<12) badbin=kTRUE;
486 if(ct==2 && cb<14) badbin=kTRUE;
487 if(badbin){
488 Parameters_c3[ct][ft][KT3][0]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][0]->SetBinError(logNchBin, 100);
489 Parameters_c3[ct][ft][KT3][1]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][1]->SetBinError(logNchBin, 100);
490 Parameters_c3[ct][ft][KT3][2]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][2]->SetBinError(logNchBin, 100);
491 Parameters_c3[ct][ft][KT3][3]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][3]->SetBinError(logNchBin, 100);
492 Parameters_c3[ct][ft][KT3][4]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][4]->SetBinError(logNchBin, 100);
0e610a08 493 Parameters_c3[ct][ft][KT3][5]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][5]->SetBinError(logNchBin, 100);
b2c0d4ba 494 }
495 //
496 Parameters_C2[ct][ft][KT3][0]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(0));// N
497 Parameters_C2[ct][ft][KT3][0]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(0));
498 Parameters_C2[ct][ft][KT3][1]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(1));// lambda
499 Parameters_C2[ct][ft][KT3][1]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(1));
cbf4f1cb 500 radius_1 = Fit_C2[ct][ft][KT3][cb]->GetParameter(3); radius_1_e = Fit_C2[ct][ft][KT3][cb]->GetParError(3);
501 if(ft==2) {radius_1 /= sqrt(TMath::Pi()); radius_1_e /= sqrt(TMath::Pi());}
502 Parameters_C2[ct][ft][KT3][2]->SetBinContent(logNchBin, radius_1);// R
503 Parameters_C2[ct][ft][KT3][2]->SetBinError(logNchBin, radius_1_e);
b2c0d4ba 504 Parameters_C2[ct][ft][KT3][3]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(5));// kappa3
505 Parameters_C2[ct][ft][KT3][3]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(5));
506 Parameters_C2[ct][ft][KT3][4]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(6));// kappa4
507 Parameters_C2[ct][ft][KT3][4]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(6));
0e610a08 508 // lambda_* parameter
cbf4f1cb 509 Parameters_C2[ct][ft][KT3][5]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(1)*pow(1 + EW2_1/8.,2));
510 Parameters_C2[ct][ft][KT3][5]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(1)*pow(1 + EW2_1/8.,2));
b2c0d4ba 511 }// ft
512 }// ChComb==0
8eebdc9b 513 //
514 // Sys errors
515 C3_Sys[ct][0][ChComb][KT3][cb] = (TH1D*)C3[ct][0][ChComb][KT3][cb]->Clone();
516 c3_Sys[ct][0][ChComb][KT3][cb] = (TH1D*)c3[ct][0][ChComb][KT3][cb]->Clone();
517 if(ct==0){
518 C3_Sys[ct][0][ChComb][KT3][cb]->SetMarkerSize(0); C3_Sys[ct][0][ChComb][KT3][cb]->SetFillStyle(1000); C3_Sys[ct][0][ChComb][KT3][cb]->SetFillColor(kGray);
519 c3_Sys[ct][0][ChComb][KT3][cb]->SetMarkerSize(0); c3_Sys[ct][0][ChComb][KT3][cb]->SetFillStyle(1000); c3_Sys[ct][0][ChComb][KT3][cb]->SetFillColor(kGray);
520 }else if(ct==1){
521 C3_Sys[ct][0][ChComb][KT3][cb]->SetMarkerSize(0); C3_Sys[ct][0][ChComb][KT3][cb]->SetFillStyle(1000); C3_Sys[ct][0][ChComb][KT3][cb]->SetFillColor(kRed-10);
522 c3_Sys[ct][0][ChComb][KT3][cb]->SetMarkerSize(0); c3_Sys[ct][0][ChComb][KT3][cb]->SetFillStyle(1000); c3_Sys[ct][0][ChComb][KT3][cb]->SetFillColor(kRed-10);
523 }else {
524 C3_Sys[ct][0][ChComb][KT3][cb]->SetMarkerSize(0); C3_Sys[ct][0][ChComb][KT3][cb]->SetFillStyle(1000); C3_Sys[ct][0][ChComb][KT3][cb]->SetFillColor(kBlue-10);
525 c3_Sys[ct][0][ChComb][KT3][cb]->SetMarkerSize(0); c3_Sys[ct][0][ChComb][KT3][cb]->SetFillStyle(1000); c3_Sys[ct][0][ChComb][KT3][cb]->SetFillColor(kBlue-10);
526 }
527
528 if(ChComb==1){
529 MixedChargeSysFit->SetParameter(0,1);
530 MixedChargeSysFit->SetParameter(1,.1);
531 MixedChargeSysFit->SetParameter(2,1);
5130881c 532 c3[ct][0][ChComb][KT3][cb]->Fit(MixedChargeSysFit,"IMNQ","",0.01,0.5);
0e610a08 533 c3_mixedChargeSysFit[ct][KT3][cb] = (TF1*)MixedChargeSysFit->Clone();
8eebdc9b 534 for(int i=1; i<=c3[ct][0][ChComb][KT3][cb]->GetNbinsX(); i++) {
535 float Q3=(i-0.5)*0.01;
536 // SameCharge
5be394f6 537 C3_Sys[ct][0][0][KT3][cb]->SetBinError(i, 0.01 * C3_Sys[ct][0][0][KT3][cb]->GetBinContent(i));
538 c3_Sys[ct][0][0][KT3][cb]->SetBinError(i, sqrt(pow(MixedChargeSysFit->Eval(Q3)-1.0,2) + pow(0.1*(c3_Sys[ct][0][0][KT3][cb]->GetBinContent(i)-1.0),2)));// residue + lambda undilution variation (0.7 to 0.65)
8eebdc9b 539 // MixedCharge
5be394f6 540 C3_Sys[ct][0][1][KT3][cb]->SetBinError(i, 0.01 * C3_Sys[ct][0][1][KT3][cb]->GetBinContent(i));// correlation function uncertainty
541 c3_Sys[ct][0][1][KT3][cb]->SetBinError(i, sqrt(pow(0.01 * c3_Sys[ct][0][1][KT3][cb]->GetBinContent(i),2) + pow(0.1*(c3_Sys[ct][0][1][KT3][cb]->GetBinContent(i)-1.0),2)));// correlation function uncertainty + lambda undilution variation (0.7 to 0.65)
8eebdc9b 542 }
543 }
544 C3_Sys[ct][0][ChComb][KT3][cb]->SetDirectory(0); c3_Sys[ct][0][ChComb][KT3][cb]->SetDirectory(0);
545 }// AddedCC and dt==0
cbf4f1cb 546
8eebdc9b 547 file->Close();
cbf4f1cb 548 fileExpFit->Close();
b2c0d4ba 549
8eebdc9b 550
551 }// Kt3
552 }// ch
553 }// ChComb
554
555 }// cb
556
557 if(dt==0){
cbf4f1cb 558 for(int ft=0; ft<3; ft++){// Gaussian or EW or Exp
b2c0d4ba 559 for(int KT3=0; KT3<3; KT3++){
0e610a08 560 for(int par=0; par<6; par++){
b2c0d4ba 561 if(ct<2){
562 Parameters_C2[ct][ft][KT3][par]->SetMarkerStyle(24+ct);
563 Parameters_c3[ct][ft][KT3][par]->SetMarkerStyle(20+ct);
564 }else{
565 Parameters_C2[ct][ft][KT3][par]->SetMarkerStyle(28);
566 Parameters_c3[ct][ft][KT3][par]->SetMarkerStyle(34);
567 RadiiC2pp_Published->SetMarkerStyle(28);
568 }
569
570 if(ct==0){
571 Parameters_C2[ct][ft][KT3][par]->SetMarkerColor(1);
572 Parameters_C2[ct][ft][KT3][par]->SetLineColor(1);
573 Parameters_c3[ct][ft][KT3][par]->SetMarkerColor(1);
574 Parameters_c3[ct][ft][KT3][par]->SetLineColor(1);
575 }else if(ct==1){
576 Parameters_C2[ct][ft][KT3][par]->SetMarkerColor(2);
577 Parameters_C2[ct][ft][KT3][par]->SetLineColor(2);
578 Parameters_c3[ct][ft][KT3][par]->SetMarkerColor(2);
579 Parameters_c3[ct][ft][KT3][par]->SetLineColor(2);
580 }else {
581 Parameters_C2[ct][ft][KT3][par]->SetMarkerColor(4);
582 Parameters_C2[ct][ft][KT3][par]->SetLineColor(4);
583 Parameters_c3[ct][ft][KT3][par]->SetMarkerColor(4);
584 Parameters_c3[ct][ft][KT3][par]->SetLineColor(4);
585 RadiiC2pp_Published->SetMarkerColor(4);
586 RadiiC2pp_Published->SetLineColor(4);
587 }
588
589 if(par==0) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("N");
0e610a08 590 if(par==1) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#lambda_{e} or #lambda_{e,3}");
b2c0d4ba 591 if(par==2) {
5be394f6 592 if(FitType==0) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#font[12]{R}_{inv,2} or #font[12]{R}_{inv,3} (fm)");
cbf4f1cb 593 else if(FitType==1) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#font[12]{R^{E_{w}}}_{inv,2} or #font[12]{R^{E_{w}}}_{inv,3} (fm)");
594 else Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#font[12]{R}^{Exp}_{inv,2} or #font[12]{R}^{Exp}_{inv,3} (fm)");
b2c0d4ba 595 }
596 if(par==3) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#kappa_{3}");
597 if(par==4) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#kappa_{4}");
0e610a08 598 if(par==5) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#lambda^{#font[12]{G}}_{e} or #lambda^{#font[12]{G}}_{e,3}");
599 if(NchOneThirdAxis) Parameters_c3[ct][ft][KT3][par]->GetXaxis()->SetTitle("N_{ch}^{1/3}");
600 else Parameters_c3[ct][ft][KT3][par]->GetXaxis()->SetTitle("#LT#font[12]{N}_{ch}#GT");
b2c0d4ba 601 }// par
602 }// KT3
603 }// ft
604 }// dt==0
605
8eebdc9b 606 }// dt
607 }// ct
608
b2c0d4ba 609 cout<<"Done Getting Histograms"<<endl;
610
8eebdc9b 611 TF1 *Unity = new TF1("Unity","1",0,100);
612 Unity->SetLineStyle(2);
613 Unity->SetLineColor(1);
614
5130881c 615
cbf4f1cb 616 /////////////////////////////////////
617 // Bjoern's points
618 double Bjoern_xaxis_pp[4] = {4.1, 9.2, 16, 26};// Nch
619 double Bjoern_Ri_pp[2][4] = {{0.87, 1.09, 1.22, 1.33},{0.837, 0.97, 1.03, 1.18}};// m01 or m02 (infrared cutoff of calc), Nch
620 double Bjoern_Rhydro_pp[2][4] = {{0.87, 1.11, 1.35, 1.57},{0.845, 1.04, 1.22, 1.56}};// m01 or m02 (infrared cutoff of calc), Nch
621 //
622 double Bjoern_xaxis_pPb[6] = {5, 11, 20, 32, 45, 69};// Nch
623 double Bjoern_Ri_pPb[2][6] = {{0.98, 1.27, 1.46, 1.59, 1.75, 2},{0.96, 1.18, 1.28, 1.36, 1.44, 1.56}};
624 double Bjoern_Rhydro_pPb[2][6] = {{0.98, 1.28, 1.62, 1.96, 2.32, 2.79},{0.96, 1.22, 1.5, 1.76, 2.09, 2.58}};
625 //
626 double Bjoern_xaxis_PbPb[10] = {22, 36, 50, 77, 98, 137, 172, 326, 498, 760};// Nch
627 double Bjoern_Ri_PbPb[2][10] = {{1.6, 2.05, 2.47, 2.86, 3.17, 3.52, 3.88, 4.54, 5.19, 5.85},{1.57, 1.87, 2.27, 2.65, 3, 3.3, 3.52, 4.17, 4.82, 5.49}};
628 double Bjoern_Rhydro_PbPb[2][10] = {{1.6, 2.06, 2.49, 2.88, 3.27, 3.63, 4.03, 4.91, 5.88, 6.88},{1.57, 1.88, 2.32, 2.75, 3.14, 3.53, 3.84, 4.65, 5.52, 6.4}};
629 //
630 int mchoice = 1;// 1 or 2 indicating Bjoern's cutoff
631 double SF_Bjoern = 1.15;// 1.15 (m=0.1)
632 //
633
634
635 for(int index=0; index<4; index++){// pp
636 for(int m=0; m<2; m++) {Bjoern_Ri_pp[m][index] *= SF_Bjoern; Bjoern_Rhydro_pp[m][index] *= SF_Bjoern;}
637 double xpoint = Bjoern_xaxis_pp[index];
638 if(NchOneThirdAxis) xpoint = pow(Bjoern_xaxis_pp[index], 1/3.);
639 int bin = Parameters_Bjoern[0][2]->GetXaxis()->FindBin(xpoint);
640 Parameters_Bjoern[0][2]->SetBinContent(bin, Bjoern_Ri_pp[mchoice-1][index]);
641 Parameters_Bjoern[0][2]->SetBinError(bin, 0.001);
642 Parameters_Bjoern[1][2]->SetBinContent(bin, Bjoern_Rhydro_pp[mchoice-1][index]);
643 Parameters_Bjoern[1][2]->SetBinError(bin, 0.001);
644 }
645 for(int index=0; index<6; index++){// pPb
646 for(int m=0; m<2; m++) {Bjoern_Ri_pPb[m][index] *= SF_Bjoern; Bjoern_Rhydro_pPb[m][index] *= SF_Bjoern;}
647 double xpoint = Bjoern_xaxis_pPb[index];
648 if(NchOneThirdAxis) xpoint = pow(Bjoern_xaxis_pPb[index], 1/3.);
649 int bin = Parameters_Bjoern[0][1]->GetXaxis()->FindBin(xpoint);
650 Parameters_Bjoern[0][1]->SetBinContent(bin, Bjoern_Ri_pPb[mchoice-1][index]);
651 Parameters_Bjoern[0][1]->SetBinError(bin, 0.001);
652 Parameters_Bjoern[1][1]->SetBinContent(bin, Bjoern_Rhydro_pPb[mchoice-1][index]);
653 Parameters_Bjoern[1][1]->SetBinError(bin, 0.001);
654 }
655 for(int index=0; index<10; index++){// PbPb
656 for(int m=0; m<2; m++) {Bjoern_Ri_PbPb[m][index] *= SF_Bjoern; Bjoern_Rhydro_PbPb[m][index] *= SF_Bjoern;}
657 double xpoint = Bjoern_xaxis_PbPb[index];
658 if(NchOneThirdAxis) xpoint = pow(Bjoern_xaxis_PbPb[index], 1/3.);
659 int bin = Parameters_Bjoern[0][0]->GetXaxis()->FindBin(xpoint);
660 Parameters_Bjoern[0][0]->SetBinContent(bin, Bjoern_Ri_PbPb[mchoice-1][index]);
661 Parameters_Bjoern[0][0]->SetBinError(bin, 0.001);
662 Parameters_Bjoern[1][0]->SetBinContent(bin, Bjoern_Rhydro_PbPb[mchoice-1][index]);
663 Parameters_Bjoern[1][0]->SetBinError(bin, 0.001);
664 }
665 Parameters_Bjoern[0][0]->SetMarkerColor(1); Parameters_Bjoern[0][0]->SetMarkerStyle(20);
666 Parameters_Bjoern[0][1]->SetMarkerColor(2); Parameters_Bjoern[0][1]->SetMarkerStyle(21);
667 Parameters_Bjoern[0][2]->SetMarkerColor(4); Parameters_Bjoern[0][2]->SetMarkerStyle(34);
668 //
669 Parameters_Bjoern[1][0]->SetMarkerColor(1); Parameters_Bjoern[1][0]->SetMarkerStyle(20);
670 Parameters_Bjoern[1][1]->SetMarkerColor(2); Parameters_Bjoern[1][1]->SetMarkerStyle(21);
671 Parameters_Bjoern[1][2]->SetMarkerColor(4); Parameters_Bjoern[1][2]->SetMarkerStyle(34);
672
8eebdc9b 673 ////////////////////////////////////////////////////
674 ////////////////////////////////////////////////////
675 // Progaganda Plot
5130881c 676 /*
8eebdc9b 677 TCanvas *can2 = new TCanvas("can2", "can2",10,0,600,600);// 11,53,700,500
678 can2->SetHighLightColor(2);
679 gStyle->SetOptFit(0111);
5be394f6 680 can2->SetFillColor(0);//10
8eebdc9b 681 can2->SetBorderMode(0);
682 can2->SetBorderSize(2);
683 can2->SetFrameFillColor(0);
684 can2->SetFrameBorderMode(0);
685 can2->SetFrameBorderMode(0);
686 can2->cd();
687 TPad *pad2 = new TPad("pad2","pad2",0.0,0.0,1.,1.);
688 gPad->SetGridx(0);
689 gPad->SetGridy(0);
690 gPad->SetTickx(1);
691 gPad->SetTicky(1);
692 pad2->SetTopMargin(0.02);//0.05
693 pad2->SetRightMargin(0.01);//3e-2
694 pad2->SetBottomMargin(0.07);//0.12
695 pad2->Draw();
696 pad2->cd();
697 TLegend *legend3 = new TLegend(.35,.75, .94,.95,NULL,"brNDC");//.45 or .4 for x1
698 legend3->SetBorderSize(0);
699 legend3->SetFillColor(0);
700 legend3->SetTextFont(TextFont);
b2c0d4ba 701 legend3->SetTextSize(SizeLegend);
8eebdc9b 702
703 gPad->SetRightMargin(0.03); gPad->SetLeftMargin(0.12);
704 gPad->SetBottomMargin(0.1); gPad->SetTopMargin(0.02);
705 gPad->SetTickx(1);
706 gPad->SetTicky(1);
707 int Mb_pp=18;
708 int Mb_pPb=13;
709 int Mb_PbPb=0;
b2c0d4ba 710 c3[2][0][0][0][Mb_pp]->GetXaxis()->SetLabelSize(SizeLabel); c3[2][0][0][0][Mb_pp]->GetYaxis()->SetLabelSize(SizeLabel);
5130881c 711 c3[2][0][0][0][Mb_pp]->GetXaxis()->SetNdivisions(808);
8eebdc9b 712 //
5130881c 713 c3[2][0][0][0][Mb_pp]->GetYaxis()->SetTitle("#font[12]{#bf{c}}_{3}");
714 c3[2][0][0][0][Mb_pp]->GetXaxis()->SetTitle("#font[12]{Q}_{3} (GeV/#font[12]{c})");
715 c3[2][0][0][0][Mb_pp]->GetYaxis()->SetTitleOffset(1.1);
716 c3[2][0][0][0][Mb_pp]->GetYaxis()->SetTitleSize(0.05);
717 c3[2][0][0][0][Mb_pp]->SetMinimum(0.9);
718 c3[2][0][0][0][Mb_pp]->Draw();
8eebdc9b 719 //legend3->AddEntry(c3[2][0][0][Mb_pp],"N_{ch} = 9#pm0.2, pp #sqrt{s}=7 TeV","p");
5be394f6 720 //legend3->AddEntry(c3[1][0][0][Mb_pPb],"N_{ch} = 59#pm2, p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV","p");
721 //legend3->AddEntry(c3[0][0][0][Mb_PbPb],"N_{ch} = 1922#pm135, Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV","p");
5130881c 722 legend3->AddEntry(c3[2][0][0][0][Mb_pp],"Low N_{ch}, pp #sqrt{#font[12]{s}}=7 TeV","p");
5be394f6 723 legend3->AddEntry(c3[1][0][0][0][Mb_pPb],"Mid N_{ch}, p-Pb #sqrt{#font[12]{#font[12]{s}_{NN}}}=5.02 TeV","p");
724 legend3->AddEntry(c3[0][0][0][0][Mb_PbPb],"High N_{ch}, Pb-Pb #sqrt{#font[12]{#font[12]{s}_{NN}}}=2.76 TeV","p");
8eebdc9b 725 //
726 //TH1D *FillerHist = new TH1D("FillerHist","",50,0,0.5);
727 for(int i=1; i<=50; i++) {
728 if(i<13) {
729 ExRangeTerm1->SetBinContent(i,10.0);
730 //FillerHist->SetBinContent(i,10.0); FillerHist->SetBinError(i,.0001);
731 }else {
732 //FillerHist->SetBinContent(i,1.0); FillerHist->SetBinError(i,.0001);
5130881c 733 c3[0][0][0][0][Mb_PbPb]->SetBinContent(i,10.0);
734 c3_Sys[0][0][0][0][Mb_PbPb]->SetBinContent(i,10.0);
8eebdc9b 735 }
736 }
737 //FillerHist->SetMarkerStyle(24);
738 //
5130881c 739 c3_Sys[2][0][0][0][Mb_pp]->Draw("E2 same");
740 c3_Sys[1][0][0][0][Mb_pPb]->Draw("E2 same");
741 c3_Sys[0][0][0][0][Mb_PbPb]->Draw("E2 same");
742 c3[2][0][0][0][Mb_pp]->Draw("same");
743 c3[1][0][0][0][Mb_pPb]->Draw("same");
744 c3[0][0][0][0][Mb_PbPb]->Draw("same");
8eebdc9b 745 //FillerHist->Draw("same");
746 ExRangeTerm1->Draw("same");
747
5130881c 748 TLatex *Specif_Kt3_1 = new TLatex(0.5,0.59,"0.16<#font[12]{K}_{T,3}<1.0 GeV/#font[12]{c}");
8eebdc9b 749 Specif_Kt3_1->SetNDC();
750 Specif_Kt3_1->SetTextFont(TextFont);
b2c0d4ba 751 Specif_Kt3_1->SetTextSize(SizeSpecif);
8eebdc9b 752 Specif_Kt3_1->Draw("same");
5130881c 753 TLatex *Specif_Kinematics_1 = new TLatex(0.5,0.52,"|#eta|<0.8, 0.16<#font[12]{p}_{T}<1.0 GeV/#font[12]{c}");
8eebdc9b 754 Specif_Kinematics_1->SetNDC();
755 Specif_Kinematics_1->SetTextFont(TextFont);
b2c0d4ba 756 Specif_Kinematics_1->SetTextSize(SizeSpecif);
8eebdc9b 757 Specif_Kinematics_1->Draw("same");
758 TLatex *Species_1 = new TLatex(0.5,0.45,"#pi^{+}#pi^{+}#pi^{+} & #pi^{-}#pi^{-}#pi^{-} combined");
759 Species_1->SetNDC();
760 Species_1->SetTextFont(TextFont);
b2c0d4ba 761 Species_1->SetTextSize(SizeSpecif);
8eebdc9b 762 Species_1->Draw("same");
763
764 legend3->Draw("same");
765 DrawALICELogo(kTRUE, .75, .25, .9, .4);
766
767 if(SaveFiles) can2->SaveAs("ThreePionCorrelation_Evolution.eps");
768 */
5be394f6 769
770
771
772 ////////////////////////////////////////////////////
773 ////////////////////////////////////////////////////
774 // K0s removal plot
775 TCanvas *can1 = new TCanvas("can1", "can1",10,700,600,600);// 11,53,700,500
776 can1->SetHighLightColor(2);
777 gStyle->SetOptFit(0111);
778 can1->SetFillColor(0);//10
779 can1->SetBorderMode(0);
780 can1->SetBorderSize(2);
781 can1->SetFrameFillColor(0);
782 can1->SetFrameBorderMode(0);
783 can1->SetFrameBorderMode(0);
784 can1->cd();
785 TPad *pad1 = new TPad("pad1","pad1",0.,0.,1.,1.);
786 gPad->SetTickx();
787 gPad->SetTicky();
788 pad1->SetTopMargin(0.0);//0.05
789 pad1->SetRightMargin(0.0);//3e-2
790 pad1->SetBottomMargin(0.0);//0.12
791 pad1->SetLeftMargin(0.0);
792 pad1->Draw();
793 pad1->cd();
794 TLegend *legend1 = new TLegend(.2,.65, .55,.85,NULL,"brNDC");//.45 or .4 for x1
795 legend1->SetBorderSize(0);
796 legend1->SetFillColor(0);
797 legend1->SetTextFont(TextFont);
798 legend1->SetTextSize(SizeLegend);
799
800 gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.14);
801 gPad->SetBottomMargin(0.14); gPad->SetTopMargin(0.02);
802 gPad->SetTickx(); gPad->SetTicky();
803 // pp, M18
804 double points_K0s_C3[50]={1.44542, 1.33366, 1.25518, 1.21051, 1.20484, 1.18742, 1.18246, 1.17024, 1.16383, 1.1555, 1.15536, 1.15272, 1.14571, 1.14822, 1.14708, 1.14066, 1.14133, 1.13866, 1.13755, 1.13308, 1.1386, 1.13821, 1.13429, 1.13707, 1.13294, 1.13545, 1.13929, 1.13374, 1.13546, 1.13205, 1.12846, 1.1281, 1.12947, 1.13162, 1.13822, 1.13626, 1.13912, 1.14379, 1.15594, 1.19387, 1.29685, 1.21203, 1.14452, 1.14288, 1.14161, 1.1408, 1.13796, 1.13661, 1.13565, 1.13312};
805 double points_K0s_C3_e[50]={0.0270571, 0.00940436, 0.0058043, 0.00430829, 0.00355541, 0.00306969, 0.00275566, 0.00253068, 0.00236966, 0.00224498, 0.00215682, 0.00208189, 0.00201555, 0.00196896, 0.00192381, 0.0018782, 0.00184374, 0.0018119, 0.00178103, 0.00175109, 0.00173313, 0.00171119, 0.00168873, 0.00167507, 0.00165525, 0.00164399, 0.00163488, 0.00161686, 0.00160668, 0.00159163, 0.00157479, 0.00155996, 0.00154251, 0.00152405, 0.00150469, 0.00147687, 0.00144939, 0.00142223, 0.0013988, 0.00139214, 0.00142684, 0.0013476, 0.00128368, 0.00126468, 0.0012497, 0.00123827, 0.001228, 0.00122253, 0.00121921, 0.00121782};
806 double points_K0s_c3[50]={0.965148, 1.05077, 0.983133, 0.972848, 0.993922, 0.994064, 1.00618, 0.993434, 1.00322, 0.999747, 0.982221, 1.00029, 0.992184, 0.993566, 1.00007, 0.995263, 0.998559, 0.987037, 0.987919, 0.991035, 0.991488, 0.99592, 0.99677, 0.990709, 0.990352, 0.994706, 0.99606, 0.998525, 0.994121, 0.986511, 0.991009, 0.990309, 1.00161, 0.997478, 1.00117, 0.989375, 0.996592, 0.990832, 0.998989, 0.995124, 0.996301, 1.00189, 0.995304, 0.992511, 0.994084, 0.994777, 1.00074, 0.996959, 0.998713, 0.996205};
807 double points_K0s_c3_e[50]={0.0630244, 0.0223583, 0.0140589, 0.0105446, 0.00871274, 0.00755392, 0.00678715, 0.00625387, 0.00586333, 0.00556614, 0.00535136, 0.00516553, 0.00501148, 0.00489185, 0.00478054, 0.00467542, 0.00458851, 0.00451377, 0.00443821, 0.00436787, 0.00431762, 0.00426282, 0.0042107, 0.00417461, 0.00412901, 0.00409783, 0.00407137, 0.0040317, 0.00400527, 0.00397212, 0.00393349, 0.00389671, 0.00385012, 0.00380258, 0.00374821, 0.0036816, 0.0036096, 0.00353852, 0.00346903, 0.00342075, 0.00342477, 0.00329675, 0.0031932, 0.00314748, 0.00311129, 0.00308337, 0.00305968, 0.00304743, 0.00303989, 0.00303859};
808 TH1D *K0s_C3=new TH1D("K0s_C3","",50,0,0.5);
809 TH1D *K0s_c3=new TH1D("K0s_c3","",50,0,0.5);
810 for(int i=0; i<50; i++){
811 K0s_C3->SetBinContent(i+1, points_K0s_C3[i]);
812 K0s_C3->SetBinError(i+1, points_K0s_C3_e[i]);
813 K0s_c3->SetBinContent(i+1, points_K0s_c3[i]);
814 K0s_c3->SetBinError(i+1, points_K0s_c3_e[i]);
815 }
816 K0s_c3->SetMarkerStyle(20);
817 K0s_c3->SetMarkerColor(4);
818 K0s_C3->SetMarkerStyle(24);
819 K0s_C3->SetMarkerColor(4);
820 K0s_c3->SetMarkerSize(K0s_C3->GetMarkerSize() * 1.12);
821 K0s_C3->SetMinimum(0.92);
822 K0s_C3->GetXaxis()->SetTitle("#font[12]{q_{31}^{#pm#mp}} (GeV/#font[12]{c})");
823 K0s_C3->GetYaxis()->SetTitle("#font[12]{C_{3}} or #font[12]{#bf{c}_{3}}");
824 K0s_C3->GetXaxis()->SetTitleOffset(1.05); K0s_C3->GetYaxis()->SetTitleOffset(1.12);
825 K0s_C3->GetXaxis()->SetTitleSize(SizeTitle); K0s_C3->GetYaxis()->SetTitleSize(SizeTitle);
826 K0s_C3->GetXaxis()->SetLabelSize(SizeTitle); K0s_C3->GetYaxis()->SetLabelSize(SizeTitle);
827 K0s_C3->GetXaxis()->SetNdivisions(404);
828 K0s_C3->GetYaxis()->SetNdivisions(404);
829 //K0s_C3->GetXaxis()->SetRangeUser(-0.001,0.5);
830
831 K0s_C3->Draw();
832 // Sys errors
833 TH1D *Sys_K0s_C3=(TH1D*)K0s_C3->Clone();
834 TH1D *Sys_K0s_c3=(TH1D*)K0s_c3->Clone();
835 Sys_K0s_C3->SetMarkerSize(0); Sys_K0s_c3->SetMarkerSize(0);
836 Sys_K0s_C3->SetFillColor(kBlue-10); Sys_K0s_c3->SetFillColor(kBlue-10);
837 Sys_K0s_C3->SetFillStyle(1000); Sys_K0s_c3->SetFillStyle(1000);
cbf4f1cb 838 cout.precision(3);
5be394f6 839 for(int i=0; i<Sys_K0s_C3->GetNbinsX(); i++) {
840 Sys_K0s_C3->SetBinError(i+1, 0.01 * Sys_K0s_C3->GetBinContent(i+1));
841 Sys_K0s_c3->SetBinError(i+1, sqrt(pow(0.01 * Sys_K0s_c3->GetBinContent(i+1),2) + pow(0.1*(Sys_K0s_c3->GetBinContent(i+1)-1),2)));
cbf4f1cb 842 //cout<<K0s_C3->GetXaxis()->GetBinLowEdge(i+1)<<" "<<K0s_C3->GetXaxis()->GetBinUpEdge(i+1)<<" "<<K0s_C3->GetBinContent(i+1)<<" "<<K0s_C3->GetBinError(i+1)<<" "<<Sys_K0s_C3->GetBinError(i+1)<<endl;
843 //cout<<K0s_C3->GetXaxis()->GetBinLowEdge(i+1)<<" "<<K0s_C3->GetXaxis()->GetBinUpEdge(i+1)<<" "<<K0s_c3->GetBinContent(i+1)<<" "<<K0s_c3->GetBinError(i+1)<<" "<<Sys_K0s_c3->GetBinError(i+1)<<endl;
5be394f6 844 }
cbf4f1cb 845
5be394f6 846 Sys_K0s_C3->Draw("E2 same");
847 Sys_K0s_c3->Draw("E2 same");
848 K0s_C3->Draw("same");
849 K0s_c3->Draw("same");
850
851 legend1->AddEntry(K0s_C3,"#font[12]{C_{3}^{#pm#pm#mp}} projection","p");
852 legend1->AddEntry(K0s_c3,"#font[12]{#bf{c}_{3}^{#pm#pm#mp}} projection","p");
853 legend1->Draw("same");
854
855 TLatex *Specif_qRange = new TLatex(0.25,0.6,"0.2 < #font[12]{q_{12}^{#pm#pm},q_{23}^{#pm#mp}} < 0.5 GeV/#font[12]{c}");
856 Specif_qRange->SetNDC();
857 Specif_qRange->SetTextFont(42);
858 Specif_qRange->SetTextSize(SizeSpecif);
859 Specif_qRange->Draw("same");
0e610a08 860 TLatex *Specif_System = new TLatex(0.25,0.9,"pp #sqrt{#font[12]{s}}=7 TeV, #LT#font[12]{N}_{ch}#GT = 8.6 #pm 0.4");
5be394f6 861 Specif_System->SetNDC();
862 Specif_System->SetTextFont(42);
863 Specif_System->SetTextSize(SizeSpecif);
864 Specif_System->Draw("same");
865
866
867
0e610a08 868
8eebdc9b 869 ////////////////////////////////////////////////////
870 ////////////////////////////////////////////////////
871 // Radii and lambda plot
5be394f6 872 float SF_2panel=1.2;
b2c0d4ba 873 float RadiiC2ppPubPoints[2][8]={{0.88,1.09,1.23,1.28,1.34,1.37,1.42,1.48},{0.86,1.06,1.16,1.23,1.23,1.28,1.32,1.38}};
874 float RadiiC2ppPubPoints_e[2][8]={{0.058,0.064,0.071,0.071,0.078,0.078,0.086,0.098},{0.12,0.12,0.13,0.13,0.13,0.13,0.13,0.13}};
0e610a08 875 float MeanPubNch[8]={3.36, 7.92, 11.04, 14.4, 17.88, 21.48, 25.68, 33.12};// Adam's <dNch/deta> * 1.6 * 0.75. Factor of 0.75 for low,high pt extrap
876
cbf4f1cb 877 int yExtent = 900;
878 if(RadiusOnly) yExtent = 600;
879 TCanvas *can3 = new TCanvas("can3", "can3",1000,0,600,yExtent);// 1000,0,600,900
8eebdc9b 880 can3->SetHighLightColor(2);
881 gStyle->SetOptFit(0111);
5be394f6 882 can3->SetFillColor(0);//10
8eebdc9b 883 can3->SetBorderMode(0);
884 can3->SetBorderSize(2);
885 can3->SetFrameFillColor(0);
886 can3->SetFrameBorderMode(0);
887 can3->SetFrameBorderMode(0);
888 can3->cd();
5be394f6 889 float PadLeftMargin=0.0, PadBottomMargin=0.;
b2c0d4ba 890 TPad *pad3 = new TPad("pad3","pad3",PadLeftMargin,PadBottomMargin,1.,1.);
8eebdc9b 891 gPad->SetTickx();
892 gPad->SetTicky();
b2c0d4ba 893 pad3->SetTopMargin(0.0);//0.05
894 pad3->SetRightMargin(0.0);//3e-2
895 pad3->SetBottomMargin(0.0);//0.12
896 pad3->SetLeftMargin(0.0);
cbf4f1cb 897 if(!RadiusOnly) pad3->Divide(1,2,0,0);
8eebdc9b 898 pad3->Draw();
899 pad3->cd();
5be394f6 900 TLegend *legend4 = new TLegend(.15,.65, .55,.95,NULL,"brNDC");//.45 or .4 for x1
8eebdc9b 901 legend4->SetBorderSize(0);
902 legend4->SetFillColor(0);
903 legend4->SetTextFont(TextFont);
b2c0d4ba 904 legend4->SetTextSize(SizeLegend);
8eebdc9b 905 //
906 pad3->cd(1);
5be394f6 907 gPad->SetLeftMargin(0.14);
b2c0d4ba 908 gPad->SetRightMargin(0.01);
5be394f6 909 gPad->SetTopMargin(0.01);
0e610a08 910 gPad->SetBottomMargin(0.001);// 0.16
cbf4f1cb 911 if(RadiusOnly){
912 gPad->SetLeftMargin(0.16);
913 gPad->SetBottomMargin(0.16);
914 }
915
8eebdc9b 916 gPad->SetTickx(); gPad->SetTicky();
0e610a08 917 if(!NchOneThirdAxis)gPad->SetLogx();
918
b2c0d4ba 919 TH1D *RadiiPbPb=(TH1D*)Parameters_c3[0][FitType][KT3Bin][2]->Clone();
920 TH1D *RadiipPb=(TH1D*)Parameters_c3[1][FitType][KT3Bin][2]->Clone();
921 TH1D *Radiipp=(TH1D*)Parameters_c3[2][FitType][KT3Bin][2]->Clone();
8eebdc9b 922 RadiiPbPb->GetXaxis()->SetLabelFont(TextFont); RadiiPbPb->GetYaxis()->SetLabelFont(TextFont);
5be394f6 923 RadiiPbPb->GetXaxis()->SetLabelSize(SizeLabel*SF_2panel); RadiiPbPb->GetYaxis()->SetLabelSize(SizeLabel*SF_2panel);
8eebdc9b 924 RadiiPbPb->GetXaxis()->SetNdivisions(808);
5be394f6 925 RadiiPbPb->GetXaxis()->SetTitleOffset(0.95);//1.3
b2c0d4ba 926 RadiiPbPb->GetYaxis()->SetTitleOffset(100);//1.1
0e610a08 927 RadiiPbPb->GetXaxis()->SetTitleFont(TextFont); RadiiPbPb->GetXaxis()->SetTitleSize(0);// SizeTitle*SF_2panel
928 RadiiPbPb->GetYaxis()->SetTitleFont(TextFont); RadiiPbPb->GetYaxis()->SetTitleSize(0);// SizeTitle*SF_2panel
929 RadiiPbPb->SetMinimum(0.01); RadiiPbPb->SetMaximum(11.9);// 0 and 11.9
5be394f6 930 //gStyle->SetErrorX(0);
0e610a08 931 if(NchOneThirdAxis) RadiiPbPb->GetXaxis()->SetRangeUser(0,3000);// 0,3000
932 else RadiiPbPb->GetXaxis()->SetRangeUser(3,3000);// 3,3000
cbf4f1cb 933 if(RadiusOnly){
934 RadiiPbPb->GetXaxis()->SetTitleSize(SizeTitle);
935 RadiiPbPb->GetXaxis()->SetTitleOffset(1.25);
936 RadiiPbPb->GetYaxis()->SetTitleSize(SizeTitle);
937 RadiiPbPb->GetYaxis()->SetTitleOffset(1.2);
938 if(FitType==0) RadiiPbPb->GetYaxis()->SetTitle("#font[12]{R}^{#font[12]{G}}_{inv} or #font[12]{R}^{#font[12]{G}}_{inv,3} (fm)");
939 else if(FitType==1) RadiiPbPb->GetYaxis()->SetTitle("#font[12]{R}^{#font[12]{E}_{w}}_{inv} or #font[12]{R}^{#font[12]{E}_{w}}_{inv,3} (fm)");
940 else RadiiPbPb->GetYaxis()->SetTitle("#font[12]{R}^{#font[12]{Exp}_{inv} or #font[12]{R}^{#font[12]{Exp}_{inv,3} (fm)");
941 }
942
8eebdc9b 943 RadiiPbPb->Draw();
cbf4f1cb 944
8eebdc9b 945 //
cbf4f1cb 946 double xAxisC2_e[20]={0};
8eebdc9b 947 double xAxis_e[20]={0};
948 double yAxisPbPb[20]={0};
cbf4f1cb 949 double yAxisPbPb_eL[20]={0};
950 double yAxisPbPb_eH[20]={0};
8eebdc9b 951 double yAxispPb[20]={0};
0e610a08 952 double yAxispPb_eL[20]={0};
953 double yAxispPb_eH[20]={0};
8eebdc9b 954 double yAxispp[20]={0};
0e610a08 955 double yAxispp_eL[20]={0};
956 double yAxispp_eH[20]={0};
8eebdc9b 957
cbf4f1cb 958 double SysPercent_PbPb_NFR[3][4]={{12,10,11,16}, {5,7,5,10}, {1,3,1,5}};// Gauss/EW/Exp, parameter#(Rinv2, Rinv3, lambda, lambda_3)
0e610a08 959 // Narrow Fit Range for C2 fits
cbf4f1cb 960 double SysPercent_pPb_NFR[3][4]={{15,10,6,10}, {6,2,1,4}, {5,3,1,4}};// Gauss/EW/Exp, parameter#(Rinv2, Rinv3, lambda, lambda_3) Old values with 30% fit range variation
961 double SysPercent_pp_NFR[3][4]={{11,9,2,5}, {12,5,2,5}, {4,5,1,7}};// Gauss/EW/Exp, parameter#(Rinv2, Rinv3, lambda, lambda_3) Old values with 30% fit range variation
0e610a08 962 // Wide Fit Range for C2 fits
cbf4f1cb 963 double SysPercent_PbPb_WFR[3][4]={{25,10,12,16}, {8,7,3,10}, {10,3,6,5}};// Gauss/EW/Exp, parameter#(Rinv2, Rinv3, lambda, lambda_3) with pPb fit range
964 double SysPercent_pPb_WFR[3][4]={{24,10,6,10}, {16,2,7,4}, {15,3,9,4}};// Gauss/EW/Exp, parameter#(Rinv2, Rinv3, lambda, lambda_3) New values with 1.2 GeV/c fit range variation
965 double SysPercent_pp_WFR[3][4]={{21,9,2,5}, {6,5,1,5}, {2,5,1,7}};// Gauss/EW/Exp, parameter#(Rinv2, Rinv3, lambda, lambda_3) New values with 1.2 GeV/c fit range variation
0e610a08 966
967 for(int cb=0; cb<20; cb++){// 3-particle
8eebdc9b 968 int binPbPb = RadiiPbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
969 int binpPb = RadiipPb->GetXaxis()->FindBin(meanNchpPb[cb]);
970 int binpp = Radiipp->GetXaxis()->FindBin(meanNchpp[cb]);
cbf4f1cb 971 double RsysPbPb = 0.01*sqrt(pow(SysPercent_PbPb_NFR[FitType][1],2) + pow(1,2)) * RadiiPbPb->GetBinContent(binPbPb);// fit Variation + MRC
0e610a08 972 double RsyspPb = 0.01*sqrt(pow(SysPercent_pPb_NFR[FitType][1],2) + pow(1,2)) * RadiipPb->GetBinContent(binpPb);// fit Variation + MRC
973 double Rsyspp = 0.01*sqrt(pow(SysPercent_pp_NFR[FitType][1],2) + pow(1,2)) * Radiipp->GetBinContent(binpp);// fit Variation + MRC
cbf4f1cb 974 //
975 if(cb==19 && FitType==2) Rsyspp = 0.01*sqrt(pow(16,2) + pow(1,2)) * Radiipp->GetBinContent(binpp);// larger fit var in this bin
976
977 if(RadiiPbPb->GetBinContent(binPbPb)==0) {yAxisPbPb[cb]=100; yAxisPbPb_eL[cb]=100; yAxisPbPb_eH[cb]=100;}// errors were 100
978 else {yAxisPbPb[cb]=RadiiPbPb->GetBinContent(binPbPb); yAxisPbPb_eL[cb]=RsysPbPb; yAxisPbPb_eH[cb]=RsysPbPb;}
0e610a08 979 //
980 if(RadiipPb->GetBinContent(binpPb)==0) {yAxispPb[cb]=100; yAxispPb_eL[cb]=100; yAxispPb_eH[cb]=100;}
981 else {yAxispPb[cb]=RadiipPb->GetBinContent(binpPb); yAxispPb_eL[cb]=RsyspPb; yAxispPb_eH[cb]=RsyspPb;}
982 //
983 if(Radiipp->GetBinContent(binpp)==0) {yAxispp[cb]=100; yAxispp_eL[cb]=100; yAxispp_eH[cb]=100;}
984 else {yAxispp[cb]=Radiipp->GetBinContent(binpp); yAxispp_eL[cb]=Rsyspp; yAxispp_eH[cb]=Rsyspp;}
985 //
986
987 if(NchOneThirdAxis) {
988 if(cb<13) xAxis_e[cb]=fabs(meanNchPbPb[cb] - pow(0.95,1/3.)*meanNchPbPb[cb]);
989 else xAxis_e[cb]=fabs(meanNchpPb[cb] - pow(0.95,1/3.)*meanNchpPb[cb]);
990 }else {
991 if(cb<13) xAxis_e[cb]=fabs(meanNchPbPb[cb] - (0.95)*meanNchPbPb[cb]);
992 else xAxis_e[cb]=fabs(meanNchpPb[cb] - (0.95)*meanNchpPb[cb]);
993 }
8eebdc9b 994 }
0e610a08 995
5be394f6 996
cbf4f1cb 997 TGraphErrors *grRadiiSys_PbPb=new TGraphErrors(20,meanNchPbPb,yAxisPbPb,xAxis_e,yAxisPbPb_eL);
0e610a08 998 TGraphAsymmErrors *grRadiiSys_pPb=new TGraphAsymmErrors(20,meanNchpPb,yAxispPb, xAxis_e,xAxis_e, yAxispPb_eL,yAxispPb_eH);
999 TGraphAsymmErrors *grRadiiSys_pp=new TGraphAsymmErrors(20,meanNchpp,yAxispp, xAxis_e,xAxis_e, yAxispp_eL,yAxispp_eH);
8eebdc9b 1000 grRadiiSys_pp->SetMarkerSize(0); grRadiiSys_pp->SetFillStyle(1000); grRadiiSys_pp->SetFillColor(kBlue-10);
1001 grRadiiSys_pPb->SetMarkerSize(0); grRadiiSys_pPb->SetFillStyle(1000); grRadiiSys_pPb->SetFillColor(kRed-10);
1002 grRadiiSys_PbPb->SetMarkerSize(0); grRadiiSys_PbPb->SetFillStyle(1000); grRadiiSys_PbPb->SetFillColor(kGray);
5be394f6 1003 grRadiiSys_pp->SetMarkerColor(kBlue-10); grRadiiSys_pp->SetMarkerColor(kRed-10); grRadiiSys_pp->SetMarkerColor(kGray);
8eebdc9b 1004 // C2
b2c0d4ba 1005 TH1D *RadiiC2PbPb=(TH1D*)Parameters_C2[0][FitType][KT3Bin][2]->Clone();
1006 TH1D *RadiiC2pPb=(TH1D*)Parameters_C2[1][FitType][KT3Bin][2]->Clone();
1007 TH1D *RadiiC2pp=(TH1D*)Parameters_C2[2][FitType][KT3Bin][2]->Clone();
5be394f6 1008 RadiiC2pp_Published->SetMarkerStyle(30);
0e610a08 1009 //if(FitType==0) RadiiC2pp->SetMarkerStyle(30);// for legend marker
5be394f6 1010
b2c0d4ba 1011 for(int mbin=0; mbin<8; mbin++){
5be394f6 1012 int bin = RadiiC2pp_Published->GetXaxis()->FindBin(MeanPubNch[mbin]);
b2c0d4ba 1013 RadiiC2pp_Published->SetBinContent(bin, RadiiC2ppPubPoints[KT3Bin][mbin]);
1014 RadiiC2pp_Published->SetBinError(bin, RadiiC2ppPubPoints_e[KT3Bin][mbin]);
1015 }
1016
0e610a08 1017 for(int cb=0; cb<20; cb++){// 2-particle
8eebdc9b 1018 int binPbPb = RadiiC2PbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1019 int binpPb = RadiiC2pPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1020 int binpp = RadiiC2pp->GetXaxis()->FindBin(meanNchpp[cb]);
cbf4f1cb 1021 double RsysPbPb_L = 0.01*sqrt(pow(SysPercent_PbPb_WFR[FitType][0],2) + pow(1,2)) * RadiiC2PbPb->GetBinContent(binPbPb);// fit Variation + MRC
1022 double RsysPbPb_H = 0.01*sqrt(pow(SysPercent_PbPb_NFR[FitType][0],2) + pow(1,2)) * RadiiC2PbPb->GetBinContent(binPbPb);// fit Variation + MRC
0e610a08 1023 double RsyspPb_L = 0.01*sqrt(pow(SysPercent_pPb_WFR[FitType][0],2) + pow(1,2)) * RadiiC2pPb->GetBinContent(binpPb);// fit Variation + MRC
1024 double RsyspPb_H = 0.01*sqrt(pow(SysPercent_pPb_NFR[FitType][0],2) + pow(1,2)) * RadiiC2pPb->GetBinContent(binpPb);// fit Variation + MRC
1025 double Rsyspp_L = 0.01*sqrt(pow(SysPercent_pp_WFR[FitType][0],2) + pow(1,2)) * RadiiC2pp->GetBinContent(binpp);// fit Variation + MRC
1026 double Rsyspp_H = 0.01*sqrt(pow(SysPercent_pp_NFR[FitType][0],2) + pow(1,2)) * RadiiC2pp->GetBinContent(binpp);// fit Variation + MRC
cbf4f1cb 1027 //
1028 if(cb==15) RsysPbPb_L = 0.01*sqrt(pow(1.5*SysPercent_PbPb_WFR[FitType][0],2) + pow(1,2)) * RadiiC2PbPb->GetBinContent(binPbPb);// larger error
1029 //
1030
1031 if(RadiiC2PbPb->GetBinContent(binPbPb)==0) {yAxisPbPb[cb]=100; yAxisPbPb_eL[cb]=1000; yAxisPbPb_eH[cb]=1000;}// errors were 1000
1032 else {
1033 yAxisPbPb[cb]=RadiiC2PbPb->GetBinContent(binPbPb);
1034 if(cb>=13) yAxisPbPb_eL[cb]=RsysPbPb_L;
1035 else yAxisPbPb_eL[cb]=RsysPbPb_H;
1036 yAxisPbPb_eH[cb]=RsysPbPb_H;
1037 }
0e610a08 1038 if(RadiiC2pPb->GetBinContent(binpPb)==0) {yAxispPb[cb]=100; yAxispPb_eL[cb]=1000; yAxispPb_eH[cb]=1000;}
1039 else {yAxispPb[cb]=RadiiC2pPb->GetBinContent(binpPb); yAxispPb_eL[cb]=RsyspPb_L; yAxispPb_eH[cb]=RsyspPb_H;}
1040 if(RadiiC2pp->GetBinContent(binpp)==0) {yAxispp[cb]=100; yAxispp_eL[cb]=1000; yAxispp_eH[cb]=1000;}
1041 else {yAxispp[cb]=RadiiC2pp->GetBinContent(binpp); yAxispp_eL[cb]=Rsyspp_L; yAxispp_eH[cb]=Rsyspp_H;}
cbf4f1cb 1042 //
8eebdc9b 1043 }
cbf4f1cb 1044
1045 TGraphAsymmErrors *grRadiiC2Sys_PbPb=new TGraphAsymmErrors(20,meanNchPbPb,yAxisPbPb, xAxisC2_e,xAxisC2_e, yAxisPbPb_eL,yAxisPbPb_eH);
1046 TGraphAsymmErrors *grRadiiC2Sys_pPb=new TGraphAsymmErrors(20,meanNchpPb,yAxispPb, xAxisC2_e,xAxisC2_e, yAxispPb_eL,yAxispPb_eH);
1047 TGraphAsymmErrors *grRadiiC2Sys_pp=new TGraphAsymmErrors(20,meanNchpp,yAxispp, xAxisC2_e,xAxisC2_e, yAxispp_eL,yAxispp_eH);
0e610a08 1048 grRadiiC2Sys_pp->SetMarkerSize(0);
1049 grRadiiC2Sys_pPb->SetMarkerSize(0);
1050 grRadiiC2Sys_PbPb->SetMarkerSize(0);
1051 grRadiiC2Sys_pp->SetLineColor(4); grRadiiC2Sys_pPb->SetLineColor(2); grRadiiC2Sys_PbPb->SetLineColor(1);
1052 grRadiiC2Sys_pp->SetLineWidth(2.*grRadiiC2Sys_pp->GetLineWidth());
1053 grRadiiC2Sys_pPb->SetLineWidth(2.*grRadiiC2Sys_pPb->GetLineWidth());
cbf4f1cb 1054 grRadiiC2Sys_PbPb->SetLineWidth(1.*grRadiiC2Sys_PbPb->GetLineWidth()); grRadiiC2Sys_PbPb->SetLineStyle(2);
8eebdc9b 1055 //
0e610a08 1056 grRadiiC2Sys_pPb->Draw("|| p");
1057 grRadiiC2Sys_pp->Draw("|| p");
cbf4f1cb 1058
8eebdc9b 1059 grRadiiSys_pp->Draw("E2 p");
1060 grRadiiSys_pPb->Draw("E2 p");
1061 grRadiiSys_PbPb->Draw("E2 p");
1062 RadiiPbPb->Draw("same");
1063 RadiipPb->Draw("same");
1064 Radiipp->Draw("same");
cbf4f1cb 1065 grRadiiC2Sys_PbPb->Draw("E");// E2 or "|| p" to visualize pol2 fit below
0e610a08 1066 //if(FitType==0) RadiiC2pp_Published->Draw("same");
5130881c 1067 //
5be394f6 1068
8eebdc9b 1069 RadiiC2PbPb->Draw("same");
0e610a08 1070 RadiiC2pPb->Draw("same");
1071 RadiiC2pp->Draw("same");
1072
cbf4f1cb 1073
8eebdc9b 1074 legend4->AddEntry(Radiipp,"pp #sqrt{s}=7 TeV","p");
5be394f6 1075 legend4->AddEntry(RadiipPb,"p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV","p");
1076 legend4->AddEntry(RadiiPbPb,"Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV","p");
1077
0e610a08 1078 TF1 *ppLine = new TF1("ppLine","pol1",0,13);
1079 ppLine->SetLineColor(4);
1080 TF1 *pPbLine = new TF1("pPbLine","pol1",0,13);
1081 TF1 *PbPbLine = new TF1("PbPbLine","pol1",0,13);
1082 PbPbLine->SetLineColor(1);
1083 if(NchOneThirdAxis){
1084 Radiipp->Fit(ppLine,"IMEN","",1,4.);
1085 ppLine->Draw("same");
1086 RadiipPb->Fit(pPbLine,"IMEN","",2,4.5);
1087 pPbLine->Draw("same");
1088 RadiiC2PbPb->Fit(PbPbLine,"IMEN","",4,13);
1089 PbPbLine->Draw("same");
1090 }
5be394f6 1091
b2c0d4ba 1092 TLatex *Specif_Kt3;
1093 TLatex *Specif_kt;
5be394f6 1094 if(KT3Bin==0) {
1095 Specif_Kt3 = new TLatex(0.17, 0.57,"0.16<#font[12]{K}_{T,3}<0.3 GeV/#font[12]{c}");
1096 Specif_kt = new TLatex(0.17, 0.47,"0.2<#font[12]{k}_{T}<0.3 GeV/#font[12]{c}");
1097 // KT3: #LT#font[12]{k}_{T}#GT=0.24 GeV/#font[12]{c}
1098 // kT: #LT#font[12]{k}_{T}#GT=0.25 GeV/#font[12]{c}
1099 }
1100 if(KT3Bin==1) {
1101 Specif_Kt3 = new TLatex(0.17, 0.57,"0.3<#font[12]{K}_{T,3}<1.0 GeV/#font[12]{c}");
1102 Specif_kt = new TLatex(0.17, 0.47,"0.3<#font[12]{k}_{T}<1.0 GeV/#font[12]{c}");
1103 // KT3: #LT#font[12]{k}_{T}#GT=0.39 GeV/#font[12]{c}
1104 // kT: #LT#font[12]{k}_{T}#GT=0.43 GeV/#font[12]{c}
1105 }
1106 //if(KT3Bin==0) {Specif_Kt3 = new TLatex(0.57, 0.83,"0.16<K_{T,3}<0.25 GeV/#font[12]{c}"); Specif_kt = new TLatex(0.57, 0.76,"0.2<k_{T}<0.3 GeV/#font[12]{c}");}
1107 //if(KT3Bin==1) {Specif_Kt3 = new TLatex(0.57, 0.83,"0.25<K_{T,3}<0.35 GeV/#font[12]{c}"); Specif_kt = new TLatex(0.57, 0.76,"0.3<k_{T}<0.4 GeV/#font[12]{c}");}
1108 //if(KT3Bin==2) {Specif_Kt3 = new TLatex(0.57, 0.83,"0.35<K_{T,3}<1.0 GeV/#font[12]{c}"); Specif_kt = new TLatex(0.57, 0.76,"0.4<k_{T}<0.5 GeV/#font[12]{c}");}
b2c0d4ba 1109 Specif_Kt3->SetTextFont(TextFont); Specif_kt->SetTextFont(TextFont);
5be394f6 1110 Specif_Kt3->SetTextSize(SizeSpecif*SF_2panel); Specif_kt->SetTextSize(SizeSpecif*SF_2panel);
b2c0d4ba 1111 Specif_Kt3->SetNDC(); Specif_kt->SetNDC();
cbf4f1cb 1112 if(!RadiusOnly){
1113 Specif_Kt3->Draw("same");
1114 Specif_kt->Draw("same");
1115 }
8eebdc9b 1116 legend4->SetTextFont(TextFont);
5be394f6 1117 legend4->SetTextSize(SizeLegend*SF_2panel);
cbf4f1cb 1118 if(RadiusOnly) legend4->SetTextSize(SizeLegend*SF_2panel*0.8);
8eebdc9b 1119 legend4->Draw("same");
5130881c 1120
5be394f6 1121 TH1D *MarkerPbPb_3=(TH1D*)RadiiPbPb->Clone();
1122 TH1D *MarkerpPb_3=(TH1D*)RadiipPb->Clone();
1123 TH1D *Markerpp_3=(TH1D*)Radiipp->Clone();
1124 TH1D *MarkerPbPb_2=(TH1D*)RadiiC2PbPb->Clone();
1125 TH1D *MarkerpPb_2=(TH1D*)RadiiC2pPb->Clone();
1126 TH1D *Markerpp_2=(TH1D*)RadiiC2pp->Clone();
1127 for(int i=1; i<=MarkerPbPb_3->GetNbinsX(); i++){
1128 MarkerPbPb_3->SetBinContent(i,1000); MarkerpPb_3->SetBinContent(i,1000); Markerpp_3->SetBinContent(i,1000);
1129 MarkerPbPb_2->SetBinContent(i,1000); MarkerpPb_2->SetBinContent(i,1000); Markerpp_2->SetBinContent(i,1000);
1130 MarkerPbPb_3->SetBinError(i,0.001); MarkerpPb_3->SetBinError(i,0.001); Markerpp_3->SetBinError(i,0.001);
1131 MarkerPbPb_2->SetBinError(i,0.001); MarkerpPb_2->SetBinError(i,0.001); Markerpp_2->SetBinError(i,0.001);
1132 }
0e610a08 1133 if(!NchOneThirdAxis){
cbf4f1cb 1134 MarkerPbPb_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(450), 1.25);// 1.25, 1.45 for RadiusOnly
1135 MarkerpPb_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(600), 1.25);// 1.25, 1.45 for RadiusOnly
1136 Markerpp_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(800), 1.25);// 1.25, 1.45 for RadiusOnly
0e610a08 1137 MarkerPbPb_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(450), 3.1);// 3.1
1138 MarkerpPb_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(600), 3.1);// 3.1
1139 Markerpp_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(800), 3.1);// 3.1
1140 }else{
cbf4f1cb 1141 MarkerPbPb_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(10), 1.25);// 1.25
1142 MarkerpPb_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(10.5), 1.25);// 1.25
1143 Markerpp_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(11), 1.25);// 1.25
1144 MarkerPbPb_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(10), 3.1);// 3.1
1145 MarkerpPb_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(10.5), 3.1);// 3.1
1146 Markerpp_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(11), 3.1);// 3.1
0e610a08 1147 }
1148
5be394f6 1149 MarkerPbPb_3->Draw("same"); MarkerpPb_3->Draw("same"); Markerpp_3->Draw("same");
1150 MarkerPbPb_2->Draw("same"); MarkerpPb_2->Draw("same"); Markerpp_2->Draw("same");
1151
cbf4f1cb 1152 TLatex *TwoPionText;
1153 if(!RadiusOnly) TwoPionText = new TLatex(0.74,0.3,"Two-Pions");// 0.74,0.3
1154 else TwoPionText = new TLatex(0.67,0.31,"Two-Pions");//
1155 TLatex *ThreePionText;
1156 if(!RadiusOnly) ThreePionText = new TLatex(0.74,0.15,"Three-Pions");// 0.74,0.15
1157 else ThreePionText = new TLatex(0.65,0.2,"Three-Pions");//
5be394f6 1158 TwoPionText->SetNDC(); ThreePionText->SetNDC();
1159 TwoPionText->SetTextFont(TextFont); ThreePionText->SetTextFont(TextFont);
1160 TwoPionText->SetTextSize(SizeSpecif*SF_2panel); ThreePionText->SetTextSize(SizeSpecif*SF_2panel);
1161 TwoPionText->Draw("same");
1162 ThreePionText->Draw("same");
cbf4f1cb 1163
0e610a08 1164 TLatex *Specif_kappas = new TLatex(0.42,0.05,"#kappa_{3}=0.1, #kappa_{4}=0.5");// 0.42,0.2
1165 //TLatex *Specif_kappas = new TLatex(0.42,0.05,"#kappa_{3}(N_{ch}), #kappa_{4}=0.5");// 0.42,0.2
5be394f6 1166 Specif_kappas->SetNDC();
1167 Specif_kappas->SetTextFont(TextFont);
1168 Specif_kappas->SetTextSize(SizeSpecif*SF_2panel);
cbf4f1cb 1169 if(FitType==1 && !RadiusOnly) Specif_kappas->Draw("same");
5be394f6 1170
cbf4f1cb 1171 if(RadiusOnly) return;
1172
8eebdc9b 1173 ///////////////////////////////////////////////////////////////////
1174 pad3->cd(2);
5be394f6 1175 gPad->SetLeftMargin(0.14);
b2c0d4ba 1176 gPad->SetRightMargin(0.01);
0e610a08 1177 gPad->SetTopMargin(0.0);// 0.01
5be394f6 1178 gPad->SetBottomMargin(0.16);
8eebdc9b 1179 gPad->SetTickx(); gPad->SetTicky();
0e610a08 1180 if(!NchOneThirdAxis) gPad->SetLogx();
5130881c 1181 //gPad->SetGridx(); gPad->SetGridy();
0e610a08 1182 TH1D *LambdaPbPb=(TH1D*)Parameters_c3[0][FitType][KT3Bin][5]->Clone();
1183 TH1D *LambdapPb=(TH1D*)Parameters_c3[1][FitType][KT3Bin][5]->Clone();
1184 TH1D *Lambdapp=(TH1D*)Parameters_c3[2][FitType][KT3Bin][5]->Clone();
8eebdc9b 1185
1186 LambdaPbPb->GetXaxis()->SetLabelFont(TextFont); LambdaPbPb->GetYaxis()->SetLabelFont(TextFont);
5be394f6 1187 LambdaPbPb->GetXaxis()->SetLabelSize(SizeLabel*SF_2panel); LambdaPbPb->GetYaxis()->SetLabelSize(SizeLabel*SF_2panel);
8eebdc9b 1188 LambdaPbPb->GetXaxis()->SetNdivisions(808);
0e610a08 1189 LambdaPbPb->GetYaxis()->SetNdivisions(604);
5be394f6 1190 LambdaPbPb->GetXaxis()->SetTitleFont(TextFont); LambdaPbPb->GetXaxis()->SetTitleSize(SizeTitle*SF_2panel);
1191 LambdaPbPb->GetYaxis()->SetTitleFont(TextFont); LambdaPbPb->GetYaxis()->SetTitleSize(SizeTitle*SF_2panel);
0e610a08 1192 LambdaPbPb->SetMaximum(2.8);// 2.8
cbf4f1cb 1193 if(FitType==2) LambdaPbPb->SetMaximum(5.8);
5be394f6 1194 LambdaPbPb->GetXaxis()->SetTitleOffset(0.95);
b2c0d4ba 1195 LambdaPbPb->GetYaxis()->SetTitleOffset(100);//1.1
0e610a08 1196 if(NchOneThirdAxis) LambdaPbPb->GetXaxis()->SetRangeUser(0,3000);// 0,3000
1197 else LambdaPbPb->GetXaxis()->SetRangeUser(3,3000);// 3,3000
8eebdc9b 1198 LambdaPbPb->Draw();
1199
0e610a08 1200 TF1 *ChaoticLimit_C2 = new TF1("ChaoticLimit_C2","1.0",0,5000);
1201 TF1 *ChaoticLimit_c3 = new TF1("ChaoticLimit_c3","2.0",0,5000);
1202 ChaoticLimit_C2->SetLineColor(1); ChaoticLimit_c3->SetLineColor(1);
1203 ChaoticLimit_C2->SetLineStyle(7); ChaoticLimit_c3->SetLineStyle(6);
1204 ChaoticLimit_C2->Draw("same");
1205 ChaoticLimit_c3->Draw("same");
1206
1207 for(int cb=0; cb<20; cb++){// 3-particle
8eebdc9b 1208 int binPbPb = LambdaPbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1209 int binpPb = LambdapPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1210 int binpp = Lambdapp->GetXaxis()->FindBin(meanNchpp[cb]);
0e610a08 1211 double f_syst_PbPb = 0, f_syst_pPb=0, f_syst_pp=0;
1212 if(cb<=12) f_syst_PbPb = 100 * (c3_mixedChargeSysFit[0][KT3Bin][cb]->Eval(0.025)-1.0) / (c3_fit[0][1][KT3Bin][cb]->Eval(0.025)-1.0);// residue / EW fit at Q3=0.025
1213 if(cb>=12 && cb<19) f_syst_pPb = 100 * (c3_mixedChargeSysFit[1][KT3Bin][cb]->Eval(0.075)-1.0) / (c3_fit[1][1][KT3Bin][cb]->Eval(0.075)-1.0);// residue / EW fit at Q3=0.075
1214 if(cb>=14) f_syst_pp = 100 * (c3_mixedChargeSysFit[2][KT3Bin][cb]->Eval(0.075)-1.0) / (c3_fit[2][1][KT3Bin][cb]->Eval(0.075)-1.0);// residue / EW fit at Q3=0.075
cbf4f1cb 1215 double LambdasysPbPb = 0.01*sqrt(pow(SysPercent_PbPb_NFR[FitType][3],2) + pow(1,2) + pow(5,2) + pow(10,2) + pow(f_syst_PbPb,2)) * LambdaPbPb->GetBinContent(binPbPb);// fit Variation + MRC + TTC + undilution + f1,f2,f3 uncertainties
0e610a08 1216 double LambdasyspPb = 0.01*sqrt(pow(SysPercent_pPb_WFR[FitType][3],2) + pow(1,2) + pow(10,2) + pow(f_syst_pPb,2)) * LambdapPb->GetBinContent(binpPb);// fit Variation + MRC + undilution + f1,f2,f3 uncertainties
1217 double Lambdasyspp = 0.01*sqrt(pow(SysPercent_pp_WFR[FitType][3],2) + pow(1,2) + pow(10,2) + pow(f_syst_pp,2)) * Lambdapp->GetBinContent(binpp);// fit Variation + MRC + undilution + f1,f2,f3 uncertainties
cbf4f1cb 1218 if(cb==19 && FitType==2) Lambdasyspp = 0.01*sqrt(pow(25,2) + pow(1,2) + pow(10,2) + pow(f_syst_pp,2)) * Lambdapp->GetBinContent(binpp);// larger fit var in this bin
1219 if(LambdaPbPb->GetBinContent(binPbPb)==0) {yAxisPbPb[cb]=100; yAxisPbPb_eL[cb]=100; yAxisPbPb_eH[cb]=100;}// errors were 100
1220 else {yAxisPbPb[cb]=LambdaPbPb->GetBinContent(binPbPb); yAxisPbPb_eL[cb]=LambdasysPbPb; yAxisPbPb_eH[cb]=LambdasysPbPb;}
5be394f6 1221 //
0e610a08 1222 if(LambdapPb->GetBinContent(binpPb)==0) {yAxispPb[cb]=100; yAxispPb_eL[cb]=100; yAxispPb_eH[cb]=100;}
1223 else {yAxispPb[cb]=LambdapPb->GetBinContent(binpPb); yAxispPb_eL[cb]=LambdasyspPb; yAxispPb_eH[cb]=LambdasyspPb;}
5be394f6 1224 //
0e610a08 1225 if(Lambdapp->GetBinContent(binpp)==0) {yAxispp[cb]=100; yAxispp_eL[cb]=100; yAxispp_eH[cb]=100;}
1226 else {yAxispp[cb]=Lambdapp->GetBinContent(binpp); yAxispp_eL[cb]=Lambdasyspp; yAxispp_eH[cb]=Lambdasyspp;}
cbf4f1cb 1227
1228
0e610a08 1229 if(NchOneThirdAxis) {
1230 if(cb<13) xAxis_e[cb]=fabs(meanNchPbPb[cb] - pow(0.95,1/3.)*meanNchPbPb[cb]);
1231 else xAxis_e[cb]=fabs(meanNchpPb[cb] - pow(0.95,1/3.)*meanNchpPb[cb]);
1232 }else {
1233 if(cb<13) xAxis_e[cb]=fabs(meanNchPbPb[cb] - (0.95)*meanNchPbPb[cb]);
1234 else xAxis_e[cb]=fabs(meanNchpPb[cb] - (0.95)*meanNchpPb[cb]);
1235 }
8eebdc9b 1236 }
cbf4f1cb 1237
1238 TGraphErrors *grLambdaSys_PbPb=new TGraphErrors(20,meanNchPbPb,yAxisPbPb,xAxis_e,yAxisPbPb_eL);
0e610a08 1239 TGraphAsymmErrors *grLambdaSys_pPb=new TGraphAsymmErrors(20,meanNchpPb,yAxispPb, xAxis_e,xAxis_e, yAxispPb_eL,yAxispPb_eH);
1240 TGraphAsymmErrors *grLambdaSys_pp=new TGraphAsymmErrors(20,meanNchpp,yAxispp, xAxis_e,xAxis_e, yAxispp_eL,yAxispp_eH);
8eebdc9b 1241 grLambdaSys_pp->SetMarkerSize(0); grLambdaSys_pp->SetFillStyle(1000); grLambdaSys_pp->SetFillColor(kBlue-10);
1242 grLambdaSys_pPb->SetMarkerSize(0); grLambdaSys_pPb->SetFillStyle(1000); grLambdaSys_pPb->SetFillColor(kRed-10);
1243 grLambdaSys_PbPb->SetMarkerSize(0); grLambdaSys_PbPb->SetFillStyle(1000); grLambdaSys_PbPb->SetFillColor(kGray);
5be394f6 1244 grLambdaSys_pp->SetMarkerColor(kBlue-10); grLambdaSys_pPb->SetMarkerColor(kRed-10); grLambdaSys_PbPb->SetMarkerColor(kGray);
8eebdc9b 1245 // C2 sys
0e610a08 1246 TH1D *LambdaC2PbPb=(TH1D*)Parameters_C2[0][FitType][KT3Bin][5]->Clone();
1247 TH1D *LambdaC2pPb=(TH1D*)Parameters_C2[1][FitType][KT3Bin][5]->Clone();
1248 TH1D *LambdaC2pp=(TH1D*)Parameters_C2[2][FitType][KT3Bin][5]->Clone();
1249 for(int cb=0; cb<20; cb++){// 2-particle
8eebdc9b 1250 int binPbPb = LambdaC2PbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1251 int binpPb = LambdaC2pPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1252 int binpp = LambdaC2pp->GetXaxis()->FindBin(meanNchpp[cb]);
cbf4f1cb 1253 double LambdasysPbPb_H = 0.01*sqrt(pow(SysPercent_PbPb_NFR[FitType][2],2) + pow(1,2) + pow(5,2) + pow(7,2)) * LambdaC2PbPb->GetBinContent(binPbPb);// fit Variation + MRC + TTC + undilution
1254 double LambdasysPbPb_L = 0.01*sqrt(pow(SysPercent_PbPb_WFR[FitType][2],2) + pow(1,2) + pow(5,2) + pow(7,2)) * LambdaC2PbPb->GetBinContent(binPbPb);// fit Variation + MRC + TTC + undilution
0e610a08 1255 double LambdasyspPb_H = 0.01*sqrt(pow(SysPercent_pPb_NFR[FitType][2],2) + pow(1,2) + pow(7,2)) * LambdaC2pPb->GetBinContent(binpPb);// fit Variation + MRC + undilution
1256 double LambdasyspPb_L = 0.01*sqrt(pow(SysPercent_pPb_WFR[FitType][2],2) + pow(1,2) + pow(7,2)) * LambdaC2pPb->GetBinContent(binpPb);// fit Variation + MRC + undilution
1257 double Lambdasyspp_H = 0.01*sqrt(pow(SysPercent_pp_NFR[FitType][2],2) + pow(1,2) + pow(7,2)) * LambdaC2pp->GetBinContent(binpp);// fit Variation + MRC + undilution
1258 double Lambdasyspp_L = 0.01*sqrt(pow(SysPercent_pp_WFR[FitType][2],2) + pow(1,2) + pow(7,2)) * LambdaC2pp->GetBinContent(binpp);// fit Variation + MRC + undilution
cbf4f1cb 1259 //
1260 if(LambdaC2PbPb->GetBinContent(binPbPb)==0) {yAxisPbPb[cb]=100; yAxisPbPb_eL[cb]=100; yAxisPbPb_eH[cb]=100;}// errors were 100
1261 else {
1262 yAxisPbPb[cb]=LambdaC2PbPb->GetBinContent(binPbPb);
1263 if(cb>=13) yAxisPbPb_eL[cb]=LambdasysPbPb_L;
1264 else yAxisPbPb_eL[cb]=LambdasysPbPb_H;
1265 yAxisPbPb_eH[cb]=LambdasysPbPb_H;
1266 }
0e610a08 1267 //
1268 if(LambdaC2pPb->GetBinContent(binpPb)==0) {yAxispPb[cb]=100; yAxispPb_eL[cb]=100; yAxispPb_eH[cb]=100;}
1269 else {yAxispPb[cb]=LambdaC2pPb->GetBinContent(binpPb); yAxispPb_eL[cb]=LambdasyspPb_L; yAxispPb_eH[cb]=LambdasyspPb_H;}
1270 //
1271 if(LambdaC2pp->GetBinContent(binpp)==0) {yAxispp[cb]=100; yAxispp_eL[cb]=100; yAxispp_eH[cb]=100;}
1272 else {yAxispp[cb]=LambdaC2pp->GetBinContent(binpp); yAxispp_eL[cb]=Lambdasyspp_L; yAxispp_eH[cb]=Lambdasyspp_H;}
1273 //xAxis_e[cb]=10000;
8eebdc9b 1274 }
cbf4f1cb 1275 TGraphAsymmErrors *grLambdaC2Sys_PbPb=new TGraphAsymmErrors(20,meanNchPbPb,yAxisPbPb,xAxisC2_e,xAxisC2_e, yAxisPbPb_eL,yAxisPbPb_eH);
1276 TGraphAsymmErrors *grLambdaC2Sys_pPb=new TGraphAsymmErrors(20,meanNchpPb,yAxispPb, xAxisC2_e,xAxisC2_e, yAxispPb_eL,yAxispPb_eH);
1277 TGraphAsymmErrors *grLambdaC2Sys_pp=new TGraphAsymmErrors(20,meanNchpp,yAxispp, xAxisC2_e,xAxisC2_e, yAxispp_eL,yAxispp_eH);
5be394f6 1278 grLambdaC2Sys_pp->SetMarkerSize(0); grLambdaC2Sys_pp->SetFillStyle(3001); grLambdaC2Sys_pp->SetFillColor(0);
1279 grLambdaC2Sys_pPb->SetMarkerSize(0); grLambdaC2Sys_pPb->SetFillStyle(3001); grLambdaC2Sys_pPb->SetFillColor(0);
1280 grLambdaC2Sys_PbPb->SetMarkerSize(0); grLambdaC2Sys_PbPb->SetFillStyle(3001); grLambdaC2Sys_PbPb->SetFillColor(0);
0e610a08 1281 grLambdaC2Sys_pp->SetLineColor(4); grLambdaC2Sys_pPb->SetLineColor(2); grLambdaC2Sys_PbPb->SetLineColor(1);
1282 grLambdaC2Sys_pp->SetLineWidth(2.*grLambdaC2Sys_pp->GetLineWidth());
1283 grLambdaC2Sys_pPb->SetLineWidth(2.*grLambdaC2Sys_pPb->GetLineWidth());
1284 grLambdaC2Sys_PbPb->SetLineWidth(2.*grLambdaC2Sys_PbPb->GetLineWidth());
8eebdc9b 1285 //
5be394f6 1286
0e610a08 1287
8eebdc9b 1288 grLambdaSys_pp->Draw("E2 p");
1289 grLambdaSys_pPb->Draw("E2 p");
1290 grLambdaSys_PbPb->Draw("E2 p");
8eebdc9b 1291 //
1292 LambdaPbPb->Draw("same");
1293 LambdapPb->Draw("same");
1294 Lambdapp->Draw("same");
1295 //
1296 LambdaC2PbPb->Draw("same");
0e610a08 1297 LambdaC2pPb->Draw("same");
1298 LambdaC2pp->Draw("same");
5be394f6 1299
cbf4f1cb 1300 grLambdaC2Sys_pp->Draw("|| p");
1301 grLambdaC2Sys_pPb->Draw("|| p");
1302 grLambdaC2Sys_PbPb->Draw("|| p");
0e610a08 1303
1304 // print radii and lambda
1305 cout.precision(3);
1306 cout<<"Pb--Pb:"<<endl;
1307 for(int cb=0; cb<20; cb++){
1308 int binPbPb = RadiiC2PbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1309 if(RadiiPbPb->GetBinContent(binPbPb)==0) continue;
cbf4f1cb 1310 //cout<<meanNchPbPb[cb]-(0.05)*meanNchPbPb[cb]<<" "<<meanNchPbPb[cb]+(0.05)*meanNchPbPb[cb]<<" "<<RadiiC2PbPb->GetBinContent(binPbPb)<<" "<<RadiiC2PbPb->GetBinError(binPbPb)<<" "<<grRadiiC2Sys_PbPb->GetErrorY(cb)<<" "<<RadiiPbPb->GetBinContent(binPbPb)<<" "<<RadiiPbPb->GetBinError(binPbPb)<<" "<<grRadiiSys_PbPb->GetErrorY(cb)<<endl;
1311 //
1312 //cout<<meanNchPbPb[cb]-(0.05)*meanNchPbPb[cb]<<" "<<meanNchPbPb[cb]+(0.05)*meanNchPbPb[cb]<<" "<<LambdaC2PbPb->GetBinContent(binPbPb)<<" "<<LambdaC2PbPb->GetBinError(binPbPb)<<" "<<grLambdaC2Sys_PbPb->GetErrorY(cb)<<" "<<LambdaPbPb->GetBinContent(binPbPb)<<" "<<LambdaPbPb->GetBinError(binPbPb)<<" "<<grLambdaSys_PbPb->GetErrorY(cb)<<endl;
0e610a08 1313 }
1314 cout<<"p--Pb:"<<endl;
1315 for(int cb=0; cb<20; cb++){
1316 int binpPb = RadiiC2pPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1317 if(RadiipPb->GetBinContent(binpPb)==0) continue;
cbf4f1cb 1318 //cout<<meanNchpPb[cb]-(0.05)*meanNchpPb[cb]<<" "<<meanNchpPb[cb]+(0.05)*meanNchpPb[cb]<<" "<<RadiiC2pPb->GetBinContent(binpPb)<<" "<<RadiiC2pPb->GetBinError(binpPb)<<" "<<grRadiiC2Sys_pPb->GetErrorYhigh(cb)<<" "<<grRadiiC2Sys_pPb->GetErrorYlow(cb)<<" "<<RadiipPb->GetBinContent(binpPb)<<" "<<RadiipPb->GetBinError(binpPb)<<" "<<grRadiiSys_pPb->GetErrorY(cb)<<endl;
1319 // Gaussian lambdas
1320 //cout<<meanNchpPb[cb]-(0.05)*meanNchpPb[cb]<<" "<<meanNchpPb[cb]+(0.05)*meanNchpPb[cb]<<" "<<LambdaC2pPb->GetBinContent(binpPb)<<" "<<LambdaC2pPb->GetBinError(binpPb)<<" "<<grLambdaC2Sys_pPb->GetErrorY(cb)<<" "<<LambdapPb->GetBinContent(binpPb)<<" "<<LambdapPb->GetBinError(binpPb)<<" "<<grLambdaSys_pPb->GetErrorY(cb)<<endl;
1321 // Edgeworth lambdas
1322 //cout<<meanNchpPb[cb]-(0.05)*meanNchpPb[cb]<<" "<<meanNchpPb[cb]+(0.05)*meanNchpPb[cb]<<" "<<LambdaC2pPb->GetBinContent(binpPb)<<" "<<LambdaC2pPb->GetBinError(binpPb)<<" "<<grLambdaC2Sys_pPb->GetErrorYhigh(cb)<<" "<<grLambdaC2Sys_pPb->GetErrorYlow(cb)<<" "<<LambdapPb->GetBinContent(binpPb)<<" "<<LambdapPb->GetBinError(binpPb)<<" "<<grLambdaSys_pPb->GetErrorY(cb)<<endl;
0e610a08 1323 }
1324 cout<<"p--p:"<<endl;
1325 for(int cb=0; cb<20; cb++){
1326 int binpp = RadiiC2pp->GetXaxis()->FindBin(meanNchpp[cb]);
1327 if(Radiipp->GetBinContent(binpp)==0) continue;
cbf4f1cb 1328 //cout<<meanNchpp[cb]-(0.05)*meanNchpp[cb]<<" "<<meanNchpp[cb]+(0.05)*meanNchpp[cb]<<" "<<RadiiC2pp->GetBinContent(binpp)<<" "<<RadiiC2pp->GetBinError(binpp)<<" "<<grRadiiC2Sys_pp->GetErrorYhigh(cb)<<" "<<grRadiiC2Sys_pp->GetErrorYlow(cb)<<" "<<Radiipp->GetBinContent(binpp)<<" "<<Radiipp->GetBinError(binpp)<<" "<<grRadiiSys_pp->GetErrorY(cb)<<endl;
1329 // Gaussian lambdas
1330 //cout<<meanNchpp[cb]-(0.05)*meanNchpp[cb]<<" "<<meanNchpp[cb]+(0.05)*meanNchpp[cb]<<" "<<LambdaC2pp->GetBinContent(binpp)<<" "<<LambdaC2pp->GetBinError(binpp)<<" "<<grLambdaC2Sys_pp->GetErrorY(cb)<<" "<<Lambdapp->GetBinContent(binpp)<<" "<<Lambdapp->GetBinError(binpp)<<" "<<grLambdaSys_pp->GetErrorY(cb)<<endl;
1331 // Edgeworth lambdas
1332 //cout<<meanNchpp[cb]-(0.05)*meanNchpp[cb]<<" "<<meanNchpp[cb]+(0.05)*meanNchpp[cb]<<" "<<LambdaC2pp->GetBinContent(binpp)<<" "<<LambdaC2pp->GetBinError(binpp)<<" "<<grLambdaC2Sys_pp->GetErrorYhigh(cb)<<" "<<grLambdaC2Sys_pp->GetErrorYlow(cb)<<" "<<Lambdapp->GetBinContent(binpp)<<" "<<Lambdapp->GetBinError(binpp)<<" "<<grLambdaSys_pp->GetErrorY(cb)<<endl;
0e610a08 1333 }
5be394f6 1334
0e610a08 1335
b2c0d4ba 1336
1337 can3->cd();
5be394f6 1338 TPad *pad3_2 = new TPad("pad3_2","pad3_2",0.0,0.0,1.,1.);
1339 pad3_2->SetFillStyle(0);
1340 pad3_2->Draw();
1341 pad3_2->cd();
b2c0d4ba 1342 TLatex *RinvTitle;
5be394f6 1343 if(FitType==0) RinvTitle=new TLatex(0.062,0.72,"#font[12]{R}^{#font[12]{G}}_{inv} or #font[12]{R}^{#font[12]{G}}_{inv,3} (fm)");
cbf4f1cb 1344 else if(FitType==1) RinvTitle=new TLatex(0.062,0.72,"#font[12]{R}^{#font[12]{E}_{w}}_{inv} or #font[12]{R}^{#font[12]{E}_{w}}_{inv,3} (fm)");
1345 else RinvTitle=new TLatex(0.062,0.61,"(#font[12]{R}^{Exp}_{inv} or #font[12]{R}^{Exp}_{inv,3}) / #sqrt{#pi} (fm)");
b2c0d4ba 1346 RinvTitle->SetNDC();
1347 RinvTitle->SetTextFont(TextFont);
5be394f6 1348 RinvTitle->SetTextSize(SizeTitle);
b2c0d4ba 1349 RinvTitle->SetTextAngle(90);
1350 RinvTitle->Draw("same");
1351 TLatex *LambdaTitle;
0e610a08 1352 if(FitType==0) LambdaTitle=new TLatex(0.064,0.31,"#lambda^{#font[12]{G}}_{e} or #lambda^{#font[12]{G}}_{e,3}");// 0.064,0.33
cbf4f1cb 1353 else if(FitType==1) LambdaTitle=new TLatex(0.064,0.31,"#lambda^{#font[12]{E}_{w}}_{e} or #lambda^{#font[12]{E}_{w}}_{e,3}");// 0.064,0.33
1354 else LambdaTitle=new TLatex(0.064,0.31,"#lambda^{Exp}_{e} or #lambda^{Exp}_{e,3}");// 0.064,0.33
b2c0d4ba 1355 LambdaTitle->SetNDC();
1356 LambdaTitle->SetTextFont(TextFont);
5be394f6 1357 LambdaTitle->SetTextSize(SizeTitle);
b2c0d4ba 1358 LambdaTitle->SetTextAngle(90);
1359 LambdaTitle->Draw("same");
1360
8eebdc9b 1361
b2c0d4ba 1362 if(SaveFiles && FitType==0) can3->SaveAs("ThreePionFitParametersGauss.eps");
1363 if(SaveFiles && FitType==1) can3->SaveAs("ThreePionFitParametersEW.eps");
0e610a08 1364
1365
1366
1367 ///////////////////////////////////////////////////////////////////////////////
1368 ///////////////////////////////////////////////////////////////////////////////
1369 // kappa plots
cbf4f1cb 1370 /*
0e610a08 1371 TCanvas *can7 = new TCanvas("can7", "can7",1700,700,600,600);// 11,53,700,500
1372 can7->SetHighLightColor(2);
1373 gStyle->SetOptFit(0);// 0111 to show fit stat box
1374 can7->SetFillColor(0);//10
1375 can7->SetBorderMode(0);
1376 can7->SetBorderSize(2);
1377 can7->SetFrameFillColor(0);
1378 can7->SetFrameBorderMode(0);
1379 can7->SetFrameBorderMode(0);
1380 can7->cd();
1381 TPad *pad7 = new TPad("pad7","pad7",0.0,0.0,1.,1.);
1382 gPad->SetGridx(0);
1383 gPad->SetGridy(1);
1384 pad7->SetTopMargin(0.02);//0.05
1385 pad7->SetRightMargin(0.02);//3e-2
1386 pad7->SetBottomMargin(0.1);//0.12
1387 pad7->SetLeftMargin(0.1);//0.12
1388 pad7->Draw();
1389 pad7->cd();
1390 gPad->SetLogx();
1391 gPad->SetGridy(1);
1392 TLegend *legend8 = new TLegend(.2,.70, .4,.95,NULL,"brNDC");//.45 or .4 for x1
1393 legend8->SetBorderSize(0);
1394 legend8->SetFillColor(0);
1395 legend8->SetTextFont(TextFont);
1396 legend8->SetTextSize(SizeLegend);
1397 // CollType, Gaussian/EW, EDbin, Parameter#
1398 int paramNum=4;
1399 Parameters_c3[0][1][KT3Bin][paramNum]->GetXaxis()->SetTitleOffset(1.2); Parameters_c3[0][1][KT3Bin][paramNum]->GetYaxis()->SetTitleOffset(1.4);
1400 if(paramNum==3) {Parameters_c3[0][1][KT3Bin][paramNum]->SetMinimum(-0.1); Parameters_c3[0][1][KT3Bin][paramNum]->SetMaximum(.4);}
1401 if(paramNum==4) {Parameters_c3[0][1][KT3Bin][paramNum]->SetMinimum(-0.1); Parameters_c3[0][1][KT3Bin][paramNum]->SetMaximum(1.0);}
1402 Parameters_c3[0][1][KT3Bin][paramNum]->Draw();
1403 Parameters_c3[1][1][KT3Bin][paramNum]->Draw("same");
1404 Parameters_c3[2][1][KT3Bin][paramNum]->Draw("same");
1405 legend8->AddEntry(Parameters_c3[2][1][KT3Bin][paramNum],"pp #sqrt{s}=7 TeV","p");
1406 legend8->AddEntry(Parameters_c3[1][1][KT3Bin][paramNum],"p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV","p");
1407 legend8->AddEntry(Parameters_c3[0][1][KT3Bin][paramNum],"Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV","p");
1408 //legend8->Draw("same");
cbf4f1cb 1409 //for(int ct=0; ct<3; ct++){
1410 //for(int cb=0; cb<20; cb++){
1411 //int bin = 0;
1412 //if(ct==0) bin = Parameters_c3[ct][1][KT3Bin][paramNum]->GetXaxis()->FindBin(meanNchPbPb[cb]);
1413 //else if(ct==1) bin = Parameters_c3[ct][1][KT3Bin][paramNum]->FindBin(meanNchpPb[cb]);
1414 //else bin = Parameters_c3[ct][1][KT3Bin][paramNum]->FindBin(meanNchpp[cb]);
0e610a08 1415 //
cbf4f1cb 1416 //if(Parameters_c3[ct][1][KT3Bin][paramNum]->GetBinError(bin) >0) {
0e610a08 1417 //cout<<Parameters_c3[ct][1][KT3Bin][paramNum]->GetBinContent(bin)<<", ";
cbf4f1cb 1418 //cout<<Parameters_c3[ct][1][KT3Bin][paramNum]->GetBinError(bin)<<", ";
1419 //}else cout<<0<<", ";
0e610a08 1420
cbf4f1cb 1421 //}
1422 //cout<<endl;
1423 //}
0e610a08 1424
8eebdc9b 1425
5130881c 1426
0e610a08 1427 TH1D *Combined_kappaPlot_1=(TH1D*)Parameters_c3[0][1][KT3Bin][paramNum]->Clone();
1428 Combined_kappaPlot_1->Add(Parameters_c3[1][1][KT3Bin][paramNum]);
1429 Combined_kappaPlot_1->Add(Parameters_c3[2][1][KT3Bin][paramNum]);
1430
1431 //TF1 *Fit_kappa3_PbPb=new TF1("Fit_kappa3_PbPb","[0]+[1]*log(x)",2,3000);
1432 //Fit_kappa3_PbPb->SetParameter(0, 0.05);
1433 //Fit_kappa3_PbPb->SetParameter(1, -0.01);
1434 //Fit_kappa3_PbPb->SetLineColor(1);
1435
1436 //
1437 //TF1 *Fit_kappa3_pp=new TF1("Fit_kappa3_pp","[0]+[1]*log(x)",1,3000);
1438 //Fit_kappa3_pp->SetParameter(0, 0.05);
1439 //Fit_kappa3_pp->SetParameter(1, -0.01);
1440 //Fit_kappa3_pp->SetLineColor(3);
1441 //Combined_kappaPlot_1->Fit(Fit_kappa3_pp,"IMEN","",2,80);
1442 //Fit_kappa3_pp->Draw("same");
1443 //
1444 TF1 *Fit_kappa4_PbPb=new TF1("Fit_kappa4_PbPb","pol0",2,3000);
1445 Combined_kappaPlot_1->Fit(Fit_kappa4_PbPb,"IMEN","",2,2000);
1446 Fit_kappa4_PbPb->Draw("same");
cbf4f1cb 1447 */
b2c0d4ba 1448
b2c0d4ba 1449
0e610a08 1450 ////////////////////////////////////////////////////
1451 ////////////////////////////////////////////////////
1452 // Radii ratios
1453 if(NchOneThirdAxis){
1454 TCanvas *can6 = new TCanvas("can6", "can6",1700,700,600,600);// 11,53,700,500
1455 can6->SetHighLightColor(2);
1456 gStyle->SetOptFit(0);// 0111 to show fit stat box
1457 can6->SetFillColor(0);//10
1458 can6->SetBorderMode(0);
1459 can6->SetBorderSize(2);
1460 can6->SetFrameFillColor(0);
1461 can6->SetFrameBorderMode(0);
1462 can6->SetFrameBorderMode(0);
1463 can6->cd();
1464 TPad *pad6 = new TPad("pad6","pad6",0.0,0.0,1.,1.);
1465 gPad->SetGridx(0);
1466 gPad->SetGridy(0);
1467 pad6->SetTopMargin(0.0);//0.05
1468 pad6->SetRightMargin(0.0);//3e-2
1469 pad6->SetBottomMargin(0.0);//0.12
1470 pad6->SetLeftMargin(0.0);//0.12
1471 pad6->Draw();
1472 pad6->cd();
1473 TLegend *legend8 = new TLegend(.52,.3, .9,.5,NULL,"brNDC");//.45 or .4 for x1
1474 legend8->SetBorderSize(0);
1475 legend8->SetFillColor(0);
1476 legend8->SetTextFont(TextFont);
1477 legend8->SetTextSize(SizeLegend);
1478 gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.14);
1479 gPad->SetBottomMargin(0.14); gPad->SetTopMargin(0.02);
1480 gPad->SetTickx(); gPad->SetTicky();
1481
1482 TH1D *Ratio_pPb_to_pp=(TH1D*)RadiipPb->Clone();
1483 TH1D *Ratio_PbPb_to_pPb=(TH1D*)RadiiC2PbPb->Clone();
1484 double avgRatio_pPb_to_pp=0, avgRatioSq_pPb_to_pp=0, avgRatioStat_pPb_to_pp=0, avgRatioEn_pPb_to_pp=0;
1485 double avgRatio_PbPb_to_pPb=0, avgRatioSq_PbPb_to_pPb=0, avgRatioStat_PbPb_to_pPb=0, avgRatioEn_PbPb_to_pPb=0;
1486 for(int cb=0; cb<20; cb++){// 3-particle
1487 int binPbPb = RadiiPbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1488 int binpPb = RadiipPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1489 //
1490 Ratio_pPb_to_pp->SetBinContent(binpPb, Ratio_pPb_to_pp->GetBinContent(binpPb) / ppLine->Eval(meanNchpPb[cb]));
1491 Ratio_PbPb_to_pPb->SetBinContent(binPbPb, Ratio_PbPb_to_pPb->GetBinContent(binPbPb) / pPbLine->Eval(meanNchPbPb[cb]));
1492 //
1493 if(cb<=18 && cb>=14){
1494 avgRatio_pPb_to_pp += Ratio_pPb_to_pp->GetBinContent(binpPb);
1495 avgRatioSq_pPb_to_pp += pow(Ratio_pPb_to_pp->GetBinContent(binpPb),2);
1496 avgRatioStat_pPb_to_pp += pow(Ratio_pPb_to_pp->GetBinError(binpPb),2);
1497 avgRatioEn_pPb_to_pp++;
1498 }
1499 if(cb<=15 && cb>=13){
1500 avgRatio_PbPb_to_pPb += Ratio_PbPb_to_pPb->GetBinContent(binPbPb);
1501 avgRatioSq_PbPb_to_pPb += pow(Ratio_PbPb_to_pPb->GetBinContent(binPbPb),2);
1502 avgRatioStat_PbPb_to_pPb += pow(Ratio_PbPb_to_pPb->GetBinError(binPbPb),2);
1503 avgRatioEn_PbPb_to_pPb++;
1504 }
1505 }
1506 Ratio_pPb_to_pp->SetMinimum(0.9); Ratio_pPb_to_pp->SetMaximum(1.65);
1507 Ratio_pPb_to_pp->GetYaxis()->SetTitle("Radius ratio");
1508 Ratio_pPb_to_pp->GetXaxis()->SetLabelSize(SizeLabel); Ratio_pPb_to_pp->GetYaxis()->SetLabelSize(SizeLabel);
1509 Ratio_pPb_to_pp->GetXaxis()->SetTitleSize(SizeTitle); Ratio_pPb_to_pp->GetYaxis()->SetTitleSize(SizeTitle);
1510 Ratio_pPb_to_pp->GetXaxis()->SetTitleOffset(1.0);
1511 Ratio_pPb_to_pp->GetYaxis()->SetTitleOffset(1.2);
1512 Ratio_pPb_to_pp->GetXaxis()->SetNdivisions(808);
1513 Ratio_pPb_to_pp->GetYaxis()->SetNdivisions(505);
1514 Ratio_pPb_to_pp->Draw();
1515 Ratio_PbPb_to_pPb->Draw("same");
1516 legend8->AddEntry(Ratio_pPb_to_pp,"p-Pb over pp","p");
1517 legend8->AddEntry(Ratio_PbPb_to_pPb,"Pb-Pb over p-Pb","p");
1518 legend8->Draw("same");
0e610a08 1519 Unity->Draw("same");
1520
1521 double avgStat_pPb_to_pp = sqrt(avgRatioStat_pPb_to_pp/avgRatioEn_pPb_to_pp);
1522 double RMS_pPb_to_pp = sqrt( (avgRatioSq_pPb_to_pp/avgRatioEn_pPb_to_pp - pow(avgRatio_pPb_to_pp/avgRatioEn_pPb_to_pp,2)) / avgRatioEn_pPb_to_pp );
1523 double avgStat_PbPb_to_pPb = sqrt(avgRatioStat_PbPb_to_pPb/avgRatioEn_PbPb_to_pPb);
1524 double RMS_PbPb_to_pPb = sqrt( (avgRatioSq_PbPb_to_pPb/avgRatioEn_PbPb_to_pPb - pow(avgRatio_PbPb_to_pPb/avgRatioEn_PbPb_to_pPb,2)) / avgRatioEn_PbPb_to_pPb );
1525 cout.precision(4);
1526 cout<<"avg Ratio of pPb to pp = "<<avgRatio_pPb_to_pp/avgRatioEn_pPb_to_pp<<" +- "<<sqrt(pow(avgStat_pPb_to_pp,2) + pow(RMS_pPb_to_pp,2))<<endl;
1527 cout<<"avg Ratio of PbPb to pPb = "<<avgRatio_PbPb_to_pPb/avgRatioEn_PbPb_to_pPb<<" +- "<<sqrt(pow(avgStat_PbPb_to_pPb,2) + pow(RMS_PbPb_to_pPb,2))<<endl;
1528 }
1529
1530
1531 if(KT3Bin>0) {cout<<"Skip the rest for this setting"<<endl; return;}
1532
8eebdc9b 1533 ////////////////////////////////////////////////////
1534 ////////////////////////////////////////////////////
1535 // Correlation functions and Monte Carlo
b2c0d4ba 1536 TCanvas *can4 = (TCanvas*)make_canvas("can4","can4",3,2,0,900,600);
1537 can4->Draw();
1538
7c6e4906 1539 TLegend *legend5[6];
5be394f6 1540 legend5[0] = new TLegend(.3,.52, .97,.99,NULL,"brNDC");//.45 or .4 for x1
7c6e4906 1541 legend5[0]->SetBorderSize(0);
1542 legend5[0]->SetFillColor(0);
1543 legend5[0]->SetTextFont(TextFont);
b2c0d4ba 1544 legend5[1]=(TLegend*)legend5[0]->Clone();
1545 legend5[2]=(TLegend*)legend5[0]->Clone();
1546 legend5[3]=(TLegend*)legend5[0]->Clone();
1547 legend5[4]=(TLegend*)legend5[0]->Clone();
1548 legend5[5]=(TLegend*)legend5[0]->Clone();
5be394f6 1549 TLegend *legendFitTypes = (TLegend*)legend5[0]->Clone();
1550
0e610a08 1551
b2c0d4ba 1552 double HIJING_c3_SC_K1_M3[15]={0, 0.851168, 0.979088, 1.0209, 0.976797, 1.01555, 0.992262, 1.00773, 0.991634, 0.991504, 0.997317, 0.993006, 0.99694, 0.999369, 0.998404};
1553 double HIJING_c3_SC_K1_M3_e[15]={0, 0.546937, 0.118551, 0.0436675, 0.0226652, 0.0139659, 0.00906562, 0.00649369, 0.00488794, 0.00380819, 0.00306916, 0.00255166, 0.00219781, 0.00235171, 0.00292962};
1554 double HIJING_c3_MC_K1_M3[15]={0, 0.886712, 1.02583, 0.985831, 1.00453, 1.01572, 1.00153, 0.991872, 0.997636, 0.997151, 0.996838, 0.999562, 0.998487, 0.996162, 1.001};
1555 double HIJING_c3_MC_K1_M3_e[15]={0, 0.190786, 0.0527107, 0.0220311, 0.0119954, 0.00756783, 0.00499146, 0.00360927, 0.0027377, 0.00214376, 0.00173608, 0.00144723, 0.00124891, 0.00133898, 0.0016771};
1556 TH1D *HIJING_c3_SC=(TH1D*)c3[1][1][0][0][17]->Clone();// choose any one that exists to copy histo attributes
1557 TH1D *HIJING_c3_MC=(TH1D*)c3[1][1][0][0][17]->Clone();// choose any one that exists to copy histo attributes
1558 for(int i=1; i<=15; i++){
1559 HIJING_c3_SC->SetBinContent(i, HIJING_c3_SC_K1_M3[i-1]);
1560 HIJING_c3_SC->SetBinError(i, HIJING_c3_SC_K1_M3_e[i-1]);
1561 HIJING_c3_MC->SetBinContent(i, HIJING_c3_MC_K1_M3[i-1]);
1562 HIJING_c3_MC->SetBinError(i, HIJING_c3_MC_K1_M3_e[i-1]);
1563 }
cbf4f1cb 1564 cout.precision(4);
8eebdc9b 1565 //
7c6e4906 1566 for(int padNum=1; padNum<=6; padNum++){
0e610a08 1567
b2c0d4ba 1568 can4->cd(padNum);
1569 if(padNum==3 || padNum==6) gPad->SetRightMargin(0.005);
1570 float SF_6pannel=2;
5be394f6 1571 double SF_correction=1.0;
1572 if(padNum==3) SF_correction=1.1;
1573 if(padNum==4) SF_correction=0.8;
1574 if(padNum==5 || padNum==6) SF_correction=0.92;
7c6e4906 1575
1576 //
1577 int System_proof=0;
1578 int ChComb_proof=0;
1579 int Mb_proof=0;
1580 if(padNum==1) {System_proof=2; ChComb_proof=0; Mb_proof=18;}
1581 if(padNum==2) {System_proof=1; ChComb_proof=0; Mb_proof=14;}
b2c0d4ba 1582 if(padNum==3) {System_proof=0; ChComb_proof=0; Mb_proof=3;}
7c6e4906 1583 if(padNum==4) {System_proof=2; ChComb_proof=1; Mb_proof=18;}
1584 if(padNum==5) {System_proof=1; ChComb_proof=1; Mb_proof=14;}
b2c0d4ba 1585 if(padNum==6) {System_proof=0; ChComb_proof=1; Mb_proof=3;}
7c6e4906 1586
cbf4f1cb 1587 // print out data points
1588 //for(int binN=1; binN<=C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetNbinsX(); binN++){
1589 //cout<<C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->GetBinLowEdge(binN)<<" "<<C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->GetBinUpEdge(binN)<<" "<<C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetBinContent(binN)<<" "<<C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetBinError(binN)<<" "<<C3_Sys[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetBinError(binN)<<endl;
1590 //
1591 //cout<<c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->GetBinLowEdge(binN)<<" "<<c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->GetBinUpEdge(binN)<<" "<<c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetBinContent(binN)<<" "<<c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetBinError(binN)<<" "<<c3_Sys[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetBinError(binN)<<endl;
1592 //
1593 //if(System_proof==0){
1594 //cout<<HIJING_c3_SC->GetXaxis()->GetBinLowEdge(binN)<<" "<<HIJING_c3_SC->GetXaxis()->GetBinUpEdge(binN)<<" "<<HIJING_c3_SC->GetBinContent(binN)<<" "<<HIJING_c3_SC->GetBinError(binN)<<endl;
1595 //}else{
1596 //cout<<c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->GetBinLowEdge(binN)<<" "<<c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->GetBinUpEdge(binN)<<" "<<c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof]->GetBinContent(binN)<<" "<<c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof]->GetBinError(binN)<<endl;
1597 //}
1598 //}
1599 //cout<<endl;
5be394f6 1600 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->SetMinimum(0.9);
cbf4f1cb 1601 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->SetMaximum(3.4);// 3.4
7c6e4906 1602 //
b2c0d4ba 1603 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetTitle("#font[12]{C}_{3} or #font[12]{#bf{c}}_{3} ");
1604 if(padNum<=5){
1605 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetTitleOffset(10);
5be394f6 1606 }else C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetTitleOffset(0.88);
1607 if(padNum==1) C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetTitleOffset(0.55);
1608 else C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetTitleOffset(10.);
1609 if(padNum>=5) C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetLabelOffset(-.0);
1610
5be394f6 1611 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetNdivisions(504);
1612 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetNdivisions(504);
1613 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetTitleSize(SizeTitle*SF_6pannel*SF_correction);
1614 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetTitleSize(SizeTitle*SF_6pannel*SF_correction);
1615 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetLabelSize(SizeTitle*SF_6pannel*SF_correction);
1616 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetLabelSize(SizeTitle*SF_6pannel*SF_correction);
7c6e4906 1617 double Q3Limit;
b2c0d4ba 1618 if(System_proof==1 || System_proof==2) Q3Limit = 0.49;
1619 else Q3Limit = 0.1099;
1620 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetRangeUser(0,Q3Limit);
7c6e4906 1621 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy();
1622
0e610a08 1623
7c6e4906 1624 C3_Sys[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("E2 same");
1625 c3_Sys[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("E2 same");
1626 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("same");
1627 c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("same");
b2c0d4ba 1628 if(System_proof!=0) c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("same");// MC cumulants
1629 else{
1630 if(ChComb_proof==0) HIJING_c3_SC->DrawCopy("same");
1631 else HIJING_c3_MC->DrawCopy("same");
1632 }
7c6e4906 1633 if(padNum<=3){
1634 legend5[padNum-1]->AddEntry(C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof],"#font[12]{C}_{3}^{#pm#pm#pm}","p");
1635 legend5[padNum-1]->AddEntry(c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof],"#font[12]{#bf{c}}_{3}^{#pm#pm#pm}","p");
7c6e4906 1636 }else{
1637 legend5[padNum-1]->AddEntry(C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof],"#font[12]{C}_{3}^{#pm#pm#mp}","p");
1638 legend5[padNum-1]->AddEntry(c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof],"#font[12]{#bf{c}}_{3}^{#pm#pm#mp}","p");
0e610a08 1639 if(System_proof==0) legend5[padNum-1]->AddEntry(HIJING_c3_MC,"HIJING #font[12]{#bf{c}}_{3}","p");
1640 if(System_proof==1) legend5[padNum-1]->AddEntry(c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof],"DPMJET #font[12]{#bf{c}}_{3}","p");
1641 if(System_proof==2) legend5[padNum-1]->AddEntry(c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof],"PYTHIA #font[12]{#bf{c}}_{3}","p");
7c6e4906 1642 }
1643
1644 if(ChComb_proof==0) {
cbf4f1cb 1645 c3_fit[System_proof][0][KT3Bin][Mb_proof]->Draw("c same");// Gauss
0e610a08 1646 gr_c3Spline[System_proof][KT3Bin][Mb_proof]->Draw("c same");// EW with spline for mid-q and high q
cbf4f1cb 1647 gr_c3SplineExpFit[System_proof][KT3Bin][Mb_proof]->Draw("c same");// Exp
0e610a08 1648 //c3_fit[System_proof][1][KT3Bin][Mb_proof]->Draw("c same");// old approximation
5be394f6 1649 if(padNum==3){
1650 legendFitTypes->AddEntry(c3_fit[System_proof][0][KT3Bin][Mb_proof],"Gaussian","l");
1651 legendFitTypes->AddEntry(c3_fit[System_proof][1][KT3Bin][Mb_proof],"Edgeworth","l");
cbf4f1cb 1652 legendFitTypes->AddEntry(c3_fit[System_proof][2][KT3Bin][Mb_proof],"Exponential","l");
5be394f6 1653 }
7c6e4906 1654 }
5be394f6 1655
7c6e4906 1656 TLatex *CTLabel;
5be394f6 1657 if(System_proof==0) CTLabel = new TLatex(0.12,0.9,"Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV");// 0.003,.988
1658 if(System_proof==1) CTLabel = new TLatex(0.15,0.9,"p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV");// 0.003,.988
1659 if(System_proof==2) CTLabel = new TLatex(0.4,0.9,"pp #sqrt{s}=7 TeV");// 0.003,.988
7c6e4906 1660 CTLabel->SetNDC();
1661 CTLabel->SetTextFont(TextFont);
b2c0d4ba 1662 CTLabel->SetTextSize(SizeSpecif*SF_6pannel*SF_correction);
5be394f6 1663 if(padNum>=4) CTLabel->Draw("same");
7c6e4906 1664
0e610a08 1665 TString *nameCh=new TString("#LT#font[12]{N}_{ch}#GT = ");
7c6e4906 1666 float Nch=1;
5be394f6 1667 if(System_proof==0) Nch = meanNchPbPb[Mb_proof];
1668 else if(System_proof==1) Nch = meanNchpPb[Mb_proof];
1669 else Nch = meanNchpp[Mb_proof];
1670 *nameCh += int(Nch + 0.5);
7c6e4906 1671 nameCh->Append(" #pm ");
1672 float SysPercent = 0.05;
1673 int SigFig=0;
1674 if(SysPercent*Nch < 1) {nameCh->Append("0."); SigFig=int(10*SysPercent*Nch + 0.5);}
1675 else {SigFig=int(SysPercent*Nch + 0.5);}
1676
1677 *nameCh += SigFig;
b2c0d4ba 1678 TLatex *MLabel;
0e610a08 1679 if(padNum==1) MLabel = new TLatex(0.45,0.6,"#LT#font[12]{N}_{ch}#GT = 8.6 #pm 0.4");// was nameCh->Data()
5be394f6 1680 if(padNum==2) MLabel = new TLatex(0.4,0.6,nameCh->Data());
1681 if(padNum==3) MLabel = new TLatex(0.4,0.6,nameCh->Data());
0e610a08 1682
7c6e4906 1683 MLabel->SetNDC();
1684 MLabel->SetTextFont(TextFont);
b2c0d4ba 1685 MLabel->SetTextSize(SizeSpecif*SF_6pannel*SF_correction);
5be394f6 1686 if(padNum<=3) MLabel->Draw("same");
7c6e4906 1687
1688
5be394f6 1689 legend5[padNum-1]->SetTextSize(SizeLegend*SF_6pannel*SF_correction);
1690 if(padNum==1) {legend5[padNum-1]->SetX1(0.45); legend5[padNum-1]->SetY1(0.69);}
1691 if(padNum==2) {legend5[padNum-1]->SetX1(0.32); legend5[padNum-1]->SetY1(0.69);}
1692 if(padNum==3) {
1693 legend5[padNum-1]->SetX1(0.32); legend5[padNum-1]->SetY1(0.69);
1694 legendFitTypes->SetX1(0.44);
1695 legendFitTypes->SetY1(0.22); legendFitTypes->SetY2(0.56);
1696 legendFitTypes->Draw("same");
1697 }
1698 if(padNum==4) {legend5[padNum-1]->SetX1(0.45); legend5[padNum-1]->SetY1(0.45); legend5[padNum-1]->SetY2(0.85);}
1699 if(padNum==5) {legend5[padNum-1]->SetX1(0.32); legend5[padNum-1]->SetY1(0.45); legend5[padNum-1]->SetY2(0.85);}
1700 if(padNum==6) {legend5[padNum-1]->SetX1(0.32); legend5[padNum-1]->SetY1(0.45); legend5[padNum-1]->SetY2(0.85);}
7c6e4906 1701 legend5[padNum-1]->Draw("same");
8eebdc9b 1702 }
1703
b2c0d4ba 1704
0e610a08 1705
b2c0d4ba 1706 can4->cd();
1707
1708 TPad *pad4_2 = new TPad("pad4_2","pad4_2",0.0,0.0,1.,1.);
1709 pad4_2->SetFillStyle(0);
1710 pad4_2->Draw();
1711 pad4_2->cd();
5be394f6 1712 TBox *CoverUp1 = new TBox(0.35,0.05,0.42,.115);
1713 CoverUp1->SetFillColor(0);
b2c0d4ba 1714 CoverUp1->Draw();
5be394f6 1715 TBox *CoverUp2 = new TBox(0.66,0.05,0.73,.115);
1716 CoverUp2->SetFillColor(0);
b2c0d4ba 1717 CoverUp2->Draw();
b2c0d4ba 1718
8eebdc9b 1719
1720
b2c0d4ba 1721
8eebdc9b 1722
1723 ////////////////////////////////////////////////////
1724 ////////////////////////////////////////////////////
b2c0d4ba 1725 // 2 system correlation function comparison
8eebdc9b 1726 TCanvas *can5 = new TCanvas("can5", "can5",1700,700,600,600);// 11,53,700,500
1727 can5->SetHighLightColor(2);
5be394f6 1728 gStyle->SetOptFit(0);// 0111 to show fit stat box
1729 can5->SetFillColor(0);//10
8eebdc9b 1730 can5->SetBorderMode(0);
1731 can5->SetBorderSize(2);
1732 can5->SetFrameFillColor(0);
1733 can5->SetFrameBorderMode(0);
1734 can5->SetFrameBorderMode(0);
1735 can5->cd();
1736 TPad *pad5 = new TPad("pad5","pad5",0.0,0.0,1.,1.);
1737 gPad->SetGridx(0);
1738 gPad->SetGridy(0);
b2c0d4ba 1739 pad5->SetTopMargin(0.0);//0.05
1740 pad5->SetRightMargin(0.0);//3e-2
1741 pad5->SetBottomMargin(0.0);//0.12
1742 pad5->SetLeftMargin(0.0);//0.12
8eebdc9b 1743 pad5->Draw();
1744 pad5->cd();
0e610a08 1745 TLegend *legend6 = new TLegend(.42,.6, .9,.95,NULL,"brNDC");//.45 or .4 for x1
8eebdc9b 1746 legend6->SetBorderSize(0);
1747 legend6->SetFillColor(0);
1748 legend6->SetTextFont(TextFont);
5be394f6 1749 legend6->SetTextSize(SizeLegend);
cbf4f1cb 1750 TLegend *legend7 = new TLegend(.66,.36, .97,.53,NULL,"brNDC");//.45 or .4 for x1
5be394f6 1751 legend7->SetBorderSize(0);
1752 legend7->SetFillColor(0);
1753 legend7->SetTextFont(TextFont);
1754 legend7->SetTextSize(SizeLegend);
8eebdc9b 1755 //
5be394f6 1756 gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.10);
1757 gPad->SetBottomMargin(0.14); gPad->SetTopMargin(0.02);
b2c0d4ba 1758 gPad->SetTickx(); gPad->SetTicky();
8eebdc9b 1759 //
b2c0d4ba 1760 int KT3Bin_CorrComp=0;
5be394f6 1761 int Mbin_SysComp_PbPb=12;// 12
cbf4f1cb 1762 int Mbin_SysComp_pPb;
1763 int Mbin_SysComp_pp=15;// 15
1764 if(pp_pPb_Comp) Mbin_SysComp_pPb=16;// 16
1765 else Mbin_SysComp_pPb=12;// 12
5be394f6 1766
1767 TH1D *c3_PbPb=(TH1D*)c3[0][0][0][KT3Bin_CorrComp][Mbin_SysComp_PbPb]->Clone();
1768 TH1D *c3_pPb=(TH1D*)c3[1][0][0][KT3Bin_CorrComp][Mbin_SysComp_pPb]->Clone();
1769 TH1D *c3_pp=(TH1D*)c3[2][0][0][KT3Bin_CorrComp][Mbin_SysComp_pp]->Clone();
b2c0d4ba 1770
1771 c3_pPb->GetYaxis()->SetTitle("#bf{c}_{3}^{#pm#pm#pm}");
5be394f6 1772 c3_pPb->GetXaxis()->SetRangeUser(0,0.27);
1773
1774 c3_pPb->GetXaxis()->SetLabelSize(SizeLabel); c3_pPb->GetYaxis()->SetLabelSize(SizeLabel);
1775 c3_pPb->GetXaxis()->SetTitleSize(SizeTitle); c3_pPb->GetYaxis()->SetTitleSize(SizeTitle);
1776
b2c0d4ba 1777 c3_pPb->GetYaxis()->SetTitle("#font[12]{#bf{c}}_{3}^{#pm#pm#pm}");
5be394f6 1778 c3_pPb->GetXaxis()->SetTitleOffset(1.0);
1779 c3_pPb->GetYaxis()->SetTitleOffset(0.7);
cbf4f1cb 1780 c3_pPb->SetMinimum(0.9);
1781 c3_pPb->SetMaximum(3.3);// 3.3
5be394f6 1782 c3_pPb->GetXaxis()->SetNdivisions(503);
1783 c3_pPb->GetYaxis()->SetNdivisions(503);
cbf4f1cb 1784 c3_pPb->SetMarkerStyle(25);
1785
b2c0d4ba 1786 c3_pPb->Draw();
8eebdc9b 1787 //
cbf4f1cb 1788 if(pp_pPb_Comp) c3_Sys[2][0][0][KT3Bin_CorrComp][Mbin_SysComp_pp]->Draw("E2 same");
5be394f6 1789 c3_Sys[1][0][0][KT3Bin_CorrComp][Mbin_SysComp_pPb]->Draw("E2 same");
cbf4f1cb 1790 if(!pp_pPb_Comp) c3_Sys[0][0][0][KT3Bin][Mbin_SysComp_PbPb]->Draw("E2 same");
1791 if(pp_pPb_Comp) c3_pp->Draw("same");
8eebdc9b 1792 c3_pPb->Draw("same");
cbf4f1cb 1793 if(!pp_pPb_Comp) c3_PbPb->Draw("same");
b2c0d4ba 1794
cbf4f1cb 1795 if(pp_pPb_Comp) {
1796 legend6->AddEntry(c3_pPb,"#splitline{p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV}{#LT#font[12]{N}_{ch}#GT = 23 #pm 1}","p");// MpPb=16, Nch=23
1797 legend6->AddEntry(c3_pp,"#splitline{pp #sqrt{s}=7 TeV}{#LT#font[12]{N}_{ch}#GT = 27 #pm 1}","p");// Mpp=15, Nch=27
0e610a08 1798 }else{
cbf4f1cb 1799 legend6->AddEntry(c3_pPb,"#splitline{p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV}{#LT#font[12]{N}_{ch}#GT = 71 #pm 4}","p");// MpPb=12, Nch=71
1800 legend6->AddEntry(c3_PbPb,"#splitline{Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV}{#LT#font[12]{N}_{ch}#GT = 84 #pm 4}","p");// MPbPb=12, Nch=84
5be394f6 1801 }
1802
1803 //
1804
cbf4f1cb 1805 if(!pp_pPb_Comp) c3_fit[0][0][KT3Bin][Mbin_SysComp_PbPb]->Draw("c same");
5be394f6 1806 c3_fit[1][0][KT3Bin][Mbin_SysComp_pPb]->Draw("c same");
cbf4f1cb 1807 if(pp_pPb_Comp) c3_fit[2][0][KT3Bin][Mbin_SysComp_pp]->Draw("c same");
5be394f6 1808 //
1809 TF1 *GaussFit_forLegend=(TF1*)c3_fit[1][0][KT3Bin][Mbin_SysComp_pPb]->Clone();
1810 TF1 *EwFit_forLegend=(TF1*)c3_fit[1][1][KT3Bin][Mbin_SysComp_pPb]->Clone();
cbf4f1cb 1811 TF1 *ExpFit_forLegend=(TF1*)c3_fit[1][2][KT3Bin][Mbin_SysComp_pPb]->Clone();
5be394f6 1812 GaussFit_forLegend->SetLineColor(1);
1813 EwFit_forLegend->SetLineColor(1);
cbf4f1cb 1814 ExpFit_forLegend->SetLineColor(1);
5be394f6 1815 legend7->AddEntry(GaussFit_forLegend,"Gaussian","l");
1816 legend7->AddEntry(EwFit_forLegend,"Edgeworth","l");
cbf4f1cb 1817 legend7->AddEntry(ExpFit_forLegend,"Exponential","l");
5be394f6 1818 //
1819
cbf4f1cb 1820
1821 // spline draw
1822 if(!pp_pPb_Comp) gr_c3Spline[0][KT3Bin][Mbin_SysComp_PbPb]->Draw("c same");
0e610a08 1823 gr_c3Spline[1][KT3Bin][Mbin_SysComp_pPb]->Draw("c same");
cbf4f1cb 1824 if(pp_pPb_Comp) gr_c3Spline[2][KT3Bin][Mbin_SysComp_pp]->Draw("c same");
1825 //
1826
1827 //exp draw
1828 if(!pp_pPb_Comp) gr_c3SplineExpFit[0][KT3Bin][Mbin_SysComp_PbPb]->Draw("c same");
1829 gr_c3SplineExpFit[1][KT3Bin][Mbin_SysComp_pPb]->Draw("c same");
1830 if(pp_pPb_Comp) gr_c3SplineExpFit[2][KT3Bin][Mbin_SysComp_pp]->Draw("c same");
0e610a08 1831 //
cbf4f1cb 1832
0e610a08 1833
8eebdc9b 1834 legend6->Draw("same");
5be394f6 1835 legend7->Draw("same");
8eebdc9b 1836
5be394f6 1837 TLatex *Specif_Kt3_4 = new TLatex(0.52,0.55,"0.16<#font[12]{K}_{T,3}<0.3 GeV/#font[12]{c}");
8eebdc9b 1838 Specif_Kt3_4->SetNDC();
1839 Specif_Kt3_4->SetTextFont(TextFont);
5be394f6 1840 Specif_Kt3_4->SetTextSize(SizeSpecif);
8eebdc9b 1841 Specif_Kt3_4->Draw("same");
b2c0d4ba 1842
cbf4f1cb 1843 // print out data points
1844 for(int binN=1; binN<=c3_pPb->GetNbinsX(); binN++){
1845 if(pp_pPb_Comp) cout<<c3_pPb->GetXaxis()->GetBinLowEdge(binN)<<" "<<c3_pPb->GetXaxis()->GetBinUpEdge(binN)<<" "<<c3_pPb->GetBinContent(binN)<<" "<<c3_pPb->GetBinError(binN)<<" "<<c3_Sys[1][0][0][KT3Bin_CorrComp][Mbin_SysComp_pPb]->GetBinError(binN)<<" "<<c3_pp->GetBinContent(binN)<<" "<<c3_pp->GetBinError(binN)<<" "<<c3_Sys[2][0][0][KT3Bin_CorrComp][Mbin_SysComp_pp]->GetBinError(binN)<<endl;
1846 else cout<<c3_pPb->GetXaxis()->GetBinLowEdge(binN)<<" "<<c3_pPb->GetXaxis()->GetBinUpEdge(binN)<<" "<<c3_pPb->GetBinContent(binN)<<" "<<c3_pPb->GetBinError(binN)<<" "<<c3_Sys[1][0][0][KT3Bin_CorrComp][Mbin_SysComp_pPb]->GetBinError(binN)<<" "<<c3_PbPb->GetBinContent(binN)<<" "<<c3_PbPb->GetBinError(binN)<<" "<<c3_Sys[0][0][0][KT3Bin][Mbin_SysComp_PbPb]->GetBinError(binN)<<endl;
1847 }
8eebdc9b 1848
1849 //
1850 if(SaveFiles) {
1851 TString *name = new TString("c3SystemComp");
b2c0d4ba 1852 if(FitType==1) name->Append("EW");
8eebdc9b 1853 name->Append("_MpPb");
5be394f6 1854 *name += Mbin_SysComp_pPb;
8eebdc9b 1855 name->Append(".eps");
1856 //
1857 can5->SaveAs(name->Data());
1858 }
1859
1860
cbf4f1cb 1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
0e610a08 1871
1872
8eebdc9b 1873 ////////////////////////////////////////////////////
1874 ////////////////////////////////////////////////////
0e610a08 1875
cbf4f1cb 1876 TCanvas *can6 = new TCanvas("can6", "can6",1700,700,600,600);// 11,53,700,500
1877 can6->SetHighLightColor(2);
1878 gStyle->SetOptFit(0);// 0111 to show fit stat box
1879 can6->SetFillColor(0);//10
1880 can6->SetBorderMode(0);
1881 can6->SetBorderSize(2);
1882 can6->SetFrameFillColor(0);
1883 can6->SetFrameBorderMode(0);
1884 can6->SetFrameBorderMode(0);
1885 can6->cd();
1886 TPad *pad6 = new TPad("pad6","pad6",0.0,0.0,1.,1.);
1887 gPad->SetGridx(0);
1888 gPad->SetGridy(0);
1889 pad6->SetTopMargin(0.0);//0.05
1890 pad6->SetRightMargin(0.0);//3e-2
1891 pad6->SetBottomMargin(0.0);//0.12
1892 pad6->SetLeftMargin(0.0);//0.12
1893 pad6->Draw();
1894 pad6->cd();
1895 TLegend *legend8 = new TLegend(.17,.4, .5,.6,NULL,"brNDC");//.45 or .4 for x1
1896 legend8->SetBorderSize(0);
1897 legend8->SetFillColor(0);
1898 legend8->SetTextFont(TextFont);
1899 legend8->SetTextSize(0.8*SizeLegend);
1900 TLegend *legend9 = new TLegend(.17,.6, .6,.98,NULL,"brNDC");//.45 or .4 for x1
1901 legend9->SetBorderSize(0);
1902 legend9->SetFillColor(0);
1903 legend9->SetTextFont(TextFont);
1904 legend9->SetTextSize(0.8*SizeLegend);
1905 //
1906 gPad->SetLeftMargin(0.14);
1907 gPad->SetRightMargin(0.01);
1908 gPad->SetTopMargin(0.01);
1909 gPad->SetBottomMargin(0.14);
8eebdc9b 1910
cbf4f1cb 1911 gPad->SetTickx(); gPad->SetTicky();
1912 if(!NchOneThirdAxis) gPad->SetLogx();
1913 RadiiC2PbPb->GetXaxis()->SetLabelFont(TextFont); RadiiC2PbPb->GetYaxis()->SetLabelFont(TextFont);
1914 RadiiC2PbPb->GetXaxis()->SetLabelSize(SizeLabel*SF_2panel); RadiiC2PbPb->GetYaxis()->SetLabelSize(SizeLabel*SF_2panel);
1915 RadiiC2PbPb->GetXaxis()->SetLabelOffset(-0.01);
1916 RadiiC2PbPb->GetXaxis()->SetNdivisions(808);
1917 RadiiC2PbPb->GetXaxis()->SetTitleOffset(1.05);//1.3
1918 RadiiC2PbPb->GetYaxis()->SetTitleOffset(1.1);//1.1
1919 RadiiC2PbPb->GetXaxis()->SetTitleFont(TextFont); RadiiC2PbPb->GetXaxis()->SetTitleSize(SizeTitle);// SizeTitle*SF_2panel
1920 RadiiC2PbPb->GetYaxis()->SetTitleFont(TextFont); RadiiC2PbPb->GetYaxis()->SetTitleSize(SizeTitle);// SizeTitle*SF_2panel
1921 RadiiC2PbPb->SetMinimum(0.01); RadiiC2PbPb->SetMaximum(11.9);// 0 and 11.9
1922 //gStyle->SetErrorX(0);
1923 if(NchOneThirdAxis) RadiiC2PbPb->GetXaxis()->SetRangeUser(0,3000);// 0,3000
1924 else RadiiC2PbPb->GetXaxis()->SetRangeUser(3,3000);// 3,3000
1925 //
1926 //
1927 Parameters_Bjoern[0][0]->GetXaxis()->SetLabelFont(TextFont); Parameters_Bjoern[0][0]->GetYaxis()->SetLabelFont(TextFont);
1928 Parameters_Bjoern[0][0]->GetXaxis()->SetLabelSize(SizeLabel*SF_2panel); Parameters_Bjoern[0][0]->GetYaxis()->SetLabelSize(SizeLabel*SF_2panel);
1929 Parameters_Bjoern[0][0]->GetXaxis()->SetLabelOffset(-0.01);
1930 Parameters_Bjoern[0][0]->GetXaxis()->SetNdivisions(808);
1931 Parameters_Bjoern[0][0]->GetXaxis()->SetTitleOffset(1.05);//1.3
1932 Parameters_Bjoern[0][0]->GetYaxis()->SetTitleOffset(1.1);//1.1
1933 Parameters_Bjoern[0][0]->GetXaxis()->SetTitleFont(TextFont); Parameters_Bjoern[0][0]->GetXaxis()->SetTitleSize(SizeTitle);// SizeTitle*SF_2panel
1934 Parameters_Bjoern[0][0]->GetYaxis()->SetTitleFont(TextFont); Parameters_Bjoern[0][0]->GetYaxis()->SetTitleSize(SizeTitle);// SizeTitle*SF_2panel
1935 Parameters_Bjoern[0][0]->SetMinimum(0.01); Parameters_Bjoern[0][0]->SetMaximum(8.5);// 0 and 11.9
1936 //gStyle->SetErrorX(0);
1937 if(NchOneThirdAxis) Parameters_Bjoern[0][0]->GetXaxis()->SetRangeUser(0,3000);// 0,3000
1938 else Parameters_Bjoern[0][0]->GetXaxis()->SetRangeUser(3,3000);// 3,3000
1939
1940
1941 RadiiC2PbPb->GetXaxis()->SetTitle("#LT#font[12]{N}_{ch}#GT");
1942 RadiiC2PbPb->GetYaxis()->SetTitle("Radius (fm)");
1943 Parameters_Bjoern[0][0]->GetXaxis()->SetTitle("#LT#font[12]{N}_{ch}#GT");
1944 Parameters_Bjoern[0][0]->GetYaxis()->SetTitle("Radius (fm)");
1945
1946 RadiiC2PbPb->Draw();
0e610a08 1947
cbf4f1cb 1948
1949
1950 //int HydroCase=0;// 0 or 1
1951 //Parameters_Bjoern[HydroCase][0]->Draw("same");
1952 //Parameters_Bjoern[HydroCase][1]->Draw("same");
1953 //Parameters_Bjoern[HydroCase][2]->Draw("same");
1954
1955 legend8->AddEntry(RadiiC2pp,"ALICE pp","p");
1956 legend8->AddEntry(RadiiC2pPb,"ALICE p-Pb","p");
1957 legend8->AddEntry(RadiiC2PbPb,"ALICE Pb-Pb","p");
1958 //
1959 //legend8->AddEntry(Parameters_Bjoern[HydroCase][2],"IP-GLASMA pp (w/o hydro)","p");
1960 //legend8->AddEntry(Parameters_Bjoern[HydroCase][1],"IP-GLASMA p-Pb (w/o hydro)","p");
1961 //legend8->AddEntry(Parameters_Bjoern[HydroCase][0],"IP-GLASMA Pb-Pb (w/o hydro)","p");
1962
1963
1964 Parameters_Bjoern[0][0]->SetMarkerStyle(24); Parameters_Bjoern[0][1]->SetMarkerStyle(25); Parameters_Bjoern[0][2]->SetMarkerStyle(28);
1965
1966 //TMultiGraph *mg = new TMultiGraph();
1967 //mg->SetTitle("");
1968 TGraph *Radii_Bjoern[2][3];// Hydro case, CollType
1969 TGraph *grShade[3];// CollType
1970
1971 Radii_Bjoern[0][0] = new TGraph(10, Bjoern_xaxis_PbPb, Bjoern_Ri_PbPb[mchoice-1]);
1972 Radii_Bjoern[0][0]->SetLineWidth(2);
1973
1974 Radii_Bjoern[1][0] = new TGraph(10, Bjoern_xaxis_PbPb, Bjoern_Rhydro_PbPb[mchoice-1]);
1975 Radii_Bjoern[1][0]->SetLineWidth(2);
1976 Radii_Bjoern[1][0]->SetLineStyle(2);
1977 Radii_Bjoern[1][0]->SetFillStyle(1000);
1978 Radii_Bjoern[1][0]->SetFillColor(kGray);
1979 grShade[0] = new TGraph(10);
1980 for(int i=0; i<10; i++){
1981 grShade[0]->SetPoint(i,Bjoern_xaxis_PbPb[i],Bjoern_Rhydro_PbPb[mchoice-1][i]);
1982 grShade[0]->SetPoint(10+i,Bjoern_xaxis_PbPb[10-i-1],Bjoern_Ri_PbPb[mchoice-1][10-i-1]);
1983 }
1984 grShade[0]->SetFillStyle(1000);
1985 grShade[0]->SetFillColor(kGray);
1986 //
1987 Radii_Bjoern[0][1] = new TGraph(6, Bjoern_xaxis_pPb, Bjoern_Ri_pPb[mchoice-1]);
1988 Radii_Bjoern[0][1]->SetLineWidth(2);
1989 Radii_Bjoern[0][1]->SetLineColor(2);
1990 Radii_Bjoern[1][1] = new TGraph(6, Bjoern_xaxis_pPb, Bjoern_Rhydro_pPb[mchoice-1]);
1991 Radii_Bjoern[1][1]->SetLineWidth(2);
1992 Radii_Bjoern[1][1]->SetLineColor(2);
1993 Radii_Bjoern[1][1]->SetLineStyle(2);
1994 grShade[1] = new TGraph(6);
1995 for(int i=0; i<6; i++){
1996 grShade[1]->SetPoint(i,Bjoern_xaxis_pPb[i],Bjoern_Rhydro_pPb[mchoice-1][i]);
1997 grShade[1]->SetPoint(6+i,Bjoern_xaxis_pPb[6-i-1],Bjoern_Ri_pPb[mchoice-1][6-i-1]);
1998 }
1999 grShade[1]->SetFillStyle(1000);
2000 grShade[1]->SetFillColor(kRed-10);
2001 //
2002 Radii_Bjoern[0][2] = new TGraph(4, Bjoern_xaxis_pp, Bjoern_Ri_pp[mchoice-1]);
2003 Radii_Bjoern[0][2]->SetLineWidth(2);
2004 Radii_Bjoern[0][2]->SetLineColor(4);
2005 Radii_Bjoern[1][2] = new TGraph(4, Bjoern_xaxis_pp, Bjoern_Rhydro_pp[mchoice-1]);
2006 Radii_Bjoern[1][2]->SetLineWidth(2);
2007 Radii_Bjoern[1][2]->SetLineColor(4);
2008 Radii_Bjoern[1][2]->SetLineStyle(2);
2009 grShade[2] = new TGraph(4);
2010 for(int i=0; i<4; i++){
2011 grShade[2]->SetPoint(i,Bjoern_xaxis_pp[i],Bjoern_Rhydro_pp[mchoice-1][i]);
2012 grShade[2]->SetPoint(4+i,Bjoern_xaxis_pp[4-i-1],Bjoern_Ri_pp[mchoice-1][4-i-1]);
2013 }
2014 grShade[2]->SetFillStyle(1000);
2015 grShade[2]->SetFillColor(kBlue-10);
2016 //
2017 /*grShade[0]->Draw("f same");
2018 grShade[1]->Draw("f same");
2019 grShade[2]->Draw("f same");
2020 Radii_Bjoern[0][0]->Draw("l same");
2021 Radii_Bjoern[0][1]->Draw("l same");
2022 Radii_Bjoern[0][2]->Draw("l same");
2023 */
2024 grRadiiC2Sys_pp->Draw("|| p");
2025 grRadiiC2Sys_pPb->Draw("|| p");
2026 grRadiiC2Sys_PbPb->Draw("|| p");
2027 RadiiC2PbPb->Draw("same");
2028 RadiiC2pPb->Draw("same");
2029 RadiiC2pp->Draw("same");
2030
2031 //legend9->AddEntry(Radii_Bjoern[0][2],"GLASMA pp R_{initial}","l");
2032 //legend9->AddEntry(Radii_Bjoern[0][1],"GLASMA p-Pb R_{initial}","l");
2033 //legend9->AddEntry(Radii_Bjoern[0][0],"GLASMA Pb-Pb R_{initial}","l");
2034 //legend9->AddEntry(grShade[2],"GLASMA pp R_{hydro}","f");
2035 //legend9->AddEntry(grShade[1],"GLASMA p-Pb R_{hydro}","f");
2036 //legend9->AddEntry(grShade[0],"GLASMA Pb-Pb R_{hydro}","f");
2037 /*
2038 TF1 *fit1=new TF1("fit1","pol5",0,1000);
2039 fit1->SetLineColor(1);
2040 Radii_Bjoern[0][0]->Fit(fit1,"Q","",30,800);
2041 //fit1->Draw("same");
2042 //
2043 TF1 *fit2=new TF1("fit2","pol4",0,1000);
2044 Radii_Bjoern[0][1]->Fit(fit2,"Q","",4,70);
2045 //fit2->Draw("same");
2046 //
2047 TF1 *fit3=new TF1("fit3","pol4",0,1000);
2048 fit3->SetLineColor(1);
2049 Radii_Bjoern[0][2]->Fit(fit3,"Q","",4,27);
2050 //fit3->Draw("same");
2051
2052 TH1D *BjoernRatio_PbPb = (TH1D*)RadiiC2PbPb->Clone();
2053 TH1D *BjoernRatio_pPb = (TH1D*)RadiiC2pPb->Clone();
2054 TH1D *BjoernRatio_pp = (TH1D*)RadiiC2pp->Clone();
2055 for(int point=0; point<20; point++){
2056 int bin = BjoernRatio_PbPb->GetXaxis()->FindBin(meanNchPbPb[point]);
2057 if(meanNchPbPb[point] > Bjoern_xaxis_PbPb[8]) {BjoernRatio_PbPb->SetBinContent(bin,0); continue;}
2058 if(BjoernRatio_PbPb->GetBinContent(bin) < 0.5 || BjoernRatio_PbPb->GetBinContent(bin) > 12) BjoernRatio_PbPb->SetBinContent(bin,0);
2059 else{
2060 // double xx =
2061 BjoernRatio_PbPb->SetBinContent(bin, BjoernRatio_PbPb->GetBinContent(bin) / fit1->Eval(meanNchPbPb[point]));
2062 }
2063 }
2064 for(int point=0; point<20; point++){
2065 int bin = BjoernRatio_pPb->GetXaxis()->FindBin(meanNchpPb[point]);
2066 if(meanNchpPb[point] > Bjoern_xaxis_pPb[5]) {BjoernRatio_pPb->SetBinContent(bin,0); continue;}
2067 if(BjoernRatio_pPb->GetBinContent(bin) < 0.5 || BjoernRatio_pPb->GetBinContent(bin) > 12) BjoernRatio_pPb->SetBinContent(bin,0);
2068 else{
2069 BjoernRatio_pPb->SetBinContent(bin, BjoernRatio_pPb->GetBinContent(bin) / fit2->Eval(meanNchpPb[point]));
2070 }
2071 }
2072 for(int point=0; point<20; point++){
2073 int bin = BjoernRatio_pp->GetXaxis()->FindBin(meanNchpp[point]);
2074 if(meanNchpp[point] > Bjoern_xaxis_pp[3]) {BjoernRatio_pp->SetBinContent(bin,0); continue;}
2075 if(BjoernRatio_pp->GetBinContent(bin) < 0.5 || BjoernRatio_pp->GetBinContent(bin) > 12) BjoernRatio_pp->SetBinContent(bin,0);
2076 else{
2077 BjoernRatio_pp->SetBinContent(bin, BjoernRatio_pp->GetBinContent(bin) / fit2->Eval(meanNchpp[point]));
2078 }
2079 }
2080 BjoernRatio_PbPb->SetMinimum(0.55); BjoernRatio_PbPb->SetMaximum(1.45);
2081 BjoernRatio_PbPb->GetYaxis()->SetTitle("Radius Ratio (ALICE/GLASMA)");
2082 BjoernRatio_PbPb->Draw();
2083 BjoernRatio_pPb->Draw("same");
2084 BjoernRatio_pp->Draw("same");
2085 */
2086
2087 //legend8->AddEntry(Parameters_Bjoern[0][2],"pp R_{initial} (no hydro)","p");
2088 //legend8->AddEntry(Parameters_Bjoern[0][1],"p-Pb R_{initial} (no hydro)","p");
2089 //legend8->AddEntry(Parameters_Bjoern[0][0],"Pb-Pb R_{initial} (no hydro)","p");
2090 //legend9->AddEntry(Parameters_Bjoern[1][2],"pp R_{max} (hydro)","p");
2091 //legend9->AddEntry(Parameters_Bjoern[1][1],"p-Pb R_{max} (hydro)","p");
2092 //legend9->AddEntry(Parameters_Bjoern[1][0],"Pb-Pb R_{max} (hydro)","p");
2093
2094 legend8->Draw("same");
2095 legend9->Draw("same");
0e610a08 2096 // Normalization plots
2097 // ct, ft, KT3, par
2098 //Parameters_C2[2][0][0][0]->Draw();
2099
b2c0d4ba 2100
2101
8eebdc9b 2102
2103}
2104//____________________________________________________________________________________________________
2105void DrawALICELogo(Bool_t prel, Float_t x1, Float_t y1, Float_t x2, Float_t y2)
2106{
2107 // revision on July 24th or 25th 2012
2108 // correct for aspect ratio of figure plus aspect ratio of pad (coordinates are NDC!)
2109 x2 = x1 + (y2 - y1) * (466. / 523) * gPad->GetWh() * gPad->GetHNDC() / (gPad->GetWNDC() * gPad->GetWw());
2110 // Printf("%f %f %f %f", x1, x2, y1, y2);
2111
2112 TPad *myPadLogo = new TPad("myPadLogo", "Pad for ALICE Logo", x1, y1, x2, y2);
2113 myPadLogo->SetLeftMargin(0);
2114 myPadLogo->SetTopMargin(0);
2115 myPadLogo->SetRightMargin(0);
2116 myPadLogo->SetBottomMargin(0);
2117 myPadLogo->Draw();
2118 myPadLogo->cd();
5130881c 2119 TASImage *myAliceLogo = new TASImage((prel) ? "~/Pictures/2011-Nov-24-ALICE_PRELIMARY_logo_BLACK_small_usage_design.eps" : "~/Pictures/2011-Nov-24-ALICE_PERFORMANCE_logo_BLACK_small_usage_design.eps");
8eebdc9b 2120 myAliceLogo->Draw();
2121}
b2c0d4ba 2122//____________________________________________________________________________________________________
2123TCanvas *make_canvas(const Char_t *name, const Char_t *title, Int_t n_x, Int_t n_y, Int_t share_axes, Int_t ww, Int_t wh){
2124 const Int_t width=350;
2125 const Int_t height=350;
2126 TCanvas *canvas;
2127
2128 if (share_axes==0) {
2129 if (ww==0)
2130 ww=width*n_x;
2131 if (wh==0)
2132 wh=height*n_y;
2133 canvas=new TCanvas(name,title,10,0,ww,wh);
2134 canvas->SetTopMargin(0.01);
2135 canvas->SetRightMargin(0.01);
5be394f6 2136 canvas->SetLeftMargin(0.14);
2137 canvas->SetBottomMargin(0.18);
b2c0d4ba 2138
2139 canvas->Divide(n_x,n_y,0,0);
2140 }
2141 else {
2142 Float_t pix_width=(1-gStyle->GetPadLeftMargin()-gStyle->GetPadRightMargin())*width;
2143 Float_t pix_height=(1-gStyle->GetPadTopMargin()-gStyle->GetPadBottomMargin())*height;
2144 if (ww==0)
2145 ww=width+(n_x-1)*pix_width;
2146 if (wh==0)
2147 wh=height+(n_y-1)*pix_height;
2148
2149 canvas=new TCanvas(name,title,ww,wh);
2150 canvas->SetTopMargin(0); canvas->SetBottomMargin(0);
2151 canvas->SetLeftMargin(0); canvas->SetRightMargin(0);
2152 Float_t tot_width;
2153 if (n_x>1)
2154 tot_width=(n_x-2)+1./(1-gStyle->GetPadLeftMargin())
2155 +1./(1-gStyle->GetPadRightMargin());
2156 else
2157 tot_width=1./(1-gStyle->GetPadLeftMargin()-gStyle->GetPadRightMargin());
2158 Float_t tot_height;
2159 if (n_y>1)
2160 tot_height=(n_y-2)+1./(1-gStyle->GetPadTopMargin())
2161 +1./(1-gStyle->GetPadBottomMargin());
2162 else
2163 tot_height=1./(1-gStyle->GetPadTopMargin()-gStyle->GetPadBottomMargin());
8eebdc9b 2164
b2c0d4ba 2165 //Int_t idx=n_x*n_y;
2166
2167 for (Int_t j=0; j<n_y; j++) {
2168 for (Int_t i=0; i<n_x; i++) {
2169 //for (Int_t j=n_y-1; j>=0; j--) {
2170 //for (Int_t i=n_x-1; i>=0; i--) {
2171 Char_t tmp_str[256];
2172 Char_t p_title[256];
2173 Int_t idx=n_x*j+i+1;
2174 sprintf(tmp_str,"%s_%d",canvas->GetName(),idx);
2175 sprintf(p_title,"Pad %d",idx);
2176 Float_t x1=0,y1=0;
2177 Float_t x2=1,y2=1;
2178 if (n_x>1) {
2179 if (i==0)
2180 x2=1./(1-gStyle->GetPadLeftMargin())/tot_width;
2181 else {
2182 x1=(1./(1-gStyle->GetPadLeftMargin())+i-1)/tot_width;
2183 if (i<n_x-1)
2184 x2=(1./(1-gStyle->GetPadLeftMargin())+i)/tot_width;
2185 }
2186 }
2187 if (n_y>1) {
2188 if (j==0)
2189 y1=1-1./(1-gStyle->GetPadTopMargin())/tot_height;
2190 else {
2191 y2=1-(1./(1-gStyle->GetPadTopMargin())+j-1)/tot_height;
2192 if (j<n_y-1)
2193 y1=1-(1./(1-gStyle->GetPadTopMargin())+j)/tot_height;
2194 }
2195 }
2196 //cout << "x1 " << x1 << ", x2 " << x2 << endl;
2197 TPad *pad=new TPad(tmp_str,title,x1,y1,x2,y2);
2198 //pad->SetFillColor(idx+1);
2199 if (i>0)
2200 pad->SetLeftMargin(0.001);
2201 if (i<n_x-1)
2202 pad->SetRightMargin(0.001);
2203 if (j>0)
2204 pad->SetTopMargin(0.001);
2205 if (j<n_y-1)
2206 pad->SetBottomMargin(0.001);
2207
2208
2209 pad->SetNumber(idx);
2210 //pad->SetNumber(n_x*j+i+1);
2211 pad->Draw();
2212 //idx--;
2213 //idx++;
2214 //pad->SetP
2215 }
2216 }
2217 }
2218
2219 return canvas;
2220}