#include "TCanvas.h"
#include "TLatex.h"
#include "TPaveStats.h"
+#include "TASImage.h"
#define BohrR 1963.6885 // Bohr Radius for pions
#define FmToGeV 0.19733 // conversion to fm
using namespace std;
-int FileSetting=0;// 0(standard), 1(r3 Lambda), 2(TTC), 3(PID), 4(Pos B), 5(Neg B), 6(GaussR8to5), 7(GaussR11to6), 8(4 kt bins old TTC cuts), 9 (FB5and7overlap)
+int FileSetting=0;// 0(standard), 1(r3 Lambda), 2(TTC), 3(PID), 4(Pos B), 5(Neg B), 6(GaussR8to5), 7(GaussR11to6), 8(4 kt bins old TTC cuts), 9 (FB5and7overlap), 10 (muon Variation: -0.5<NsigmaPion<2.0)
bool MCcase_def=kFALSE;// MC data?
int CHARGE_def=-1;// -1 or +1: + or - pions for same-charge case, --+ or ++- for mixed-charge case
-bool SameCharge_def=kTRUE;// 3-pion same-charge?
+bool SameCharge_def=1;// 3-pion same-charge?
int EDbin_def=0;// 0 or 1: Kt3 bin
//
+bool MuonCorrection=1;// correct for Muons?
bool IncludeG_def=kFALSE;// Include coherence?
bool IncludeEW_def=kTRUE;// Include EdgeWorth coefficients?
bool IncludeEWfromTherm_def=kFALSE;// Include EdgeWorth coefficients from Therminator?
TH1D *CoulCorr2OS;
TF1 *StrongSC;// same-charge pion strong FSI
-//static double Lednicky_qinv[74];
-//static double Lednicky_CoulStrong[74];
void ReadCoulCorrections(int, int, int);
void ReadCoulCorrections_Omega0();
-//void ReadLednickyFile(int);
+void ReadMuonCorrections(int);
void ReadMomResFile(int, double);
double CoulCorr2(int, double);
double CoulCorrOmega0(bool, double, double, double);
double cubicInterpolate(double[4], double);
double bicubicInterpolate(double[4][4], double, double);
double tricubicInterpolate(double[4][4][4], double, double, double);
+void DrawALICELogo(Bool_t, Float_t, Float_t, Float_t, Float_t);
//
void fcnC2_Global(int&, double*, double&, double[], int);
void fcnOSL(int&, double*, double&, double[], int);
double AvgQinvSS[30];
double AvgQinvOS[30];
//
+TH1D *C2muonCorrection_SC;
+TH1D *C2muonCorrection_MC;
+TH1D *WeightmuonCorrection;
+TH1D *C3muonCorrection;
+
+
void Plot_PDCumulants(bool SaveToFile=SaveToFile_def, bool MCcase=MCcase_def, bool IncludeEWfromTherm=IncludeEWfromTherm_def, bool SameCharge=SameCharge_def, bool IncludeG=IncludeG_def, bool IncludeEW=IncludeEW_def, bool GRS=GRS_def, int EDbin=EDbin_def, int CHARGE=CHARGE_def, int Mbin=Mbin_def, int Ktbin=Ktbin_def){
// Core-Halo modeling of single-particle and triple-particle core fraction
//float AvgN[10]={472.56, 390.824, 319.597, 265.933, 218.308, 178.865, 141.2, 115.88, 87.5556, 69.3235};// 10h (avg total pion mult)/2. 2.0sigma
- float AvgN[10]={571.2, 472.7, 400.2, 325.2, 268.721, 220.3, 178.9, 143.4, 113.412, 88.0};// 11h (avg total pion mult)/2. 2.0sigma
+ //float AvgN[10]={571.2, 472.7, 400.2, 325.2, 268.721, 220.3, 178.9, 143.4, 113.412, 88.0};// 11h (avg total pion mult)/2. 2.0sigma
//
// avg Qinv within the 5 MeV bins (0-5, 5-10,...) for true bin mean values. From unsmeared HIJING 0-5% with input signal
if(Mbin<=1){
//myfile = new TFile("Results/PDC_HIJING_12a17ad_fix_genSignal_Rinv11.root","READ");
//myfile = new TFile("Results/PDC_HIJING_12a17ad_fix_genSignal_Rinv11_Smeared.root","READ");
- myfile = new TFile("Results/PDC_HIJING_12a17ad_fix_KtgenSignal_Rinv11.root","READ");
+ //myfile = new TFile("Results/PDC_HIJING_12a17ad_fix_KtgenSignal_Rinv11.root","READ");
+ myfile = new TFile("Results/PDC_pureHIJING_12a17a_fix_KtgenSignal_Rinv11.root","READ");
//myfile = new TFile("Results/PDC_HIJING_10h8.root","READ");
}else{
myfile = new TFile("Results/PDC_HIJING_12a17b_myRun_L0p68R11_C2plots.root","READ");
if(FileSetting==6) myfile = new TFile("Results/PDC_11h_GaussR8to5.root","READ");// Gaussian
if(FileSetting==7) myfile = new TFile("Results/PDC_11h_GaussR11to6.root","READ");// Gaussian
if(FileSetting==8) myfile = new TFile("Results/PDC_11h_4ktbins.root","READ");// 4 kt bins (0.035TTC)
- if(FileSetting==9) myfile = new TFile("Results/PDC_11h_FB5and7overlap.root","READ");// FB5and7overlap
+ if(FileSetting==9) myfile = new TFile("Results/PDC_11h_FB5and7overlap_l0p8.root","READ");// FB5and7overlap
+ if(FileSetting==10) myfile = new TFile("Results/PDC_11h_muonVar.root","READ");
}
}else{// pp
cout<<"pp not currently supported"<<endl;
//ReadLednickyFile(RValue);
ReadMomResFile(RValueMomRes, TwoFracMomRes);
ReadCoulCorrections_Omega0();
+ ReadMuonCorrections(Mbin);
//
/////////////////////////////////////////////////////////
-
+
double NormQcutLow;
double NormQcutHigh;
for(int i=0; i<BINRANGE_C2global; i++){
C2ssFitting[i] = (temp_mm->GetBinContent(i+1) + temp_pp->GetBinContent(i+1))/2.;
- if(!GeneratedSignal && !MCcase) C2ssFitting[i] *= MomRes_C2_pp[i];
+ if(!GeneratedSignal && !MCcase) C2ssFitting[i] *= (MomRes_C2_pp[i]-1)*MRCShift+1;
C2ssFitting_e[i] = pow(MomRes_C2_pp[i]*sqrt(pow(temp_mm->GetBinError(i+1),2) + pow(temp_pp->GetBinError(i+1),2))/sqrt(2.),2);
C2ssRaw->SetBinContent(i+1, (temp_mm->GetBinContent(i+1) + temp_pp->GetBinContent(i+1))/2.);
C2ssRaw->SetBinError(i+1, pow(sqrt(pow(temp_mm->GetBinError(i+1),2) + pow(temp_pp->GetBinError(i+1),2))/sqrt(2.),2));
C2ssFitting_e[i] += pow((MomRes_C2_pp[i]-1)*0.1 * (temp_mm->GetBinContent(i+1) + temp_pp->GetBinContent(i+1))/2.,2);
C2ssFitting_e[i] = sqrt(C2ssFitting_e[i]);
C2osFitting[i] = temp_mp->GetBinContent(i+1);
- if(!GeneratedSignal && !MCcase) C2osFitting[i] *= MomRes_C2_mp[i];
+ if(!GeneratedSignal && !MCcase) C2osFitting[i] *= (MomRes_C2_mp[i]-1)*MRCShift+1;
C2osFitting_e[i] = pow(MomRes_C2_mp[i]*temp_mp->GetBinError(i+1),2);
C2osRaw->SetBinContent(i+1, temp_mp->GetBinContent(i+1));
C2osRaw->SetBinError(i+1, temp_mp->GetBinError(i+1));
}// iteration loop
-
+
TH1D *C2_ss=(TH1D*)Two_ex_clone_mm->Clone();
TH1D *C2_os=(TH1D*)Two_ex_clone_mp->Clone();
TH1D *C2_ss_Momsys=(TH1D*)Two_ex_clone_mm->Clone();
TH1D *C2_os_Ksys=(TH1D*)Two_ex_clone_mp->Clone();
TH1D *K2_ss = (TH1D*)Two_ex_clone_mm->Clone();
TH1D *K2_os = (TH1D*)Two_ex_clone_mp->Clone();
-
+
for(int i=0; i<BINRANGE_C2global; i++){
C2_ss->SetBinContent(i+1, C2ssFitting[i]);
C2_os->SetBinContent(i+1, C2osFitting[i]);
K2_ss->SetBinContent(i+1, K2SS[i]); K2_ss->SetBinError(i+1, 0);
K2_os->SetBinContent(i+1, K2OS[i]); K2_os->SetBinError(i+1, 0);
}
-
+
C2_ss_Momsys->SetMarkerSize(0);
C2_ss_Momsys->SetFillStyle(1000);
C2_ss_Momsys->SetFillColor(kRed-10);
C2_os->SetMarkerSize(1.5);
C2_os->SetMarkerStyle(25);
C2_os->SetMarkerColor(4);
-
- TF1 *fitC2ss = new TF1("fitC2ss",C2ssFitFunction, 0.005,0.2, npar);
- TF1 *fitC2os = new TF1("fitC2os",C2osFitFunction, 0.005,0.2, npar);
+
+ TF1 *fitC2ss = new TF1("fitC2ss",C2ssFitFunction, 0.001,0.2, npar);
+ TF1 *fitC2os = new TF1("fitC2os",C2osFitFunction, 0.001,0.2, npar);
for(int i=0; i<npar; i++) {
fitC2ss->FixParameter(i,OutputPar[i]);
fitC2ss->SetParError(i,OutputPar_e[i]);
TH1D *fitC2os_h=new TH1D("fitC2os_h","",C2_os->GetNbinsX(),0,C2_os->GetXaxis()->GetBinUpEdge(C2_os->GetNbinsX()));
fitC2ss_h->SetLineWidth(2); fitC2os_h->SetLineWidth(2);
fitC2ss_h->SetLineColor(2); fitC2os_h->SetLineColor(4);
+
for(int bin=1; bin<=fitC2ss_h->GetNbinsX(); bin++){
double qinv=(bin-0.5)*0.005;
fitC2ss_h->SetBinContent(bin, fitC2ss->Eval(qinv));
TH1D *Coul_Omega0 = new TH1D("Coul_Omega0","",Q3BINS,0,0.2);
TH1D *c3_hist = new TH1D("c3_hist","",Q3BINS,0,0.2);
TH1D *c3_hist_STAR = new TH1D("c3_hist_STAR","",Q3BINS,0,0.2);
- TProfile *MomRes_2d = new TProfile("MomRes_2d","",Q3BINS,0,0.2, 0,20.,"");
+ //TProfile *MomRes_2d = new TProfile("MomRes_2d","",Q3BINS,0,0.2, 0,20.,"");
TProfile *MomRes_3d_term1 = new TProfile("MomRes_3d_term1","",Q3BINS,0,0.2, 0,20.,"");
TProfile *MomRes_3d_term2 = new TProfile("MomRes_3d_term2","",Q3BINS,0,0.2, 0,20.,"");
TProfile *MomRes_3d_term5 = new TProfile("MomRes_3d_term5","",Q3BINS,0,0.2, 0,20.,"");
else {CB1=0; CB2=1; CB3=1; CP12=-1, CP13=-1, CP23=+1;}
}
-
-
+ cout<<"here"<<endl;
// SC = species combination. Always 0 meaning pi-pi-pi.
int SCBin=0;
//
}
if(MCcase && !GeneratedSignal) { K2_12=1.; K2_13=1.; K2_23=1.; K3=1.;}
if(K3==0) continue;
-
+ if(GeneratedSignal) K3 = K2_12*K2_13*K2_23;// no interpolation for Generated signal
+
double TERM1=Three_3d[CB1][CB2][CB3][SCBin][0]->GetBinContent(i,j,k);// N3 (3-pion yield per q12,q13,q23 cell). 3-pions from same-event
double TERM2=Three_3d[CB1][CB2][CB3][SCBin][1]->GetBinContent(i,j,k);// N2*N1. 1 and 2 from same-event
double TERM3=Three_3d[CB1][CB2][CB3][SCBin][2]->GetBinContent(i,j,k);// N2*N1. 1 and 3 from same-event
if(TERM1==0 && TERM2==0 && TERM3==0 && TERM4==0 && TERM5==0) continue;
if(TERM1==0 || TERM2==0 || TERM3==0 || TERM4==0 || TERM5==0) continue;
+ double muonCorr_C3=1.0, muonCorr_C2_12=1.0, muonCorr_C2_13=1.0, muonCorr_C2_23=1.0;
+ double muonCorr_W12=1.0, muonCorr_W13=1.0, muonCorr_W23=1.0;
+ if(MuonCorrection){
+ if(SameCharge){
+ muonCorr_C3 = C3muonCorrection->GetBinContent(Q3bin);
+ muonCorr_C2_12 = C2muonCorrection_SC->GetBinContent(Q12bin);
+ muonCorr_C2_13 = C2muonCorrection_SC->GetBinContent(Q13bin);
+ muonCorr_C2_23 = C2muonCorrection_SC->GetBinContent(Q23bin);
+ muonCorr_W12 = WeightmuonCorrection->GetBinContent(Q12bin);
+ muonCorr_W13 = WeightmuonCorrection->GetBinContent(Q13bin);
+ muonCorr_W23 = WeightmuonCorrection->GetBinContent(Q23bin);
+ }else{
+ muonCorr_C3 = C3muonCorrection->GetBinContent(Q3bin);
+ if(CHARGE==-1){// pi-pi-pi+
+ muonCorr_C2_12 = C2muonCorrection_SC->GetBinContent(Q12bin);
+ muonCorr_C2_13 = C2muonCorrection_MC->GetBinContent(Q13bin);
+ muonCorr_C2_23 = C2muonCorrection_MC->GetBinContent(Q23bin);
+ }else{// pi-pi+pi+
+ muonCorr_C2_12 = C2muonCorrection_MC->GetBinContent(Q12bin);
+ muonCorr_C2_13 = C2muonCorrection_MC->GetBinContent(Q13bin);
+ muonCorr_C2_23 = C2muonCorrection_SC->GetBinContent(Q23bin);
+ }
+ }
+ }
+
if(Q3>0.08 && Q3<0.09){// just for testing
if(Q12>0.08 || Q13>0.08 || Q23>0.08) OutTriplets++;
else InTriplets++;
TERM3 *= (MomRes3d[0][2]->GetBinContent(Q12bin, Q13bin, Q23bin)-1)*MRCShift+1;
TERM4 *= (MomRes3d[0][3]->GetBinContent(Q12bin, Q13bin, Q23bin)-1)*MRCShift+1;
TERM5 *= (MomRes3d[0][4]->GetBinContent(Q12bin, Q13bin, Q23bin)-1)*MRCShift+1;
- // Triple produce of 1-d momentum resolution corrections (less accurate).
- /*TERM1 *= MomRes_term1_pp[i-1]*MomRes_term1_pp[j-1]*MomRes_term1_pp[k-1];
- TERM2 *= MomRes_term1_pp[i-1]*MomRes_term2_pp[j-1]*MomRes_term2_pp[k-1];
- TERM3 *= MomRes_term2_pp[i-1]*MomRes_term1_pp[j-1]*MomRes_term2_pp[k-1];
- TERM4 *= MomRes_term2_pp[i-1]*MomRes_term2_pp[j-1]*MomRes_term1_pp[k-1];
- TERM5 *= MomRes_term2_pp[i-1]*MomRes_term2_pp[j-1]*MomRes_term2_pp[k-1];*/
- //MomRes_2d->Fill(Q3, MomRes_term1_pp[i-1]*MomRes_term1_pp[j-1]*MomRes_term1_pp[k-1]);
MomRes_3d_term1->Fill(Q3, MomRes3d[0][0]->GetBinContent(Q12bin, Q13bin, Q23bin),TERM1);
MomRes_3d_term2->Fill(Q3, MomRes3d[0][1]->GetBinContent(Q12bin, Q13bin, Q23bin),TERM2);
MomRes_3d_term5->Fill(Q3, MomRes3d[0][4]->GetBinContent(Q12bin, Q13bin, Q23bin),TERM5);
TERM3 *= (MomRes3d[1][2]->GetBinContent(Q12bin, Q13bin, Q23bin)-1)*MRCShift+1;
TERM4 *= (MomRes3d[1][3]->GetBinContent(Q12bin, Q13bin, Q23bin)-1)*MRCShift+1;
TERM5 *= (MomRes3d[1][4]->GetBinContent(Q12bin, Q13bin, Q23bin)-1)*MRCShift+1;
- //TERM1 *= MomRes_term1_pp[i-1]*MomRes_term1_mp[j-1]*MomRes_term1_mp[k-1];
- //TERM2 *= MomRes_term1_pp[i-1]*MomRes_term2_mp[j-1]*MomRes_term2_mp[k-1];
- //TERM3 *= MomRes_term2_pp[i-1]*MomRes_term1_mp[j-1]*MomRes_term2_mp[k-1];
- //TERM4 *= MomRes_term2_pp[i-1]*MomRes_term2_mp[j-1]*MomRes_term1_mp[k-1];
- //TERM5 *= MomRes_term2_pp[i-1]*MomRes_term2_mp[j-1]*MomRes_term2_mp[k-1];
-
}else {// pi-pi+pi+
TERM1 *= (MomRes3d[1][0]->GetBinContent(Q23bin, Q13bin, Q12bin)-1)*MRCShift+1;
TERM2 *= (MomRes3d[1][3]->GetBinContent(Q23bin, Q13bin, Q12bin)-1)*MRCShift+1;
TERM3 *= (MomRes3d[1][2]->GetBinContent(Q23bin, Q13bin, Q12bin)-1)*MRCShift+1;
TERM4 *= (MomRes3d[1][1]->GetBinContent(Q23bin, Q13bin, Q12bin)-1)*MRCShift+1;
TERM5 *= (MomRes3d[1][4]->GetBinContent(Q23bin, Q13bin, Q12bin)-1)*MRCShift+1;
- //TERM1 *= MomRes_term1_mp[i-1]*MomRes_term1_mp[j-1]*MomRes_term1_pp[k-1];
- //TERM2 *= MomRes_term1_mp[i-1]*MomRes_term2_mp[j-1]*MomRes_term2_pp[k-1];
- //TERM3 *= MomRes_term2_mp[i-1]*MomRes_term1_mp[j-1]*MomRes_term2_pp[k-1];
- //TERM4 *= MomRes_term2_mp[i-1]*MomRes_term2_mp[j-1]*MomRes_term1_pp[k-1];
- //TERM5 *= MomRes_term2_mp[i-1]*MomRes_term2_mp[j-1]*MomRes_term2_pp[k-1];
}
- //MomRes_2d->Fill(Q3, MomRes_term1_pp[i-1]*MomRes_term1_mp[j-1]*MomRes_term1_mp[k-1]);// always treats 12 as ss pair
MomRes_3d_term1->Fill(Q3, MomRes3d[1][0]->GetBinContent(Q12bin, Q13bin, Q23bin), TERM1);
MomRes_3d_term2->Fill(Q3, MomRes3d[1][1]->GetBinContent(Q12bin, Q13bin, Q23bin),TERM2);
MomRes_3d_term5->Fill(Q3, MomRes3d[1][4]->GetBinContent(Q12bin, Q13bin, Q23bin),TERM5);
for(int LamType=0; LamType<2; LamType++){
if(LamType==1) TwoFrac=TwoFracr3;// r3
- else TwoFrac = OutputPar[1];// c3
+ else TwoFrac = 0.7;//OutputPar[1];// c3 (newly fixed to 0.7)
- if(LamType==0 && FileSetting==9) TwoFrac=0.8;// for FB5and7overlap choose a fixed higher lambda
+ if(FileSetting==9) TwoFrac=0.8;// for FB5and7overlap choose a fixed higher lambda
OneFrac=pow(TwoFrac,0.5); // 0.495 to bring baseline up
ThreeFrac=pow(TwoFrac,1.5);
N3_QS[LamType] -= (1-OneFrac)*(TERM2 + TERM3 + TERM4 - 3*(1-TwoFrac)*TERM5);
N3_QS[LamType] /= ThreeFrac;
N3_QS[LamType] /= K3;
+ N3_QS[LamType] *= muonCorr_C3;
if(LamType==0) num_QS->Fill(Q3, N3_QS[LamType]);
// Isolate 3-pion cumulant
value_num[LamType] = N3_QS[LamType];
- value_num[LamType] -= (TERM2 - (1-TwoFrac)*TERM5)/K2_12/TwoFrac;
- value_num[LamType] -= (TERM3 - (1-TwoFrac)*TERM5)/K2_13/TwoFrac;
- value_num[LamType] -= (TERM4 - (1-TwoFrac)*TERM5)/K2_23/TwoFrac;
+ value_num[LamType] -= (TERM2 - (1-TwoFrac)*TERM5)/K2_12/TwoFrac * muonCorr_C2_12;
+ value_num[LamType] -= (TERM3 - (1-TwoFrac)*TERM5)/K2_13/TwoFrac * muonCorr_C2_13;
+ value_num[LamType] -= (TERM4 - (1-TwoFrac)*TERM5)/K2_23/TwoFrac * muonCorr_C2_23;
value_num[LamType] += 2*TERM5;
+ //value_num[LamType] += 0.004*TERM5;
// r3 denominator
if(LamType==1 && SameCharge) {
double den_ratioKShift = sqrt(fabs(denMRC1))/sqrt(fabs(denKshiftBack));
value_den[LamType] *= den_ratioKShift;
//
+ value_den[LamType] *= sqrt(muonCorr_W12*muonCorr_W13*muonCorr_W23);// muon correction
+ //
//value_den[LamType] -= TPNRejects->GetBinContent(i,j,k);// Testing for 0-5% only to estimate the effect when C2^QS < 1.0
value_den[LamType] *= (MomRes3d[0][4]->GetBinContent(Q12bin, Q13bin, Q23bin)-1)*MRCShift+1;// momentum resolution correction to combinatorics
- }
+ }// !MCcase
}
-
+
+
// errors
N3_QS_e[LamType] = fabs(TERM1);
N3_QS_e[LamType] += pow(( pow(1-OneFrac,3) +3*OneFrac*pow(1-OneFrac,2) )*sqrt(fabs(TERM5)),2);
c3_hist->SetLineColor(2);
c3_hist->SetMaximum(3);
c3_hist->SetMinimum(.9);
- if(!MCcase) c3_hist->Draw("same");
+ if(!MCcase && !GeneratedSignal) c3_hist->Draw("same");
//legend2->AddEntry(c3_hist,"#font[12]{c}_{3} (cumulant correlation)","p");
if(SameCharge){
//MomRes_3d_term5->Draw("same");
//legend2->AddEntry(MomRes_3d,"3D","p");
- legend2->Draw("same");
+ //legend2->Draw("same");
//cout<<c3_hist->Integral(8,10)/3.<<endl;
TF1 *QuarticFit = new TF1("QuarticFit","[0]*(1-[1]*pow(x,4))",0,.1);
QuarticFit->SetParameter(0,2); QuarticFit->SetParameter(1,0);
QuarticFit->SetLineColor(4);
- QuarticFit->SetParName(0,"I(Q^{4})"); QuarticFit->SetParName(1,"a(Q^{4})");
+ QuarticFit->SetParName(0,"I^{Quartic}"); QuarticFit->SetParName(1,"a^{Quartic}");
TF1 *QuadraticFit = new TF1("QuadraticFit","[0]*(1-[1]*pow(x,2))",0,.1);
QuadraticFit->SetParameter(0,2); QuadraticFit->SetParameter(1,0);
- QuadraticFit->SetParName(0,"I(Q^{2})"); QuadraticFit->SetParName(1,"a(Q^{2})");
+ QuadraticFit->SetParName(0,"I^{Quadratic}"); QuadraticFit->SetParName(1,"a^{Quadratic}");
+ TLegend *legend3 = new TLegend(.2,.85,.5,.95,NULL,"brNDC");
+ legend3->SetBorderSize(1);
+ legend3->SetTextSize(.04);// small .03; large .06
+ legend3->SetFillColor(0);
if(SameCharge){
r3_num_Q3->SetMinimum(0); r3_num_Q3->SetMaximum(2.5);// 0 to 2.5
r3_num_Q3->GetXaxis()->SetRangeUser(0.0,0.1);
r3_num_Q3->Draw();
+
+
+ // HIJING standalone
+ // Kt3 1
+ /*double Gen_r3_m_M0[10]={0, 1.97963, 2.10248, 2.04465, 1.96697, 2.02295, 1.92281, 2.10031, 2.22338, 2.49729};
+ double Gen_r3_m_M0_e[10]={0, 0.132726, 0.0668652, 0.0451347, 0.042838, 0.0546967, 0.0754362, 0.133624, 0.286307, 0.628381};
+ double Gen_r3_p_M0[10]={0, 1.91771, 1.9653, 2.00742, 2.02393, 1.90624, 1.93554, 1.66, 1.79584, 0.301761};
+ double Gen_r3_p_M0_e[10]={0, 0.133654, 0.0667213, 0.0451512, 0.0428925, 0.0547591, 0.0754764, 0.13365, 0.28638, 0.628441};*/
+ // Kt3 2
+ /*double Gen_r3_m_M0[10]={0, 1.12993, 2.09715, 1.91886, 2.08493, 2.10931, 2.00286, 1.99898, 1.78549, 1.91861};
+ double Gen_r3_m_M0_e[10]={0, 0.237903, 0.115454, 0.0725178, 0.0630867, 0.0730326, 0.0886163, 0.12885, 0.213654, 0.379273};
+ double Gen_r3_p_M0[10]={0, 2.05766, 1.97408, 2.05182, 2.02431, 2.11783, 1.93294, 1.97525, 2.21833, 2.31318};
+ double Gen_r3_p_M0_e[10]={0, 0.24238, 0.11515, 0.0725077, 0.0629938, 0.0729842, 0.0886386, 0.12884, 0.213737, 0.379196};*/
+
+
+ // HIJING + ALICE
+ // Kt3 1
+ /*double Gen_r3_m_M0[10]={0, 2.03468, 2.05783, 1.97757, 2.03809, 1.95703, 2.02915, 1.80055, 1.97664, 1.49573};
+ double Gen_r3_m_M0_e[10]={0, 0.284164, 0.0923288, 0.0543837, 0.045952, 0.0565222, 0.0748221, 0.128994, 0.271954, 0.599077};
+ double Gen_r3_p_M0[10]={0, 1.74611, 1.92369, 2.11024, 2.02823, 2.06235, 2.00127, 1.91551, 1.90576, 2.521};
+ double Gen_r3_p_M0_e[10]={0, 0.279962, 0.0928866, 0.0548168, 0.0462253, 0.0569129, 0.0752683, 0.129803, 0.2736, 0.602535};
+ double Gen_r3_m_M1[10]={0, 1.71341, 1.8735, 1.9352, 1.96466, 1.93852, 1.69509, 1.51402, 1.6014, -0.802941};
+ double Gen_r3_m_M1_e[10]={0, 0.334562, 0.108368, 0.0640739, 0.0540579, 0.0663174, 0.0876532, 0.149302, 0.307982, 0.640548};
+ double Gen_r3_p_M1[10]={0, 1.50861, 2.09508, 2.05338, 1.96178, 1.97999, 2.07162, 1.8607, 1.91805, 1.10468};
+ double Gen_r3_p_M1_e[10]={0, 0.3399, 0.109449, 0.0646241, 0.0544419, 0.0667711, 0.0882695, 0.150195, 0.309844, 0.643923};*/
+ // Kt3 2
+ /*double Gen_r3_m_M0[10]={0, 1.04272, 2.05961, 1.93025, 2.08203, 2.07565, 2.29192, 1.93009, 2.68715, 1.71175};
+ double Gen_r3_m_M0_e[10]={0, 3.09343, 0.30016, 0.117634, 0.0757208, 0.0794904, 0.090823, 0.128235, 0.21308, 0.40023};
+ double Gen_r3_p_M0[10]={0, 1.83276, 1.88969, 2.03778, 2.0907, 2.11919, 2.04992, 2.02593, 1.95209, 1.68264};
+ double Gen_r3_p_M0_e[10]={0, 3.59, 0.298056, 0.118354, 0.0762849, 0.079909, 0.0912179, 0.128866, 0.213999, 0.402173};
+ double Gen_r3_m_M1[10]={0, 5.40628, 1.52822, 1.93258, 2.13338, 2.05811, 2.02963, 2.1204, 2.04906, 1.9021};
+ double Gen_r3_m_M1_e[10]={0, 4.3025, 0.350163, 0.13871, 0.0897272, 0.0938973, 0.107045, 0.151557, 0.25029, 0.446325};
+ double Gen_r3_p_M1[10]={0, 3.15883, 1.86772, 2.24914, 2.12118, 2.09175, 2.01447, 2.36802, 2.57239, 2.68729};
+ double Gen_r3_p_M1_e[10]={0, 4.6622, 0.348237, 0.140294, 0.0903003, 0.09446, 0.107692, 0.152575, 0.251939, 0.448919};*/
+ //double r3Sys_M1[10]={0, 0.097, 0.056, 0.063, 0.097, 0.17, 0.32, 0.66, 1.4, 3.4};
+ // muon variation
+ /*double r3_muonVar_M1[10]={0, 1.73244, 1.80921, 1.77852, 1.7192, 1.62059, 1.50122, 1.37656, 1.01344, 0.755781};
+ double r3_muonVar_M1_e[10]={0, 0.160786, 0.051075, 0.031982, 0.0293467, 0.0390241, 0.0514494, 0.0760959, 0.112944, 0.154592};
+ TH1D *r3_muonVar=(TH1D*)r3_num_Q3->Clone();
+ for(int i=0; i<10; i++){
+ r3_muonVar->SetBinContent(i+1,r3_muonVar_M1[i]);
+ r3_muonVar->SetBinError(i+1,sqrt(pow(r3_muonVar_M1_e[i],2)+pow(r3Sys_M1[i],2)));
+ }
+ r3_muonVar->SetMarkerStyle(21);
+ r3_muonVar->SetMarkerColor(2); r3_muonVar->SetLineColor(2);
+ r3_muonVar->SetFillStyle(1000); r3_muonVar->SetFillColor(kRed-10);
+ r3_muonVar->Draw("E2 same");
+ r3_num_Q3->Draw("same");
+ legend3->AddEntry(r3_num_Q3,"-2.0<N#sigma_{Pion}<2.0 (default)","p");
+ legend3->AddEntry(r3_muonVar,"-0.5<N#sigma_{Pion}<2.0","p");
+ legend3->Draw("same");*/
+
+ // muon correction
+ /*double r3_muonCorr_M1[10]={0, 1.8462, 1.84371, 1.79934, 1.77217, 1.76725, 1.79545, 1.7986, 2.11717, 2.86177};
+ double r3_muonCorr_M1_e[10]={0, 0.0838277, 0.0266269, 0.0168108, 0.0156166, 0.0211333, 0.0286836, 0.0450595, 0.075618, 0.141419};
+ TH1D *r3_muonCorr=(TH1D*)r3_num_Q3->Clone();
+ for(int i=0; i<10; i++){
+ r3_muonCorr->SetBinContent(i+1,r3_muonCorr_M1[i]);
+ r3_muonCorr->SetBinError(i+1,sqrt(pow(r3_muonCorr_M1_e[i],2) + pow(r3Sys_M1[i],2)));
+ }
+ r3_muonCorr->SetMarkerStyle(21);
+ r3_muonCorr->SetMarkerColor(2); r3_muonCorr->SetLineColor(2);
+ r3_muonCorr->SetFillStyle(1000); r3_muonCorr->SetFillColor(kRed-10);
+ r3_muonCorr->Draw("E2 same");
+ r3_num_Q3->Draw("same");
+ legend3->AddEntry(r3_num_Q3,"No Muon Correction","p");
+ legend3->AddEntry(r3_muonCorr,"Correction Applied","p");
+ legend3->Draw("same");*/
+
+ // muon correction for muon variation data
+ /*double r3_muonCorr_M1[10]={0, 1.71115, 1.8128, 1.79761, 1.76112, 1.70699, 1.63908, 1.63417, 1.49861, 1.75565};
+ double r3_muonCorr_M1_e[10]={0, 0.155228, 0.0491558, 0.0308125, 0.0283357, 0.0378035, 0.0501422, 0.0756057, 0.119169, 0.202093};
+ TH1D *r3_muonCorr=(TH1D*)r3_num_Q3->Clone();
+ for(int i=0; i<10; i++){
+ r3_muonCorr->SetBinContent(i+1,r3_muonCorr_M1[i]);
+ r3_muonCorr->SetBinError(i+1,sqrt(pow(r3_muonCorr_M1_e[i],2) + pow(r3Sys_M1[i],2)));
+ }
+ r3_muonCorr->SetMarkerStyle(21);
+ r3_muonCorr->SetMarkerColor(2); r3_muonCorr->SetLineColor(2);
+ r3_muonCorr->SetFillStyle(1000); r3_muonCorr->SetFillColor(kRed-10);
+ r3_muonCorr->Draw("E2 same");
+ r3_num_Q3->Draw("same");
+ legend3->AddEntry(r3_num_Q3,"Muon Corrected. Default PID","p");
+ legend3->AddEntry(r3_muonCorr,"Muon Corrected. Varied PID","p");
+ legend3->Draw("same");*/
+
+ /*for(int i=1; i<=10; i++){
+ cout<<r3_num_Q3->GetBinContent(i)<<", ";
+ }
+ cout<<endl;
+ for(int i=1; i<=10; i++){
+ cout<<r3_num_Q3->GetBinError(i)<<", ";
+ }*/
+
/*
- r3_num_Q3->Fit(QuarticFit,"IME","",0,0.1);
+ TH1D *Merged_SanityCheck=(TH1D*)r3_num_Q3->Clone();
+ for(int i=1; i<=10; i++){
+ double value = (Gen_r3_m_M0[i-1]+Gen_r3_p_M0[i-1])/2.;
+ double value_e = sqrt(pow(Gen_r3_m_M0_e[i-1],2)+pow(Gen_r3_p_M0_e[i-1],2))/2.;
+ //double value = (Gen_r3_m_M0[i-1]+Gen_r3_p_M0[i-1]+Gen_r3_m_M1[i-1]+Gen_r3_p_M1[i-1])/4.;
+ //double value_e = sqrt(pow(Gen_r3_m_M0_e[i-1],2)+pow(Gen_r3_p_M0_e[i-1],2)+pow(Gen_r3_m_M1_e[i-1],2)+pow(Gen_r3_p_M1_e[i-1],2))/4.;
+ Merged_SanityCheck->SetBinContent(i,value);
+ Merged_SanityCheck->SetBinError(i,value_e);
+ }
+ gPad->SetTopMargin(0.02); gPad->SetLeftMargin(0.1);
+ gPad->SetGridx(0); gPad->SetGridy(0);
+ Merged_SanityCheck->GetXaxis()->SetTitleOffset(1.2);
+ Merged_SanityCheck->GetYaxis()->SetTitleOffset(1.3);
+ Merged_SanityCheck->SetMinimum(0.3); Merged_SanityCheck->SetMaximum(2.68);
+ Merged_SanityCheck->Draw();
+
+
+ //r3_num_Q3->Fit(QuarticFit,"IME","",0,0.1);
+ Merged_SanityCheck->Fit(QuarticFit,"IME","",0,0.1);
gPad->Update();
- TPaveStats *Quartic_stats=(TPaveStats*)r3_num_Q3->FindObject("stats");
- Quartic_stats->SetX1NDC(0.2);
- Quartic_stats->SetX2NDC(0.5);
- Quartic_stats->SetY1NDC(.8);
- Quartic_stats->SetY2NDC(.9);
+ //TPaveStats *Quartic_stats=(TPaveStats*)r3_num_Q3->FindObject("stats");
+ TPaveStats *Quartic_stats=(TPaveStats*)Merged_SanityCheck->FindObject("stats");
+ Quartic_stats->SetX1NDC(0.15);
+ Quartic_stats->SetX2NDC(0.52);
+ Quartic_stats->SetY1NDC(.2);
+ Quartic_stats->SetY2NDC(.3);
- TH1D *r3_clone=(TH1D*)r3_num_Q3->Clone();
+ //TH1D *r3_clone=(TH1D*)r3_num_Q3->Clone();
+ TH1D *r3_clone=(TH1D*)Merged_SanityCheck->Clone();
r3_clone->Fit(QuadraticFit,"IME","",0,0.1);
gPad->Update();
TPaveStats *Quadratic_stats=(TPaveStats*)r3_clone->FindObject("stats");
- Quadratic_stats->SetX1NDC(0.55);
- Quadratic_stats->SetX2NDC(0.85);
- Quadratic_stats->SetY1NDC(.8);
- Quadratic_stats->SetY2NDC(.9);
+ Quadratic_stats->SetX1NDC(0.54);
+ Quadratic_stats->SetX2NDC(0.91);
+ Quadratic_stats->SetY1NDC(.2);
+ Quadratic_stats->SetY2NDC(.3);
QuarticFit->Draw("same");
QuadraticFit->Draw("same");
Quartic_stats->Draw("same");
Quadratic_stats->Draw("same");
+
+ TF1 *ChaoticLimit = new TF1("ChaoticLimit","2.0",0,1);
+ ChaoticLimit->SetLineStyle(3);
+ ChaoticLimit->Draw("same");
+
+ TLatex *Specif_SanityCheck=new TLatex(0.2,0.35,"HIJING With Simulated QS+FSI Weights");
+ Specif_SanityCheck->SetNDC();
+ Specif_SanityCheck->SetTextFont(42);
+ Specif_SanityCheck->SetTextSize(0.04);
+ Specif_SanityCheck->Draw();
+ //TLatex *Specif_Kt3=new TLatex(0.2,0.45,"0.16<K_{t,3}<0.3 GeV/c");
+ TLatex *Specif_Kt3=new TLatex(0.2,0.45,"0.3<K_{t,3}<1.0 GeV/c");
+ Specif_Kt3->SetNDC();
+ Specif_Kt3->SetTextFont(42);
+ Specif_Kt3->SetTextSize(0.04);
+ Specif_Kt3->Draw();
+
+ legend3->AddEntry(QuarticFit,"Quartic fit","l");
+ legend3->AddEntry(QuadraticFit,"Quadratic fit","l");
+ legend3->Draw("same");
+ //DrawALICELogo(kFALSE, .72, .4, .87, .55);
*/
/*
//////////
//else CSS -= Dp1/(1+Dp1) * Dp2/(1+Dp2);
CSS *= par[1]*K2SS[i];
+ if(MuonCorrection) CSS /= C2muonCorrection_SC->GetBinContent(i+1);
CSS += 1-par[1];
CSS *= par[0];
//
COS = 1;
if(ChargeConstraint && GofP) COS += 1/5.* Dp1/(1+Dp1) * Dp2/(1+Dp2);
COS *= par[1]*K2OS[i];
+ if(MuonCorrection) COS /= C2muonCorrection_MC->GetBinContent(i+1);
COS += 1-par[1];
COS *= par[9];// different Norm
//
else CSS -= pow(Gaus_coh*Dp,2)/((1+Dp1)*(1+Dp2));
//else CSS -= Dp1/(1+Dp1) * Dp2/(1+Dp2);
CSS *= par[1]*K2SS[qbin];
+ if(MuonCorrection) CSS /= C2muonCorrection_SC->GetBinContent(qbin+1);
CSS += 1-par[1];
CSS *= par[0];
double COS = 1;
if(ChargeConstraint && GofP) COS += 1/5.* Dp1/(1+Dp1) * Dp2/(1+Dp2);
COS *= par[1]*K2OS[qbin];
+ if(MuonCorrection) COS /= C2muonCorrection_MC->GetBinContent(qbin+1);
COS += 1-par[1];
COS *= par[9];
return COS;
float fact(float n){
return (n < 1.00001) ? 1 : fact(n - 1) * n;
}
+void DrawALICELogo(Bool_t prel, Float_t x1, Float_t y1, Float_t x2, Float_t y2)
+{
+ // revision on July 24th or 25th 2012
+ // correct for aspect ratio of figure plus aspect ratio of pad (coordinates are NDC!)
+ x2 = x1 + (y2 - y1) * (466. / 523) * gPad->GetWh() * gPad->GetHNDC() / (gPad->GetWNDC() * gPad->GetWw());
+ // Printf("%f %f %f %f", x1, x2, y1, y2);
+
+ TPad *myPadLogo = new TPad("myPadLogo", "Pad for ALICE Logo", x1, y1, x2, y2);
+ myPadLogo->SetLeftMargin(0);
+ myPadLogo->SetTopMargin(0);
+ myPadLogo->SetRightMargin(0);
+ myPadLogo->SetBottomMargin(0);
+ myPadLogo->Draw();
+ myPadLogo->cd();
+ 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");
+ myAliceLogo->Draw();
+}
+//________________________________________________________________________________________
+void ReadMuonCorrections(int mbin){
+ TString *name = new TString("MuonCorrection_");
+ if(mbin<=1) *name += 0;
+ else if(mbin<=3) *name += 1;
+ else if(mbin<=5) *name += 2;
+ else if(mbin<=7) *name += 3;
+ else if(mbin<=9) *name += 3;
+ else *name += 4;
+ name->Append(".root");
+ TFile *muonfile=new TFile(name->Data(),"READ");
+ C2muonCorrection_SC = (TH1D*)muonfile->Get("C2muonCorrection_SC");
+ C2muonCorrection_MC = (TH1D*)muonfile->Get("C2muonCorrection_MC");
+ WeightmuonCorrection = (TH1D*)muonfile->Get("WeightmuonCorrection");
+ if(SameCharge_def) C3muonCorrection = (TH1D*)muonfile->Get("C3muonCorrection_SC");
+ else C3muonCorrection = (TH1D*)muonfile->Get("C3muonCorrection_MC");
+ //
+ C2muonCorrection_SC->SetDirectory(0);
+ C2muonCorrection_MC->SetDirectory(0);
+ WeightmuonCorrection->SetDirectory(0);
+ C3muonCorrection->SetDirectory(0);
+ //
+ muonfile->Close();
+}
--- /dev/null
+#include <math.h>
+#include <time.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <Riostream.h>
+#include <assert.h>
+
+#include "TVector2.h"
+#include "TFile.h"
+#include "TString.h"
+#include "TF1.h"
+#include "TF3.h"
+#include "TH1.h"
+#include "TH2.h"
+#include "TH3.h"
+#include "TProfile.h"
+#include "TProfile2D.h"
+#include "TMath.h"
+#include "TText.h"
+#include "TRandom3.h"
+#include "TArray.h"
+#include "TLegend.h"
+#include "TStyle.h"
+#include "TMinuit.h"
+#include "TCanvas.h"
+#include "TLatex.h"
+#include "TPaveStats.h"
+#include "TASImage.h"
+
+#define BohrR 1963.6885 // Bohr Radius for pions
+#define FmToGeV 0.19733 // conversion to fm
+#define PI 3.1415926
+#define masspiC 0.1395702 // pi+ mass (GeV/c^2)
+#define kappa3 0.16
+#define kappa4 0.40
+
+using namespace std;
+
+
+void Plot_muons(){
+
+
+ gStyle->SetOptStat(0);
+ gStyle->SetOptDate(0);
+ gStyle->SetOptFit(0111);
+
+ int ChComb=1;// 0=Same-charge, 1=Mixed-charge
+ int kTbin_L=5, kTbin_H=6;
+ int binKT3=1;//1-2
+
+ //TFile *_file0= new TFile("Results/PDC_12a17a_muons_R6.root","READ");
+ //TFile *_file0= new TFile("Results/PDC_13b2_efix_p1_muons_R2.root","READ");
+ TFile *_file0= new TFile("Results/PDC_12a17e_muons_R4.root","READ");
+
+ TList *MyList=(TList*)_file0->Get("MyList");
+ _file0->Close();
+
+ TH1D *PionCandidates=(TH1D*)MyList->FindObject("fPionCandidates");
+ PionCandidates->GetXaxis()->SetTitle("PDG code");
+ //PionCandidates->Draw();
+ //
+ TH1D *MuonParentsPrimary=(TH1D*)MyList->FindObject("fMuonParents");
+ MuonParentsPrimary->GetXaxis()->SetTitle("PDG code");
+ MuonParentsPrimary->SetFillColor(1);
+ //MuonParentsPrimary->Draw();
+ //
+ TH1D *MuonParentsSecondary=(TH1D*)MyList->FindObject("fSecondaryMuonParents");
+ MuonParentsSecondary->GetXaxis()->SetTitle("PDG code");
+ MuonParentsSecondary->SetFillColor(1);
+ //MuonParentsSecondary->Draw();
+ //
+ // M0 R10-R6, M6 for R4, M17 for R2
+ TH3D *PurityNum_3D = (TH3D*)MyList->FindObject("Explicit2_Charge1_1_Charge2_1_SC_0_M_6_ED_0_Term_1_PIDpurityNum");
+ TH2D *PurityDen_2D = (TH2D*)MyList->FindObject("Explicit2_Charge1_1_Charge2_1_SC_0_M_6_ED_0_Term_1_PIDpurityDen");
+ TH1D *PurityNum=PurityNum_3D->ProjectionX("PurityNum",kTbin_L,kTbin_H,1,20);
+ double PurityNorm=PurityDen_2D->Integral(kTbin_L,kTbin_H,1,20);
+ PurityNum->Scale(1/PurityNorm);
+ char *namesAxis[15]={"e-e","e-mu","e-pi","e-k","e-p","mu-mu","mu-pi","mu-k","mu-p","pi-pi","pi-k","pi-p","k-k","k-p","p-p"};
+ for(int i=1; i<=15; i++) PurityNum->GetXaxis()->SetBinLabel(i, namesAxis[i-1]);
+ PurityNum->GetXaxis()->SetRange(1,15);
+ PurityNum->GetYaxis()->SetTitle("Probability");
+ PurityNum->Draw();
+ //
+ //
+ TCanvas *can = new TCanvas("can", "can",800,0,800,800);// 11,53,700,500
+ can->SetHighLightColor(2);
+ gStyle->SetOptFit(0111);
+ can->SetFillColor(10);//10
+ can->SetBorderMode(0);
+ can->SetBorderSize(2);
+ can->SetFrameFillColor(0);
+ can->SetFrameBorderMode(0);
+ can->SetFrameBorderMode(0);
+ can->cd();
+ TPad *pad = new TPad("pad","pad",0.,0.,1.,1.);
+ gPad->SetTickx();
+ gPad->SetTicky();
+ pad->SetGridx();
+ pad->SetGridy();
+ pad->SetTopMargin(0.02);//0.05
+ pad->SetRightMargin(0.02);//3e-2
+ pad->SetBottomMargin(0.1);//0.12
+ pad->SetLeftMargin(0.1);
+ pad->Draw();
+ pad->cd();
+ TLegend *legend = new TLegend(.5,.65, .9,.95,NULL,"brNDC");//.45 or .4 for x1
+ legend->SetBorderSize(0);
+ legend->SetFillColor(0);
+ legend->SetTextFont(42);
+ legend->SetTextSize(0.03);
+ //
+ TH3D *MuonSmearedNum2_3=(TH3D*)MyList->FindObject("fMuonContamSmearedNum2");
+ TH3D *MuonSmearedDen2_3=(TH3D*)MyList->FindObject("fMuonContamSmearedDen2");
+ TH3D *PionNum2_3=(TH3D*)MyList->FindObject("fMuonContamIdealNum2");
+ TH3D *PionDen2_3=(TH3D*)MyList->FindObject("fMuonContamIdealDen2");
+ TH3D *PionPionK2_3=(TH3D*)MyList->FindObject("fPionPionK2");
+ //
+ TH3D *MuonSmearedNum3_3=(TH3D*)MyList->FindObject("fMuonContamSmearedNum3");
+ TH3D *MuonSmearedDen3_3=(TH3D*)MyList->FindObject("fMuonContamSmearedDen3");
+ TH3D *PionNum3_3=(TH3D*)MyList->FindObject("fMuonContamIdealNum3");
+ TH3D *PionDen3_3=(TH3D*)MyList->FindObject("fMuonContamIdealDen3");
+ TH3D *PionPionK3_3=(TH3D*)MyList->FindObject("fPionPionK3");
+ TH3D *MuonPionK3_3=(TH3D*)MyList->FindObject("fMuonPionK3");
+
+
+ TH1D *MuonSmearedNum2[2];// SC/MC
+ TH1D *MuonSmearedDen2[2];
+ TH1D *PionNum2[2];
+ TH1D *PionDen2[2];
+ TH1D *PionPionK2[2];
+ //
+ TH1D *MuonSmearedNum3[2];// SC/MC
+ TH1D *MuonSmearedDen3[2];
+ TH1D *PionNum3[2];
+ TH1D *PionDen3[2];
+ TH1D *PionPionK3[2];
+ //
+ TH1D *C2muonSmeared[2];
+ TH1D *C2pion[2];
+ TH1D *C3muonSmeared[2];
+ TH1D *C3pion[2];
+ //
+ for(int chtype=0; chtype<2; chtype++){
+ TString *names[10];
+ for(int i=0; i<10; i++) {names[i]=new TString("name_"); *names[i] += i; *names[i] += chtype;}
+
+ MuonSmearedNum2[chtype]=(TH1D*)MuonSmearedNum2_3->ProjectionZ(names[0]->Data(),chtype+1,chtype+1,kTbin_L,kTbin_H);
+ MuonSmearedDen2[chtype]=(TH1D*)MuonSmearedDen2_3->ProjectionZ(names[1]->Data(),chtype+1,chtype+1,kTbin_L,kTbin_H);
+ PionNum2[chtype]=(TH1D*)PionNum2_3->ProjectionZ(names[2]->Data(),chtype+1,chtype+1,kTbin_L,kTbin_H);
+ PionDen2[chtype]=(TH1D*)PionDen2_3->ProjectionZ(names[3]->Data(),chtype+1,chtype+1,kTbin_L,kTbin_H);
+ PionPionK2[chtype]=(TH1D*)PionPionK2_3->ProjectionZ(names[4]->Data(),chtype+1,chtype+1,kTbin_L,kTbin_H);
+ PionPionK2[chtype]->Divide(PionDen2[chtype]);
+ ////////////////
+ MuonSmearedNum3[chtype]=(TH1D*)MuonSmearedNum3_3->ProjectionZ(names[5]->Data(),chtype+1,chtype+1,binKT3,binKT3);
+ MuonSmearedDen3[chtype]=(TH1D*)MuonSmearedDen3_3->ProjectionZ(names[6]->Data(),chtype+1,chtype+1,binKT3,binKT3);
+ PionNum3[chtype]=(TH1D*)PionNum3_3->ProjectionZ(names[7]->Data(),chtype+1,chtype+1,binKT3,binKT3);
+ PionDen3[chtype]=(TH1D*)PionDen3_3->ProjectionZ(names[8]->Data(),chtype+1,chtype+1,binKT3,binKT3);
+ PionPionK3[chtype]=(TH1D*)PionPionK3_3->ProjectionZ(names[9]->Data(),chtype+1,chtype+1,binKT3,binKT3);
+ PionPionK3[chtype]->Divide(PionDen3[chtype]);
+ //
+ C2muonSmeared[chtype]=(TH1D*)MuonSmearedNum2[chtype]->Clone();
+ C2pion[chtype]=(TH1D*)PionNum2[chtype]->Clone();
+ C2muonSmeared[chtype]->Divide(MuonSmearedDen2[chtype]);
+ C2pion[chtype]->Divide(PionDen2[chtype]);
+ //
+ C3muonSmeared[chtype]=(TH1D*)MuonSmearedNum3[chtype]->Clone();
+ C3pion[chtype]=(TH1D*)PionNum3[chtype]->Clone();
+ C3muonSmeared[chtype]->Divide(MuonSmearedDen3[chtype]);
+ C3pion[chtype]->Divide(PionDen3[chtype]);
+ //
+ //
+ C2pion[chtype]->SetLineColor(4);
+ C2muonSmeared[chtype]->SetLineColor(2);
+ C2pion[chtype]->GetXaxis()->SetRangeUser(0,0.15);
+ C2pion[chtype]->SetMinimum(0.98); C2pion[chtype]->SetMaximum(1.35);
+ C2pion[chtype]->GetYaxis()->SetTitleOffset(1.5);
+ C2pion[chtype]->GetXaxis()->SetTitle("q_{inv} (GeV/c)");
+ C2pion[chtype]->GetYaxis()->SetTitle("C_{2}K_{2}");
+ //
+ C3pion[chtype]->SetLineColor(4);
+ C3muonSmeared[chtype]->SetLineColor(2);
+ C3pion[chtype]->GetXaxis()->SetRangeUser(0,0.15);
+ C3pion[chtype]->SetMinimum(0.90); C3pion[chtype]->SetMaximum(2.0);
+ C3pion[chtype]->GetYaxis()->SetTitleOffset(1.5);
+ C3pion[chtype]->GetXaxis()->SetTitle("Q_{3} (GeV/c)");
+ C3pion[chtype]->GetYaxis()->SetTitle("C_{3}K_{3}");
+ }
+ //
+ //
+
+ C2pion[ChComb]->Draw();
+ C2muonSmeared[ChComb]->Draw("same");
+ legend->AddEntry(C2pion[ChComb],"Input Pion-Pion, C_{2}^{#pi-#pi,QS}K_{2}^{#pi-#pi,QS}","l");
+ legend->AddEntry(C2muonSmeared[ChComb],"Pion-Muon residual, C_{2}^{#mu-#pi,QS}K_{2}^{#mu-#pi,QS}","l");
+ legend->Draw("same");
+ //PionPionK2->Draw("same");
+ //
+ //
+
+ //
+ //C3pion[ChComb]->Draw();
+ //C3muonSmeared[ChComb]->Draw("same");
+ //PionPionK3[0]->Draw("same");
+ //legend->AddEntry(C3pion[ChComb],"Input Pion-Pion-Pion, C_{3}^{#pi-#pi-#pi,QS}K_{3}^{#pi-#pi-#pi,QS}","l");
+ //legend->AddEntry(C3muonSmeared[ChComb],"Muon-Pion-Pion residual, C_{3}^{#mu-#pi-#pi,QS}K_{3}^{#mu-#pi-#pi,QS}","l");
+ //legend->Draw("same");
+
+
+ // corrections
+ TFile *fout=new TFile("MuonCorrection_temp.root","RECREATE");
+ TH1D *C2muonCorrection[2];
+ C2muonCorrection[0] = new TH1D("C2muonCorrection_SC","",100,0,0.5);
+ C2muonCorrection[1] = new TH1D("C2muonCorrection_MC","",100,0,0.5);
+ TH1D *WeightmuonCorrection = new TH1D("WeightmuonCorrection","",100,0,0.5);
+ TH1D *C3muonCorrection[2];
+ C3muonCorrection[0] = new TH1D("C3muonCorrection_SC","",50,0,0.5);
+ C3muonCorrection[1] = new TH1D("C3muonCorrection_MC","",50,0,0.5);
+ //
+ C2muonCorrection[0]->GetXaxis()->SetTitle("q_{inv} (GeV/c)"); C2muonCorrection[0]->GetYaxis()->SetTitle("x_{2}");
+ C2muonCorrection[1]->GetXaxis()->SetTitle("q_{inv} (GeV/c)"); C2muonCorrection[1]->GetYaxis()->SetTitle("x_{2}");
+ C3muonCorrection[0]->GetXaxis()->SetTitle("Q_{3} (GeV/c)"); C3muonCorrection[0]->GetYaxis()->SetTitle("x_{3}");
+ C3muonCorrection[1]->GetXaxis()->SetTitle("Q_{3} (GeV/c)"); C3muonCorrection[1]->GetYaxis()->SetTitle("x_{3}");
+ WeightmuonCorrection->GetXaxis()->SetTitle("q_{inv} (GeV/c)"); WeightmuonCorrection->GetYaxis()->SetTitle("x_{2}^{w}");
+
+ // 0.944 and 0.959
+ float GoodPairFraction=1-0.93*(1-PurityNum->GetBinContent(10));
+ cout<<"Pion Pair Purity = "<<PurityNum->GetBinContent(10)<<endl;
+ cout<<"Effective Pion Pair Purity = "<<GoodPairFraction<<endl;
+ float pionPurity=pow(GoodPairFraction,0.5);
+ float muonPurity=1-pionPurity;
+ for(int chtype=0; chtype<2; chtype++){
+ for(int bin=1; bin<=100; bin++){
+
+ bool emptybin2=kFALSE, emptybin3=kFALSE;
+ if(PionPionK2[chtype]->GetBinContent(bin)==0) {PionPionK2[chtype]->SetBinContent(bin, 1.00001);}
+ if(PionPionK3[chtype]->GetBinContent(bin)==0) {PionPionK3[chtype]->SetBinContent(bin, 1.00001);}
+ if(bin > C2pion[chtype]->GetNbinsX()) emptybin2=kTRUE;
+ if(bin > C3pion[chtype]->GetNbinsX()) emptybin3=kTRUE;
+
+ double value = C2pion[chtype]->GetBinContent(bin)/PionPionK2[chtype]->GetBinContent(bin);
+ double den = (GoodPairFraction*C2pion[chtype]->GetBinContent(bin) + (1-GoodPairFraction)*C2muonSmeared[chtype]->GetBinContent(bin))/PionPionK2[chtype]->GetBinContent(bin);
+ if(den > 0 && !emptybin2) C2muonCorrection[chtype]->SetBinContent(bin,value/den);
+ else C2muonCorrection[chtype]->SetBinContent(bin, 1);
+ //
+ if(chtype==0){
+ value = C2pion[chtype]->GetBinContent(bin)/PionPionK2[chtype]->GetBinContent(bin) - 1.0;
+ den = ((GoodPairFraction*C2pion[chtype]->GetBinContent(bin) + (1-GoodPairFraction)*C2muonSmeared[chtype]->GetBinContent(bin))/PionPionK2[chtype]->GetBinContent(bin)) - 1.0;
+ if(den > 0 && !emptybin2) WeightmuonCorrection->SetBinContent(bin,value/den);
+ }
+ //
+ value = C3pion[chtype]->GetBinContent(bin)/PionPionK3[chtype]->GetBinContent(bin);
+ den = (pow(pionPurity,3)*C3pion[chtype]->GetBinContent(bin) + (3*pow(pionPurity,2)*muonPurity)*C3muonSmeared[chtype]->GetBinContent(bin))/PionPionK3[chtype]->GetBinContent(bin);
+ if(den > 0 && !emptybin3) C3muonCorrection[chtype]->SetBinContent(bin,value/den);
+ else C3muonCorrection[chtype]->SetBinContent(bin, 1);
+ }
+ //C2muonCorrection[chtype]->SetBinContent(1, C2muonCorrection[chtype]->GetBinContent(2));
+ //C3muonCorrection[chtype]->SetBinContent(1, C3muonCorrection[chtype]->GetBinContent(2));
+ C2muonCorrection[chtype]->Write();
+ C3muonCorrection[chtype]->Write();
+ if(chtype==0) {
+ //WeightmuonCorrection->SetBinContent(1, WeightmuonCorrection->GetBinContent(2));
+ WeightmuonCorrection->Write();
+ }
+ }
+
+ //
+ //C3muonCorrection[0]->SetMinimum(0.99);
+ //C3muonCorrection[0]->SetMaximum(1.05);
+ //C3muonCorrection[0]->GetYaxis()->SetTitleOffset(1.3);
+ //C3muonCorrection[0]->Draw();
+ //WeightmuonCorrection->GetYaxis()->SetTitleOffset(1.3);
+ //WeightmuonCorrection->Draw();
+ fout->Close();
+
+
+}
bool TherminatorC2=kFALSE;
const int BOI_1=0;// centrality bin (0-9)
const int BOI_2=9;// centrality of second bin for C2 fit parameter plot only
-const int ParN=1;// Which C2 fit parameter to plot? 1=lambda, 2=G, 3=Rch, 4=Rcoh,
const int ChProdBOI=0;// 0=SameCharge, 1=MixedCharge
const int KT3Bin=0;// Kt3 bin. 0=low Kt3 bin. 1=high Kt3 bin
//
const int CoulChoice=0;// 0 for GRS (default), 1 for Omega0
double MIN[10]={0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97};// C2 y-axis min
-double MAX[10]={1.39, 1.38, 1.38, 1.38, 1.38, 1.38, 1.38, 1.38, 1.38, 1.52};// C2 y-axis max
+double MAX[10]={1.39, 1.38, 1.38, 1.38, 1.38, 1.38, 1.38, 1.38, 1.38, 1.53};// C2 y-axis max
//
const int KTBINS = 6;
int KTINDEX;
bool LinkRadii=kFALSE;
//
int TextFont=42;// 63, or 42
-float SizeLabel=0.08;// 20(63 font), 0.08(42 font)
-float SizeLegend=0.08;//
-float SizeTitle=0.08;//
+float SizeLabel=0.1;// 20(63 font), 0.08(42 font)
+float SizeLegend=0.1;// .08
+float SizeTitle=0.12;//
float SizeSpecif=0.075;//
float SF1=2/3.*0.95;
float SF2=1/2.*0.95;
-double RightMargin=0.002;// 0.002
+double RightMargin=0.004;// 0.002
//
double Chi2_C2global;
double NFitPoints_C2global;
c3[ChComb][Coul][KT3][cb]->SetBinError(bin, valuec3_e);
if(Coul==0) {c3[ChComb][Coul][KT3][cb]->SetMarkerStyle(20); c3[ChComb][Coul][KT3][cb]->SetMarkerColor(4); c3[ChComb][Coul][KT3][cb]->SetLineColor(4);}
else {c3[ChComb][Coul][KT3][cb]->SetMarkerStyle(22); c3[ChComb][Coul][KT3][cb]->SetMarkerColor(2); c3[ChComb][Coul][KT3][cb]->SetLineColor(2);}
- c3[ChComb][Coul][KT3][cb]->GetYaxis()->SetTitleOffset(1.4);
+ c3[ChComb][Coul][KT3][cb]->GetYaxis()->SetTitleOffset(1.2);
if(ChComb==1){
c3[ChComb][Coul][KT3][cb]->SetMinimum(0.96);// 0.99
c3[ChComb][Coul][KT3][cb]->SetMaximum(1.02);// 1.02
c3[ChComb][Coul][KT3][cb]->GetXaxis()->SetRangeUser(0,0.13);
- c3[ChComb][Coul][KT3][cb]->GetYaxis()->SetTitleOffset(1.1);
+ c3[ChComb][Coul][KT3][cb]->GetYaxis()->SetTitleOffset(1.2);
c3[ChComb][Coul][KT3][cb]->GetYaxis()->SetTitleSize(.05);
}
canK3->SetHighLightColor(2);
//canK3->Range(-0.7838115,-1.033258,0.7838115,1.033258);
gStyle->SetOptFit(0111);
- canK3->SetFillColor(10);//10
+ canK3->SetFillColor(0);//10
canK3->SetBorderMode(0);
canK3->SetBorderSize(2);
canK3->SetFrameFillColor(0);
padK3->Divide(1,2,0,0);
padK3->Draw();
padK3->cd(1);
- gPad->SetLeftMargin(0.12);
- gPad->SetRightMargin(0.02);
+ gPad->SetLeftMargin(0.14);
+ gPad->SetRightMargin(0.03);
//double Dim1=gPad->GetAbsHNDC();
//cout<<gPad->GetAbsHNDC()<<endl;
//cout<<gPad->GetAspectRatio()<<endl;
K3[0][1][KT3Bin][BOI_1]->GetXaxis()->SetNdivisions(808); K3[0][1][KT3Bin][BOI_1]->GetYaxis()->SetNdivisions(909);
TGaxis::SetMaxDigits(3);
K3[0][1][KT3Bin][BOI_1]->GetYaxis()->SetTitleFont(TextFont);
- K3[0][1][KT3Bin][BOI_1]->GetYaxis()->SetTitleSize(SizeLabel*SF1);
- K3[0][1][KT3Bin][BOI_1]->GetYaxis()->SetTitle("K_{3}");
- K3[0][1][KT3Bin][BOI_1]->GetYaxis()->SetTitleOffset(1.1);
+ K3[0][1][KT3Bin][BOI_1]->GetYaxis()->SetTitleSize(SizeTitle*SF1);
+ K3[0][1][KT3Bin][BOI_1]->GetYaxis()->SetTitle("#font[12]{K_{3}}");
+ K3[0][1][KT3Bin][BOI_1]->GetYaxis()->SetTitleOffset(0.8);
+
//
K3[0][1][KT3Bin][BOI_1]->Draw();
K3[0][0][KT3Bin][BOI_1]->Draw("same");
legendK3->AddEntry(K3[1][1][KT3Bin][BOI_1],"mixed-charge, #Omega_{0}","p");
legendK3->AddEntry(K3[1][0][KT3Bin][BOI_1],"mixed-charge, GRS","p");
legendK3->Draw("same");
- TLatex *K3Label = new TLatex(-0.009,1.25,"K_{3}");// -0.011,0.92 (ss), 1.26 (os)
- K3Label->SetTextFont(TextFont);
- K3Label->SetTextSize(SizeTitle*SF1);
- K3Label->SetTextAngle(90);
+ //TLatex *K3Label = new TLatex(0.02,1.25,"K_{3}");// -0.011,0.92 (ss), 1.26 (os)
+ //K3Label->SetTextFont(TextFont);
+ //K3Label->SetTextSize(SizeTitle*SF1);
+ //K3Label->SetTextAngle(90);
//K3Label->Draw();
//
padK3->cd(2);
- gPad->SetLeftMargin(0.12);
- gPad->SetRightMargin(0.02);
- gPad->SetBottomMargin(0.12);
+ double SF_correction=0.97;
+ gPad->SetLeftMargin(0.14);
+ gPad->SetRightMargin(0.03);
+ gPad->SetBottomMargin(0.16);
//double Dim2=gPad->GetAbsHNDC();
TLegend *legendK3comp = new TLegend(.45,.8,.95,.95,NULL,"brNDC");
legendK3comp->SetBorderSize(0);
- legendK3comp->SetTextSize(SizeLabel*SF1);// small .03; large .06
+ legendK3comp->SetTextSize(SizeLabel*SF1*SF_correction);// small .03; large .06
legendK3comp->SetFillColor(0);
TH1D *K3sc_compOmega0 = (TH1D*)K3[0][1][KT3Bin][BOI_1]->Clone();
K3sc_compOmega0->SetMaximum(0.12);// 0.021
K3sc_compOmega0->SetBinContent(1,-100); K3mc_compOmega0->SetBinContent(1,-100);
K3sc_compOmega0->GetYaxis()->SetNdivisions(404);
- K3sc_compOmega0->GetYaxis()->SetTitleFont(TextFont); K3sc_compOmega0->GetYaxis()->SetTitleSize(SizeTitle*SF1);
+ K3sc_compOmega0->GetYaxis()->SetTitleFont(TextFont); K3sc_compOmega0->GetYaxis()->SetTitleSize(SizeTitle*SF1*SF_correction);
//K3sc_compOmega0->GetXaxis()->SetTitleFont(TextFont); K3sc_compOmega0->GetXaxis()->SetTitleSize(SizeTitle*2/3.*.96);
//K3sc_compOmega0->GetXaxis()->SetTitle("Q_{3} (GeV/c)");
- K3sc_compOmega0->GetYaxis()->SetTitle("#Delta K_{3}/(K_{3}(#Omega_{0})-1)");
- K3sc_compOmega0->GetXaxis()->SetTitleOffset(1.2); K3sc_compOmega0->GetYaxis()->SetTitleOffset(1.1);
+ K3sc_compOmega0->GetYaxis()->SetTitle("#Delta#font[12]{K_{3} / (K_{3}}(#Omega_{0})-1)");
+ K3sc_compOmega0->GetXaxis()->SetTitleOffset(1.2); K3sc_compOmega0->GetYaxis()->SetTitleOffset(0.8);
K3sc_compOmega0->Draw();
K3mc_compOmega0->Draw("same");
TF1 *Zero=new TF1("Zero","0",0,1);
legendK3comp->AddEntry(K3sc_compOmega0,"same-charge","p");
legendK3comp->AddEntry(K3mc_compOmega0,"mixed-charge","p");
legendK3comp->Draw("same");
- TLatex *RatioLabel = new TLatex(-.011,0.02,"#Delta K_{3}/(K_{3}(#Omega_{0})-1)");// -0.011,0.04
- RatioLabel->SetTextFont(TextFont);
- RatioLabel->SetTextSize(SizeTitle*SF1);
- RatioLabel->SetTextAngle(90);
+ //TLatex *RatioLabel = new TLatex(-.011,0.02,"#Delta K_{3}/(K_{3}(#Omega_{0})-1)");// -0.011,0.04
+ //RatioLabel->SetTextFont(TextFont);
+ //RatioLabel->SetTextSize(SizeTitle*SF1);
+ //RatioLabel->SetTextAngle(90);
//RatioLabel->Draw();
- TLatex *Q3Label = new TLatex(.081,-0.147,"Q_{3} (GeV/c)");//.065,-0.147
+ TLatex *Q3Label = new TLatex(.071,-0.155,"#font[12]{Q}_{3} (GeV/#font[12]{c})");//.065,-0.147
Q3Label->SetTextFont(TextFont);
Q3Label->SetTextSize(SizeTitle*SF1);// 0.08
Q3Label->Draw();
canC2->SetHighLightColor(2);
//canC2->Range(-0.7838115,-1.033258,0.7838115,1.033258);
gStyle->SetOptFit(0111);
- canC2->SetFillColor(10);//10
+ canC2->SetFillColor(0);//10
canC2->SetBorderMode(0);
canC2->SetBorderSize(2);
canC2->SetFrameFillColor(0);
canC2->SetFrameBorderMode(0);
- TPad *pad1 = new TPad("pad1","pad1",0.05,0.05,1.,1.);//0.05,0.05,1.,1.
+ TPad *pad1 = new TPad("pad1","pad1",0.06,0.06,1.,1.);//0.05,0.05,1.,1.
gPad->SetGridx(0);
gPad->SetGridy(0);
gPad->SetTickx();
pad1->SetTopMargin(0.02);//0.05
pad1->SetLeftMargin(0.12);//
pad1->SetRightMargin(0.01);//3e-2
- pad1->SetBottomMargin(0.07);//0.12
+ pad1->SetBottomMargin(0.08);//0.12
pad1->Divide(2,3,0,0);
pad1->Draw();
- TLegend *legend1 = new TLegend(.37,.75,.99,.95,NULL,"brNDC");//.45 or .4 for x1
+ TLegend *legend1 = new TLegend(.2,.75,.99,.95,NULL,"brNDC");//.45 or .4 for x1
legend1->SetBorderSize(0);
//legend1->SetTextSize(.08);// small .03; large .036
legend1->SetTextFont(TextFont);
legend1->SetTextSize(SizeLegend);
legend1->SetFillColor(0);
//
- TLegend *legend2 = new TLegend(.5,.74, .99,.98,NULL,"brNDC");//.45 or .4 for x1
+ TLegend *legend2 = new TLegend(.35,.74, .99,.98,NULL,"brNDC");//.45 or .4 for x1
legend2->SetBorderSize(0);
//legend2->SetTextSize(.08);// small .03; large .036
legend2->SetTextFont(TextFont);
for(int kt=0; kt<KTBINS; kt++) {
pad1->cd(kt+1);
gPad->SetRightMargin(RightMargin);
+ if(kt%2==0) gPad->SetRightMargin(0.001);
+ if(kt==4) SF_correction=0.92;
+ else if(kt==5) SF_correction=1.015;
+ else SF_correction=1.0;
//if(kt==0) Dim1=gPad->GetAbsWNDC()*gPad->GetAbsHNDC();
//Dim2=gPad->GetAbsWNDC()*gPad->GetAbsHNDC();
C2_ss[kt][BOI_1]->SetMinimum(MIN[BOI_1]);
C2_ss[kt][BOI_1]->GetXaxis()->SetTitle(""); C2_ss[kt][BOI_1]->GetYaxis()->SetTitle("");
C2_ss[kt][BOI_1]->GetXaxis()->SetTitleFont(TextFont); C2_ss[kt][BOI_1]->GetYaxis()->SetTitleFont(TextFont);
C2_ss[kt][BOI_1]->GetXaxis()->SetLabelFont(TextFont); C2_ss[kt][BOI_1]->GetYaxis()->SetLabelFont(TextFont);
- C2_ss[kt][BOI_1]->GetXaxis()->SetLabelSize(SizeLabel); C2_ss[kt][BOI_1]->GetYaxis()->SetLabelSize(SizeLabel);
- if(kt%2==0) C2_ss[kt][BOI_1]->GetYaxis()->SetLabelSize(SizeLabel);
+ C2_ss[kt][BOI_1]->GetXaxis()->SetLabelSize(SizeLabel*SF_correction); C2_ss[kt][BOI_1]->GetYaxis()->SetLabelSize(SizeLabel*SF_correction);
+ if(kt%2==0) C2_ss[kt][BOI_1]->GetYaxis()->SetLabelSize(SizeLabel*SF_correction);
else {C2_ss[kt][BOI_1]->GetYaxis()->SetLabelSize(.0);}
if(kt<KTBINS-2) C2_ss[kt][BOI_1]->GetXaxis()->SetLabelSize(.0);
- C2_ss[kt][BOI_1]->GetXaxis()->SetNdivisions(606); C2_ss[kt][BOI_1]->GetYaxis()->SetNdivisions(606);
+ C2_ss[kt][BOI_1]->GetXaxis()->SetNdivisions(603); C2_ss[kt][BOI_1]->GetYaxis()->SetNdivisions(606);
//
C2Therm_ss[kt][BOI_1]->SetMinimum(MIN[BOI_1]);
C2Therm_ss[kt][BOI_1]->GetYaxis()->SetTitleOffset(0.85);
C2Therm_ss[kt][BOI_1]->GetXaxis()->SetTitle(""); C2Therm_ss[kt][BOI_1]->GetYaxis()->SetTitle("");
C2Therm_ss[kt][BOI_1]->GetXaxis()->SetLabelFont(TextFont); C2Therm_ss[kt][BOI_1]->GetYaxis()->SetLabelFont(TextFont);
- if(kt%2==0) C2Therm_ss[kt][BOI_1]->GetYaxis()->SetLabelSize(SizeLabel);
+ if(kt%2==0) C2Therm_ss[kt][BOI_1]->GetYaxis()->SetLabelSize(SizeLabel*SF_correction);
else {C2Therm_ss[kt][BOI_1]->GetYaxis()->SetLabelSize(.0);}
if(kt<KTBINS-2) C2Therm_ss[kt][BOI_1]->GetXaxis()->SetLabelSize(.0);
- else {C2Therm_ss[kt][BOI_1]->GetXaxis()->SetLabelSize(SizeLabel);}
+ else {C2Therm_ss[kt][BOI_1]->GetXaxis()->SetLabelSize(SizeLabel*SF_correction);}
C2Therm_ss[kt][BOI_1]->GetXaxis()->SetNdivisions(606); C2Therm_ss[kt][BOI_1]->GetYaxis()->SetNdivisions(606);
if(BOI_1==9 && kt==5) {// Point with large statistical error
//
if(kt==0){
TLatex *Specif;
- if(!TherminatorC2) Specif = new TLatex(0.007,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.91,"ALICE Pb-Pb #\sqrt{s_{NN}}=2.76 TeV");// ALICE specifications
+ if(!TherminatorC2) Specif = new TLatex(0.007,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.91,"ALICE Pb-Pb #\sqrt{#font[12]{s}_{NN}}=2.76 TeV");// ALICE specifications
else Specif = new TLatex(0.0015,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.91,"Therminator");// Therminator
Specif->SetTextFont(TextFont);
Specif->SetTextSize(SizeSpecif*.9);
}
TLatex *Specif2 = new TLatex(0.027,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.8,CentName->Data());
Specif2->SetTextFont(TextFont);
- Specif2->SetTextSize(SizeLegend);
+ Specif2->SetTextSize(SizeSpecif);
Specif->Draw("same");
Specif2->Draw("same");
}
legend2->Draw("same");
}
TLatex *KtLabel;
- if(kt==0) KtLabel = new TLatex(0.035,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.6,"0.2<k_{T}<0.3");// 0.003,.988
- else if(kt==1) KtLabel = new TLatex(0.035,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.6,"0.3<k_{T}<0.4");
- else if(kt==2) KtLabel = new TLatex(0.035,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.6,"0.4<k_{T}<0.5");
- else if(kt==3) KtLabel = new TLatex(0.035,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.6,"0.5<k_{T}<0.6");
- else if(kt==4) KtLabel = new TLatex(0.035,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.6,"0.6<k_{T}<0.7");
- else KtLabel = new TLatex(0.035,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.6,"0.7<k_{T}<0.8");
+ if(kt==0) KtLabel = new TLatex(0.028,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.68,"0.2<#font[12]{k}_{T}<0.3 GeV/#font[12]{c}");// 0.003,.988
+ else if(kt==1) KtLabel = new TLatex(0.028,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.68,"0.3<#font[12]{k}_{T}<0.4 GeV/#font[12]{c}");
+ else if(kt==2) KtLabel = new TLatex(0.028,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.68,"0.4<#font[12]{k}_{T}<0.5 GeV/#font[12]{c}");
+ else if(kt==3) KtLabel = new TLatex(0.028,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.68,"0.5<#font[12]{k}_{T}<0.6 GeV/#font[12]{c}");
+ else if(kt==4) KtLabel = new TLatex(0.028,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.68,"0.6<#font[12]{k}_{T}<0.7 GeV/#font[12]{c}");
+ else KtLabel = new TLatex(0.028,MIN[BOI_1]+(MAX[BOI_1]-MIN[BOI_1])*0.68,"0.7<#font[12]{k}_{T}<0.8 GeV/#font[12]{c}");
KtLabel->SetTextFont(TextFont);// 23
- KtLabel->SetTextSize(SizeSpecif);// 24
+ KtLabel->SetTextSize(SizeSpecif*SF_correction);// 24
KtLabel->Draw("same");
}
pad1_2->SetFillStyle(0);
pad1_2->Draw();
pad1_2->cd();
- TLatex *C2Label = new TLatex(.04,.97,"C_{2}");// 0.04,.91
+ TLatex *C2Label = new TLatex(.04,.94,"#font[12]{C}_{2}");// 0.04,.91
C2Label->SetTextFont(TextFont);
C2Label->SetTextSize(SizeTitle*SF2);
C2Label->SetTextAngle(90);
C2Label->Draw();
- TLatex *Q2Label = new TLatex(.84,.015,"q (GeV/c)");// .7,.02
+ TLatex *Q2Label = new TLatex(.75,.015,"#font[12]{q} (GeV/#font[12]{c})");// .7,.02
Q2Label->SetTextFont(TextFont);
Q2Label->SetTextSize(SizeTitle*SF2);
Q2Label->Draw();
- TBox *CoverUp = new TBox(0.554,0.05,0.57,.07);
- CoverUp->SetFillColor(10);
+ TBox *CoverUp = new TBox(0.554,0.05,0.58,.083);
+ CoverUp->SetFillColor(0);
CoverUp->Draw();
TCanvas *can2 = new TCanvas("can2", "can2",680,0,600,900);// 680,0,600,900 with G
can2->SetHighLightColor(2);
gStyle->SetOptFit(0111);
- can2->SetFillColor(10);//10
+ can2->SetFillColor(0);//10
can2->SetBorderMode(0);
can2->SetBorderSize(2);
can2->SetFrameFillColor(0);
pad2->Divide(1,2,0,0);// 1,3,0,0 with G
pad2->Draw();
pad2->cd();
- TLegend *legend3 = new TLegend(.56,.64, .96,.98,NULL,"brNDC");// .56,.6, .96,.98
+ TLegend *legend3 = new TLegend(.44,.66, .96,.98,NULL,"brNDC");// .56,.6, .96,.98
legend3->SetBorderSize(0);
legend3->SetTextFont(TextFont);
legend3->SetTextSize(SizeLegend*SF1);
legend3->SetFillColor(0);
- double LowerLimits[4]={0.46, 0.32, 4.8, 0.08};// 0.63, 0.32, 5.2, 0.08
- double UpperLimits[4]={0.84, 0.63, 13.2, 1.28};// 0.92, 0.63, 13.4, 1.28
+ double LowerLimits[4]={0.46, 0.32, 4.8, 0.08};// 0.46, 0.32, 4.8, 0.08
+ double UpperLimits[4]={0.87, 0.63, 13.2, 1.28};// 0.84, 0.63, 13.2, 1.28
for(int par=1; par<=3; par++){
//pad2->cd(par);
if(par!=1 && par!=3) continue;
if(par==1) pad2->cd(1);
else pad2->cd(2);
- gPad->SetRightMargin(0.03); gPad->SetLeftMargin(0.12);
- if(par==3) gPad->SetBottomMargin(0.13);// 0.22 with G
+ gPad->SetRightMargin(0.03); gPad->SetLeftMargin(0.14);
+ if(par==3) gPad->SetBottomMargin(0.16);// 0.22 with G
// settings applied to ParHisto_coh[par-1][BOI_1] to include G.
ParHisto_ch[par-1][BOI_1]->SetMinimum(LowerLimits[par-1]);
ParHisto_ch[par-1][BOI_1]->SetMaximum(UpperLimits[par-1]);
ParHisto_ch[par-1][BOI_1]->GetXaxis()->SetTitleSize(0);
ParHisto_ch[par-1][BOI_1]->GetXaxis()->SetLabelSize(0);
}
- ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitleSize(SizeTitle*SF1);
- ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetLabelSize(SizeLabel*SF1);
- ParHisto_ch[par-1][BOI_1]->GetXaxis()->SetTitle("k_{T} (GeV/c)");
+ if(par==1) SF_correction=1.0;
+ else SF_correction=0.97;
+ ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitleSize(SizeTitle*SF1*SF_correction);
+ ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetLabelSize(SizeLabel*SF1*SF_correction);
+ ParHisto_ch[par-1][BOI_1]->GetXaxis()->SetTitle("#font[12]{k}_{T} (GeV/#font[12]{c})");
ParHisto_ch[par-1][BOI_1]->GetXaxis()->SetRangeUser(0.2,0.79);
if(par==1) ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitle("#lambda");
- if(par==2) ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitle("G");
- if(par==3) ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitle("R_{ch} (fm)");
- if(par==4) ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitle("R_{coh} (fm)");
- ParHisto_ch[par-1][BOI_1]->GetXaxis()->SetTitleOffset(1.2);// 2.0
- ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitleOffset(1.1);// 1.4
-
+ if(par==2) ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitle("#font[12]{G}");
+ if(par==3) ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitle("#font[12]{R_{ch}} (fm)");
+ if(par==4) ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitle("#font[12]{R_{coh}} (fm)");
+ ParHisto_ch[par-1][BOI_1]->GetXaxis()->SetTitleOffset(0.9);// 2.0
+ ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetTitleOffset(0.8);// 1.4
+ ParHisto_ch[par-1][BOI_1]->GetYaxis()->SetNdivisions(505);
// ParN=2 (lambda), 3(G), 4(Rch), 5(Rcoh)
ParHisto_ch[par-1][BOI_1]->Draw();
//legend3->AddEntry(ParHisto_chEWfromTherm[par-1][BOI_1],"E_{w}, 0-5%","p"); legend3->AddEntry(ParHisto_chEWfromTherm[par-1][BOI_2],"E_{w}, 45-50%","p");
//legend3->AddEntry(ParHisto_coh[par-1][BOI_1],"G#neq0, 0-5%","p"); legend3->AddEntry(ParHisto_coh[par-1][BOI_2],"G#neq0, 45-50%","p");
legend3->AddEntry(ParHisto_ch[par-1][BOI_1],"Gauss, 0-5%","p"); legend3->AddEntry(ParHisto_ch[par-1][BOI_2],"Gauss, 45-50%","p");
- legend3->AddEntry(ParHisto_chEW[par-1][BOI_1],"E_{w}, 0-5%","p"); legend3->AddEntry(ParHisto_chEW[par-1][BOI_2],"E_{w}, 45-50%","p");
+ legend3->AddEntry(ParHisto_chEW[par-1][BOI_1],"Edgeworth, 0-5%","p"); legend3->AddEntry(ParHisto_chEW[par-1][BOI_2],"Edgeworth, 45-50%","p");
}
if(par==3) legend3->Draw("same");// par==2 with G
if(par==1){
- TLatex *Specif_2 = new TLatex(0.35,LowerLimits[par-1]+(UpperLimits[par-1]-LowerLimits[par-1])*.91,"ALICE Pb-Pb #\sqrt{s_{NN}}=2.76 TeV");
+ TLatex *Specif_2 = new TLatex(0.35,LowerLimits[par-1]+(UpperLimits[par-1]-LowerLimits[par-1])*.94,"ALICE Pb-Pb #\sqrt{#font[12]{s}_{NN}}=2.76 TeV");
Specif_2->SetTextFont(TextFont);
Specif_2->SetTextSize(SizeSpecif*SF1);
Specif_2->Draw();
////////////////////////////////////////////////////
////////////////////////////////////////////////////
// C2(+-) Therminator comparisons
-
+
TCanvas *can3 = new TCanvas("can3", "can3",1800,0,600,600);// 11,53,700,500
can3->SetHighLightColor(2);
gStyle->SetOptFit(0111);
- can3->SetFillColor(10);//10
+ can3->SetFillColor(0);//10
can3->SetBorderMode(0);
can3->SetBorderSize(2);
can3->SetFrameFillColor(0);
//pad3->Divide(1,2,0,0);
pad3->Draw();
pad3->cd();
- TLegend *legend4 = new TLegend(.21,.72, .85,.92,NULL,"brNDC");//.45 or .4 for x1
+ TLegend *legend4 = new TLegend(.24,.78, .85,.97,NULL,"brNDC");//.45 or .4 for x1
legend4->SetBorderSize(0);
legend4->SetFillColor(0);
- gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.12); gPad->SetBottomMargin(0.1); gPad->SetTopMargin(0.01);
+ gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.16); gPad->SetBottomMargin(0.11); gPad->SetTopMargin(0.01);
TH1D *C2_os_ktcompare[2][KTBINS];
TH1D *C2Therm_os_ktcompare[2][KTBINS];
valueC2Therm_e += pow(FSIbase->GetBinError(qbin) * C2Therm_os_ktcompare[type][kt]->GetBinContent(qbin)/pow(FSIbase->GetBinContent(qbin),2),2);
valueC2Therm_e = sqrt(valueC2Therm_e);
// cumulant comparison
- /*double value = (C2_os_ktcompare[type][kt]->GetBinContent(qbin)-1.)/(C2_os[0][BOI_1]->GetBinContent(qbin)-1.);
- double value_e = pow(C2_os_ktcompare[type][kt]->GetBinError(qbin)/(C2_os[0][BOI_1]->GetBinContent(qbin)-1.),2);
- value_e += pow(C2_os[0][BOI_1]->GetBinError(qbin) * (C2_os_ktcompare[type][kt]->GetBinContent(qbin)-1.)/pow((C2_os[0][BOI_1]->GetBinContent(qbin)-1.),2),2);
- value_e = sqrt(value_e);
- double valueC2Therm = (C2Therm_os_ktcompare[type][kt]->GetBinContent(qbin)-1.)/(FSIbase->GetBinContent(qbin)-1.);
- double valueC2Therm_e = pow(C2Therm_os_ktcompare[type][kt]->GetBinError(qbin)/(FSIbase->GetBinContent(qbin)-1.),2);
- valueC2Therm_e += pow(FSIbase->GetBinError(qbin) * (C2Therm_os_ktcompare[type][kt]->GetBinContent(qbin)-1.)/pow((FSIbase->GetBinContent(qbin)-1.),2),2);
- valueC2Therm_e = sqrt(valueC2Therm_e);
- */
+ //double value = (C2_os_ktcompare[type][kt]->GetBinContent(qbin)-1.)/(C2_os[0][BOI_1]->GetBinContent(qbin)-1.);
+ //double value_e = pow(C2_os_ktcompare[type][kt]->GetBinError(qbin)/(C2_os[0][BOI_1]->GetBinContent(qbin)-1.),2);
+ //value_e += pow(C2_os[0][BOI_1]->GetBinError(qbin) * (C2_os_ktcompare[type][kt]->GetBinContent(qbin)-1.)/pow((C2_os[0][BOI_1]->GetBinContent(qbin)-1.),2),2);
+ //value_e = sqrt(value_e);
+ //double valueC2Therm = (C2Therm_os_ktcompare[type][kt]->GetBinContent(qbin)-1.)/(FSIbase->GetBinContent(qbin)-1.);
+ //double valueC2Therm_e = pow(C2Therm_os_ktcompare[type][kt]->GetBinError(qbin)/(FSIbase->GetBinContent(qbin)-1.),2);
+ //valueC2Therm_e += pow(FSIbase->GetBinError(qbin) * (C2Therm_os_ktcompare[type][kt]->GetBinContent(qbin)-1.)/pow((FSIbase->GetBinContent(qbin)-1.),2),2);
+ //valueC2Therm_e = sqrt(valueC2Therm_e);
+
//
C2_os_ktcompare[type][kt]->SetBinContent(qbin, value);
C2_os_ktcompare[type][kt]->GetXaxis()->SetTitleFont(TextFont); C2_os_ktcompare[type][kt]->GetYaxis()->SetTitleFont(TextFont);
C2_os_ktcompare[type][kt]->GetXaxis()->SetTitleSize(SizeTitle*SF2);
C2_os_ktcompare[type][kt]->GetYaxis()->SetTitleSize(SizeTitle*SF2);
- C2_os_ktcompare[type][kt]->GetXaxis()->SetTitle("q (GeV/c)");
+ C2_os_ktcompare[type][kt]->GetXaxis()->SetTitle("#font[12]{q} (GeV/#font[12]{c})");
+ C2_os_ktcompare[type][kt]->GetXaxis()->SetTitleOffset(0.8);
C2_os_ktcompare[type][kt]->GetXaxis()->SetLabelFont(TextFont); C2_os_ktcompare[type][kt]->GetYaxis()->SetLabelFont(TextFont);
C2_os_ktcompare[type][kt]->GetXaxis()->SetLabelSize(SizeLabel*SF2);
C2_os_ktcompare[type][kt]->GetYaxis()->SetLabelSize(SizeLabel*SF2);
//else {
//C2_os_ktcompare[type][kt]->DrawCopy("same");
//}
- TString *ktname = new TString("k_{T,");
+ TString *ktname = new TString("#font[12]{k}_{T,");
*ktname += kt+1;
- ktname->Append("}/k_{T,1}");
+ ktname->Append("}/#font[12]{k}_{T,1}");
TString *nameReal=new TString(ktname->Data());
nameReal->Append(", ALICE");
TString *nameTherm=new TString(ktname->Data());
legend4->AddEntry(C2Therm_os_ktcompare[type][kt],nameTherm->Data(),"p");
}else {
TString *nameTherm2=new TString(nameTherm->Data());
- nameTherm2->Append(", r*<80 fm");
+ //nameTherm2->Append(", r*<80 fm");
nameTherm2->Append(" (undiluted)");
legend4->AddEntry(C2Therm_os_ktcompare[type][kt],nameTherm2->Data(),"p");
}
}
if(type==1) {
- TLatex *Specif_3 = new TLatex(0.45,0.65,"ALICE Pb-Pb #\sqrt{s_{NN}}=2.76 TeV");
+ TLatex *Specif_3 = new TLatex(0.4,0.15,"ALICE Pb-Pb #\sqrt{#font[12]{s}_{NN}}=2.76 TeV");
Specif_3->SetNDC();
Specif_3->SetTextFont(TextFont);
Specif_3->SetTextSize(SizeSpecif*SF2);
- TLatex *Specif2_3 = new TLatex(0.35,0.65,"0-5%");
+ TLatex *Specif2_3 = new TLatex(0.55,0.22,"0-5%");
Specif2_3->SetNDC();
Specif2_3->SetTextFont(TextFont);
Specif2_3->SetTextSize(SizeLegend*SF2);
pad3_2->SetFillStyle(0);
pad3_2->Draw();
pad3_2->cd();
- TLatex *DthLabel = new TLatex(.035,.7,"C_{2}^{+-}(k_{T,6}) / C_{2}^{+-}(k_{T,1})");// .04,.96, "D^{+-}_{Th}"
+ TLatex *DthLabel = new TLatex(.044,.58,"#font[12]{C}_{2}^{+-}(#font[12]{k}_{T,6}) / #font[12]{C}_{2}^{+-}(#font[12]{k}_{T,1})");// .04,.96, "D^{+-}_{Th}"
DthLabel->SetTextFont(TextFont);
DthLabel->SetTextSize(SizeTitle*SF2);
DthLabel->SetTextAngle(90);
DthLabel->Draw();
- Q2Label->Draw();
+
////////////////////////////////////////////////////
////////////////////////////////////////////////////
TCanvas *can4 = new TCanvas("can4", "can4",10,300,600,900);// 11,53,700,500
can4->SetHighLightColor(2);
gStyle->SetOptFit(0111);
- can4->SetFillColor(10);//10
+ can4->SetFillColor(0);//10
can4->SetBorderMode(0);
can4->SetBorderSize(2);
can4->SetFrameFillColor(0);
can4->SetFrameBorderMode(0);
- TPad *pad4 = new TPad("pad4","pad4",0.05,0.05,1.,1.);
+ TPad *pad4 = new TPad("pad4","pad4",0.06,0.06,1.,1.);
gPad->SetGridx(0);
gPad->SetGridy(0);
gPad->SetTickx();
pad4->SetTopMargin(0.02);//0.05
pad4->SetLeftMargin(0.12);
pad4->SetRightMargin(0.01);//3e-2
- pad4->SetBottomMargin(0.07);//0.12
+ pad4->SetBottomMargin(0.08);//0.12
pad4->Divide(2,3,0,0);
pad4->Draw();
for(int cb=0; cb<6; cb++) {
pad4->cd(cb+1);
gPad->SetRightMargin(RightMargin);
+ if(cb%2==0) gPad->SetRightMargin(0.001);
+ if(cb==4) SF_correction=0.92;
+ else if(cb==5) SF_correction=1.015;
+ else SF_correction=1.0;
//if(cb==0) Dim1=gPad->GetAbsWNDC()*gPad->GetAbsHNDC()*gPad->PixeltoX(10)*gPad->PixeltoY(10);
//Dim2=gPad->GetAbsWNDC()*gPad->GetAbsHNDC()*gPad->PixeltoX(10)*gPad->PixeltoY(10);
C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetXaxis()->SetTitle(""); C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetYaxis()->SetTitle("");
C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetXaxis()->SetLabelFont(TextFont);
C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetYaxis()->SetLabelFont(TextFont);
- C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetXaxis()->SetLabelSize(SizeLabel);
- if(cb%2==0) C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetYaxis()->SetLabelSize(SizeLabel);
+ C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetXaxis()->SetLabelSize(SizeLabel*SF_correction);
+ if(cb%2==0) C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetYaxis()->SetLabelSize(SizeLabel*SF_correction);
else {C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetYaxis()->SetLabelSize(.0);}
if(cb<4) C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetXaxis()->SetLabelSize(.0);
C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetXaxis()->SetRangeUser(0,0.11);
c3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->SetBinContent(2,-100);
}
C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetXaxis()->SetNdivisions(404);
+ C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->GetYaxis()->SetNdivisions(505);
//TGaxis::SetMaxDigits(3);
C3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->DrawCopy();
c3merged[ChProdBOI][CoulChoice][KT3Bin][cb]->DrawCopy("same");
if(cb==0){
if(ChProdBOI==0){
- legend5->AddEntry(C3merged[ChProdBOI][CoulChoice][KT3Bin][cb],"#it{C}_{3}^{#pm#pm#pm}","p");
- legend5->AddEntry(c3merged[ChProdBOI][CoulChoice][KT3Bin][cb],"#bf{c}_{3}^{#pm#pm#pm}","p");
+ legend5->AddEntry(C3merged[ChProdBOI][CoulChoice][KT3Bin][cb],"#font[12]{C}_{3}^{#pm#pm#pm}","p");
+ legend5->AddEntry(c3merged[ChProdBOI][CoulChoice][KT3Bin][cb],"#font[12]{#bf{c}}_{3}^{#pm#pm#pm}","p");
}else{
- legend5->AddEntry(C3merged[ChProdBOI][CoulChoice][KT3Bin][cb],"#it{C}_{3}^{#pm#pm#mp}","p");
- legend5->AddEntry(c3merged[ChProdBOI][CoulChoice][KT3Bin][cb],"#bf{c}_{3}^{#pm#pm#mp}","p");
+ legend5->AddEntry(C3merged[ChProdBOI][CoulChoice][KT3Bin][cb],"#font[12]{C}_{3}^{#pm#pm#mp}","p");
+ legend5->AddEntry(c3merged[ChProdBOI][CoulChoice][KT3Bin][cb],"#font[12]{#bf{c}}_{3}^{#pm#pm#mp}","p");
}
legend5->Draw("same");
}
- TLatex *Specif_3 = new TLatex(0.007,0.9+(C3MAX-0.9)*0.91,"ALICE Pb-Pb #\sqrt{s_{NN}}=2.76 TeV");// ALICE specifications
+ TLatex *Specif_3 = new TLatex(0.007,0.9+(C3MAX-0.9)*0.91,"ALICE Pb-Pb #\sqrt{#font[12]{s}_{NN}}=2.76 TeV");// ALICE specifications
Specif_3->SetTextFont(TextFont);
- Specif_3->SetTextSize(SizeSpecif);
+ Specif_3->SetTextSize(SizeSpecif*SF_correction);
if(cb==3) Specif_3->Draw("same");
TString *KTString = new TString("");
- if(KT3Bin==0) KTString->Append("0.16<K_{t,3}<0.3 GeV/c");
- else KTString->Append("0.3<K_{t,3}<1.0 GeV/c");
+ if(KT3Bin==0) KTString->Append("0.16<#font[12]{K}_{T,3}<0.3 GeV/#font[12]{c}");
+ else KTString->Append("0.3<#font[12]{K}_{T,3}<1.0 GeV/#font[12]{c}");
TLatex *Kt3Name_1 = new TLatex(0.016,0.9+(C3MAX-0.9)*0.91,KTString->Data());
Kt3Name_1->SetTextFont(TextFont);
- Kt3Name_1->SetTextSize(SizeSpecif);
+ Kt3Name_1->SetTextSize(SizeLabel*SF_correction);
if(cb==1) Kt3Name_1->Draw("same");
TLatex *CentLabel_1;
else CentLabel_1 = new TLatex(0.07,C3MAX-0.75,"40-50%");
CentLabel_1->SetTextFont(TextFont);
- CentLabel_1->SetTextSize(SizeLabel);//.1
+ CentLabel_1->SetTextSize(SizeLabel*SF_correction);//.1
CentLabel_1->Draw("same");
if(ChProdBOI==1){
pad4_2->SetFillStyle(0);
pad4_2->Draw();
pad4_2->cd();
- TLatex *C3Label = new TLatex(.04,.91,"C_{3} or #bf{c}_{3}");// 0.05,0.9
+ TLatex *C3Label = new TLatex(.04,.86,"#font[12]{C}_{3} or #font[12]{#bf{c}}_{3}");// 0.05,0.9
C3Label->SetTextFont(TextFont);
C3Label->SetTextSize(SizeTitle*SF2);
C3Label->SetTextAngle(90);
C3Label->Draw();
- TLatex *Q3Label = new TLatex(.82,.015,"Q_{3} (GeV/c)");// 0.05,0.9
+ TLatex *Q3Label = new TLatex(.72,.02,"#font[12]{Q}_{3} (GeV/#font[12]{c})");// 0.05,0.9
Q3Label->SetTextFont(TextFont);
Q3Label->SetTextSize(SizeTitle*SF2);
Q3Label->Draw();
TCanvas *can5 = new TCanvas("can5", "can5",680,300,600,900);// 11,53,700,500
can5->SetHighLightColor(2);
gStyle->SetOptFit(0111);
- can5->SetFillColor(10);//10
+ can5->SetFillColor(0);//10
can5->SetBorderMode(0);
can5->SetBorderSize(2);
can5->SetFrameFillColor(0);
can5->SetFrameBorderMode(0);
- TPad *pad5 = new TPad("pad5","pad5",0.05,0.05,1.,1.);
+ TPad *pad5 = new TPad("pad5","pad5",0.06,0.06,1.,1.);
gPad->SetGridx(0);
gPad->SetGridy(0);
gPad->SetTickx();
pad5->SetTopMargin(0.02);//0.05
pad5->SetLeftMargin(0.12);//.14 for wide title, .10 for narrow title, 0.08 for DeltaQ
pad5->SetRightMargin(0.01);//3e-2
- pad5->SetBottomMargin(0.07);//0.12
+ pad5->SetBottomMargin(0.08);//0.12
pad5->Divide(2,3,0,0);
pad5->Draw();
- TLegend *legend6 = new TLegend(.18,.16, .53,.46,NULL,"brNDC");// .25,.16, .6,.46
+ TLegend *legend6 = new TLegend(.18,.72, .53,.98,NULL,"brNDC");// .25,.16, .6,.46
legend6->SetBorderSize(0);
legend6->SetTextFont(TextFont);
legend6->SetTextSize(SizeLegend);
double LambdaSysPar0[6]={0.0143, 0.014, 0.01294, 0.00204, 0.001227, 0.00999};
double LambdaSysPar1[6]={-0.857, -0.741, -0.6655, -0.3516, -0.2327, -0.3325};
- double r3MIN = 0.3;// 0.3
- double r3MAX = 2.68;// was 2.68
+ double r3MIN = 1.45;// 0.3
+ double r3MAX = 2.45;// 2.68
+ r3merged[CoulChoice][1][5]->SetBinContent(3,100); r3merged[CoulChoice][1][5]->SetBinError(3,1000);// remove high stat error point
+
for(int cb=0; cb<6; cb++) {
pad5->cd(cb+1);
gPad->SetRightMargin(RightMargin);
-
+ if(cb%2==0) gPad->SetRightMargin(0.001);
+ if(cb==4) SF_correction=0.92;
+ else if(cb==5) SF_correction=1.015;
+ else SF_correction=1.0;
r3merged[CoulChoice][KT3Bin][cb]->SetMarkerSize(1.5);
r3merged[CoulChoice][KT3Bin][cb]->SetMarkerStyle(20);
r3merged[CoulChoice][KT3Bin][cb]->SetMarkerColor(2); r3merged[CoulChoice][KT3Bin][cb]->SetLineColor(2);
r3merged[CoulChoice][KT3Bin][cb]->GetYaxis()->SetTitle("");
r3merged[CoulChoice][KT3Bin][cb]->GetXaxis()->SetLabelFont(TextFont);
r3merged[CoulChoice][KT3Bin][cb]->GetYaxis()->SetLabelFont(TextFont);
- r3merged[CoulChoice][KT3Bin][cb]->GetXaxis()->SetLabelSize(SizeLabel);
- if(cb%2==0) r3merged[CoulChoice][KT3Bin][cb]->GetYaxis()->SetLabelSize(SizeLabel);
+ r3merged[CoulChoice][KT3Bin][cb]->GetXaxis()->SetLabelSize(SizeLabel*SF_correction);
+ if(cb%2==0) r3merged[CoulChoice][KT3Bin][cb]->GetYaxis()->SetLabelSize(SizeLabel*SF_correction);
else {r3merged[CoulChoice][KT3Bin][cb]->GetYaxis()->SetLabelSize(.0);}
if(cb<4) r3merged[CoulChoice][KT3Bin][cb]->GetXaxis()->SetLabelSize(.0);
- r3merged[CoulChoice][KT3Bin][cb]->GetXaxis()->SetRangeUser(0,0.11);
+ r3merged[CoulChoice][KT3Bin][cb]->GetXaxis()->SetRangeUser(0,0.071);// was 0,0.11
r3merged[CoulChoice][KT3Bin][cb]->SetMinimum(r3MIN);
r3merged[CoulChoice][KT3Bin][cb]->SetMaximum(r3MAX);
if(cb>2 || KT3Bin==1) r3merged[CoulChoice][KT3Bin][cb]->SetBinContent(2,-100);// 10-20 MeV bin is insignificant
- r3merged[CoulChoice][KT3Bin][cb]->GetXaxis()->SetNdivisions(404);
+ r3merged[CoulChoice][KT3Bin][cb]->GetXaxis()->SetNdivisions(502);// was 404
+ r3merged[CoulChoice][KT3Bin][cb]->GetYaxis()->SetNdivisions(505);// was absent
r3merged[CoulChoice][KT3Bin][cb]->DrawCopy();
//ChaoticLimit->Draw("same");
double Q3 = (bin-0.5)*0.01;
double SysMeth=0;
if(C3merged[1][CoulChoice][KT3Bin][cb]->GetBinContent(bin)>0) {
- SysMeth = pow(2 * (fabs(ResidueFit->Eval(Q3)-1.0) + 0.002)/(c3merged[0][CoulChoice][KT3Bin][cb]->GetBinContent(bin)-1.0),2);// mixed-charge baseline (new). Includes 0.002 as allowed variation through lambda powers
- }
+ //SysMeth = pow(2 * (fabs(ResidueFit->Eval(Q3)-1.0) + 0.002)/(c3merged[0][CoulChoice][KT3Bin][cb]->GetBinContent(bin)-1.0),2);// mixed-charge baseline (new). Includes 0.002 as allowed variation through lambda powers
+ SysMeth = pow((fabs(ResidueFit->Eval(Q3)-1.0)+0.002)/(c3merged[0][CoulChoice][KT3Bin][cb]->GetBinContent(bin)-1.0) * r3merged[CoulChoice][KT3Bin][cb]->GetBinContent(bin),2);// factional error determined from MC residue fit divided by SC cumulant. Error = Fraction * r3
+ }
SysMeth += pow(r3LambdaSysFit->Eval(Q3,2)*r3merged[CoulChoice][KT3Bin][cb]->GetBinContent(bin),2);// Lambda 0.7 vs 0.6
double SysDet = pow(0.01*r3merged[CoulChoice][KT3Bin][cb]->GetBinContent(bin),2);// MRC
SysDet += pow(0.01*r3merged[CoulChoice][KT3Bin][cb]->GetBinContent(bin),2);// PID
r3DetSys->Draw("E2 same");
r3CoulSys->Draw("P");
//
- float MinQ3Fit=0.01;
- float MaxQ3Fit=0.1;
+ float MinQ3Fit=0.01;//0.01
+ float MaxQ3Fit=0.08;//0.1
if(r3merged[CoulChoice][KT3Bin][cb]->GetBinContent(2)<-10) MinQ3Fit=0.02;
r3merged[CoulChoice][KT3Bin][cb]->Fit(QuarticFit[0][cb],"IMENQ","",MinQ3Fit,MaxQ3Fit);// Stat only
r3Coul1->Fit(QuadraticFit[2][cb],"IMENQ","",MinQ3Fit,MaxQ3Fit);// GRS
r3Coul2->Fit(QuadraticFit[3][cb],"IMENQ","",MinQ3Fit,MaxQ3Fit);// Omega0
//
-
+ //if(cb==1){
+ //for(int i=0; i<10; i++){
+ // cout<<r3MethDetSys->GetBinError(i+1)<<endl;
+ //}
+ //}
//
QuarticFit[2][cb]->Draw("same");
QuadraticFit[2][cb]->Draw("same");
//cout<<"Quartic Chi^2/NDF = "<<QuarticFit[cb]->GetChisquare()/QuarticFit[cb]->GetNDF()<<endl;
//cout<<"Quadratic Chi^2/NDF = "<<QuadraticFit[cb]->GetChisquare()/QuadraticFit[cb]->GetNDF()<<endl;
- TLatex *Specif_4 = new TLatex(0.007,r3MIN+(r3MAX-r3MIN)*0.91,"ALICE Pb-Pb #\sqrt{s_{NN}}=2.76 TeV");// 0.005,2.1
+ TLatex *Specif_4 = new TLatex(0.007,r3MIN+(r3MAX-r3MIN)*0.91,"ALICE Pb-Pb #\sqrt{#font[12]{s}_{NN}}=2.76 TeV");// 0.005,2.1
Specif_4->SetTextFont(TextFont);
- Specif_4->SetTextSize(SizeSpecif);
+ Specif_4->SetTextSize(SizeSpecif*SF_correction);
if(cb==3) Specif_4->Draw("same");
TString *KTString = new TString("");
- if(KT3Bin==0) KTString->Append("0.16<K_{t,3}<0.3 GeV/c");
- else KTString->Append("0.3<K_{t,3}<1.0 GeV/c");
- TLatex *Kt3Name_2 = new TLatex(0.01,r3MIN+(r3MAX-r3MIN)*0.91,KTString->Data());//
+ if(KT3Bin==0) KTString->Append("0.16<#font[12]{K}_{T,3}<0.3 GeV/#font[12]{c}");
+ else KTString->Append("0.3<#font[12]{K}_{T,3}<1.0 GeV/#font[12]{c}");
+ TLatex *Kt3Name_2 = new TLatex(0.002,r3MIN+(r3MAX-r3MIN)*0.91,KTString->Data());//
Kt3Name_2->SetTextFont(TextFont);
- Kt3Name_2->SetTextSize(SizeSpecif);
+ Kt3Name_2->SetTextSize(SizeLabel*SF_correction);
if(cb==1) Kt3Name_2->Draw("same");
-
+
TLatex *CentLabel_2;
//TString *CentLabel2;
- if(cb==0) {CentLabel_2 = new TLatex(0.04,0.4,"0-5%"); }//CentLabel2 = new TString("0-5\\%");}
- else if(cb==1) {CentLabel_2 = new TLatex(0.04,0.4,"5-10%");}// CentLabel2 = new TString("5-10\\%");}
- else if(cb==2) {CentLabel_2 = new TLatex(0.04,0.4,"10-20%");}// CentLabel2 = new TString("10-20\\%");}
- else if(cb==3) {CentLabel_2 = new TLatex(0.04,0.4,"20-30%");}// CentLabel2 = new TString("20-30\\%");}
- else if(cb==4) {CentLabel_2 = new TLatex(0.04,0.4,"30-40%");}// CentLabel2 = new TString("30-40\\%");}
- else {CentLabel_2 = new TLatex(0.04,0.4,"40-50%");}// CentLabel2 = new TString("40-50\\%");}
+ if(cb==0) {CentLabel_2 = new TLatex(0.03,1.52,"0-5%"); }//CentLabel2 = new TString("0-5\\%");}// was 0.04,0.4
+ else if(cb==1) {CentLabel_2 = new TLatex(0.03,1.52,"5-10%");}// CentLabel2 = new TString("5-10\\%");}
+ else if(cb==2) {CentLabel_2 = new TLatex(0.03,1.52,"10-20%");}// CentLabel2 = new TString("10-20\\%");}
+ else if(cb==3) {CentLabel_2 = new TLatex(0.03,1.52,"20-30%");}// CentLabel2 = new TString("20-30\\%");}
+ else if(cb==4) {CentLabel_2 = new TLatex(0.03,1.52,"30-40%");}// CentLabel2 = new TString("30-40\\%");}
+ else {CentLabel_2 = new TLatex(0.03,1.52,"40-50%");}// CentLabel2 = new TString("40-50\\%");}
CentLabel_2->SetTextFont(TextFont);
- CentLabel_2->SetTextSize(SizeLabel);
+ CentLabel_2->SetTextSize(SizeLabel*SF_correction);
CentLabel_2->Draw("same");
if(cb==0){
pad5_2->SetFillStyle(0);
pad5_2->Draw();
pad5_2->cd();
- TLatex *r3Label = new TLatex(.035,.97,"r_{3}");// 0.035,0.88
+ TLatex *r3Label = new TLatex(.035,.96,"#font[12]{r}_{3}");// 0.035,0.88
r3Label->SetTextFont(TextFont);
- r3Label->SetTextSize(SizeLabel*SF2);
+ r3Label->SetTextSize(SizeTitle*SF2);
r3Label->SetTextAngle(90);
r3Label->Draw();
CoverUp->Draw();
double a_quartic_Avg=0, a_quadratic_Avg=0;
double a_quartic_AvgErr1=0, a_quadratic_AvgErr1=0;
double a_quartic_AvgErr2=0, a_quadratic_AvgErr2=0;
+
cout<<"Quartic"<<endl;
for(int cb=0; cb<6; cb++) {
TString *CentLabel2;
else {CentLabel2 = new TString("40-50\\%");}
double SF=1000.;
- double I_Sys1=fabs(QuarticFit[1][cb]->GetParameter(0)-QuarticFit[0][cb]->GetParameter(0));
- double I_Sys2=fabs(QuarticFit[2][cb]->GetParameter(0)-QuarticFit[3][cb]->GetParameter(0));
+ double I_Sys1=fabs(QuarticFit[1][cb]->GetParameter(0)-QuarticFit[0][cb]->GetParameter(0));// Meth+Det Sys
+ double I_Sys2=fabs(QuarticFit[2][cb]->GetParameter(0)-QuarticFit[3][cb]->GetParameter(0));// Coulomb Sys
double I_SysTotal = sqrt(pow(I_Sys1,2)+pow(I_Sys2,2));
double a_Sys1=fabs(QuarticFit[1][cb]->GetParameter(1)-QuarticFit[0][cb]->GetParameter(1));
double a_Sys2=fabs(QuarticFit[2][cb]->GetParameter(1)-QuarticFit[3][cb]->GetParameter(1));
double a_SysTotal = sqrt(pow(a_Sys1,2)+pow(a_Sys2,2));
I_quartic_Avg += QuarticFit[1][cb]->GetParameter(0);// [1] has both Stat+Sys errors
I_quartic_AvgErr1 += pow(QuarticFit[0][cb]->GetParError(0),2);// [0] has only Stat errors
- I_quartic_AvgErr2 += sqrt(pow(I_Sys1,2) + pow(I_Sys2,2));
+ I_quartic_AvgErr2 += I_SysTotal;
a_quartic_Avg += QuarticFit[1][cb]->GetParameter(1)/SF;
a_quartic_AvgErr1 += pow(QuarticFit[0][cb]->GetParError(1)/SF,2);
a_quartic_AvgErr2 += sqrt(pow(a_Sys1,2) + pow(a_Sys2,2));
a_quartic_Avg /= 6.; a_quartic_AvgErr1 = sqrt(a_quartic_AvgErr1)/6.; a_quartic_AvgErr2 = a_quartic_AvgErr2/6.;
cout<<"$"<<setprecision(2)<<fixed<<"0-50\\%"<<"$ & $"<<I_quartic_Avg<<" \\pm "<<I_quartic_AvgErr1<<" \\pm "<<I_quartic_AvgErr2<<"$ & $"<<setprecision(1)<<fixed<<a_quartic_Avg<<" \\pm "<<a_quartic_AvgErr1<<" \\pm "<<a_quartic_AvgErr2<<"$ \\\\ \\hline"<<endl;
+ /*TCanvas *can5_5 = new TCanvas("can5_5", "can5_5",680,300,600,600);// 11,53,700,500
+ can5_5->SetHighLightColor(2);
+ gStyle->SetOptFit(0111);
+ can5_5->SetFillColor(0);//10
+ can5_5->SetBorderMode(0);
+ can5_5->SetBorderSize(2);
+ can5_5->SetFrameFillColor(0);
+ can5_5->SetFrameBorderMode(0);
+ can5_5->SetFrameBorderMode(0);
+ can5_5->Draw();
+ double Iold_K1[6]={1.84,1.84,1.82,1.84,1.79,1.73};
+ double Iold_K2[6]={1.94,1.92,2.02,1.98,2.01,2.03};
+ double aold_K1[6]={13.8,10.6,6.9,6.7,3.7,4.9};
+ double aold_K2[6]={8.7,4.6,4.4,1.8,-0.2,-1.8};
+
+ TH1D *ratioMuonCorr=new TH1D("ratioMuonCorr","",6,0.5,6.5);
+ ratioMuonCorr->GetXaxis()->SetBinLabel(1,"0-5%");
+ ratioMuonCorr->GetXaxis()->SetBinLabel(2,"5-10%");
+ ratioMuonCorr->GetXaxis()->SetBinLabel(3,"10-20%");
+ ratioMuonCorr->GetXaxis()->SetBinLabel(4,"20-30%");
+ ratioMuonCorr->GetXaxis()->SetBinLabel(5,"30-40%");
+ ratioMuonCorr->GetXaxis()->SetBinLabel(6,"40-50%");
+ ratioMuonCorr->GetYaxis()->SetTitle("New/Old"); ratioMuonCorr->GetYaxis()->SetTitleOffset(1.8);
+ ratioMuonCorr->SetTitle("Quartic coefficient");
+ for(int i=0; i<6; i++){
+ ratioMuonCorr->SetBinContent(i+1, QuarticFit[1][i]->GetParameter(1)/SF/aold_K1[i]);
+ ratioMuonCorr->SetBinError(i+1, 1000./QuarticFit[1][i]->GetParameter(1));// 0.015/1.8 for I_K1, 0.03/1.8 for I_K2,
+ }
+ ratioMuonCorr->Draw();
+ */
+
////////////////////////////
cout<<"Quadratic"<<endl;
for(int cb=0; cb<6; cb++) {
else if(cb==4) {CentLabel2 = new TString("30-40\\%");}
else {CentLabel2 = new TString("40-50\\%");}
double SF=10.;
- double I_Sys1=fabs(QuadraticFit[1][cb]->GetParameter(0)-QuadraticFit[0][cb]->GetParameter(0));
- double I_Sys2 = fabs(QuadraticFit[2][cb]->GetParameter(0)-QuadraticFit[3][cb]->GetParameter(0));
+ cout.precision(4);
+ double I_Sys1 = fabs(QuadraticFit[1][cb]->GetParameter(0)-QuadraticFit[0][cb]->GetParameter(0));// Meth+Det Sys
+ double I_Sys2 = fabs(QuadraticFit[2][cb]->GetParameter(0)-QuadraticFit[3][cb]->GetParameter(0));// Coulomb Sys
double I_SysTotal = sqrt(pow(I_Sys1,2)+pow(I_Sys2,2));
double a_Sys1=fabs(QuadraticFit[1][cb]->GetParameter(1)-QuadraticFit[0][cb]->GetParameter(1));
double a_Sys2 = fabs(QuadraticFit[2][cb]->GetParameter(1)-QuadraticFit[3][cb]->GetParameter(1));
double a_SysTotal = sqrt(pow(a_Sys1,2)+pow(a_Sys2,2));
I_quadratic_Avg += QuadraticFit[1][cb]->GetParameter(0);
I_quadratic_AvgErr1 += pow(QuadraticFit[0][cb]->GetParError(0),2);
- I_quadratic_AvgErr2 += sqrt(pow(I_Sys1,2) + pow(I_Sys2,2));
+ I_quadratic_AvgErr2 += I_SysTotal;
a_quadratic_Avg += QuadraticFit[1][cb]->GetParameter(1)/SF;
a_quadratic_AvgErr1 += pow(QuadraticFit[0][cb]->GetParError(1)/SF,2);
a_quadratic_AvgErr2 += sqrt(pow(a_Sys1,2) + pow(a_Sys2,2));
I_quadratic_Avg /= 6.; I_quadratic_AvgErr1 = sqrt(I_quadratic_AvgErr1)/6.; I_quadratic_AvgErr2 = I_quadratic_AvgErr2/6.;
a_quadratic_Avg /= 6.; a_quadratic_AvgErr1 = sqrt(a_quadratic_AvgErr1)/6.; a_quadratic_AvgErr2 = a_quadratic_AvgErr2/6.;
cout<<"$"<<setprecision(2)<<fixed<<"0-50\\%"<<"$ & $"<<I_quadratic_Avg<<" \\pm "<<I_quadratic_AvgErr1<<" \\pm "<<I_quadratic_AvgErr2<<"$ & $"<<setprecision(1)<<fixed<<a_quadratic_Avg<<" \\pm "<<a_quadratic_AvgErr1<<" \\pm "<<a_quadratic_AvgErr2<<"$ \\\\ \\hline"<<endl;
-
+
-
+
////////////////////////////////////////////////////////////////////////////////
- // To visualize Separate Systematic uncertainties
+ // Coulomb Variation
int CBOI_SS=1;// 1=5-10%
TCanvas *can6 = new TCanvas("can6", "can6",1800,300,600,900);// 680,300,600,600
can6->SetHighLightColor(2);
gStyle->SetOptFit(0111);
- can6->SetFillColor(10);//10
+ can6->SetFillColor(0);//10
can6->SetBorderMode(0);
can6->SetBorderSize(2);
can6->SetFrameFillColor(0);
pad6->Divide(1,2,0,0);
pad6->Draw();
pad6->cd(1);
- TLegend *legend7 = new TLegend(.75,.7, .95,.85,NULL,"brNDC");//c3
+ TLegend *legend7 = new TLegend(.8,.05, .98,.2,NULL,"brNDC");//c3
legend7->SetBorderSize(0);
legend7->SetTextFont(TextFont);
legend7->SetTextSize(SizeLegend*SF1);
c3merged[1][1][KT3Bin][CBOI_SS]->SetMarkerStyle(21); c3merged[1][1][KT3Bin][CBOI_SS]->SetMarkerColor(4); c3merged[1][1][KT3Bin][CBOI_SS]->SetLineColor(4);// Omega0, Kt3_1
c3merged[1][0][KT3Bin][CBOI_SS]->SetMinimum(0.995); c3merged[1][0][KT3Bin][CBOI_SS]->SetMaximum(1.065);
//
- gPad->SetRightMargin(RightMargin); gPad->SetLeftMargin(0.12);
+ gPad->SetRightMargin(RightMargin); gPad->SetLeftMargin(0.13);
r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetLabelFont(TextFont); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetLabelFont(TextFont);
r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetLabelSize(0); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetLabelSize(SizeLabel*SF1);
//
- r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleOffset(1.2);
+ r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleOffset(0.8);
r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleFont(TextFont);
r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleSize(SizeTitle*SF1);
- r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitle("r_{3}");
- r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetRangeUser(0,0.11);
+ r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitle("#font[12]{r}_{3}");
+ r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetRangeUser(0,0.08);
//
- r3merged[0][KT3Bin][CBOI_SS]->SetMinimum(0.3); r3merged[0][KT3Bin][CBOI_SS]->SetMaximum(2.28);
+ r3merged[0][KT3Bin][CBOI_SS]->SetMinimum(0.9); r3merged[0][KT3Bin][CBOI_SS]->SetMaximum(2.4);
r3merged[0][KT3Bin][CBOI_SS]->SetMarkerSize(1.5);
r3merged[1][KT3Bin][CBOI_SS]->SetMarkerSize(1.7);
r3merged[0][KT3Bin][CBOI_SS]->DrawCopy();
legend7->AddEntry(r3merged[0][KT3Bin][CBOI_SS],"GRS","p");
legend7->AddEntry(r3merged[1][KT3Bin][CBOI_SS],"#Omega_{0}","p");
legend7->Draw("same");
- TLatex *Specif_5 = new TLatex(0.3,0.2,"ALICE Pb-Pb #\sqrt{s_{NN}}=2.76 TeV");
+ TLatex *Specif_5 = new TLatex(0.36,0.94,"ALICE Pb-Pb #\sqrt{#font[12]{s}_{NN}}=2.76 TeV");
Specif_5->SetNDC();
Specif_5->SetTextFont(TextFont);
Specif_5->SetTextSize(SizeSpecif*SF1);
- TLatex *Specif2_5 = new TLatex(0.17,0.2,"5-10%");
+ TLatex *Specif2_5 = new TLatex(0.5,0.1,"5-10%");
Specif2_5->SetNDC();
Specif2_5->SetTextFont(TextFont);
- Specif2_5->SetTextSize(SizeLegend*SF1);
+ Specif2_5->SetTextSize(SizeLabel*SF1);
Specif_5->Draw();
Specif2_5->Draw();
TString *KTString = new TString("");
- if(KT3Bin==0) KTString->Append("0.16<K_{t,3}<0.3 GeV/c");
- else KTString->Append("0.3<K_{t,3}<1.0 GeV/c");
- TLatex *Kt3Name_3 = new TLatex(0.17,0.3,KTString->Data());
+ if(KT3Bin==0) KTString->Append("0.16<#font[12]{K}_{T,3}<0.3 GeV/#font[12]{c}");
+ else KTString->Append("0.3<#font[12]{K}_{T,3}<1.0 GeV/#font[12]{c}");
+ TLatex *Kt3Name_3 = new TLatex(0.36,0.22,KTString->Data());
Kt3Name_3->SetNDC();
Kt3Name_3->SetTextFont(TextFont);
- Kt3Name_3->SetTextSize(SizeSpecif*SF1);
+ Kt3Name_3->SetTextSize(SizeLabel*SF1);
Kt3Name_3->Draw("same");
//
//
pad6->cd(2);
- gPad->SetRightMargin(RightMargin); gPad->SetLeftMargin(0.12); gPad->SetBottomMargin(0.13);
+ SF_correction=0.97;
+ gPad->SetRightMargin(RightMargin); gPad->SetLeftMargin(0.13); gPad->SetBottomMargin(0.16);
c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetLabelFont(TextFont); c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetLabelFont(TextFont);
- c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetLabelSize(SizeLabel*SF1); c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetLabelSize(SizeLabel*SF1);
+ c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetLabelSize(SizeLabel*SF1*SF_correction); c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetLabelSize(SizeLabel*SF1*SF_correction);
c3merged[1][0][KT3Bin][CBOI_SS]->SetMarkerStyle(21);
c3merged[1][1][KT3Bin][CBOI_SS]->SetMarkerStyle(25);
c3merged[1][0][KT3Bin][CBOI_SS]->SetMarkerSize(1.5);
c3merged[1][1][KT3Bin][CBOI_SS]->SetMarkerSize(1.7);
//
- c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitleOffset(1.2); c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleOffset(1.2);
+ c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitleOffset(0.9); c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleOffset(0.8);
c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitleFont(TextFont); c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleFont(TextFont);
c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitleSize(SizeTitle*SF1); c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleSize(SizeTitle*SF1);
- c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitle("Q_{3} (GeV/c)");
- c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitle("#bf{c}_{3}^{#pm#pm#mp}");
+ c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitle("#font[12]{Q}_{3} (GeV/#font[12]{c})");
+ c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitle("#font[12]{#bf{c}}_{3}^{#pm#pm#mp}");
+ c3merged[1][0][KT3Bin][CBOI_SS]->GetYaxis()->SetNdivisions(504);
+ c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetNdivisions(503);
//
- c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetRangeUser(0,0.11);
- TLegend *legend8 = new TLegend(.75,.7, .95,.85,NULL,"brNDC");//c3
+ c3merged[1][0][KT3Bin][CBOI_SS]->GetXaxis()->SetRangeUser(0,0.08);
+ c3merged[1][0][KT3Bin][CBOI_SS]->SetMaximum(1.08);
+ TLegend *legend8 = new TLegend(.8,.8, .98,.95,NULL,"brNDC");//c3
legend8->SetBorderSize(0);
legend8->SetTextFont(TextFont);
legend8->SetTextSize(SizeLegend*SF1);
//can6->SaveAs("SaveFigs/Fig_r3c3_CoulVar.eps");
///////////////////////////////////////////////////
-
+ // Lambda variation
TCanvas *can7 = new TCanvas("can7", "can7",1800,300,600,600);// 680,300,600,600
can7->SetHighLightColor(2);
gStyle->SetOptFit(0111);
- can7->SetFillColor(10);//10
+ can7->SetFillColor(0);//10
can7->SetBorderMode(0);
can7->SetBorderSize(2);
can7->SetFrameFillColor(0);
legend9->SetTextSize(SizeLegend*SF2);
legend9->SetFillColor(0);
- gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.12); gPad->SetBottomMargin(0.1); gPad->SetTopMargin(0.01);
- r3merged[0][KT3Bin][CBOI_SS]->SetMinimum(0.3); r3merged[0][KT3Bin][CBOI_SS]->SetMaximum(2.28);
+ gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.13); gPad->SetBottomMargin(0.13); gPad->SetTopMargin(0.01);
+ r3merged[0][KT3Bin][CBOI_SS]->SetMinimum(r3MIN); r3merged[0][KT3Bin][CBOI_SS]->SetMaximum(r3MAX);
r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetLabelFont(TextFont); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetLabelFont(TextFont);
r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetLabelSize(SizeLabel*SF2); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetLabelSize(SizeLabel*SF2);
//
r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitleFont(TextFont); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleFont(TextFont);
r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitleSize(SizeTitle*SF2); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleSize(SizeTitle*SF2);
- r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitle("Q_{3} (GeV/c)"); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitle("r_{3}");
- r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitleOffset(1.2); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleOffset(1.4);
+ r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitle("#font[12]{Q}_{3} (GeV/#font[12]{c})"); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitle("#font[12]{r}_{3}");
+ r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetTitleOffset(0.9); r3merged[0][KT3Bin][CBOI_SS]->GetYaxis()->SetTitleOffset(1.05);
TH1D *r3LambdaVaried = (TH1D*)r3merged[0][KT3Bin][CBOI_SS]->Clone();
r3LambdaVaried->SetMarkerStyle(25);
TF1 *r3LambdaSysFit = new TF1("r3LambdaSysFit","pol1",0,0.1);
double Q3 = (bin-0.5)*0.01;
r3LambdaVaried->SetBinContent(bin, (1-r3LambdaSysFit->Eval(Q3)) * r3LambdaVaried->GetBinContent(bin));
}
- r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetNdivisions(606);
+ r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetNdivisions(503);
+ r3merged[0][KT3Bin][CBOI_SS]->GetXaxis()->SetRangeUser(0,0.08);
r3merged[0][KT3Bin][CBOI_SS]->DrawCopy();
r3LambdaVaried->DrawCopy("same");
legend9->AddEntry(r3LambdaVaried,"#lambda=0.6","p");
legend9->Draw("same");
- TLatex *Specif_6 = new TLatex(0.3,0.2,"ALICE Pb-Pb #\sqrt{s_{NN}}=2.76 TeV");
+ TLatex *Specif_6 = new TLatex(0.36,0.94,"ALICE Pb-Pb #\sqrt{#font[12]{s}_{NN}}=2.76 TeV");
Specif_6->SetNDC();
Specif_6->SetTextFont(TextFont);
Specif_6->SetTextSize(SizeSpecif*SF2);
- TLatex *Specif2_6 = new TLatex(0.17,0.2,"5-10%");
+ TLatex *Specif2_6 = new TLatex(0.5,0.2,"5-10%");
Specif2_6->SetNDC();
Specif2_6->SetTextFont(TextFont);
Specif2_6->SetTextSize(SizeLegend*SF2);
Specif_6->Draw();
Specif2_6->Draw();
TString *KTString = new TString("");
- if(KT3Bin==0) KTString->Append("0.16<K_{t,3}<0.3 GeV/c");
- else KTString->Append("0.3<K_{t,3}<1.0 GeV/c");
- TLatex *Kt3Name_4 = new TLatex(0.17,0.3,KTString->Data());
+ if(KT3Bin==0) KTString->Append("0.16<#font[12]{K}_{T,3}<0.3 GeV/#font[12]{c}");
+ else KTString->Append("0.3<#font[12]{K}_{T,3}<1.0 GeV/#font[12]{c}");
+ TLatex *Kt3Name_4 = new TLatex(0.36,0.28,KTString->Data());
Kt3Name_4->SetNDC();
Kt3Name_4->SetTextFont(TextFont);
- Kt3Name_4->SetTextSize(SizeSpecif*SF2);
+ Kt3Name_4->SetTextSize(SizeLabel*SF2);
Kt3Name_4->Draw("same");
//can7->SaveAs("SaveFigs/Fig_r3_LamVar.eps");
//*OutName += BOI_1;
//OutName->Append(".png");
//can6->SaveAs(OutName->Data());
-
+
tex4->SetTextColor();
//tex4->Draw("same");
- TLatex *tex5 = new TLatex(0.0005,.5,"Pb-Pb #sqrt{s_{NN}}=2.76 TeV: 0-10% Centrality");
+ TLatex *tex5 = new TLatex(0.0005,.5,"Pb-Pb #sqrt{#font[12]{s}_{NN}}=2.76 TeV: 0-10% Centrality");
tex5->SetTextSize(.04);
tex5->SetTextColor();
//tex5->Draw("same");