void calccorr(int i=1,string t="ptccentc"){ float const PI = acos(-1.0); const int ncent = 8; const int npt = 10; if(i==0) TString dire="north"; else TString dire="south"; //TFile *f=TFile::Open("merged_AnapAumbst.root"); TFile *f=TFile::Open("merged_AnapAumbcentral.root"); //TFile *f=TFile::Open("merged_AnapAumbcentral_PC3Sigma2.root"); //TFile *f=TFile::Open("merged_PUlow_AnapAumbcentral.root"); //TFile *f=TFile::Open("merged_PUhigh_AnapAumbcentral.root"); TH1F* kforebbcw[ncent][npt]; TH1F* hforebbcw[ncent][npt]; TH1F* kbackbbcw2[ncent][npt]; TH1F* kforebbcw_In; TH1F* hforebbcw_In; TH1F* kbackbbcw2_In; double ptbin[npt+1] = {0.2,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0}; double centbin[ncent+1] = {0,1,2,3,4,5,6,7,8,9,30}; TString type = t.c_str(); if(type=="ptIn25_4"){ double selptbin[] = {2.5,4.0}; double selcentbin[ncent+1] = {0,0.01,0.05,0.1,0.2,0.3,0.4,0.6,1.0}; } else if(type=="ptIn"){ double selptbin[] = {1.0,3.0}; double selcentbin[ncent+1] = {0,0.01,0.05,0.1,0.2,0.3,0.4,0.6,1.0}; } else if(type=="ptcoarser"){ double selptbin[] = {0.2,1.0,2.0,3.0,5.0}; double selcentbin[ncent+1] = {0,0.01,0.05,0.1,0.2,0.3,0.4,0.6,1.0}; } else if(type=="ptfiner"){ double selptbin[] = {0.2,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0}; double selcentbin[ncent+1] = {0,0.01,0.05,0.1,0.2,0.3,0.4,0.6,1.0}; } else if(type=="centIn"){ double selptbin[] = {0.2,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0}; double selcentbin[] = {0,1.0}; } else if(type=="ptccentc"){ double selptbin[] = {0.5,3.0}; double selcentbin[ncent+1] = {0,1,2,3,4,5,6,7,8,9,30}; double selcentbin[] = {0,0.05}; } else{exit(0);}; /*double ptmin = 1.0; double ptmax = 3.0;//has to be boundary for(int ipt=0; ipt<npt; ipt++){ if(ptmin >= ptbin[ipt] && ptmin < ptbin[ipt+1]){int xptmin = ipt; continue;} if(ptmax >= ptbin[ipt] && ptmax < ptbin[ipt+1]){int xptmax = ipt; continue;} }*/ ofstream fsout(Form("stat_central_%s_%s.txt",type.Data(),dire.Data())); ofstream fout(Form("c2_central_%s_%s_pAu.dat",type.Data(),dire.Data())); for(int icent=0; icent<ncent; icent++){ for(int ipt=0; ipt<npt; ipt++){ kforebbcw[icent][ipt] = (TH1F*)f->Get(Form("kfore%sbbcw_%d_%d",dire.Data(),icent,ipt)); hforebbcw[icent][ipt] = (TH1F*)f->Get(Form("hfore%sbbcw_%d_%d",dire.Data(),icent,ipt)); kbackbbcw2[icent][ipt] = (TH1F*)f->Get(Form("kback%sbbcw2_%d_%d",dire.Data(),icent,ipt)); } } int ncent_a = sizeof(selcentbin)/sizeof(double)-1; int npt_a = sizeof(selptbin)/sizeof(double)-1; for(int icent_a=0;icent_a<ncent_a;icent_a++){ for(int icent_b=0; icent_b<ncent+1; icent_b++) if(selcentbin[icent_a] == centbin[icent_b]) break; int xcentmin = icent_b; for(int icent_b=0; icent_b<ncent+1; icent_b++) if(selcentbin[icent_a+1] == centbin[icent_b]) break; int xcentmax = icent_b; if((xcentmin == ncent+1) || (xcentmax == ncent+1)) exit(0); for(int ipt_a=0;ipt_a<npt_a;ipt_a++){ for(int ipt_b=0; ipt_b<npt+1; ipt_b++) if(selptbin[ipt_a] == ptbin[ipt_b]) break; int xptmin = ipt_b; for(int ipt_b=0; ipt_b<npt+1; ipt_b++) if(selptbin[ipt_a+1] == ptbin[ipt_b]) break; int xptmax = ipt_b; if((xptmin == npt+1) || (xptmax == npt+1)) exit(0); cout<<xcentmin<<"\t"<<xcentmax<<"\t"<<endl; cout<<xptmin<<"\t"<<xptmax<<"\t"<<endl; kforebbcw_In = (TH1F*)kforebbcw[xcentmin][xptmin]->Clone(); hforebbcw_In = (TH1F*)hforebbcw[xcentmin][xptmin]->Clone(); kbackbbcw2_In = (TH1F*)kbackbbcw2[xcentmin][xptmin]->Clone(); kforebbcw_In->Reset(); hforebbcw_In->Reset(); kbackbbcw2_In->Reset(); for(int icent=xcentmin; icent<xcentmax; icent++){ for(int ipt=xptmin; ipt<xptmax; ipt++){ kforebbcw_In->Add(kforebbcw[icent][ipt]); hforebbcw_In->Add(hforebbcw[icent][ipt]); kbackbbcw2_In->Add(kbackbbcw2[icent][ipt]); } } kforebbcw_In->Rebin(2); hforebbcw_In->Rebin(2); kbackbbcw2_In->Rebin(2); TH1F* hpp; TH1F* hbackpp; hpp = (TH1F*)kforebbcw_In->Clone(); hbackpp = (TH1F*)kbackbbcw2_In->Clone(); float nbackpp = hbackpp->Integral()/2.0/PI; float nforepp = hpp->Integral()/2.0/PI; //float ntrig0 = ptforedis_0->Integral(11,30); for(int i=0; i<20; i++){ float pp_cont = 1.0*hpp->GetBinContent(i+1); //float pp0_err = 1.0*hpp->GetBinError(i+1); float weight2 = sqrt(1.0*hforebbcw_In->GetBinContent(i+1)); float backpp_cont = 1.0*hbackpp->GetBinContent(i+1); float con = pp_cont/backpp_cont*nbackpp/nforepp; float err = weight2/backpp_cont*nbackpp/nforepp; hpp->SetBinContent(i+1, con); hpp->SetBinError(i+1, err); if(i==0) fsout<<pp_cont<<" "<<weight2<<" "<<con<<" "<<err<<endl; } TF1 *fun0 = new TF1("fun0","[0]*(1+2*[1]*cos(x)+2*[2]*cos(2*x)+2*[3]*cos(3*x)+2*[4]*cos(4*x))", -0.5*PI, 1.5*PI); fun0->SetLineColor(1); hpp->Fit("fun0","NORQ"); TF1 *fun1 = new TF1("fun1","[0]*(1+2*[1]*cos(x))", -0.5*PI, 1.5*PI); TF1 *fun2 = new TF1("fun2","[0]*(1+2*[1]*cos(2*x))", -0.5*PI, 1.5*PI); TF1 *fun3 = new TF1("fun3","[0]*(1+2*[1]*cos(3*x))", -0.5*PI, 1.5*PI); TF1 *fun4 = new TF1("fun4","[0]*(1+2*[1]*cos(4*x))", -0.5*PI, 1.5*PI); const double ptmean[npt] = {0.360943, 0.691833, 1.1911, 1.69654, 2.20117, 2.70571, 3.2097, 3.71372, 4.21814, 4.72014}; fout//<<fun0->GetParameter(1)<<" "<<fun0->GetParError(1)<<" " <<ptmean[ipt_a]<<" "<<fun0->GetParameter(2)<<" "<<fun0->GetParError(2)<<" "<<0.05*fun0->GetParameter(2)<<" "<<endl; //<<fun0->GetParameter(3)<<" "<<fun0->GetParError(3)<<endl; } } fout.close(); fsout.close(); /* cout<<"*************** v2 ***********"<<endl; float v2_0 = funvn0->GetParameter(1)/(zym_pp0 + funvn0->GetParameter(0)); float v2_1 = funvn1->GetParameter(1)/(zym_pp1 + funvn1->GetParameter(0)); float v2_2 = funvn2->GetParameter(1)/(zym_pp2 + funvn2->GetParameter(0)); float v2_3 = funvn3->GetParameter(1)/(zym_pp3 + funvn3->GetParameter(0)); cout<<v2_0<<" "<<v2_1<<" "<<v2_2<<" "<<v2_3<<endl; cout<<funvn0->GetParameter(0)*funvn0->GetParameter(1)<<" " <<funvn1->GetParameter(0)*funvn1->GetParameter(1)<<" " <<funvn2->GetParameter(0)*funvn2->GetParameter(1)<<" " <<funvn3->GetParameter(0)*funvn3->GetParameter(1)<<endl; cout<<"*************** v2 ***********"<<endl; cout<<funvn0->GetParameter(2)<<" "<<funvn1->GetParameter(2)<<" "<<funvn2->GetParameter(2)<<" "<<funvn3->GetParameter(2)<<endl; cout<<"*************** v3 ***********"<<endl; cout<<funvn0->GetParameter(3)<<" "<<funvn1->GetParameter(3)<<" "<<funvn2->GetParameter(3)<<" "<<funvn3->GetParameter(3)<<endl; */ }
void calccorr(int i=0, string t){ if(i==0) TString dire = "north"; if(i==1) TString dire = "south"; float const PI = acos(-1.0); const int nntrk = 10; const int npt = 10; TFile *f=TFile::Open("merged.root"); TH1F* kforebbcw[nntrk][npt]; TH1F* hforebbcw[nntrk][npt]; TH1F* kbackbbcw2[nntrk][npt]; TH1F* kforebbcw_In; TH1F* hforebbcw_In; TH1F* kbackbbcw2_In; double ptbin[npt+1] = {0.2,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0}; double ntrkbin[nntrk+1] = {0,1,2,3,4,5,6,7,8,9,10}; TString type = t.c_str(); if(type=="ptIn25_4"){ double selptbin[] = {2.5,4.0}; double selntrkbin[] = {0,1,2,3,10}; } else if(type=="ptIn"){ double selptbin[] = {1.0,3.0}; double selntrkbin[] = {0,1,2,3,10}; } else if(type=="ptcoarser"){ double selptbin[] = {0.2,1.0,2.0,3.0,5.0}; double selntrkbin[] = {0,1,2,3,10}; } else if(type=="ptfiner"){ double selptbin[] = {0.2,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0}; double selntrkbin[] = {0,1,2,3,10}; } else if(type=="ntrkIn"){ double selptbin[] = {0.2,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0}; double selntrkbin[] = {0,10}; } else{exit(0);}; /*double ptmin = 1.0; double ptmax = 3.0;//has to be boundary for(int ipt=0; ipt<npt; ipt++){ if(ptmin >= ptbin[ipt] && ptmin < ptbin[ipt+1]){int xptmin = ipt; continue;} if(ptmax >= ptbin[ipt] && ptmax < ptbin[ipt+1]){int xptmax = ipt; continue;} }*/ ofstream fsout(Form("stat_%s_%s.txt",type.Data(),dire.Data())); ofstream fout(Form("c1_c2_%s_%s.dat",type.Data(),dire.Data())); for(int intrk=0; intrk<nntrk; intrk++){ for(int ipt=0; ipt<npt; ipt++){ kforebbcw[intrk][ipt] = (TH1F*)f->Get(Form("kfore%sbbcw_%d_%d",dire.Data(),intrk,ipt)); hforebbcw[intrk][ipt] = (TH1F*)f->Get(Form("hfore%sbbcw_%d_%d",dire.Data(),intrk,ipt)); kbackbbcw2[intrk][ipt] = (TH1F*)f->Get(Form("kback%sbbcw2_%d_%d",dire.Data(),intrk,ipt)); } } int nntrk_a = sizeof(selntrkbin)/sizeof(double)-1; int npt_a = sizeof(selptbin)/sizeof(double)-1; for(int intrk_a=0;intrk_a<nntrk_a;intrk_a++){ for(int intrk_b=0; intrk_b<nntrk+1; intrk_b++) if(selntrkbin[intrk_a] == ntrkbin[intrk_b]) break; int xntrkmin = intrk_b; for(int intrk_b=0; intrk_b<nntrk+1; intrk_b++) if(selntrkbin[intrk_a+1] == ntrkbin[intrk_b]) break; int xntrkmax = intrk_b; if((xntrkmin == nntrk+1) || (xntrkmax == nntrk+1)) exit(0); for(int ipt_a=0;ipt_a<npt_a;ipt_a++){ for(int ipt_b=0; ipt_b<npt+1; ipt_b++) if(selptbin[ipt_a] == ptbin[ipt_b]) break; int xptmin = ipt_b; for(int ipt_b=0; ipt_b<npt+1; ipt_b++) if(selptbin[ipt_a+1] == ptbin[ipt_b]) break; int xptmax = ipt_b; if((xptmin == npt+1) || (xptmax == npt+1)) exit(0); cout<<xntrkmin<<"\t"<<xntrkmax<<"\t"<<endl; cout<<xptmin<<"\t"<<xptmax<<"\t"<<endl; kforebbcw_In = (TH1F*)kforebbcw[xntrkmin][xptmin]->Clone(); hforebbcw_In = (TH1F*)hforebbcw[xntrkmin][xptmin]->Clone(); kbackbbcw2_In = (TH1F*)kbackbbcw2[xntrkmin][xptmin]->Clone(); kforebbcw_In->Reset(); hforebbcw_In->Reset(); kbackbbcw2_In->Reset(); for(int intrk=xntrkmin; intrk<xntrkmax; intrk++){ for(int ipt=xptmin; ipt<xptmax; ipt++){ kforebbcw_In->Add(kforebbcw[intrk][ipt]); hforebbcw_In->Add(hforebbcw[intrk][ipt]); kbackbbcw2_In->Add(kbackbbcw2[intrk][ipt]); } } kforebbcw_In->Rebin(2); hforebbcw_In->Rebin(2); kbackbbcw2_In->Rebin(2); TH1F* hpp; TH1F* hbackpp; hpp = (TH1F*)kforebbcw_In->Clone(); hbackpp = (TH1F*)kbackbbcw2_In->Clone(); float nbackpp = hbackpp->Integral()/2.0/PI; float nforepp = hpp->Integral()/2.0/PI; //float ntrig0 = ptforedis_0->Integral(11,30); for(int i=0; i<20; i++){ float pp_cont = 1.0*hpp->GetBinContent(i+1); //float pp0_err = 1.0*hpp->GetBinError(i+1); float weight2 = sqrt(1.0*hforebbcw_In->GetBinContent(i+1)); float backpp_cont = 1.0*hbackpp->GetBinContent(i+1); float con = pp_cont/backpp_cont*nbackpp/nforepp; float err = weight2/backpp_cont*nbackpp/nforepp; hpp->SetBinContent(i+1, con); hpp->SetBinError(i+1, err); if(i==0) fsout<<pp_cont<<" "<<weight2<<" "<<con<<" "<<err<<endl; } TF1 *fun0 = new TF1("fun0","[0]*(1+2*[1]*cos(x)+2*[2]*cos(2*x)+2*[3]*cos(3*x)+2*[4]*cos(4*x))", -0.5*PI, 1.5*PI); fun0->SetLineColor(1); hpp->Fit("fun0","NORQ"); TF1 *fun1 = new TF1("fun1","[0]*(1+2*[1]*cos(x))", -0.5*PI, 1.5*PI); TF1 *fun2 = new TF1("fun2","[0]*(1+2*[1]*cos(2*x))", -0.5*PI, 1.5*PI); TF1 *fun3 = new TF1("fun3","[0]*(1+2*[1]*cos(3*x))", -0.5*PI, 1.5*PI); TF1 *fun4 = new TF1("fun4","[0]*(1+2*[1]*cos(4*x))", -0.5*PI, 1.5*PI); fout<<fun0->GetParameter(1)<<" "<<fun0->GetParError(1)<<" " <<fun0->GetParameter(2)<<" "<<fun0->GetParError(2)<<" " <<fun0->GetParameter(3)<<" "<<fun0->GetParError(3)<<endl; } } fout.close(); fsout.close(); /* cout<<"*************** v2 ***********"<<endl; float v2_0 = funvn0->GetParameter(1)/(zym_pp0 + funvn0->GetParameter(0)); float v2_1 = funvn1->GetParameter(1)/(zym_pp1 + funvn1->GetParameter(0)); float v2_2 = funvn2->GetParameter(1)/(zym_pp2 + funvn2->GetParameter(0)); float v2_3 = funvn3->GetParameter(1)/(zym_pp3 + funvn3->GetParameter(0)); cout<<v2_0<<" "<<v2_1<<" "<<v2_2<<" "<<v2_3<<endl; cout<<funvn0->GetParameter(0)*funvn0->GetParameter(1)<<" " <<funvn1->GetParameter(0)*funvn1->GetParameter(1)<<" " <<funvn2->GetParameter(0)*funvn2->GetParameter(1)<<" " <<funvn3->GetParameter(0)*funvn3->GetParameter(1)<<endl; cout<<"*************** v2 ***********"<<endl; cout<<funvn0->GetParameter(2)<<" "<<funvn1->GetParameter(2)<<" "<<funvn2->GetParameter(2)<<" "<<funvn3->GetParameter(2)<<endl; cout<<"*************** v3 ***********"<<endl; cout<<funvn0->GetParameter(3)<<" "<<funvn1->GetParameter(3)<<" "<<funvn2->GetParameter(3)<<" "<<funvn3->GetParameter(3)<<endl; */ }
void plotsouthcornew2(){ gStyle->SetOptTitle(0); gStyle->SetOptStat(0); gStyle->SetStripDecimals(0); gStyle->SetErrorX(0); float const PI = acos(-1.0); TFile *f=new TFile("output_test_pc1.root"); TH1F *kforesouthbbcwnew_0_1 = kforesouthbbcw_0_0->Clone(); TH1F *kforesouthbbcwnew_0_2 = kforesouthbbcw_0_1->Clone(); TH1F *kforesouthbbcwnew_0_3 = kforesouthbbcw_0_2->Clone(); TH1F *kforesouthbbcwnew_0_4 = kforesouthbbcw_0_3->Clone(); TH1F *kforesouthbbcwnew_1_1 = kforesouthbbcw_1_0->Clone(); TH1F *kforesouthbbcwnew_1_2 = kforesouthbbcw_1_1->Clone(); TH1F *kforesouthbbcwnew_1_3 = kforesouthbbcw_1_2->Clone(); TH1F *kforesouthbbcwnew_1_4 = kforesouthbbcw_1_3->Clone(); TH1F *kforesouthbbcwnew_2_1 = kforesouthbbcw_2_0->Clone(); TH1F *kforesouthbbcwnew_2_2 = kforesouthbbcw_2_1->Clone(); TH1F *kforesouthbbcwnew_2_3 = kforesouthbbcw_2_2->Clone(); TH1F *kforesouthbbcwnew_2_4 = kforesouthbbcw_2_3->Clone(); TH1F *kforesouthbbcwnew_3_1 = kforesouthbbcw_3_0->Clone(); TH1F *kforesouthbbcwnew_3_2 = kforesouthbbcw_3_1->Clone(); TH1F *kforesouthbbcwnew_3_3 = kforesouthbbcw_3_2->Clone(); TH1F *kforesouthbbcwnew_3_4 = kforesouthbbcw_3_3->Clone(); TH1F *kforesouthbbcwnew_4_1 = kforesouthbbcw_4_0->Clone(); TH1F *kforesouthbbcwnew_4_2 = kforesouthbbcw_4_1->Clone(); TH1F *kforesouthbbcwnew_4_3 = kforesouthbbcw_4_2->Clone(); TH1F *kforesouthbbcwnew_4_4 = kforesouthbbcw_4_3->Clone(); TH1F *kforesouthbbcwnew_5_1 = kforesouthbbcw_5_0->Clone(); TH1F *kforesouthbbcwnew_5_2 = kforesouthbbcw_5_1->Clone(); TH1F *kforesouthbbcwnew_5_3 = kforesouthbbcw_5_2->Clone(); TH1F *kforesouthbbcwnew_5_4 = kforesouthbbcw_5_3->Clone(); kforesouthbbcwnew_0_1->Add(kforesouthbbcwnew_0_4); kforesouthbbcwnew_0_1->Add(kforesouthbbcwnew_0_3); kforesouthbbcwnew_0_1->Add(kforesouthbbcwnew_0_2); kforesouthbbcwnew_1_3->Add(kforesouthbbcwnew_1_4); kforesouthbbcwnew_1_2->Add(kforesouthbbcwnew_1_3); kforesouthbbcwnew_1_1->Add(kforesouthbbcwnew_1_2); kforesouthbbcwnew_2_3->Add(kforesouthbbcwnew_2_4); kforesouthbbcwnew_2_2->Add(kforesouthbbcwnew_2_3); kforesouthbbcwnew_2_1->Add(kforesouthbbcwnew_2_2); kforesouthbbcwnew_3_3->Add(kforesouthbbcwnew_3_4); kforesouthbbcwnew_3_2->Add(kforesouthbbcwnew_3_3); kforesouthbbcwnew_3_1->Add(kforesouthbbcwnew_3_2); kforesouthbbcwnew_4_3->Add(kforesouthbbcwnew_4_4); kforesouthbbcwnew_4_2->Add(kforesouthbbcwnew_4_3); kforesouthbbcwnew_4_1->Add(kforesouthbbcwnew_4_2); kforesouthbbcwnew_5_3->Add(kforesouthbbcwnew_5_4); kforesouthbbcwnew_5_2->Add(kforesouthbbcwnew_5_3); kforesouthbbcwnew_5_1->Add(kforesouthbbcwnew_5_2); kforesouthbbcwnew_0_1->Rebin(2); kforesouthbbcwnew_1_1->Rebin(2); kforesouthbbcwnew_2_1->Rebin(2); kforesouthbbcwnew_3_1->Rebin(2); kforesouthbbcwnew_4_1->Rebin(2); kforesouthbbcwnew_5_1->Rebin(2); kforesouthbbcwnew_2_1->Add(kforesouthbbcwnew_0_1); kforesouthbbcwnew_2_1->Add(kforesouthbbcwnew_1_1); //weight square TH1F *hforesouthbbcwnew_0_1 = hforesouthbbcw_0_0->Clone(); TH1F *hforesouthbbcwnew_0_2 = hforesouthbbcw_0_1->Clone(); TH1F *hforesouthbbcwnew_0_3 = hforesouthbbcw_0_2->Clone(); TH1F *hforesouthbbcwnew_0_4 = hforesouthbbcw_0_3->Clone(); TH1F *hforesouthbbcwnew_1_1 = hforesouthbbcw_1_0->Clone(); TH1F *hforesouthbbcwnew_1_2 = hforesouthbbcw_1_1->Clone(); TH1F *hforesouthbbcwnew_1_3 = hforesouthbbcw_1_2->Clone(); TH1F *hforesouthbbcwnew_1_4 = hforesouthbbcw_1_3->Clone(); TH1F *hforesouthbbcwnew_2_1 = hforesouthbbcw_2_0->Clone(); TH1F *hforesouthbbcwnew_2_2 = hforesouthbbcw_2_1->Clone(); TH1F *hforesouthbbcwnew_2_3 = hforesouthbbcw_2_2->Clone(); TH1F *hforesouthbbcwnew_2_4 = hforesouthbbcw_2_3->Clone(); TH1F *hforesouthbbcwnew_3_1 = hforesouthbbcw_3_0->Clone(); TH1F *hforesouthbbcwnew_3_2 = hforesouthbbcw_3_1->Clone(); TH1F *hforesouthbbcwnew_3_3 = hforesouthbbcw_3_2->Clone(); TH1F *hforesouthbbcwnew_3_4 = hforesouthbbcw_3_3->Clone(); TH1F *hforesouthbbcwnew_4_1 = hforesouthbbcw_4_0->Clone(); TH1F *hforesouthbbcwnew_4_2 = hforesouthbbcw_4_1->Clone(); TH1F *hforesouthbbcwnew_4_3 = hforesouthbbcw_4_2->Clone(); TH1F *hforesouthbbcwnew_4_4 = hforesouthbbcw_4_3->Clone(); TH1F *hforesouthbbcwnew_5_1 = hforesouthbbcw_5_0->Clone(); TH1F *hforesouthbbcwnew_5_2 = hforesouthbbcw_5_1->Clone(); TH1F *hforesouthbbcwnew_5_3 = hforesouthbbcw_5_2->Clone(); TH1F *hforesouthbbcwnew_5_4 = hforesouthbbcw_5_3->Clone(); hforesouthbbcwnew_0_1->Add(hforesouthbbcwnew_0_4); hforesouthbbcwnew_0_1->Add(hforesouthbbcwnew_0_3); hforesouthbbcwnew_0_1->Add(hforesouthbbcwnew_0_2); hforesouthbbcwnew_1_3->Add(hforesouthbbcwnew_1_4); hforesouthbbcwnew_1_2->Add(hforesouthbbcwnew_1_3); hforesouthbbcwnew_1_1->Add(hforesouthbbcwnew_1_2); hforesouthbbcwnew_2_3->Add(hforesouthbbcwnew_2_4); hforesouthbbcwnew_2_2->Add(hforesouthbbcwnew_2_3); hforesouthbbcwnew_2_1->Add(hforesouthbbcwnew_2_2); hforesouthbbcwnew_3_3->Add(hforesouthbbcwnew_3_4); hforesouthbbcwnew_3_2->Add(hforesouthbbcwnew_3_3); hforesouthbbcwnew_3_1->Add(hforesouthbbcwnew_3_2); hforesouthbbcwnew_4_3->Add(hforesouthbbcwnew_4_4); hforesouthbbcwnew_4_2->Add(hforesouthbbcwnew_4_3); hforesouthbbcwnew_4_1->Add(hforesouthbbcwnew_4_2); hforesouthbbcwnew_5_3->Add(hforesouthbbcwnew_5_4); hforesouthbbcwnew_5_2->Add(hforesouthbbcwnew_5_3); hforesouthbbcwnew_5_1->Add(hforesouthbbcwnew_5_2); hforesouthbbcwnew_0_1->Rebin(2); hforesouthbbcwnew_1_1->Rebin(2); hforesouthbbcwnew_2_1->Rebin(2); hforesouthbbcwnew_3_1->Rebin(2); hforesouthbbcwnew_4_1->Rebin(2); hforesouthbbcwnew_5_1->Rebin(2); hforesouthbbcwnew_2_1->Add(hforesouthbbcwnew_0_1); hforesouthbbcwnew_2_1->Add(hforesouthbbcwnew_1_1); TH1F *kbacksouthbbcw2new_0_1 = kbacksouthbbcw2_0_0->Clone(); TH1F *kbacksouthbbcw2new_0_2 = kbacksouthbbcw2_0_1->Clone(); TH1F *kbacksouthbbcw2new_0_3 = kbacksouthbbcw2_0_2->Clone(); TH1F *kbacksouthbbcw2new_0_4 = kbacksouthbbcw2_0_3->Clone(); TH1F *kbacksouthbbcw2new_1_1 = kbacksouthbbcw2_1_0->Clone(); TH1F *kbacksouthbbcw2new_1_2 = kbacksouthbbcw2_1_1->Clone(); TH1F *kbacksouthbbcw2new_1_3 = kbacksouthbbcw2_1_2->Clone(); TH1F *kbacksouthbbcw2new_1_4 = kbacksouthbbcw2_1_3->Clone(); TH1F *kbacksouthbbcw2new_2_1 = kbacksouthbbcw2_2_0->Clone(); TH1F *kbacksouthbbcw2new_2_2 = kbacksouthbbcw2_2_1->Clone(); TH1F *kbacksouthbbcw2new_2_3 = kbacksouthbbcw2_2_2->Clone(); TH1F *kbacksouthbbcw2new_2_4 = kbacksouthbbcw2_2_3->Clone(); TH1F *kbacksouthbbcw2new_3_1 = kbacksouthbbcw2_3_0->Clone(); TH1F *kbacksouthbbcw2new_3_2 = kbacksouthbbcw2_3_1->Clone(); TH1F *kbacksouthbbcw2new_3_3 = kbacksouthbbcw2_3_2->Clone(); TH1F *kbacksouthbbcw2new_3_4 = kbacksouthbbcw2_3_3->Clone(); TH1F *kbacksouthbbcw2new_4_1 = kbacksouthbbcw2_4_0->Clone(); TH1F *kbacksouthbbcw2new_4_2 = kbacksouthbbcw2_4_1->Clone(); TH1F *kbacksouthbbcw2new_4_3 = kbacksouthbbcw2_4_2->Clone(); TH1F *kbacksouthbbcw2new_4_4 = kbacksouthbbcw2_4_3->Clone(); TH1F *kbacksouthbbcw2new_5_1 = kbacksouthbbcw2_5_0->Clone(); TH1F *kbacksouthbbcw2new_5_2 = kbacksouthbbcw2_5_1->Clone(); TH1F *kbacksouthbbcw2new_5_3 = kbacksouthbbcw2_5_2->Clone(); TH1F *kbacksouthbbcw2new_5_4 = kbacksouthbbcw2_5_3->Clone(); kbacksouthbbcw2new_0_1->Add(kbacksouthbbcw2new_0_4); kbacksouthbbcw2new_0_1->Add(kbacksouthbbcw2new_0_3); kbacksouthbbcw2new_0_1->Add(kbacksouthbbcw2new_0_2); kbacksouthbbcw2new_1_3->Add(kbacksouthbbcw2new_1_4); kbacksouthbbcw2new_1_2->Add(kbacksouthbbcw2new_1_3); kbacksouthbbcw2new_1_1->Add(kbacksouthbbcw2new_1_2); kbacksouthbbcw2new_2_3->Add(kbacksouthbbcw2new_2_4); kbacksouthbbcw2new_2_2->Add(kbacksouthbbcw2new_2_3); kbacksouthbbcw2new_2_1->Add(kbacksouthbbcw2new_2_2); kbacksouthbbcw2new_3_3->Add(kbacksouthbbcw2new_3_4); kbacksouthbbcw2new_3_2->Add(kbacksouthbbcw2new_3_3); kbacksouthbbcw2new_3_1->Add(kbacksouthbbcw2new_3_2); kbacksouthbbcw2new_4_3->Add(kbacksouthbbcw2new_4_4); kbacksouthbbcw2new_4_2->Add(kbacksouthbbcw2new_4_3); kbacksouthbbcw2new_4_1->Add(kbacksouthbbcw2new_4_2); kbacksouthbbcw2new_5_3->Add(kbacksouthbbcw2new_5_4); kbacksouthbbcw2new_5_2->Add(kbacksouthbbcw2new_5_3); kbacksouthbbcw2new_5_1->Add(kbacksouthbbcw2new_5_2); kbacksouthbbcw2new_0_1->Rebin(2); kbacksouthbbcw2new_1_1->Rebin(2); kbacksouthbbcw2new_2_1->Rebin(2); kbacksouthbbcw2new_3_1->Rebin(2); kbacksouthbbcw2new_4_1->Rebin(2); kbacksouthbbcw2new_5_1->Rebin(2); kbacksouthbbcw2new_2_1->Add(kbacksouthbbcw2new_0_1); kbacksouthbbcw2new_2_1->Add(kbacksouthbbcw2new_1_1); ofstream fsout("60-88-stat.txt"); TH1F *hdAusouth0 = kforesouthbbcwnew_0_1->Clone(); TH1F *hbackdAusouth0 = kbacksouthbbcw2new_0_1->Clone(); float nbackdAusouth0 = hbackdAusouth0->Integral()/2.0/PI; float nforedAusouth0 = hdAusouth0->Integral()/2.0/PI; //float ntrig0 = ptforedis_0->Integral(11,30); for(int i=0; i<20; i++){ float dAusouth0_cont = 1.0*hdAusouth0->GetBinContent(i+1); //float dAusouth0_err = 1.0*hdAusouth0->GetBinError(i+1); float weight2 = sqrt(1.0*hforesouthbbcwnew_0_1->GetBinContent(i+1)); float backdAusouth0_cont = 1.0*hbackdAusouth0->GetBinContent(i+1); float con = dAusouth0_cont/backdAusouth0_cont*nbackdAusouth0/nforedAusouth0; float err = weight2/backdAusouth0_cont*nbackdAusouth0/nforedAusouth0; hdAusouth0->SetBinContent(i+1, con); hdAusouth0->SetBinError(i+1, err); if(i==0) fsout<<dAusouth0_cont<<" "<<weight2<<" "<<con<<" "<<err<<endl; } TH1F *hdAusouth1 = kforesouthbbcwnew_1_1->Clone(); TH1F *hbackdAusouth1 = kbacksouthbbcw2new_1_1->Clone(); float nbackdAusouth1 = hbackdAusouth1->Integral()/2.0/PI; float nforedAusouth1 = hdAusouth1->Integral()/2.0/PI; //float ntrig1 = ptforedis_1->Integral(11,30); for(int i=0; i<20; i++){ float dAusouth1_cont = 1.0*hdAusouth1->GetBinContent(i+1); //float dAusouth1_err = 1.0*hdAusouth1->GetBinError(i+1); float weight2 = sqrt(1.0*hforesouthbbcwnew_1_1->GetBinContent(i+1)); float backdAusouth1_cont = 1.0*hbackdAusouth1->GetBinContent(i+1); float con = dAusouth1_cont/backdAusouth1_cont*nbackdAusouth1/nforedAusouth1; float err = weight2/backdAusouth1_cont*nbackdAusouth1/nforedAusouth1; hdAusouth1->SetBinContent(i+1, con); hdAusouth1->SetBinError(i+1, err); if(i==0) fsout<<dAusouth1_cont<<" "<<weight2<<" "<<con<<" "<<err<<endl; } TH1F *hdAusouth2 = kforesouthbbcwnew_2_1->Clone(); TH1F *hbackdAusouth2 = kbacksouthbbcw2new_2_1->Clone(); float nbackdAusouth2 = hbackdAusouth2->Integral()/2.0/PI; float nforedAusouth2 = hdAusouth2->Integral()/2.0/PI; //float ntrig2 = ptforedis_2->Integral(11,30); for(int i=0; i<20; i++){ float dAusouth2_cont = 1.0*hdAusouth2->GetBinContent(i+1); //float dAusouth2_err = 1.0*hdAusouth2->GetBinError(i+1); float weight2 = sqrt(1.0*hforesouthbbcwnew_2_1->GetBinContent(i+1)); float backdAusouth2_cont = 1.0*hbackdAusouth2->GetBinContent(i+1); float con = dAusouth2_cont/backdAusouth2_cont*nbackdAusouth2/nforedAusouth2; float err = weight2/backdAusouth2_cont*nbackdAusouth2/nforedAusouth2; hdAusouth2->SetBinContent(i+1, con); hdAusouth2->SetBinError(i+1, err); if(i==0) fsout<<dAusouth2_cont<<" "<<weight2<<" "<<con<<" "<<err<<endl; } TH1F *hdAusouth3 = kforesouthbbcwnew_3_1->Clone(); TH1F *hbackdAusouth3 = kbacksouthbbcw2new_3_1->Clone(); float nbackdAusouth3 = hbackdAusouth3->Integral()/2.0/PI; float nforedAusouth3 = hdAusouth3->Integral()/2.0/PI; float ntrig3 = ptforedis_3->Integral(11,30); for(int i=0; i<20; i++){ float dAusouth3_cont = 1.0*hdAusouth3->GetBinContent(i+1); //float dAusouth3_err = 1.0*hdAusouth3->GetBinError(i+1); float weight2 = sqrt(1.0*hforesouthbbcwnew_3_1->GetBinContent(i+1)); float backdAusouth3_cont = 1.0*hbackdAusouth3->GetBinContent(i+1); float con = dAusouth3_cont/backdAusouth3_cont*nbackdAusouth3/nforedAusouth3; float err = weight2/backdAusouth3_cont*nbackdAusouth3/nforedAusouth3; hdAusouth3->SetBinContent(i+1, con); hdAusouth3->SetBinError(i+1, err); if(i==0) fsout<<dAusouth3_cont<<" "<<weight2<<" "<<con<<" "<<err<<endl; } TH1F *hdAusouth4 = kforesouthbbcwnew_4_1->Clone(); TH1F *hbackdAusouth4 = kbacksouthbbcw2new_4_1->Clone(); float nbackdAusouth4 = hbackdAusouth4->Integral()/2.0/PI; float nforedAusouth4 = hdAusouth4->Integral()/2.0/PI; //float ntrig4 = ptforedis_4->Integral(11,30); for(int i=0; i<20; i++){ float dAusouth4_cont = 1.0*hdAusouth4->GetBinContent(i+1); //float dAusouth4_err = 1.0*hdAusouth4->GetBinError(i+1); float weight2 = sqrt(1.0*hforesouthbbcwnew_4_1->GetBinContent(i+1)); float backdAusouth4_cont = 1.0*hbackdAusouth4->GetBinContent(i+1); float con = dAusouth4_cont/backdAusouth4_cont*nbackdAusouth4/nforedAusouth4; float err = weight2/backdAusouth4_cont*nbackdAusouth4/nforedAusouth4; hdAusouth4->SetBinContent(i+1, con); hdAusouth4->SetBinError(i+1, err); if(i==0) fsout<<dAusouth4_cont<<" "<<weight2<<" "<<con<<" "<<err<<endl; } TH1F *hdAusouth5 = kforesouthbbcwnew_5_1->Clone(); TH1F *hbackdAusouth5 = kbacksouthbbcw2new_5_1->Clone(); float nbackdAusouth5 = hbackdAusouth5->Integral()/2.0/PI; float nforedAusouth5 = hdAusouth5->Integral()/2.0/PI; //float ntrig5 = ptforedis_5->Integral(11,30); for(int i=0; i<20; i++){ float dAusouth5_cont = 1.0*hdAusouth5->GetBinContent(i+1); //float dAusouth5_err = 1.0*hdAusouth5->GetBinError(i+1); float weight2 = sqrt(1.0*hforesouthbbcwnew_5_1->GetBinContent(i+1)); float backdAusouth5_cont = 1.0*hbackdAusouth5->GetBinContent(i+1); float con = dAusouth5_cont/backdAusouth5_cont*nbackdAusouth5/nforedAusouth5; float err = weight2/backdAusouth5_cont*nbackdAusouth5/nforedAusouth5; hdAusouth5->SetBinContent(i+1, con); hdAusouth5->SetBinError(i+1, err); if(i==0) fsout<<dAusouth5_cont<<" "<<weight2<<" "<<con<<" "<<err<<endl; } fsout.close(); float ytop=0.97, ybot=0.07; float bot_r = 0.082, top_r = 0.042; float ny = 1.0/(1-bot_r-0.02)+1.0/(1-top_r-0.02)+1.0/(1.0-0.04); float ygap = (ytop-ybot)/ny; float ygap1 = ytop - 1.0/(1-top_r-0.02)*ygap; float ygap2 = ytop - 1.0/(1-top_r-0.02)*ygap - 1.0/(1.0-0.04)*ygap; float xleft=0.07, xright=0.98, xmiddle=1.0/(0.84/0.85+1.0)*(xright-xleft)+xleft; c1=new TCanvas("c1","c1", 600,750); c1->SetFillColor(10); c1->SetFillColor(10); c1->SetFillColor(10); c1->SetBorderMode(0); c1->SetBorderSize(2); c1->cd(); TPad *c1_1 = new TPad("c1_1", "c1_1",xleft,ygap1,xmiddle,ytop); c1_1->SetFillColor(10); c1_1->SetFillColor(10); c1_1->SetBorderMode(0); c1_1->SetBorderSize(2); c1_1->SetFrameFillColor(0); c1_1->SetFrameBorderMode(0); c1_1->SetFrameBorderMode(0); c1_1->Draw(); c1_1->cd(); //c1_1->Range(-0.658827,-4.65723,3.04092,1.94982); //c1_1->SetFillColor(10); //c1_1->SetBorderMode(0); //c1_1->SetBorderSize(2); //c1_1->SetLogy(); gPad->SetLeftMargin(0.130); gPad->SetRightMargin(0.02); gPad->SetBottomMargin(0.02); gPad->SetTopMargin(top_r); gPad->SetTicks(1,1); float ymax0 = 1.097;//hdAusouth0->GetMaximum()*1.1; float ymax1 = 1.097;//hdAusouth1->GetMaximum()*1.1; float ymax2 = 1.097;//hdAusouth2->GetMaximum()*1.1; float ymax3 = 1.097;//hdAusouth3->GetMaximum()*1.1; float ymax4 = 1.097;//hdAusouth4->GetMaximum()*1.1; float ymax5 = 1.097;//hdAusouth5->GetMaximum()*1.1; float ymin0 = 0.928;//hdAusouth0->GetMinimum()*0.9; float ymin1 = 0.928;//hdAusouth1->GetMinimum()*0.9; float ymin2 = 0.928;//hdAusouth2->GetMinimum()*0.9; float ymin3 = 0.928;//hdAusouth3->GetMinimum()*0.9; float ymin4 = 0.928;//hdAusouth4->GetMinimum()*0.9; float ymin5 = 0.928;//hdAusouth5->GetMinimum()*0.9; hdAusouth0->SetMinimum(ymin0); hdAusouth0->SetMaximum(ymax0); hdAusouth0->SetMarkerStyle(20); hdAusouth0->SetMarkerSize(1.3); hdAusouth0->SetMarkerColor(4); hdAusouth0->GetYaxis()->SetLabelSize(0.06); hdAusouth0->GetXaxis()->SetLabelSize(0.00); //hdAusouth0->GetYaxis()->SetTitleSize(0.6); //hdAusouth0->GetXaxis()->SetTitleSize(0.0); hdAusouth0->Draw("PE"); TF1 *fun0 = new TF1("fun0","[0]*(1+2*[1]*cos(x)+2*[2]*cos(2*x)+2*[3]*cos(3*x)+2*[4]*cos(4*x))", -0.5*PI, 1.5*PI); fun0->SetLineColor(1); hdAusouth0->Fit("fun0","R"); TF1 *fun01 = new TF1("fun01","[0]*(1+2*[1]*cos(x))", -0.5*PI, 1.5*PI); TF1 *fun02 = new TF1("fun02","[0]*(1+2*[1]*cos(2*x))", -0.5*PI, 1.5*PI); TF1 *fun03 = new TF1("fun03","[0]*(1+2*[1]*cos(3*x))", -0.5*PI, 1.5*PI); TF1 *fun04 = new TF1("fun04","[0]*(1+2*[1]*cos(4*x))", -0.5*PI, 1.5*PI); fun01->SetParameters(fun0->GetParameter(0), fun0->GetParameter(1)); fun02->SetParameters(fun0->GetParameter(0), fun0->GetParameter(2)); fun03->SetParameters(fun0->GetParameter(0), fun0->GetParameter(3)); fun04->SetParameters(fun0->GetParameter(0), fun0->GetParameter(4)); fun01->SetLineColor(3); fun02->SetLineColor(2); fun03->SetLineColor(6); fun04->SetLineColor(9); fun01->SetLineStyle(2); fun02->SetLineStyle(3); fun03->SetLineStyle(4); fun04->SetLineStyle(5); fun01->Draw("same"); fun02->Draw("same"); fun03->Draw("same"); fun04->Draw("same"); TLatex *t11=new TLatex(-1.0,0.88*(ymax0-ymin0)+ymin0, "a)"); t11->SetTextSize(0.08); t11->Draw(); TMarker *m0 = new TMarker(-0.3, 0.91*(ymax0-ymin0)+ymin0, 20); m0->SetMarkerSize(1.3); m0->SetMarkerColor(4); m0->Draw(); TLatex *t11=new TLatex(-0.0,0.88*(ymax0-ymin0)+ymin0, "He3+Au 0-5% (BbcQs)"); t11->SetTextSize(0.08); t11->Draw(); TLatex *t11=new TLatex(-1.2,0.78*(ymax0-ymin0)+ymin0, "1.0<p_{T,trig}<3.0 GeV/c"); t11->SetTextSize(0.08); t11->Draw(); TLatex *t11=new TLatex(-1.0,0.66*(ymax0-ymin0)+ymin0, "|#eta_{trig}|<0.35"); t11->SetTextSize(0.08); t11->Draw(); TLatex *t11=new TLatex(-1.2,0.58*(ymax0-ymin0)+ymin0, "-3.7<#eta_{asso}<-3.1"); t11->SetTextSize(0.08); //t11->Draw(); TLatex *t11=new TLatex(-1.2,0.05*(ymax0-ymin0)+ymin0, "Asso: Au-going, -3.7<#eta<-3.1"); t11->SetTextSize(0.08); t11->SetTextColor(2); t11->Draw(); //TGaxis *A1 = new TGaxis(-1.5708,-0.0019,-1.5708,0.028,-0.0019,-0.028,510,""); //A1->SetLabelSize(0.0195); //A1->SetLabelOffset(0.01); //A1->Draw(); c1->cd(); TPad *c1_2 = new TPad("c1_2", "c1_2",xmiddle,ygap1,xright,ytop); c1_2->SetFillColor(10); c1_2->Draw(); c1_2->cd(); c1_2->Range(-0.658827,-4.65723,3.04092,1.94982); c1_2->SetFillColor(10); c1_2->SetBorderMode(0); c1_2->SetBorderSize(2); //c1_2->SetLogy(); gPad->SetLeftMargin(0.12); gPad->SetRightMargin(0.02); gPad->SetBottomMargin(0.02); gPad->SetTopMargin(top_r); gPad->SetTicks(1,1); c1_2->SetFrameFillColor(0); c1_2->SetFrameBorderMode(0); c1_2->SetFrameBorderMode(0); //float ymax1 = 1.2*hsouth1->GetMaximum(); hdAusouth1->SetMinimum(ymin1); hdAusouth1->SetMaximum(ymax1); hdAusouth1->SetMarkerStyle(20); hdAusouth1->SetMarkerSize(1.3); hdAusouth1->SetMarkerColor(4); hdAusouth1->GetYaxis()->SetLabelSize(0.06); hdAusouth1->GetXaxis()->SetLabelSize(0.00); hdAusouth1->Draw("PE"); TF1 *fun1 = new TF1("fun1","[0]*(1+2*[1]*cos(x)+2*[2]*cos(2*x)+2*[3]*cos(3*x)+2*[4]*cos(4*x))", -0.5*PI, 1.5*PI); fun1->SetLineColor(1); hdAusouth1->Fit("fun1","R"); TF1 *fun11 = new TF1("fun11","[0]*(1+2*[1]*cos(x))", -0.5*PI, 1.5*PI); TF1 *fun12 = new TF1("fun12","[0]*(1+2*[1]*cos(2*x))", -0.5*PI, 1.5*PI); TF1 *fun13 = new TF1("fun13","[0]*(1+2*[1]*cos(3*x))", -0.5*PI, 1.5*PI); TF1 *fun14 = new TF1("fun14","[0]*(1+2*[1]*cos(4*x))", -0.5*PI, 1.5*PI); fun11->SetParameters(fun1->GetParameter(0), fun1->GetParameter(1)); fun12->SetParameters(fun1->GetParameter(0), fun1->GetParameter(2)); fun13->SetParameters(fun1->GetParameter(0), fun1->GetParameter(3)); fun14->SetParameters(fun1->GetParameter(0), fun1->GetParameter(4)); fun11->SetLineColor(3); fun12->SetLineColor(2); fun13->SetLineColor(6); fun14->SetLineColor(9); fun11->SetLineStyle(2); fun12->SetLineStyle(3); fun13->SetLineStyle(4); fun14->SetLineStyle(5); TLegend *leg1 = new TLegend(0.22,0.02,0.82,0.13); leg1->SetFillColor(10); leg1->SetLineStyle(4000); leg1->SetLineColor(10); leg1->SetLineWidth(0.); leg1->SetTextSize(0.08); leg1->SetBorderSize(0); leg1->AddEntry(fun0,"1+#Sigma2c_{n}cos(n#Delta#phi)","L"); leg1->Draw(); fun11->Draw("same"); fun12->Draw("same"); fun13->Draw("same"); fun14->Draw("same"); /* TLatex *t11=new TLatex(-0.5,0.06*(ymax1-ymin1)+ymin1, "1+#Sigma2*c_{n}*cos(n#Delta#phi)"); t11->SetTextSize(0.08); t11->Draw(); TLine *l3 = new TLine(-1.5, 0, 4.6, 0); l3->SetLineWidth(2); l3->SetLineStyle(2); l3->Draw(); */ TLegend *leg2 = new TLegend(0.18,0.52,0.42,0.82); leg2->SetFillColor(10); leg2->SetLineStyle(4000); leg2->SetLineColor(10); leg2->SetLineWidth(0.); leg2->SetTextSize(0.07); leg2->SetBorderSize(0); leg2->AddEntry(fun11,"1+2c_{1}cos(#Delta#phi)","L"); leg2->AddEntry(fun12,"1+2c_{2}cos(2#Delta#phi)","L"); leg2->AddEntry(fun13,"1+2c_{3}cos(3#Delta#phi)","L"); leg2->AddEntry(fun14,"1+2c_{4}cos(4#Delta#phi)","L"); leg2->Draw(); TLatex *t11=new TLatex(-1.0,0.88*(ymax1-ymin1)+ymin1, "b)"); t11->SetTextSize(0.08); t11->Draw(); TMarker *m0 = new TMarker(-0.3, 0.91*(ymax1-ymin1)+ymin1, 20); m0->SetMarkerSize(1.3); m0->SetMarkerColor(4); m0->Draw(); TLatex *t11=new TLatex(-0.0,0.88*(ymax1-ymin1)+ymin1, "He3+Au 5-10%"); t11->SetTextSize(0.08); t11->Draw(); TMarker *m4 = new TMarker(-0.3, 0.80*ymax0, 24); m4->SetMarkerSize(1.3); m4->SetMarkerColor(2); //m4->Draw(); TLatex *t11=new TLatex(-0.0,0.77*ymax0, "PP"); t11->SetTextSize(0.08); //t11->Draw(); TMarker *m25 = new TMarker(0.8, 0.80*ymax0, 20); m25->SetMarkerSize(1.3); m25->SetMarkerColor(2); //m25->Draw(); TLatex *t25=new TLatex(1.1,0.77*ymax0, "Diff"); t25->SetTextSize(0.08); //t25->Draw(); TLatex *t42=new TLatex(-1.2,0.67*ymax0, "p_{T,trig}: 1.0-1.5 GeV/c"); t42->SetTextSize(0.08); //t42->Draw(); c1->cd(); TPad *c1_3 = new TPad("c1_3", "c1_3",xleft,ygap2,xmiddle,ygap1); c1_3->SetFillColor(10); c1_3->Draw(); c1_3->cd(); c1_3->Range(-0.658827,-4.65723,3.04092,1.94982); c1_3->SetFillColor(10); c1_3->SetBorderMode(0); c1_3->SetBorderSize(2); //c1_3->SetLogy(); gPad->SetLeftMargin(0.130); gPad->SetRightMargin(0.02); gPad->SetBottomMargin(0.02); gPad->SetTopMargin(0.02); gPad->SetTicks(1,1); c1_3->SetFrameFillColor(0); c1_3->SetFrameBorderMode(0); c1_3->SetFrameBorderMode(0); hdAusouth2->SetMinimum(ymin2); hdAusouth2->SetMaximum(ymax2); hdAusouth2->SetMarkerStyle(20); hdAusouth2->SetMarkerSize(1.3); hdAusouth2->SetMarkerColor(4); hdAusouth2->GetYaxis()->SetLabelSize(0.06); hdAusouth2->GetXaxis()->SetLabelSize(0.00); hdAusouth2->Draw("PE"); TF1 *fun2 = new TF1("fun2","[0]*(1+2*[1]*cos(x)+2*[2]*cos(2*x)+2*[3]*cos(3*x)+2*[4]*cos(4*x))", -0.5*PI, 1.5*PI); fun2->SetLineColor(1); hdAusouth2->Fit("fun2","R"); TF1 *fun21 = new TF1("fun21","[0]*(1+2*[1]*cos(x))", -0.5*PI, 1.5*PI); TF1 *fun22 = new TF1("fun22","[0]*(1+2*[1]*cos(2*x))", -0.5*PI, 1.5*PI); TF1 *fun23 = new TF1("fun23","[0]*(1+2*[1]*cos(3*x))", -0.5*PI, 1.5*PI); TF1 *fun24 = new TF1("fun24","[0]*(1+2*[1]*cos(4*x))", -0.5*PI, 1.5*PI); fun21->SetParameters(fun2->GetParameter(0), fun2->GetParameter(1)); fun22->SetParameters(fun2->GetParameter(0), fun2->GetParameter(2)); fun23->SetParameters(fun2->GetParameter(0), fun2->GetParameter(3)); fun24->SetParameters(fun2->GetParameter(0), fun2->GetParameter(4)); fun21->SetLineColor(3); fun22->SetLineColor(2); fun23->SetLineColor(6); fun24->SetLineColor(9); fun21->SetLineStyle(2); fun22->SetLineStyle(3); fun23->SetLineStyle(4); fun24->SetLineStyle(5); fun21->Draw("same"); fun22->Draw("same"); fun23->Draw("same"); fun24->Draw("same"); TLine *l3 = new TLine(-1.5, 0, 4.6, 0); l3->SetLineWidth(2); l3->SetLineStyle(2); l3->Draw(); TLatex *t11=new TLatex(-1.0,0.88*(ymax2-ymin2)+ymin2, "c)"); t11->SetTextSize(0.08); t11->Draw(); TMarker *m0 = new TMarker(-0.3, 0.91*(ymax2-ymin2)+ymin2, 20); m0->SetMarkerSize(1.3); m0->SetMarkerColor(4); m0->Draw(); TLatex *t11=new TLatex(-0.0,0.88*(ymax2-ymin2)+ymin2, "He3+Au 10-20%"); t11->SetTextSize(0.08); t11->Draw(); TMarker *m4 = new TMarker(-0.3, 0.80*ymax1, 24); m4->SetMarkerSize(1.3); m4->SetMarkerColor(2); //m4->Draw(); TLatex *t11=new TLatex(-0.0,0.77*ymax1, "PP"); t11->SetTextSize(0.08); //t11->Draw(); TMarker *m35 = new TMarker(0.8, 0.80*ymax1, 20); m35->SetMarkerSize(1.3); m35->SetMarkerColor(2); //m35->Draw(); TLatex *t35=new TLatex(1.1,0.77*ymax1, "Diff"); t35->SetTextSize(0.08); //t35->Draw(); TLatex *t42=new TLatex(-1.2,0.67*ymax1, "p_{T,trig}: 1.5-2.0 GeV/c"); t42->SetTextSize(0.08); //t42->Draw(); c1->cd(); TPad *c1_4 = new TPad("c1_4", "c1_4",xmiddle,ygap2,xright,ygap1); c1_4->SetFillColor(10); c1_4->Draw(); c1_4->cd(); c1_4->Range(-0.658827,-4.65723,3.04092,1.94982); c1_4->SetFillColor(10); c1_4->SetBorderMode(0); c1_4->SetBorderSize(2); //c1_4->SetLogy(); gPad->SetLeftMargin(0.12); gPad->SetRightMargin(0.02); gPad->SetBottomMargin(0.02); gPad->SetTopMargin(0.02); gPad->SetTicks(1,1); c1_4->SetFrameFillColor(0); c1_4->SetFrameBorderMode(0); c1_4->SetFrameBorderMode(0); hdAusouth3->SetMinimum(ymin3); hdAusouth3->SetMaximum(ymax3); hdAusouth3->SetMarkerStyle(20); hdAusouth3->SetMarkerSize(1.3); hdAusouth3->SetMarkerColor(4); hdAusouth3->GetYaxis()->SetLabelSize(0.06); hdAusouth3->GetXaxis()->SetLabelSize(0.00); hdAusouth3->Draw("PE"); TF1 *fun3 = new TF1("fun3","[0]*(1+2*[1]*cos(x)+2*[2]*cos(2*x)+2*[3]*cos(3*x)+2*[4]*cos(4*x))", -0.5*PI, 1.5*PI); fun3->SetLineColor(1); hdAusouth3->Fit("fun3","R"); TF1 *fun31 = new TF1("fun31","[0]*(1+2*[1]*cos(x))", -0.5*PI, 1.5*PI); TF1 *fun32 = new TF1("fun32","[0]*(1+2*[1]*cos(2*x))", -0.5*PI, 1.5*PI); TF1 *fun33 = new TF1("fun33","[0]*(1+2*[1]*cos(3*x))", -0.5*PI, 1.5*PI); TF1 *fun34 = new TF1("fun34","[0]*(1+2*[1]*cos(4*x))", -0.5*PI, 1.5*PI); fun31->SetParameters(fun3->GetParameter(0), fun3->GetParameter(1)); fun32->SetParameters(fun3->GetParameter(0), fun3->GetParameter(2)); fun33->SetParameters(fun3->GetParameter(0), fun3->GetParameter(3)); fun34->SetParameters(fun3->GetParameter(0), fun3->GetParameter(4)); fun31->SetLineColor(3); fun32->SetLineColor(2); fun33->SetLineColor(6); fun34->SetLineColor(9); fun31->SetLineStyle(2); fun32->SetLineStyle(3); fun33->SetLineStyle(4); fun34->SetLineStyle(5); fun31->Draw("same"); fun32->Draw("same"); fun33->Draw("same"); fun34->Draw("same"); TLatex *t11=new TLatex(-1.0,0.88*(ymax3-ymin3)+ymin3, "d)"); t11->SetTextSize(0.08); t11->Draw(); TMarker *m0 = new TMarker(-0.3, 0.91*(ymax3-ymin3)+ymin3, 20); m0->SetMarkerSize(1.3); m0->SetMarkerColor(4); m0->Draw(); TLatex *t11=new TLatex(-0.0,0.88*(ymax3-ymin3)+ymin3, "He3+Au 20-40%"); t11->SetTextSize(0.08); t11->Draw(); TMarker *m4 = new TMarker(-0.3, 0.80*ymax1, 24); m4->SetMarkerSize(1.3); m4->SetMarkerColor(2); //m4->Draw(); TLatex *t11=new TLatex(-0.0,0.77*ymax1, "PP"); t11->SetTextSize(0.08); //t11->Draw(); TMarker *m45 = new TMarker(0.8, 0.80*ymax1, 20); m45->SetMarkerSize(1.3); m45->SetMarkerColor(2); //m45->Draw(); TLatex *t45=new TLatex(1.1,0.77*ymax1, "Diff"); t45->SetTextSize(0.08); //t45->Draw(); TLatex *t42=new TLatex(-1.2,0.67*ymax1, "p_{T,trig}: 2.0-2.5 GeV/c"); t42->SetTextSize(0.08); //t42->Draw(); /* TLatex *t43=new TLatex(-1.2,0.67*ymax1, "Au-going(BBC)~CNT"); t43->SetTextSize(0.08); t43->Draw(); */ c1->cd(); TPad *c1_5 = new TPad("c1_5", "c1_5",xleft,ybot,xmiddle,ygap2); c1_5->SetFillColor(10); c1_5->Draw(); c1_5->cd(); //c1_5->Range(-0.658827,-4.65723,3.04092,1.94982); c1_5->SetFillColor(10); c1_5->SetBorderMode(0); c1_5->SetBorderSize(2); //c1_5->SetLogy(); gPad->SetLeftMargin(0.130); gPad->SetRightMargin(0.02); gPad->SetBottomMargin(bot_r); gPad->SetTopMargin(0.02); gPad->SetTicks(1,1); c1_5->SetFrameFillColor(0); c1_5->SetFrameBorderMode(0); c1_5->SetFrameBorderMode(0); hdAusouth4->SetMinimum(ymin4); hdAusouth4->SetMaximum(ymax4); hdAusouth4->SetMarkerStyle(20); hdAusouth4->SetMarkerSize(1.3); hdAusouth4->SetMarkerColor(4); hdAusouth4->GetYaxis()->SetLabelSize(0.06); hdAusouth4->GetXaxis()->SetLabelSize(0.06); hdAusouth4->Draw("PE"); TF1 *fun4 = new TF1("fun4","[0]*(1+2*[1]*cos(x)+2*[2]*cos(2*x)+2*[3]*cos(3*x)+2*[4]*cos(4*x))", -0.5*PI, 1.5*PI); fun4->SetLineColor(1); hdAusouth4->Fit("fun4","R"); TF1 *fun41 = new TF1("fun41","[0]*(1+2*[1]*cos(x))", -0.5*PI, 1.5*PI); TF1 *fun42 = new TF1("fun42","[0]*(1+2*[1]*cos(2*x))", -0.5*PI, 1.5*PI); TF1 *fun43 = new TF1("fun43","[0]*(1+2*[1]*cos(3*x))", -0.5*PI, 1.5*PI); TF1 *fun44 = new TF1("fun44","[0]*(1+2*[1]*cos(4*x))", -0.5*PI, 1.5*PI); fun41->SetParameters(fun4->GetParameter(0), fun4->GetParameter(1)); fun42->SetParameters(fun4->GetParameter(0), fun4->GetParameter(2)); fun43->SetParameters(fun4->GetParameter(0), fun4->GetParameter(3)); fun44->SetParameters(fun4->GetParameter(0), fun4->GetParameter(4)); fun41->SetLineColor(3); fun42->SetLineColor(2); fun43->SetLineColor(6); fun44->SetLineColor(9); fun41->SetLineStyle(2); fun42->SetLineStyle(3); fun43->SetLineStyle(4); fun44->SetLineStyle(5); fun41->Draw("same"); fun42->Draw("same"); fun43->Draw("same"); fun44->Draw("same"); TLatex *t51=new TLatex(-1.0,0.88*(ymax4-ymin4)+ymin4, "e)"); t51->SetTextSize(0.08); t51->Draw(); TMarker *m51 = new TMarker(-0.3, 0.91*(ymax4-ymin4)+ymin4, 20); m51->SetMarkerSize(1.3); m51->SetMarkerColor(4); m51->Draw(); TLatex *t52=new TLatex(-0.0,0.88*(ymax4-ymin4)+ymin4, "He3+Au 40-60%"); t52->SetTextSize(0.08); t52->Draw(); TMarker *m52 = new TMarker(-0.3, 0.80*ymax2, 24); m52->SetMarkerSize(1.3); m52->SetMarkerColor(2); //m52->Draw(); TLatex *t53=new TLatex(-0.0,0.77*ymax2, "PP"); t53->SetTextSize(0.08); //t53->Draw(); TMarker *m55 = new TMarker(0.8, 0.80*ymax2, 20); m55->SetMarkerSize(1.3); m55->SetMarkerColor(2); //m55->Draw(); TLatex *t55=new TLatex(1.1,0.77*ymax2, "Diff"); t55->SetTextSize(0.08); //t55->Draw(); TLatex *t54=new TLatex(-1.2,0.67*ymax2, "p_{T,trig}: 2.5-3.0 GeV/c"); t54->SetTextSize(0.08); //t54->Draw(); c1->cd(); TPad *c1_6 = new TPad("c1_6", "c1_6",xmiddle,ybot,xright,ygap2); c1_6->SetFillColor(10); c1_6->Draw(); c1_6->cd(); //c1_6->Range(-0.658827,-4.65723,3.04092,1.94982); c1_6->SetFillColor(10); c1_6->SetBorderMode(0); c1_6->SetBorderSize(2); //c1_6->SetLogy(); gPad->SetLeftMargin(0.12); gPad->SetRightMargin(0.02); gPad->SetBottomMargin(bot_r); gPad->SetTopMargin(0.02); gPad->SetTicks(1,1); c1_6->SetFrameFillColor(0); c1_6->SetFrameBorderMode(0); c1_6->SetFrameBorderMode(0); //hdAusouth5->Scale(1.24); hdAusouth5->SetMinimum(ymin5); hdAusouth5->SetMaximum(ymax5); hdAusouth5->SetMarkerStyle(20); hdAusouth5->SetMarkerSize(1.3); hdAusouth5->SetMarkerColor(4); hdAusouth5->GetYaxis()->SetLabelSize(0.06); hdAusouth5->GetXaxis()->SetLabelSize(0.06); hdAusouth5->Draw("PE"); TF1 *fun5 = new TF1("fun5","[0]*(1+2*[1]*cos(x)+2*[2]*cos(2*x)+2*[3]*cos(3*x)+2*[4]*cos(4*x))", -0.5*PI, 1.5*PI); fun5->SetLineColor(1); hdAusouth5->Fit("fun5","R"); TF1 *fun51 = new TF1("fun51","[0]*(1+2*[1]*cos(x))", -0.5*PI, 1.5*PI); TF1 *fun52 = new TF1("fun52","[0]*(1+2*[1]*cos(2*x))", -0.5*PI, 1.5*PI); TF1 *fun53 = new TF1("fun53","[0]*(1+2*[1]*cos(3*x))", -0.5*PI, 1.5*PI); TF1 *fun54 = new TF1("fun54","[0]*(1+2*[1]*cos(4*x))", -0.5*PI, 1.5*PI); fun51->SetParameters(fun5->GetParameter(0), fun5->GetParameter(1)); fun52->SetParameters(fun5->GetParameter(0), fun5->GetParameter(2)); fun53->SetParameters(fun5->GetParameter(0), fun5->GetParameter(3)); fun54->SetParameters(fun5->GetParameter(0), fun5->GetParameter(4)); fun51->SetLineColor(3); fun52->SetLineColor(2); fun53->SetLineColor(6); fun54->SetLineColor(9); fun51->SetLineStyle(2); fun52->SetLineStyle(3); fun53->SetLineStyle(4); fun54->SetLineStyle(5); fun51->Draw("same"); fun52->Draw("same"); fun53->Draw("same"); fun54->Draw("same"); TLatex *t61=new TLatex(-1.0,0.88*(ymax5-ymin5)+ymin5, "f)"); t61->SetTextSize(0.08); t61->Draw(); TMarker *m61 = new TMarker(-0.3, 0.91*(ymax5-ymin5)+ymin5, 20); m61->SetMarkerSize(1.3); m61->SetMarkerColor(4); m61->Draw(); TLatex *t62=new TLatex(-0.0,0.88*(ymax5-ymin5)+ymin5, "He3+Au 60-88%"); t62->SetTextSize(0.08); t62->Draw(); TMarker *m62 = new TMarker(-0.3, 0.80*ymax2, 24); m62->SetMarkerSize(1.3); m62->SetMarkerColor(2); //m62->Draw(); TLatex *t63=new TLatex(-0.0,0.77*ymax2, "PP"); t63->SetTextSize(0.08); //t63->Draw(); TMarker *m65 = new TMarker(0.8, 0.80*ymax2, 20); m65->SetMarkerSize(1.3); m65->SetMarkerColor(2); //m65->Draw(); TLatex *t65=new TLatex(1.1,0.77*ymax2, "Diff"); t65->SetTextSize(0.08); //t65->Draw(); TLatex *t64=new TLatex(-1.2,0.67*ymax2, "p_{T,trig}: 3.0-3.5 GeV/c"); t64->SetTextSize(0.08); //t64->Draw(); c1->cd(); TLatex *tx1=new TLatex(0.30,0.05, "#Delta#phi"); tx1->SetTextSize(0.04); tx1->Draw(); TLatex *tx2=new TLatex(0.75,0.05, "#Delta#phi"); tx2->SetTextSize(0.04); tx2->Draw(); TLatex *ty1 = new TLatex(0.05,0.78, "C(#Delta#phi)"); ty1->SetTextSize(0.04); ty1->SetTextAngle(90); ty1->Draw(); TLatex *ty2 = new TLatex(0.05,0.50, "C(#Delta#phi)"); ty2->SetTextSize(0.04); ty2->SetTextAngle(90); ty2->Draw(); TLatex *ty3 = new TLatex(0.05,0.20, "C(#Delta#phi)"); ty3->SetTextSize(0.04); ty3->SetTextAngle(90); ty3->Draw(); ofstream fout("c1_c2_cent_south.dat"); fout<<fun0->GetParameter(1)<<" "<<fun0->GetParError(1)<<" " <<fun0->GetParameter(2)<<" "<<fun0->GetParError(2)<<" " <<fun0->GetParameter(3)<<" "<<fun0->GetParError(3)<<endl; fout<<fun1->GetParameter(1)<<" "<<fun1->GetParError(1)<<" " <<fun1->GetParameter(2)<<" "<<fun1->GetParError(2)<<" " <<fun1->GetParameter(3)<<" "<<fun1->GetParError(3)<<endl; fout<<fun2->GetParameter(1)<<" "<<fun2->GetParError(1)<<" " <<fun2->GetParameter(2)<<" "<<fun2->GetParError(2)<<" " <<fun2->GetParameter(3)<<" "<<fun2->GetParError(3)<<endl; fout<<fun3->GetParameter(1)<<" "<<fun3->GetParError(1)<<" " <<fun3->GetParameter(2)<<" "<<fun3->GetParError(2)<<" " <<fun3->GetParameter(3)<<" "<<fun3->GetParError(3)<<endl; fout<<fun4->GetParameter(1)<<" "<<fun4->GetParError(1)<<" " <<fun4->GetParameter(2)<<" "<<fun4->GetParError(2)<<" " <<fun4->GetParameter(3)<<" "<<fun4->GetParError(3)<<endl; fout<<fun5->GetParameter(1)<<" "<<fun5->GetParError(1)<<" " <<fun5->GetParameter(2)<<" "<<fun5->GetParError(2)<<" " <<fun5->GetParameter(3)<<" "<<fun5->GetParError(3)<<endl; fout.close(); /* cout<<"*************** v2 ***********"<<endl; float v2_0 = funvn0->GetParameter(1)/(zym_dAusouth0 + funvn0->GetParameter(0)); float v2_1 = funvn1->GetParameter(1)/(zym_dAusouth1 + funvn1->GetParameter(0)); float v2_2 = funvn2->GetParameter(1)/(zym_dAusouth2 + funvn2->GetParameter(0)); float v2_3 = funvn3->GetParameter(1)/(zym_dAusouth3 + funvn3->GetParameter(0)); cout<<v2_0<<" "<<v2_1<<" "<<v2_2<<" "<<v2_3<<endl; */ /* cout<<funvn0->GetParameter(0)*funvn0->GetParameter(1)<<" " <<funvn1->GetParameter(0)*funvn1->GetParameter(1)<<" " <<funvn2->GetParameter(0)*funvn2->GetParameter(1)<<" " <<funvn3->GetParameter(0)*funvn3->GetParameter(1)<<endl; */ //cout<<"*************** v2 ***********"<<endl; //cout<<funvn0->GetParameter(2)<<" "<<funvn1->GetParameter(2)<<" "<<funvn2->GetParameter(2)<<" "<<funvn3->GetParameter(2)<<endl; //cout<<"*************** v3 ***********"<<endl; //cout<<funvn0->GetParameter(3)<<" "<<funvn1->GetParameter(3)<<" "<<funvn2->GetParameter(3)<<" "<<funvn3->GetParameter(3)<<endl; }
void fix_file (const std::wstring& in, const std::wstring& out) { std::wcout << L"in:" << in << L"\nout:" << out << L'\n'; rsc::istream fsin(in); rsc::ostream fsout(out); int count = 0; bool quote = false; char16_t before = L'\0'; char16_t current, after; fsin.get(current); while (!fsin.eof()) { fsin.get(after); if (is_double_quote(current)) quote = !quote; if (!quote) { // not in quote, do nothing } else if (is_floating_vowel(current)) { if (is_long_tail(before)) { count++; current = move_floating_left(current); } } else if (is_floating_vowel(current)) { if (is_long_tail(before)) { count++; current = move_floating_left(current); } } else if (is_tone_marker(current)) { if (is_floating_vowel(before)) { if (is_long_tail(before)) { count++; current = move_tone_marker_left_height(current); } } else if (is_long_tail(before)) { if (is_backward_floating_vowel(after)) { count++; current = move_tone_marker_left_height(current); } else { count++; current = move_tone_marker_left_low(current); } } else if (!is_backward_floating_vowel(after)) { count++; current = move_tone_marker_low(current); } } else if (is_lower_foot(current)) { if (is_lower_vowel(after)) { count++; current = strip_lower_foot(current); } } else if (is_lower_vowel(current)) { if (is_lower_tail(before)) { count++; current = move_lower_vowel_left(current); } } fsout.put(current); if (!quote) { } else if (is_digit(current)) { if (is_argument(before) && is_argument(after)) { count++; fsout.put(argument_prefix()); } } before = current; current = after; } // while if (count > 0) std::wcout << L'\n'; std::wcout << L"fixed:" << count << std::endl; }