]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/macros/Plot_plotsTPR.C
(For the train) small change in the macro with parameters.
[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"
8eebdc9b 30
31#define BohrR 1963.6885
32#define FmToGeV 0.19733 // conversion to fm
33#define PI 3.1415926
34#define masspiC 0.1395702 // pi+ mass (GeV/c^2)
35
36using namespace std;
37
38bool SaveFiles=kFALSE;
5be394f6 39const int KT3Bin=0;// Kt3 bin. 0-1
b2c0d4ba 40int FitType=1;// 0 (Gaussian), 1 (Edgeworth)
5be394f6 41bool p_pPb_Comp=0;
8eebdc9b 42bool AddedCC=kTRUE;// Charge Conjugate already added?
0e610a08 43bool NchOneThirdAxis=0;
8eebdc9b 44//
5130881c 45int MbinMaxPbPb=15;// 15
0e610a08 46int MbinMinpPb=12;// 13
5be394f6 47int MbinMinpp=13;// 14
5130881c 48int MbinMinPbPb=0;// 0
49int MbinMaxpPb=18;// 18
8eebdc9b 50//
51//
5130881c 52//
53const int MaxKT3Bins=2;
8eebdc9b 54int TextFont=42;// 63, or 42
5be394f6 55float SizeLabel=0.06;// 20(63 font), 0.08(42 font)
56float SizeLegend=0.05;//
57float SizeTitle=0.06;//
58float SizeSpecif=0.05;//
b2c0d4ba 59
60
61
8eebdc9b 62
63double RightMargin=0.002;// 0.002
64//
65double Chi2_C2global;
66double NFitPoints_C2global;
67TH1D *C2_ss[20];
68TH1D *C2_os[20];
69
70
71
72void DrawALICELogo(Bool_t, Float_t, Float_t, Float_t, Float_t);
b2c0d4ba 73TCanvas *make_canvas(const Char_t*,const Char_t*,Int_t,Int_t,Int_t,Int_t,Int_t);
8eebdc9b 74
75void Plot_plotsTPR(){
76
77 gStyle->SetOptStat(0);
78 gStyle->SetOptDate(0);
5be394f6 79 //gStyle->SetOptFit(0111);
b2c0d4ba 80
8eebdc9b 81 ////////////////////////////////////
82 // Get Nrec to Nch mapping
83 double meanNchPbPb[20]={0};
b2c0d4ba 84 //double meanNchPbPb_e[20]={0};
8eebdc9b 85 double meanNchpPb[20]={0};
b2c0d4ba 86 //double meanNchpPb_e[20]={0};
8eebdc9b 87 double meanNchpp[20]={0};
b2c0d4ba 88 //double meanNchpp_e[20]={0};
8eebdc9b 89 TFile *NrecMapFile;
90 TH2D *NrecMap;
91 TList *MyList;
92 //
0e610a08 93 NrecMapFile = new TFile("Results/NrecMapping_12a17a_NclsFix.root","READ");// standard
94 //NrecMapFile = new TFile("Results/NrecMapping_12a17a.root","READ");// v5 and before (with P < 1.0 cut)
95 //NrecMapFile = new TFile("Results/NrecMapping_12a17a_TuneOnData.root","READ");
5be394f6 96 //NrecMapFile = new TFile("Results/Old_NrecMappingFiles/NrecMapping_12a17a.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 97 //NrecMapFile = new TFile("Results/NrecMapping_12a11a.root","READ");// MC variation
8eebdc9b 98 MyList=(TList*)NrecMapFile->Get("MyList");
0e610a08 99 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");// Nch
100 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");// Npions
5130881c 101 for(int bin=1; bin<=2; bin++){// 1 to 2 (FB7), 1 to 1 (AMPT), 1 to 4 (FB5and7overlap)
8eebdc9b 102 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 103 if(NrecMap->GetMean(2)>0) {
104 meanNchPbPb[bin-1] = NrecMap->GetMean(2);
105 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
106 }
0e610a08 107 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchPbPb[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 108 }
109 NrecMapFile->Close();
110 //
0e610a08 111 NrecMapFile = new TFile("Results/NrecMapping_12a17e_NclsFix.root","READ");// standard
112 //NrecMapFile = new TFile("Results/NrecMapping_12a17e.root","READ");// v5 and before (with P < 1.0 cut)
113 //NrecMapFile = new TFile("Results/NrecMapping_12a17e_TuneOnData.root","READ");
5be394f6 114 //NrecMapFile = new TFile("Results/Old_NrecMappingFiles/NrecMapping_12a17e.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 115 //NrecMapFile = new TFile("Results/NrecMapping_12a11b.root","READ");// MC variation
8eebdc9b 116 MyList=(TList*)NrecMapFile->Get("MyList");
117 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
0e610a08 118 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");
5130881c 119 for(int bin=3; bin<=10; bin++){// 3 to 10 (FB7), 2 to 3 (AMPT), 5 to 12 (FB5and7overlap)
8eebdc9b 120 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 121 if(NrecMap->GetMean(2)>0) {
122 meanNchPbPb[bin-1] = NrecMap->GetMean(2);
123 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
124 }
0e610a08 125 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchPbPb[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 126 }
127 NrecMapFile->Close();
128 //
5130881c 129 ////////////////////// extra for AMPT
130 /*NrecMapFile = new TFile("Results/NrecMapping_12a11d.root","READ");
131 MyList=(TList*)NrecMapFile->Get("MyList");
132 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
133 for(int bin=4; bin<=7; bin++){// 4 to 7 (AMPT)
134 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
135 if(NrecMap->GetMean(2)>0) meanNchPbPb[bin-1] = log10(NrecMap->GetMean(2));
136 }
137 NrecMapFile->Close();*/
138 //////////////////////////////////////////
139 //
0e610a08 140 NrecMapFile = new TFile("Results/NrecMapping_12a17c_NclsFix.root","READ");// standard
141 //NrecMapFile = new TFile("Results/NrecMapping_12a17c.root","READ");// v5 and before (with P < 1.0 cut)
142 //NrecMapFile = new TFile("Results/NrecMapping_12a17c_TuneOnData.root","READ");
5be394f6 143 //NrecMapFile = new TFile("Results/Old_NrecMappingFiles/NrecMapping_12a17c.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 144 //NrecMapFile = new TFile("Results/NrecMapping_12a11g.root","READ");// MC variation
8eebdc9b 145 MyList=(TList*)NrecMapFile->Get("MyList");
146 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
0e610a08 147 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");
5130881c 148 for(int bin=11; bin<=19; bin++){// 11 to 19 (FB7), 1 to 1 (AMPT), 13 to 19 (FB5and7overlap)
8eebdc9b 149 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 150 if(NrecMap->GetMean(2)>0) {
151 meanNchPbPb[bin-1] = NrecMap->GetMean(2);
152 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
153 }
0e610a08 154 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchPbPb[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 155 }
156 NrecMapFile->Close();
0e610a08 157 ///cout<<endl;
8eebdc9b 158 //
0e610a08 159 NrecMapFile = new TFile("Results/NrecMapping_13b2_efix_NclsFix.root","READ");// standard
160 //NrecMapFile = new TFile("Results/NrecMapping_13b2_efix_p1.root","READ");// v5 and before (with P < 1.0 cut)
161 //NrecMapFile = new TFile("Results/NrecMapping_13b2_TuneOnData.root","READ");
5be394f6 162 //NrecMapFile = new TFile("Results/PDC_13b2_efix_p1_R2.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 163 //NrecMapFile = new TFile("Results/NrecMapping_13b3.root","READ");// MC variation
8eebdc9b 164 MyList=(TList*)NrecMapFile->Get("MyList");
165 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
0e610a08 166 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");
8eebdc9b 167 for(int bin=10; bin<=20; bin++){
168 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 169 if(NrecMap->GetMean(2)>0) {
170 meanNchpPb[bin-1] = NrecMap->GetMean(2);
171 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
172 }
0e610a08 173 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchpPb[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 174 }
175 NrecMapFile->Close();
0e610a08 176 //cout<<endl;
8eebdc9b 177 //
0e610a08 178 NrecMapFile = new TFile("Results/NrecMapping_10f6a_NclsFix.root","READ");// standard
179 //NrecMapFile = new TFile("Results/NrecMapping_10f6a.root","READ");// v5 (with P < 1.0 cut)
180 //NrecMapFile = new TFile("Results/NrecMapping_10f6a_TuneOnData.root","READ");
5be394f6 181 //NrecMapFile = new TFile("Results/PDC_10f6a_R2.root","READ");// paper v1 file (without P < 1.0 cut)
5130881c 182 //NrecMapFile = new TFile("Results/NrecMapping_10f6.root","READ");// MC variation
8eebdc9b 183 MyList=(TList*)NrecMapFile->Get("MyList");
184 NrecMap = (TH2D*)MyList->FindObject("fNchTrueDist");
0e610a08 185 //NrecMap = (TH2D*)MyList->FindObject("fNpionTrueDist");
8eebdc9b 186 for(int bin=10; bin<=20; bin++){
187 NrecMap->GetXaxis()->SetRangeUser(bin,bin);
5be394f6 188 if(NrecMap->GetMean(2)>0) {
189 meanNchpp[bin-1] = NrecMap->GetMean(2);
190 //cout<<NrecMap->GetMean(2)<<" "<<fabs(NrecMap->GetRMS(2))/NrecMap->GetMean(2)<<endl;
191 }
0e610a08 192 if(NchOneThirdAxis) if(NrecMap->GetMean(2)>0) meanNchpp[bin-1] = pow(NrecMap->GetMean(2),1/3.);
8eebdc9b 193 }
194 NrecMapFile->Close();
0e610a08 195 //cout<<endl;
196
5130881c 197 //for(int i=0; i<20; i++) cout<<pow(10,meanNchPbPb[i])<<endl;
8eebdc9b 198 //cout<<"+++++++++++++++"<<endl;
5130881c 199 //for(int i=0; i<20; i++) cout<<pow(10,meanNchpPb[i])<<endl;
8eebdc9b 200 //cout<<"+++++++++++++++"<<endl;
5be394f6 201 //for(int i=0; i<20; i++) cout<<meanNchpp[i]<<endl;
8eebdc9b 202
203 TFile *ExRangeFile=new TFile("Results/ExtendedQ3rangeM0.root","READ");
204 TList *ExList=(TList*)ExRangeFile->Get("MyList");
205 TH1D *ExRangeTerm1=(TH1D*)ExList->FindObject("fExtendedQ3Histo_term1");
206 TH1D *ExRangeTerm2=(TH1D*)ExList->FindObject("fExtendedQ3Histo_term2");
207 TH1D *ExRangeTerm5=(TH1D*)ExList->FindObject("fExtendedQ3Histo_term5");
208 ExRangeTerm1->SetDirectory(0); ExRangeTerm2->SetDirectory(0); ExRangeTerm5->SetDirectory(0);
209 ExRangeFile->Close();
210 ExRangeTerm1->Sumw2(); ExRangeTerm2->Sumw2(); ExRangeTerm5->Sumw2();
211 ExRangeTerm2->Scale(ExRangeTerm1->Integral(25,29)/ExRangeTerm2->Integral(25,29));
212 ExRangeTerm5->Scale(ExRangeTerm1->Integral(25,29)/ExRangeTerm5->Integral(25,29));
213 float TwoFrac=0.7;
214 float OneFrac=pow(TwoFrac,.5);
215 float ThreeFrac=pow(TwoFrac,1.5);
216 // Purify. Isolate pure 3-pion QS correlations using Lambda and K3 (removes lower order correlations)
217 ExRangeTerm1->Add(ExRangeTerm5, -(pow(1-OneFrac,3) + 3*OneFrac*pow(1-OneFrac,2)));
218 ExRangeTerm1->Add(ExRangeTerm2, -3*(1-OneFrac));
219 ExRangeTerm1->Add(ExRangeTerm5, (1-OneFrac)*3*(1-TwoFrac));
220 ExRangeTerm1->Scale(1/ThreeFrac);
8eebdc9b 221 // Isolate 3-pion cumulant
222 ExRangeTerm1->Add(ExRangeTerm2, -3/TwoFrac);
223 ExRangeTerm1->Add(ExRangeTerm5, 3*(1-TwoFrac)/TwoFrac);
224 ExRangeTerm1->Add(ExRangeTerm5, 3);
225 ExRangeTerm1->Divide(ExRangeTerm5);
226 ExRangeTerm1->SetMarkerStyle(20);
227 ExRangeTerm1->SetMarkerColor(1);
228
229 //
230 TF1 *MixedChargeSysFit=new TF1("MixedChargeSysFit","[0]+[1]*exp(-pow([2]*x/0.19733,2))",0,.5);
8eebdc9b 231 //
b2c0d4ba 232 TF1 *Fit_C2[3][2][3][20];// CollType, Gauss/EW, EDbin, cb
0e610a08 233 TH1D *Parameters_C2[3][2][3][6];// CollType, Gauss/EW, EDbin, Parameter#
8eebdc9b 234 TH1D *C2[3][3][20];// CollType, EDbin, cb
235 TH1D *C2_Sys[3][3][20];// CollType, EDbin, cb
236 TH1D *C3[3][2][2][3][20];// CollType, Real/MonteCarlo, SC/MC, EDbin, cb
237 TH1D *c3[3][2][2][3][20];// CollType, Real/MonteCarlo, SC/MC, EDbin, cb
238 TH1D *C3_Sys[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
b2c0d4ba 240 TF1 *c3_fit[3][2][3][20];// CollType, Gauss/EW, EDbin, cb
0e610a08 241 TGraph *gr_c3Spline[3][3][20];// CollType, EDbin, cb
242 TF1 *c3_mixedChargeSysFit[3][2][20];// CollType, EDbin, cb
243 TH1D *Parameters_c3[3][2][3][6];// CollType, Gaussian/EW, EDbin, Parameter#
244
8eebdc9b 245 for(int ct=0; ct<3; ct++){
b2c0d4ba 246 for(int ft=0; ft<2; ft++){// Gaussian or EW
247 for(int kt3=0; kt3<3; kt3++){
0e610a08 248 for(int par=0; par<6; par++){
b2c0d4ba 249 TString *name_C2=new TString("Parameters_C2_");
250 *name_C2 += ct;
251 *name_C2 += ft;
252 *name_C2 += kt3;
253 *name_C2 += par;
254 TString *name_c3=new TString("Parameters_c3_");
255 *name_c3 += ct;
256 *name_c3 += ft;
257 *name_c3 += kt3;
258 *name_c3 += par;
0e610a08 259
260 if(NchOneThirdAxis) {
261 Parameters_C2[ct][ft][kt3][par] = new TH1D(name_C2->Data(),"",3000,1,13.5);// Nch^(1/3)
262 Parameters_c3[ct][ft][kt3][par] = new TH1D(name_c3->Data(),"",3000,1,13.5);// Nch^(1/3)
263 }else{
264 Parameters_C2[ct][ft][kt3][par] = new TH1D(name_C2->Data(),"",30000,1,3001);// Nch
265 Parameters_c3[ct][ft][kt3][par] = new TH1D(name_c3->Data(),"",30000,1,3001);// Nch
266 }
b2c0d4ba 267 }
8eebdc9b 268 }
269 }
270 }
b2c0d4ba 271
5be394f6 272 TH1D *RadiiC2pp_Published = new TH1D("RadiiC2pp_Published","",3000,1.0,3001);
8eebdc9b 273 //
274 double N_1 = 0, N_1_e=0;
275 double lambda_1 = 0, lambda_1_e=0;
276 double radius_1 = 0, radius_1_e=0;
277 double EW1_1 = 0, EW1_1_e=0;
278 double EW2_1 = 0, EW2_1_e=0;
b2c0d4ba 279
280
8eebdc9b 281 // Start File access
282 for(int ct=0; ct<3; ct++){
b2c0d4ba 283 for(int dt=0; dt<2; dt++){// data type (Real or Monte Carlo)
8eebdc9b 284 if(ct==0 && dt==1) continue; // no MC for PbPb
285 for(int cb=0; cb<20; cb++){
5130881c 286 if(ct==0 && cb<MbinMinPbPb) continue;
8eebdc9b 287 if(ct==0 && cb>MbinMaxPbPb) continue;
5130881c 288 if(ct==1 && cb>MbinMaxpPb) continue;
8eebdc9b 289 if(ct==1 && cb<MbinMinpPb) continue;
290 if(ct==2 && cb<MbinMinpp) continue;
291 if(ct==2 && dt==1 && cb<=13) continue;// no Pythia data for cb=13
292 for(int ChComb=0; ChComb<2; ChComb++) {// SC or MC
293 for(int ch=0; ch<1; ch++) {// - or +
5130881c 294 for(int KT3=0; KT3<MaxKT3Bins; KT3++) {// Kt3 bin
8eebdc9b 295 if(dt==1 && KT3>0) continue;// no MC data yet for higher kt3
296 TString *name3 = new TString("OutFiles/OutFile");
297 if(ct==0) name3->Append("PbPb");
298 if(ct==1) name3->Append("pPb");
299 if(ct==2) name3->Append("pp");
300 if(dt==1) name3->Append("MonteCarlo");
301 if(ChComb==0) name3->Append("SC");
302 else name3->Append("MC");
303 if(ch==0) name3->Append("Neg");
304 else name3->Append("Pos");
0e610a08 305
8eebdc9b 306 name3->Append("Kt3_");
307 *name3 += KT3+1;
308 name3->Append("_M");
309 *name3 += cb;
310 name3->Append(".root");
0e610a08 311
8eebdc9b 312 TFile *file=new TFile(name3->Data(),"READ");
313 //
0e610a08 314
b2c0d4ba 315
8eebdc9b 316 if(ch==0) {
317 C3[ct][dt][ChComb][KT3][cb]=(TH1D*)file->Get("C3");
318 C3[ct][dt][ChComb][KT3][cb]->SetDirectory(0);
319 C3[ct][dt][ChComb][KT3][cb]->SetMarkerStyle(24+ct);
320 c3[ct][dt][ChComb][KT3][cb]=(TH1D*)file->Get("c3");
321 c3[ct][dt][ChComb][KT3][cb]->SetDirectory(0);
322 c3[ct][dt][ChComb][KT3][cb]->SetMarkerStyle(20+ct);
323 if(dt==1) {c3[ct][dt][ChComb][KT3][cb]->SetMarkerStyle(28);}
324 C3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetRangeUser(0,0.5);
325
326 C3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetRangeUser(0,0.5);
327 C3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetLabelFont(TextFont); C3[ct][dt][ChComb][KT3][cb]->GetYaxis()->SetLabelFont(TextFont);
8eebdc9b 328 C3[ct][dt][ChComb][KT3][cb]->GetYaxis()->SetTitleFont(TextFont);
329 c3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetRangeUser(0,0.5);
330 c3[ct][dt][ChComb][KT3][cb]->GetXaxis()->SetLabelFont(TextFont); c3[ct][dt][ChComb][KT3][cb]->GetYaxis()->SetLabelFont(TextFont);
8eebdc9b 331 c3[ct][dt][ChComb][KT3][cb]->GetYaxis()->SetTitleFont(TextFont);
332 if(ct==0) {
333 C3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(1); C3[ct][dt][ChComb][KT3][cb]->SetLineColor(1);
334 c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(1); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(1);
335 }else if(ct==1){
336 C3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(2); C3[ct][dt][ChComb][KT3][cb]->SetLineColor(2);
337 c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(2); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(2);
338 if(dt==1) {c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(1); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(1);}
339 }else {
340 C3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(4); C3[ct][dt][ChComb][KT3][cb]->SetLineColor(4);
341 c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(4); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(4);
342 if(dt==1) {c3[ct][dt][ChComb][KT3][cb]->SetMarkerColor(1); c3[ct][dt][ChComb][KT3][cb]->SetLineColor(1);}
343 }
b2c0d4ba 344
8eebdc9b 345 if(dt==0) {
346 if(ChComb==0) {
347 C2[ct][KT3][cb]=(TH1D*)file->Get("C2_ss");
0e610a08 348 Fit_C2[ct][0][KT3][cb]=(TF1*)file->Get("fitC2ss_Base");// was fitC2ss_Gauss
349 Fit_C2[ct][1][KT3][cb]=(TF1*)file->Get("fitC2ss_Expan");// fitC2ss_EW
8eebdc9b 350 C2_Sys[ct][KT3][cb]=(TH1D*)C2[ct][KT3][cb]->Clone();
351 if(ct==0){
352 C2[ct][KT3][cb]->SetMarkerColor(1); C2[ct][KT3][cb]->SetLineColor(1);
8eebdc9b 353 C2_Sys[ct][KT3][cb]->SetFillColor(kGray);
354 }else if(ct==1){
355 C2[ct][KT3][cb]->SetMarkerColor(2); C2[ct][KT3][cb]->SetLineColor(2);
8eebdc9b 356 C2_Sys[ct][KT3][cb]->SetFillColor(kRed-10);
357 }else{
358 C2[ct][KT3][cb]->SetMarkerColor(4); C2[ct][KT3][cb]->SetLineColor(4);
8eebdc9b 359 C2_Sys[ct][KT3][cb]->SetFillColor(kBlue-10);
360 }
361 C2_Sys[ct][KT3][cb]->SetMarkerSize(0); C2_Sys[ct][KT3][cb]->SetFillStyle(1000);
362 // C2 Systematics
363 for(int bin=1; bin<=C2_Sys[ct][KT3][cb]->GetNbinsX(); bin++){
364 C2_Sys[ct][KT3][cb]->SetBinError(bin, 0.01*C2_Sys[ct][KT3][cb]->GetBinContent(bin));
365 }
b2c0d4ba 366 C2[ct][KT3][cb]->SetDirectory(0); //Fit_h_C2[ct][KT3][cb]->SetDirectory(0);
8eebdc9b 367 C2_Sys[ct][KT3][cb]->SetDirectory(0);
368 C2[ct][KT3][cb]->SetMarkerStyle(24+ct);
369 C2[ct][KT3][cb]->GetXaxis()->SetRangeUser(0,0.33);
370 C2[ct][KT3][cb]->GetXaxis()->SetLabelFont(TextFont); C2[ct][KT3][cb]->GetYaxis()->SetLabelFont(TextFont);
371 C2[ct][KT3][cb]->GetXaxis()->SetTitleOffset(1.2); C2[ct][KT3][cb]->GetYaxis()->SetTitleOffset(1.2);
372 C2[ct][KT3][cb]->GetXaxis()->SetTitleFont(TextFont); C2[ct][KT3][cb]->GetYaxis()->SetTitleFont(TextFont);
b2c0d4ba 373 C2[ct][KT3][cb]->GetXaxis()->SetTitleSize(SizeTitle); //C2[ct][KT3][cb]->GetYaxis()->SetTitleFont(SizeTitle*SF2);
b2c0d4ba 374 //
0e610a08 375
376 c3_fit[ct][0][KT3][cb]=(TF1*)file->Get("c3Fit1D_Base");// was c3Fit1D_Gauss
377 c3_fit[ct][1][KT3][cb]=(TF1*)file->Get("c3Fit1D_Expan");// was c3Fit1D_EW
b2c0d4ba 378 c3_fit[ct][0][KT3][cb]->SetLineStyle(2);
379 c3_fit[ct][1][KT3][cb]->SetLineStyle(1);
b2c0d4ba 380 if(ct==0) {c3_fit[ct][0][KT3][cb]->SetLineColor(1); c3_fit[ct][1][KT3][cb]->SetLineColor(1);}
381 if(ct==1) {c3_fit[ct][0][KT3][cb]->SetLineColor(2); c3_fit[ct][1][KT3][cb]->SetLineColor(2);}
382 if(ct==2) {c3_fit[ct][0][KT3][cb]->SetLineColor(4); c3_fit[ct][1][KT3][cb]->SetLineColor(4);}
0e610a08 383 gr_c3Spline[ct][KT3][cb] = (TGraph*)file->Get("gr_c3Spline");// Spline of a spline + TF1
b2c0d4ba 384 }// ChComb==0
385
8eebdc9b 386 }
387 }else{
0e610a08 388
8eebdc9b 389 if(ChComb==0){
390 N_1 = 0; N_1_e=0;
391 lambda_1 = 0; lambda_1_e=0;
392 radius_1 = 0; radius_1_e=0;
393 EW1_1 = 0; EW1_1_e=0;
394 EW2_1 = 0; EW2_1_e=0;
8eebdc9b 395 //
396 if(!AddedCC){
b2c0d4ba 397 cout<<"Not Supported!!"<<endl;
8eebdc9b 398 }
399 }
400 //
401 if(!AddedCC){
b2c0d4ba 402 cout<<"Not Supported!!"<<endl;
8eebdc9b 403 }
404 }// ch==1
b2c0d4ba 405
406
8eebdc9b 407 for(int bin=1; bin<10; bin++){// Remove large error bins
b2c0d4ba 408 if(C3[ct][dt][ChComb][KT3][cb]->GetBinError(bin) > 0.33*C3[ct][dt][ChComb][KT3][cb]->GetBinContent(bin)){
8eebdc9b 409 C3[ct][dt][ChComb][KT3][cb]->SetBinContent(bin,10); C3[ct][dt][ChComb][KT3][cb]->SetBinError(bin,10);
410 }
b2c0d4ba 411 if(c3[ct][dt][ChComb][KT3][cb]->GetBinError(bin) > 0.33*c3[ct][dt][ChComb][KT3][cb]->GetBinContent(bin)){
8eebdc9b 412 c3[ct][dt][ChComb][KT3][cb]->SetBinContent(bin,10); c3[ct][dt][ChComb][KT3][cb]->SetBinError(bin,10);
413 }
0e610a08 414
8eebdc9b 415 }
b2c0d4ba 416
8eebdc9b 417 if(AddedCC && dt==0){
5be394f6 418 if(ct==0 || ct==1) c3[ct][dt][ChComb][KT3][cb]->SetMarkerSize(1.12*C3[ct][dt][ChComb][KT3][cb]->GetMarkerSize());
419 else c3[ct][dt][ChComb][KT3][cb]->SetMarkerSize(1.2*C3[ct][dt][ChComb][KT3][cb]->GetMarkerSize());
0e610a08 420
8eebdc9b 421 //
b2c0d4ba 422 if(ChComb==0){
423 double logNch=0;
424 if(ct==0) logNch=meanNchPbPb[cb];
425 else if(ct==1) logNch=meanNchpPb[cb];
426 else logNch=meanNchpp[cb];
427 int logNchBin = Parameters_c3[ct][0][KT3][0]->GetXaxis()->FindBin(logNch);
428 for(int ft=0; ft<2; ft++){// Gaussian or EW
429 N_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(0); N_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(0);
430 lambda_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(1); lambda_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(1);
431 radius_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(2); radius_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(2);
432 EW1_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(3); EW1_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(3);
433 EW2_1 = c3_fit[ct][ft][KT3][cb]->GetParameter(4); EW2_1_e = c3_fit[ct][ft][KT3][cb]->GetParError(4);
0e610a08 434 if(ft==0) {EW1_1=0; EW2_1=0; EW1_1_e=0; EW2_1_e=0;}// make sure they are zero
b2c0d4ba 435 //
436 Parameters_c3[ct][ft][KT3][0]->SetBinContent(logNchBin, N_1); Parameters_c3[ct][ft][KT3][0]->SetBinError(logNchBin, N_1_e);
437 Parameters_c3[ct][ft][KT3][1]->SetBinContent(logNchBin, lambda_1); Parameters_c3[ct][ft][KT3][1]->SetBinError(logNchBin, lambda_1_e);
438 Parameters_c3[ct][ft][KT3][2]->SetBinContent(logNchBin, radius_1); Parameters_c3[ct][ft][KT3][2]->SetBinError(logNchBin, radius_1_e);
439 Parameters_c3[ct][ft][KT3][3]->SetBinContent(logNchBin, EW1_1); Parameters_c3[ct][ft][KT3][3]->SetBinError(logNchBin, EW1_1_e);
440 Parameters_c3[ct][ft][KT3][4]->SetBinContent(logNchBin, EW2_1); Parameters_c3[ct][ft][KT3][4]->SetBinError(logNchBin, EW2_1_e);
0e610a08 441 // lambda_3* parameter
442 Parameters_c3[ct][ft][KT3][5]->SetBinContent(logNchBin, lambda_1*pow(1 + EW2_1/8.,3));
443 Parameters_c3[ct][ft][KT3][5]->SetBinError(logNchBin, lambda_1_e*pow(1 + EW2_1/8.,3));
b2c0d4ba 444 // remove unstable c3 Fit points
445 bool badbin=kFALSE;
446 if(ct==0 && cb>12) badbin=kTRUE;
447 if(ct==1 && cb<12) badbin=kTRUE;
448 if(ct==2 && cb<14) badbin=kTRUE;
449 if(badbin){
450 Parameters_c3[ct][ft][KT3][0]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][0]->SetBinError(logNchBin, 100);
451 Parameters_c3[ct][ft][KT3][1]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][1]->SetBinError(logNchBin, 100);
452 Parameters_c3[ct][ft][KT3][2]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][2]->SetBinError(logNchBin, 100);
453 Parameters_c3[ct][ft][KT3][3]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][3]->SetBinError(logNchBin, 100);
454 Parameters_c3[ct][ft][KT3][4]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][4]->SetBinError(logNchBin, 100);
0e610a08 455 Parameters_c3[ct][ft][KT3][5]->SetBinContent(logNchBin, 100); Parameters_c3[ct][ft][KT3][5]->SetBinError(logNchBin, 100);
b2c0d4ba 456 }
457 //
458 Parameters_C2[ct][ft][KT3][0]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(0));// N
459 Parameters_C2[ct][ft][KT3][0]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(0));
460 Parameters_C2[ct][ft][KT3][1]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(1));// lambda
461 Parameters_C2[ct][ft][KT3][1]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(1));
462 Parameters_C2[ct][ft][KT3][2]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(3));// R
463 Parameters_C2[ct][ft][KT3][2]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(3));
464 Parameters_C2[ct][ft][KT3][3]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(5));// kappa3
465 Parameters_C2[ct][ft][KT3][3]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(5));
466 Parameters_C2[ct][ft][KT3][4]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(6));// kappa4
467 Parameters_C2[ct][ft][KT3][4]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(6));
0e610a08 468 // lambda_* parameter
469 Parameters_C2[ct][ft][KT3][5]->SetBinContent(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParameter(1)*pow(1 + Fit_C2[ct][ft][KT3][cb]->GetParameter(6)/8.,2));
470 Parameters_C2[ct][ft][KT3][5]->SetBinError(logNchBin, Fit_C2[ct][ft][KT3][cb]->GetParError(1)*pow(1 + Fit_C2[ct][ft][KT3][cb]->GetParameter(6)/8.,2));
b2c0d4ba 471 }// ft
472 }// ChComb==0
8eebdc9b 473 //
474 // Sys errors
475 C3_Sys[ct][0][ChComb][KT3][cb] = (TH1D*)C3[ct][0][ChComb][KT3][cb]->Clone();
476 c3_Sys[ct][0][ChComb][KT3][cb] = (TH1D*)c3[ct][0][ChComb][KT3][cb]->Clone();
477 if(ct==0){
478 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);
479 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);
480 }else if(ct==1){
481 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);
482 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);
483 }else {
484 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);
485 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);
486 }
487
488 if(ChComb==1){
489 MixedChargeSysFit->SetParameter(0,1);
490 MixedChargeSysFit->SetParameter(1,.1);
491 MixedChargeSysFit->SetParameter(2,1);
5130881c 492 c3[ct][0][ChComb][KT3][cb]->Fit(MixedChargeSysFit,"IMNQ","",0.01,0.5);
0e610a08 493 c3_mixedChargeSysFit[ct][KT3][cb] = (TF1*)MixedChargeSysFit->Clone();
8eebdc9b 494 for(int i=1; i<=c3[ct][0][ChComb][KT3][cb]->GetNbinsX(); i++) {
495 float Q3=(i-0.5)*0.01;
496 // SameCharge
5be394f6 497 C3_Sys[ct][0][0][KT3][cb]->SetBinError(i, 0.01 * C3_Sys[ct][0][0][KT3][cb]->GetBinContent(i));
498 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 499 // MixedCharge
5be394f6 500 C3_Sys[ct][0][1][KT3][cb]->SetBinError(i, 0.01 * C3_Sys[ct][0][1][KT3][cb]->GetBinContent(i));// correlation function uncertainty
501 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 502 }
503 }
504 C3_Sys[ct][0][ChComb][KT3][cb]->SetDirectory(0); c3_Sys[ct][0][ChComb][KT3][cb]->SetDirectory(0);
505 }// AddedCC and dt==0
506 file->Close();
b2c0d4ba 507
508
8eebdc9b 509
510 }// Kt3
511 }// ch
512 }// ChComb
513
514 }// cb
515
516 if(dt==0){
b2c0d4ba 517 for(int ft=0; ft<2; ft++){// Gaussian or EW
518 for(int KT3=0; KT3<3; KT3++){
0e610a08 519 for(int par=0; par<6; par++){
b2c0d4ba 520 if(ct<2){
521 Parameters_C2[ct][ft][KT3][par]->SetMarkerStyle(24+ct);
522 Parameters_c3[ct][ft][KT3][par]->SetMarkerStyle(20+ct);
523 }else{
524 Parameters_C2[ct][ft][KT3][par]->SetMarkerStyle(28);
525 Parameters_c3[ct][ft][KT3][par]->SetMarkerStyle(34);
526 RadiiC2pp_Published->SetMarkerStyle(28);
527 }
528
529 if(ct==0){
530 Parameters_C2[ct][ft][KT3][par]->SetMarkerColor(1);
531 Parameters_C2[ct][ft][KT3][par]->SetLineColor(1);
532 Parameters_c3[ct][ft][KT3][par]->SetMarkerColor(1);
533 Parameters_c3[ct][ft][KT3][par]->SetLineColor(1);
534 }else if(ct==1){
535 Parameters_C2[ct][ft][KT3][par]->SetMarkerColor(2);
536 Parameters_C2[ct][ft][KT3][par]->SetLineColor(2);
537 Parameters_c3[ct][ft][KT3][par]->SetMarkerColor(2);
538 Parameters_c3[ct][ft][KT3][par]->SetLineColor(2);
539 }else {
540 Parameters_C2[ct][ft][KT3][par]->SetMarkerColor(4);
541 Parameters_C2[ct][ft][KT3][par]->SetLineColor(4);
542 Parameters_c3[ct][ft][KT3][par]->SetMarkerColor(4);
543 Parameters_c3[ct][ft][KT3][par]->SetLineColor(4);
544 RadiiC2pp_Published->SetMarkerColor(4);
545 RadiiC2pp_Published->SetLineColor(4);
546 }
547
548 if(par==0) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("N");
0e610a08 549 if(par==1) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#lambda_{e} or #lambda_{e,3}");
b2c0d4ba 550 if(par==2) {
5be394f6 551 if(FitType==0) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#font[12]{R}_{inv,2} or #font[12]{R}_{inv,3} (fm)");
552 else Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#font[12]{R^{E_{w}}}_{inv,2} or #font[12]{R^{E_{w}}}_{inv,3} (fm)");
b2c0d4ba 553 }
554 if(par==3) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#kappa_{3}");
555 if(par==4) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#kappa_{4}");
0e610a08 556 if(par==5) Parameters_c3[ct][ft][KT3][par]->GetYaxis()->SetTitle("#lambda^{#font[12]{G}}_{e} or #lambda^{#font[12]{G}}_{e,3}");
557 if(NchOneThirdAxis) Parameters_c3[ct][ft][KT3][par]->GetXaxis()->SetTitle("N_{ch}^{1/3}");
558 else Parameters_c3[ct][ft][KT3][par]->GetXaxis()->SetTitle("#LT#font[12]{N}_{ch}#GT");
b2c0d4ba 559 }// par
560 }// KT3
561 }// ft
562 }// dt==0
563
8eebdc9b 564 }// dt
565 }// ct
566
b2c0d4ba 567 cout<<"Done Getting Histograms"<<endl;
568
8eebdc9b 569 TF1 *Unity = new TF1("Unity","1",0,100);
570 Unity->SetLineStyle(2);
571 Unity->SetLineColor(1);
572
5130881c 573
b2c0d4ba 574 //return;
5130881c 575
8eebdc9b 576 ////////////////////////////////////////////////////
577 ////////////////////////////////////////////////////
578 // Progaganda Plot
5130881c 579 /*
8eebdc9b 580 TCanvas *can2 = new TCanvas("can2", "can2",10,0,600,600);// 11,53,700,500
581 can2->SetHighLightColor(2);
582 gStyle->SetOptFit(0111);
5be394f6 583 can2->SetFillColor(0);//10
8eebdc9b 584 can2->SetBorderMode(0);
585 can2->SetBorderSize(2);
586 can2->SetFrameFillColor(0);
587 can2->SetFrameBorderMode(0);
588 can2->SetFrameBorderMode(0);
589 can2->cd();
590 TPad *pad2 = new TPad("pad2","pad2",0.0,0.0,1.,1.);
591 gPad->SetGridx(0);
592 gPad->SetGridy(0);
593 gPad->SetTickx(1);
594 gPad->SetTicky(1);
595 pad2->SetTopMargin(0.02);//0.05
596 pad2->SetRightMargin(0.01);//3e-2
597 pad2->SetBottomMargin(0.07);//0.12
598 pad2->Draw();
599 pad2->cd();
600 TLegend *legend3 = new TLegend(.35,.75, .94,.95,NULL,"brNDC");//.45 or .4 for x1
601 legend3->SetBorderSize(0);
602 legend3->SetFillColor(0);
603 legend3->SetTextFont(TextFont);
b2c0d4ba 604 legend3->SetTextSize(SizeLegend);
8eebdc9b 605
606 gPad->SetRightMargin(0.03); gPad->SetLeftMargin(0.12);
607 gPad->SetBottomMargin(0.1); gPad->SetTopMargin(0.02);
608 gPad->SetTickx(1);
609 gPad->SetTicky(1);
610 int Mb_pp=18;
611 int Mb_pPb=13;
612 int Mb_PbPb=0;
b2c0d4ba 613 c3[2][0][0][0][Mb_pp]->GetXaxis()->SetLabelSize(SizeLabel); c3[2][0][0][0][Mb_pp]->GetYaxis()->SetLabelSize(SizeLabel);
5130881c 614 c3[2][0][0][0][Mb_pp]->GetXaxis()->SetNdivisions(808);
8eebdc9b 615 //
5130881c 616 c3[2][0][0][0][Mb_pp]->GetYaxis()->SetTitle("#font[12]{#bf{c}}_{3}");
617 c3[2][0][0][0][Mb_pp]->GetXaxis()->SetTitle("#font[12]{Q}_{3} (GeV/#font[12]{c})");
618 c3[2][0][0][0][Mb_pp]->GetYaxis()->SetTitleOffset(1.1);
619 c3[2][0][0][0][Mb_pp]->GetYaxis()->SetTitleSize(0.05);
620 c3[2][0][0][0][Mb_pp]->SetMinimum(0.9);
621 c3[2][0][0][0][Mb_pp]->Draw();
8eebdc9b 622 //legend3->AddEntry(c3[2][0][0][Mb_pp],"N_{ch} = 9#pm0.2, pp #sqrt{s}=7 TeV","p");
5be394f6 623 //legend3->AddEntry(c3[1][0][0][Mb_pPb],"N_{ch} = 59#pm2, p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV","p");
624 //legend3->AddEntry(c3[0][0][0][Mb_PbPb],"N_{ch} = 1922#pm135, Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV","p");
5130881c 625 legend3->AddEntry(c3[2][0][0][0][Mb_pp],"Low N_{ch}, pp #sqrt{#font[12]{s}}=7 TeV","p");
5be394f6 626 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");
627 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 628 //
629 //TH1D *FillerHist = new TH1D("FillerHist","",50,0,0.5);
630 for(int i=1; i<=50; i++) {
631 if(i<13) {
632 ExRangeTerm1->SetBinContent(i,10.0);
633 //FillerHist->SetBinContent(i,10.0); FillerHist->SetBinError(i,.0001);
634 }else {
635 //FillerHist->SetBinContent(i,1.0); FillerHist->SetBinError(i,.0001);
5130881c 636 c3[0][0][0][0][Mb_PbPb]->SetBinContent(i,10.0);
637 c3_Sys[0][0][0][0][Mb_PbPb]->SetBinContent(i,10.0);
8eebdc9b 638 }
639 }
640 //FillerHist->SetMarkerStyle(24);
641 //
5130881c 642 c3_Sys[2][0][0][0][Mb_pp]->Draw("E2 same");
643 c3_Sys[1][0][0][0][Mb_pPb]->Draw("E2 same");
644 c3_Sys[0][0][0][0][Mb_PbPb]->Draw("E2 same");
645 c3[2][0][0][0][Mb_pp]->Draw("same");
646 c3[1][0][0][0][Mb_pPb]->Draw("same");
647 c3[0][0][0][0][Mb_PbPb]->Draw("same");
8eebdc9b 648 //FillerHist->Draw("same");
649 ExRangeTerm1->Draw("same");
650
5130881c 651 TLatex *Specif_Kt3_1 = new TLatex(0.5,0.59,"0.16<#font[12]{K}_{T,3}<1.0 GeV/#font[12]{c}");
8eebdc9b 652 Specif_Kt3_1->SetNDC();
653 Specif_Kt3_1->SetTextFont(TextFont);
b2c0d4ba 654 Specif_Kt3_1->SetTextSize(SizeSpecif);
8eebdc9b 655 Specif_Kt3_1->Draw("same");
5130881c 656 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 657 Specif_Kinematics_1->SetNDC();
658 Specif_Kinematics_1->SetTextFont(TextFont);
b2c0d4ba 659 Specif_Kinematics_1->SetTextSize(SizeSpecif);
8eebdc9b 660 Specif_Kinematics_1->Draw("same");
661 TLatex *Species_1 = new TLatex(0.5,0.45,"#pi^{+}#pi^{+}#pi^{+} & #pi^{-}#pi^{-}#pi^{-} combined");
662 Species_1->SetNDC();
663 Species_1->SetTextFont(TextFont);
b2c0d4ba 664 Species_1->SetTextSize(SizeSpecif);
8eebdc9b 665 Species_1->Draw("same");
666
667 legend3->Draw("same");
668 DrawALICELogo(kTRUE, .75, .25, .9, .4);
669
670 if(SaveFiles) can2->SaveAs("ThreePionCorrelation_Evolution.eps");
671 */
5be394f6 672
673
674
675 ////////////////////////////////////////////////////
676 ////////////////////////////////////////////////////
677 // K0s removal plot
678 TCanvas *can1 = new TCanvas("can1", "can1",10,700,600,600);// 11,53,700,500
679 can1->SetHighLightColor(2);
680 gStyle->SetOptFit(0111);
681 can1->SetFillColor(0);//10
682 can1->SetBorderMode(0);
683 can1->SetBorderSize(2);
684 can1->SetFrameFillColor(0);
685 can1->SetFrameBorderMode(0);
686 can1->SetFrameBorderMode(0);
687 can1->cd();
688 TPad *pad1 = new TPad("pad1","pad1",0.,0.,1.,1.);
689 gPad->SetTickx();
690 gPad->SetTicky();
691 pad1->SetTopMargin(0.0);//0.05
692 pad1->SetRightMargin(0.0);//3e-2
693 pad1->SetBottomMargin(0.0);//0.12
694 pad1->SetLeftMargin(0.0);
695 pad1->Draw();
696 pad1->cd();
697 TLegend *legend1 = new TLegend(.2,.65, .55,.85,NULL,"brNDC");//.45 or .4 for x1
698 legend1->SetBorderSize(0);
699 legend1->SetFillColor(0);
700 legend1->SetTextFont(TextFont);
701 legend1->SetTextSize(SizeLegend);
702
703 gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.14);
704 gPad->SetBottomMargin(0.14); gPad->SetTopMargin(0.02);
705 gPad->SetTickx(); gPad->SetTicky();
706 // pp, M18
707 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};
708 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};
709 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};
710 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};
711 TH1D *K0s_C3=new TH1D("K0s_C3","",50,0,0.5);
712 TH1D *K0s_c3=new TH1D("K0s_c3","",50,0,0.5);
713 for(int i=0; i<50; i++){
714 K0s_C3->SetBinContent(i+1, points_K0s_C3[i]);
715 K0s_C3->SetBinError(i+1, points_K0s_C3_e[i]);
716 K0s_c3->SetBinContent(i+1, points_K0s_c3[i]);
717 K0s_c3->SetBinError(i+1, points_K0s_c3_e[i]);
718 }
719 K0s_c3->SetMarkerStyle(20);
720 K0s_c3->SetMarkerColor(4);
721 K0s_C3->SetMarkerStyle(24);
722 K0s_C3->SetMarkerColor(4);
723 K0s_c3->SetMarkerSize(K0s_C3->GetMarkerSize() * 1.12);
724 K0s_C3->SetMinimum(0.92);
725 K0s_C3->GetXaxis()->SetTitle("#font[12]{q_{31}^{#pm#mp}} (GeV/#font[12]{c})");
726 K0s_C3->GetYaxis()->SetTitle("#font[12]{C_{3}} or #font[12]{#bf{c}_{3}}");
727 K0s_C3->GetXaxis()->SetTitleOffset(1.05); K0s_C3->GetYaxis()->SetTitleOffset(1.12);
728 K0s_C3->GetXaxis()->SetTitleSize(SizeTitle); K0s_C3->GetYaxis()->SetTitleSize(SizeTitle);
729 K0s_C3->GetXaxis()->SetLabelSize(SizeTitle); K0s_C3->GetYaxis()->SetLabelSize(SizeTitle);
730 K0s_C3->GetXaxis()->SetNdivisions(404);
731 K0s_C3->GetYaxis()->SetNdivisions(404);
732 //K0s_C3->GetXaxis()->SetRangeUser(-0.001,0.5);
733
734 K0s_C3->Draw();
735 // Sys errors
736 TH1D *Sys_K0s_C3=(TH1D*)K0s_C3->Clone();
737 TH1D *Sys_K0s_c3=(TH1D*)K0s_c3->Clone();
738 Sys_K0s_C3->SetMarkerSize(0); Sys_K0s_c3->SetMarkerSize(0);
739 Sys_K0s_C3->SetFillColor(kBlue-10); Sys_K0s_c3->SetFillColor(kBlue-10);
740 Sys_K0s_C3->SetFillStyle(1000); Sys_K0s_c3->SetFillStyle(1000);
741 for(int i=0; i<Sys_K0s_C3->GetNbinsX(); i++) {
742 Sys_K0s_C3->SetBinError(i+1, 0.01 * Sys_K0s_C3->GetBinContent(i+1));
743 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)));
744 }
745 Sys_K0s_C3->Draw("E2 same");
746 Sys_K0s_c3->Draw("E2 same");
747 K0s_C3->Draw("same");
748 K0s_c3->Draw("same");
749
750 legend1->AddEntry(K0s_C3,"#font[12]{C_{3}^{#pm#pm#mp}} projection","p");
751 legend1->AddEntry(K0s_c3,"#font[12]{#bf{c}_{3}^{#pm#pm#mp}} projection","p");
752 legend1->Draw("same");
753
754 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}");
755 Specif_qRange->SetNDC();
756 Specif_qRange->SetTextFont(42);
757 Specif_qRange->SetTextSize(SizeSpecif);
758 Specif_qRange->Draw("same");
0e610a08 759 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 760 Specif_System->SetNDC();
761 Specif_System->SetTextFont(42);
762 Specif_System->SetTextSize(SizeSpecif);
763 Specif_System->Draw("same");
764
765
766
0e610a08 767
8eebdc9b 768 ////////////////////////////////////////////////////
769 ////////////////////////////////////////////////////
770 // Radii and lambda plot
5be394f6 771 float SF_2panel=1.2;
b2c0d4ba 772 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}};
773 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 774 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
775
b2c0d4ba 776 TCanvas *can3 = new TCanvas("can3", "can3",1000,0,600,900);// 11,53,700,500
8eebdc9b 777 can3->SetHighLightColor(2);
778 gStyle->SetOptFit(0111);
5be394f6 779 can3->SetFillColor(0);//10
8eebdc9b 780 can3->SetBorderMode(0);
781 can3->SetBorderSize(2);
782 can3->SetFrameFillColor(0);
783 can3->SetFrameBorderMode(0);
784 can3->SetFrameBorderMode(0);
785 can3->cd();
5be394f6 786 float PadLeftMargin=0.0, PadBottomMargin=0.;
b2c0d4ba 787 TPad *pad3 = new TPad("pad3","pad3",PadLeftMargin,PadBottomMargin,1.,1.);
8eebdc9b 788 gPad->SetTickx();
789 gPad->SetTicky();
b2c0d4ba 790 pad3->SetTopMargin(0.0);//0.05
791 pad3->SetRightMargin(0.0);//3e-2
792 pad3->SetBottomMargin(0.0);//0.12
793 pad3->SetLeftMargin(0.0);
8eebdc9b 794 pad3->Divide(1,2,0,0);
795 pad3->Draw();
796 pad3->cd();
5be394f6 797 TLegend *legend4 = new TLegend(.15,.65, .55,.95,NULL,"brNDC");//.45 or .4 for x1
8eebdc9b 798 legend4->SetBorderSize(0);
799 legend4->SetFillColor(0);
800 legend4->SetTextFont(TextFont);
b2c0d4ba 801 legend4->SetTextSize(SizeLegend);
8eebdc9b 802 //
803 pad3->cd(1);
5be394f6 804 gPad->SetLeftMargin(0.14);
b2c0d4ba 805 gPad->SetRightMargin(0.01);
5be394f6 806 gPad->SetTopMargin(0.01);
0e610a08 807 gPad->SetBottomMargin(0.001);// 0.16
808
8eebdc9b 809 gPad->SetTickx(); gPad->SetTicky();
0e610a08 810 if(!NchOneThirdAxis)gPad->SetLogx();
811
b2c0d4ba 812 TH1D *RadiiPbPb=(TH1D*)Parameters_c3[0][FitType][KT3Bin][2]->Clone();
813 TH1D *RadiipPb=(TH1D*)Parameters_c3[1][FitType][KT3Bin][2]->Clone();
814 TH1D *Radiipp=(TH1D*)Parameters_c3[2][FitType][KT3Bin][2]->Clone();
8eebdc9b 815 RadiiPbPb->GetXaxis()->SetLabelFont(TextFont); RadiiPbPb->GetYaxis()->SetLabelFont(TextFont);
5be394f6 816 RadiiPbPb->GetXaxis()->SetLabelSize(SizeLabel*SF_2panel); RadiiPbPb->GetYaxis()->SetLabelSize(SizeLabel*SF_2panel);
8eebdc9b 817 RadiiPbPb->GetXaxis()->SetNdivisions(808);
5be394f6 818 RadiiPbPb->GetXaxis()->SetTitleOffset(0.95);//1.3
b2c0d4ba 819 RadiiPbPb->GetYaxis()->SetTitleOffset(100);//1.1
0e610a08 820 RadiiPbPb->GetXaxis()->SetTitleFont(TextFont); RadiiPbPb->GetXaxis()->SetTitleSize(0);// SizeTitle*SF_2panel
821 RadiiPbPb->GetYaxis()->SetTitleFont(TextFont); RadiiPbPb->GetYaxis()->SetTitleSize(0);// SizeTitle*SF_2panel
822 RadiiPbPb->SetMinimum(0.01); RadiiPbPb->SetMaximum(11.9);// 0 and 11.9
5be394f6 823 //gStyle->SetErrorX(0);
0e610a08 824 if(NchOneThirdAxis) RadiiPbPb->GetXaxis()->SetRangeUser(0,3000);// 0,3000
825 else RadiiPbPb->GetXaxis()->SetRangeUser(3,3000);// 3,3000
8eebdc9b 826 RadiiPbPb->Draw();
8eebdc9b 827 //
828 double xAxis_e[20]={0};
829 double yAxisPbPb[20]={0};
830 double yAxisPbPb_e[20]={0};
831 double yAxispPb[20]={0};
0e610a08 832 double yAxispPb_eL[20]={0};
833 double yAxispPb_eH[20]={0};
8eebdc9b 834 double yAxispp[20]={0};
0e610a08 835 double yAxispp_eL[20]={0};
836 double yAxispp_eH[20]={0};
8eebdc9b 837
5be394f6 838 double SysPercent_PbPb[2][4]={{12,10,11,16},{5,7,5,10}};// Gauss/EW, parameter#(Rinv2, Rinv3, lambda, lambda_3)
0e610a08 839 // Narrow Fit Range for C2 fits
840 double SysPercent_pPb_NFR[2][4]={{15,10,6,10},{6,2,1,4}};// Gauss/EW, parameter#(Rinv2, Rinv3, lambda, lambda_3) Old values with 30% fit range variation
841 double SysPercent_pp_NFR[2][4]={{11,9,2,5},{12,5,2,5}};// Gauss/EW, parameter#(Rinv2, Rinv3, lambda, lambda_3) Old values with 30% fit range variation
842 // Wide Fit Range for C2 fits
843 double SysPercent_pPb_WFR[2][4]={{24,10,6,10},{16,2,7,4}};// Gauss/EW, parameter#(Rinv2, Rinv3, lambda, lambda_3) New values with 1.2 GeV/c fit range variation
844 double SysPercent_pp_WFR[2][4]={{21,9,2,5},{6,5,1,5}};// Gauss/EW, parameter#(Rinv2, Rinv3, lambda, lambda_3) New values with 1.2 GeV/c fit range variation
845
846 for(int cb=0; cb<20; cb++){// 3-particle
8eebdc9b 847 int binPbPb = RadiiPbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
848 int binpPb = RadiipPb->GetXaxis()->FindBin(meanNchpPb[cb]);
849 int binpp = Radiipp->GetXaxis()->FindBin(meanNchpp[cb]);
0e610a08 850
5be394f6 851 double RsysPbPb = 0.01*sqrt(pow(SysPercent_PbPb[FitType][1],2) + pow(1,2)) * RadiiPbPb->GetBinContent(binPbPb);// fit Variation + MRC
0e610a08 852 double RsyspPb = 0.01*sqrt(pow(SysPercent_pPb_NFR[FitType][1],2) + pow(1,2)) * RadiipPb->GetBinContent(binpPb);// fit Variation + MRC
853 double Rsyspp = 0.01*sqrt(pow(SysPercent_pp_NFR[FitType][1],2) + pow(1,2)) * Radiipp->GetBinContent(binpp);// fit Variation + MRC
8eebdc9b 854 if(RadiiPbPb->GetBinContent(binPbPb)==0) {yAxisPbPb[cb]=100; yAxisPbPb_e[cb]=100;}
855 else {yAxisPbPb[cb]=RadiiPbPb->GetBinContent(binPbPb); yAxisPbPb_e[cb]=RsysPbPb;}
0e610a08 856 //
857 if(RadiipPb->GetBinContent(binpPb)==0) {yAxispPb[cb]=100; yAxispPb_eL[cb]=100; yAxispPb_eH[cb]=100;}
858 else {yAxispPb[cb]=RadiipPb->GetBinContent(binpPb); yAxispPb_eL[cb]=RsyspPb; yAxispPb_eH[cb]=RsyspPb;}
859 //
860 if(Radiipp->GetBinContent(binpp)==0) {yAxispp[cb]=100; yAxispp_eL[cb]=100; yAxispp_eH[cb]=100;}
861 else {yAxispp[cb]=Radiipp->GetBinContent(binpp); yAxispp_eL[cb]=Rsyspp; yAxispp_eH[cb]=Rsyspp;}
862 //
863
864 if(NchOneThirdAxis) {
865 if(cb<13) xAxis_e[cb]=fabs(meanNchPbPb[cb] - pow(0.95,1/3.)*meanNchPbPb[cb]);
866 else xAxis_e[cb]=fabs(meanNchpPb[cb] - pow(0.95,1/3.)*meanNchpPb[cb]);
867 }else {
868 if(cb<13) xAxis_e[cb]=fabs(meanNchPbPb[cb] - (0.95)*meanNchPbPb[cb]);
869 else xAxis_e[cb]=fabs(meanNchpPb[cb] - (0.95)*meanNchpPb[cb]);
870 }
8eebdc9b 871 }
0e610a08 872
5be394f6 873
8eebdc9b 874 TGraphErrors *grRadiiSys_PbPb=new TGraphErrors(20,meanNchPbPb,yAxisPbPb,xAxis_e,yAxisPbPb_e);
0e610a08 875 TGraphAsymmErrors *grRadiiSys_pPb=new TGraphAsymmErrors(20,meanNchpPb,yAxispPb, xAxis_e,xAxis_e, yAxispPb_eL,yAxispPb_eH);
876 TGraphAsymmErrors *grRadiiSys_pp=new TGraphAsymmErrors(20,meanNchpp,yAxispp, xAxis_e,xAxis_e, yAxispp_eL,yAxispp_eH);
8eebdc9b 877 grRadiiSys_pp->SetMarkerSize(0); grRadiiSys_pp->SetFillStyle(1000); grRadiiSys_pp->SetFillColor(kBlue-10);
878 grRadiiSys_pPb->SetMarkerSize(0); grRadiiSys_pPb->SetFillStyle(1000); grRadiiSys_pPb->SetFillColor(kRed-10);
879 grRadiiSys_PbPb->SetMarkerSize(0); grRadiiSys_PbPb->SetFillStyle(1000); grRadiiSys_PbPb->SetFillColor(kGray);
5be394f6 880 grRadiiSys_pp->SetMarkerColor(kBlue-10); grRadiiSys_pp->SetMarkerColor(kRed-10); grRadiiSys_pp->SetMarkerColor(kGray);
8eebdc9b 881 // C2
b2c0d4ba 882 TH1D *RadiiC2PbPb=(TH1D*)Parameters_C2[0][FitType][KT3Bin][2]->Clone();
883 TH1D *RadiiC2pPb=(TH1D*)Parameters_C2[1][FitType][KT3Bin][2]->Clone();
884 TH1D *RadiiC2pp=(TH1D*)Parameters_C2[2][FitType][KT3Bin][2]->Clone();
5be394f6 885 RadiiC2pp_Published->SetMarkerStyle(30);
0e610a08 886 //if(FitType==0) RadiiC2pp->SetMarkerStyle(30);// for legend marker
5be394f6 887
b2c0d4ba 888 for(int mbin=0; mbin<8; mbin++){
5be394f6 889 int bin = RadiiC2pp_Published->GetXaxis()->FindBin(MeanPubNch[mbin]);
b2c0d4ba 890 RadiiC2pp_Published->SetBinContent(bin, RadiiC2ppPubPoints[KT3Bin][mbin]);
891 RadiiC2pp_Published->SetBinError(bin, RadiiC2ppPubPoints_e[KT3Bin][mbin]);
892 }
893
0e610a08 894 for(int cb=0; cb<20; cb++){// 2-particle
8eebdc9b 895 int binPbPb = RadiiC2PbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
896 int binpPb = RadiiC2pPb->GetXaxis()->FindBin(meanNchpPb[cb]);
897 int binpp = RadiiC2pp->GetXaxis()->FindBin(meanNchpp[cb]);
5be394f6 898 double RsysPbPb = 0.01*sqrt(pow(SysPercent_PbPb[FitType][0],2) + pow(1,2)) * RadiiC2PbPb->GetBinContent(binPbPb);// fit Variation + MRC
0e610a08 899 double RsyspPb_L = 0.01*sqrt(pow(SysPercent_pPb_WFR[FitType][0],2) + pow(1,2)) * RadiiC2pPb->GetBinContent(binpPb);// fit Variation + MRC
900 double RsyspPb_H = 0.01*sqrt(pow(SysPercent_pPb_NFR[FitType][0],2) + pow(1,2)) * RadiiC2pPb->GetBinContent(binpPb);// fit Variation + MRC
901 double Rsyspp_L = 0.01*sqrt(pow(SysPercent_pp_WFR[FitType][0],2) + pow(1,2)) * RadiiC2pp->GetBinContent(binpp);// fit Variation + MRC
902 double Rsyspp_H = 0.01*sqrt(pow(SysPercent_pp_NFR[FitType][0],2) + pow(1,2)) * RadiiC2pp->GetBinContent(binpp);// fit Variation + MRC
5be394f6 903 if(RadiiC2PbPb->GetBinContent(binPbPb)==0) {yAxisPbPb[cb]=100; yAxisPbPb_e[cb]=1000;}
8eebdc9b 904 else {yAxisPbPb[cb]=RadiiC2PbPb->GetBinContent(binPbPb); yAxisPbPb_e[cb]=RsysPbPb;}
0e610a08 905 if(RadiiC2pPb->GetBinContent(binpPb)==0) {yAxispPb[cb]=100; yAxispPb_eL[cb]=1000; yAxispPb_eH[cb]=1000;}
906 else {yAxispPb[cb]=RadiiC2pPb->GetBinContent(binpPb); yAxispPb_eL[cb]=RsyspPb_L; yAxispPb_eH[cb]=RsyspPb_H;}
907 if(RadiiC2pp->GetBinContent(binpp)==0) {yAxispp[cb]=100; yAxispp_eL[cb]=1000; yAxispp_eH[cb]=1000;}
908 else {yAxispp[cb]=RadiiC2pp->GetBinContent(binpp); yAxispp_eL[cb]=Rsyspp_L; yAxispp_eH[cb]=Rsyspp_H;}
909 //xAxis_e[cb]=10000;
8eebdc9b 910 }
911 TGraphErrors *grRadiiC2Sys_PbPb=new TGraphErrors(20,meanNchPbPb,yAxisPbPb,xAxis_e,yAxisPbPb_e);
0e610a08 912 TGraphAsymmErrors *grRadiiC2Sys_pPb=new TGraphAsymmErrors(20,meanNchpPb,yAxispPb, xAxis_e,xAxis_e, yAxispPb_eL,yAxispPb_eH);
913 TGraphAsymmErrors *grRadiiC2Sys_pp=new TGraphAsymmErrors(20,meanNchpp,yAxispp, xAxis_e,xAxis_e, yAxispp_eL,yAxispp_eH);
914 grRadiiC2Sys_pp->SetMarkerSize(0);
915 grRadiiC2Sys_pPb->SetMarkerSize(0);
916 grRadiiC2Sys_PbPb->SetMarkerSize(0);
917 grRadiiC2Sys_pp->SetLineColor(4); grRadiiC2Sys_pPb->SetLineColor(2); grRadiiC2Sys_PbPb->SetLineColor(1);
918 grRadiiC2Sys_pp->SetLineWidth(2.*grRadiiC2Sys_pp->GetLineWidth());
919 grRadiiC2Sys_pPb->SetLineWidth(2.*grRadiiC2Sys_pPb->GetLineWidth());
920 grRadiiC2Sys_PbPb->SetLineWidth(2.*grRadiiC2Sys_PbPb->GetLineWidth());
8eebdc9b 921 //
0e610a08 922 grRadiiC2Sys_pPb->Draw("|| p");
923 grRadiiC2Sys_pp->Draw("|| p");
924
8eebdc9b 925 grRadiiSys_pp->Draw("E2 p");
926 grRadiiSys_pPb->Draw("E2 p");
927 grRadiiSys_PbPb->Draw("E2 p");
928 RadiiPbPb->Draw("same");
929 RadiipPb->Draw("same");
930 Radiipp->Draw("same");
0e610a08 931 grRadiiC2Sys_PbPb->Draw("|| p");// E2 or || to visualize pol2 fit below
932 //if(FitType==0) RadiiC2pp_Published->Draw("same");
5130881c 933 //
5be394f6 934
8eebdc9b 935 RadiiC2PbPb->Draw("same");
0e610a08 936 RadiiC2pPb->Draw("same");
937 RadiiC2pp->Draw("same");
938
b2c0d4ba 939
8eebdc9b 940 legend4->AddEntry(Radiipp,"pp #sqrt{s}=7 TeV","p");
5be394f6 941 legend4->AddEntry(RadiipPb,"p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV","p");
942 legend4->AddEntry(RadiiPbPb,"Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV","p");
943
0e610a08 944 TF1 *ppLine = new TF1("ppLine","pol1",0,13);
945 ppLine->SetLineColor(4);
946 TF1 *pPbLine = new TF1("pPbLine","pol1",0,13);
947 TF1 *PbPbLine = new TF1("PbPbLine","pol1",0,13);
948 PbPbLine->SetLineColor(1);
949 if(NchOneThirdAxis){
950 Radiipp->Fit(ppLine,"IMEN","",1,4.);
951 ppLine->Draw("same");
952 RadiipPb->Fit(pPbLine,"IMEN","",2,4.5);
953 pPbLine->Draw("same");
954 RadiiC2PbPb->Fit(PbPbLine,"IMEN","",4,13);
955 PbPbLine->Draw("same");
956 }
5be394f6 957
b2c0d4ba 958 TLatex *Specif_Kt3;
959 TLatex *Specif_kt;
5be394f6 960 if(KT3Bin==0) {
961 Specif_Kt3 = new TLatex(0.17, 0.57,"0.16<#font[12]{K}_{T,3}<0.3 GeV/#font[12]{c}");
962 Specif_kt = new TLatex(0.17, 0.47,"0.2<#font[12]{k}_{T}<0.3 GeV/#font[12]{c}");
963 // KT3: #LT#font[12]{k}_{T}#GT=0.24 GeV/#font[12]{c}
964 // kT: #LT#font[12]{k}_{T}#GT=0.25 GeV/#font[12]{c}
965 }
966 if(KT3Bin==1) {
967 Specif_Kt3 = new TLatex(0.17, 0.57,"0.3<#font[12]{K}_{T,3}<1.0 GeV/#font[12]{c}");
968 Specif_kt = new TLatex(0.17, 0.47,"0.3<#font[12]{k}_{T}<1.0 GeV/#font[12]{c}");
969 // KT3: #LT#font[12]{k}_{T}#GT=0.39 GeV/#font[12]{c}
970 // kT: #LT#font[12]{k}_{T}#GT=0.43 GeV/#font[12]{c}
971 }
972 //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}");}
973 //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}");}
974 //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 975 Specif_Kt3->SetTextFont(TextFont); Specif_kt->SetTextFont(TextFont);
5be394f6 976 Specif_Kt3->SetTextSize(SizeSpecif*SF_2panel); Specif_kt->SetTextSize(SizeSpecif*SF_2panel);
b2c0d4ba 977 Specif_Kt3->SetNDC(); Specif_kt->SetNDC();
978 Specif_Kt3->Draw("same");
979 Specif_kt->Draw("same");
980
8eebdc9b 981 legend4->SetTextFont(TextFont);
5be394f6 982 legend4->SetTextSize(SizeLegend*SF_2panel);
8eebdc9b 983 legend4->Draw("same");
5130881c 984
5be394f6 985 TH1D *MarkerPbPb_3=(TH1D*)RadiiPbPb->Clone();
986 TH1D *MarkerpPb_3=(TH1D*)RadiipPb->Clone();
987 TH1D *Markerpp_3=(TH1D*)Radiipp->Clone();
988 TH1D *MarkerPbPb_2=(TH1D*)RadiiC2PbPb->Clone();
989 TH1D *MarkerpPb_2=(TH1D*)RadiiC2pPb->Clone();
990 TH1D *Markerpp_2=(TH1D*)RadiiC2pp->Clone();
991 for(int i=1; i<=MarkerPbPb_3->GetNbinsX(); i++){
992 MarkerPbPb_3->SetBinContent(i,1000); MarkerpPb_3->SetBinContent(i,1000); Markerpp_3->SetBinContent(i,1000);
993 MarkerPbPb_2->SetBinContent(i,1000); MarkerpPb_2->SetBinContent(i,1000); Markerpp_2->SetBinContent(i,1000);
994 MarkerPbPb_3->SetBinError(i,0.001); MarkerpPb_3->SetBinError(i,0.001); Markerpp_3->SetBinError(i,0.001);
995 MarkerPbPb_2->SetBinError(i,0.001); MarkerpPb_2->SetBinError(i,0.001); Markerpp_2->SetBinError(i,0.001);
996 }
0e610a08 997 if(!NchOneThirdAxis){
998 MarkerPbPb_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(450), 1.25);// 1
999 MarkerpPb_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(600), 1.25);// 1
1000 Markerpp_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(800), 1.25);// 1
1001 MarkerPbPb_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(450), 3.1);// 3.1
1002 MarkerpPb_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(600), 3.1);// 3.1
1003 Markerpp_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(800), 3.1);// 3.1
1004 }else{
1005 MarkerPbPb_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(10), 1.25);//
1006 MarkerpPb_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(10.5), 1.25);//
1007 Markerpp_3->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(11), 1.25);//
1008 MarkerPbPb_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(10), 3.1);//
1009 MarkerpPb_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(10.5), 3.1);//
1010 Markerpp_2->SetBinContent(MarkerPbPb_3->GetXaxis()->FindBin(11), 3.1);//
1011 }
1012
5be394f6 1013 MarkerPbPb_3->Draw("same"); MarkerpPb_3->Draw("same"); Markerpp_3->Draw("same");
1014 MarkerPbPb_2->Draw("same"); MarkerpPb_2->Draw("same"); Markerpp_2->Draw("same");
1015
0e610a08 1016 TLatex *TwoPionText = new TLatex(0.74,0.3,"Two-Pions");// 0.74,0.41
1017 TLatex *ThreePionText = new TLatex(0.74,0.15,"Three-Pions");// 0.74,0.265
5be394f6 1018 TwoPionText->SetNDC(); ThreePionText->SetNDC();
1019 TwoPionText->SetTextFont(TextFont); ThreePionText->SetTextFont(TextFont);
1020 TwoPionText->SetTextSize(SizeSpecif*SF_2panel); ThreePionText->SetTextSize(SizeSpecif*SF_2panel);
1021 TwoPionText->Draw("same");
1022 ThreePionText->Draw("same");
1023
0e610a08 1024 TLatex *Specif_kappas = new TLatex(0.42,0.05,"#kappa_{3}=0.1, #kappa_{4}=0.5");// 0.42,0.2
1025 //TLatex *Specif_kappas = new TLatex(0.42,0.05,"#kappa_{3}(N_{ch}), #kappa_{4}=0.5");// 0.42,0.2
5be394f6 1026 Specif_kappas->SetNDC();
1027 Specif_kappas->SetTextFont(TextFont);
1028 Specif_kappas->SetTextSize(SizeSpecif*SF_2panel);
1029 if(FitType==1) Specif_kappas->Draw("same");
1030
8eebdc9b 1031 ///////////////////////////////////////////////////////////////////
1032 pad3->cd(2);
5be394f6 1033 gPad->SetLeftMargin(0.14);
b2c0d4ba 1034 gPad->SetRightMargin(0.01);
0e610a08 1035 gPad->SetTopMargin(0.0);// 0.01
5be394f6 1036 gPad->SetBottomMargin(0.16);
8eebdc9b 1037 gPad->SetTickx(); gPad->SetTicky();
0e610a08 1038 if(!NchOneThirdAxis) gPad->SetLogx();
5130881c 1039 //gPad->SetGridx(); gPad->SetGridy();
0e610a08 1040 TH1D *LambdaPbPb=(TH1D*)Parameters_c3[0][FitType][KT3Bin][5]->Clone();
1041 TH1D *LambdapPb=(TH1D*)Parameters_c3[1][FitType][KT3Bin][5]->Clone();
1042 TH1D *Lambdapp=(TH1D*)Parameters_c3[2][FitType][KT3Bin][5]->Clone();
8eebdc9b 1043
1044 LambdaPbPb->GetXaxis()->SetLabelFont(TextFont); LambdaPbPb->GetYaxis()->SetLabelFont(TextFont);
5be394f6 1045 LambdaPbPb->GetXaxis()->SetLabelSize(SizeLabel*SF_2panel); LambdaPbPb->GetYaxis()->SetLabelSize(SizeLabel*SF_2panel);
8eebdc9b 1046 LambdaPbPb->GetXaxis()->SetNdivisions(808);
0e610a08 1047 LambdaPbPb->GetYaxis()->SetNdivisions(604);
5be394f6 1048 LambdaPbPb->GetXaxis()->SetTitleFont(TextFont); LambdaPbPb->GetXaxis()->SetTitleSize(SizeTitle*SF_2panel);
1049 LambdaPbPb->GetYaxis()->SetTitleFont(TextFont); LambdaPbPb->GetYaxis()->SetTitleSize(SizeTitle*SF_2panel);
0e610a08 1050 LambdaPbPb->SetMaximum(2.8);// 2.8
5be394f6 1051 LambdaPbPb->GetXaxis()->SetTitleOffset(0.95);
b2c0d4ba 1052 LambdaPbPb->GetYaxis()->SetTitleOffset(100);//1.1
0e610a08 1053 if(NchOneThirdAxis) LambdaPbPb->GetXaxis()->SetRangeUser(0,3000);// 0,3000
1054 else LambdaPbPb->GetXaxis()->SetRangeUser(3,3000);// 3,3000
8eebdc9b 1055 LambdaPbPb->Draw();
1056
0e610a08 1057 TF1 *ChaoticLimit_C2 = new TF1("ChaoticLimit_C2","1.0",0,5000);
1058 TF1 *ChaoticLimit_c3 = new TF1("ChaoticLimit_c3","2.0",0,5000);
1059 ChaoticLimit_C2->SetLineColor(1); ChaoticLimit_c3->SetLineColor(1);
1060 ChaoticLimit_C2->SetLineStyle(7); ChaoticLimit_c3->SetLineStyle(6);
1061 ChaoticLimit_C2->Draw("same");
1062 ChaoticLimit_c3->Draw("same");
1063
1064 for(int cb=0; cb<20; cb++){// 3-particle
8eebdc9b 1065 int binPbPb = LambdaPbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1066 int binpPb = LambdapPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1067 int binpp = Lambdapp->GetXaxis()->FindBin(meanNchpp[cb]);
0e610a08 1068 double f_syst_PbPb = 0, f_syst_pPb=0, f_syst_pp=0;
1069 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
1070 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
1071 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
1072 double LambdasysPbPb = 0.01*sqrt(pow(SysPercent_PbPb[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
1073 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
1074 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
8eebdc9b 1075 if(LambdaPbPb->GetBinContent(binPbPb)==0) {yAxisPbPb[cb]=100; yAxisPbPb_e[cb]=100;}
1076 else {yAxisPbPb[cb]=LambdaPbPb->GetBinContent(binPbPb); yAxisPbPb_e[cb]=LambdasysPbPb;}
5be394f6 1077 //
0e610a08 1078 if(LambdapPb->GetBinContent(binpPb)==0) {yAxispPb[cb]=100; yAxispPb_eL[cb]=100; yAxispPb_eH[cb]=100;}
1079 else {yAxispPb[cb]=LambdapPb->GetBinContent(binpPb); yAxispPb_eL[cb]=LambdasyspPb; yAxispPb_eH[cb]=LambdasyspPb;}
5be394f6 1080 //
0e610a08 1081 if(Lambdapp->GetBinContent(binpp)==0) {yAxispp[cb]=100; yAxispp_eL[cb]=100; yAxispp_eH[cb]=100;}
1082 else {yAxispp[cb]=Lambdapp->GetBinContent(binpp); yAxispp_eL[cb]=Lambdasyspp; yAxispp_eH[cb]=Lambdasyspp;}
1083
1084 if(NchOneThirdAxis) {
1085 if(cb<13) xAxis_e[cb]=fabs(meanNchPbPb[cb] - pow(0.95,1/3.)*meanNchPbPb[cb]);
1086 else xAxis_e[cb]=fabs(meanNchpPb[cb] - pow(0.95,1/3.)*meanNchpPb[cb]);
1087 }else {
1088 if(cb<13) xAxis_e[cb]=fabs(meanNchPbPb[cb] - (0.95)*meanNchPbPb[cb]);
1089 else xAxis_e[cb]=fabs(meanNchpPb[cb] - (0.95)*meanNchpPb[cb]);
1090 }
8eebdc9b 1091 }
1092 TGraphErrors *grLambdaSys_PbPb=new TGraphErrors(20,meanNchPbPb,yAxisPbPb,xAxis_e,yAxisPbPb_e);
0e610a08 1093 TGraphAsymmErrors *grLambdaSys_pPb=new TGraphAsymmErrors(20,meanNchpPb,yAxispPb, xAxis_e,xAxis_e, yAxispPb_eL,yAxispPb_eH);
1094 TGraphAsymmErrors *grLambdaSys_pp=new TGraphAsymmErrors(20,meanNchpp,yAxispp, xAxis_e,xAxis_e, yAxispp_eL,yAxispp_eH);
8eebdc9b 1095 grLambdaSys_pp->SetMarkerSize(0); grLambdaSys_pp->SetFillStyle(1000); grLambdaSys_pp->SetFillColor(kBlue-10);
1096 grLambdaSys_pPb->SetMarkerSize(0); grLambdaSys_pPb->SetFillStyle(1000); grLambdaSys_pPb->SetFillColor(kRed-10);
1097 grLambdaSys_PbPb->SetMarkerSize(0); grLambdaSys_PbPb->SetFillStyle(1000); grLambdaSys_PbPb->SetFillColor(kGray);
5be394f6 1098 grLambdaSys_pp->SetMarkerColor(kBlue-10); grLambdaSys_pPb->SetMarkerColor(kRed-10); grLambdaSys_PbPb->SetMarkerColor(kGray);
8eebdc9b 1099 // C2 sys
0e610a08 1100 TH1D *LambdaC2PbPb=(TH1D*)Parameters_C2[0][FitType][KT3Bin][5]->Clone();
1101 TH1D *LambdaC2pPb=(TH1D*)Parameters_C2[1][FitType][KT3Bin][5]->Clone();
1102 TH1D *LambdaC2pp=(TH1D*)Parameters_C2[2][FitType][KT3Bin][5]->Clone();
1103 for(int cb=0; cb<20; cb++){// 2-particle
8eebdc9b 1104 int binPbPb = LambdaC2PbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1105 int binpPb = LambdaC2pPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1106 int binpp = LambdaC2pp->GetXaxis()->FindBin(meanNchpp[cb]);
0e610a08 1107 double LambdasysPbPb = 0.01*sqrt(pow(SysPercent_PbPb[FitType][2],2) + pow(1,2) + pow(5,2) + pow(7,2)) * LambdaC2PbPb->GetBinContent(binPbPb);// fit Variation + MRC + TTC + undilution
1108 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
1109 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
1110 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
1111 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
8eebdc9b 1112 if(LambdaC2PbPb->GetBinContent(binPbPb)==0) {yAxisPbPb[cb]=100; yAxisPbPb_e[cb]=100;}
1113 else {yAxisPbPb[cb]=LambdaC2PbPb->GetBinContent(binPbPb); yAxisPbPb_e[cb]=LambdasysPbPb;}
0e610a08 1114 //
1115 if(LambdaC2pPb->GetBinContent(binpPb)==0) {yAxispPb[cb]=100; yAxispPb_eL[cb]=100; yAxispPb_eH[cb]=100;}
1116 else {yAxispPb[cb]=LambdaC2pPb->GetBinContent(binpPb); yAxispPb_eL[cb]=LambdasyspPb_L; yAxispPb_eH[cb]=LambdasyspPb_H;}
1117 //
1118 if(LambdaC2pp->GetBinContent(binpp)==0) {yAxispp[cb]=100; yAxispp_eL[cb]=100; yAxispp_eH[cb]=100;}
1119 else {yAxispp[cb]=LambdaC2pp->GetBinContent(binpp); yAxispp_eL[cb]=Lambdasyspp_L; yAxispp_eH[cb]=Lambdasyspp_H;}
1120 //xAxis_e[cb]=10000;
8eebdc9b 1121 }
1122 TGraphErrors *grLambdaC2Sys_PbPb=new TGraphErrors(20,meanNchPbPb,yAxisPbPb,xAxis_e,yAxisPbPb_e);
0e610a08 1123 TGraphAsymmErrors *grLambdaC2Sys_pPb=new TGraphAsymmErrors(20,meanNchpPb,yAxispPb, xAxis_e,xAxis_e, yAxispPb_eL,yAxispPb_eH);
1124 TGraphAsymmErrors *grLambdaC2Sys_pp=new TGraphAsymmErrors(20,meanNchpp,yAxispp, xAxis_e,xAxis_e, yAxispp_eL,yAxispp_eH);
5be394f6 1125 grLambdaC2Sys_pp->SetMarkerSize(0); grLambdaC2Sys_pp->SetFillStyle(3001); grLambdaC2Sys_pp->SetFillColor(0);
1126 grLambdaC2Sys_pPb->SetMarkerSize(0); grLambdaC2Sys_pPb->SetFillStyle(3001); grLambdaC2Sys_pPb->SetFillColor(0);
1127 grLambdaC2Sys_PbPb->SetMarkerSize(0); grLambdaC2Sys_PbPb->SetFillStyle(3001); grLambdaC2Sys_PbPb->SetFillColor(0);
0e610a08 1128 grLambdaC2Sys_pp->SetLineColor(4); grLambdaC2Sys_pPb->SetLineColor(2); grLambdaC2Sys_PbPb->SetLineColor(1);
1129 grLambdaC2Sys_pp->SetLineWidth(2.*grLambdaC2Sys_pp->GetLineWidth());
1130 grLambdaC2Sys_pPb->SetLineWidth(2.*grLambdaC2Sys_pPb->GetLineWidth());
1131 grLambdaC2Sys_PbPb->SetLineWidth(2.*grLambdaC2Sys_PbPb->GetLineWidth());
8eebdc9b 1132 //
5be394f6 1133
0e610a08 1134 grLambdaC2Sys_pp->Draw("|| p");
1135 grLambdaC2Sys_pPb->Draw("|| p");
1136
5be394f6 1137 grLambdaC2Sys_PbPb->Draw("|| p");
0e610a08 1138
8eebdc9b 1139 grLambdaSys_pp->Draw("E2 p");
1140 grLambdaSys_pPb->Draw("E2 p");
1141 grLambdaSys_PbPb->Draw("E2 p");
8eebdc9b 1142 //
1143 LambdaPbPb->Draw("same");
1144 LambdapPb->Draw("same");
1145 Lambdapp->Draw("same");
1146 //
1147 LambdaC2PbPb->Draw("same");
0e610a08 1148 LambdaC2pPb->Draw("same");
1149 LambdaC2pp->Draw("same");
5be394f6 1150
0e610a08 1151
1152
1153 // print radii and lambda
1154 cout.precision(3);
1155 cout<<"Pb--Pb:"<<endl;
1156 for(int cb=0; cb<20; cb++){
1157 int binPbPb = RadiiC2PbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1158 if(RadiiPbPb->GetBinContent(binPbPb)==0) continue;
1159 cout<<"Nch="<<meanNchPbPb[cb]<<": R_3 = "<<RadiiPbPb->GetBinContent(binPbPb)<<" +- "<<RadiiPbPb->GetBinError(binPbPb)<<" +- "<<grRadiiSys_PbPb->GetErrorY(cb)<<" lambda_3 = "<<LambdaPbPb->GetBinContent(binPbPb)<<" +- "<<LambdaPbPb->GetBinError(binPbPb)<<" +- "<<grLambdaSys_PbPb->GetErrorY(cb)<<endl;
1160 cout<<" R_2 = "<<RadiiC2PbPb->GetBinContent(binPbPb)<<" +- "<<RadiiC2PbPb->GetBinError(binPbPb)<<" +- "<<grRadiiC2Sys_PbPb->GetErrorY(cb)<<" lambda_2 = "<<LambdaC2PbPb->GetBinContent(binPbPb)<<" +- "<<LambdaC2PbPb->GetBinError(binPbPb)<<" +- "<<grLambdaC2Sys_PbPb->GetErrorY(cb)<<endl;
1161 }
1162 cout<<"p--Pb:"<<endl;
1163 for(int cb=0; cb<20; cb++){
1164 int binpPb = RadiiC2pPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1165 if(RadiipPb->GetBinContent(binpPb)==0) continue;
1166 cout<<"Nch="<<meanNchpPb[cb]<<": R_3 = "<<RadiipPb->GetBinContent(binpPb)<<" +- "<<RadiipPb->GetBinError(binpPb)<<" +- "<<grRadiiSys_pPb->GetErrorY(cb)<<" lambda_3 = "<<LambdapPb->GetBinContent(binpPb)<<" +- "<<LambdapPb->GetBinError(binpPb)<<" +- "<<grLambdaSys_pPb->GetErrorY(cb)<<endl;
1167 cout<<" R_2 = "<<RadiiC2pPb->GetBinContent(binpPb)<<" +- "<<RadiiC2pPb->GetBinError(binpPb)<<" +- "<<grRadiiC2Sys_pPb->GetErrorY(cb)<<" lambda_2 = "<<LambdaC2pPb->GetBinContent(binpPb)<<" +- "<<LambdaC2pPb->GetBinError(binpPb)<<" +- "<<grLambdaC2Sys_pPb->GetErrorY(cb)<<endl;
1168 }
1169 cout<<"p--p:"<<endl;
1170 for(int cb=0; cb<20; cb++){
1171 int binpp = RadiiC2pp->GetXaxis()->FindBin(meanNchpp[cb]);
1172 if(Radiipp->GetBinContent(binpp)==0) continue;
1173 cout<<"Nch="<<meanNchpp[cb]<<": R_3 = "<<Radiipp->GetBinContent(binpp)<<" +- "<<Radiipp->GetBinError(binpp)<<" +- "<<grRadiiSys_pp->GetErrorY(cb)<<" lambda_3 = "<<Lambdapp->GetBinContent(binpp)<<" +- "<<Lambdapp->GetBinError(binpp)<<" +- "<<grLambdaSys_pp->GetErrorY(cb)<<endl;
1174 cout<<" R_2 = "<<RadiiC2pp->GetBinContent(binpp)<<" +- "<<RadiiC2pp->GetBinError(binpp)<<" +- "<<grRadiiC2Sys_pp->GetErrorY(cb)<<" lambda_2 = "<<LambdaC2pp->GetBinContent(binpp)<<" +- "<<LambdaC2pp->GetBinError(binpp)<<" +- "<<grLambdaC2Sys_pp->GetErrorY(cb)<<endl;
1175 //
1176
1177 }
5be394f6 1178
0e610a08 1179
b2c0d4ba 1180
1181 can3->cd();
5be394f6 1182 TPad *pad3_2 = new TPad("pad3_2","pad3_2",0.0,0.0,1.,1.);
1183 pad3_2->SetFillStyle(0);
1184 pad3_2->Draw();
1185 pad3_2->cd();
b2c0d4ba 1186 TLatex *RinvTitle;
5be394f6 1187 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)");
0e610a08 1188 else 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)");
b2c0d4ba 1189 RinvTitle->SetNDC();
1190 RinvTitle->SetTextFont(TextFont);
5be394f6 1191 RinvTitle->SetTextSize(SizeTitle);
b2c0d4ba 1192 RinvTitle->SetTextAngle(90);
1193 RinvTitle->Draw("same");
1194 TLatex *LambdaTitle;
0e610a08 1195 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
1196 else 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
b2c0d4ba 1197 LambdaTitle->SetNDC();
1198 LambdaTitle->SetTextFont(TextFont);
5be394f6 1199 LambdaTitle->SetTextSize(SizeTitle);
b2c0d4ba 1200 LambdaTitle->SetTextAngle(90);
1201 LambdaTitle->Draw("same");
1202
8eebdc9b 1203
b2c0d4ba 1204 if(SaveFiles && FitType==0) can3->SaveAs("ThreePionFitParametersGauss.eps");
1205 if(SaveFiles && FitType==1) can3->SaveAs("ThreePionFitParametersEW.eps");
0e610a08 1206
1207
1208
1209 ///////////////////////////////////////////////////////////////////////////////
1210 ///////////////////////////////////////////////////////////////////////////////
1211 // kappa plots
1212
1213 TCanvas *can7 = new TCanvas("can7", "can7",1700,700,600,600);// 11,53,700,500
1214 can7->SetHighLightColor(2);
1215 gStyle->SetOptFit(0);// 0111 to show fit stat box
1216 can7->SetFillColor(0);//10
1217 can7->SetBorderMode(0);
1218 can7->SetBorderSize(2);
1219 can7->SetFrameFillColor(0);
1220 can7->SetFrameBorderMode(0);
1221 can7->SetFrameBorderMode(0);
1222 can7->cd();
1223 TPad *pad7 = new TPad("pad7","pad7",0.0,0.0,1.,1.);
1224 gPad->SetGridx(0);
1225 gPad->SetGridy(1);
1226 pad7->SetTopMargin(0.02);//0.05
1227 pad7->SetRightMargin(0.02);//3e-2
1228 pad7->SetBottomMargin(0.1);//0.12
1229 pad7->SetLeftMargin(0.1);//0.12
1230 pad7->Draw();
1231 pad7->cd();
1232 gPad->SetLogx();
1233 gPad->SetGridy(1);
1234 TLegend *legend8 = new TLegend(.2,.70, .4,.95,NULL,"brNDC");//.45 or .4 for x1
1235 legend8->SetBorderSize(0);
1236 legend8->SetFillColor(0);
1237 legend8->SetTextFont(TextFont);
1238 legend8->SetTextSize(SizeLegend);
1239 // CollType, Gaussian/EW, EDbin, Parameter#
1240 int paramNum=4;
1241 Parameters_c3[0][1][KT3Bin][paramNum]->GetXaxis()->SetTitleOffset(1.2); Parameters_c3[0][1][KT3Bin][paramNum]->GetYaxis()->SetTitleOffset(1.4);
1242 if(paramNum==3) {Parameters_c3[0][1][KT3Bin][paramNum]->SetMinimum(-0.1); Parameters_c3[0][1][KT3Bin][paramNum]->SetMaximum(.4);}
1243 if(paramNum==4) {Parameters_c3[0][1][KT3Bin][paramNum]->SetMinimum(-0.1); Parameters_c3[0][1][KT3Bin][paramNum]->SetMaximum(1.0);}
1244 Parameters_c3[0][1][KT3Bin][paramNum]->Draw();
1245 Parameters_c3[1][1][KT3Bin][paramNum]->Draw("same");
1246 Parameters_c3[2][1][KT3Bin][paramNum]->Draw("same");
1247 legend8->AddEntry(Parameters_c3[2][1][KT3Bin][paramNum],"pp #sqrt{s}=7 TeV","p");
1248 legend8->AddEntry(Parameters_c3[1][1][KT3Bin][paramNum],"p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV","p");
1249 legend8->AddEntry(Parameters_c3[0][1][KT3Bin][paramNum],"Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV","p");
1250 //legend8->Draw("same");
1251 /*for(int ct=0; ct<3; ct++){
1252 for(int cb=0; cb<20; cb++){
1253 int bin = 0;
1254 if(ct==0) bin = Parameters_c3[ct][1][KT3Bin][paramNum]->GetXaxis()->FindBin(meanNchPbPb[cb]);
1255 else if(ct==1) bin = Parameters_c3[ct][1][KT3Bin][paramNum]->FindBin(meanNchpPb[cb]);
1256 else bin = Parameters_c3[ct][1][KT3Bin][paramNum]->FindBin(meanNchpp[cb]);
1257 //
1258 if(Parameters_c3[ct][1][KT3Bin][paramNum]->GetBinError(bin) >0) {
1259 //cout<<Parameters_c3[ct][1][KT3Bin][paramNum]->GetBinContent(bin)<<", ";
1260 cout<<Parameters_c3[ct][1][KT3Bin][paramNum]->GetBinError(bin)<<", ";
1261 }else cout<<0<<", ";
1262
1263 }
1264 cout<<endl;
1265 }*/
1266
8eebdc9b 1267
5130881c 1268
0e610a08 1269 TH1D *Combined_kappaPlot_1=(TH1D*)Parameters_c3[0][1][KT3Bin][paramNum]->Clone();
1270 Combined_kappaPlot_1->Add(Parameters_c3[1][1][KT3Bin][paramNum]);
1271 Combined_kappaPlot_1->Add(Parameters_c3[2][1][KT3Bin][paramNum]);
1272
1273 //TF1 *Fit_kappa3_PbPb=new TF1("Fit_kappa3_PbPb","[0]+[1]*log(x)",2,3000);
1274 //Fit_kappa3_PbPb->SetParameter(0, 0.05);
1275 //Fit_kappa3_PbPb->SetParameter(1, -0.01);
1276 //Fit_kappa3_PbPb->SetLineColor(1);
1277
1278 //
1279 //TF1 *Fit_kappa3_pp=new TF1("Fit_kappa3_pp","[0]+[1]*log(x)",1,3000);
1280 //Fit_kappa3_pp->SetParameter(0, 0.05);
1281 //Fit_kappa3_pp->SetParameter(1, -0.01);
1282 //Fit_kappa3_pp->SetLineColor(3);
1283 //Combined_kappaPlot_1->Fit(Fit_kappa3_pp,"IMEN","",2,80);
1284 //Fit_kappa3_pp->Draw("same");
1285 //
1286 TF1 *Fit_kappa4_PbPb=new TF1("Fit_kappa4_PbPb","pol0",2,3000);
1287 Combined_kappaPlot_1->Fit(Fit_kappa4_PbPb,"IMEN","",2,2000);
1288 Fit_kappa4_PbPb->Draw("same");
1289
b2c0d4ba 1290
b2c0d4ba 1291
0e610a08 1292 ////////////////////////////////////////////////////
1293 ////////////////////////////////////////////////////
1294 // Radii ratios
1295 if(NchOneThirdAxis){
1296 TCanvas *can6 = new TCanvas("can6", "can6",1700,700,600,600);// 11,53,700,500
1297 can6->SetHighLightColor(2);
1298 gStyle->SetOptFit(0);// 0111 to show fit stat box
1299 can6->SetFillColor(0);//10
1300 can6->SetBorderMode(0);
1301 can6->SetBorderSize(2);
1302 can6->SetFrameFillColor(0);
1303 can6->SetFrameBorderMode(0);
1304 can6->SetFrameBorderMode(0);
1305 can6->cd();
1306 TPad *pad6 = new TPad("pad6","pad6",0.0,0.0,1.,1.);
1307 gPad->SetGridx(0);
1308 gPad->SetGridy(0);
1309 pad6->SetTopMargin(0.0);//0.05
1310 pad6->SetRightMargin(0.0);//3e-2
1311 pad6->SetBottomMargin(0.0);//0.12
1312 pad6->SetLeftMargin(0.0);//0.12
1313 pad6->Draw();
1314 pad6->cd();
1315 TLegend *legend8 = new TLegend(.52,.3, .9,.5,NULL,"brNDC");//.45 or .4 for x1
1316 legend8->SetBorderSize(0);
1317 legend8->SetFillColor(0);
1318 legend8->SetTextFont(TextFont);
1319 legend8->SetTextSize(SizeLegend);
1320 gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.14);
1321 gPad->SetBottomMargin(0.14); gPad->SetTopMargin(0.02);
1322 gPad->SetTickx(); gPad->SetTicky();
1323
1324 TH1D *Ratio_pPb_to_pp=(TH1D*)RadiipPb->Clone();
1325 TH1D *Ratio_PbPb_to_pPb=(TH1D*)RadiiC2PbPb->Clone();
1326 double avgRatio_pPb_to_pp=0, avgRatioSq_pPb_to_pp=0, avgRatioStat_pPb_to_pp=0, avgRatioEn_pPb_to_pp=0;
1327 double avgRatio_PbPb_to_pPb=0, avgRatioSq_PbPb_to_pPb=0, avgRatioStat_PbPb_to_pPb=0, avgRatioEn_PbPb_to_pPb=0;
1328 for(int cb=0; cb<20; cb++){// 3-particle
1329 int binPbPb = RadiiPbPb->GetXaxis()->FindBin(meanNchPbPb[cb]);
1330 int binpPb = RadiipPb->GetXaxis()->FindBin(meanNchpPb[cb]);
1331 //
1332 Ratio_pPb_to_pp->SetBinContent(binpPb, Ratio_pPb_to_pp->GetBinContent(binpPb) / ppLine->Eval(meanNchpPb[cb]));
1333 Ratio_PbPb_to_pPb->SetBinContent(binPbPb, Ratio_PbPb_to_pPb->GetBinContent(binPbPb) / pPbLine->Eval(meanNchPbPb[cb]));
1334 //
1335 if(cb<=18 && cb>=14){
1336 avgRatio_pPb_to_pp += Ratio_pPb_to_pp->GetBinContent(binpPb);
1337 avgRatioSq_pPb_to_pp += pow(Ratio_pPb_to_pp->GetBinContent(binpPb),2);
1338 avgRatioStat_pPb_to_pp += pow(Ratio_pPb_to_pp->GetBinError(binpPb),2);
1339 avgRatioEn_pPb_to_pp++;
1340 }
1341 if(cb<=15 && cb>=13){
1342 avgRatio_PbPb_to_pPb += Ratio_PbPb_to_pPb->GetBinContent(binPbPb);
1343 avgRatioSq_PbPb_to_pPb += pow(Ratio_PbPb_to_pPb->GetBinContent(binPbPb),2);
1344 avgRatioStat_PbPb_to_pPb += pow(Ratio_PbPb_to_pPb->GetBinError(binPbPb),2);
1345 avgRatioEn_PbPb_to_pPb++;
1346 }
1347 }
1348 Ratio_pPb_to_pp->SetMinimum(0.9); Ratio_pPb_to_pp->SetMaximum(1.65);
1349 Ratio_pPb_to_pp->GetYaxis()->SetTitle("Radius ratio");
1350 Ratio_pPb_to_pp->GetXaxis()->SetLabelSize(SizeLabel); Ratio_pPb_to_pp->GetYaxis()->SetLabelSize(SizeLabel);
1351 Ratio_pPb_to_pp->GetXaxis()->SetTitleSize(SizeTitle); Ratio_pPb_to_pp->GetYaxis()->SetTitleSize(SizeTitle);
1352 Ratio_pPb_to_pp->GetXaxis()->SetTitleOffset(1.0);
1353 Ratio_pPb_to_pp->GetYaxis()->SetTitleOffset(1.2);
1354 Ratio_pPb_to_pp->GetXaxis()->SetNdivisions(808);
1355 Ratio_pPb_to_pp->GetYaxis()->SetNdivisions(505);
1356 Ratio_pPb_to_pp->Draw();
1357 Ratio_PbPb_to_pPb->Draw("same");
1358 legend8->AddEntry(Ratio_pPb_to_pp,"p-Pb over pp","p");
1359 legend8->AddEntry(Ratio_PbPb_to_pPb,"Pb-Pb over p-Pb","p");
1360 legend8->Draw("same");
1361
1362 Unity->Draw("same");
1363
1364 double avgStat_pPb_to_pp = sqrt(avgRatioStat_pPb_to_pp/avgRatioEn_pPb_to_pp);
1365 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 );
1366 double avgStat_PbPb_to_pPb = sqrt(avgRatioStat_PbPb_to_pPb/avgRatioEn_PbPb_to_pPb);
1367 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 );
1368 cout.precision(4);
1369 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;
1370 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;
1371 }
1372
1373
1374 if(KT3Bin>0) {cout<<"Skip the rest for this setting"<<endl; return;}
1375
8eebdc9b 1376 ////////////////////////////////////////////////////
1377 ////////////////////////////////////////////////////
1378 // Correlation functions and Monte Carlo
b2c0d4ba 1379 TCanvas *can4 = (TCanvas*)make_canvas("can4","can4",3,2,0,900,600);
1380 can4->Draw();
1381
7c6e4906 1382 TLegend *legend5[6];
5be394f6 1383 legend5[0] = new TLegend(.3,.52, .97,.99,NULL,"brNDC");//.45 or .4 for x1
7c6e4906 1384 legend5[0]->SetBorderSize(0);
1385 legend5[0]->SetFillColor(0);
1386 legend5[0]->SetTextFont(TextFont);
b2c0d4ba 1387 legend5[1]=(TLegend*)legend5[0]->Clone();
1388 legend5[2]=(TLegend*)legend5[0]->Clone();
1389 legend5[3]=(TLegend*)legend5[0]->Clone();
1390 legend5[4]=(TLegend*)legend5[0]->Clone();
1391 legend5[5]=(TLegend*)legend5[0]->Clone();
5be394f6 1392 TLegend *legendFitTypes = (TLegend*)legend5[0]->Clone();
1393
0e610a08 1394
b2c0d4ba 1395 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};
1396 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};
1397 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};
1398 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};
1399 TH1D *HIJING_c3_SC=(TH1D*)c3[1][1][0][0][17]->Clone();// choose any one that exists to copy histo attributes
1400 TH1D *HIJING_c3_MC=(TH1D*)c3[1][1][0][0][17]->Clone();// choose any one that exists to copy histo attributes
1401 for(int i=1; i<=15; i++){
1402 HIJING_c3_SC->SetBinContent(i, HIJING_c3_SC_K1_M3[i-1]);
1403 HIJING_c3_SC->SetBinError(i, HIJING_c3_SC_K1_M3_e[i-1]);
1404 HIJING_c3_MC->SetBinContent(i, HIJING_c3_MC_K1_M3[i-1]);
1405 HIJING_c3_MC->SetBinError(i, HIJING_c3_MC_K1_M3_e[i-1]);
1406 }
8eebdc9b 1407 //
7c6e4906 1408 for(int padNum=1; padNum<=6; padNum++){
0e610a08 1409
b2c0d4ba 1410 can4->cd(padNum);
1411 if(padNum==3 || padNum==6) gPad->SetRightMargin(0.005);
1412 float SF_6pannel=2;
5be394f6 1413 double SF_correction=1.0;
1414 if(padNum==3) SF_correction=1.1;
1415 if(padNum==4) SF_correction=0.8;
1416 if(padNum==5 || padNum==6) SF_correction=0.92;
7c6e4906 1417
1418 //
1419 int System_proof=0;
1420 int ChComb_proof=0;
1421 int Mb_proof=0;
1422 if(padNum==1) {System_proof=2; ChComb_proof=0; Mb_proof=18;}
1423 if(padNum==2) {System_proof=1; ChComb_proof=0; Mb_proof=14;}
b2c0d4ba 1424 if(padNum==3) {System_proof=0; ChComb_proof=0; Mb_proof=3;}
7c6e4906 1425 if(padNum==4) {System_proof=2; ChComb_proof=1; Mb_proof=18;}
1426 if(padNum==5) {System_proof=1; ChComb_proof=1; Mb_proof=14;}
b2c0d4ba 1427 if(padNum==6) {System_proof=0; ChComb_proof=1; Mb_proof=3;}
7c6e4906 1428
5be394f6 1429 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->SetMinimum(0.9);
0e610a08 1430 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->SetMaximum(3.4);// 3.3
7c6e4906 1431 //
b2c0d4ba 1432 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetTitle("#font[12]{C}_{3} or #font[12]{#bf{c}}_{3} ");
1433 if(padNum<=5){
1434 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetTitleOffset(10);
5be394f6 1435 }else C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetTitleOffset(0.88);
1436 if(padNum==1) C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetTitleOffset(0.55);
1437 else C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetTitleOffset(10.);
1438 if(padNum>=5) C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetLabelOffset(-.0);
1439
5be394f6 1440 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetNdivisions(504);
1441 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetNdivisions(504);
1442 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetTitleSize(SizeTitle*SF_6pannel*SF_correction);
1443 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetTitleSize(SizeTitle*SF_6pannel*SF_correction);
1444 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetLabelSize(SizeTitle*SF_6pannel*SF_correction);
1445 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetYaxis()->SetLabelSize(SizeTitle*SF_6pannel*SF_correction);
7c6e4906 1446 double Q3Limit;
b2c0d4ba 1447 if(System_proof==1 || System_proof==2) Q3Limit = 0.49;
1448 else Q3Limit = 0.1099;
1449 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->GetXaxis()->SetRangeUser(0,Q3Limit);
7c6e4906 1450 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy();
1451
0e610a08 1452
7c6e4906 1453 C3_Sys[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("E2 same");
1454 c3_Sys[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("E2 same");
1455 C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("same");
1456 c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("same");
b2c0d4ba 1457 if(System_proof!=0) c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof]->DrawCopy("same");// MC cumulants
1458 else{
1459 if(ChComb_proof==0) HIJING_c3_SC->DrawCopy("same");
1460 else HIJING_c3_MC->DrawCopy("same");
1461 }
7c6e4906 1462 if(padNum<=3){
1463 legend5[padNum-1]->AddEntry(C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof],"#font[12]{C}_{3}^{#pm#pm#pm}","p");
1464 legend5[padNum-1]->AddEntry(c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof],"#font[12]{#bf{c}}_{3}^{#pm#pm#pm}","p");
7c6e4906 1465 }else{
1466 legend5[padNum-1]->AddEntry(C3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof],"#font[12]{C}_{3}^{#pm#pm#mp}","p");
1467 legend5[padNum-1]->AddEntry(c3[System_proof][0][ChComb_proof][KT3Bin][Mb_proof],"#font[12]{#bf{c}}_{3}^{#pm#pm#mp}","p");
0e610a08 1468 if(System_proof==0) legend5[padNum-1]->AddEntry(HIJING_c3_MC,"HIJING #font[12]{#bf{c}}_{3}","p");
1469 if(System_proof==1) legend5[padNum-1]->AddEntry(c3[System_proof][1][ChComb_proof][KT3Bin][Mb_proof],"DPMJET #font[12]{#bf{c}}_{3}","p");
1470 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 1471 }
1472
1473 if(ChComb_proof==0) {
b2c0d4ba 1474 c3_fit[System_proof][0][KT3Bin][Mb_proof]->Draw("c same");
0e610a08 1475 gr_c3Spline[System_proof][KT3Bin][Mb_proof]->Draw("c same");// EW with spline for mid-q and high q
1476 //c3_fit[System_proof][1][KT3Bin][Mb_proof]->Draw("c same");// old approximation
5be394f6 1477 if(padNum==3){
1478 legendFitTypes->AddEntry(c3_fit[System_proof][0][KT3Bin][Mb_proof],"Gaussian","l");
1479 legendFitTypes->AddEntry(c3_fit[System_proof][1][KT3Bin][Mb_proof],"Edgeworth","l");
1480 }
7c6e4906 1481 }
5be394f6 1482
7c6e4906 1483 TLatex *CTLabel;
5be394f6 1484 if(System_proof==0) CTLabel = new TLatex(0.12,0.9,"Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV");// 0.003,.988
1485 if(System_proof==1) CTLabel = new TLatex(0.15,0.9,"p-Pb #sqrt{#font[12]{s}_{NN}}=5.02 TeV");// 0.003,.988
1486 if(System_proof==2) CTLabel = new TLatex(0.4,0.9,"pp #sqrt{s}=7 TeV");// 0.003,.988
7c6e4906 1487 CTLabel->SetNDC();
1488 CTLabel->SetTextFont(TextFont);
b2c0d4ba 1489 CTLabel->SetTextSize(SizeSpecif*SF_6pannel*SF_correction);
5be394f6 1490 if(padNum>=4) CTLabel->Draw("same");
7c6e4906 1491
0e610a08 1492 TString *nameCh=new TString("#LT#font[12]{N}_{ch}#GT = ");
7c6e4906 1493 float Nch=1;
5be394f6 1494 if(System_proof==0) Nch = meanNchPbPb[Mb_proof];
1495 else if(System_proof==1) Nch = meanNchpPb[Mb_proof];
1496 else Nch = meanNchpp[Mb_proof];
1497 *nameCh += int(Nch + 0.5);
7c6e4906 1498 nameCh->Append(" #pm ");
1499 float SysPercent = 0.05;
1500 int SigFig=0;
1501 if(SysPercent*Nch < 1) {nameCh->Append("0."); SigFig=int(10*SysPercent*Nch + 0.5);}
1502 else {SigFig=int(SysPercent*Nch + 0.5);}
1503
1504 *nameCh += SigFig;
b2c0d4ba 1505 TLatex *MLabel;
0e610a08 1506 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 1507 if(padNum==2) MLabel = new TLatex(0.4,0.6,nameCh->Data());
1508 if(padNum==3) MLabel = new TLatex(0.4,0.6,nameCh->Data());
0e610a08 1509
7c6e4906 1510 MLabel->SetNDC();
1511 MLabel->SetTextFont(TextFont);
b2c0d4ba 1512 MLabel->SetTextSize(SizeSpecif*SF_6pannel*SF_correction);
5be394f6 1513 if(padNum<=3) MLabel->Draw("same");
7c6e4906 1514
1515
5be394f6 1516 legend5[padNum-1]->SetTextSize(SizeLegend*SF_6pannel*SF_correction);
1517 if(padNum==1) {legend5[padNum-1]->SetX1(0.45); legend5[padNum-1]->SetY1(0.69);}
1518 if(padNum==2) {legend5[padNum-1]->SetX1(0.32); legend5[padNum-1]->SetY1(0.69);}
1519 if(padNum==3) {
1520 legend5[padNum-1]->SetX1(0.32); legend5[padNum-1]->SetY1(0.69);
1521 legendFitTypes->SetX1(0.44);
1522 legendFitTypes->SetY1(0.22); legendFitTypes->SetY2(0.56);
1523 legendFitTypes->Draw("same");
1524 }
1525 if(padNum==4) {legend5[padNum-1]->SetX1(0.45); legend5[padNum-1]->SetY1(0.45); legend5[padNum-1]->SetY2(0.85);}
1526 if(padNum==5) {legend5[padNum-1]->SetX1(0.32); legend5[padNum-1]->SetY1(0.45); legend5[padNum-1]->SetY2(0.85);}
1527 if(padNum==6) {legend5[padNum-1]->SetX1(0.32); legend5[padNum-1]->SetY1(0.45); legend5[padNum-1]->SetY2(0.85);}
7c6e4906 1528 legend5[padNum-1]->Draw("same");
8eebdc9b 1529 }
1530
b2c0d4ba 1531
0e610a08 1532
b2c0d4ba 1533 can4->cd();
1534
1535 TPad *pad4_2 = new TPad("pad4_2","pad4_2",0.0,0.0,1.,1.);
1536 pad4_2->SetFillStyle(0);
1537 pad4_2->Draw();
1538 pad4_2->cd();
5be394f6 1539 TBox *CoverUp1 = new TBox(0.35,0.05,0.42,.115);
1540 CoverUp1->SetFillColor(0);
b2c0d4ba 1541 CoverUp1->Draw();
5be394f6 1542 TBox *CoverUp2 = new TBox(0.66,0.05,0.73,.115);
1543 CoverUp2->SetFillColor(0);
b2c0d4ba 1544 CoverUp2->Draw();
b2c0d4ba 1545
8eebdc9b 1546
1547
b2c0d4ba 1548
8eebdc9b 1549
1550 ////////////////////////////////////////////////////
1551 ////////////////////////////////////////////////////
b2c0d4ba 1552 // 2 system correlation function comparison
8eebdc9b 1553 TCanvas *can5 = new TCanvas("can5", "can5",1700,700,600,600);// 11,53,700,500
1554 can5->SetHighLightColor(2);
5be394f6 1555 gStyle->SetOptFit(0);// 0111 to show fit stat box
1556 can5->SetFillColor(0);//10
8eebdc9b 1557 can5->SetBorderMode(0);
1558 can5->SetBorderSize(2);
1559 can5->SetFrameFillColor(0);
1560 can5->SetFrameBorderMode(0);
1561 can5->SetFrameBorderMode(0);
1562 can5->cd();
1563 TPad *pad5 = new TPad("pad5","pad5",0.0,0.0,1.,1.);
1564 gPad->SetGridx(0);
1565 gPad->SetGridy(0);
b2c0d4ba 1566 pad5->SetTopMargin(0.0);//0.05
1567 pad5->SetRightMargin(0.0);//3e-2
1568 pad5->SetBottomMargin(0.0);//0.12
1569 pad5->SetLeftMargin(0.0);//0.12
8eebdc9b 1570 pad5->Draw();
1571 pad5->cd();
0e610a08 1572 TLegend *legend6 = new TLegend(.42,.6, .9,.95,NULL,"brNDC");//.45 or .4 for x1
8eebdc9b 1573 legend6->SetBorderSize(0);
1574 legend6->SetFillColor(0);
1575 legend6->SetTextFont(TextFont);
5be394f6 1576 legend6->SetTextSize(SizeLegend);
0e610a08 1577 TLegend *legend7 = new TLegend(.67,.35, .98,.52,NULL,"brNDC");//.45 or .4 for x1
5be394f6 1578 legend7->SetBorderSize(0);
1579 legend7->SetFillColor(0);
1580 legend7->SetTextFont(TextFont);
1581 legend7->SetTextSize(SizeLegend);
8eebdc9b 1582 //
5be394f6 1583 gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.10);
1584 gPad->SetBottomMargin(0.14); gPad->SetTopMargin(0.02);
b2c0d4ba 1585 gPad->SetTickx(); gPad->SetTicky();
8eebdc9b 1586 //
b2c0d4ba 1587 int KT3Bin_CorrComp=0;
5be394f6 1588 int Mbin_SysComp_PbPb=12;// 12
1589 int Mbin_SysComp_pPb;// 12, 16,
1590 int Mbin_SysComp_pp=15;// , 15,
1591 if(p_pPb_Comp) Mbin_SysComp_pPb=16;
1592 else Mbin_SysComp_pPb=12;
1593
1594 TH1D *c3_PbPb=(TH1D*)c3[0][0][0][KT3Bin_CorrComp][Mbin_SysComp_PbPb]->Clone();
1595 TH1D *c3_pPb=(TH1D*)c3[1][0][0][KT3Bin_CorrComp][Mbin_SysComp_pPb]->Clone();
1596 TH1D *c3_pp=(TH1D*)c3[2][0][0][KT3Bin_CorrComp][Mbin_SysComp_pp]->Clone();
b2c0d4ba 1597
1598 c3_pPb->GetYaxis()->SetTitle("#bf{c}_{3}^{#pm#pm#pm}");
5be394f6 1599 c3_pPb->GetXaxis()->SetRangeUser(0,0.27);
1600
1601 c3_pPb->GetXaxis()->SetLabelSize(SizeLabel); c3_pPb->GetYaxis()->SetLabelSize(SizeLabel);
1602 c3_pPb->GetXaxis()->SetTitleSize(SizeTitle); c3_pPb->GetYaxis()->SetTitleSize(SizeTitle);
1603
b2c0d4ba 1604 c3_pPb->GetYaxis()->SetTitle("#font[12]{#bf{c}}_{3}^{#pm#pm#pm}");
5be394f6 1605 c3_pPb->GetXaxis()->SetTitleOffset(1.0);
1606 c3_pPb->GetYaxis()->SetTitleOffset(0.7);
1607 c3_pPb->SetMinimum(0.9); c3_pPb->SetMaximum(3.3);
1608 c3_pPb->GetXaxis()->SetNdivisions(503);
1609 c3_pPb->GetYaxis()->SetNdivisions(503);
0e610a08 1610
b2c0d4ba 1611 c3_pPb->Draw();
8eebdc9b 1612 //
5be394f6 1613 if(p_pPb_Comp) c3_Sys[2][0][0][KT3Bin_CorrComp][Mbin_SysComp_pp]->Draw("E2 same");
1614 c3_Sys[1][0][0][KT3Bin_CorrComp][Mbin_SysComp_pPb]->Draw("E2 same");
1615 if(!p_pPb_Comp) c3_Sys[0][0][0][KT3Bin][Mbin_SysComp_PbPb]->Draw("E2 same");
1616 if(p_pPb_Comp) c3_pp->Draw("same");
8eebdc9b 1617 c3_pPb->Draw("same");
5be394f6 1618 if(!p_pPb_Comp) c3_PbPb->Draw("same");
b2c0d4ba 1619
5be394f6 1620 if(p_pPb_Comp) {
0e610a08 1621 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
1622 legend6->AddEntry(c3_pp,"#splitline{pp #sqrt{s}=7 TeV}{#LT#font[12]{N}_{ch}#GT = 27 #pm 1}","p");// Mpp=15
1623 }else{
1624 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
1625 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
5be394f6 1626 }
1627
1628 //
1629
1630 if(!p_pPb_Comp) c3_fit[0][0][KT3Bin][Mbin_SysComp_PbPb]->Draw("c same");
1631 c3_fit[1][0][KT3Bin][Mbin_SysComp_pPb]->Draw("c same");
1632 if(p_pPb_Comp) c3_fit[2][0][KT3Bin][Mbin_SysComp_pp]->Draw("c same");
1633 //
1634 TF1 *GaussFit_forLegend=(TF1*)c3_fit[1][0][KT3Bin][Mbin_SysComp_pPb]->Clone();
1635 TF1 *EwFit_forLegend=(TF1*)c3_fit[1][1][KT3Bin][Mbin_SysComp_pPb]->Clone();
1636 GaussFit_forLegend->SetLineColor(1);
1637 EwFit_forLegend->SetLineColor(1);
1638 legend7->AddEntry(GaussFit_forLegend,"Gaussian","l");
1639 legend7->AddEntry(EwFit_forLegend,"Edgeworth","l");
1640 //
1641
0e610a08 1642 // old way with EW plotting approximation
1643 //if(!p_pPb_Comp) c3_fit[0][1][KT3Bin][Mbin_SysComp_PbPb]->Draw("c same");
1644 //c3_fit[1][1][KT3Bin][Mbin_SysComp_pPb]->Draw("c same");
1645 //if(p_pPb_Comp) c3_fit[2][1][KT3Bin][Mbin_SysComp_pp]->Draw("c same");
1646 // new way with spline
1647 if(!p_pPb_Comp) gr_c3Spline[0][KT3Bin][Mbin_SysComp_PbPb]->Draw("c same");
1648 gr_c3Spline[1][KT3Bin][Mbin_SysComp_pPb]->Draw("c same");
1649 if(p_pPb_Comp) gr_c3Spline[2][KT3Bin][Mbin_SysComp_pp]->Draw("c same");
1650 //
1651
8eebdc9b 1652 legend6->Draw("same");
5be394f6 1653 legend7->Draw("same");
8eebdc9b 1654
5be394f6 1655 TLatex *Specif_Kt3_4 = new TLatex(0.52,0.55,"0.16<#font[12]{K}_{T,3}<0.3 GeV/#font[12]{c}");
8eebdc9b 1656 Specif_Kt3_4->SetNDC();
1657 Specif_Kt3_4->SetTextFont(TextFont);
5be394f6 1658 Specif_Kt3_4->SetTextSize(SizeSpecif);
8eebdc9b 1659 Specif_Kt3_4->Draw("same");
b2c0d4ba 1660
8eebdc9b 1661
1662 //
1663 if(SaveFiles) {
1664 TString *name = new TString("c3SystemComp");
b2c0d4ba 1665 if(FitType==1) name->Append("EW");
8eebdc9b 1666 name->Append("_MpPb");
5be394f6 1667 *name += Mbin_SysComp_pPb;
8eebdc9b 1668 name->Append(".eps");
1669 //
1670 can5->SaveAs(name->Data());
1671 }
1672
1673
0e610a08 1674
1675
8eebdc9b 1676 ////////////////////////////////////////////////////
1677 ////////////////////////////////////////////////////
0e610a08 1678
8eebdc9b 1679
8eebdc9b 1680
0e610a08 1681
1682 // Normalization plots
1683 // ct, ft, KT3, par
1684 //Parameters_C2[2][0][0][0]->Draw();
1685
b2c0d4ba 1686
1687
8eebdc9b 1688
1689}
1690//____________________________________________________________________________________________________
1691void DrawALICELogo(Bool_t prel, Float_t x1, Float_t y1, Float_t x2, Float_t y2)
1692{
1693 // revision on July 24th or 25th 2012
1694 // correct for aspect ratio of figure plus aspect ratio of pad (coordinates are NDC!)
1695 x2 = x1 + (y2 - y1) * (466. / 523) * gPad->GetWh() * gPad->GetHNDC() / (gPad->GetWNDC() * gPad->GetWw());
1696 // Printf("%f %f %f %f", x1, x2, y1, y2);
1697
1698 TPad *myPadLogo = new TPad("myPadLogo", "Pad for ALICE Logo", x1, y1, x2, y2);
1699 myPadLogo->SetLeftMargin(0);
1700 myPadLogo->SetTopMargin(0);
1701 myPadLogo->SetRightMargin(0);
1702 myPadLogo->SetBottomMargin(0);
1703 myPadLogo->Draw();
1704 myPadLogo->cd();
5130881c 1705 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 1706 myAliceLogo->Draw();
1707}
b2c0d4ba 1708//____________________________________________________________________________________________________
1709TCanvas *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){
1710 const Int_t width=350;
1711 const Int_t height=350;
1712 TCanvas *canvas;
1713
1714 if (share_axes==0) {
1715 if (ww==0)
1716 ww=width*n_x;
1717 if (wh==0)
1718 wh=height*n_y;
1719 canvas=new TCanvas(name,title,10,0,ww,wh);
1720 canvas->SetTopMargin(0.01);
1721 canvas->SetRightMargin(0.01);
5be394f6 1722 canvas->SetLeftMargin(0.14);
1723 canvas->SetBottomMargin(0.18);
b2c0d4ba 1724
1725 canvas->Divide(n_x,n_y,0,0);
1726 }
1727 else {
1728 Float_t pix_width=(1-gStyle->GetPadLeftMargin()-gStyle->GetPadRightMargin())*width;
1729 Float_t pix_height=(1-gStyle->GetPadTopMargin()-gStyle->GetPadBottomMargin())*height;
1730 if (ww==0)
1731 ww=width+(n_x-1)*pix_width;
1732 if (wh==0)
1733 wh=height+(n_y-1)*pix_height;
1734
1735 canvas=new TCanvas(name,title,ww,wh);
1736 canvas->SetTopMargin(0); canvas->SetBottomMargin(0);
1737 canvas->SetLeftMargin(0); canvas->SetRightMargin(0);
1738 Float_t tot_width;
1739 if (n_x>1)
1740 tot_width=(n_x-2)+1./(1-gStyle->GetPadLeftMargin())
1741 +1./(1-gStyle->GetPadRightMargin());
1742 else
1743 tot_width=1./(1-gStyle->GetPadLeftMargin()-gStyle->GetPadRightMargin());
1744 Float_t tot_height;
1745 if (n_y>1)
1746 tot_height=(n_y-2)+1./(1-gStyle->GetPadTopMargin())
1747 +1./(1-gStyle->GetPadBottomMargin());
1748 else
1749 tot_height=1./(1-gStyle->GetPadTopMargin()-gStyle->GetPadBottomMargin());
8eebdc9b 1750
b2c0d4ba 1751 //Int_t idx=n_x*n_y;
1752
1753 for (Int_t j=0; j<n_y; j++) {
1754 for (Int_t i=0; i<n_x; i++) {
1755 //for (Int_t j=n_y-1; j>=0; j--) {
1756 //for (Int_t i=n_x-1; i>=0; i--) {
1757 Char_t tmp_str[256];
1758 Char_t p_title[256];
1759 Int_t idx=n_x*j+i+1;
1760 sprintf(tmp_str,"%s_%d",canvas->GetName(),idx);
1761 sprintf(p_title,"Pad %d",idx);
1762 Float_t x1=0,y1=0;
1763 Float_t x2=1,y2=1;
1764 if (n_x>1) {
1765 if (i==0)
1766 x2=1./(1-gStyle->GetPadLeftMargin())/tot_width;
1767 else {
1768 x1=(1./(1-gStyle->GetPadLeftMargin())+i-1)/tot_width;
1769 if (i<n_x-1)
1770 x2=(1./(1-gStyle->GetPadLeftMargin())+i)/tot_width;
1771 }
1772 }
1773 if (n_y>1) {
1774 if (j==0)
1775 y1=1-1./(1-gStyle->GetPadTopMargin())/tot_height;
1776 else {
1777 y2=1-(1./(1-gStyle->GetPadTopMargin())+j-1)/tot_height;
1778 if (j<n_y-1)
1779 y1=1-(1./(1-gStyle->GetPadTopMargin())+j)/tot_height;
1780 }
1781 }
1782 //cout << "x1 " << x1 << ", x2 " << x2 << endl;
1783 TPad *pad=new TPad(tmp_str,title,x1,y1,x2,y2);
1784 //pad->SetFillColor(idx+1);
1785 if (i>0)
1786 pad->SetLeftMargin(0.001);
1787 if (i<n_x-1)
1788 pad->SetRightMargin(0.001);
1789 if (j>0)
1790 pad->SetTopMargin(0.001);
1791 if (j<n_y-1)
1792 pad->SetBottomMargin(0.001);
1793
1794
1795 pad->SetNumber(idx);
1796 //pad->SetNumber(n_x*j+i+1);
1797 pad->Draw();
1798 //idx--;
1799 //idx++;
1800 //pad->SetP
1801 }
1802 }
1803 }
1804
1805 return canvas;
1806}