double xmin = 0.15, xmax = 1.65, ymin = .0, ymax = .59; double x[3] = {1./8., 4./8., 7./8.}; double y[6] = {1./17., 4./17., 7./17., 10./17., 13./17., 16./17.}; for(int i = 0; i < 3; i ++) x[i] += 0.2/8.; for(int i = 0; i < 6; i ++) y[i] += 0.2/17.; TCanvas * cc = new TCanvas("b39_b","b39_b",0,0,8*50,17*50); TPad * pad0 = new TPad("","",0,0,1,1); pad0->Draw(); pad0->cd(); TPad ** pad = new TPad * [ndeltaEta + 1]; for(int i = 0; i < ndeltaEta+1; i ++) { pad0->cd(); pad[i] = new TPad("","",x[i%2],y[6-2-i/2],x[i%2+1],y[6-1-i/2]); pad[i]->Draw(); } TH2D * haxis = new TH2D("","",100,xmin,xmax,100,ymin,ymax); haxis->SetStats(0); haxis->GetXaxis()->SetNdivisions(505); haxis->GetYaxis()->SetNdivisions(508); for(int i = 0; i < ndeltaEta+1; i ++) { pad[i]->cd(); pad[i]->SetMargin(0,0,0,0); pad[i]->SetTicks(1,1); pad[i]->SetGrid(0,1); // pad[i]->SetLogy(); haxis->Draw(); } const int color[6] = {kBlack,kRed,kBlue,kGreen,kYellow+2,kPink+3}; const int markerStyle[6] = {20,21,22,23,33,34}; for(ideltaeta = 0; ideltaeta < ndeltaEta; ideltaeta ++) { pad[ideltaeta]->cd(); for(icen = 0; icen < ncendeg; icen ++) { gr[ideltaeta][icen]->SetMarkerColor(color[icen]); gr[ideltaeta][icen]->SetMarkerStyle(markerStyle[icen]); gr[ideltaeta][icen]->Draw("p"); }//icen }//ideltaeta pad0->cd(); TGaxis ** axisx = new TGaxis * [4]; TGaxis ** axisy = new TGaxis * [10]; for(int i = 0; i < 2; i ++) { axisx[i] = new TGaxis(x[i],y[0],x[i+1],y[0],xmin,xmax,505,""); axisx[i+2] = new TGaxis(x[i],y[5],x[i+1],y[5],xmin,xmax,505,"-"); axisx[i]->SetLabelSize(0.05); axisx[i]->SetLabelOffset(-0.015); axisx[i+2]->SetLabelSize(0.05); axisx[i]->Draw(); axisx[i+2]->Draw(); } for(int i = 0; i < 5; i ++) { axisy[i] = new TGaxis(x[0],y[i],x[0],y[i+1],ymin,ymax,105,""); axisy[i+5] = new TGaxis(x[2],y[i],x[2],y[i+1],ymin,ymax,105,"+L"); axisy[i]->SetLabelSize(0.05); axisy[i+5]->SetLabelSize(0.05); // axisy[i]->SetMoreLogLabels(1); // axisy[i]->SetNoExponent(); axisy[i]->Draw(); axisy[i+5]->Draw(); } TPaveText * pave = new TPaveText(.0, y[0], x[0]*.5, y[5]); pave->SetBorderSize(0); pave->SetFillStyle(0); pave->SetTextSize(0.05); (TText *)pave->AddText("FB correlation strength b")->SetTextAngle(90); pave->Draw(); TPaveText * pave1 = new TPaveText(x[0], 0, x[2], y[0]*.5); pave1->SetBorderSize(0); pave1->SetFillStyle(0); pave1->SetTextSize(0.05); (TText *)pave1->AddText("#Delta#eta_{ref}")->SetTextAngle(0); pave1->Draw(); TLatex tl; tl.SetTextSize(0.15); tl.SetTextFont(); for(ideltaeta = 0; ideltaeta < ndeltaEta; ideltaeta ++) { pad[ideltaeta]->cd(); sprintf(name, "#Delta#eta = %1.1f", .2*(ideltaeta+1) ); tl.DrawLatexNDC(.4,.8, name); } pad[9]->cd(); pad[9]->SetGrid(0,0); TLegend leg(.1,.1,.9,.9); leg.SetFillStyle(0); leg.SetBorderSize(0); leg.SetTextFont(); leg.SetTextSize(0.12); for(int i = 0; i < ncendeg; i ++) { sprintf(name, "%d%%~%d%%", i*10, (i+1)*10 ); leg.AddEntry(gr[0][i],name,"p"); } leg.Draw(); cc->DrawClone(); //____________________________CLEAR_________________________ delete pave1; delete pave; for(int i = 0; i < 10; i ++) delete axisy[i]; for(int i = 0; i < 4; i ++) delete axisx[i]; delete [] axisy; delete [] axisx; delete haxis; for(int i = 0; i < ndeltaEta+1; i ++) delete pad[i]; delete [] pad; delete cc; for(ideltaeta = 0; ideltaeta < ndeltaEta; ideltaeta ++) for(icen = 0; icen < ncendeg; icen ++) delete gr[ideltaeta][icen]; for(ideltaeta = 0; ideltaeta < ndeltaEta; ideltaeta ++) delete [] gr[ideltaeta]; delete [] gr;