void ATLASLumi(Double_t x,Double_t y, float datlum, int energy=7) { // add the Atlas Lumi and centre of mass //float datlum=8.2; // if (!fIsPseudoData) { // TString tit="#sqrt{s} = 7 TeV, #int L dt="; TString tit; if(energy == 7) tit +="#sqrt{s} = 7 TeV"; if(energy == 8) tit +="#sqrt{s} = 8 TeV"; if(energy == 13) tit +="#sqrt{s} = 13 TeV"; tit +=Form(", %.1f",datlum); tit +=" fb^{-1}"; // float fTextScaleFactor=0.8; TLatex l; //l.SetTextAlign(12); l.SetNDC(); //l.SetTextFont(42);// standard l.SetTextFont(72); // italics float siz=l.GetTextSize(); l.SetTextSize(siz*fTextScaleFactor); //l.SetTextSize(siz*0.7); // set the size here l.SetTextColor(1); l.DrawLatex(x,y,tit); }
void ATLASLabel(Double_t x,Double_t y, bool Preliminary) { float fTextScaleFactor=0.8; TLatex l; //l.SetTextAlign(12); l.SetTextSize(tsize); float siz=l.GetTextSize(); l.SetTextSize(siz*fTextScaleFactor); // set the size here l.SetNDC(); l.SetTextFont(72); l.SetTextColor(1); double delx = 0.115*696*gPad->GetWh()/(472*gPad->GetWw()); l.DrawLatex(x,y,"ATLAS"); if (Preliminary) { TLatex p; siz=p.GetTextSize(); p.SetTextSize(siz*fTextScaleFactor); // set the size here p.SetNDC(); p.SetTextFont(42); p.SetTextColor(1); // p.DrawLatex(x+delx-.03,y,"Preliminary"); p.DrawLatex(x+delx,y,"Internal"); } }
void poiss() { TF1* func = new TF1("func","TMath::Poisson(x,0.06)",0,10); TH1D* h = new TH1D("h",";# of collisions",11,-0.5,10.5); for(int i=1;i<=11;i++) h->SetBinContent(i,func->Eval(h->GetBinCenter(i))); TCanvas* c = new TCanvas("c","c",550,500); c->SetLogy(); h->GetXaxis()->CenterTitle(); h->Draw("hist"); TLatex* latex = new TLatex(); latex->SetNDC(); latex->SetTextSize(latex->GetTextSize()*0.75); latex->DrawLatex(0.43,0.87,"Poisson distribution, <#mu>=6%"); SaveCanvas(c,"pPb/corr","Poisson_mu6"); }
void ATLASChannel(Double_t x,Double_t y, TString label) { // add the Atlas Lumi and centre of mass // if (!fIsPseudoData) { // TString tit="#sqrt{s} = 7 TeV, #int L dt="; float fTextScaleFactor=0.8; // TLatex l; //l.SetTextAlign(12); l.SetTextSize(tsize); l.SetNDC(); //l.SetTextFont(42);// standard l.SetTextFont(72); // italics float siz=l.GetTextSize(); l.SetTextSize(siz*fTextScaleFactor); //l.SetTextSize(siz*0.7); // set the size here l.SetTextColor(1); l.DrawLatex(x,y,label); }
void DrawRandCone(string tag, int centmin, int centmax) { TFile* f = new TFile(Form("merged/randcone_%s_centmin%d_centmax%d.root",tag.data(),centmin,centmax)); TH1D* one = (TH1D*) f->Get("one"); cout<<one->GetBinContent(1)<<endl; double norm = one->GetBinContent(1); TH1D * hmeanpfPtSumEta = (TH1D*) f->Get("hmeanpfPtSumEta"); TH1D * hmeanpfVsPtSumEta = (TH1D*) f->Get("hmeanpfVsPtSumEta"); TH1D * hmeanpfVsPtInitialSumEta = (TH1D*) f->Get("hmeanpfVsPtInitialSumEta"); hmeanpfPtSumEta->GetXaxis()->CenterTitle(); hmeanpfPtSumEta->GetYaxis()->CenterTitle(); hmeanpfVsPtSumEta->GetXaxis()->CenterTitle(); hmeanpfVsPtSumEta->GetYaxis()->CenterTitle(); hmeanpfVsPtInitialSumEta->GetXaxis()->CenterTitle(); hmeanpfVsPtInitialSumEta->GetYaxis()->CenterTitle(); hmeanpfPtSumEta->Scale(1.0/norm); hmeanpfVsPtSumEta->Scale(1.0/norm); hmeanpfVsPtInitialSumEta->Scale(1.0/norm); TCanvas * c1 = new TCanvas("c1"); hmeanpfPtSumEta->Draw(); // hmeanpfVsPtSumEta->Draw(); // hmeanpfVsPtInitialSumEta->Draw(); TLatex * lmult = new TLatex(0.53, 0.95, Form("CMS PbPb %2.0f-%2.0f%%", centmin*0.5, centmax*0.5)); lmult->SetNDC(1); lmult->SetTextSize(lmult->GetTextSize()*1.5); lmult->Draw(); c1->SaveAs(Form("hmeanpfPtSumEta-%d_%d.png",centmin,centmax)); // c1->SaveAs(Form("hmeanpfVsPtSumEta-%d_%d.png",centmin,centmax)); // c1->SaveAs(Form("hmeanpfVsPtInitialSumEta-%d_%d.png",centmin,centmax)); }
void draw1step(int phoetmin, int phoetmax, int jetptmin = 30, int trkptcut = 4) { TFile *_file0 = TFile::Open(Form("closure_pbpb_%d_%d_%d.root",phoetmin,phoetmax,jetptmin)); const static int ncentbins = 4; const int yaxismax = 20000; float binwidth = 5.000000e-01; int centmins[] = {0,20,60,100,140}; int centmaxs[] = {20,60,100,200,200}; string cents[] = {"0-10%","10-30%","30-50%","50-100%","70-100%"}; TH1D * rawff_pbpbmc_recoreco[ncentbins]; TH1D * rawffue_pbpbmc_recoreco[ncentbins]; TH1D * rawffjetmix_pbpbmc_recoreco[ncentbins]; TH1D * rawffjetmixue_pbpbmc_recoreco[ncentbins]; TH2D * dummy_pbpbsub[ncentbins]; TLegend * leg_ff_pbpbsub[ncentbins]; TCanvas * call = new TCanvas("call","",1600,500); makeMultiPanelCanvas(call,ncentbins+1,1,0.02,0.0,-6,0.2,0.04); for (int icent = 0; icent < ncentbins; icent++) { call->cd(2+icent); dummy_pbpbsub[icent] = new TH2D(Form("dummy_pbpbsub_%d_%d",centmins[icent],centmaxs[icent]),";#xi;dN/d#xi",1,0.01,4.99,1,0,yaxismax); dummy_pbpbsub[icent]->GetXaxis()->SetTitleOffset(0.8); dummy_pbpbsub[icent]->GetXaxis()->CenterTitle(); dummy_pbpbsub[icent]->GetYaxis()->CenterTitle(); dummy_pbpbsub[icent]->GetXaxis()->SetTitleSize(dummy_pbpbsub[icent]->GetXaxis()->GetTitleSize()*1.4); dummy_pbpbsub[icent]->Draw(); rawff_pbpbmc_recoreco[icent] = (TH1D*)_file0->Get(Form("hgammaffxi_pbpbmc_recoreco_%d_%d",centmins[icent],centmaxs[icent])); rawffue_pbpbmc_recoreco[icent] = (TH1D*)_file0->Get(Form("hgammaffxiuemix_pbpbmc_recoreco_%d_%d",centmins[icent],centmaxs[icent])); rawffjetmix_pbpbmc_recoreco[icent] = (TH1D*)_file0->Get(Form("hgammaffxijetmix_pbpbmc_recoreco_%d_%d",centmins[icent],centmaxs[icent])); rawffjetmixue_pbpbmc_recoreco[icent] = (TH1D*)_file0->Get(Form("hgammaffxijetmixue_pbpbmc_recoreco_%d_%d",centmins[icent],centmaxs[icent])); rawffjetmix_pbpbmc_recoreco[icent]->SetMarkerColor(kBlue); rawffue_pbpbmc_recoreco[icent]->SetMarkerStyle(24); rawffjetmixue_pbpbmc_recoreco[icent]->SetMarkerColor(kBlue); rawffjetmixue_pbpbmc_recoreco[icent]->SetMarkerStyle(24); rawff_pbpbmc_recoreco[icent]->Draw("same"); rawffjetmix_pbpbmc_recoreco[icent]->Draw("same"); rawffue_pbpbmc_recoreco[icent]->Draw("same"); rawffjetmixue_pbpbmc_recoreco[icent]->Draw("same"); if(icent==0) { leg_ff_pbpbsub[icent] = new TLegend(0.03,0.52,0.3,0.92); } else { leg_ff_pbpbsub[icent] = new TLegend(0,0.697,0.27,0.92); } leg_ff_pbpbsub[icent]->SetTextSize(0.05*1.3); leg_ff_pbpbsub[icent]->SetFillColor(0); leg_ff_pbpbsub[icent]->SetFillStyle(0); leg_ff_pbpbsub[icent]->SetTextFont(42); if(icent==0) { leg_ff_pbpbsub[icent]->AddEntry(rawff_pbpbmc_recoreco[icent],"Raw FF","p"); leg_ff_pbpbsub[icent]->AddEntry(rawffjetmix_pbpbmc_recoreco[icent],"Jet Mix FF","p"); leg_ff_pbpbsub[icent]->AddEntry(rawffue_pbpbmc_recoreco[icent],"Raw UE FF","p"); leg_ff_pbpbsub[icent]->AddEntry(rawffjetmixue_pbpbmc_recoreco[icent],"Jet Mix UE FF","p"); } else if(icent==1) { leg_ff_pbpbsub[icent]->AddEntry(rawff_pbpbmc_recoreco[icent],Form("trk p_{T}>%d GeV, R < 0.3",trkptcut),""); leg_ff_pbpbsub[icent]->AddEntry(rawff_pbpbmc_recoreco[icent],Form("%d>#gamma p_{T}>%d GeV",phoetmin,phoetmax),""); } else if(icent==2) { leg_ff_pbpbsub[icent]->AddEntry(rawff_pbpbmc_recoreco[icent],"0.3 < |#eta^{jet}| < 1.6",""); leg_ff_pbpbsub[icent]->AddEntry(rawff_pbpbmc_recoreco[icent],Form("p_{T}^{jet} > %d GeV",jetptmin),""); } else if(icent==3) { leg_ff_pbpbsub[icent]->AddEntry(rawff_pbpbmc_recoreco[icent],"Pythia+Hydjet",""); leg_ff_pbpbsub[icent]->AddEntry(rawff_pbpbmc_recoreco[icent],"#sigma_{i#eta#eta}<0.10",""); } leg_ff_pbpbsub[icent]->AddEntry(rawff_pbpbmc_recoreco[icent],Form("%s",cents[icent].data()),""); leg_ff_pbpbsub[icent]->Draw(); } call->cd(1); TH2D * axis_dummy = new TH2D("axis_dummy","",1,0.01,4.99,1,0,yaxismax); gStyle->SetFrameLineColor(0); axis_dummy->UseCurrentStyle(); axis_dummy->Draw("FB BB A"); TLatex * ldndxi = new TLatex(0.4,0.5,"dN/d#xi Raw"); ldndxi->SetTextSize(ldndxi->GetTextSize()*1.2); ldndxi->SetNDC(); ldndxi->SetTextAngle(90); int labelspace = yaxismax / 4; const int nlabels = yaxismax/labelspace; TLatex * laxis[nlabels]; for (int ilatex = 0; ilatex < nlabels; ilatex++) { laxis[ilatex] = new TLatex(2.,ilatex*labelspace-0.1,Form("%d",ilatex*labelspace)); laxis[ilatex]->SetTextSize(laxis[ilatex]->GetTextSize()*1.2); laxis[ilatex]->Draw(); } ldndxi->Draw(); call->SaveAs(Form("rawff_%d_%d_jetmixff_jetpt%d_pbpbmc_recoreco.png",phoetmin,phoetmax,jetptmin)); }
void vn_spectra_trackHF() { TString filename = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HIData_Minbias_2760GeV/merged/HIData_Minbias_2760GeV_UCC2011_INCLv1HF_nmin-1_nmax-1_etatrg-5.0--3.0_etaass3.0-5.0_centmin110_centmax1000.root"); TFile* fdiff = new TFile(filename.Data()); TH1D* hpt_ref; TH2D* hsignal_ref; TH2D* hbackground_ref; TH1D* hsignal_ref_1D; TH1D* hbackground_ref_1D; TH1D* hcorr_ref_1D; TH1D* hpt[20]; TH2D* hsignal[20]; TH2D* hbackground[20]; TH1D* hsignal_1D[20]; TH1D* hbackground_1D[20]; TH1D* hcorr_1D[20]; TGraphErrors* gr[20]; TGraphErrors* gr_corr[20]; for(int i=0;i<20;i++) { if(i>=5) { gr[i] = new TGraphErrors(11); gr_corr[i] = new TGraphErrors(11); } else { gr[i] = new TGraphErrors(13); gr_corr[i] = new TGraphErrors(13); } gr[i]->SetName(Form("vnpt_%d",i)); gr_corr[i]->SetName(Form("vnpt_corr_%d",i)); } double factor[20]={1.,1.3,1.0,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8}; double factor_err[20]={0.,0.1,0.4,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6}; double VnArray[20][20],Vn0[20],vn0[20],vn0err[20],vn01[20],vn01err[20],vn0_corr[20],vn0_corr_up[20],vn0_corr_down[20],vn0_corr_sys[28],vn0err_corr[20],vn0_ratio[20],vn0err_ratio[20]; hsignal_ref = (TH2D*)fdiff->Get("signalcosn_trg0_ass0"); hbackground_ref = (TH2D*)fdiff->Get("backgroundcosn_trg0_ass0"); hsignal_ref_1D = (TH1D*)hsignal_ref->ProfileY("signal_1D_trg0_ass0_ref",1,-1,"e"); hbackground_ref_1D = (TH1D*)hbackground_ref->ProfileY("background_1D_trg0_ass0_ref",1,-1,"e"); hcorr_ref_1D = new TH1D("Vn_1D_trg0_ass0_ref",";n;V_{n#Delta}",15,0.5,15.5); for(int n=1;n<=hcorr_ref_1D->GetNbinsX();n++) { double Vn=hsignal_ref_1D->GetBinContent(n)-hbackground_ref_1D->GetBinContent(n); double VnError=sqrt(hsignal_ref_1D->GetBinError(n)*hsignal_ref_1D->GetBinError(n)+hbackground_ref_1D->GetBinError(n)*hbackground_ref_1D->GetBinError(n)); hcorr_ref_1D->SetBinContent(n,Vn); hcorr_ref_1D->SetBinError(n,VnError); Vn0[n] = Vn; vn0[n] = sqrt(fabs(Vn)); vn0err[n] = fabs(VnError/Vn)*vn0[n]; } TFile* fpt = new TFile(Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HIData_Minbias_2760GeV/merged/HIData_Minbias_2760GeV_UCC2011_INCLv1TrackHF_nmin-1_nmax-1_etatrg-2.4-0.0_etaass3.0-5.0_centmin110_centmax1000.root")); TH1D* hptcorr = (TH1D*)fpt->Get("ptcorrall_trg"); double merit[20]={0}; double merit_err[20]={0}; double total[20]={0}; double merit_corr[20]={0}; double merit_corr_up[20]={0}; double merit_corr_down[20]={0}; double merit_corr_err[20]={0}; double total_corr[20]={0}; for(int i=13;i>=0;i--) { hpt[i] = (TH1D*)fdiff1->Get(Form("ptcorr_trg_%d",i+1)); if(i>2) { hsignal[i] = (TH2D*)fdiff->Get(Form("signalcosn_trg%d_ass0",i+1)); hbackground[i] = (TH2D*)fdiff->Get(Form("backgroundcosn_trg%d_ass0",i+1)); } else { hsignal[i] = (TH2D*)fdiff1->Get(Form("signalcosn_trg%d_ass0",i+1)); hbackground[i] = (TH2D*)fdiff1->Get(Form("backgroundcosn_trg%d_ass0",i+1)); } hsignal_1D[i] = (TH1D*)hsignal[i]->ProfileY(Form("signal_1D_trg%d_ass0",i+1),1,-1,"e"); hbackground_1D[i] = (TH1D*)hbackground[i]->ProfileY(Form("background_1D_trg%d_ass0",i+1),1,-1,"e"); hcorr_1D[i] = new TH1D(Form("Vn_1D_trg%d_ass0",i+1),";n;V_{n#Delta}",15,0.5,15.5); for(int n=1;n<=hcorr_1D[i]->GetNbinsX();n++) { if(n>=6 && hpt[i]->GetMean()>5.0) continue; if(n==5 && hpt[i]->GetMean()>8.0) continue; if(n==4 && hpt[i]->GetMean()>10.0) continue; double Vn=hsignal_1D[i]->GetBinContent(n)-hbackground_1D[i]->GetBinContent(n); double VnError=sqrt(hsignal_1D[i]->GetBinError(n)*hsignal_1D[i]->GetBinError(n)+hbackground_1D[i]->GetBinError(n)*hbackground_1D[i]->GetBinError(n)); VnArray[n][i] = Vn; hcorr_1D[i]->SetBinContent(n,Vn); hcorr_1D[i]->SetBinError(n,VnError); double vn=Vn/vn0[n]; if(i<=2) vn=Vn/vn01[n]; double vnerr=vn*sqrt((VnError/Vn)*(VnError/Vn)+vn0err[n]*vn0err[n]); if(i<=2) vnerr=vn*sqrt((VnError/Vn)*(VnError/Vn)+vn01err[n]*vn01err[n]); gr[n-1]->SetPoint(i,hpt[i]->GetMean(),vn); gr[n-1]->SetPointError(i,0,vnerr); /* double integral = hpt[i]->Integral(); if(i==0) integral = hpt[1]->Integral(); if(hpt[i]->GetMean()>3.0) continue; merit[n-1] = merit[n-1] + integral/1000.*vn; merit_err[n-1] = merit_err[n-1] + integral/1000.*vnerr; total[n-1] = total[n-1] + integral/1000.; gr_merit[n-1]->SetPoint(i,hpt[i]->GetMean(),merit[n-1]/sqrt(total[n-1])); if(n==2) cout<<"n="<<n<<" i="<<i<<" "<<merit[n-1]/sqrt(total[n-1])<<endl; */ double integral = hptcorr->GetBinContent(hptcorr->FindBin(hpt[i]->GetMean()))*hptcorr->GetBinWidth(hptcorr->FindBin(hpt[i]->GetMean())); if(hpt[i]->GetMean()>3.0) continue; merit[n-1] = merit[n-1] + integral/1000.*vn; merit_err[n-1] = merit_err[n-1] + integral/1000.*vnerr; total[n-1] = total[n-1] + integral/1000.; gr_merit[n-1]->SetPoint(i,hpt[i]->GetMean(),merit[n-1]/sqrt(total[n-1])); if(n==2) cout<<"n="<<n<<" i="<<i<<" "<<merit[n-1]/sqrt(total[n-1])<<endl; } } TH1D* h1corr = (TH1D*)Get1DCFdPhiv3(filename.Data(),0,0,1.9,4.0); TH1D* h2corr = (TH1D*)Get1DCFdPhiv3(filename.Data(),11,0,1.9,4.0); TCanvas* ccorr = new TCanvas("ccorr","ccorr",900,400); ccorr->Divide(2,1); ccorr->cd(1); ccorr->GetPad(1)->SetLeftMargin(0.23); h1corr->SetAxisRange(50.9,52.,"Y"); h1corr->GetYaxis()->SetTitleOffset(1.2); h1corr->GetXaxis()->SetLabelSize(h1corr->GetXaxis()->GetLabelSize()*0.98); h1corr->GetYaxis()->SetLabelSize(h1corr->GetXaxis()->GetLabelSize()*0.98); h1corr->GetXaxis()->SetTitleSize(h1corr->GetXaxis()->GetTitleSize()*0.98); h1corr->GetYaxis()->SetTitleSize(h1corr->GetXaxis()->GetTitleSize()*0.98); h1corr->GetYaxis()->SetTitleOffset(h1corr->GetYaxis()->GetTitleOffset()*1.4); h1corr->GetXaxis()->CenterTitle(); h1corr->GetYaxis()->CenterTitle(); h1corr->Draw("PE"); ccorr->cd(2); ccorr->GetPad(2)->SetLeftMargin(0.23); h2corr->SetAxisRange(50.8,52.4,"Y"); h2corr->GetYaxis()->SetTitleOffset(1.2); h2corr->GetXaxis()->SetLabelSize(h2corr->GetXaxis()->GetLabelSize()*0.98); h2corr->GetYaxis()->SetLabelSize(h2corr->GetXaxis()->GetLabelSize()*0.98); h2corr->GetXaxis()->SetTitleSize(h2corr->GetXaxis()->GetTitleSize()*0.98); h2corr->GetYaxis()->SetTitleSize(h2corr->GetXaxis()->GetTitleSize()*0.98); h2corr->GetYaxis()->SetTitleOffset(h2corr->GetYaxis()->GetTitleOffset()*1.4); h2corr->GetXaxis()->CenterTitle(); h2corr->GetYaxis()->CenterTitle(); h2corr->Draw("PE"); TF1* fitfunc1 = FitVnFunc(h1corr); TF1* fitfunc2 = FitVnFunc(h2corr); fitfunc1->SetLineStyle(4); fitfunc2->SetLineStyle(4); fitfunc1->SetParameters(fitfunc1->GetParameter(0),Vn0[1],Vn0[2],Vn0[3],Vn0[4],Vn0[5],Vn0[6],Vn0[7],Vn0[8],Vn0[9],Vn0[10]); fitfunc2->SetParameters(fitfunc2->GetParameter(0),VnArray[1][10],VnArray[2][10],VnArray[3][10],VnArray[4][10],VnArray[5][10],VnArray[6][10],VnArray[7][10],VnArray[8][10],VnArray[9][10],VnArray[10][10]); ccorr->cd(1); fitfunc1->Draw("Lsame"); ccorr->cd(2); fitfunc2->Draw("Lsame"); TF1* fitfuns1[6]; TF1* fitfuns2[6]; for(int i=0;i<6;i++) { fitfuns1[i] = (TF1*)fitfunc1->Clone(Form("fitfuncs1_%d",i)); fitfuns2[i] = (TF1*)fitfunc2->Clone(Form("fitfuncs2_%d",i)); fitfuns1[i]->SetLineColor(i+1); fitfuns2[i]->SetLineColor(i+1); fitfuns1[i]->SetLineWidth(1); fitfuns2[i]->SetLineWidth(1); fitfuns1[i]->SetLineStyle(1); fitfuns2[i]->SetLineStyle(1); } fitfuns1[0]->SetLineColor(1); fitfuns1[1]->SetLineColor(2); fitfuns1[2]->SetLineColor(9); fitfuns1[3]->SetLineColor(4); fitfuns1[4]->SetLineColor(8); fitfuns1[5]->SetLineColor(6); fitfuns2[0]->SetLineColor(1); fitfuns2[1]->SetLineColor(2); fitfuns2[2]->SetLineColor(9); fitfuns2[3]->SetLineColor(4); fitfuns2[4]->SetLineColor(8); fitfuns2[5]->SetLineColor(6); fitfuns1[0]->SetParameters(fitfuns1[0]->GetParameter(0),fitfuns1[0]->GetParameter(1),0,0,0,0,0,0,0,0,0); fitfuns1[1]->SetParameters(fitfuns1[1]->GetParameter(0),0,fitfuns1[1]->GetParameter(2),0,0,0,0,0,0,0,0); fitfuns1[2]->SetParameters(fitfuns1[2]->GetParameter(0),0,0,fitfuns1[2]->GetParameter(3),0,0,0,0,0,0,0); fitfuns1[3]->SetParameters(fitfuns1[3]->GetParameter(0),0,0,0,fitfuns1[3]->GetParameter(4),0,0,0,0,0,0); fitfuns1[4]->SetParameters(fitfuns1[4]->GetParameter(0),0,0,0,0,fitfuns1[4]->GetParameter(5),0,0,0,0,0); fitfuns1[5]->SetParameters(fitfuns1[5]->GetParameter(0),0,0,0,0,0,fitfuns1[5]->GetParameter(6),0,0,0,0); fitfuns2[0]->SetParameters(fitfuns2[0]->GetParameter(0),fitfuns2[0]->GetParameter(1),0,0,0,0,0,0,0,0,0); fitfuns2[1]->SetParameters(fitfuns2[1]->GetParameter(0),0,fitfuns2[1]->GetParameter(2),0,0,0,0,0,0,0,0); fitfuns2[2]->SetParameters(fitfuns2[2]->GetParameter(0),0,0,fitfuns2[2]->GetParameter(3),0,0,0,0,0,0,0); fitfuns2[3]->SetParameters(fitfuns2[3]->GetParameter(0),0,0,0,fitfuns2[3]->GetParameter(4),0,0,0,0,0,0); fitfuns2[4]->SetParameters(fitfuns2[4]->GetParameter(0),0,0,0,0,fitfuns2[4]->GetParameter(5),0,0,0,0,0); fitfuns2[5]->SetParameters(fitfuns2[5]->GetParameter(0),0,0,0,0,0,fitfuns2[5]->GetParameter(6),0,0,0,0); ccorr->cd(1); fitfuns1[0]->Draw("Lsame"); fitfuns1[1]->Draw("Lsame"); fitfuns1[2]->Draw("Lsame"); fitfuns1[3]->Draw("Lsame"); fitfuns1[4]->Draw("Lsame"); fitfuns1[5]->Draw("Lsame"); ccorr->cd(2); fitfuns2[0]->Draw("Lsame"); fitfuns2[1]->Draw("Lsame"); fitfuns2[2]->Draw("Lsame"); fitfuns2[3]->Draw("Lsame"); fitfuns2[4]->Draw("Lsame"); fitfuns2[5]->Draw("Lsame"); TLegend* legend_corr = new TLegend(0.28,0.63,0.7,0.92); legend_corr->SetFillStyle(0); legend_corr->SetTextFont(42); legend_corr->AddEntry(fitfunc1,"Sum","L"); legend_corr->AddEntry(fitfuns1[0],"n = 1","L"); legend_corr->AddEntry(fitfuns1[1],"n = 2","L"); legend_corr->AddEntry(fitfuns1[2],"n = 3","L"); legend_corr->AddEntry(fitfuns1[3],"n = 4","L"); legend_corr->AddEntry(fitfuns1[4],"n = 5","L"); legend_corr->AddEntry(fitfuns1[5],"n = 6","L"); ccorr->cd(1); legend_corr->Draw("same"); ccorr->cd(2); legend_corr->Draw("same"); ccorr->cd(1); TLatex* latex_corr = new TLatex(); latex_corr->SetNDC(1); latex_corr->SetTextSize(latex_corr->GetTextSize()*0.8); latex_corr->DrawLatex(0.47,0.88,"CMS PbPb #sqrt{s_{NN}} = 2.76 TeV"); latex_corr->DrawLatex(0.63,0.82,centtag.Data()); latex_corr->DrawLatex(0.76,0.76,"|#Delta#eta| > 2"); ccorr->cd(2); TLatex* latex1_corr = new TLatex(); latex1_corr->SetNDC(1); latex1_corr->SetTextSize(latex1_corr->GetTextSize()*0.8); latex1_corr->DrawLatex(0.47,0.88,"CMS PbPb #sqrt{s_{NN}} = 2.76 TeV"); latex1_corr->DrawLatex(0.63,0.82,centtag.Data()); latex1_corr->DrawLatex(0.76,0.76,"|#Delta#eta| > 2"); ccorr->cd(1); TLatex* latex_trg1 = new TLatex(); latex_trg1->SetNDC(1); latex_trg1->SetTextSize(latex_trg1->GetTextSize()*0.8); latex_trg1->DrawLatex(0.59,0.635,"1 < p_{T}^{trig} < 3 GeV/c"); latex_trg1->DrawLatex(0.59,0.57,"1 < p_{T}^{assoc} < 3 GeV/c"); ccorr->cd(2); TLatex* latex_trg2 = new TLatex(); latex_trg2->SetNDC(1); latex_trg2->SetTextSize(latex_trg2->GetTextSize()*0.8); latex_trg2->DrawLatex(0.59,0.635,"4 < p_{T}^{trig} < 5 GeV/c"); latex_trg2->DrawLatex(0.59,0.57,"1 < p_{T}^{assoc} < 3 GeV/c"); SaveCanvas(ccorr,"HI/UCC",Form("corr1Dfit_%s_centmin%d_centmax%d",tag.Data(),centmin,centmax)); /* TCanvas* ccc = new TCanvas("ccc","ccc",900,400); ccc->Divide(2,1); ccc->cd(1); ccc->GetPad(1)->SetLeftMargin(0.3); hsignal_ref_1D->GetYaxis()->SetTitleOffset(2.0); hsignal_ref_1D->GetYaxis()->CenterTitle(); hsignal_ref_1D->SetAxisRange(1.5,10.5,"X"); hsignal_ref_1D->SetAxisRange(-0.00025,0.0019,"Y"); hsignal_ref_1D->SetYTitle("<cos(n#Delta#phi)>"); hsignal_ref_1D->Draw("PE"); hbackground_ref_1D->SetMarkerStyle(24); hbackground_ref_1D->Draw("PESAME"); TLegend* legend = new TLegend(0.5,0.75,0.9,0.9); legend->SetFillStyle(0); legend->SetTextFont(42); legend->AddEntry(hsignal_ref_1D,"Signal","P"); legend->AddEntry(hbackground_ref_1D,"Background","P"); legend->Draw("same"); ccc->cd(2); ccc->GetPad(2)->SetLeftMargin(0.3); hcorr_ref_1D->GetYaxis()->SetTitleOffset(2.0); hcorr_ref_1D->GetYaxis()->CenterTitle(); hcorr_ref_1D->SetAxisRange(1.5,10.5,"X"); hcorr_ref_1D->Draw("PE"); SaveCanvas(ccc,"HI/UCC",Form("sigbak_%s_centmin%d_centmax%d",tag.Data(),centmin,centmax)); */ for(int n=1;n<=hcorr_ref_1D->GetNbinsX();n++) { vn0[n] = merit[n-1]/total[n-1]; vn0err[n] = merit_err[n-1]/total[n-1]; } TFile* ffake = new TFile("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/efficiency/fake_hiGoodTightMerged_ucc_new.root"); TH1D* hfake = (TH1D*)ffake->Get("hFake"); // TFile* ffake1 = new TFile("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/efficiency/fake_hiGoodTight_ucc_new.root"); // TH1D* hfake1 = (TH1D*)ffake1->Get("hFake"); TFile* ffake1 = new TFile("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/efficiency/fake_hiGoodTightMerged_ucc_new.root"); TH1D* hfake1 = (TH1D*)ffake1->Get("hFake"); for(int n=1;n<=hcorr_ref_1D->GetNbinsX();n++) { cout<<"n="<<n<<endl; for(i=0;i<13;i++) { double x,y,xerr,yerr; gr[n-1]->GetPoint(i,x,y); xerr=gr[n-1]->GetErrorX(i); yerr=gr[n-1]->GetErrorY(i); if(n>=6 && i>10) continue; double fake = 0; if(x>1.0) fake = hfake1->GetBinContent(hfake1->FindBin(x)); if(x<1.0) fake = hfake->GetBinContent(hfake->FindBin(x)); double vn_corr = (y-fake*factor[n-1]*vn0[n])/(1-fake); gr_corr[n-1]->SetPoint(i,x,vn_corr); gr_corr[n-1]->SetPointError(i,0,yerr); cout<<x<<" "<<vn_corr<<" "<<yerr<<endl; double vn_corr_up = (y-fake*(factor[n-1]-factor_err[n-1])*vn0[n])/(1-fake)+y*0.02; double vn_corr_down = (y-fake*(factor[n-1]+factor_err[n-1])*vn0[n])/(1-fake)-y*0.02; // temporarily add additional systematics due to EP comparison /* if(n==2 && i==8) { vn_corr_up = (y-fake*(factor[n-1]-factor_err[n-1])*vn0[n])/(1-fake)+y*0.08; vn_corr_down = (y-fake*(factor[n-1]+factor_err[n-1])*vn0[n])/(1-fake)-y*0.08; } if(n==2 && i==9) { vn_corr_up = (y-fake*(factor[n-1]-factor_err[n-1])*vn0[n])/(1-fake)+y*0.10; vn_corr_down = (y-fake*(factor[n-1]+factor_err[n-1])*vn0[n])/(1-fake)-y*0.10; } if(n==2 && i==10) { vn_corr_up = (y-fake*(factor[n-1]-factor_err[n-1])*vn0[n])/(1-fake)+y*0.17; vn_corr_down = (y-fake*(factor[n-1]+factor_err[n-1])*vn0[n])/(1-fake)-y*0.17; } if(n==2 && i>10) { vn_corr_up = (y-fake*(factor[n-1]-factor_err[n-1])*vn0[n])/(1-fake)+y*0.17; vn_corr_down = (y-fake*(factor[n-1]+factor_err[n-1])*vn0[n])/(1-fake)-y*0.17; } if(n==3 && i>=8) { vn_corr_up = (y-fake*(factor[n-1]-factor_err[n-1])*vn0[n])/(1-fake)+y*0.04; vn_corr_down = (y-fake*(factor[n-1]+factor_err[n-1])*vn0[n])/(1-fake)-y*0.04; } if(n==5) { vn_corr_up = (y-fake*(factor[n-1]-factor_err[n-1])*vn0[n])/(1-fake)+y*0.04; vn_corr_down = (y-fake*(factor[n-1]+factor_err[n-1])*vn0[n])/(1-fake)-y*0.04; } if(n>5) { vn_corr_up = (y-fake*(factor[n-1]-factor_err[n-1])*vn0[n])/(1-fake)+y*0.08; vn_corr_down = (y-fake*(factor[n-1]+factor_err[n-1])*vn0[n])/(1-fake)-y*0.08; } */ if(n>=6) { gr_syst[n-1]->SetPoint(i,x,vn_corr_up); gr_syst[n-1]->SetPoint(21-i,x,vn_corr_down); } else { gr_syst[n-1]->SetPoint(i,x,vn_corr_up); gr_syst[n-1]->SetPoint(25-i,x,vn_corr_down); } gr_ratio[n-1]->SetPoint(i,x,vn_corr/y); gr_ratio[n-1]->SetPointError(i,0,0); // double integral = hpt[i]->Integral(); // if(i==0) integral = hpt[1]->Integral(); double integral = hptcorr->GetBinContent(hptcorr->FindBin(hpt[i]->GetMean()))*hptcorr->GetBinWidth(hptcorr->FindBin(hpt[i]->GetMean())); merit_corr[n-1] = merit_corr[n-1] + integral/1000.*vn_corr; merit_corr_up[n-1] = merit_corr_up[n-1] + integral/1000.*vn_corr_up; merit_corr_down[n-1] = merit_corr_down[n-1] + integral/1000.*vn_corr_down; merit_corr_err[n-1] = merit_corr_err[n-1] + integral/1000.*yerr; total_corr[n-1] = total_corr[n-1] + integral/1000.; } } for(int n=2;n<=15;n++) { vn0_corr[n] = merit_corr[n-1]/total_corr[n-1]; cout<<n<<" "<<vn0_corr[n]<<endl; vn0_corr_up[n] = merit_corr_up[n-1]/total_corr[n-1]; vn0_corr_down[n] = merit_corr_down[n-1]/total_corr[n-1]; vn0_corr_sys[n-2] = vn0_corr_up[n]; vn0_corr_sys[29-n] = vn0_corr_down[n]; if(n>=5) { vn0_corr_sys[n-2] = vn0_corr[n]+0.0004; vn0_corr_sys[29-n] = vn0_corr[n]-0.0004; } vn0err_corr[n] = merit_corr_err[n-1]/total_corr[n-1]; vn0_ratio[n] = vn0_corr[n]/vn0[n]; vn0err_ratio[n] = 0; } double vn_hydro_ideal[4] = {0.21,0.1875,0.1,0.0375}; double vn_hydro_004[4] = {0.195,0.167,0.08,0.025}; double vn_hydro_008[4] = {0.18,0.15,0.0625,0.0167}; double vn_hydro_012[4] = {0.167,0.14,0.05,0.0084}; double vn_hydro_016[4] = {0.15,0.128,0.04,0.001}; double etas[4] = {2,3,4,5}; for(int i=3;i>=0;i--) { vn_hydro_ideal[i] = vn_hydro_ideal[i]/vn_hydro_ideal[0]*vn0[2]; vn_hydro_004[i] = vn_hydro_004[i]/vn_hydro_004[0]*vn0[2]; vn_hydro_008[i] = vn_hydro_008[i]/vn_hydro_008[0]*vn0[2]; vn_hydro_012[i] = vn_hydro_012[i]/vn_hydro_012[0]*vn0[2]; vn_hydro_016[i] = vn_hydro_016[i]/vn_hydro_016[0]*vn0[2]; } TGraph* gr_ideal = new TGraph(4,etas,vn_hydro_ideal); TGraph* gr_004 = new TGraph(4,etas,vn_hydro_004); TGraph* gr_008 = new TGraph(4,etas,vn_hydro_008); TGraph* gr_012 = new TGraph(4,etas,vn_hydro_012); TGraph* gr_016 = new TGraph(4,etas,vn_hydro_016); gr_004->SetLineColor(kRed); gr_008->SetLineColor(kBlue); gr_012->SetLineColor(kGreen); gr_016->SetLineColor(6); gr_ideal->SetLineStyle(9); gr_ideal->SetLineWidth(2); gr_004->SetLineWidth(2); gr_008->SetLineWidth(2); gr_012->SetLineWidth(2); gr_016->SetLineWidth(2); double narray[15] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}; double narray2[28] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,14,13,12,11,10,9,8,7,6,5,4,3,2}; double narrayerr[15] = {0}; TGraphErrors* gr_vn0 = new TGraphErrors(15,narray,vn0,narrayerr,vn0err); gr_vn0->SetName("vnn"); TCanvas* c1 = new TCanvas("c1","",580,500); c1->SetLeftMargin(0.16); TH2D* htmp1 = new TH2D("htmp1",";n;v_{n}",100,0.5,7.9+5,100,0.00003-0.01,0.04); htmp1->GetXaxis()->CenterTitle(); htmp1->GetYaxis()->CenterTitle(); htmp1->GetXaxis()->SetLabelSize(0.8*htmp1->GetXaxis()->GetLabelSize()); htmp1->GetYaxis()->SetLabelSize(0.8*htmp1->GetYaxis()->GetLabelSize()); htmp1->GetYaxis()->SetTitleOffset(0.96*htmp1->GetYaxis()->GetTitleOffset()); htmp1->GetXaxis()->SetTitleOffset(1.02*htmp1->GetXaxis()->GetTitleOffset()); htmp1->GetYaxis()->SetTitleSize(1.1*htmp1->GetYaxis()->GetTitleSize()); htmp1->GetXaxis()->SetTitleSize(0.9*htmp1->GetXaxis()->GetTitleSize()); // c1->SetLogy(); htmp1->Draw(""); gr_vn0->Draw("PESAME"); gr_ideal->Draw("LSAME"); gr_004->Draw("LSAME"); gr_008->Draw("LSAME"); gr_012->Draw("LSAME"); gr_016->Draw("LSAME"); TLine* line1 = new TLine(0.5,0.0,7.9+5,0.0); line1->SetLineStyle(9); line1->Draw("lsame"); TLatex* latex1 = new TLatex(); latex1->SetNDC(1); latex1->SetTextSize(latex1->GetTextSize()*1.0); latex1->DrawLatex(0.65,0.87,"CMS Preliminary"); latex1->DrawLatex(0.65,0.80,"PbPb #sqrt{s_{NN}} = 2.76 TeV"); latex1->DrawLatex(0.65,0.74,centtag.Data()); latex1->DrawLatex(0.25,0.34,"0.3<p_{T}<3 GeV/c"); TLegend* legend = new TLegend(0.2,0.45,0.45,0.7); legend->SetFillStyle(0); legend->SetTextFont(42); legend->AddEntry(gr_ideal,"Ideal Hydro","L"); legend->AddEntry(gr_004,"#eta/s=0.04","L"); legend->AddEntry(gr_008,"#eta/s=0.08","L"); legend->AddEntry(gr_012,"#eta/s=0.12","L"); legend->AddEntry(gr_016,"#eta/s=0.16","L"); // legend->Draw("same"); SaveCanvas(c1,"HI/UCC",Form("vnn_%s_centmin%d_centmax%d",tag.Data(),centmin,centmax)); TGraphErrors* gr_corr_vn0 = new TGraphErrors(15,narray,vn0_corr,narrayerr,vn0err_corr); gr_corr_vn0->SetName("vnn_corr"); TGraph* gr_corr_vn0_sys = new TGraph(28,narray2,vn0_corr_sys); gr_corr_vn0_sys->SetName("vnn_corr_sys"); TCanvas* c1_corr = new TCanvas("c1_corr","",580,500); c1_corr->SetLeftMargin(0.16); htmp1->Draw(""); gr_corr_vn0_sys->SetFillColor(17); gr_corr_vn0_sys->Draw("Fsame"); gr_corr_vn0->Draw("PESAME"); gr_ideal->Draw("LSAME"); gr_004->Draw("LSAME"); gr_008->Draw("LSAME"); gr_012->Draw("LSAME"); gr_016->Draw("LSAME"); line1->Draw("lsame"); latex1->Draw("same"); // legend->Draw("same"); SaveCanvas(c1_corr,"HI/UCC",Form("vnn_%s_centmin%d_centmax%d_corr",tag.Data(),centmin,centmax)); TGraphErrors* gr_ratio_vn0 = new TGraphErrors(15,narray,vn0_ratio,narrayerr,vn0err_ratio); gr_ratio_vn0->SetName("vnn_ratio"); TCanvas* c1_ratio = new TCanvas("c1_ratio","",580,500); c1_ratio->SetLeftMargin(0.16); TH2D* htmp1_ratio = new TH2D("htmp1_ratio",";n;v_{n}",100,0.5,7.9+5,100,0.5,1.5); htmp1_ratio->GetXaxis()->CenterTitle(); htmp1_ratio->GetYaxis()->CenterTitle(); htmp1_ratio->GetXaxis()->SetLabelSize(0.8*htmp1_ratio->GetXaxis()->GetLabelSize()); htmp1_ratio->GetYaxis()->SetLabelSize(0.8*htmp1_ratio->GetYaxis()->GetLabelSize()); htmp1_ratio->GetYaxis()->SetTitleOffset(0.96*htmp1_ratio->GetYaxis()->GetTitleOffset()); htmp1_ratio->GetXaxis()->SetTitleOffset(1.02*htmp1_ratio->GetXaxis()->GetTitleOffset()); htmp1_ratio->GetYaxis()->SetTitleSize(1.1*htmp1_ratio->GetYaxis()->GetTitleSize()); htmp1_ratio->GetXaxis()->SetTitleSize(0.9*htmp1_ratio->GetXaxis()->GetTitleSize()); // c1->SetLogy(); htmp1_ratio->Draw(""); gr_ratio_vn0->Draw("PESAME"); latex1->Draw("same"); TLine* line1_ratio = new TLine(0.5,1.0,7.9+5,1.0); line1_ratio->SetLineStyle(9); line1_ratio->Draw("lsame"); SaveCanvas(c1_ratio,"HI/UCC",Form("vnn_%s_centmin%d_centmax%d_ratio",tag.Data(),centmin,centmax)); TCanvas* c2 = new TCanvas("c2","",580,500); c2->SetLeftMargin(0.18); TH2D* htmp = new TH2D("htmp",";p_{T}(GeV/c);v_{n}{2part, |#Delta#eta| > 2}",100,-0.001,7.3,100,-0.005,0.099); htmp->GetXaxis()->CenterTitle(); htmp->GetYaxis()->CenterTitle(); htmp->GetXaxis()->SetLabelSize(htmp->GetXaxis()->GetLabelSize()); htmp->GetYaxis()->SetLabelSize(htmp->GetYaxis()->GetLabelSize()); htmp->GetYaxis()->SetTitleOffset(0.8*htmp->GetYaxis()->GetTitleOffset()); htmp->GetXaxis()->SetTitleOffset(0.7*htmp->GetXaxis()->GetTitleOffset()); htmp->GetYaxis()->SetTitleSize(1.5*htmp->GetYaxis()->GetTitleSize()); htmp->GetXaxis()->SetTitleSize(1.4*htmp->GetXaxis()->GetTitleSize()); htmp->Draw(); TLine* line = new TLine(0.001,0,7.3,0.0); line->SetLineStyle(9); line->Draw("lsame"); // gr[0]->SetMarkerColor(6); gr[1]->SetMarkerColor(1); gr[2]->SetMarkerColor(2); gr[3]->SetMarkerColor(3); gr[4]->SetMarkerColor(4); gr[5]->SetMarkerColor(6); gr[1]->SetMarkerStyle(20); gr[2]->SetMarkerStyle(22); gr[3]->SetMarkerStyle(21); gr[4]->SetMarkerStyle(29); gr[5]->SetMarkerStyle(3); gr[2]->SetMarkerSize(1.1*gr[2]->GetMarkerSize()); gr[3]->SetMarkerSize(0.8*gr[3]->GetMarkerSize()); gr[4]->SetMarkerSize(1.3*gr[4]->GetMarkerSize()); gr[5]->SetMarkerSize(1.3*gr[5]->GetMarkerSize()); gr[1]->Draw("PESAME"); gr[2]->Draw("PESAME"); gr[3]->Draw("PESAME"); gr[4]->Draw("PESAME"); gr[5]->Draw("PESAME"); TLegend* legend = new TLegend(0.18,0.6,0.47,0.9); legend->SetFillStyle(0); legend->SetTextFont(42); legend->AddEntry(gr[1],"n = 2","P"); legend->AddEntry(gr[2],"n = 3","P"); legend->AddEntry(gr[3],"n = 4","P"); legend->AddEntry(gr[4],"n = 5","P"); legend->AddEntry(gr[5],"n = 6","P"); legend->Draw("same"); TLatex* latex = new TLatex(); latex->SetNDC(1); latex->SetTextSize(latex->GetTextSize()*1.0); latex->DrawLatex(0.66,0.86,"CMS Preliminary"); latex->DrawLatex(0.64,0.80,"PbPb #sqrt{s_{NN}} = 2.76 TeV"); latex->DrawLatex(0.66,0.74,centtag.Data()); SaveCanvas(c2,"HI/UCC",Form("vn_pt_%s_centmin%d_centmax%d",tag.Data(),centmin,centmax)); TCanvas* c2_corr = new TCanvas("c2corr","",600,500); c2_corr->SetBottomMargin(0.12); c2_corr->SetLeftMargin(0.15); htmp->Draw(); line->Draw("lsame"); gr_corr[1]->SetMarkerColor(1); gr_corr[2]->SetMarkerColor(2); gr_corr[3]->SetMarkerColor(3); gr_corr[4]->SetMarkerColor(4); gr_corr[5]->SetMarkerColor(6); gr_corr[1]->SetMarkerStyle(20); gr_corr[2]->SetMarkerStyle(22); gr_corr[3]->SetMarkerStyle(21); gr_corr[4]->SetMarkerStyle(29); gr_corr[5]->SetMarkerStyle(3); gr_corr[2]->SetMarkerSize(1.3*gr_corr[2]->GetMarkerSize()); gr_corr[3]->SetMarkerSize(1.0*gr_corr[3]->GetMarkerSize()); gr_corr[4]->SetMarkerSize(1.5*gr_corr[4]->GetMarkerSize()); gr_corr[5]->SetMarkerSize(1.3*gr_corr[5]->GetMarkerSize()); gr_syst[1]->Draw("FSAME"); gr_syst[2]->Draw("FSAME"); gr_syst[3]->Draw("FSAME"); gr_syst[4]->Draw("FSAME"); gr_syst[5]->Draw("FSAME"); gr_corr[1]->Draw("PESAME"); gr_corr[2]->Draw("PESAME"); gr_corr[3]->Draw("PESAME"); gr_corr[4]->Draw("PESAME"); gr_corr[5]->Draw("PESAME"); legend->Draw("same"); TLatex* latex_corr = new TLatex(); latex_corr->SetNDC(1); latex_corr->SetTextSize(latex_corr->GetTextSize()*0.8); // latex_corr->DrawLatex(0.63,0.88,"CMS Preliminary"); latex_corr->DrawLatex(0.54,0.875,"CMS PbPb #sqrt{s_{NN}} = 2.76 TeV"); latex_corr->DrawLatex(0.68,0.815,centtag.Data()); latex_corr->DrawLatex(0.68,0.755,"1 < p_{T}^{ref} < 3 GeV/c"); SaveCanvas(c2_corr,"HI/UCC",Form("vn_pt_%s_centmin%d_centmax%d_corr",tag.Data(),centmin,centmax)); TCanvas* c2_ratio = new TCanvas("c2_ratio","",580,500); c2_ratio->SetLeftMargin(0.16); TH2D* htmp_ratio = new TH2D("htmp_ratio",";p_{T}(GeV/c);v^{corr}_{n}/v^{raw}_{n}",100,0.001,7.3,100,0.5,1.5); htmp_ratio->GetXaxis()->CenterTitle(); htmp_ratio->GetYaxis()->CenterTitle(); htmp_ratio->GetXaxis()->SetLabelSize(0.8*htmp_ratio->GetXaxis()->GetLabelSize()); htmp_ratio->GetYaxis()->SetLabelSize(0.8*htmp_ratio->GetYaxis()->GetLabelSize()); htmp_ratio->GetYaxis()->SetTitleOffset(0.98*htmp_ratio->GetYaxis()->GetTitleOffset()); htmp_ratio->GetXaxis()->SetTitleOffset(1.02*htmp_ratio->GetXaxis()->GetTitleOffset()); htmp_ratio->GetYaxis()->SetTitleSize(1.1*htmp_ratio->GetYaxis()->GetTitleSize()); htmp_ratio->GetXaxis()->SetTitleSize(0.9*htmp_ratio->GetXaxis()->GetTitleSize()); htmp_ratio->Draw(); TLine* line_ratio = new TLine(0.001,1.0,7.3,1.0); line_ratio->SetLineStyle(9); line_ratio->Draw("lsame"); gr_ratio[1]->SetMarkerColor(1); gr_ratio[2]->SetMarkerColor(2); gr_ratio[3]->SetMarkerColor(3); gr_ratio[4]->SetMarkerColor(4); gr_ratio[5]->SetMarkerColor(6); gr_ratio[1]->SetMarkerStyle(20); gr_ratio[2]->SetMarkerStyle(22); gr_ratio[3]->SetMarkerStyle(21); gr_ratio[4]->SetMarkerStyle(29); gr_ratio[5]->SetMarkerStyle(3); gr_ratio[2]->SetMarkerSize(1.1*gr_ratio[2]->GetMarkerSize()); gr_ratio[3]->SetMarkerSize(0.8*gr_ratio[3]->GetMarkerSize()); gr_ratio[4]->SetMarkerSize(1.3*gr_ratio[4]->GetMarkerSize()); gr_ratio[5]->SetMarkerSize(1.3*gr_ratio[5]->GetMarkerSize()); gr_ratio[1]->Draw("PESAME"); gr_ratio[2]->Draw("PESAME"); gr_ratio[3]->Draw("PESAME"); gr_ratio[4]->Draw("PESAME"); gr_ratio[5]->Draw("PESAME"); legend->Draw("same"); TLatex* latex_ratio = new TLatex(); latex_ratio->SetNDC(1); latex_ratio->SetTextSize(latex_ratio->GetTextSize()*1.0); latex_ratio->DrawLatex(0.65,0.87,"CMS Preliminary"); latex_ratio->DrawLatex(0.65,0.80,"PbPb #sqrt{s_{NN}} = 2.76 TeV"); latex_ratio->DrawLatex(0.65,0.74,centtag.Data()); SaveCanvas(c2_ratio,"HI/UCC",Form("vn_pt_%s_centmin%d_centmax%d_ratio",tag.Data(),centmin,centmax)); // gr[0]->Draw("PESAME"); /* c2->Print("/net/hisrv0001/home/davidlw/scratch1/UCCPileUp/pics/vnpt_data_UCC020.gif"); c2->Print("/net/hisrv0001/home/davidlw/scratch1/UCCPileUp/pics/vnpt_data_UCC020.pdf"); c2->Print("/net/hisrv0001/home/davidlw/scratch1/UCCPileUp/pics/vnpt_data_UCC020.eps"); c2->Print("/net/hisrv0001/home/davidlw/scratch1/UCCPileUp/pics/vnpt_data_UCC020.C"); */ /* TCanvas* c0 = new TCanvas("c0","",500,500); hsignal_1D[3]->Draw("PE"); hbackground_1D[3]->SetMarkerStyle(24); hbackground_1D[3]->Draw("PESAME"); TCanvas* c = new TCanvas("c","",500,500); hcorr_1D[3]->SetAxisRange(-0.001,0.006,"Y"); hcorr_1D[3]->SetMarkerColor(1); hcorr_1D[3]->Draw("PE"); */ return; TFile* fout = new TFile(Form("gr_%s_centmin%d_centmax%d.root",tag.Data(),centmin,centmax),"recreate"); gr_vn0->SetName("vnn"); gr_vn0->Write(); gr_corr_vn0->SetName("vnn_corr"); gr_corr_vn0->Write(); gr_corr_vn0_sys->SetName("vnn_corr_sys"); gr_corr_vn0_sys->Write(); gr_ratio_vn0->SetName("vnn_ratio"); gr_ratio_vn0->Write(); for(int i=0;i<6;i++) { gr[i]->SetName(Form("v%dpt",i+1)); gr[i]->Write(); gr_corr[i]->SetName(Form("v%dpt_corr",i+1)); gr_corr[i]->Write(); gr_ratio[i]->SetName(Form("v%dpt_ratio",i+1)); gr_ratio[i]->Write(); gr_syst[i]->SetName(Form("v%dpt_syst",i+1)); gr_syst[i]->Write(); } }
void drawclosureffgamma(int phoetmin, int phoetmax) { const int yaxismax = 4; const int yaxismax2 = 3; TFile *_file0 = TFile::Open(Form("closure_%d_%d.root",phoetmin,phoetmax)); int save = 1; const static int ncentbins = 5; float binwidth = 5.000000e-01; int centmins[] = {0,20,60,100,140}; int centmaxs[] = {20,60,100,140,200}; string cents[] = {"0-10%","10-30%","30-50%","50-70%","70-100%"}; TCanvas * c1_pbpbmc_gen[ncentbins]; // ncentbins TH1D * hgammaffxi_pbpbmc_gen_[ncentbins]; TH1D * hjetpt_pbpbmc_gen_[ncentbins]; TH1D * hgammaffxi_refcone_pbpbmc_gen_[ncentbins]; float njets_pbpbmc_gen[ncentbins]; TCanvas * c1_pbpbmc[ncentbins]; TH1D * hgammaffxi_pbpbmc_[ncentbins]; TH1D * hjetpt_pbpbmc_[ncentbins]; TH1D * hgammaffxi_refcone_pbpbmc_[ncentbins]; float njets_pbpbmc[ncentbins]; TCanvas * c1_subpbpb[ncentbins]; TH2D * dummy_pbpbsub[ncentbins]; TH2D * dummy2_pbpbsub[ncentbins]; TH1D * clone_hgammaffxi_refcone_pbpbmc_gen_[ncentbins]; TH1D * clone_hgammaffxi_pbpbmc_gen_[ncentbins]; TH1D * clone_hgammaffxi_refcone_pbpbmc_[ncentbins]; TH1D * clone_hgammaffxi_pbpbmc_[ncentbins]; TH2D * clone2_hgammaffxi_pbpbmc_gen_[ncentbins]; TH2D * clone2_hgammaffxi_pbpbmc_[ncentbins]; TLegend * leg_ff_pbpbsub[ncentbins]; TLegend * leg_ff_pbpbsub2[ncentbins]; TCanvas * call = new TCanvas("call","",1600,500); // makeMultiPanelCanvas(call,5,1,0,0,0.2,0.2,0.04); makeMultiPanelCanvas(call,6,1,0.02,0.0,-6,0.2,0.04); for (int icent = 0; icent < 5; icent++) { // Raw FF pbpdata hgammaffxi_pbpbmc_gen_[icent] = (TH1D*) _file0->Get(Form("hgammaffxi_pbpbmc_gen_%d_%d",centmins[icent],centmaxs[icent])); hjetpt_pbpbmc_gen_[icent] = (TH1D*) _file0->Get(Form("hjetpt_pbpbmc_gen_%d_%d",centmins[icent],centmaxs[icent])); hgammaffxi_refcone_pbpbmc_gen_[icent] = (TH1D*) _file0->Get(Form("hgammaffxi_refcone_pbpbmc_gen_%d_%d",centmins[icent],centmaxs[icent])); njets_pbpbmc_gen[icent] = hjetpt_pbpbmc_gen_[icent]->Integral(); hgammaffxi_pbpbmc_gen_[icent]->Sumw2(); hgammaffxi_refcone_pbpbmc_gen_[icent]->Sumw2(); hgammaffxi_pbpbmc_gen_[icent]->Scale(1.0/njets_pbpbmc_gen[icent]/binwidth); hgammaffxi_refcone_pbpbmc_gen_[icent]->Scale(1.0/njets_pbpbmc_gen[icent]/binwidth); // cout<<njets_pbpbmc_gen[icent]<<endl; hgammaffxi_pbpbmc_gen_[icent]->GetXaxis()->CenterTitle(); hgammaffxi_pbpbmc_gen_[icent]->SetYTitle("dN/d#xi"); hgammaffxi_pbpbmc_gen_[icent]->GetYaxis()->CenterTitle(); hgammaffxi_refcone_pbpbmc_gen_[icent]->SetMarkerStyle(24); // Raw FF pbpdata // Raw FF pbmc hgammaffxi_pbpbmc_[icent] = (TH1D*) _file0->Get(Form("hgammaffxi_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); hjetpt_pbpbmc_[icent] = (TH1D*) _file0->Get(Form("hjetpt_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); hgammaffxi_refcone_pbpbmc_[icent] = (TH1D*) _file0->Get(Form("hgammaffxi_refcone_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); njets_pbpbmc[icent] = hjetpt_pbpbmc_[icent]->Integral(); hgammaffxi_pbpbmc_[icent]->Sumw2(); hgammaffxi_refcone_pbpbmc_[icent]->Sumw2(); hgammaffxi_pbpbmc_[icent]->Scale(1.0/njets_pbpbmc[icent]/binwidth); hgammaffxi_refcone_pbpbmc_[icent]->Scale(1.0/njets_pbpbmc[icent]/binwidth); hgammaffxi_pbpbmc_[icent]->GetXaxis()->CenterTitle(); hgammaffxi_pbpbmc_[icent]->SetYTitle("dN/d#xi"); hgammaffxi_pbpbmc_[icent]->GetYaxis()->CenterTitle(); hgammaffxi_refcone_pbpbmc_[icent]->SetMarkerStyle(24); // Raw FF pbpbmc // Eta cone subtracted FF pbpbmc_gen and pbpbmc call->cd(icent+2); dummy_pbpbsub[icent] = new TH2D(Form("dummy_pbpbsub_%d_%d",centmins[icent],centmaxs[icent]),";#xi;dN/d#xi",1,0.01,4.99,1,0,yaxismax); dummy_pbpbsub[icent]->GetXaxis()->SetTitleOffset(0.8); dummy_pbpbsub[icent]->GetXaxis()->CenterTitle(); dummy_pbpbsub[icent]->GetYaxis()->CenterTitle(); dummy_pbpbsub[icent]->GetXaxis()->SetTitleSize(dummy_pbpbsub[icent]->GetXaxis()->GetTitleSize()*1.4); clone_hgammaffxi_refcone_pbpbmc_gen_[icent] = (TH1D*) hgammaffxi_refcone_pbpbmc_gen_[icent]->Clone(Form("clone_hgammaffxi_refcone_pbpbmc_gen_%d_%d",centmins[icent],centmaxs[icent])); clone_hgammaffxi_refcone_pbpbmc_gen_[icent]->Scale(-1); clone_hgammaffxi_pbpbmc_gen_[icent] = (TH1D*) hgammaffxi_pbpbmc_gen_[icent]->Clone(Form("clone_hgammaffxi_pbpbmc_gen_%d_%d",centmins[icent],centmaxs[icent])); clone_hgammaffxi_pbpbmc_gen_[icent]->Add(clone_hgammaffxi_refcone_pbpbmc_gen_[icent]); // no longer needed when using sube == 0 clone_hgammaffxi_refcone_pbpbmc_[icent] = (TH1D*) hgammaffxi_refcone_pbpbmc_[icent]->Clone(Form("clone_hgammaffxi_refcone_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); clone_hgammaffxi_refcone_pbpbmc_[icent]->Scale(-1); clone_hgammaffxi_pbpbmc_[icent] = (TH1D*) hgammaffxi_pbpbmc_[icent]->Clone(Form("clone_hgammaffxi_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); clone_hgammaffxi_pbpbmc_[icent]->Add(clone_hgammaffxi_refcone_pbpbmc_[icent]); clone_hgammaffxi_pbpbmc_[icent]->SetMarkerColor(kRed); clone_hgammaffxi_pbpbmc_gen_[icent]->SetMarkerColor(kBlue); // fixedFontHist(dummy_pbpbsub[icent]); dummy_pbpbsub[icent]->Draw(); clone_hgammaffxi_pbpbmc_gen_[icent]->Draw("same"); // hgammaffxi_pbpbmc_[icent]->Draw("same"); // hgammaffxi_refcone_pbpbmc_[icent]->Draw("same"); clone_hgammaffxi_pbpbmc_[icent]->Draw("same"); if(icent==0) { leg_ff_pbpbsub[icent] = new TLegend(0.03,0.697,0.3,0.92); } else { leg_ff_pbpbsub[icent] = new TLegend(0,0.697,0.27,0.92); } leg_ff_pbpbsub[icent]->SetTextSize(0.05*1.3); leg_ff_pbpbsub[icent]->SetFillColor(0); leg_ff_pbpbsub[icent]->SetFillStyle(0); leg_ff_pbpbsub[icent]->SetTextFont(42); if(icent==0) { leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_gen_[icent],"Mixed event","p"); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"Reflected cone","p"); } else if(icent==1) { // leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"#eta cone sub",""); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"trk p_{T}>1 GeV, R < 0.3",""); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],Form("%d>#gamma p_{T}>%d GeV",phoetmin,phoetmax),""); } else if(icent==2) { leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"0.3 < |#eta^{jet}| < 1.6",""); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"p_{T}^{jet} > 40 GeV",""); } else { leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"Pythia+Hydjet",""); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"",""); } leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],Form("%s",cents[icent].data()),""); leg_ff_pbpbsub[icent]->Draw(); // c1_subpbpb[icent]->SaveAs("pbpbmc_gen_pbpbmc_etaconesubtracted_45_gamma_100.png"); // Eta cone subtracted FF pbpbmc_gen and pbpbmc } call->cd(1); TH2D * axis_dummy = new TH2D("axis_dummy","",1,0.01,4.99,1,0,yaxismax); gStyle->SetFrameLineColor(0); axis_dummy->UseCurrentStyle(); axis_dummy->Draw("FB BB A"); TLatex * ldndxi = new TLatex(0.4,0.5,"dN/d#xi"); ldndxi->SetTextSize(ldndxi->GetTextSize()*1.2); ldndxi->SetNDC(); ldndxi->SetTextAngle(90); TLatex * laxis[yaxismax]; for (int ilatex = 0; ilatex < yaxismax; ilatex++) { laxis[ilatex] = new TLatex(3.,ilatex-0.1,Form("%d",ilatex)); laxis[ilatex]->SetTextSize(laxis[ilatex]->GetTextSize()*1.2); laxis[ilatex]->Draw(); } ldndxi->Draw(); TCanvas * callratio = new TCanvas("callratio","",1600,500); makeMultiPanelCanvas(callratio,6,1,0.02,0.0,-6,0.2,0.04); for (int icent = 0; icent < 5; icent++) { callratio->cd(icent+2); clone2_hgammaffxi_pbpbmc_gen_[icent] = (TH2D*) clone_hgammaffxi_pbpbmc_gen_[icent]->Clone(Form("clone2_hgammaffxi_pbpbmc_gen_%d_%d",centmins[icent],centmaxs[icent])); clone2_hgammaffxi_pbpbmc_[icent] = (TH2D*) clone_hgammaffxi_pbpbmc_[icent]->Clone(Form("clone2_hgammaffxi_pbpbmc_%d_%d",centmins[icent],centmaxs[icent])); clone2_hgammaffxi_pbpbmc_gen_[icent]->Divide(clone2_hgammaffxi_pbpbmc_[icent]); dummy2_pbpbsub[icent] = new TH2D(Form("dummy2_pbpbsub_%d_%d",centmins[icent],centmaxs[icent]),";#xi;dN/d#xi",1,0.01,4.99,1,0,yaxismax2); dummy2_pbpbsub[icent]->GetXaxis()->SetTitleOffset(0.8); dummy2_pbpbsub[icent]->GetXaxis()->CenterTitle(); dummy2_pbpbsub[icent]->GetYaxis()->CenterTitle(); dummy2_pbpbsub[icent]->GetXaxis()->SetTitleSize(dummy2_pbpbsub[icent]->GetXaxis()->GetTitleSize()*1.4); dummy2_pbpbsub[icent]->Draw(); // clone2_hgammaffxi_pbpbmc_gen_[icent]->SetMarkerColor(kViolet); clone2_hgammaffxi_pbpbmc_gen_[icent]->SetMarkerColor(kBlack); clone2_hgammaffxi_pbpbmc_gen_[icent]->Draw("same"); TLine * lone = new TLine(0,1,5,1); lone->SetLineStyle(9); lone->Draw(); if(icent==0) { leg_ff_pbpbsub2[icent] = new TLegend(0.03,0.697,0.3,0.92); } else { leg_ff_pbpbsub2[icent] = new TLegend(0,0.697,0.27,0.92); } leg_ff_pbpbsub2[icent]->SetTextSize(0.05*1.3); leg_ff_pbpbsub2[icent]->SetFillColor(0); leg_ff_pbpbsub2[icent]->SetFillStyle(0); leg_ff_pbpbsub2[icent]->SetTextFont(42); if(icent==0) { leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],"Mixed Event/Reflected Cone","p"); leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],"",""); } else if(icent==1) { // leg_ff_pbpbsub2[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"#eta cone sub",""); leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],"trk p_{T}>1 GeV, R < 0.3",""); leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],Form("%d>#gamma p_{T}>%d GeV",phoetmin,phoetmax),""); } else if(icent==2) { leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],"0.3 < |#eta^{jet}| < 1.6",""); leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],"p_{T}^{jet} > 40 GeV",""); } else { leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],"Pythia+Hydjet",""); leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],"",""); } leg_ff_pbpbsub2[icent]->AddEntry(clone2_hgammaffxi_pbpbmc_gen_[icent],Form("%s",cents[icent].data()),""); leg_ff_pbpbsub2[icent]->Draw(); } callratio->cd(1); TH2D * axis_dummy_ratio = new TH2D("axis_dummy_ratio","",1,0.01,4.99,1,0,yaxismax2); gStyle->SetFrameLineColor(0); axis_dummy_ratio->UseCurrentStyle(); axis_dummy_ratio->Draw("FB BB A"); TLatex * ldndxi2 = new TLatex(0.4,0.4,"dN/d#xi Gen/Reco"); ldndxi2->SetTextSize(ldndxi2->GetTextSize()*1.2); ldndxi2->SetNDC(); ldndxi2->SetTextAngle(90); TLatex * laxis2[yaxismax2]; for (int ilatex = 0; ilatex < yaxismax2; ilatex++) { laxis2[ilatex] = new TLatex(3.,ilatex-0.1,Form("%d",ilatex)); laxis2[ilatex]->SetTextSize(laxis2[ilatex]->GetTextSize()*1.2); laxis2[ilatex]->Draw(); } ldndxi2->Draw(); call->SaveAs(Form("mixed_event_closure_mc_%d_%d.png",phoetmin,phoetmax)); callratio->SaveAs(Form("mixed_event_ratio_mc_%d_%d.png",phoetmin,phoetmax)); }
void dm(int domc = 0 , int doptweight = 0 , int dotrkpt = 0 , int docent = 0 , int doaj = 0 , int doleadsubleading = 0) { TFile * f1[2][2]; //! [data/mc][no pt weight/pt weight] f1[0][0] = new TFile("roots/v29mcgen.root"); f1[0][1] = new TFile("roots/astdfrank_ptw1.root"); f1[1][0] = new TFile("roots/v29mcreco.root"); f1[1][1] = new TFile("roots/stdmc_ptw1.root"); const int nptbins = 3; const int ncentbins = 4; const int najbins = 1; const int nptw = 1; const int ndataset = 2; const int njetindex = 1; TH2D * sig[njetindex][nptbins][ncentbins][najbins][ndataset][nptw]; TH2D * bak[njetindex][nptbins][ncentbins][najbins][ndataset][nptw]; TH2D * corr[njetindex][nptbins][ncentbins][najbins][ndataset][nptw]; TH1D * proj[njetindex][nptbins][ncentbins][najbins][ndataset][nptw]; TH2D * subtracted_corr[njetindex][nptbins][ncentbins][najbins][ndataset][nptw]; TH2D * result[njetindex][nptbins][ncentbins][najbins][ndataset][nptw]; double leadingjetptlow[] = {100,100,100,100,100,100,100,100,100}; double leadingjetpthigh[] = {300,300,300,300,300,300,300,300,300}; double subleadingjetptlow[] = {50 ,50 ,50 ,50 ,50 ,50 ,50 ,50 ,50 }; double subleadingjetpthigh[] = {300,300,300,300,300,300,300,300,300}; double ptasslow[] = {1, 2 ,4 ,5 ,3 ,3 ,1 ,2 ,3 }; double ptasshigh[] = {2, 4 ,8 ,8 ,4 ,4 ,2 ,3 ,4 }; int centmin[] = {0,4,12,20}; int centmax[] = {4,12,20,40}; float ajmin[] = { 0.00, 0.13, 0.24, 0.35 }; float ajmax[] = { 0.13, 0.24, 0.35, 1.00 }; TString jetname[] = { "leading" , "subleading" }; TString ljetname[] = { "inclusive" , "subleading" }; TString ptweight[] = { "" , "p_{T} weighted" }; TString datamclumi[] = { "L_{int} = 129 #mub^{-1} " , "MC #hat{p}_{T}=100 embedded 377K evts" }; TString datamc[] = { "PbPb #sqrt{s_{NN}} = 2.76 TeV " , "" }; for(int dataset = 0 ; dataset < ndataset ; ++dataset) { for(int ptw = 0 ; ptw < nptw ; ++ptw) { for(int ptbin = 0 ; ptbin < nptbins ; ++ptbin) { for(int cent = 0 ; cent < ncentbins ; ++cent) { for(int aj = 0 ; aj < najbins ; ++aj) { for(int jetindex = 0 ; jetindex < njetindex ; ++jetindex) { if(cent==1) cout<<Form("signal_%sjet%d_%d_ass%d_%d_cmin%d_cmax%d_ajmin%d_ajmax%d_ismc%d_isptweighted%d",jetname[jetindex].Data(),(int)leadingjetptlow[ptbin],(int)leadingjetpthigh[ptbin],(int)ptasslow[ptbin],(int)ptasshigh[ptbin],centmin[cent],centmax[cent],(int)(ajmin[aj]*100),(int)(ajmax[aj]*100),dataset,ptw)<<endl; sig[jetindex][ptbin][cent][aj][dataset][ptw] = (TH2D*)f1[dataset][ptw]->Get(Form("signal_%sjet%d_%d_ass%d_%d_cmin%d_cmax%d_ajmin%d_ajmax%d",jetname[jetindex].Data(),(int)leadingjetptlow[ptbin],(int)leadingjetpthigh[ptbin],(int)ptasslow[ptbin],(int)ptasshigh[ptbin],centmin[cent],centmax[cent],(int)(ajmin[aj]*100),(int)(ajmax[aj]*100))); bak[jetindex][ptbin][cent][aj][dataset][ptw] = (TH2D*)f1[dataset][ptw]->Get(Form("background_%sjet%d_%d_ass%d_%d_cmin%d_cmax%d_ajmin%d_ajmax%d",jetname[jetindex].Data(),(int)leadingjetptlow[ptbin],(int)leadingjetpthigh[ptbin],(int)ptasslow[ptbin],(int)ptasshigh[ptbin],centmin[cent],centmax[cent],(int)(ajmin[aj]*100),(int)(ajmax[aj]*100))); // if( doleadsubleading==0 ) break; //! jetindex } // if( doaj==0 ) break; //! ajbin } // if( docent==0 ) break; //! centbin } // if( dotrkpt==0 ) break; //! ass trk pt bin } // if( doptweight==0 ) break; //! pt weight } // if( domc==0 ) break; //! dataset } int jetindex = 0 , ptbin = 0 , cent = 0 , aj = 0 , ptw = 0, dataset = 0; // cout<<Form("signal_%sjet%d_%d_ass%d_%d_cmin%d_cmax%d_ajmin%d_ajmax%d_ismc%d_isptweighted%d",jetname[jetindex].Data(),(int)leadingjetptlow[ptbin],(int)leadingjetpthigh[ptbin],(int)ptasslow[ptbin],(int)ptasshigh[ptbin],centmin[cent],centmax[cent],(int)(ajmin[aj]*100),(int)(ajmax[aj]*100),dataset,ptw)<<endl; for(int i = 0 ; i < 1 ; ++i) { //! Define the latex TLatex * lpreliminary = new TLatex( 0.02 , 0.03, Form("CMS Preliminary %s %s",datamc[dataset].Data(),datamclumi[dataset].Data()) ); lpreliminary->SetNDC(1); lpreliminary->SetTextSize(lpreliminary->GetTextSize()*1.1); TLatex * lsigtitle = new TLatex( 0.0073 ,0.9557, Form("gen signal / reco signal")); lsigtitle->SetNDC(1); lsigtitle->SetTextSize(lsigtitle->GetTextSize()*1.1); // TLatex * lbaktitle = new TLatex( 0.0073 ,0.9557, Form("background %s",ljetname[jetindex].Data())); // lbaktitle->SetNDC(1); // lbaktitle->SetTextSize(lbaktitle->GetTextSize()*1.1); // TLatex * lcorrtitle = new TLatex( 0.0073 ,0.9557, Form("correlation function %s",ljetname[jetindex].Data())); // lcorrtitle->SetNDC(1); // lcorrtitle->SetTextSize(lcorrtitle->GetTextSize()*1.1); // TLatex * llrsubtitle = new TLatex( 0.0073 ,0.9557, Form("long range sub CF %s",ljetname[jetindex].Data())); // llrsubtitle->SetNDC(1); // llrsubtitle->SetTextSize(llrsubtitle->GetTextSize()*1.1); TLatex * ljtpt = new TLatex( 0.0073 ,0.9057, Form("jet p_{T} %d-%d GeV/c",(int)leadingjetptlow[ptbin],(int)leadingjetpthigh[ptbin])); ljtpt->SetNDC(1); ljtpt->SetTextSize(ljtpt->GetTextSize()*1.1); TLatex * ltrkpt = new TLatex( 0.0073 ,0.8557, Form("track p_{T} %d-%d GeV/c",(int)ptasslow[ptbin],(int)ptasshigh[ptbin])); ltrkpt->SetNDC(1); ltrkpt->SetTextSize(ltrkpt->GetTextSize()*1.1); TLatex * laj = new TLatex( 0.7777 ,0.9557, Form("A_{J} %2.2f-%2.2f",ajmin[aj],ajmax[aj])); laj->SetNDC(1); laj->SetTextSize(laj->GetTextSize()*1.1); TLatex * lcent = new TLatex( 0.6777 ,0.9557, Form("%2.0f-%2.0f %%",2.5*centmin[cent],2.5*centmax[cent])); lcent->SetNDC(1); lcent->SetTextSize(lcent->GetTextSize()*1.1); TLatex * lptw = new TLatex( 0.7777 ,0.8557, Form("%s",ptweight[ptw].Data())); lptw->SetNDC(1); lptw->SetTextSize(lptw->GetTextSize()*1.1); corr[jetindex][ptbin][cent][aj][dataset][ptw] = (TH2D*)sig[jetindex][ptbin][cent][aj][dataset][ptw]->Clone(Form("signal_%sjet%d_%d_ass%d_%d_cmin%d_cmax%d_ajmin%d_ajmax%d_ismc%d_isptweighted%d",jetname[jetindex].Data(),(int)leadingjetptlow[ptbin],(int)leadingjetpthigh[ptbin],(int)ptasslow[ptbin],(int)ptasshigh[ptbin],centmin[cent],centmax[cent],(int)(ajmin[aj]*100),(int)(ajmax[aj]*100),dataset,ptw)); corr[jetindex][ptbin][cent][aj][dataset][ptw]->Divide(bak[jetindex][ptbin][cent][aj][dataset][ptw]); TCanvas * c1 = new TCanvas("c1"); corr[jetindex][ptbin][cent][aj][dataset][ptw]->Draw("surf1"); lsigtitle->Draw("same"); ljtpt->Draw("same"); ltrkpt->Draw("same"); // laj->Draw("same"); lcent->Draw("same"); lptw->Draw("same"); lpreliminary->Draw("same"); c1->SaveAs(Form("signal_genreco_%sjet%d_%d_ass%d_%d_cmin%d_cmax%d_ajmin%d_ajmax%d_ismc%d_isptweighted%d.png",jetname[jetindex].Data(),(int)leadingjetptlow[ptbin],(int)leadingjetpthigh[ptbin],(int)ptasslow[ptbin],(int)ptasshigh[ptbin],centmin[cent],centmax[cent],(int)(ajmin[aj]*100),(int)(ajmax[aj]*100),dataset,ptw)); } }
void pileup1(double dzmin, double dzmax) { TH1D* hdz = (TH1D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_MBNEW_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","xyzvtxsepmin"); TH3D* h1 = (TH3D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_MBNEW_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssecvszvtxsep"); TH2D* h21 = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_MBNEW_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssec"); TH2D* hNvtxVsMult = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_MBNEW_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","nvtxvsnmult"); TH1D* htrk_max1 = h1->ProjectionX(); h1->GetZaxis()->SetRange(h1->GetZaxis()->FindBin(dzmin),h1->GetZaxis()->FindBin(dzmax)); h1->GetYaxis()->SetRange(h1->GetYaxis()->FindBin(2),h1->GetYaxis()->FindBin(50)); TH2D* h2D1 = (TH2D*)h1->Project3DProfile("yx100"); h2D1->Rebin2D(5,1); TProfile* hprof1_x = (TProfile*)h2D1->ProfileX("hprof1_x",-1,-1,"s"); TH1D* h1D1 = (TH1D*)h2D1->ProjectionY("h1D1",13,15,"e"); /* TH1D* hdz = (TH1D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HIData_Minbias_2760GeV/merged/HIData_Minbias_2760GeV_PPRereco_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","xyzvtxsepmin"); TH3D* h = (TH3D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HIData_Minbias_2760GeV/merged/HIData_Minbias_2760GeV_PPRereco_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssecvszvtxsep"); TH2D* h2 = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HIData_Minbias_2760GeV/merged/HIData_Minbias_2760GeV_PPRereco_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssec"); TH2D* hNvtxVsMult = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HIData_Minbias_2760GeV/merged/HIData_Minbias_2760GeV_PPRereco_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","nvtxvsnmult"); */ TH1D* hdz = (TH1D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HydjetReco_Minbias_2760GeV/merged/HydjetReco_Minbias_2760GeV_PeripheralNew_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","xyzvtxsepmin"); TH3D* h = (TH3D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HydjetReco_Minbias_2760GeV/merged/HydjetReco_Minbias_2760GeV_PeripheralNew_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssecvszvtxsep"); TH2D* h2 = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HydjetReco_Minbias_2760GeV/merged/HydjetReco_Minbias_2760GeV_PeripheralNew_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssec"); TH2D* hNvtxVsMult = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HydjetReco_Minbias_2760GeV/merged/HydjetReco_Minbias_2760GeV_PeripheralNew_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","nvtxvsnmult"); /* TH1D* hdz = (TH1D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HijingReco_Minbias_2760GeV/merged/HijingReco_Minbias_2760GeV_53x_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","xyzvtxsepmin"); TH3D* h = (TH3D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HijingReco_Minbias_2760GeV/merged/HijingReco_Minbias_2760GeV_53x_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssecvszvtxsep"); TH2D* hNvtxVsMult = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/HijingReco_Minbias_2760GeV/merged/HijingReco_Minbias_2760GeV_53x_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","nvtxvsnmult"); */ /* TH1D* hdz = (TH1D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_MBNEW_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","xyzvtxsepmin"); TH3D* h = (TH3D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_MBNEW_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssecvszvtxsep"); TH2D* h2 = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_MBNEW_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssec"); TH2D* hNvtxVsMult = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_MBNEW_INCLMULT_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","nvtxvsnmult"); */ /* TH1D* hdz = (TH1D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_HM_PromptSkim_INCLMULT220_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","xyzvtxsepmin"); TH3D* h = (TH3D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_HM_PromptSkim_INCLMULT220_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssecvszvtxsep"); TH2D* h2 = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_HM_PromptSkim_INCLMULT220_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssec"); TH2D* hNvtxVsMult = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_HM_PromptSkim_INCLMULT220_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","nvtxvsnmult"); */ /* TH1D* hdz = (TH1D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_HM_PromptRecoNew_INCLMULT220PURej2sigmaMode1_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","xyzvtxsepmin"); TH3D* h = (TH3D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_HM_PromptRecoNew_INCLMULT220PURej2sigmaMode1_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssecvszvtxsep"); TH2D* h2 = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_HM_PromptRecoNew_INCLMULT220PURej2sigmaMode1_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","multmaxvssec"); TH2D* hNvtxVsMult = (TH2D*)GetHist("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/PAData_Minbias_5TeV_HM_PromptRecoNew_INCLMULT220PURej2sigmaMode1_nmin-1_nmax-1_etatrg-2.4-2.4_etaass-2.4-2.4_centmin-1_centmax-1.root","nvtxvsnmult"); */ TH1D* htrk_max = h->ProjectionX(); h->GetZaxis()->SetRange(h->GetZaxis()->FindBin(dzmin),h->GetZaxis()->FindBin(dzmax)); h->GetYaxis()->SetRange(h->GetYaxis()->FindBin(2),h->GetYaxis()->FindBin(241)); // h->Rebin3D(10,1); TH2D* h2D = (TH2D*)h->Project3DProfile("yx"); h2D->Rebin2D(5,1); TProfile* hprof_x = (TProfile*)h2D->ProfileX("hprof_x",-1,-1,"s"); // TH1D* h1D = (TH1D*)h2D->ProjectionY("h1D",h2D->GetXaxis()->FindBin(200),h2D->GetXaxis()->FindBin(220),"e"); TH1D* h1D = (TH1D*)h2->ProjectionY("h1D",h2->GetXaxis()->FindBin(200),h2->GetXaxis()->FindBin(220),"e"); double xx[1000]; double yy[1000]; for(int i=1;i<=hprof_x->GetNbinsX();i++) { yy[i-1] = hprof_x->GetBinContent(i)+2*hprof_x->GetBinError(i); xx[i-1] = hprof_x->GetBinCenter(i); } TGraph* xx_yy = new TGraph(hprof_x->GetNbinsX(),xx,yy); int ibin = hprof_x->GetXaxis()->FindBin(200); /* TF1* func = new TF1("func","[0]+[1]*x",0,500); double par1 = (hprof_x->GetBinContent(ibin)+hprof_x->GetBinError(ibin)-hprof_x->GetBinContent(1)-hprof_x->GetBinError(1))/(hprof_x->GetBinCenter(ibin)-hprof_x->GetBinCenter(1)); double par0 = hprof_x->GetBinContent(ibin)+hprof_x->GetBinError(ibin)-par1*hprof_x->GetBinCenter(ibin); func->SetParameters(par0,par1); */ // TF1* func = new TF1("func","[0]+[1]*(x-[2])*(x-[2])",0,500); // func->SetParameters(30,-0.1,150); TF1* func = new TF1("func","[0]*x**[1]",0,500); func->SetParameters(0.1,0.5); func->SetParLimits(0,0,10000); func->SetParLimits(1,0,10000); // func->FixParameter(0,5); small dz func->FixParameter(0,2); xx_yy->Fit("func","NO","",10,400); TCanvas* cc6 = new TCanvas("cc6","cc6",550,500); TH2D* htmp = new TH2D("htmp",";N_{trk}^{primary};N_{trk}^{secondary}",500,0,500,50,0,50); htmp->Draw(""); xx_yy->Draw("Psame"); func->SetLineColor(2); func->Draw("Lsame"); TLatex* latex = new TLatex(); latex->SetNDC(); latex->SetTextSize(latex->GetTextSize()*0.75); latex->DrawLatex(0.23,0.87,"PbPb HYDJET, 1<|dz|<2 cm"); // SaveCanvas(cc6,"pPb/corr","NpriVsNsecProfile_2Sigma_hydjet_dz1020_ForAN"); TCanvas* cc4 = new TCanvas("cc4","cc4",550,500); cc4->SetLogz(); hNvtxVsMult->Rebin2D(10,1); // hNvtxVsMult->Scale(1.0/hNvtxVsMult->GetBinContent(0,0)); hNvtxVsMult->SetAxisRange(1,5.9,"Y"); hNvtxVsMult->SetAxisRange(0,280,"X"); hNvtxVsMult->SetTitle(";N_{trk}^{offline};# of vertices"); TProfile* hNvtxVsMult_prof = (TProfile*)hNvtxVsMult->ProfileX("hNvtxVsMult_prof",-1,-1,"s"); hNvtxVsMult->Draw("colz"); // hNvtxVsMult_prof->Draw("PEsame"); // SaveCanvas(cc4,"pPb/corr","NvtxVsMult_PbPb2011_ForAN"); TCanvas* cc5 = new TCanvas("cc5","cc5",550,500); TH1D* hNvtxVsMult_1D = hNvtxVsMult->ProjectionY("hNvtxVsMult_1D",23,23,"e"); hNvtxVsMult_1D->Draw("PE"); // TCanvas* cc3 = new TCanvas("cc3","cc3",550,500); // htrk_max->SetAxisRange(-1.5,1.5,"X"); // htrk_max->Draw("PE"); TCanvas* cc1 = new TCanvas("cc1","cc1",550,500); hdz->SetAxisRange(-1.5,1.5,"X"); hdz->Draw("PE"); // SaveCanvas(cc1,"pPb/corr","dz_pPbPURej3"); TCanvas* c = new TCanvas("c","",580,500); c->SetLogz(); c->SetRightMargin(0.14); h2D->SetTitle(";N_{trk}^{primary};N_{trk}^{secondary}"); h2D->GetXaxis()->CenterTitle(); h2D->GetYaxis()->CenterTitle(); h2D->Draw("colz"); /* h2->SetAxisRange(2,241,"Y"); h2->SetTitle(";N_{trk}^{primary};N_{trk}^{secondary}"); h2->GetXaxis()->CenterTitle(); h2->GetYaxis()->CenterTitle(); h2->Draw("colz"); */ //hprof_x->Draw("PESAME"); // func->Draw("Lsame"); TLatex* latex = new TLatex(); latex->SetNDC(); latex->SetTextSize(latex->GetTextSize()*0.75); // latex->DrawLatex(0.23,0.87,"PbPb data 2011"); // latex->DrawLatex(0.23,0.87,"PbPb HYDJET, 1<|dz|<2 cm"); latex->DrawLatex(0.23,0.87,"HLT_PAPixelTracks_Multiplicity220"); latex->DrawLatex(0.23,0.8,"1<|dz|<2 cm, pileup rejected"); // latex->DrawLatex(0.23,0.87,"pPb pilot"); // SaveCanvas(c,"pPb/corr","NpriVsNsec_NoPURej_pPbTrigger220_ForAN"); // SaveCanvas(c,"pPb/corr","NpriVsNsec_NoPURej_PbPb2011_ForAN"); // SaveCanvas(c,"pPb/corr","NpriVsNsec_NoPURej_hydjet_ForAN_dz1020"); // SaveCanvas(c,"pPb/corr","NpriVsNsec_PURej_pPbTrigger220_dz1020_ForAN"); TCanvas* cc = new TCanvas("cc","",550,500); cc->SetLogy(); h1D->SetTitle(""); h1D->SetXTitle("N_{trk}^{secondary}"); h1D->GetXaxis()->CenterTitle(); h1D->Scale(1.0/h1D->Integral()); htrk_max1->Scale(1.0/htrk_max1->Integral()); htrk_max1->SetMarkerStyle(24); h1D->SetAxisRange(0,50,"X"); h1D->Draw("PE"); htrk_max1->Draw("PESAME"); TLine* l_2sigma = new TLine(h1D->GetMean()+h1D->GetRMS()*2,0,h1D->GetMean()+h1D->GetRMS()*2,0.04); l_2sigma->SetLineWidth(3); l_2sigma->SetLineColor(2); l_2sigma->Draw("Lsame"); TLatex* latex = new TLatex(); latex->SetTextColor(2); latex->SetTextSize(latex->GetTextSize()*0.75); latex->DrawLatex(h1D->GetMean()+h1D->GetRMS()*2*0.7,0.053,"Mean+2#timesRMS"); TLine* l_1sigma = new TLine(h1D->GetMean()+h1D->GetRMS()*1,0,h1D->GetMean()+h1D->GetRMS()*1,0.1); l_1sigma->SetLineWidth(3); l_1sigma->SetLineStyle(9); l_1sigma->SetLineColor(4); l_1sigma->Draw("Lsame"); TLatex* latex = new TLatex(); latex->SetTextColor(4); latex->SetTextSize(latex->GetTextSize()*0.75); latex->DrawLatex(h1D->GetMean()+h1D->GetRMS()*0.4,0.123,"Mean+1#timesRMS"); TLatex* latex = new TLatex(); latex->SetTextColor(1); latex->SetNDC(); latex->SetTextSize(latex->GetTextSize()*0.75); latex->DrawLatex(0.65,0.85,"200<N_{trk}^{primary}<220"); SaveCanvas(cc,"pPb/corr","NsecDist_PUestimate"); TLegend* legend = new TLegend(0.4,0.58,0.9,0.68); legend->SetFillColor(0); legend->SetFillStyle(0); legend->AddEntry(h1D,"N_{trk}^{secondary} from PbPb Hydjet","P"); legend->AddEntry(htrk_max1,"N_{trk}^{primary} from pPb pilot","P"); legend->Draw(); TH1D* hhh = new TH1D("hhh",";N_{trk}^{primary};Residual pileup (%)",25,0,500); for(int i=1;i<=hhh->GetNbinsX();i++) { TH1D* h1Dtmp = (TH1D*)h2->ProjectionY("h1Dtmp",h2->GetXaxis()->FindBin((i-1)*20),h2->GetXaxis()->FindBin(i*20),"e"); double frac = htrk_max1->Integral(1,htrk_max1->FindBin(h1Dtmp->GetMean()+h1Dtmp->GetRMS()*2))*3.0; hhh->SetBinContent(i,frac); } TCanvas* cc4 = new TCanvas("cc4","",550,500); hhh->GetXaxis()->CenterTitle(); hhh->GetYaxis()->CenterTitle(); hhh->GetYaxis()->SetTitleOffset(hhh->GetYaxis()->GetTitleOffset()*1.3); hhh->Draw("hist"); TLatex* latex = new TLatex(); latex->SetTextColor(1); latex->SetNDC(); latex->SetTextSize(latex->GetTextSize()*0.75); latex->DrawLatex(0.25,0.85,"Mean+2#timesRMS cut"); SaveCanvas(cc4,"pPb/corr","ResidualPUvsNtrkpri"); }
void Factorization_eta_pPb() { const int nfiles = 15; TString filename[nfiles]; filename[1] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n150185_pttrg033_ptassallweight_etaass445_eff1_all_v42.root"); filename[2] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n185220_pttrg033_ptassallweight_etaass445_eff1_all_v42.root"); filename[3] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n220260_pttrg033_ptassallweight_etaass445_eff1_all_v42.root"); filename[4] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n260_pttrg033_ptassallweight_etaass445_eff1_all_v42.root"); filename[0] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n120150_pttrg033_ptassallweight_etaass445_eff1_all_v42.root"); filename[6] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n150185_pttrg033_ptassallweight_etaass34_eff1_all_v42.root"); filename[7] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n185220_pttrg033_ptassallweight_etaass34_eff1_all_v42.root"); filename[8] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n220260_pttrg033_ptassallweight_etaass34_eff1_all_v42.root"); filename[9] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n260_pttrg033_ptassallweight_etaass34_eff1_all_v42.root"); filename[5] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n120150_pttrg033_ptassallweight_etaass34_eff1_all_v42.root"); filename[11] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n150185_pttrg033_ptassallweight_etaass45_eff1_all_v42.root"); filename[12] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n185220_pttrg033_ptassallweight_etaass45_eff1_all_v42.root"); filename[13] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n220260_pttrg033_ptassallweight_etaass45_eff1_all_v42.root"); filename[14] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n260_pttrg033_ptassallweight_etaass45_eff1_all_v42.root"); filename[10] = Form("/net/hisrv0001/home/davidlw/scratch1/DiHadronCorrelations/outputs_312/PAData_Minbias_5TeV/merged/epetadeco_n120150_pttrg033_ptassallweight_etaass45_eff1_all_v42.root"); const int ntrgbins = 16; const int ntrgbins1 = ntrgbins; const int ntrgbins2 = ntrgbins/2; TGraphErrors* gr[nfiles][6]; TGraphErrors* gr1[nfiles][6]; TGraphErrors* gr_tot[nfiles][6]; TGraphErrors* gr_ratio[nfiles][6]; TGraph* gr_band[nfiles][6]; TGraph* gr1_band[nfiles][6]; TF1* fit[nfiles][6]; TF1* fit_aver[nfiles][6]; TF1* fit1_aver[nfiles][6]; double slope[6][nfiles]; double slope_err[6][nfiles]; double slope1[6][nfiles]; double slope1_err[6][nfiles]; // double eta[ntrgbins2] = {0.12,0.36,0.6,0.84,1.08,1.32,1.56,1.8,2.04,2.28}; // double eta[ntrgbins2] = {0.1,0.3,0.5,0.7,0.9,1.1,1.3,1.5,1.7,1.9,2.1,2.3}; double eta[ntrgbins2] = {0.15,0.45,0.75,1.05,1.35,1.65,1.95,2.25}; // double eta[ntrgbins2] = {0.2,0.6,1.0,1.4,1.8,2.2}; double eta_err[ntrgbins2] = {0.0}; Color_t color[6] = {1,kRed, kBlue, kGreen+2,1,1}; TFile* fdiff[nfiles]; for(int jj=0;jj<nfiles;jj++) { fdiff[jj] = new TFile(filename[jj].Data()); TH2D* hsignal[ntrgbins]; TH2D* hbackground[ntrgbins]; TH2D* hsignal1[ntrgbins]; TH2D* hbackground1[ntrgbins]; TH1D* hsignal_1D[ntrgbins][6]; TH1D* hbackground_1D[ntrgbins][6]; TH1D* hsignal1_1D[ntrgbins][6]; TH1D* hbackground1_1D[ntrgbins][6]; for(int i=0;i<ntrgbins;i++) { hsignal[i] = (TH2D*)fdiff[jj]->Get(Form("epetadeco_ana_pPb_hfp/signalcosn_trg%d",i)); hbackground[i] = (TH2D*)fdiff[jj]->Get(Form("epetadeco_ana_pPb_hfp/backgroundcosn_trg%d",i)); hsignal1[i] = (TH2D*)fdiff[jj]->Get(Form("epetadeco_ana_pPb_hfm/signalcosn_trg%d",i)); hbackground1[i] = (TH2D*)fdiff[jj]->Get(Form("epetadeco_ana_pPb_hfm/backgroundcosn_trg%d",i)); /* hsignal_1D[i] = (TH1D*)hsignal[i]->ProfileY(Form("signal_1D_trg%d",i),-1,-1,"e"); hsignal1_1D[i] = (TH1D*)hsignal1[i]->ProfileY(Form("signal1_1D_trg%d",i),-1,-1,"e"); hbackground_1D[i] = (TH1D*)hbackground[i]->ProfileY(Form("background_1D_trg%d",i),-1,-1,"e"); hbackground1_1D[i] = (TH1D*)hbackground1[i]->ProfileY(Form("background1_1D_trg%d",i),-1,-1,"e"); */ for(int nbin=1;nbin<2;nbin++) { hsignal_1D[i][nbin] = (TH1D*)hsignal[i]->ProjectionX(Form("signal_1D_trg%d_%d",i,nbin),nbin,nbin,"i"); hbackground_1D[i][nbin] = (TH1D*)hbackground[i]->ProjectionX(Form("background_1D_trg%d_%d",i,nbin),nbin,nbin,"i"); hsignal1_1D[i][nbin] = (TH1D*)hsignal1[i]->ProjectionX(Form("signal1_1D_trg%d_%d",i,nbin),nbin,nbin,"i"); hbackground1_1D[i][nbin] = (TH1D*)hbackground1[i]->ProjectionX(Form("background1_1D_trg%d_%d",i,nbin),nbin,nbin,"i"); } } for(int nbin=1;nbin<2;nbin++) { double Vn[ntrgbins1]; double VnError[ntrgbins1]; double rn[ntrgbins2]; double rn_err[ntrgbins2]; double Vn1[ntrgbins1]; double VnError1[ntrgbins1]; double rn1[ntrgbins2]; double rn1_err[ntrgbins2]; double rn_tot[ntrgbins2]; double rn_tot_err[ntrgbins2]; double rn_ratio[ntrgbins2]; double rn_ratio_err[ntrgbins2]; for(int i=0;i<ntrgbins1;i++) { if(nbin==1 && jj==3 ) cout<<nbin<<" "<<i<<" "<<hsignal1_1D[i][nbin]->GetMean()<<" "<<hsignal1_1D[i][nbin]->GetMeanError()<<" "<<hbackground1_1D[i][nbin]->GetMean()<<" "<<hbackground1_1D[i][nbin]->GetMeanError()<<endl; /* Vn[i]=hsignal_1D[i]->GetBinContent(nbin)-hbackground_1D[i]->GetBinContent(nbin); VnError[i]=sqrt(hsignal_1D[i]->GetBinError(nbin)*hsignal_1D[i]->GetBinError(nbin)+hbackground_1D[i]->GetBinError(nbin)*hbackground_1D[i]->GetBinError(nbin)); Vn1[i]=hsignal1_1D[i]->GetBinContent(nbin)-hbackground1_1D[i]->GetBinContent(nbin); VnError1[i]=sqrt(hsignal1_1D[i]->GetBinError(nbin)*hsignal1_1D[i]->GetBinError(nbin)+hbackground1_1D[i]->GetBinError(nbin)*hbackground1_1D[i]->GetBinError(nbin)); */ Vn[i]=hsignal_1D[i][nbin]->GetMean()-hbackground_1D[i][nbin]->GetMean(); VnError[i]=sqrt(hsignal_1D[i][nbin]->GetMeanError()*hsignal_1D[i][nbin]->GetMeanError()+hbackground_1D[i][nbin]->GetMeanError()*hbackground_1D[i][nbin]->GetMeanError()); Vn1[i]=hsignal1_1D[i][nbin]->GetMean()-hbackground1_1D[i][nbin]->GetMean(); VnError1[i]=sqrt(hsignal1_1D[i][nbin]->GetMeanError()*hsignal1_1D[i][nbin]->GetMeanError()+hbackground1_1D[i][nbin]->GetMeanError()*hbackground1_1D[i][nbin]->GetMeanError()); } for(int i=0;i<ntrgbins2;i++) { rn[ntrgbins2-i-1]=Vn[i]/Vn[ntrgbins1-i-1]; rn_err[ntrgbins2-i-1]=sqrt((VnError[ntrgbins1-i-1]/Vn[ntrgbins1-i-1])**2+(VnError[i]/Vn[i])**2); rn1[ntrgbins2-i-1]=Vn1[i]/Vn1[ntrgbins1-i-1]; rn1_err[ntrgbins2-i-1]=sqrt((VnError1[ntrgbins1-i-1]/Vn1[ntrgbins1-i-1])**2+(VnError1[i]/Vn1[i])**2); if(nbin==1 && jj==3 ) cout<<rn1[ntrgbins2-i-1]<<" "<<rn1_err[ntrgbins2-i-1]<<endl; rn_tot[ntrgbins2-i-1] = sqrt(rn[ntrgbins2-i-1]*rn1[ntrgbins2-i-1]); rn_tot_err[ntrgbins2-i-1] = rn_tot[ntrgbins2-i-1]*0.5*sqrt(rn_err[ntrgbins2-i-1]/rn[ntrgbins2-i-1]*rn_err[ntrgbins2-i-1]/rn[ntrgbins2-i-1]+rn1_err[ntrgbins2-i-1]/rn1[ntrgbins2-i-1]*rn1_err[ntrgbins2-i-1]/rn1[ntrgbins2-i-1]); rn_ratio[ntrgbins2-i-1] = sqrt(rn[ntrgbins2-i-1]/rn1[ntrgbins2-i-1]); rn_ratio_err[ntrgbins2-i-1] = rn_ratio[ntrgbins2-i-1]*sqrt(rn_err[ntrgbins2-i-1]/rn[ntrgbins2-i-1]*rn_err[ntrgbins2-i-1]/rn[ntrgbins2-i-1]+rn1_err[ntrgbins2-i-1]/rn1[ntrgbins2-i-1]*rn1_err[ntrgbins2-i-1]/rn1[ntrgbins2-i-1])*0.5; } gr[jj][nbin] = new TGraphErrors(ntrgbins2,eta,rn,eta_err,rn_err); gr[jj][nbin]->SetMarkerColor(color[nbin]); gr1[jj][nbin] = new TGraphErrors(ntrgbins2,eta,rn1,eta_err,rn1_err); gr1[jj][nbin]->SetMarkerColor(color[nbin]); gr_tot[jj][nbin] = new TGraphErrors(ntrgbins2,eta,rn_tot,eta_err,rn_tot_err); gr_tot[jj][nbin]->SetMarkerColor(color[nbin]); // gr_tot[jj][nbin]->SetMarkerSize(0.9*gr_tot[jj][nbin]->GetMarkerSize()); gr_ratio[jj][nbin] = new TGraphErrors(ntrgbins2,eta,rn_ratio,eta_err,rn_ratio_err); gr_ratio[jj][nbin]->SetMarkerColor(color[nbin]); if(jj<5) fit[jj][nbin] = new TF1(Form("fit_%d_%d",nbin,jj),"exp(2*[0]*(-x-4.6))/exp(2*[0]*(x-4.6))",0.0,2.5); else if(jj>=5 && jj<10) fit[jj][nbin] = new TF1(Form("fit_%d_%d",nbin,jj),"exp(2*[0]*(-x-3.5))/exp(2*[0]*(x-3.5))",0.0,1.1); else if(jj>=10) fit[jj][nbin] = new TF1(Form("fit_%d_%d",nbin,jj),"exp(2*[0]*(-x-4.6))/exp(2*[0]*(x-4.6))",0.0,2.06); /* if(jj<4) fit[jj][nbin] = new TF1(Form("fit_%d_%d",nbin,jj),"(1-[1]+[1]*exp([0]*(-x-4.5)))/(1-[1]+[1]*exp([0]*(x-4.5)))",0.0,2.5); else if(jj>=4 && jj<8) fit[jj][nbin] = new TF1(Form("fit_%d_%d",nbin,jj),"(1-[1]+[1]*exp([0]*(-x-3.5)))/(1-[1]+[1]*exp([0]*(x-3.5)))",0.0,1.4); else if(jj>=8) fit[jj][nbin] = new TF1(Form("fit_%d_%d",nbin,jj),"(1-[1]+[1]*exp([0]*(-x-4.7)))/(1-[1]+[1]*exp([0]*(x-4.7)))",0.0,2.5); */ fit[jj][nbin]->SetParameter(0,0.01); fit[jj][nbin]->SetParameter(1,0.1); fit[jj][nbin]->SetParLimits(1,0,0.2); gr_tot[jj][nbin]->Fit(Form("fit_%d_%d",nbin,jj),"RNO"); fit[jj][nbin]->SetLineColor(color[nbin]); fit[jj][nbin]->SetLineStyle(9); fit[jj][nbin]->SetLineWidth(1); if(jj<5) { slope[nbin][jj] = fit[jj][nbin]->GetParameter(0); slope_err[nbin][jj] = fit[jj][nbin]->GetParError(0); } else { slope1[nbin][jj-10] = fit[jj][nbin]->GetParameter(0); slope1_err[nbin][jj-10] = fit[jj][nbin]->GetParError(0); } // fit1_aver[jj][nbin] = new TF1(Form("fit1_aver_%d_%d",nbin,jj),"[1]*exp(-[0]*x)+1-[1]",0,5.0); fit1_aver[jj][nbin] = new TF1(Form("fit1_aver_%d_%d",nbin,jj),"exp(-[0]*x)",0,5.0); fit1_aver[jj][nbin]->SetParameter(0,fit[jj][nbin]->GetParameter(0)); fit1_aver[jj][nbin]->SetParError(0,fit[jj][nbin]->GetParError(0)); // fit1_aver[jj][nbin]->SetParameter(1,fit[jj][nbin]->GetParameter(1)); // fit1_aver[jj][nbin]->SetParError(1,fit[jj][nbin]->GetParError(1)); fit1_aver[jj][nbin]->SetLineStyle(1); fit1_aver[jj][nbin]->SetLineColor(color[nbin]); gr1_band[jj][nbin] = new TGraph(53); for(int mm=0;mm<26;mm++) { gr1_band[jj][nbin]->SetPoint(mm,0.2*mm,exp(-0.2*mm*(fit1_aver[jj][nbin]->GetParameter(0)+fit1_aver[jj][nbin]->GetParError(0)))); gr1_band[jj][nbin]->SetPoint(51-mm,0.2*mm,exp(-0.2*mm*(fit1_aver[jj][nbin]->GetParameter(0)-fit1_aver[jj][nbin]->GetParError(0)))); } gr1_band[jj][nbin]->SetPoint(52,0,1); gr1_band[jj][nbin]->SetFillColor(color[nbin]-10); } } ofstream ff("r2_eta_pPb.txt"); for(int nbin=1;nbin<2;nbin++) { cout<<"i="<<nbin+1<<endl; ff<<"i="<<nbin+1<<endl; for(int j=0;j<5;j++) { cout<<slope[nbin][j]<<" "; ff<<slope[nbin][j]<<", ";} cout<<endl; ff<<endl; for(int j=0;j<5;j++) { cout<<slope_err[nbin][j]<<" "; ff<<slope_err[nbin][j]<<", ";} cout<<endl; ff<<endl; } TString histtitle[5] = {"120 #leq N_{trk}^{offline} < 150", "150 #leq N_{trk}^{offline} < 185", "185 #leq N_{trk}^{offline} < 220", "220 #leq N_{trk}^{offline} < 260", "N_{trk}^{offline} #geq 260"}; TLine* ll = new TLine(0,1.,2.65,1.); TCanvas* c = new TCanvas("c","c",530,500); makeMultiPanelCanvas(c,2,2,0.01,0.0,0.2,0.18,0.02); TH2D* htmp = new TH2D("htmp",";#eta^{a};#sqrt{r_{2}(-#eta^{a},-#eta^{b}) #times r_{2}(#eta^{a},#eta^{b})}",100,-0.1,2.5,100,0.601,1.06); fixedFontHist(htmp,1.8,2.1); htmp->GetXaxis()->CenterTitle(); htmp->GetYaxis()->CenterTitle(); htmp->GetYaxis()->SetTitleSize(htmp->GetYaxis()->GetTitleSize()*1.2); htmp->GetXaxis()->SetTitleSize(htmp->GetXaxis()->GetTitleSize()*1.); for(int jj=0;jj<4;jj++) { c->cd(jj+1); htmp->Draw(); ll->Draw("Lsame"); gr_tot[jj][1]->SetMarkerStyle(25); gr_tot[jj][1]->Draw("Psame"); fit[jj][1]->Draw("Lsame"); gr_tot[jj+5][1]->SetMarkerStyle(24); gr_tot[jj+5][1]->Draw("Psame"); gr_tot[jj+10][1]->SetMarkerStyle(28); gr_tot[jj+10][1]->SetMarkerColor(1); gr_tot[jj+10][1]->Draw("Psame"); /* gr_tot[jj+8][1]->SetMarkerStyle(28); fit[jj+8][1]->SetLineStyle(9); gr_tot[jj+8][1]->Draw("Psame"); fit[jj+8][1]->Draw("Lsame"); */ } TLatex* latex = new TLatex(); latex->SetNDC(); latex->SetTextSize(1.3*latex->GetTextSize()); c->cd(1); latex->DrawLatex(0.27,0.05,histtitle[0]); // latex->DrawLatex(0.58,0.74,"0.3 < p_{T}^{a} < 3 GeV/c"); // latex->DrawLatex(0.58,0.65,"p_{T}^{b} > 0 GeV/c"); latex->DrawLatex(0.24,0.885,"CMS pPb #sqrt{s_{NN}} = 5.02 TeV"); latex->DrawLatex(0.68,0.7,"L_{int} = 35 nb^{-1}"); c->cd(2); latex->DrawLatex(0.12,0.27,"0.3 < p_{T}^{a} < 3 GeV/c"); latex->DrawLatex(0.12,0.18,"p_{T}^{b} > 0 GeV/c"); latex->DrawLatex(0.09,0.05,histtitle[1]); c->cd(4); latex->SetTextSize(0.9*latex->GetTextSize()); latex->DrawLatex(0.09,0.22,histtitle[3]); latex->SetTextSize(latex->GetTextSize()/0.9); c->cd(3); latex->SetTextSize(0.85*latex->GetTextSize()); latex->DrawLatex(0.27,0.22,histtitle[2]); TLegend* legend = new TLegend(0.25,0.18,0.62,0.39); legend->SetFillStyle(0); // legend->AddEntry(gr_tot[8][1],"4.4<#eta^{b}<5","P"); legend->AddEntry(gr_tot[0][1],"4.4<#eta^{b}<5","P"); // legend->AddEntry(fit[0][1],"Exponential fit","L"); legend->AddEntry(gr_tot[10][1],"4<#eta^{b}<5","P"); legend->AddEntry(gr_tot[5][1],"3<#eta^{b}<4","P"); // legend->AddEntry(fit[4][1],"Exponential fit","L"); c->cd(1); legend->Draw(); TLine* ll = new TLine(0,1.,5.0,1.); TCanvas* ca = new TCanvas("ca","ca",560,500); makeMultiPanelCanvas(ca,2,2,0.02,0.0,0.27,0.18,0.02); TH2D* htmpa = new TH2D("htmpa",";#eta^{a};#frac{v_{2}(#eta^{a})}{v_{2}(-#eta^{a})} = #sqrt{#frac{r_{2}(#eta^{a},#eta^{b})}{r_{2}(-#eta^{a},-#eta^{b})}}",100,-0.1,2.5,100,0.91,1.045); fixedFontHist(htmpa,1.8,2.7); htmpa->GetXaxis()->CenterTitle(); htmpa->GetYaxis()->CenterTitle(); htmpa->GetYaxis()->SetTitleSize(htmpa->GetYaxis()->GetTitleSize()*1.15); htmpa->GetXaxis()->SetTitleSize(htmpa->GetXaxis()->GetTitleSize()*1.); for(int jj=0;jj<4;jj++) { ca->cd(jj+1); htmpa->Draw(); ll->Draw("Lsame"); gr_ratio[jj][1]->Draw("Psame"); gr_ratio[jj+5][1]->SetMarkerStyle(24); gr_ratio[jj+5][1]->Draw("Psame"); } TLatex* latex1 = new TLatex(); latex1->SetNDC(); latex1->SetTextSize(1.3*latex1->GetTextSize()); ca->cd(1); latex1->DrawLatex(0.33,0.05,histtitle[0]); latex1->DrawLatex(0.31,0.88,"CMS pPb #sqrt{s_{NN}} = 5.02 TeV"); latex1->DrawLatex(0.31,0.77,"L_{int} = 35 nb^{-1}"); ca->cd(2); latex1->DrawLatex(0.075,0.05,histtitle[1]); latex1->DrawLatex(0.08,0.29,"0.3 < p_{T}^{a} < 3 GeV/c"); latex1->DrawLatex(0.08,0.19,"p_{T}^{b} > 0 GeV/c"); ca->cd(4); latex1->SetTextSize(0.9*latex1->GetTextSize()); latex1->DrawLatex(0.075,0.22,histtitle[3]); latex1->SetTextSize(latex1->GetTextSize()/0.9); ca->cd(3); latex1->SetTextSize(0.85*latex1->GetTextSize()); latex1->DrawLatex(0.33,0.22,histtitle[2]); TLegend* legend1 = new TLegend(0.34,0.15,0.57,0.35); legend1->SetFillStyle(0); legend1->AddEntry(gr_ratio[0][1],"4.4<#eta^{b}<5","P"); legend1->AddEntry(gr_ratio[5][1],"3<#eta^{b}<4","P"); ca->cd(1); legend1->Draw(); TCanvas* c2 = new TCanvas("c2","c2",810,400); makeMultiPanelCanvas(c2,4,2,0.016,0.0,0.24,0.2,0.02); TH2D* htmp2 = new TH2D("htmp2",";#eta^{a};r_{2}(#eta^{a},#eta^{b})",100,-0.1,2.5,100,0.61,1.06); fixedFontHist(htmp2,1.6,1.8); htmp2->GetXaxis()->CenterTitle(); htmp2->GetYaxis()->CenterTitle(); htmp2->GetYaxis()->SetTitleSize(htmp2->GetYaxis()->GetTitleSize()*1.3); htmp2->GetXaxis()->SetTitleSize(htmp2->GetXaxis()->GetTitleSize()*1.); TH2D* htmp2a = (TH2D*)htmp2->Clone("tmp2a"); htmp2a->SetTitle(";#eta^{a};r_{2}(-#eta^{a},-#eta^{b})"); for(int jj=0;jj<4;jj++) { c2->cd(jj+1); htmp2->Draw(); ll->Draw("Lsame"); gr[jj][1]->Draw("Psame"); gr[jj+5][1]->SetMarkerStyle(24); gr[jj+5][1]->Draw("Psame"); c2->cd(jj+5); htmp2a->Draw(); ll->Draw("Lsame"); gr1[jj][1]->Draw("Psame"); gr1[jj+5][1]->SetMarkerStyle(24); gr1[jj+5][1]->Draw("Psame"); } TLatex* latex2 = new TLatex(); latex2->SetNDC(); latex2->SetTextSize(1.5*latex2->GetTextSize()); c2->cd(1); latex2->DrawLatex(0.30,0.05,histtitle[0]); latex2->DrawLatex(0.28,0.865,"CMS pPb #sqrt{s_{NN}} = 5.02 TeV"); c2->cd(2); latex2->DrawLatex(0.08,0.05,histtitle[1]); latex2->DrawLatex(0.07,0.3,"0.3 < p_{T}^{a} < 3 GeV/c"); latex2->DrawLatex(0.07,0.18,"p_{T}^{b} > 0 GeV/c"); c2->cd(4); latex2->DrawLatex(0.08,0.05,histtitle[3]); c2->cd(3); latex2->DrawLatex(0.08,0.05,histtitle[2]); c2->cd(6); latex2->SetTextSize(0.96*latex2->GetTextSize()); latex2->DrawLatex(0.08,0.24,histtitle[1]); c2->cd(8); latex2->DrawLatex(0.08,0.24,histtitle[3]); c2->cd(7); latex2->DrawLatex(0.08,0.24,histtitle[2]); c2->cd(5); latex2->SetTextSize(0.9*latex2->GetTextSize()); latex2->DrawLatex(0.3,0.24,histtitle[0]); TLegend* legend2 = new TLegend(0.3,0.18,0.6,0.44); legend2->SetFillStyle(0); legend2->AddEntry(gr_ratio[0][1],"4.4<#eta^{b}<5","P"); legend2->AddEntry(gr_ratio[5][1],"3<#eta^{b}<4","P"); c2->cd(1); legend2->Draw(); /* TCanvas* cc2 = new TCanvas("cc2","cc2",530,500); makeMultiPanelCanvas(cc2,2,2,0.01,0.0,0.2,0.18,0.02); TH2D* htmp22 = new TH2D("htmp22",";|#eta^{a}-#eta^{b}|;cos[n(#Psi_{n}(#eta^{a})-#Psi_{n}(#eta^{b}))]",100,0,5,100,0.731,1.06); fixedFontHist(htmp22,1.8,2.2); htmp22->GetXaxis()->CenterTitle(); htmp22->GetYaxis()->CenterTitle(); htmp22->GetYaxis()->SetTitleSize(htmp22->GetYaxis()->GetTitleSize()*1.1); htmp22->GetXaxis()->SetTitleSize(htmp22->GetXaxis()->GetTitleSize()*1.); for(int jj=0;jj<4;jj++) { cc2->cd(jj+1); htmp22->Draw(); ll->Draw("Lsame"); gr1_band[jj][1]->Draw("Fsame"); fit1_aver[jj][1]->Draw("Lsame"); } TLatex* latex3 = new TLatex(); latex3->SetNDC(); latex3->SetTextSize(1.4*latex3->GetTextSize()); cc2->cd(1); latex3->DrawLatex(0.26,0.05,histtitle[0]); latex3->DrawLatex(0.24,0.865,"CMS pPb #sqrt{s_{NN}} = 5.02 TeV"); cc2->cd(2); latex3->DrawLatex(0.075,0.05,histtitle[1]); cc2->cd(4); latex3->DrawLatex(0.075,0.22,histtitle[3]); cc2->cd(3); latex3->SetTextSize(0.85*latex3->GetTextSize()); latex3->DrawLatex(0.24,0.22,histtitle[2]); */ SaveCanvas(c,"HI/FactBreak","epetadeco_pPb_alletab_r2tot"); SaveCanvas(c2,"HI/FactBreak","epetadeco_pPb_alletab_r2sep"); SaveCanvas(ca,"HI/FactBreak","epetadeco_pPb_alletab_r2ratio"); // SaveCanvas(cc2,"HI/FactBreak","epetadeco_pPb_cos"); }
void drawcentffgamma() { TFile *_file0 = TFile::Open("all.root"); int save = 1; const int yaxismax = 5; const static int ncentbins = 4; float binwidth = 5.000000e-01; int centmins[] = {0,20,60,100,140}; int centmaxs[] = {20,60,100,200,200}; string cents[] = {"0-10%","10-30%","30-50%","50-100%","70-100%"}; TCanvas * c1_pbpbdata[ncentbins]; // ncentbins TH1D * hgammaffxi_pbpbdata_[ncentbins]; TH1D * hjetpt_pbpbdata_[ncentbins]; TH1D * hgammaffxi_refcone_pbpbdata_[ncentbins]; float njets_pbpbdata[ncentbins]; TLegend * leg_ff_pbpbdata[ncentbins]; TCanvas * c1_pbpbmc[ncentbins]; TH1D * hgammaffxi_pbpbmc_[ncentbins]; TH1D * hjetpt_pbpbmc_[ncentbins]; TH1D * hgammaffxi_refcone_pbpbmc_[ncentbins]; float njets_pbpbmc[ncentbins]; TLegend * leg_ff_pbpbmc[ncentbins]; TCanvas * c1_subpbpb[ncentbins]; TH2D * dummy_pbpbsub[ncentbins]; TH1D * clone_hgammaffxi_refcone_pbpbdata_[ncentbins]; TH1D * clone_hgammaffxi_pbpbdata_[ncentbins]; TH1D * clone_hgammaffxi_refcone_pbpbmc_[ncentbins]; TH1D * clone_hgammaffxi_pbpbmc_[ncentbins]; TLegend * leg_ff_pbpbsub[ncentbins]; TCanvas * call = new TCanvas("call","",1400,500); // makeMultiPanelCanvas(call,6,1,0,0,-2.99,0.2,0.04); // makeMultiPanelCanvas(call,6,1,0.02,0.0,-6,0.2,0.04); // makeMultiPanelCanvas(call,4,1,0,0,0.2,0.2,0.04); makeMultiPanelCanvas(call,ncentbins+1,1,0.02,0.0,-6,0.2,0.04); for (int icent = 0; icent < ncentbins; icent++) { // Raw FF pbpdata // c1_pbpbdata[icent] = new TCanvas(Form("c1_pbpbdata_%d_%d",centmins[icent],centmaxs[icent])); hgammaffxi_pbpbdata_[icent] = (TH1D*) _file0->Get(Form("hgammaffxi_pbpbdata__%d_%d",centmins[icent],centmaxs[icent])); hjetpt_pbpbdata_[icent] = (TH1D*) _file0->Get(Form("hjetpt_pbpbdata__%d_%d",centmins[icent],centmaxs[icent])); hgammaffxi_refcone_pbpbdata_[icent] = (TH1D*) _file0->Get(Form("hgammaffxi_refcone_pbpbdata__%d_%d",centmins[icent],centmaxs[icent])); njets_pbpbdata[icent] = hjetpt_pbpbdata_[icent]->Integral(); hgammaffxi_pbpbdata_[icent]->Sumw2(); hgammaffxi_refcone_pbpbdata_[icent]->Sumw2(); hgammaffxi_pbpbdata_[icent]->Scale(1.0/njets_pbpbdata[icent]/binwidth); hgammaffxi_refcone_pbpbdata_[icent]->Scale(1.0/njets_pbpbdata[icent]/binwidth); hgammaffxi_pbpbdata_[icent]->GetXaxis()->CenterTitle(); hgammaffxi_pbpbdata_[icent]->SetYTitle("dN/d#xi"); hgammaffxi_pbpbdata_[icent]->GetYaxis()->CenterTitle(); // hgammaffxi_pbpbdata_[icent]->Draw(); hgammaffxi_refcone_pbpbdata_[icent]->SetMarkerStyle(24); // hgammaffxi_refcone_pbpbdata_[icent]->Draw("same"); leg_ff_pbpbdata[icent] = new TLegend(0.23,0.59,0.50,0.92); leg_ff_pbpbdata[icent]->SetFillColor(0); leg_ff_pbpbdata[icent]->SetTextSize(0.05); leg_ff_pbpbdata[icent]->SetFillStyle(0); leg_ff_pbpbdata[icent]->SetTextFont(42); leg_ff_pbpbdata[icent]->AddEntry(hgammaffxi_pbpbdata_[icent],"raw frag. func","p"); leg_ff_pbpbdata[icent]->AddEntry(hgammaffxi_refcone_pbpbdata_[icent],"#eta reflected cone","p"); leg_ff_pbpbdata[icent]->AddEntry(hgammaffxi_refcone_pbpbdata_[icent],"PbPb #sqrt{s_{NN}}=5 TeV",""); leg_ff_pbpbdata[icent]->AddEntry(hgammaffxi_refcone_pbpbdata_[icent],"trk p_{T}>1 GeV",""); leg_ff_pbpbdata[icent]->AddEntry(hgammaffxi_refcone_pbpbdata_[icent],"100>#gamma p_{T}>300 GeV",""); // leg_ff_pbpbdata[icent]->Draw(); // c1_pbpbdata[icent]->SaveAs("pbpbdata_unsubffspectrum_45_gamma_100.png"); // Raw FF pbpdata // Raw FF pbmc // c1_pbpbmc[icent] = new TCanvas(Form("c1_pbpbmc_%d_%d",centmins[icent],centmaxs[icent])); hgammaffxi_pbpbmc_[icent] = (TH1D*) _file0->Get(Form("hgammaffxi_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); hjetpt_pbpbmc_[icent] = (TH1D*) _file0->Get(Form("hjetpt_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); hgammaffxi_refcone_pbpbmc_[icent] = (TH1D*) _file0->Get(Form("hgammaffxi_refcone_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); njets_pbpbmc[icent] = hjetpt_pbpbmc_[icent]->Integral(); hgammaffxi_pbpbmc_[icent]->Sumw2(); hgammaffxi_refcone_pbpbmc_[icent]->Sumw2(); hgammaffxi_pbpbmc_[icent]->Scale(1.0/njets_pbpbmc[icent]/binwidth); hgammaffxi_refcone_pbpbmc_[icent]->Scale(1.0/njets_pbpbmc[icent]/binwidth); hgammaffxi_pbpbmc_[icent]->GetXaxis()->CenterTitle(); hgammaffxi_pbpbmc_[icent]->SetYTitle("dN/d#xi"); hgammaffxi_pbpbmc_[icent]->GetYaxis()->CenterTitle(); // hgammaffxi_pbpbmc_[icent]->Draw(); hgammaffxi_refcone_pbpbmc_[icent]->SetMarkerStyle(24); // hgammaffxi_refcone_pclone_hgammaffxi_refcone_pbpbdata_bpbmc_[icent]->Draw("same"); leg_ff_pbpbmc[icent] = new TLegend(0.22,0.59,0.49,0.92); leg_ff_pbpbmc[icent]->SetFillColor(0); leg_ff_pbpbmc[icent]->SetTextSize(0.05); leg_ff_pbpbmc[icent]->SetFillStyle(0); leg_ff_pbpbmc[icent]->SetTextFont(42); leg_ff_pbpbmc[icent]->AddEntry(hgammaffxi_pbpbmc_[icent],"raw frag. func","p"); leg_ff_pbpbmc[icent]->AddEntry(hgammaffxi_refcone_pbpbmc_[icent],"#eta reflected cone","p"); leg_ff_pbpbmc[icent]->AddEntry(hgammaffxi_refcone_pbpbmc_[icent],"Pythia+Hydjet #hat{p}_{T}=",""); leg_ff_pbpbmc[icent]->AddEntry(hgammaffxi_refcone_pbpbmc_[icent],"trk p_{T}>1 GeV",""); leg_ff_pbpbmc[icent]->AddEntry(hgammaffxi_refcone_pbpbmc_[icent],"45>#gamma p_{T}>100 GeV",""); // leg_ff_pbpbmc[icent]->Draw(); // c1_pbpbmc[icent]->SaveAs("pbpbmc_unsubffspectrum_45_gamma_100.png"); // Raw FF pbpbmc // Eta cone subtracted FF pbpbdata and pbpbmc // c1_subpbpb[icent] = new TCanvas(Form("c1_subpbpb_%d_%d",centmins[icent],centmaxs[icent])); // call->cd(icent+2); call->cd(icent+2); dummy_pbpbsub[icent] = new TH2D(Form("dummy_pbpbsub_%d_%d",centmins[icent],centmaxs[icent]),";#xi;dN/d#xi",1,0.01,4.99,1,0,yaxismax); dummy_pbpbsub[icent]->GetXaxis()->SetTitleOffset(0.8); dummy_pbpbsub[icent]->GetXaxis()->CenterTitle(); dummy_pbpbsub[icent]->GetYaxis()->CenterTitle(); // if(icent!=0) // { dummy_pbpbsub[icent]->GetXaxis()->SetTitleSize(dummy_pbpbsub[icent]->GetXaxis()->GetTitleSize()*1.5); // } clone_hgammaffxi_refcone_pbpbdata_[icent] = (TH1D*) hgammaffxi_refcone_pbpbdata_[icent]->Clone(Form("clone_hgammaffxi_refcone_pbpbdata__%d_%d",centmins[icent],centmaxs[icent])); clone_hgammaffxi_refcone_pbpbdata_[icent]->Scale(-1); clone_hgammaffxi_pbpbdata_[icent] = (TH1D*) hgammaffxi_pbpbdata_[icent]->Clone(Form("clone_hgammaffxi_pbpbdata__%d_%d",centmins[icent],centmaxs[icent])); clone_hgammaffxi_pbpbdata_[icent]->Add(clone_hgammaffxi_refcone_pbpbdata_[icent]); clone_hgammaffxi_refcone_pbpbmc_[icent] = (TH1D*) hgammaffxi_refcone_pbpbmc_[icent]->Clone(Form("clone_hgammaffxi_refcone_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); clone_hgammaffxi_refcone_pbpbmc_[icent]->Scale(-1); clone_hgammaffxi_pbpbmc_[icent] = (TH1D*) hgammaffxi_pbpbmc_[icent]->Clone(Form("clone_hgammaffxi_pbpbmc__%d_%d",centmins[icent],centmaxs[icent])); clone_hgammaffxi_pbpbmc_[icent]->Add(clone_hgammaffxi_refcone_pbpbmc_[icent]); clone_hgammaffxi_pbpbmc_[icent]->SetMarkerColor(kRed); // fixedFontHist(dummy_pbpbsub[icent]); dummy_pbpbsub[icent]->Draw(); clone_hgammaffxi_pbpbdata_[icent]->Draw("same"); // hgammaffxi_pbpbmc_[icent]->Draw("same"); // hgammaffxi_refcone_pbpbmc_[icent]->Draw("same"); clone_hgammaffxi_pbpbmc_[icent]->Draw("same"); if(icent==0) { // leg_ff_pbpbsub[icent] = new TLegend(0.25,0.697,0.875,0.92); leg_ff_pbpbsub[icent] = new TLegend(0.05,0.697,0.27,0.92); leg_ff_pbpbsub[icent]->SetTextSize(0.05*1.3); } else { leg_ff_pbpbsub[icent] = new TLegend(0,0.697,0.27,0.92); // leg_ff_pbpbsub[icent]->SetTextSize(0.05*1.2); leg_ff_pbpbsub[icent]->SetTextSize(0.05*1.3); } leg_ff_pbpbsub[icent]->SetFillColor(0); leg_ff_pbpbsub[icent]->SetFillStyle(0); leg_ff_pbpbsub[icent]->SetTextFont(42); if(icent==0) { leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbdata_[icent],"PbPb #sqrt{s_{NN}}=5 TeV","p"); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"Pythia+Hydjet","p"); } else if(icent==1) { // leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"#eta cone sub",""); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"trk p_{T}>1 GeV, R < 0.3",""); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"100>#gamma p_{T}>300 GeV",""); } else if(icent==2) { leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"0.3 < |#eta^{jet}| < 1.6",""); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"p_{T}^{jet} > 40 GeV",""); } else { leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"",""); leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],"",""); } leg_ff_pbpbsub[icent]->AddEntry(clone_hgammaffxi_pbpbmc_[icent],Form("%s",cents[icent].data()),""); leg_ff_pbpbsub[icent]->Draw(); // c1_subpbpb[icent]->SaveAs("pbpbdata_pbpbmc_etaconesubtracted_45_gamma_100.png"); // Eta cone subtracted FF pbpbdata and pbpbmc } call->cd(1); TH2D * axis_dummy = new TH2D("axis_dummy","",1,0.01,4.99,1,0,yaxismax); gStyle->SetFrameLineColor(0); axis_dummy->UseCurrentStyle(); axis_dummy->Draw("FB BB A"); TLatex * ldndxi = new TLatex(0.4,0.5,"dN/d#xi"); ldndxi->SetTextSize(ldndxi->GetTextSize()*1.3); ldndxi->SetNDC(); ldndxi->SetTextAngle(90); TLatex * laxis[yaxismax]; for (int ilatex = 0; ilatex < yaxismax; ilatex++) { laxis[ilatex] = new TLatex(3.,ilatex-0.1,Form("%d",ilatex)); laxis[ilatex]->SetTextSize(laxis[ilatex]->GetTextSize()*1.3); laxis[ilatex]->Draw(); } ldndxi->Draw(); // call->cd(1); // TLatex * ldndxi = new TLatex(0.7,0.5,"dN/d#xi"); // ldndxi->SetTextSize(ldndxi->GetTextSize()*1.2); // ldndxi->SetNDC(); // ldndxi->SetTextAngle(90); // ldndxi->Draw(); }
void xjg1step(int phoetmin, int phoetmax, int jetptmin) { TFile * _file0 = TFile::Open(Form("all_%d_%d_%d.root",phoetmin,phoetmax,jetptmin)); TFile * _fran = TFile::Open("/home/ursu/PbPb_Data_gammaJetHistogramArithmetic.root"); const static int nCentBins = 4; float yaxismax = 2; TH1D * xjgsignal_pbpbdata_recoreco[nCentBins]; TH1D * xjgmixsignal_pbpbdata_recoreco[nCentBins]; TH1D * phoetsignal_pbpbdata_recoreco[nCentBins]; TH1D * xjgsideband_pbpbdata_recoreco[nCentBins]; TH1D * xjgmixsideband_pbpbdata_recoreco[nCentBins]; TH1D * phoetsideband_pbpbdata_recoreco[nCentBins]; TH1D * h1D_xjg_ptBin1_hiBin_phoSIG_jetSIG_final_norm[nCentBins]; TH2D * dummy[nCentBins]; TLegend * leg[nCentBins]; int centmins[] = {0,20,60,100}; int centmaxs[] = {20,60,100,200}; string cents[] = {"0-10%","10-30%","30-50%","50-100%"}; TCanvas * c1 = new TCanvas("call","",1600,500); makeMultiPanelCanvas(c1,5,1,0.02,0.0,-6,0.2,0.04); for (int icent = 0; icent < nCentBins; icent++) { c1->cd(2+icent); xjgsignal_pbpbdata_recoreco[icent] = (TH1D*) _file0->Get(Form("xjgsignal_pbpbdata_recoreco_%d_%d",centmins[icent],centmaxs[icent])); xjgmixsignal_pbpbdata_recoreco[icent] = (TH1D*) _file0->Get(Form("xjgmixsignal_pbpbdata_recoreco_%d_%d",centmins[icent],centmaxs[icent])); phoetsignal_pbpbdata_recoreco[icent] = (TH1D*) _file0->Get(Form("phoetsignal_pbpbdata_recoreco_%d_%d",centmins[icent],centmaxs[icent])); xjgsideband_pbpbdata_recoreco[icent] = (TH1D*) _file0->Get(Form("xjgsideband_pbpbdata_recoreco_%d_%d",centmins[icent],centmaxs[icent])); xjgmixsideband_pbpbdata_recoreco[icent] = (TH1D*) _file0->Get(Form("xjgmixsideband_pbpbdata_recoreco_%d_%d",centmins[icent],centmaxs[icent])); phoetsideband_pbpbdata_recoreco[icent] = (TH1D*) _file0->Get(Form("phoetsideband_pbpbdata_recoreco_%d_%d",centmins[icent],centmaxs[icent])); h1D_xjg_ptBin1_hiBin_phoSIG_jetSIG_final_norm[icent] = (TH1D*) _fran->Get(Form("HI/h1D_xjg_ptBin1_hiBin%d_phoRAW_jetRAW_final_norm",icent+3)); xjgsignal_pbpbdata_recoreco[icent]->Sumw2(); xjgmixsignal_pbpbdata_recoreco[icent]->Sumw2(); xjgsideband_pbpbdata_recoreco[icent]->Sumw2(); xjgmixsideband_pbpbdata_recoreco[icent]->Sumw2(); float nphosignal = phoetsignal_pbpbdata_recoreco[icent]->Integral(); float nphosideband = phoetsideband_pbpbdata_recoreco[icent]->Integral(); float binwidth = xjgsignal_pbpbdata_recoreco[icent]->GetBinWidth(1); dummy[icent] = new TH2D(Form("dummy_%d_%d",centmins[icent],centmaxs[icent]),";x_{J#gamma};1/N#gamma dN/dx_{J#gamma}",1,0.01,1.99,1,0,yaxismax); dummy[icent]->GetXaxis()->SetTitleOffset(0.8); dummy[icent]->GetXaxis()->CenterTitle(); dummy[icent]->GetYaxis()->CenterTitle(); dummy[icent]->GetXaxis()->SetTitleSize(dummy[icent]->GetXaxis()->GetTitleSize()*1.4); dummy[icent]->Draw(); xjgsignal_pbpbdata_recoreco[icent]->Scale(1.0/(binwidth*nphosignal)); xjgmixsignal_pbpbdata_recoreco[icent]->Scale(1.0/(binwidth*nphosignal)); // xjgmixsignal_pbpbdata_recoreco[icent]->Draw("same"); h1D_xjg_ptBin1_hiBin_phoSIG_jetSIG_final_norm[icent]->SetMarkerStyle(24); h1D_xjg_ptBin1_hiBin_phoSIG_jetSIG_final_norm[icent]->SetMarkerColor(kRed); xjgsignal_pbpbdata_recoreco[icent]->Divide(h1D_xjg_ptBin1_hiBin_phoSIG_jetSIG_final_norm[icent]); xjgsignal_pbpbdata_recoreco[icent]->Draw("same"); // h1D_xjg_ptBin1_hiBin_phoSIG_jetSIG_final_norm[icent]->Draw("same"); if(icent==0) { leg[icent] = new TLegend(0.03,0.697,0.3,0.92); } else { leg[icent] = new TLegend(0,0.697,0.27,0.92); } leg[icent]->SetTextSize(0.05*1.3); leg[icent]->SetFillColor(0); leg[icent]->SetFillStyle(0); leg[icent]->SetTextFont(42); if(icent==0) { leg[icent]->AddEntry(xjgsignal_pbpbdata_recoreco[icent],"PbPb #sqrt{s_{NN}}=5 TeV","p"); leg[icent]->AddEntry(h1D_xjg_ptBin1_hiBin_phoSIG_jetSIG_final_norm[icent],"HIN-16-002","p"); } else if(icent==1) { leg[icent]->AddEntry(xjgsignal_pbpbdata_recoreco[icent],Form("%d>#gamma p_{T}>%d GeV",phoetmin,phoetmax),""); leg[icent]->AddEntry(xjgsignal_pbpbdata_recoreco[icent],"#sigma_{I#eta#eta}<0.1",""); } else if(icent==2) { leg[icent]->AddEntry(xjgsignal_pbpbdata_recoreco[icent],"|#eta^{jet}| < 1.6",""); leg[icent]->AddEntry(xjgsignal_pbpbdata_recoreco[icent],Form("p_{T}^{jet} > %d GeV",jetptmin),""); } else if(icent==3) { leg[icent]->AddEntry(xjgsignal_pbpbdata_recoreco[icent],"",""); leg[icent]->AddEntry(xjgsignal_pbpbdata_recoreco[icent],"",""); } leg[icent]->AddEntry(xjgsignal_pbpbdata_recoreco[icent],Form("%s",cents[icent].data()),""); leg[icent]->Draw(); } c1->cd(1); TH2D * axis_dummy = new TH2D("axis_dummy","",1,0.01,1.99,1,0,yaxismax); gStyle->SetFrameLineColor(0); axis_dummy->UseCurrentStyle(); axis_dummy->Draw("FB BB A"); TLatex * ldndxi = new TLatex(0.4,0.27,"1/N#gamma dN/dx_{J#gamma} Raw Signal"); ldndxi->SetTextSize(ldndxi->GetTextSize()*1.2); ldndxi->SetNDC(); ldndxi->SetTextAngle(90); ldndxi->Draw(); // float labelspace = yaxismax / 4.0; const int nlabels = 5; float fylabels[] = {0,0.5,1,1.5,2}; string sylabels[] = {"0",".5","1","1.5","2"}; TLatex * laxis[nlabels]; for (int ilatex = 0; ilatex < nlabels; ilatex++) { laxis[ilatex] = new TLatex(0.9,fylabels[ilatex]-0.1,Form("%s",sylabels[ilatex].data())); laxis[ilatex]->SetTextSize(laxis[ilatex]->GetTextSize()*1.3); laxis[ilatex]->Draw(); } c1->SaveAs("xjg_step1_allsubtractions.png"); }