00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012
00013 #include <math.h>
00014 #include "TMath.h"
00015 #include <iostream.h>
00016 #include <iomanip.h>
00017
00018 plotDirectCumulants_v2pt() {
00019
00020 TCanvas* cOld = (TCanvas*)gROOT->GetListOfCanvases();
00021 if (cOld) cOld->Delete();
00022
00023 bool ptGraphs = kTRUE;
00024
00025 gROOT->SetStyle("Bold");
00026 gStyle->SetOptStat(0);
00027
00028 const int CENTBINS=9;
00029 const int PTBINS= 61;
00030 float v2max = 0.4;
00031
00032 TFile graphFile("flow.dirCumulant.graphs.root", "READ");
00033
00034
00035 TGraphErrors* charged_v2_2[CENTBINS+1];
00036 TGraphErrors* charged_v2_4[CENTBINS+1];
00037 TCanvas* can[CENTBINS+1];
00038 int canvasWidth = 780, canvasHeight = 600;
00039 for (int cent=0; cent<CENTBINS+1; cent++) {
00040 if (ptGraphs) {
00041 TString* canName = new TString("centrality_");
00042 *canName += cent;
00043 cout << "plot " << canName->Data() << endl;
00044 can[cent] = new TCanvas(canName->Data(), canName->Data(), canvasWidth, canvasHeight);
00045 TLegend *legend = new TLegend(.17,.67,.5,.87,NULL,"brNDC");
00046 legend->SetFillColor(kWhite);
00047 }
00048
00049
00050 TString graphName("v22_");
00051 graphName += cent;
00052 charged_v2_2[cent] = dynamic_cast<TGraphErrors*>(graphFile.Get(graphName.Data()));
00053 if (!charged_v2_2[cent]) {
00054 cout << "### Can't find graph " << graphName.Data() << endl;
00055 return;
00056 }
00057 charged_v2_2[cent]->SetMarkerStyle(20);
00058 charged_v2_2[cent]->SetMarkerColor(2);
00059 charged_v2_2[cent]->SetLineColor(2);
00060 charged_v2_2[cent]->SetMinimum(0.);
00061 charged_v2_2[cent]->SetMaximum(v2max);
00062 charged_v2_2[cent]->GetXaxis()->SetTitle("P_{t} (GeV/c)");
00063 charged_v2_2[cent]->GetYaxis()->SetTitle("v_{2}");
00064
00065
00066 TString graphName("v24_");
00067 graphName += (cent);
00068 charged_v2_4[cent] = dynamic_cast<TGraphErrors*>(graphFile.Get(graphName.Data()));
00069 if (!charged_v2_4[cent]) {
00070 cout << "### Can't find graph " << graphName.Data() << endl;
00071 return;
00072 }
00073 charged_v2_4[cent]->SetMarkerStyle(20);
00074 charged_v2_4[cent]->SetMarkerColor(4);
00075 charged_v2_4[cent]->SetLineColor(4);
00076 charged_v2_4[cent]->SetMinimum(0.);
00077 charged_v2_4[cent]->SetMaximum(v2max);
00078 charged_v2_4[cent]->GetXaxis()->SetTitle("P_{t} (GeV/c)");
00079 charged_v2_4[cent]->GetYaxis()->SetTitle("v_{2}{4}");
00080
00081 if (ptGraphs) {
00082 charged_v2_2[cent]->Draw("AP");
00083 legend->AddEntry(charged_v2_2[cent],"charged hadron v_{2}{2}","p");
00084 charged_v2_4[cent]->Draw("P");
00085 legend->AddEntry(charged_v2_4[cent],"charged hadron v_{2}{4}","p");
00086
00087 legend->Draw("same");
00088 }
00089
00090
00091
00092 }
00093
00094
00095 int canvasWidth = 600, canvasHeight = 780;
00096 TString* canName = new TString("v2_pt");
00097 cout << "plot " << canName->Data() << endl;
00098 TCanvas* canMulti = new TCanvas(canName->Data(), canName->Data(), canvasWidth, canvasHeight);
00099 canMulti->ToggleEventStatus();
00100 TPaveLabel* canTitle = new TPaveLabel(0.1,0.96,0.9,0.99,canName->Data());
00101 canTitle->Draw();
00102 TLegend *legendMulti = new TLegend(.17,.67,.5,.87,NULL,"brNDC");
00103 legendMulti->SetFillColor(kWhite);
00104 gStyle->SetLabelSize(0.1,"x");
00105 TPad* graphPad = new TPad("Graphs","Graphs",0.01,0.05,0.97,0.95);
00106 graphPad->Draw();
00107 graphPad->cd();
00108 int columns = 2;
00109 int rows = (CENTBINS+1)/2;
00110 graphPad->Divide(columns,rows);
00111
00112 for (int cent=0; cent<CENTBINS+1; cent++) {
00113 TString graphName("cent_");
00114 graphName += cent;
00115 graphPad->cd(cent+1);
00116 charged_v2_2[cent]->SetTitle(graphName);
00117 charged_v2_2[cent]->Draw("AP");
00118 charged_v2_4[cent]->Draw("P");
00119 if (cent==0) {
00120 legendMulti->AddEntry(charged_v2_2[cent],"charged hadron v_{2}{2}","p");
00121 legendMulti->AddEntry(charged_v2_4[cent],"charged hadron v_{2}{4}","p");
00122 legendMulti->Draw("same");
00123 }
00124 }
00125 graphPad->cd(0);
00126
00127 graphFile.Close();
00128
00129 }