ROOT logo
// contact: Ilya Selyuzhenkov (ilya.selyuzhenkov@gmail.com)
//
// Macro to reproduce Fig. 4 of the directed flow paper http://arxiv.org/abs/1306.4145
//
#include "STAR_v1_PRL_v101_i25_e252301_y2008.C"

float rangeYaMax = 3.79e-3;
float rangeYaMin = 1.29e-3;
float rangeYbMax = 3.2e-3;
float rangeYbMin = 3.49e-3*0.45;
float maxPt =4.7;
float maxPtFit =4.5;
float minPtFit =0.;
float shiftX =0.04;
float scale62=0.12;
float scale200=0.37;

float myMarkerSize=1.5;
const int xRes=600, yRes=600;
int SystlineWidth =6;

TGraphErrors *v1_even_pT_stat_05_80;
TGraphErrors *v1_even_pT_syst_05_80;
TGraphErrors *v1_odd_pT_stat_05_80;
TGraphErrors *v1_odd_pT_syst_05_80;

TGraphErrors *v1_odd_pT_stat_05_40;
TGraphErrors *v1_odd_pT_syst_05_40;
TGraphErrors *v1_odd_pT_stat_40_80;
TGraphErrors *v1_odd_pT_syst_40_80;

float mainFont = 20;
TString PtFitFunction = "[0]*x+[1]*x^2+[2]*x^3";

const int nSystOpt = 4;

void Figure4(bool rWrite = false,TString dataFileName="ALICE_v1_arxiv_1306_4145.root")
{
  TGaxis::SetMaxDigits(3);
  myOptions();
  gROOT->ForceStyle();
  directedFlow_2008_STARdataPt(0.01*scale200, 0.01*scale200);
  
  TCanvas *myCan = new TCanvas("myCan","Figure 4",xRes,yRes);
  myCan->cd();
  TPad *myPad1 = new TPad("myPad1","myPad1",0.,0.52,1,1);
  myPadSetUp(myPad1,0.08,0.078,0.01,0.00);
  TPad *myPad2 = new TPad("myPad2","myPad2",0.,0.,1,0.52);
  myPadSetUp(myPad2,0.08,0.00,0.01,0.16);
  myPad1->Draw();
  myPad2->Draw();
  
  TH1F *myBlankHisto1 = new TH1F("myBlankHisto1","Blank Histogram",10,0,maxPt);
  myHistoSetUp(myBlankHisto1,"p_{T}, GeV/c","v_{1}",-rangeYaMin*0.8,rangeYaMax*0.91, 1, 2, 310, 503);
  TH1F *myBlankHisto2 = new TH1F("myBlankHisto2","Blank Histogram",10,0,maxPt);
  myHistoSetUp(myBlankHisto2,"p_{T} (GeV/c)","v_{1}",-rangeYaMin*1.1,rangeYaMax*0.75, 1, 2, 310, 503);
  
  // get graphs
  TFile *dataFile = TFile::Open(dataFileName,"READ");
  
  v1_even_pT_stat_05_80 = (TGraphErrors*)dataFile->Get("v1_even_pT_stat_05_80");
  v1_even_pT_syst_05_80 = (TGraphErrors*)dataFile->Get("v1_even_pT_syst_05_80");
  v1_odd_pT_stat_05_80 = (TGraphErrors*)dataFile->Get("v1_odd_pT_stat_05_80");
  v1_odd_pT_syst_05_80 = (TGraphErrors*)dataFile->Get("v1_odd_pT_syst_05_80");
  
  v1_odd_pT_stat_05_40 = (TGraphErrors*)dataFile->Get("v1_odd_pT_stat_05_40");
  v1_odd_pT_syst_05_40 = (TGraphErrors*)dataFile->Get("v1_odd_pT_syst_05_40");
  v1_odd_pT_stat_40_80 = (TGraphErrors*)dataFile->Get("v1_odd_pT_stat_40_80");
  v1_odd_pT_syst_40_80 = (TGraphErrors*)dataFile->Get("v1_odd_pT_syst_40_80");
  
  // setup graphs
  int colorStat = kBlue; int colorSyst = kBlue-10;
  myTGraphSetUp(v1_even_pT_syst_05_80,kOpenCircle,colorSyst,0,1,colorSyst, SystlineWidth,1001,colorSyst);
  myTGraphSetUp(v1_even_pT_stat_05_80,kOpenCircle,colorStat,myMarkerSize,1,colorStat,2,1001,colorStat);
  
  myTGraphSetUp(v1_odd_pT_syst_05_40,kFullTriangleDown,colorSyst,0,1,colorSyst, SystlineWidth,1001,colorSyst);
  myTGraphSetUp(v1_odd_pT_stat_05_40,kFullTriangleDown,colorStat,myMarkerSize,1,colorStat,2,1001,colorStat);
  
  colorStat = kMagenta+2; colorSyst = kMagenta-8;
  myTGraphSetUp(v1_odd_pT_syst_05_80,kFullSquare,colorSyst,0,1,colorSyst, SystlineWidth,1001,colorSyst);
  myTGraphSetUp(v1_odd_pT_stat_05_80,kFullSquare,colorStat,myMarkerSize,1,colorStat,2,1001,colorStat);
  
  myTGraphSetUp(v1_odd_pT_syst_40_80,kFullTriangleUp,colorSyst,0,1,colorSyst, SystlineWidth,1001,colorSyst);
  myTGraphSetUp(v1_odd_pT_stat_40_80,kFullTriangleUp,colorStat,myMarkerSize,1,colorStat,2,1001,colorStat);
  
  colorStat = kGreen+2; colorSyst = kGreen-8;
  myTGraphSetUp(v1_star_AuAu200_40_80_pT,kOpenCross,colorStat,myMarkerSize,1,colorStat,2,1001,colorStat);
  
  colorStat = kBlue+2; colorSyst = kBlue-8;
  myTGraphSetUp(v1_star_AuAu200_5_40_pT,kOpenStar,colorStat,myMarkerSize*1.3,1,colorStat,2,1001,colorStat);  
  
  // fitting
  TF1*fit_v1_even_pT_stat_05_80 = new TF1("fit_v1_even_pT_stat_05_80", PtFitFunction, minPtFit, maxPtFit);
  v1_even_pT_stat_05_80->Fit(fit_v1_even_pT_stat_05_80,"0","",minPtFit, maxPtFit);
  fit_v1_even_pT_stat_05_80 = (TF1*)v1_even_pT_stat_05_80->GetListOfFunctions()->At(0)->Clone();
  fit_v1_even_pT_stat_05_80->SetLineColor(v1_even_pT_stat_05_80->GetLineColor()-10);
  
  TF1*fit_v1_odd_pT_stat_05_80 = new TF1("fit_v1_odd_pT_stat_05_80", PtFitFunction, minPtFit, maxPtFit);
  v1_odd_pT_stat_05_80->Fit(fit_v1_odd_pT_stat_05_80,"0","",minPtFit, maxPtFit);
  fit_v1_odd_pT_stat_05_80 = (TF1*)v1_odd_pT_stat_05_80->GetListOfFunctions()->At(0)->Clone();
  fit_v1_odd_pT_stat_05_80->SetLineColor(v1_odd_pT_stat_05_80->GetLineColor()-10);
  
  TF1*fit_v1_odd_pT_stat_05_40 = new TF1("fit_v1_odd_pT_stat_05_40", PtFitFunction, 0,2.2);
  v1_odd_pT_stat_05_40->Fit(fit_v1_odd_pT_stat_05_40,"0","",minPtFit, maxPtFit);
  fit_v1_odd_pT_stat_05_40 = (TF1*)v1_odd_pT_stat_05_40->GetListOfFunctions()->At(0)->Clone();
  fit_v1_odd_pT_stat_05_40->SetLineColor(v1_odd_pT_stat_05_40->GetLineColor()-10);
  
  TF1*fit_v1_odd_pT_stat_40_80 = new TF1("fit_v1_odd_pT_stat_40_80", PtFitFunction, minPtFit, maxPtFit);
  v1_odd_pT_stat_40_80->Fit(fit_v1_odd_pT_stat_40_80,"0","",minPtFit, maxPtFit);
  fit_v1_odd_pT_stat_40_80 = (TF1*)v1_odd_pT_stat_40_80->GetListOfFunctions()->At(0)->Clone();
  fit_v1_odd_pT_stat_40_80->SetLineColor(v1_odd_pT_stat_40_80->GetLineColor()-10);
  
  // close graphs to fill legends
  TGraphErrors *v1_odd_pT_syst_05_80_clone=(TGraphErrors*)v1_odd_pT_syst_05_80->Clone("v1_odd_pT_syst_05_80_clone"); v1_odd_pT_syst_05_80_clone->SetLineWidth(1);
  TGraphErrors *v1_even_pT_syst_05_80_clone=(TGraphErrors*)v1_even_pT_syst_05_80->Clone("v1_even_pT_syst_05_80_clone"); v1_even_pT_syst_05_80_clone->SetLineWidth(1);
  TGraphErrors *v1_odd_pT_syst_05_40_clone=(TGraphErrors*)v1_odd_pT_syst_05_40->Clone("v1_odd_pT_syst_05_40_clone"); v1_odd_pT_syst_05_40_clone->SetLineWidth(1);
  TGraphErrors *v1_odd_pT_syst_40_80_clone=(TGraphErrors*)v1_odd_pT_syst_40_80->Clone("v1_odd_pT_syst_40_80_clone"); v1_odd_pT_syst_40_80_clone->SetLineWidth(1);
  
  //create and fill legends
  TLegend *myLegend1SysA = new TLegend(0.1,0.64,0.42,0.74);
  myLegendSetUp(myLegend1SysA,mainFont);
  myLegend1SysA->AddEntry(v1_odd_pT_syst_05_80_clone," ","F");
  TLegend *myLegend1a = new TLegend(0.1,0.64,0.42,0.74);
  myLegendSetUp(myLegend1a,mainFont);
  myLegend1a->AddEntry(v1_odd_pT_stat_05_80," ","P");
  
  TLegend *myLegend1b = new TLegend(0.2,0.64,0.52,0.74);
  myLegendSetUp(myLegend1b,mainFont);
  myLegend1b->AddEntry(v1_even_pT_stat_05_80," ","P");
  TLegend *myLegend1SysB = new TLegend(0.2,0.64,0.52,0.74);
  myLegendSetUp(myLegend1SysB,mainFont);
  myLegend1SysB->AddEntry(v1_even_pT_syst_05_80_clone,"  5-80%","F");
  
  TLegend *myLegend2Sys = new TLegend(0.1,0.45,0.42,0.61);
  myLegendSetUp(myLegend2Sys,mainFont);
  myLegend2Sys->AddEntry(v1_odd_pT_syst_05_40_clone," ","F");
  myLegend2Sys->AddEntry(v1_odd_pT_syst_40_80_clone," ","F");
  
  TLegend *myLegend2 = new TLegend(0.1,0.45,0.42,0.61);
  myLegendSetUp(myLegend2,mainFont);
  myLegend2->AddEntry(v1_odd_pT_stat_05_40,"   5-40%","P");
  myLegend2->AddEntry(v1_odd_pT_stat_40_80,"   40-80%","P");
  
  TLegend *myLegend3 = new TLegend(0.1,0.73,0.42,0.9);
  myLegendSetUp(myLegend3,mainFont);
  myLegend3->AddEntry(v1_star_AuAu200_5_40_pT,"  #times 0.37  5-40%","P");
  myLegend3->AddEntry(v1_star_AuAu200_40_80_pT,"  #times 0.37  40-80%","P");
  
  TLegend *myLegend4 = new TLegend(0.1,0.53,0.42,0.57);
  myLegendSetUp(myLegend4,mainFont);
  myLegend4->AddEntry(v1_odd_pT_stat_05_80," ","L");
  myLegend4->AddEntry("NULL"," polynomial fits","");
  myLegend4->AddEntry(v1_even_pT_stat_05_80," ","L");
  
  // pad1
  myPad1->cd();
  myBlankHisto1->Draw();
  
  TLatex *myText = new TLatex();
  myText->SetNDC();
  myText->SetTextSize(mainFont);
  myText->SetTextColor(1);
  myText->DrawLatex(0.11,0.85,"ALICE Pb-Pb@2.76TeV |#eta|<0.8");
  myText->DrawLatex(0.115,0.76,"odd     even  v_{1}");
  myText->SetTextSize(1.5*mainFont);
  myText->DrawLatex(0.93,0.83,"(a)");
  
  myLegend1SysA->Draw();
  myLegend1SysB->Draw();
  myLegend1a->Draw();
  myLegend1b->Draw();
  myLegend4->Draw();
  
  ShiftAlongXaxis(v1_odd_pT_syst_05_80, shiftX);
  ShiftAlongXaxis(v1_odd_pT_stat_05_80, shiftX);
  ShiftAlongXaxis(v1_even_pT_syst_05_80, -shiftX);
  ShiftAlongXaxis(v1_even_pT_stat_05_80, -shiftX);
  
  fit_v1_even_pT_stat_05_80->Draw("same");
  fit_v1_odd_pT_stat_05_80->Draw("same");
  
  v1_even_pT_syst_05_80->Draw("eZ");
  v1_odd_pT_syst_05_80->Draw("eZ");
  v1_even_pT_stat_05_80->Draw("P,eZ");
  v1_odd_pT_stat_05_80->Draw("P,eZ");
  
  // pad2
  myPad2->cd();
  myBlankHisto2->Draw();
  
  myText->SetTextSize(mainFont);
  myText->DrawLatex(0.095,0.63,"ALICE  odd v_{1}");
  myText->SetTextSize(1.5*mainFont);
  myText->DrawLatex(0.93,0.91,"(b)");
  myText->SetTextSize(mainFont);
  myText->DrawLatex(0.1,0.92,"STAR (scaled) Au-Au@200GeV |#eta|<1.3");
  
  myLegend2Sys->Draw();
  myLegend2->Draw();
  myLegend3->Draw();
  
  ShiftAlongXaxis(v1_odd_pT_stat_40_80, shiftX);
  ShiftAlongXaxis(v1_odd_pT_syst_40_80, shiftX);
  ShiftAlongXaxis(v1_odd_pT_stat_05_40, -shiftX);
  ShiftAlongXaxis(v1_odd_pT_syst_05_40, -shiftX);
  
  fit_v1_odd_pT_stat_05_40->Draw("same");
  fit_v1_odd_pT_stat_40_80->Draw("same");
  
  v1_odd_pT_syst_05_40->Draw("eZ");
  v1_odd_pT_syst_40_80->Draw("eZ");
  v1_star_AuAu200_5_40_pT->Draw("P,eZ");
  v1_star_AuAu200_40_80_pT->Draw("P,eZ");
  v1_odd_pT_stat_05_40->Draw("P,eZ");
  v1_odd_pT_stat_40_80->Draw("P,eZ");
  
  
  // save output if option rWrite=true
  TString fileName="Figure4";
  myCan->Update();
  if (rWrite)  
  {
    myCan->SaveAs(fileName+".png");
    myCan->SaveAs(fileName+".eps");
    myCan->SaveAs(fileName+".pdf");
  }
}

// only helper functions below

void myHistoSetUp
(
  TH1F *hist=0, TString xTitle="xTitle", TString yTitle="yTitle", float minY=-1, float maxY=1, int lineColor=1, int lineStyle=2,
 int nDivisionsX=305,int nDivisionsY=305
)
{
  hist->GetXaxis()->SetTitle(xTitle);
  hist->GetYaxis()->SetTitle(yTitle);
  hist->SetMinimum(minY);
  hist->SetMaximum(maxY);
  hist->SetLineColor(lineColor);
  hist->SetLineStyle(lineStyle);
  hist->SetNdivisions(nDivisionsX,"x");
  hist->SetNdivisions(nDivisionsY,"y");
  return;
}

void myLegendSetUp(TLegend *currentLegend=0,float currentTextSize=0.07){
  currentLegend->SetBorderSize(0);
  currentLegend->SetFillStyle(0);
  currentLegend->SetFillColor(0);
  currentLegend->SetMargin(0.25);
  currentLegend->SetTextSize(currentTextSize);
  currentLegend->SetEntrySeparation(0.5);
  return;
}

void myPadSetUp(TPad *currentPad, float currentLeft=0.11, float currentTop=0.04, float currentRight=0.04, float currentBottom=0.15){
  currentPad->SetLeftMargin(currentLeft);
  currentPad->SetTopMargin(currentTop);
  currentPad->SetRightMargin(currentRight);
  currentPad->SetBottomMargin(currentBottom);
  return;
}

void myGraphSetUp(TGraphErrors *currentGraph=0, Float_t currentMarkerSize = 1.0,
		  int currentMarkerStyle=20, int currentMarkerColor=0,
		  int currentLineStyle=1, int currentLineColor=0)
{
  currentGraph->SetMarkerSize(currentMarkerSize);
  currentGraph->SetMarkerStyle(currentMarkerStyle);
  currentGraph->SetMarkerColor(currentMarkerColor);
  currentGraph->SetLineStyle(currentLineStyle);
  currentGraph->SetLineColor(currentLineColor);
  return;
}

void myOptions(Int_t lStat=0){
  int font = 43;
  gStyle->SetFrameBorderMode(0);
  gStyle->SetFrameFillColor(0);
  gStyle->SetCanvasBorderMode(0);
  gStyle->SetPadBorderMode(0);
  gStyle->SetPadColor(10);
  gStyle->SetCanvasColor(10);
  gStyle->SetTitleFillColor(10);
  gStyle->SetTitleBorderSize(1);
  gStyle->SetStatColor(10);
  gStyle->SetStatBorderSize(1);
  gStyle->SetLegendBorderSize(1);
  //
  gStyle->SetDrawBorder(0);
  gStyle->SetTextFont(font);
  gStyle->SetStatFont(font);
  gStyle->SetLegendFont(font);
  gStyle->SetStatFontSize(20);
  gStyle->SetStatX(0.97);
  gStyle->SetStatY(0.98);
  gStyle->SetStatH(0.03);
  gStyle->SetStatW(0.3);
  gStyle->SetTickLength(0.02,"y");
  gStyle->SetEndErrorSize(3);
  gStyle->SetLabelSize(20,"xyz");
  gStyle->SetLabelFont(font,"xyz"); 
  gStyle->SetLabelOffset(0.01,"xyz");
  gStyle->SetTitleFont(font,"xyz");
  gStyle->SetTitleOffset(0.8,"y");  
  gStyle->SetTitleOffset(2,"xz");  
  gStyle->SetTitleSize(21,"x");  
  gStyle->SetTitleSize(24,"y");  
  gStyle->SetMarkerSize(1); 
  gStyle->SetPalette(1,0); 
  
  if (lStat){
    gStyle->SetOptTitle(1);
    gStyle->SetOptStat(1111);
    gStyle->SetOptFit(1111);
  }
  else {
    gStyle->SetOptTitle(0);
    gStyle->SetOptStat(0);
    gStyle->SetOptFit(0);
  }
}

TGraphErrors* makeGraphH1(TH1* hist, TString name="")
{
  name.ReplaceAll(" ","");
  Int_t nbins = hist->GetNbinsX();
  Double_t* x = new Double_t[nbins];
  Double_t* y = new Double_t[nbins];
  Double_t* xerr = new Double_t[nbins]; 
  Double_t* yerr = new Double_t[nbins];
  Int_t n=0;
  for (Int_t i=0; i<nbins; i++)
  {
    x[n] = hist->GetXaxis()->GetBinCenter(i+1);
    y[n] = hist->GetBinContent(i+1);
    xerr[n] = 0.0;
    yerr[n] = hist->GetBinError(i+1);
    n++;
  }
  TGraphErrors* gr = new TGraphErrors(n,x,y,xerr,yerr);
  delete [] x;
  delete [] y;
  delete [] xerr;
  delete [] yerr;
  return gr;
}

TGraphErrors* makeGraphPr(TProfile* hist, TString name="")
{
  name.ReplaceAll(" ","");
  Int_t nbins = hist->GetNbinsX();
  Double_t* x = new Double_t[nbins];
  Double_t* y = new Double_t[nbins];
  Double_t* xerr = new Double_t[nbins]; 
  Double_t* yerr = new Double_t[nbins];
  Int_t n=0;
  for (Int_t i=0; i<nbins; i++)
  {
    x[n] = hist->GetXaxis()->GetBinCenter(i+1);
    y[n] = hist->GetBinContent(i+1);
    xerr[n] = 0.0;
    yerr[n] = hist->GetBinError(i+1);
    n++;
  }
  TGraphErrors* gr = new TGraphErrors(n,x,y,xerr,yerr);
  delete [] x;
  delete [] y;
  delete [] xerr;
  delete [] yerr;
  return gr;
}

void ShiftAlongXaxis(TGraphErrors *ge, Double_t shift)
{
  if(!ge)
  {
    printf("\n WARNING: ge is NULL in ShiftAlongXaxis() !!!! \n\n");
    return;
  }
  Int_t nPoints = ge->GetN();
  Double_t x = 0.;
  Double_t y = 0.;
  for(Int_t p=0;p<nPoints;p++)
  {
    ge->GetPoint(p,x,y);
    x+=shift;
    ge->SetPoint(p,x,y);
  }
}

void myTGraphSetUp
(
  TGraphErrors *currentGraph=0,
 int myMarkerStyle=8,
 int myMarkerColor=1,
 float myMarkerSize=1,
 int myLineStyle=1,
 int myLineColor=1,
 float myLineWidth=1,
 int myFillStyle =1001,
 int myFillColor =1 
)
{
  currentGraph->SetMarkerStyle(myMarkerStyle);
  currentGraph->SetMarkerColor(myMarkerColor);
  currentGraph->SetMarkerSize(myMarkerSize);
  currentGraph->SetLineColor(myLineColor);
  currentGraph->SetLineStyle(myLineStyle);
  currentGraph->SetLineWidth(myLineWidth);
  currentGraph->SetFillStyle(myFillStyle);
  currentGraph->SetFillColor(myFillColor);
}
 Figure4.C:1
 Figure4.C:2
 Figure4.C:3
 Figure4.C:4
 Figure4.C:5
 Figure4.C:6
 Figure4.C:7
 Figure4.C:8
 Figure4.C:9
 Figure4.C:10
 Figure4.C:11
 Figure4.C:12
 Figure4.C:13
 Figure4.C:14
 Figure4.C:15
 Figure4.C:16
 Figure4.C:17
 Figure4.C:18
 Figure4.C:19
 Figure4.C:20
 Figure4.C:21
 Figure4.C:22
 Figure4.C:23
 Figure4.C:24
 Figure4.C:25
 Figure4.C:26
 Figure4.C:27
 Figure4.C:28
 Figure4.C:29
 Figure4.C:30
 Figure4.C:31
 Figure4.C:32
 Figure4.C:33
 Figure4.C:34
 Figure4.C:35
 Figure4.C:36
 Figure4.C:37
 Figure4.C:38
 Figure4.C:39
 Figure4.C:40
 Figure4.C:41
 Figure4.C:42
 Figure4.C:43
 Figure4.C:44
 Figure4.C:45
 Figure4.C:46
 Figure4.C:47
 Figure4.C:48
 Figure4.C:49
 Figure4.C:50
 Figure4.C:51
 Figure4.C:52
 Figure4.C:53
 Figure4.C:54
 Figure4.C:55
 Figure4.C:56
 Figure4.C:57
 Figure4.C:58
 Figure4.C:59
 Figure4.C:60
 Figure4.C:61
 Figure4.C:62
 Figure4.C:63
 Figure4.C:64
 Figure4.C:65
 Figure4.C:66
 Figure4.C:67
 Figure4.C:68
 Figure4.C:69
 Figure4.C:70
 Figure4.C:71
 Figure4.C:72
 Figure4.C:73
 Figure4.C:74
 Figure4.C:75
 Figure4.C:76
 Figure4.C:77
 Figure4.C:78
 Figure4.C:79
 Figure4.C:80
 Figure4.C:81
 Figure4.C:82
 Figure4.C:83
 Figure4.C:84
 Figure4.C:85
 Figure4.C:86
 Figure4.C:87
 Figure4.C:88
 Figure4.C:89
 Figure4.C:90
 Figure4.C:91
 Figure4.C:92
 Figure4.C:93
 Figure4.C:94
 Figure4.C:95
 Figure4.C:96
 Figure4.C:97
 Figure4.C:98
 Figure4.C:99
 Figure4.C:100
 Figure4.C:101
 Figure4.C:102
 Figure4.C:103
 Figure4.C:104
 Figure4.C:105
 Figure4.C:106
 Figure4.C:107
 Figure4.C:108
 Figure4.C:109
 Figure4.C:110
 Figure4.C:111
 Figure4.C:112
 Figure4.C:113
 Figure4.C:114
 Figure4.C:115
 Figure4.C:116
 Figure4.C:117
 Figure4.C:118
 Figure4.C:119
 Figure4.C:120
 Figure4.C:121
 Figure4.C:122
 Figure4.C:123
 Figure4.C:124
 Figure4.C:125
 Figure4.C:126
 Figure4.C:127
 Figure4.C:128
 Figure4.C:129
 Figure4.C:130
 Figure4.C:131
 Figure4.C:132
 Figure4.C:133
 Figure4.C:134
 Figure4.C:135
 Figure4.C:136
 Figure4.C:137
 Figure4.C:138
 Figure4.C:139
 Figure4.C:140
 Figure4.C:141
 Figure4.C:142
 Figure4.C:143
 Figure4.C:144
 Figure4.C:145
 Figure4.C:146
 Figure4.C:147
 Figure4.C:148
 Figure4.C:149
 Figure4.C:150
 Figure4.C:151
 Figure4.C:152
 Figure4.C:153
 Figure4.C:154
 Figure4.C:155
 Figure4.C:156
 Figure4.C:157
 Figure4.C:158
 Figure4.C:159
 Figure4.C:160
 Figure4.C:161
 Figure4.C:162
 Figure4.C:163
 Figure4.C:164
 Figure4.C:165
 Figure4.C:166
 Figure4.C:167
 Figure4.C:168
 Figure4.C:169
 Figure4.C:170
 Figure4.C:171
 Figure4.C:172
 Figure4.C:173
 Figure4.C:174
 Figure4.C:175
 Figure4.C:176
 Figure4.C:177
 Figure4.C:178
 Figure4.C:179
 Figure4.C:180
 Figure4.C:181
 Figure4.C:182
 Figure4.C:183
 Figure4.C:184
 Figure4.C:185
 Figure4.C:186
 Figure4.C:187
 Figure4.C:188
 Figure4.C:189
 Figure4.C:190
 Figure4.C:191
 Figure4.C:192
 Figure4.C:193
 Figure4.C:194
 Figure4.C:195
 Figure4.C:196
 Figure4.C:197
 Figure4.C:198
 Figure4.C:199
 Figure4.C:200
 Figure4.C:201
 Figure4.C:202
 Figure4.C:203
 Figure4.C:204
 Figure4.C:205
 Figure4.C:206
 Figure4.C:207
 Figure4.C:208
 Figure4.C:209
 Figure4.C:210
 Figure4.C:211
 Figure4.C:212
 Figure4.C:213
 Figure4.C:214
 Figure4.C:215
 Figure4.C:216
 Figure4.C:217
 Figure4.C:218
 Figure4.C:219
 Figure4.C:220
 Figure4.C:221
 Figure4.C:222
 Figure4.C:223
 Figure4.C:224
 Figure4.C:225
 Figure4.C:226
 Figure4.C:227
 Figure4.C:228
 Figure4.C:229
 Figure4.C:230
 Figure4.C:231
 Figure4.C:232
 Figure4.C:233
 Figure4.C:234
 Figure4.C:235
 Figure4.C:236
 Figure4.C:237
 Figure4.C:238
 Figure4.C:239
 Figure4.C:240
 Figure4.C:241
 Figure4.C:242
 Figure4.C:243
 Figure4.C:244
 Figure4.C:245
 Figure4.C:246
 Figure4.C:247
 Figure4.C:248
 Figure4.C:249
 Figure4.C:250
 Figure4.C:251
 Figure4.C:252
 Figure4.C:253
 Figure4.C:254
 Figure4.C:255
 Figure4.C:256
 Figure4.C:257
 Figure4.C:258
 Figure4.C:259
 Figure4.C:260
 Figure4.C:261
 Figure4.C:262
 Figure4.C:263
 Figure4.C:264
 Figure4.C:265
 Figure4.C:266
 Figure4.C:267
 Figure4.C:268
 Figure4.C:269
 Figure4.C:270
 Figure4.C:271
 Figure4.C:272
 Figure4.C:273
 Figure4.C:274
 Figure4.C:275
 Figure4.C:276
 Figure4.C:277
 Figure4.C:278
 Figure4.C:279
 Figure4.C:280
 Figure4.C:281
 Figure4.C:282
 Figure4.C:283
 Figure4.C:284
 Figure4.C:285
 Figure4.C:286
 Figure4.C:287
 Figure4.C:288
 Figure4.C:289
 Figure4.C:290
 Figure4.C:291
 Figure4.C:292
 Figure4.C:293
 Figure4.C:294
 Figure4.C:295
 Figure4.C:296
 Figure4.C:297
 Figure4.C:298
 Figure4.C:299
 Figure4.C:300
 Figure4.C:301
 Figure4.C:302
 Figure4.C:303
 Figure4.C:304
 Figure4.C:305
 Figure4.C:306
 Figure4.C:307
 Figure4.C:308
 Figure4.C:309
 Figure4.C:310
 Figure4.C:311
 Figure4.C:312
 Figure4.C:313
 Figure4.C:314
 Figure4.C:315
 Figure4.C:316
 Figure4.C:317
 Figure4.C:318
 Figure4.C:319
 Figure4.C:320
 Figure4.C:321
 Figure4.C:322
 Figure4.C:323
 Figure4.C:324
 Figure4.C:325
 Figure4.C:326
 Figure4.C:327
 Figure4.C:328
 Figure4.C:329
 Figure4.C:330
 Figure4.C:331
 Figure4.C:332
 Figure4.C:333
 Figure4.C:334
 Figure4.C:335
 Figure4.C:336
 Figure4.C:337
 Figure4.C:338
 Figure4.C:339
 Figure4.C:340
 Figure4.C:341
 Figure4.C:342
 Figure4.C:343
 Figure4.C:344
 Figure4.C:345
 Figure4.C:346
 Figure4.C:347
 Figure4.C:348
 Figure4.C:349
 Figure4.C:350
 Figure4.C:351
 Figure4.C:352
 Figure4.C:353
 Figure4.C:354
 Figure4.C:355
 Figure4.C:356
 Figure4.C:357
 Figure4.C:358
 Figure4.C:359
 Figure4.C:360
 Figure4.C:361
 Figure4.C:362
 Figure4.C:363
 Figure4.C:364
 Figure4.C:365
 Figure4.C:366
 Figure4.C:367
 Figure4.C:368
 Figure4.C:369
 Figure4.C:370
 Figure4.C:371
 Figure4.C:372
 Figure4.C:373
 Figure4.C:374
 Figure4.C:375
 Figure4.C:376
 Figure4.C:377
 Figure4.C:378
 Figure4.C:379
 Figure4.C:380
 Figure4.C:381
 Figure4.C:382
 Figure4.C:383
 Figure4.C:384
 Figure4.C:385
 Figure4.C:386
 Figure4.C:387
 Figure4.C:388
 Figure4.C:389
 Figure4.C:390
 Figure4.C:391
 Figure4.C:392
 Figure4.C:393
 Figure4.C:394
 Figure4.C:395
 Figure4.C:396
 Figure4.C:397
 Figure4.C:398
 Figure4.C:399
 Figure4.C:400
 Figure4.C:401
 Figure4.C:402
 Figure4.C:403
 Figure4.C:404
 Figure4.C:405
 Figure4.C:406
 Figure4.C:407
 Figure4.C:408
 Figure4.C:409
 Figure4.C:410
 Figure4.C:411
 Figure4.C:412
 Figure4.C:413
 Figure4.C:414
 Figure4.C:415
 Figure4.C:416