ROOT logo
//=======================================================================//
//Macro to draw the main results of the MH analysis:
//i) drawCentralityDependence3P:: Draws the <cos(psi1 + psi2 - 2psi3) 
//   vs centrality percentile
//ii) drawNpartDependence3P:: Draws the <cos(psi1 + psi2 - 2psi3) 
//    vs Nparticipants
//iii) drawNpartDependenceScaled3P:: Draws the Npart*<cos(psi1 + psi2 - 2psi3) 
//     vs Nparticipants
//iv) drawCentralityDependenceRP:: Draws the <cos(psi1 + psi2 - 2PsiRP) 
//   vs centrality percentile
//v) drawNpartDependenceRP:: Draws the <cos(psi1 + psi2 - 2PsiRP) 
//    vs Nparticipants
//vi) drawNpartDependenceScaledRP:: Draws the Npart*<cos(psi1 + psi2 - 2PsiRP) 
//    vs Nparticipants
//=======================================================================//
Bool_t gPreliminary = kFALSE;

//+++++++++++++++++++++GLOBAL VARIABLES+++++++++++++++++++++//
const Int_t nCentralityBins = 9;
TString strCentralityBins[nCentralityBins] = {"0-5","5-10","10-20",
					      "20-30","30-40","40-50",
					      "50-60","60-70","70-80"};
//Double_t gCentralityPercentile[nCentralityBins] = {75.,65.,55.,45.,35.,25.,15.,7.5,2.5};
Double_t gCentralityPercentileStar[nCentralityBins] = {1.75,6.75,14.,24.,34.,44.,54.,64.,74.};
Double_t gCentralityPercentile[nCentralityBins] = {3.0,8.0,16.,26.,36.,46.,56.,66.,76.};
Double_t gCentralityPercentile2[nCentralityBins] = {0.5,5.5,12.,22.,32.,42.,52.,62.,72.};
Double_t gCentralityPercentile3[nCentralityBins] = {4.25,9.25,18.,28.,38.,48.,58.,68.,78.};
Double_t gCentralityPercentileError[nCentralityBins] = {0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5};
// Double_t gCentralityPercentileSystematicError[nCentralityBins] = {1.5,1.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5};
Double_t gCentralityPercentileSystematicError[nCentralityBins] = {0,0,0,0,0,0,0,0,0};
Double_t gCentralityPercentileStarSystematicError[nCentralityBins] = {0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5};

//================================HIJING================================//
Double_t g3pCorrelatorHijingNoFlowPlusMinus[nCentralityBins] = {-1.20093e-07, 1.84157e-07, 1.76266e-07, 7.57471e-07, 1.19105e-06, 4.13612e-06, 1.40261e-05, 4.40286e-05, 9.745345e-05};
Double_t g3pCorrelatorHijingNoFlowPlusMinusError[nCentralityBins] = {9.3131e-08, 8.68461e-08, 1.21384e-07, 2.13452e-07, 1.12347e-07, 3.13793e-07, 8.37252e-07, 3.15813e-06, 9.655345e-06};
Double_t g3pCorrelatorHijingNoFlowSameCharge[nCentralityBins] = {1.77386e-08, 9.26015e-10, 7.43216e-08, 1.76705e-07, 8.10251e-07, 2.68011e-06, 9.20014e-06, 3.3102e-05, 9.95345e-05};
Double_t g3pCorrelatorHijingNoFlowSameChargeError[nCentralityBins] = {2.97636e-08,4.08723e-08, 4.65237e-08, 1.12774e-07, 1.99168e-07, 5.83821e-07, 1.56612e-06, 5.90915e-06, 2.12124e-05};
/*Double_t g3pCorrelatorHijingNoFlowPlusMinus[nCentralityBins] = {-1.20093e-07,2.1169e-07,8.38551e-07,1.71174e-06,4.37847e-06,1.05875e-05,2.98748e-05,0.000100555,0.000289372};
Double_t g3pCorrelatorHijingNoFlowPlusMinusError[nCentralityBins] = {9.3131e-08,5.3237e-08,4.87755e-08,9.58588e-08,2.42031e-07,4.74851e-07,1.23657e-06,3.81097e-06,1.27354e-05};
Double_t g3pCorrelatorHijingNoFlowSameCharge[nCentralityBins] = {1.77386e-08,1.3287e-07,4.17543e-07,5.91545e-07,3.51865e-06,7.17039e-06,2.00607e-05,6.20528e-05,0.000176748};
Double_t g3pCorrelatorHijingNoFlowSameChargeError[nCentralityBins] = {2.97636e-08,4.3382e-08,8.9158e-08,1.76401e-07,4.46464e-07,8.82932e-07,2.32232e-06,7.11183e-06,2.31168e-05};*/

/*Double_t g3pCorrelatorHijingWithFlowPlusMinus[nCentralityBins] = {-1.20093e-07, 1.56519e-07, 2.90847e-07, 7.57471e-07, 1.17141e-06, 4.13612e-06, 2.4549e-06, 2.10261e-05, 7.40286e-05};
Double_t g3pCorrelatorHijingWithFlowPlusMinusError[nCentralityBins] = {9.3131e-08, 7.9856e-08, 7.42477e-08, 2.13452e-07, 1.07302e-07, 3.13793e-07, 8.2704e-07, 9.37252e-07, 5.15813e-06};
Double_t g3pCorrelatorHijingWithFlowSameCharge[nCentralityBins] = {-5.78124e-07, 4.16894e-08, 3.8112e-07, -1.70606e-07, 8.10251e-07, 2.68011e-06, 2.4549e-06, 3.1102e-05, 8.95345e-05};
Double_t g3pCorrelatorHijingWithFlowSameChargeError[nCentralityBins] = {1.80581e-07, 1.45975e-07, 1.56996e-07, 3.96189e-07, 1.99168e-07, 5.83821e-07, 8.2704e-07, 7.90915e-06, 4.12124e-05};*/
/*Double_t g3pCorrelatorHijingWithFlowSameCharge[nCentralityBins] = {1.3299e-07,8.4476e-07,2.96354e-06,6.80478e-06,1.45245e-05,2.76715e-05,5.86195e-05,0.00012099,0.000279274};
Double_t g3pCorrelatorHijingWithFlowSameChargeError[nCentralityBins] = {9.7787e-08,1.6551e-07,2.17682e-07,4.47015e-07,1.05436e-06,8.82932e-07,5.47122e-06,9.83962e-06,2.75911e-05};
Double_t g3pCorrelatorHijingWithFlowPlusMinus[nCentralityBins] = {2.7632e-07,7.3227e-07,4.05092e-06,9.67432e-06,1.98196e-05,3.64523e-05,7.97305e-05,0.000172174,0.000412814};
Double_t g3pCorrelatorHijingWithFlowPlusMinusError[nCentralityBins] = {8.3287e-08,1.8366e-07,1.18877e-07,2.43468e-07,5.71375e-07,9.59e-07,2.05589e-06,5.28575e-06,1.51409e-05};*/
Double_t g3pCorrelatorHijingWithFlowSameCharge[nCentralityBins] = {1.3299e-08,4.4476e-07,1.96354e-06,3.80478e-06,7.45245e-06,0.76715e-05,2.86195e-05,0.00012099,0.000279274};
Double_t g3pCorrelatorHijingWithFlowSameChargeError[nCentralityBins] = {9.7787e-08,1.6551e-07,2.17682e-07,4.47015e-07,6.05436e-08,8.82932e-07,5.47122e-06,9.83962e-06,2.75911e-05};
Double_t g3pCorrelatorHijingWithFlowPlusMinus[nCentralityBins] = {2.7632e-08,5.3227e-07,2.05092e-06,6.67432e-06,9.98196e-06,2.64523e-05,4.97305e-05,0.000172174,0.000412814};
Double_t g3pCorrelatorHijingWithFlowPlusMinusError[nCentralityBins] = {8.3287e-08,1.8366e-07,1.18877e-07,2.43468e-07,5.71375e-07,9.59e-07,2.05589e-06,5.28575e-06,1.51409e-05};

Double_t g3pHijingNoFlowAvg[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingNoFlowAvgError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingNoFlowPlusMinus[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingNoFlowPlusMinusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingNoFlowSameCharge[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingNoFlowSameChargeError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};

Double_t g3pHijingWithFlowAvg[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingWithFlowAvgError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingWithFlowPlusMinus[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingWithFlowPlusMinusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingWithFlowSameCharge[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
Double_t g3pHijingWithFlowSameChargeError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
//================================HIJING================================//

//================================STAR================================//
Double_t g3pCorrelatorSTARPlusPlus[nCentralityBins] = {-2.72475e-05,
						       -4.84767e-05,
						       -8.43622e-05,
						       -0.000139391,
						       -0.000212998,
						       -0.000310464,
						       -0.000449019,
						       -0.000531625,
						       10.};
Double_t g3pCorrelatorSTARPlusPlusError[nCentralityBins] = {2.51676e-06,
							    2.38477e-06,
							    1.96375e-06,
							    2.50148e-06,
							    3.87569e-06,
							    6.65112e-06,
							    1.36251e-05,
							    3.49563e-05,
							    0.0};
Double_t g3pCorrelatorSTARPlusPlusSysErrorHigh[nCentralityBins] = {-2.372263e-05,-4.559134e-05,-8.079906e-05,-0.0001334556,-0.0002038168,-0.0002934094,-0.0004116487,-0.0004651086};
Double_t g3pCorrelatorSTARPlusPlusSysErrorLow[nCentralityBins] = {-7.013656e-05,-7.013656e-05,-0.0001010264,-0.0001578065,-0.0002416504,-0.0003675497,-0.0005460016,-0.0007163518};

Double_t g3pCorrelatorSTARPlusMinus[nCentralityBins] = {-1.16758e-05,
							-8.2939e-06,
							-7.9278e-06,
							-5.81744e-06,
							-3.32537e-06,
							1.71515e-05,
							5.88244e-05,
							0.000205355,
							10.};
Double_t g3pCorrelatorSTARPlusMinusError[nCentralityBins] = {2.55046e-06,
							     2.41575e-06,
							     1.99013e-06,
							     2.52889e-06,
							     3.90957e-06,
							     6.65273e-06,
							     1.3518e-05,
							     3.40235e-05,
							     0.0};
Double_t g3pCorrelatorSTARPlusMinusSysErrorHigh[nCentralityBins] = {-1.202044e-05,-8.387146e-06,-7.959642e-06,-5.834463e-06,-3.335567e-06,1.72155e-05,5.916783e-05,0.0002078669};
Double_t g3pCorrelatorSTARPlusMinusSysErrorLow[nCentralityBins] = {-1.199969e-05,-1.199969e-05,-9.493789e-06,-6.585985e-06,-3.772705e-06,2.030513e-05,7.152968e-05,0.0002767107};
//================================STAR================================//

//================================ALICE================================//
Double_t gv2[nCentralityBins] = {0.0218688,0.0410256,0.0617027,0.0803975,0.0914567,0.0950293,0.0930474,0.0871609,0.0854715};
Double_t gv2Error[nCentralityBins] = {0.00777206,0.0055282,0.00461509,0.00540859,0.00673375,0.00916149,0.0118708,0.0150726,0.0159525};

Double_t g3pCorrelatorALICEDataSameCharge[nCentralityBins] = {-1.60885e-05,
							      -2.33387e-05,
							      -5.49677e-05,
							      -0.000105864,
							      -0.000166243,
							      -0.000276424,
							      -0.00037915,
							      -0.000425016,
							      -0.000293409}; 
Double_t g3pCorrelatorALICEDataSameChargeError[nCentralityBins] = {3.22359e-06,
								   3.45502e-06,
								   3.26195e-06,
								   4.85736e-06,
								   7.60362e-06,
								   1.31918e-05,
								   2.61394e-05,
								   6.2836e-05,
								   0.000196171};
//Double_t g3pCorrelatorALICEDataSameChargeSystematicError[nCentralityBins] = {3.58357E-05,1.66674E-05,1.27416E-05,1.98483E-05,3.97548E-05,8.97482E-05,0.00010582,0.000233554,0.00031035126};
Double_t g3pCorrelatorALICEDataSameChargeSystematicError[nCentralityBins] = {1.6383E-05,1.66674E-05,1.27416E-05,1.98483E-05,3.97548E-05,8.97482E-05,0.00010582,0.000233554,0.00031035126};

Double_t g3pCorrelatorALICEDataPlusMinus[nCentralityBins] = {-3.25362e-07,
							     3.86547e-06,
							     -3.41652e-06,
							     -1.40672e-05,
							     -2.64535e-05,
							     -3.86616e-05,
							     2.17488e-05,
							     0.000248817,
							     0.00105866};
Double_t g3pCorrelatorALICEDataPlusMinusError[nCentralityBins] = {4.40278e-06,
								  4.87877e-06,
								  4.57899e-06,
								  6.81769e-06,
								  1.06697e-05,
								  1.83207e-05,
								  3.62493e-05,
								  8.68075e-05,
								  0.000279468};
//Double_t g3pCorrelatorALICEDataPlusMinusSystematicError[nCentralityBins] = {3.55452E-05,1.8482E-05,6.31586E-06,1.20367E-05,3.66273E-05,4.12716E-05,8.08092E-05,0.000158143,0.00031038405};
Double_t g3pCorrelatorALICEDataPlusMinusSystematicError[nCentralityBins] = {6.80205E-06,1.8482E-05,6.31586E-06,1.20367E-05,3.66273E-05,4.12716E-05,8.08092E-05,0.000158143,0.00031038405};

Double_t g3pCorrelatorALICEDatav1Fluctustions[nCentralityBins] = {-4.26793e-06,-5.19642e-06,-1.57247e-05,-3.27355e-05,-5.33411e-05,-8.64989e-05,-9.82421e-05,-4.53941e-05,0.000229361};
Double_t g3pCorrelatorALICEDatav1FluctustionsError[nCentralityBins] = {3.939e-06,4.5402e-06,1.34675e-05,2.72301e-05,4.30072e-05,7.10439e-05,8.04585e-05,4.27054e-05,0.000153265};

Double_t g3pCorrelatorALICEDatav1Fluctustions[nCentralityBins] = {-4.26793e-06,-5.19642e-06,-1.57247e-05,-3.27355e-05,-5.33411e-05,-8.64989e-05,-9.82421e-05,-4.53941e-05,0.000229361};
Double_t g3pCorrelatorALICEDatav1FluctustionsError[nCentralityBins] = {3.939e-06,4.5402e-06,1.34675e-05,2.72301e-05,4.30072e-05,7.10439e-05,8.04585e-05,4.27054e-05,0.000153265};
//================================ALICE================================//

//============================Toneev et al.=============================//
Double_t g3pCorrelatorToneevSameCharge[4] = {-2.*8.4e-07,-2.*0.0168e-03,-2.*0.0338e-03,-2.*0.0588e-03};
Double_t g3pCorrelatorToneevSameChargeError[4] = {0.,0.,0.,0.};
Double_t gCentralityPercentileToneev[4] = {2.5,20.,45.,67.};
Double_t gCentralityPercentileErrorToneev[4] = {0.5,0.5,0.5,0.5};
//============================Toneev et al.=============================//
//+++++++++++++++++++++END OF VARIABLES+++++++++++++++++++++//

//_____________________________________________________//
void drawPaperFigure2()
{
  //Draws the <cos(psi1 + psi2 - 2psi3) vs centrality percentile
  gROOT->LoadMacro("SetFlowStyle.C");
  SetFlowStyle();

  TGaxis::SetMaxDigits(2);
  
  //Fix the asymmetric errors for STAR
  for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) {
    g3pCorrelatorSTARPlusPlusSysErrorHigh[iBin] = TMath::Abs(g3pCorrelatorSTARPlusPlus[iBin] - g3pCorrelatorSTARPlusPlusSysErrorHigh[iBin]);
    g3pCorrelatorSTARPlusPlusSysErrorLow[iBin] = TMath::Abs(g3pCorrelatorSTARPlusPlus[iBin] - g3pCorrelatorSTARPlusPlusSysErrorLow[iBin]);
    //Printf("%lf - %lf - %lf",g3pCorrelatorSTARPlusPlus[iBin],g3pCorrelatorSTARPlusPlusSysErrorLow[iBin],g3pCorrelatorSTARPlusPlusSysErrorHigh[iBin]);

    g3pCorrelatorSTARPlusMinusSysErrorHigh[iBin] = TMath::Abs(g3pCorrelatorSTARPlusMinus[iBin] - g3pCorrelatorSTARPlusMinusSysErrorHigh[iBin]);
    g3pCorrelatorSTARPlusMinusSysErrorLow[iBin] = TMath::Abs(g3pCorrelatorSTARPlusMinus[iBin] - g3pCorrelatorSTARPlusMinusSysErrorLow[iBin]);
    //Printf("%lf - %lf - %lf",g3pCorrelatorSTARPlusMinus[iBin],g3pCorrelatorSTARPlusMinusSysErrorLow[iBin],g3pCorrelatorSTARPlusMinusSysErrorHigh[iBin]);
  }

  //Teany-Yan
  for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) {
    g3pCorrelatorALICEDatav1Fluctustions[iBin] = 0.5*(g3pCorrelatorALICEDataPlusMinus[iBin] + g3pCorrelatorALICEDataSameCharge[iBin]);
    //g3pCorrelatorALICEDatav1FluctustionsError[iBin] = 0.1*g3pCorrelatorALICEDatav1Fluctustions[iBin];
    g3pCorrelatorALICEDatav1FluctustionsError[iBin] = 0.5*TMath::Sqrt(TMath::Power(g3pCorrelatorALICEDataPlusMinusError[iBin],2) + TMath::Power(g3pCorrelatorALICEDataSameChargeError[iBin],2));
  }

  //HIJING
  for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) {
    //no flow
    g3pHijingNoFlowPlusMinus[iBin] = g3pCorrelatorHijingNoFlowPlusMinus[iBin]/gv2[iBin];
    g3pHijingNoFlowPlusMinusError[iBin] = (1./gv2[iBin])*TMath::Sqrt(TMath::Power((g3pCorrelatorHijingNoFlowPlusMinus[iBin]*gv2Error[iBin]/gv2[iBin]),2) + TMath::Power(g3pCorrelatorHijingNoFlowPlusMinusError[iBin],2));

    g3pHijingNoFlowSameCharge[iBin] = g3pCorrelatorHijingNoFlowSameCharge[iBin]/gv2[iBin];
    g3pHijingNoFlowSameChargeError[iBin] = (1./gv2[iBin])*TMath::Sqrt(TMath::Power((g3pCorrelatorHijingNoFlowSameCharge[iBin]*gv2Error[iBin]/gv2[iBin]),2) + TMath::Power(g3pCorrelatorHijingNoFlowSameChargeError[iBin],2));

    g3pHijingNoFlowAvg[iBin] = 0.5*(g3pHijingNoFlowPlusMinus[iBin] + g3pHijingNoFlowSameCharge[iBin]);
    g3pHijingNoFlowAvgError[iBin] = 0.5*TMath::Sqrt(TMath::Power(g3pHijingNoFlowPlusMinusError[iBin],2) + TMath::Power(g3pHijingNoFlowSameChargeError[iBin],2));

    //with flow
    g3pHijingWithFlowPlusMinus[iBin] = g3pCorrelatorHijingWithFlowPlusMinus[iBin]/gv2[iBin];
    g3pHijingWithFlowPlusMinusError[iBin] = (1./gv2[iBin])*TMath::Sqrt(TMath::Power((g3pCorrelatorHijingWithFlowPlusMinus[iBin]*gv2Error[iBin]/gv2[iBin]),2) + TMath::Power(g3pCorrelatorHijingWithFlowPlusMinusError[iBin],2));

    g3pHijingWithFlowSameCharge[iBin] = g3pCorrelatorHijingWithFlowSameCharge[iBin]/gv2[iBin];
    g3pHijingWithFlowSameChargeError[iBin] = (1./gv2[iBin])*TMath::Sqrt(TMath::Power((g3pCorrelatorHijingWithFlowSameCharge[iBin]*gv2Error[iBin]/gv2[iBin]),2) + TMath::Power(g3pCorrelatorHijingWithFlowSameChargeError[iBin],2));

    g3pHijingWithFlowAvg[iBin] = 0.5*(g3pHijingWithFlowPlusMinus[iBin] + g3pHijingWithFlowSameCharge[iBin]);
    g3pHijingWithFlowAvgError[iBin] = 0.5*TMath::Sqrt(TMath::Power(g3pHijingWithFlowPlusMinusError[iBin],2) + TMath::Power(g3pHijingWithFlowSameChargeError[iBin],2));
  }

  //================================================//
  //v1 fluctuations
  TH1F *gHistv1Fluctuations = new TH1F("gHistv1Fluctuations",
				       ";Centrality percentile;#LT cos(#phi_{#alpha} + #phi_{#beta} - 2#Psi_{RP}) #GT",
				       nCentralityBins,0,93);
  myTGraphSetUpTH(gHistv1Fluctuations,1,myv1FluctColorSame,0,1,myv1FluctColorSame,10,1001,myv1FluctColorSame);

  for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) {
    gHistv1Fluctuations->SetBinContent(iBin,g3pCorrelatorALICEDatav1Fluctustions[iBin]);
    gHistv1Fluctuations->SetBinError(iBin,g3pCorrelatorALICEDatav1FluctustionsError[iBin]);
    
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pCorrelatorALICEDatav1Fluctustions[iBin]<<" ± "<<g3pCorrelatorALICEDatav1FluctustionsError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pCorrelatorALICEDataSameCharge[iBin]<<" ± "<<g3pCorrelatorALICEDataSameChargeError[iBin]<<" ± "<<g3pCorrelatorALICEDataSameChargeSystematicError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pCorrelatorALICEDataPlusMinus[iBin]<<" ± "<<g3pCorrelatorALICEDataPlusMinusError[iBin]<<" ± "<<g3pCorrelatorALICEDataPlusMinusSystematicError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowPlusMinus[iBin]<<" ± "<<g3pHijingWithFlowPlusMinusError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowSameCharge[iBin]<<" ± "<<g3pHijingWithFlowSameChargeError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowPlusMinus[iBin]<<" ± "<<g3pHijingWithFlowPlusMinusError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingNoFlowSameCharge[iBin]<<" ± "<<g3pHijingNoFlowSameChargeError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingNoFlowPlusMinus[iBin]<<" ± "<<g3pHijingNoFlowPlusMinusError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowPlusMinus[iBin]<<" ± "<<g3pHijingWithFlowPlusMinusError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingNoFlowAvg[iBin]<<" ± "<<g3pHijingNoFlowAvgError[iBin]<<endl;
    //cout<<"Centrality: "<<strCentralityBins[iBin].Data()<<" "<<g3pHijingWithFlowAvg[iBin]<<" ± "<<g3pHijingWithFlowAvgError[iBin]<<endl;
  }

  //================================================//
  //HIJING without flow
  TString drawOptions_HIJING = "PZ";
  int markerColor_HIJING = 32;
  int markerColor_HIJINGv2 = 32;
  int lineColor_HIJING = markerColor_HIJING;
  int lineColor_HIJINGv2 = markerColor_HIJINGv2;
  int lineStyle_HIJING = 1;
  int lineStyle_HIJINGv2 = 1;
  int markerStyle_HIJINGopp = 32;
  int markerStyle_HIJINGoppv2 = 26;
  int markerStyle_HIJINGsame = 23;
  int markerStyle_HIJINGsamev2 = 22;
  float markerSize_HIJING = 1.*myMarkerSize;
  TGraphErrors *grHIJINGNoFlowAvg = new TGraphErrors(nCentralityBins,
						     gCentralityPercentile2,
						     g3pHijingNoFlowAvg,
						     gCentralityPercentileError,
						     g3pHijingNoFlowAvgError);
  myTGraphSetUp(grHIJINGNoFlowAvg,markerStyle_HIJINGopp,markerColor_HIJING,markerSize_HIJING,lineStyle_HIJING,lineColor_HIJING,2,1001,markerColor_HIJING);

  TGraphErrors *grHIJINGNoFlowPlusMinus = new TGraphErrors(nCentralityBins,
							   gCentralityPercentile2,
							   g3pHijingNoFlowPlusMinus,
							   gCentralityPercentileError,
							   g3pHijingNoFlowPlusMinusError);
  myTGraphSetUp(grHIJINGNoFlowPlusMinus,markerStyle_HIJINGopp,markerColor_HIJING,markerSize_HIJING,lineStyle_HIJING,lineColor_HIJING,2,1001,markerColor_HIJING);

  TGraphErrors *grHIJINGNoFlowSameCharge = new TGraphErrors(nCentralityBins,
							    gCentralityPercentile2,
							    g3pHijingNoFlowSameCharge,
							    gCentralityPercentileError,
							    g3pHijingNoFlowSameChargeError);
  myTGraphSetUp(grHIJINGNoFlowSameCharge,markerStyle_HIJINGsame,markerColor_HIJING,markerSize_HIJING,lineStyle_HIJING,lineColor_HIJING,2,1001,markerColor_HIJING);
  //================================================//

  //================================================//
  //HIJING with flow
  TGraphErrors *grHIJINGWithFlowAvg = new TGraphErrors(nCentralityBins,
						       gCentralityPercentile3,
						       g3pHijingWithFlowAvg,
						       gCentralityPercentileError,
						       g3pHijingWithFlowAvgError);
  myTGraphSetUp(grHIJINGWithFlowAvg,markerStyle_HIJINGsamev2,markerColor_HIJINGv2,markerSize_HIJING,lineStyle_HIJINGv2,markerColor_HIJINGv2,2,1001,markerColor_HIJINGv2);

  TGraphErrors *grHIJINGWithFlowPlusMinus = new TGraphErrors(nCentralityBins,
							   gCentralityPercentile3,
							   g3pHijingWithFlowPlusMinus,
							   gCentralityPercentileError,
							   g3pHijingWithFlowPlusMinusError);
  myTGraphSetUp(grHIJINGWithFlowPlusMinus,markerStyle_HIJINGsamev2,markerColor_HIJINGv2,markerSize_HIJING,lineStyle_HIJINGv2,markerColor_HIJINGv2,2,1001,markerColor_HIJINGv2);

  TGraphErrors *grHIJINGWithFlowSameCharge = new TGraphErrors(nCentralityBins,
							    gCentralityPercentile3,
							    g3pHijingWithFlowSameCharge,
							    gCentralityPercentileError,
							    g3pHijingWithFlowSameChargeError);
  myTGraphSetUp(grHIJINGWithFlowSameCharge,markerStyle_HIJINGsamev2,markerColor_HIJINGv2,markerSize_HIJING,lineStyle_HIJINGv2,markerColor_HIJINGv2,2,1001,markerColor_HIJINGv2);
  //================================================//

  //================================================//
  //Toneev et al.
  TGraphErrors *grToneevSameCharge = new TGraphErrors(4,gCentralityPercentileToneev,g3pCorrelatorToneevSameCharge,gCentralityPercentileErrorToneev,g3pCorrelatorToneevSameChargeError);
  myTGraphSetUp(grToneevSameCharge,21,myToneevColor,3,1,myToneevColor,3,1001,myToneevColor);
  //================================================//
  int markerColor_ALICE = myDarkRed;
  int lineColor_ALICE = markerColor_ALICE;
  int markerStyle_ALICEsame = 20;
  int markerStyle_ALICEopp = 24;
  int color_sysErr_STAR = 17;
  int color_sysErr_ALICE = 25;
  //(+-)
  TGraphErrors *grALICEDataPlusMinus = new TGraphErrors(nCentralityBins,
							gCentralityPercentile,
							g3pCorrelatorALICEDataPlusMinus,
							gCentralityPercentileError,
							g3pCorrelatorALICEDataPlusMinusError);
  myTGraphSetUp(grALICEDataPlusMinus,markerStyle_ALICEopp,markerColor_ALICE,myMarkerSize,1,lineColor_ALICE,2,1001,markerColor_ALICE);

  TGraphErrors *grALICEDataPlusMinusSystematic = new TGraphErrors(nCentralityBins,
                                                                  gCentralityPercentile,
                                                                  g3pCorrelatorALICEDataPlusMinus,
                                                                  gCentralityPercentileSystematicError,
                                                                  g3pCorrelatorALICEDataPlusMinusSystematicError);
  myTGraphSetUp(grALICEDataPlusMinusSystematic,markerStyle_ALICEopp,color_sysErr_ALICE,myMarkerSize,1,color_sysErr_ALICE,10,1001,color_sysErr_ALICE);
  Printf("ALICE (+-)");
  for(Int_t iCentrality = 0; iCentrality < nCentralityBins; iCentrality++) 
    cout<<"Centrality: "<<strCentralityBins[iCentrality].Data()<<" - C "<<g3pCorrelatorALICEDataPlusMinus[iCentrality]<<" - Sys: "<<g3pCorrelatorALICEDataPlusMinusSystematicError[iCentrality]<<" ("<<100*TMath::Abs(g3pCorrelatorALICEDataPlusMinusSystematicError[iCentrality]/g3pCorrelatorALICEDataPlusMinus[iCentrality])<<"%)"<<endl;
    
  int markerColor_STAR = 9;
  int lineColor_STAR = markerColor_STAR;
  TGraphErrors *grSTARDataPlusMinus = new TGraphErrors(nCentralityBins,
						       gCentralityPercentileStar,
						       g3pCorrelatorSTARPlusMinus,
						       gCentralityPercentileError,
						       g3pCorrelatorSTARPlusMinusError);
  myTGraphSetUp(grSTARDataPlusMinus,30,markerColor_STAR,myMarkerSize+0.2,1,lineColor_STAR,2,1001,markerColor_STAR);
  TGraphAsymmErrors *grSTARDataPlusMinusSystematics = new TGraphAsymmErrors(nCentralityBins,gCentralityPercentileStar,g3pCorrelatorSTARPlusMinus,gCentralityPercentileError,gCentralityPercentileError,g3pCorrelatorSTARPlusMinusSysErrorHigh,g3pCorrelatorSTARPlusMinusSysErrorLow);
    myTGraphSetUp_Asym(grSTARDataPlusMinusSystematics,30,color_sysErr_STAR,myMarkerSize,1,color_sysErr_STAR,10,1001,color_sysErr_STAR);

  //================================================//
  //(--)&(++)
  TGraphErrors *grALICEDataSameCharge = new TGraphErrors(nCentralityBins,
							 gCentralityPercentile,
							 g3pCorrelatorALICEDataSameCharge,
							 gCentralityPercentileError,
							 g3pCorrelatorALICEDataSameChargeError);
  myTGraphSetUp(grALICEDataSameCharge,markerStyle_ALICEsame,markerColor_ALICE,myMarkerSize,1,lineColor_ALICE,2,1001,markerColor_ALICE);

  TGraphErrors *grALICEDataSameChargeSystematic = new TGraphErrors(nCentralityBins,
                                                                  gCentralityPercentile,
                                                                  g3pCorrelatorALICEDataSameCharge,
                                                                  gCentralityPercentileSystematicError,
                                                                  g3pCorrelatorALICEDataSameChargeSystematicError);;
  myTGraphSetUp(grALICEDataSameChargeSystematic,markerStyle_ALICEsame,color_sysErr_ALICE,myMarkerSize,1,color_sysErr_ALICE,10,1001,color_sysErr_ALICE);
    Printf("ALICE (++,--)");
  for(Int_t iCentrality = 0; iCentrality < nCentralityBins; iCentrality++) 
    cout<<"Centrality: "<<strCentralityBins[iCentrality].Data()<<" - C "<<g3pCorrelatorALICEDataSameCharge[iCentrality]<<" - Sys: "<<g3pCorrelatorALICEDataSameChargeSystematicError[iCentrality]<<" ("<<100*TMath::Abs(g3pCorrelatorALICEDataSameChargeSystematicError[iCentrality]/g3pCorrelatorALICEDataSameCharge[iCentrality])<<"%)"<<endl;

  TGraphErrors *grSTARDataPlusPlus = new TGraphErrors(nCentralityBins,
						      gCentralityPercentileStar,
						      g3pCorrelatorSTARPlusPlus,
						      gCentralityPercentileError,
						      g3pCorrelatorSTARPlusPlusError);
  myTGraphSetUp(grSTARDataPlusPlus,29,markerColor_STAR,myMarkerSize+0.4,1,lineColor_STAR,2,1001,markerColor_STAR);
  TGraphAsymmErrors *grSTARDataPlusPlusSystematics = new TGraphAsymmErrors(nCentralityBins,
									   gCentralityPercentileStar,
									   g3pCorrelatorSTARPlusPlus,
									   gCentralityPercentileError,
									   gCentralityPercentileError,
									   g3pCorrelatorSTARPlusPlusSysErrorLow,
									   g3pCorrelatorSTARPlusPlusSysErrorHigh);
    myTGraphSetUp_Asym(grSTARDataPlusPlusSystematics,29,color_sysErr_STAR,myMarkerSize+0.4,1,color_sysErr_STAR,10,1001,color_sysErr_STAR);
 
  //_____________________________________________________//
  //Draw the results
  //_____________________________________________________//
  TLatex *latex = new TLatex();
  latex->SetTextSize(0.035);

  //====================================//
  //<cos(psi1+psi2-2phi3)> vs centrality
  TH2F *gEmpty1 = new TH2F("gEmpty1",
			  ";centrality, %;#LT cos(#phi_{#alpha} + #phi_{#beta} - 2#Psi_{RP}) #GT",
			  nCentralityBins,0,70,1000,-7.e-04,6.e-04);
  gEmpty1->SetStats(kFALSE);
  //gEmpty1->GetYaxis()->SetTitleOffset(1.8);
  //gEmpty1->GetXaxis()->SetTitleOffset(1.5);
  gEmpty1->GetYaxis()->SetTitleSize(0.07);
  gEmpty1->GetYaxis()->SetTitleOffset(0.85);
  gEmpty1->GetYaxis()->SetNdivisions(10);
  gEmpty1->GetXaxis()->SetNdivisions(10);

  TF1 *f1 = new TF1("f1","0",0,1000);
  f1->SetLineColor(1); f1->SetLineStyle(1); f1->SetLineWidth(1);

  TCanvas *c1 = new TCanvas("c1","Centrality dependence: 3p correlator",
			    0,0,800,600);
  TPad *myPad = new TPad("myPad", "The pad",0,0,1,1);
  myPadSetUp(myPad,0.15,0.065,0.04,0.15);
  myPad->Draw();
  myPad->cd();
  //c1->SetGridx(); c1->SetGridy();
  gEmpty1->Draw();
  f1->Draw("same");

  // shift various data points wrt. each other
  float shift_ALICE = -2.;
  float shift_STAR = 2.;
  float shift_HIJING = 6.5;
  float shift_HIJINGv2 = -0.5;
  
  ShiftAlongXaxis_TGraphErrors(grALICEDataPlusMinusSystematic,shift_ALICE);
  ShiftAlongXaxis_TGraphErrors(grALICEDataSameChargeSystematic,shift_ALICE);
  ShiftAlongXaxis_TGraphErrors(grALICEDataPlusMinus,shift_ALICE);
  ShiftAlongXaxis_TGraphErrors(grALICEDataSameCharge,shift_ALICE);

  ShiftAlongXaxis_TGraphAsymmErrors(grSTARDataPlusPlusSystematics,shift_STAR);
  ShiftAlongXaxis_TGraphAsymmErrors(grSTARDataPlusMinusSystematics,shift_STAR);
  ShiftAlongXaxis_TGraphErrors(grSTARDataPlusPlus,shift_STAR);
  ShiftAlongXaxis_TGraphErrors(grSTARDataPlusMinus,shift_STAR);
  
  ShiftAlongXaxis_TGraphErrors(grHIJINGWithFlowSameCharge,shift_HIJINGv2);
  ShiftAlongXaxis_TGraphErrors(grHIJINGWithFlowPlusMinus,shift_HIJINGv2);
  ShiftAlongXaxis_TGraphErrors(grHIJINGWithFlowAvg,shift_HIJINGv2);
  ShiftAlongXaxis_TGraphErrors(grHIJINGNoFlowSameCharge,shift_HIJING);
  ShiftAlongXaxis_TGraphErrors(grHIJINGNoFlowPlusMinus,shift_HIJING);
  ShiftAlongXaxis_TGraphErrors(grHIJINGNoFlowAvg,shift_HIJING);

  //grHIJINGWithFlowSameCharge->Draw(drawOptions_HIJING);
  //grHIJINGWithFlowPlusMinus->Draw(drawOptions_HIJING);
  //grHIJINGWithFlowAvg->Draw(drawOptions_HIJING);
  //grHIJINGNoFlowSameCharge->Draw(drawOptions_HIJING);
  //grHIJINGNoFlowPlusMinusAvg->Draw(drawOptions_HIJING);
  grHIJINGNoFlowAvg->Draw(drawOptions_HIJING);

  gHistv1Fluctuations->Draw("e3,same");
  grToneevSameCharge->Draw("C");

  grSTARDataPlusPlusSystematics->Draw("P2");
  grSTARDataPlusPlus->Draw("PZ");
  grSTARDataPlusMinusSystematics->Draw("P2");
  grSTARDataPlusMinus->Draw("PZ");

  grALICEDataPlusMinusSystematic->Draw("Z");
  grALICEDataSameChargeSystematic->Draw("Z");
  grALICEDataPlusMinus->Draw("PZ");
  TGraphErrors *grALICEDataPlusMinus_clone = (TGraphErrors*)grALICEDataPlusMinus->Clone("grALICEDataPlusMinus_clone");
  grALICEDataPlusMinus_clone->SetMarkerSize(0.9*grALICEDataPlusMinus->GetMarkerSize());
  TGraphErrors *grALICEDataPlusMinus_clone1 = (TGraphErrors*)grALICEDataPlusMinus->Clone("grALICEDataPlusMinus_clone1");
  grALICEDataPlusMinus_clone1->SetMarkerSize(0.8*grALICEDataPlusMinus->GetMarkerSize());
  grALICEDataPlusMinus_clone->Draw("PZ");
  grALICEDataPlusMinus_clone1->Draw("PZ");
  grALICEDataSameCharge->SetMarkerSize(1.1*grALICEDataSameCharge->GetMarkerSize());
  grALICEDataSameCharge->Draw("PZ");

  //TLegend *legend1 = new TLegend(0.18,0.54,0.8,0.85,"","brNDC");
  //TLegend *legend1 = new TLegend(0.19,0.63,0.78,0.88,"","brNDC");
  TLegend *legend1 = new TLegend(0.17,0.19,0.58,0.33,"","brNDC");
  myLegendSetUp(legend1,0.04);
  legend1->SetNColumns(2);
  //legend->AddEntry("Opposite charge","(+-)","");
  //legend->AddEntry("Same charge","Same Charge","");
  legend1->AddEntry(grALICEDataPlusMinusSystematic," ","L");
  legend1->AddEntry(grALICEDataSameChargeSystematic,"                                                       ","L");
//   legend1->AddEntry(grALICEDataSameChargeSystematic,"  ALICE Pb-Pb @ #sqrt{s_{NN}} = 2.76 TeV","lp");
  legend1->AddEntry(grSTARDataPlusMinusSystematics," ","L");
  legend1->AddEntry(grSTARDataPlusPlusSystematics,"                                                       ","L");
//   legend1->AddEntry("NULL"," ","");
//   legend1->AddEntry("NULL"," ","");
  legend1->AddEntry("NULL"," ","");
  legend1->AddEntry("NULL"," ","");
  legend1->AddEntry("NULL"," ","");
  legend1->AddEntry("NULL"," ","");
//   legend1->AddEntry("NULL"," ","");
//   legend1->AddEntry("NULL"," ","");
  //legend1->Draw();

  //TLegend *legend = new TLegend(0.19,0.68,0.78,0.93,"","brNDC");
  TLegend *legend = new TLegend(0.19,0.75,0.78,0.89,"","brNDC");
  myLegendSetUp(legend,0.04);
  legend->SetNColumns(2);
  //legend->AddEntry("Opposite charge","(+-)","");
  //legend->AddEntry("Same charge","Same Charge","");
  legend->AddEntry(grALICEDataSameCharge," ","p");
  legend->AddEntry(grALICEDataPlusMinus,"  ALICE Pb-Pb @ #sqrt{s_{NN}} = 2.76 TeV","p");
  legend->AddEntry(grSTARDataPlusPlus," ","p");
  legend->AddEntry(grSTARDataPlusMinus,"  STAR Au-Au @ #sqrt{s_{NN}} = 0.2 TeV","p");
  //legend->AddEntry(grHIJINGNoFlowSameCharge," ","p");
  //legend->AddEntry(grHIJINGNoFlowPlusMinus,"  #LTcos(#phi_{#alpha} + #phi_{#beta} - 2#phi_{c})#GT_{HIJING} / v_{2}{2}","p");
  //legend->AddEntry(grHIJINGWithFlowSameCharge," ","p");
  //legend->AddEntry(grHIJINGWithFlowPlusMinus,"  HIJING with v_{2} modulations","p");
//   legend->AddEntry(grToneevSameCharge," ","l");
//   legend->AddEntry("NULL","  CME expectation (Toneev #font[12]{et al.})","");
  legend->Draw();

  TLegend *legend3 = new TLegend(0.19,0.675,0.78,0.775,"","brNDC");
  myLegendSetUp(legend3,0.04);
  legend3->AddEntry(gHistv1Fluctuations,"  (ALICE) same+opp. mean","L");
  legend3->Draw();

  TLatex *myText = new TLatex();
  myText->SetNDC();
  myText->SetTextSize(0.04);
  myText->SetTextColor(1);
  myText->DrawLatex(0.195,0.89,"same");
  //myText->DrawLatex(0.155,0.34,"same");
  myText->SetTextColor(1);
  myText->DrawLatex(0.29,0.89,"opp.");
  //myText->DrawLatex(0.23,0.34,"opp.");
 
  //TLegend *legend2 = new TLegend(0.17,0.19,0.58,0.33,"","brNDC");
  TLegend *legend2 = new TLegend(0.17,0.19,0.58,0.37,"","brNDC");
  myLegendSetUp(legend2,0.04);
  //legend2->SetNColumns(2);
  //legend2->AddEntry("Opposite charge","(+-)","");
  //legend2->AddEntry("Same charge","Same Charge","");
//   legend2->AddEntry(grToneevSameCharge," Toneev #font[12]{et al.} (same charge)","L");
  legend2->AddEntry(grHIJINGNoFlowAvg,"  #LTcos(#phi_{#alpha} + #phi_{#beta} - 2#phi_{c})#GT_{HIJING} / v_{2}{2}","p");
  //legend2->AddEntry(grHIJINGWithFlowAvg,"  HIJING with v_{2} modulations","p");
  legend2->AddEntry(grToneevSameCharge," CME expectation (Toneev #font[12]{et al.})","L");
  //legend2->AddEntry(gHistv1Fluctuations," v_{1} fluctuations (same+opp. mean)","L");
  //legend2->AddEntry(gHistv1Fluctuations,"(ALICE) same+opp. mean","L");
  legend2->Draw();

  if(gPreliminary) {
    TLatex *alice = new TLatex(0.25,0.18,"Preliminary");
    alice->SetNDC();
    alice->SetTextColor(kRed+2);
    alice->SetTextSize(0.035);
    alice->SetLineWidth(2);
    alice->Draw();
    
    TPad *myPadLogo = new TPad("myPadLogo", 
			       "Pad for ALICE Logo",0.26,0.21,0.41,0.36);
    //myPadLogo->SetFillColor(2) // color to first figure out where is the pad then comment !
    myPadSetUp(myPadLogo,0,0,0,0);
    myPadLogo->Draw();
    myPadLogo->cd();
    TASImage *myAliceLogo = new TASImage("alice_logo_transparent.png");
    myAliceLogo->Draw();
  }

  c1->SaveAs("figure2.eps");
  c1->SaveAs("figure2.pdf");
  c1->SaveAs("figure2.png");
}

//_______________________________________________________________//
void SetDataPoints(const char* resultsPath,
		   Int_t chargeCombination) {
  //chargeCombination == 0 ==> (+-)
  //chargeCombination == 1 ==> (++)
  //chargeCombination == -1 ==> (--)
  //chargeCombination == 2 ==> (--)&(++)

  TString filename = resultsPath;
  //if(chargeCombination == 0) filename += "TPCOnly/PlusMinus/outputMH.root";
  //else if(chargeCombination == 1) filename += "TPCOnly/PlusPlus/outputMH.root";
  //else if(chargeCombination == -1) filename += "TPCOnly/MinusMinus/outputMH.root"; 
  //else if(chargeCombination == 2) filename += "TPCOnly/SameCharge/outputMH.root"; 
  if(chargeCombination == 0) filename += "PlusMinus/TPCOnly/outputMH.root";
  else if(chargeCombination == 1) filename += "PlusPlus/TPCOnly/outputMH.root";
  else if(chargeCombination == -1) filename += "MinusMinus/TPCOnly/outputMH.root"; 
  else if(chargeCombination == 2) filename += "SameCharge/TPCOnly/outputMH.root"; 
  else {
    Printf("Wrong charge combinations selected - the supported values are 0, 1 and -1");
    break;
  }
  //Printf("%s",filename.Data());
  TFile *fInput = TFile::Open(filename.Data());
  if(!fInput) {
    Printf("File %s not found!!!",filename.Data());
    break;
  } 
  //fInput->ls();

  TString hist3pName;
  TH1D *gHist3p;
  TString histQC2Name;
  TH1D *gHistQC2;
  TString histQC4Name;
  TH1D *gHistQC4;

  
  Double_t g3pPlusMinusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
  Double_t g3pPlusPlusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
  Double_t g3pMinusMinusError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};
  Double_t g3pSameChargeError[nCentralityBins] = {0.,0.,0.,0.,0.,0.,0.,0.,0.};

  for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) {
    hist3pName = "g3pHistName"; hist3pName += strCentralityBins[iBin];
    gHist3p = dynamic_cast<TH1D *>(fInput->Get(hist3pName.Data()));
    histQC2Name = "fHistIntegratedFlowRPQC_2;"; histQC2Name += iBin + 1;
    gHistQC2 = dynamic_cast<TH1D *>(fInput->Get(histQC2Name.Data()));
    histQC4Name = "fHistIntegratedFlowRPQC_4;"; histQC4Name += iBin + 1;
    gHistQC4 = dynamic_cast<TH1D *>(fInput->Get(histQC4Name.Data()));

    if(chargeCombination == 0) {
      g3pCorrelatorALICEDataPlusMinus[iBin] = gHist3p->GetBinContent(1);
      g3pPlusMinusError[iBin] = gHist3p->GetBinError(1);
      v2QC2PlusMinus[iBin] = gHistQC2->GetBinContent(1);
      v2QC2PlusMinusError[iBin] = gHistQC2->GetBinError(1);
      v2QC4PlusMinus[iBin] = gHistQC4->GetBinContent(1);
      v2QC4PlusMinusError[iBin] = gHistQC4->GetBinError(1);
    }
    if(chargeCombination == 1) {
      g3pCorrelatorALICEDataPlusPlus[iBin] = gHist3p->GetBinContent(1);
      g3pPlusPlusError[iBin] = gHist3p->GetBinError(1);
      v2QC2PlusPlus[iBin] = gHistQC2->GetBinContent(1);
      v2QC2PlusPlusError[iBin] = gHistQC2->GetBinError(1);
      v2QC4PlusPlus[iBin] = gHistQC4->GetBinContent(1);
      v2QC4PlusPlusError[iBin] = gHistQC4->GetBinError(1);
    }
    if(chargeCombination == -1) {
      g3pCorrelatorALICEDataMinusMinus[iBin] = gHist3p->GetBinContent(1);
      g3pMinusMinusError[iBin] = gHist3p->GetBinError(1);
      v2QC2MinusMinus[iBin] = gHistQC2->GetBinContent(1);
      v2QC2MinusMinusError[iBin] = gHistQC2->GetBinError(1);
      v2QC4MinusMinus[iBin] = gHistQC4->GetBinContent(1);
      v2QC4MinusMinusError[iBin] = gHistQC4->GetBinError(1);
    }
    if(chargeCombination == 2) {
      g3pCorrelatorALICEDataSameCharge[iBin] = gHist3p->GetBinContent(1);
      g3pSameChargeError[iBin] = gHist3p->GetBinError(1);
      v2QC2SameCharge[iBin] = gHistQC2->GetBinContent(1);
      v2QC2SameChargeError[iBin] = gHistQC2->GetBinError(1);
      v2QC4SameCharge[iBin] = gHistQC4->GetBinContent(1);
      v2QC4SameChargeError[iBin] = gHistQC4->GetBinError(1);
    }
  }//centrality bin

  for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) {
    if(chargeCombination == 0) {
      g3pCorrelatorALICEDataPlusMinus[iBin] /= v2QC2PlusMinus[iBin];
      g3pCorrelatorALICEDataPlusMinusError[iBin] = TMath::Sqrt(TMath::Power(g3pPlusMinusError[iBin]/v2QC2PlusMinus[iBin],2) + TMath::Power(g3pCorrelatorALICEDataPlusMinus[iBin]*v2QC2PlusMinusError[iBin]/(v2QC2PlusMinus[iBin]*v2QC2PlusMinus[iBin]),2));
    }
    if(chargeCombination == 1) {
      g3pCorrelatorALICEDataPlusPlus[iBin] /= v2QC2PlusPlus[iBin];
      g3pCorrelatorALICEDataPlusPlusError[iBin] = TMath::Sqrt(TMath::Power(g3pPlusPlusError[iBin]/v2QC2PlusPlus[iBin],2) + TMath::Power(g3pCorrelatorALICEDataPlusPlus[iBin]*v2QC2PlusPlusError[iBin]/(v2QC2PlusPlus[iBin]*v2QC2PlusPlus[iBin]),2));
    }
    if(chargeCombination == -1) {
      g3pCorrelatorALICEDataMinusMinus[iBin] /= v2QC2MinusMinus[iBin];
      g3pCorrelatorALICEDataMinusMinusError[iBin] = TMath::Sqrt(TMath::Power(g3pMinusMinusError[iBin]/v2QC2MinusMinus[iBin],2) + TMath::Power(g3pCorrelatorALICEDataMinusMinus[iBin]*v2QC2MinusMinusError[iBin]/(v2QC2MinusMinus[iBin]*v2QC2MinusMinus[iBin]),2));
    }
    if(chargeCombination == 2) {
      g3pCorrelatorALICEDataSameCharge[iBin] /= v2QC2SameCharge[iBin];
      g3pCorrelatorALICEDataSameChargeError[iBin] = TMath::Sqrt(TMath::Power(g3pSameChargeError[iBin]/v2QC2SameCharge[iBin],2) + TMath::Power(g3pCorrelatorALICEDataSameCharge[iBin]*v2QC2SameChargeError[iBin]/(v2QC2SameCharge[iBin]*v2QC2SameCharge[iBin]),2));
    }
  }
}

//_______________________________________________________________//
void GetCorrelatorAndError(TProfile *g3pCorrelatorVsPt,
			   Double_t &g3pCorrelatorValue,
			   Double_t &g3pCorrelatorError,
			   Int_t iBinLow = 0,
			   Int_t iBinHigh = 0) {
  //Function to return the average value of the 3p correlator 
  //<cos(psi1 + psi2 - 2phi3)> and its error.
  //The first argument is one of the 3p TProfile objects vs pt.
  //The second and third argument give the integral and its error.
  //The fourth and fifth, if specified, indicate the lowest and 
  //highest bin the calculation should be performed for.
  Int_t gBinLow = 1, gBinHigh = g3pCorrelatorVsPt->GetNbinsX();
  if(iBinLow) gBinLow = iBinLow;
  if(iBinHigh) gBinHigh = iBinHigh;
  
  Double_t gSumXi = 0.;
  Double_t gSumYi = 0.;
  Double_t gSumXiYi = 0.;
  Double_t gSumXiYi2 = 0.;
  Double_t gSumXi2Yi2 = 0.;
  Double_t gSumDeltaXi2 = 0.;
  Double_t gSumYi2DeltaXi2 = 0.;
  Double_t dError = 0.; //Flow code driven error calculation

  Double_t kSumBi = 0., kSumBi2DeltaYi2 = 0.;
  Double_t kSumYiBi = 0., kSumYi2DeltaBi2 = 0.;
  Double_t kSumDeltaBi2 = 0.;

  for(Int_t iBin = gBinLow; iBin <= gBinHigh; iBin++) {
    gSumXi += g3pCorrelatorVsPt->GetBinEntries(iBin);
    gSumYi += g3pCorrelatorVsPt->GetBinContent(iBin);
    gSumXiYi += g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinContent(iBin);
    gSumXiYi2 += g3pCorrelatorVsPt->GetBinEntries(iBin)*TMath::Power(g3pCorrelatorVsPt->GetBinContent(iBin),2);
    gSumXi2Yi2 += TMath::Power(g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinContent(iBin),2);
    gSumDeltaXi2 += TMath::Power(g3pCorrelatorVsPt->GetBinError(iBin),2);
    gSumYi2DeltaXi2 += TMath::Power(g3pCorrelatorVsPt->GetBinContent(iBin),2) + TMath::Power(g3pCorrelatorVsPt->GetBinError(iBin),2);

    dError += g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinError(iBin)*g3pCorrelatorVsPt->GetBinError(iBin);  

    //new error calculation
    kSumBi += g3pCorrelatorVsPt->GetBinEntries(iBin);
    kSumYiBi += g3pCorrelatorVsPt->GetBinEntries(iBin)*g3pCorrelatorVsPt->GetBinContent(iBin);
    kSumBi2DeltaYi2 += TMath::Power(g3pCorrelatorVsPt->GetBinEntries(iBin),2)*TMath::Power(g3pCorrelatorVsPt->GetBinError(iBin),2);
    kSumYi2DeltaBi2 += TMath::Power(g3pCorrelatorVsPt->GetBinContent(iBin),2)*TMath::Power(TMath::Sqrt(g3pCorrelatorVsPt->GetBinEntries(iBin)),2);  
    kSumDeltaBi2 += TMath::Power(TMath::Sqrt(g3pCorrelatorVsPt->GetBinEntries(iBin)),2);
  }
  
  g3pCorrelatorValue = -1000.;
  g3pCorrelatorError = 1000.;
  
  if(gSumXi != 0.)
    g3pCorrelatorValue = gSumXiYi/gSumXi;
  if((gSumXi != 0.)&&(gSumXiYi != 0.))
    g3pCorrelatorError = TMath::Abs((gSumXiYi/gSumXi))*TMath::Sqrt(TMath::Power((TMath::Sqrt(gSumYi2DeltaXi2)/gSumXiYi),2) + TMath::Power((gSumDeltaXi2/gSumXi),2));
    //g3pCorrelatorError = TMath::Sqrt((1./TMath::Power(kSumBi,2))*(kSumBi2DeltaYi2 + kSumYi2DeltaBi2 + TMath::Power(kSumYiBi,2)*kSumDeltaBi2/TMath::Power(kSumBi,2)));
  if(gSumXi != 0.)
    dError /= TMath::Power(gSumXi,2);
  dError = TMath::Sqrt(dError);
  g3pCorrelatorError = dError;

  /*Int_t iBinCounter = 0;
  Double_t gSumBinContentTimesWeight = 0., gSumWeight = 0.;
  Double_t gSumBinContentTimesWeightSquared = 0.;
  for(Int_t iBin = gBinLow; iBin <= gBinHigh; iBin++) {
    iBinCounter += 1;
    
    gSumBinContentTimesWeight += g3pCorrelatorVsPt->GetBinContent(iBin)*g3pCorrelatorVsPt->GetBinEntries(iBin);
    gSumWeight += g3pCorrelatorVsPt->GetBinEntries(iBin);
    gSumBinContentTimesWeightSquared += TMath::Power(gSumBinContentTimesWeight,2);
  }

  //Printf("%lf - %d",gSumWeight,iBinCounter);
  //Calculate the g3pCorrelatorValue and its error
  g3pCorrelatorValue = -1000.;
  g3pCorrelatorError = 1000.;
  if((gSumWeight)&&(iBinCounter)) {
    g3pCorrelatorValue = gSumBinContentTimesWeight/(gSumWeight);
    g3pCorrelatorError = TMath::Sqrt(gSumBinContentTimesWeightSquared/TMath::Power(gSumWeight,2));
    }*/
  
  //+++++++++++++++++++Extra new: Proper error calculation++++++++++++++++//
  Double_t kSumBi = 0.;
  Double_t kSumAiBi = 0.;
  Double_t kSumBi2DeltaAi2 = 0.;
  Double_t kSumLong = 0.;
  Double_t k3pCorrelatorValue = 10000., k3pCorrelatorValueError = 10000.;

  for(Int_t iBin = gBinLow; iBin <= gBinHigh; iBin++) {
    kSumBi += g3pCorrelatorVsPt->GetBinEntries(iBin);
    kSumAiBi += g3pCorrelatorVsPt->GetBinContent(iBin)*g3pCorrelatorVsPt->GetBinEntries(iBin);
    kSumBi2DeltaAi2 += g3pCorrelatorVsPt->GetBinEntries(iBin)*TMath::Power(g3pCorrelatorVsPt->GetBinError(iBin),2);
  }

  for(Int_t iBin = gBinLow; iBin <= gBinHigh; iBin++) {
    kSumLong += TMath::Power((g3pCorrelatorVsPt->GetBinContent(iBin)*kSumBi - kSumAiBi),2)*TMath::Power(TMath::Sqrt( g3pCorrelatorVsPt->GetBinEntries(iBin)),2)/TMath::Power(kSumBi,2);
  }

  k3pCorrelatorValue = kSumAiBi/kSumBi;
  k3pCorrelatorValueError = TMath::Sqrt((1./TMath::Power(kSumBi,2))*(kSumBi2DeltaAi2 + kSumLong));

  //g3pCorrelatorValue = k3pCorrelatorValue;
  //g3pCorrelatorError = k3pCorrelatorValueError;

  return;
}


//_______________________________________________________________//
void DrawMarker(Double_t x, Double_t y, Int_t style, 
		Double_t size, Int_t color) {
  TMarker *m = new TMarker(x,y,style);
  m->SetMarkerSize(size);
  m->SetMarkerColor(color);
  m->Draw();
}

 drawPaperFigure2.C:1
 drawPaperFigure2.C:2
 drawPaperFigure2.C:3
 drawPaperFigure2.C:4
 drawPaperFigure2.C:5
 drawPaperFigure2.C:6
 drawPaperFigure2.C:7
 drawPaperFigure2.C:8
 drawPaperFigure2.C:9
 drawPaperFigure2.C:10
 drawPaperFigure2.C:11
 drawPaperFigure2.C:12
 drawPaperFigure2.C:13
 drawPaperFigure2.C:14
 drawPaperFigure2.C:15
 drawPaperFigure2.C:16
 drawPaperFigure2.C:17
 drawPaperFigure2.C:18
 drawPaperFigure2.C:19
 drawPaperFigure2.C:20
 drawPaperFigure2.C:21
 drawPaperFigure2.C:22
 drawPaperFigure2.C:23
 drawPaperFigure2.C:24
 drawPaperFigure2.C:25
 drawPaperFigure2.C:26
 drawPaperFigure2.C:27
 drawPaperFigure2.C:28
 drawPaperFigure2.C:29
 drawPaperFigure2.C:30
 drawPaperFigure2.C:31
 drawPaperFigure2.C:32
 drawPaperFigure2.C:33
 drawPaperFigure2.C:34
 drawPaperFigure2.C:35
 drawPaperFigure2.C:36
 drawPaperFigure2.C:37
 drawPaperFigure2.C:38
 drawPaperFigure2.C:39
 drawPaperFigure2.C:40
 drawPaperFigure2.C:41
 drawPaperFigure2.C:42
 drawPaperFigure2.C:43
 drawPaperFigure2.C:44
 drawPaperFigure2.C:45
 drawPaperFigure2.C:46
 drawPaperFigure2.C:47
 drawPaperFigure2.C:48
 drawPaperFigure2.C:49
 drawPaperFigure2.C:50
 drawPaperFigure2.C:51
 drawPaperFigure2.C:52
 drawPaperFigure2.C:53
 drawPaperFigure2.C:54
 drawPaperFigure2.C:55
 drawPaperFigure2.C:56
 drawPaperFigure2.C:57
 drawPaperFigure2.C:58
 drawPaperFigure2.C:59
 drawPaperFigure2.C:60
 drawPaperFigure2.C:61
 drawPaperFigure2.C:62
 drawPaperFigure2.C:63
 drawPaperFigure2.C:64
 drawPaperFigure2.C:65
 drawPaperFigure2.C:66
 drawPaperFigure2.C:67
 drawPaperFigure2.C:68
 drawPaperFigure2.C:69
 drawPaperFigure2.C:70
 drawPaperFigure2.C:71
 drawPaperFigure2.C:72
 drawPaperFigure2.C:73
 drawPaperFigure2.C:74
 drawPaperFigure2.C:75
 drawPaperFigure2.C:76
 drawPaperFigure2.C:77
 drawPaperFigure2.C:78
 drawPaperFigure2.C:79
 drawPaperFigure2.C:80
 drawPaperFigure2.C:81
 drawPaperFigure2.C:82
 drawPaperFigure2.C:83
 drawPaperFigure2.C:84
 drawPaperFigure2.C:85
 drawPaperFigure2.C:86
 drawPaperFigure2.C:87
 drawPaperFigure2.C:88
 drawPaperFigure2.C:89
 drawPaperFigure2.C:90
 drawPaperFigure2.C:91
 drawPaperFigure2.C:92
 drawPaperFigure2.C:93
 drawPaperFigure2.C:94
 drawPaperFigure2.C:95
 drawPaperFigure2.C:96
 drawPaperFigure2.C:97
 drawPaperFigure2.C:98
 drawPaperFigure2.C:99
 drawPaperFigure2.C:100
 drawPaperFigure2.C:101
 drawPaperFigure2.C:102
 drawPaperFigure2.C:103
 drawPaperFigure2.C:104
 drawPaperFigure2.C:105
 drawPaperFigure2.C:106
 drawPaperFigure2.C:107
 drawPaperFigure2.C:108
 drawPaperFigure2.C:109
 drawPaperFigure2.C:110
 drawPaperFigure2.C:111
 drawPaperFigure2.C:112
 drawPaperFigure2.C:113
 drawPaperFigure2.C:114
 drawPaperFigure2.C:115
 drawPaperFigure2.C:116
 drawPaperFigure2.C:117
 drawPaperFigure2.C:118
 drawPaperFigure2.C:119
 drawPaperFigure2.C:120
 drawPaperFigure2.C:121
 drawPaperFigure2.C:122
 drawPaperFigure2.C:123
 drawPaperFigure2.C:124
 drawPaperFigure2.C:125
 drawPaperFigure2.C:126
 drawPaperFigure2.C:127
 drawPaperFigure2.C:128
 drawPaperFigure2.C:129
 drawPaperFigure2.C:130
 drawPaperFigure2.C:131
 drawPaperFigure2.C:132
 drawPaperFigure2.C:133
 drawPaperFigure2.C:134
 drawPaperFigure2.C:135
 drawPaperFigure2.C:136
 drawPaperFigure2.C:137
 drawPaperFigure2.C:138
 drawPaperFigure2.C:139
 drawPaperFigure2.C:140
 drawPaperFigure2.C:141
 drawPaperFigure2.C:142
 drawPaperFigure2.C:143
 drawPaperFigure2.C:144
 drawPaperFigure2.C:145
 drawPaperFigure2.C:146
 drawPaperFigure2.C:147
 drawPaperFigure2.C:148
 drawPaperFigure2.C:149
 drawPaperFigure2.C:150
 drawPaperFigure2.C:151
 drawPaperFigure2.C:152
 drawPaperFigure2.C:153
 drawPaperFigure2.C:154
 drawPaperFigure2.C:155
 drawPaperFigure2.C:156
 drawPaperFigure2.C:157
 drawPaperFigure2.C:158
 drawPaperFigure2.C:159
 drawPaperFigure2.C:160
 drawPaperFigure2.C:161
 drawPaperFigure2.C:162
 drawPaperFigure2.C:163
 drawPaperFigure2.C:164
 drawPaperFigure2.C:165
 drawPaperFigure2.C:166
 drawPaperFigure2.C:167
 drawPaperFigure2.C:168
 drawPaperFigure2.C:169
 drawPaperFigure2.C:170
 drawPaperFigure2.C:171
 drawPaperFigure2.C:172
 drawPaperFigure2.C:173
 drawPaperFigure2.C:174
 drawPaperFigure2.C:175
 drawPaperFigure2.C:176
 drawPaperFigure2.C:177
 drawPaperFigure2.C:178
 drawPaperFigure2.C:179
 drawPaperFigure2.C:180
 drawPaperFigure2.C:181
 drawPaperFigure2.C:182
 drawPaperFigure2.C:183
 drawPaperFigure2.C:184
 drawPaperFigure2.C:185
 drawPaperFigure2.C:186
 drawPaperFigure2.C:187
 drawPaperFigure2.C:188
 drawPaperFigure2.C:189
 drawPaperFigure2.C:190
 drawPaperFigure2.C:191
 drawPaperFigure2.C:192
 drawPaperFigure2.C:193
 drawPaperFigure2.C:194
 drawPaperFigure2.C:195
 drawPaperFigure2.C:196
 drawPaperFigure2.C:197
 drawPaperFigure2.C:198
 drawPaperFigure2.C:199
 drawPaperFigure2.C:200
 drawPaperFigure2.C:201
 drawPaperFigure2.C:202
 drawPaperFigure2.C:203
 drawPaperFigure2.C:204
 drawPaperFigure2.C:205
 drawPaperFigure2.C:206
 drawPaperFigure2.C:207
 drawPaperFigure2.C:208
 drawPaperFigure2.C:209
 drawPaperFigure2.C:210
 drawPaperFigure2.C:211
 drawPaperFigure2.C:212
 drawPaperFigure2.C:213
 drawPaperFigure2.C:214
 drawPaperFigure2.C:215
 drawPaperFigure2.C:216
 drawPaperFigure2.C:217
 drawPaperFigure2.C:218
 drawPaperFigure2.C:219
 drawPaperFigure2.C:220
 drawPaperFigure2.C:221
 drawPaperFigure2.C:222
 drawPaperFigure2.C:223
 drawPaperFigure2.C:224
 drawPaperFigure2.C:225
 drawPaperFigure2.C:226
 drawPaperFigure2.C:227
 drawPaperFigure2.C:228
 drawPaperFigure2.C:229
 drawPaperFigure2.C:230
 drawPaperFigure2.C:231
 drawPaperFigure2.C:232
 drawPaperFigure2.C:233
 drawPaperFigure2.C:234
 drawPaperFigure2.C:235
 drawPaperFigure2.C:236
 drawPaperFigure2.C:237
 drawPaperFigure2.C:238
 drawPaperFigure2.C:239
 drawPaperFigure2.C:240
 drawPaperFigure2.C:241
 drawPaperFigure2.C:242
 drawPaperFigure2.C:243
 drawPaperFigure2.C:244
 drawPaperFigure2.C:245
 drawPaperFigure2.C:246
 drawPaperFigure2.C:247
 drawPaperFigure2.C:248
 drawPaperFigure2.C:249
 drawPaperFigure2.C:250
 drawPaperFigure2.C:251
 drawPaperFigure2.C:252
 drawPaperFigure2.C:253
 drawPaperFigure2.C:254
 drawPaperFigure2.C:255
 drawPaperFigure2.C:256
 drawPaperFigure2.C:257
 drawPaperFigure2.C:258
 drawPaperFigure2.C:259
 drawPaperFigure2.C:260
 drawPaperFigure2.C:261
 drawPaperFigure2.C:262
 drawPaperFigure2.C:263
 drawPaperFigure2.C:264
 drawPaperFigure2.C:265
 drawPaperFigure2.C:266
 drawPaperFigure2.C:267
 drawPaperFigure2.C:268
 drawPaperFigure2.C:269
 drawPaperFigure2.C:270
 drawPaperFigure2.C:271
 drawPaperFigure2.C:272
 drawPaperFigure2.C:273
 drawPaperFigure2.C:274
 drawPaperFigure2.C:275
 drawPaperFigure2.C:276
 drawPaperFigure2.C:277
 drawPaperFigure2.C:278
 drawPaperFigure2.C:279
 drawPaperFigure2.C:280
 drawPaperFigure2.C:281
 drawPaperFigure2.C:282
 drawPaperFigure2.C:283
 drawPaperFigure2.C:284
 drawPaperFigure2.C:285
 drawPaperFigure2.C:286
 drawPaperFigure2.C:287
 drawPaperFigure2.C:288
 drawPaperFigure2.C:289
 drawPaperFigure2.C:290
 drawPaperFigure2.C:291
 drawPaperFigure2.C:292
 drawPaperFigure2.C:293
 drawPaperFigure2.C:294
 drawPaperFigure2.C:295
 drawPaperFigure2.C:296
 drawPaperFigure2.C:297
 drawPaperFigure2.C:298
 drawPaperFigure2.C:299
 drawPaperFigure2.C:300
 drawPaperFigure2.C:301
 drawPaperFigure2.C:302
 drawPaperFigure2.C:303
 drawPaperFigure2.C:304
 drawPaperFigure2.C:305
 drawPaperFigure2.C:306
 drawPaperFigure2.C:307
 drawPaperFigure2.C:308
 drawPaperFigure2.C:309
 drawPaperFigure2.C:310
 drawPaperFigure2.C:311
 drawPaperFigure2.C:312
 drawPaperFigure2.C:313
 drawPaperFigure2.C:314
 drawPaperFigure2.C:315
 drawPaperFigure2.C:316
 drawPaperFigure2.C:317
 drawPaperFigure2.C:318
 drawPaperFigure2.C:319
 drawPaperFigure2.C:320
 drawPaperFigure2.C:321
 drawPaperFigure2.C:322
 drawPaperFigure2.C:323
 drawPaperFigure2.C:324
 drawPaperFigure2.C:325
 drawPaperFigure2.C:326
 drawPaperFigure2.C:327
 drawPaperFigure2.C:328
 drawPaperFigure2.C:329
 drawPaperFigure2.C:330
 drawPaperFigure2.C:331
 drawPaperFigure2.C:332
 drawPaperFigure2.C:333
 drawPaperFigure2.C:334
 drawPaperFigure2.C:335
 drawPaperFigure2.C:336
 drawPaperFigure2.C:337
 drawPaperFigure2.C:338
 drawPaperFigure2.C:339
 drawPaperFigure2.C:340
 drawPaperFigure2.C:341
 drawPaperFigure2.C:342
 drawPaperFigure2.C:343
 drawPaperFigure2.C:344
 drawPaperFigure2.C:345
 drawPaperFigure2.C:346
 drawPaperFigure2.C:347
 drawPaperFigure2.C:348
 drawPaperFigure2.C:349
 drawPaperFigure2.C:350
 drawPaperFigure2.C:351
 drawPaperFigure2.C:352
 drawPaperFigure2.C:353
 drawPaperFigure2.C:354
 drawPaperFigure2.C:355
 drawPaperFigure2.C:356
 drawPaperFigure2.C:357
 drawPaperFigure2.C:358
 drawPaperFigure2.C:359
 drawPaperFigure2.C:360
 drawPaperFigure2.C:361
 drawPaperFigure2.C:362
 drawPaperFigure2.C:363
 drawPaperFigure2.C:364
 drawPaperFigure2.C:365
 drawPaperFigure2.C:366
 drawPaperFigure2.C:367
 drawPaperFigure2.C:368
 drawPaperFigure2.C:369
 drawPaperFigure2.C:370
 drawPaperFigure2.C:371
 drawPaperFigure2.C:372
 drawPaperFigure2.C:373
 drawPaperFigure2.C:374
 drawPaperFigure2.C:375
 drawPaperFigure2.C:376
 drawPaperFigure2.C:377
 drawPaperFigure2.C:378
 drawPaperFigure2.C:379
 drawPaperFigure2.C:380
 drawPaperFigure2.C:381
 drawPaperFigure2.C:382
 drawPaperFigure2.C:383
 drawPaperFigure2.C:384
 drawPaperFigure2.C:385
 drawPaperFigure2.C:386
 drawPaperFigure2.C:387
 drawPaperFigure2.C:388
 drawPaperFigure2.C:389
 drawPaperFigure2.C:390
 drawPaperFigure2.C:391
 drawPaperFigure2.C:392
 drawPaperFigure2.C:393
 drawPaperFigure2.C:394
 drawPaperFigure2.C:395
 drawPaperFigure2.C:396
 drawPaperFigure2.C:397
 drawPaperFigure2.C:398
 drawPaperFigure2.C:399
 drawPaperFigure2.C:400
 drawPaperFigure2.C:401
 drawPaperFigure2.C:402
 drawPaperFigure2.C:403
 drawPaperFigure2.C:404
 drawPaperFigure2.C:405
 drawPaperFigure2.C:406
 drawPaperFigure2.C:407
 drawPaperFigure2.C:408
 drawPaperFigure2.C:409
 drawPaperFigure2.C:410
 drawPaperFigure2.C:411
 drawPaperFigure2.C:412
 drawPaperFigure2.C:413
 drawPaperFigure2.C:414
 drawPaperFigure2.C:415
 drawPaperFigure2.C:416
 drawPaperFigure2.C:417
 drawPaperFigure2.C:418
 drawPaperFigure2.C:419
 drawPaperFigure2.C:420
 drawPaperFigure2.C:421
 drawPaperFigure2.C:422
 drawPaperFigure2.C:423
 drawPaperFigure2.C:424
 drawPaperFigure2.C:425
 drawPaperFigure2.C:426
 drawPaperFigure2.C:427
 drawPaperFigure2.C:428
 drawPaperFigure2.C:429
 drawPaperFigure2.C:430
 drawPaperFigure2.C:431
 drawPaperFigure2.C:432
 drawPaperFigure2.C:433
 drawPaperFigure2.C:434
 drawPaperFigure2.C:435
 drawPaperFigure2.C:436
 drawPaperFigure2.C:437
 drawPaperFigure2.C:438
 drawPaperFigure2.C:439
 drawPaperFigure2.C:440
 drawPaperFigure2.C:441
 drawPaperFigure2.C:442
 drawPaperFigure2.C:443
 drawPaperFigure2.C:444
 drawPaperFigure2.C:445
 drawPaperFigure2.C:446
 drawPaperFigure2.C:447
 drawPaperFigure2.C:448
 drawPaperFigure2.C:449
 drawPaperFigure2.C:450
 drawPaperFigure2.C:451
 drawPaperFigure2.C:452
 drawPaperFigure2.C:453
 drawPaperFigure2.C:454
 drawPaperFigure2.C:455
 drawPaperFigure2.C:456
 drawPaperFigure2.C:457
 drawPaperFigure2.C:458
 drawPaperFigure2.C:459
 drawPaperFigure2.C:460
 drawPaperFigure2.C:461
 drawPaperFigure2.C:462
 drawPaperFigure2.C:463
 drawPaperFigure2.C:464
 drawPaperFigure2.C:465
 drawPaperFigure2.C:466
 drawPaperFigure2.C:467
 drawPaperFigure2.C:468
 drawPaperFigure2.C:469
 drawPaperFigure2.C:470
 drawPaperFigure2.C:471
 drawPaperFigure2.C:472
 drawPaperFigure2.C:473
 drawPaperFigure2.C:474
 drawPaperFigure2.C:475
 drawPaperFigure2.C:476
 drawPaperFigure2.C:477
 drawPaperFigure2.C:478
 drawPaperFigure2.C:479
 drawPaperFigure2.C:480
 drawPaperFigure2.C:481
 drawPaperFigure2.C:482
 drawPaperFigure2.C:483
 drawPaperFigure2.C:484
 drawPaperFigure2.C:485
 drawPaperFigure2.C:486
 drawPaperFigure2.C:487
 drawPaperFigure2.C:488
 drawPaperFigure2.C:489
 drawPaperFigure2.C:490
 drawPaperFigure2.C:491
 drawPaperFigure2.C:492
 drawPaperFigure2.C:493
 drawPaperFigure2.C:494
 drawPaperFigure2.C:495
 drawPaperFigure2.C:496
 drawPaperFigure2.C:497
 drawPaperFigure2.C:498
 drawPaperFigure2.C:499
 drawPaperFigure2.C:500
 drawPaperFigure2.C:501
 drawPaperFigure2.C:502
 drawPaperFigure2.C:503
 drawPaperFigure2.C:504
 drawPaperFigure2.C:505
 drawPaperFigure2.C:506
 drawPaperFigure2.C:507
 drawPaperFigure2.C:508
 drawPaperFigure2.C:509
 drawPaperFigure2.C:510
 drawPaperFigure2.C:511
 drawPaperFigure2.C:512
 drawPaperFigure2.C:513
 drawPaperFigure2.C:514
 drawPaperFigure2.C:515
 drawPaperFigure2.C:516
 drawPaperFigure2.C:517
 drawPaperFigure2.C:518
 drawPaperFigure2.C:519
 drawPaperFigure2.C:520
 drawPaperFigure2.C:521
 drawPaperFigure2.C:522
 drawPaperFigure2.C:523
 drawPaperFigure2.C:524
 drawPaperFigure2.C:525
 drawPaperFigure2.C:526
 drawPaperFigure2.C:527
 drawPaperFigure2.C:528
 drawPaperFigure2.C:529
 drawPaperFigure2.C:530
 drawPaperFigure2.C:531
 drawPaperFigure2.C:532
 drawPaperFigure2.C:533
 drawPaperFigure2.C:534
 drawPaperFigure2.C:535
 drawPaperFigure2.C:536
 drawPaperFigure2.C:537
 drawPaperFigure2.C:538
 drawPaperFigure2.C:539
 drawPaperFigure2.C:540
 drawPaperFigure2.C:541
 drawPaperFigure2.C:542
 drawPaperFigure2.C:543
 drawPaperFigure2.C:544
 drawPaperFigure2.C:545
 drawPaperFigure2.C:546
 drawPaperFigure2.C:547
 drawPaperFigure2.C:548
 drawPaperFigure2.C:549
 drawPaperFigure2.C:550
 drawPaperFigure2.C:551
 drawPaperFigure2.C:552
 drawPaperFigure2.C:553
 drawPaperFigure2.C:554
 drawPaperFigure2.C:555
 drawPaperFigure2.C:556
 drawPaperFigure2.C:557
 drawPaperFigure2.C:558
 drawPaperFigure2.C:559
 drawPaperFigure2.C:560
 drawPaperFigure2.C:561
 drawPaperFigure2.C:562
 drawPaperFigure2.C:563
 drawPaperFigure2.C:564
 drawPaperFigure2.C:565
 drawPaperFigure2.C:566
 drawPaperFigure2.C:567
 drawPaperFigure2.C:568
 drawPaperFigure2.C:569
 drawPaperFigure2.C:570
 drawPaperFigure2.C:571
 drawPaperFigure2.C:572
 drawPaperFigure2.C:573
 drawPaperFigure2.C:574
 drawPaperFigure2.C:575
 drawPaperFigure2.C:576
 drawPaperFigure2.C:577
 drawPaperFigure2.C:578
 drawPaperFigure2.C:579
 drawPaperFigure2.C:580
 drawPaperFigure2.C:581
 drawPaperFigure2.C:582
 drawPaperFigure2.C:583
 drawPaperFigure2.C:584
 drawPaperFigure2.C:585
 drawPaperFigure2.C:586
 drawPaperFigure2.C:587
 drawPaperFigure2.C:588
 drawPaperFigure2.C:589
 drawPaperFigure2.C:590
 drawPaperFigure2.C:591
 drawPaperFigure2.C:592
 drawPaperFigure2.C:593
 drawPaperFigure2.C:594
 drawPaperFigure2.C:595
 drawPaperFigure2.C:596
 drawPaperFigure2.C:597
 drawPaperFigure2.C:598
 drawPaperFigure2.C:599
 drawPaperFigure2.C:600
 drawPaperFigure2.C:601
 drawPaperFigure2.C:602
 drawPaperFigure2.C:603
 drawPaperFigure2.C:604
 drawPaperFigure2.C:605
 drawPaperFigure2.C:606
 drawPaperFigure2.C:607
 drawPaperFigure2.C:608
 drawPaperFigure2.C:609
 drawPaperFigure2.C:610
 drawPaperFigure2.C:611
 drawPaperFigure2.C:612
 drawPaperFigure2.C:613
 drawPaperFigure2.C:614
 drawPaperFigure2.C:615
 drawPaperFigure2.C:616
 drawPaperFigure2.C:617
 drawPaperFigure2.C:618
 drawPaperFigure2.C:619
 drawPaperFigure2.C:620
 drawPaperFigure2.C:621
 drawPaperFigure2.C:622
 drawPaperFigure2.C:623
 drawPaperFigure2.C:624
 drawPaperFigure2.C:625
 drawPaperFigure2.C:626
 drawPaperFigure2.C:627
 drawPaperFigure2.C:628
 drawPaperFigure2.C:629
 drawPaperFigure2.C:630
 drawPaperFigure2.C:631
 drawPaperFigure2.C:632
 drawPaperFigure2.C:633
 drawPaperFigure2.C:634
 drawPaperFigure2.C:635
 drawPaperFigure2.C:636
 drawPaperFigure2.C:637
 drawPaperFigure2.C:638
 drawPaperFigure2.C:639
 drawPaperFigure2.C:640
 drawPaperFigure2.C:641
 drawPaperFigure2.C:642
 drawPaperFigure2.C:643
 drawPaperFigure2.C:644
 drawPaperFigure2.C:645
 drawPaperFigure2.C:646
 drawPaperFigure2.C:647
 drawPaperFigure2.C:648
 drawPaperFigure2.C:649
 drawPaperFigure2.C:650
 drawPaperFigure2.C:651
 drawPaperFigure2.C:652
 drawPaperFigure2.C:653
 drawPaperFigure2.C:654
 drawPaperFigure2.C:655
 drawPaperFigure2.C:656
 drawPaperFigure2.C:657
 drawPaperFigure2.C:658
 drawPaperFigure2.C:659
 drawPaperFigure2.C:660
 drawPaperFigure2.C:661
 drawPaperFigure2.C:662
 drawPaperFigure2.C:663
 drawPaperFigure2.C:664
 drawPaperFigure2.C:665
 drawPaperFigure2.C:666
 drawPaperFigure2.C:667
 drawPaperFigure2.C:668
 drawPaperFigure2.C:669
 drawPaperFigure2.C:670
 drawPaperFigure2.C:671
 drawPaperFigure2.C:672
 drawPaperFigure2.C:673
 drawPaperFigure2.C:674
 drawPaperFigure2.C:675
 drawPaperFigure2.C:676
 drawPaperFigure2.C:677
 drawPaperFigure2.C:678
 drawPaperFigure2.C:679
 drawPaperFigure2.C:680
 drawPaperFigure2.C:681
 drawPaperFigure2.C:682
 drawPaperFigure2.C:683
 drawPaperFigure2.C:684
 drawPaperFigure2.C:685
 drawPaperFigure2.C:686
 drawPaperFigure2.C:687
 drawPaperFigure2.C:688
 drawPaperFigure2.C:689
 drawPaperFigure2.C:690
 drawPaperFigure2.C:691
 drawPaperFigure2.C:692
 drawPaperFigure2.C:693
 drawPaperFigure2.C:694
 drawPaperFigure2.C:695
 drawPaperFigure2.C:696
 drawPaperFigure2.C:697
 drawPaperFigure2.C:698
 drawPaperFigure2.C:699
 drawPaperFigure2.C:700
 drawPaperFigure2.C:701
 drawPaperFigure2.C:702
 drawPaperFigure2.C:703
 drawPaperFigure2.C:704
 drawPaperFigure2.C:705
 drawPaperFigure2.C:706
 drawPaperFigure2.C:707
 drawPaperFigure2.C:708
 drawPaperFigure2.C:709
 drawPaperFigure2.C:710
 drawPaperFigure2.C:711
 drawPaperFigure2.C:712
 drawPaperFigure2.C:713
 drawPaperFigure2.C:714
 drawPaperFigure2.C:715
 drawPaperFigure2.C:716
 drawPaperFigure2.C:717
 drawPaperFigure2.C:718
 drawPaperFigure2.C:719
 drawPaperFigure2.C:720
 drawPaperFigure2.C:721
 drawPaperFigure2.C:722
 drawPaperFigure2.C:723
 drawPaperFigure2.C:724
 drawPaperFigure2.C:725
 drawPaperFigure2.C:726
 drawPaperFigure2.C:727
 drawPaperFigure2.C:728
 drawPaperFigure2.C:729
 drawPaperFigure2.C:730
 drawPaperFigure2.C:731
 drawPaperFigure2.C:732
 drawPaperFigure2.C:733
 drawPaperFigure2.C:734
 drawPaperFigure2.C:735
 drawPaperFigure2.C:736
 drawPaperFigure2.C:737
 drawPaperFigure2.C:738
 drawPaperFigure2.C:739
 drawPaperFigure2.C:740
 drawPaperFigure2.C:741
 drawPaperFigure2.C:742
 drawPaperFigure2.C:743
 drawPaperFigure2.C:744
 drawPaperFigure2.C:745
 drawPaperFigure2.C:746
 drawPaperFigure2.C:747
 drawPaperFigure2.C:748
 drawPaperFigure2.C:749
 drawPaperFigure2.C:750
 drawPaperFigure2.C:751
 drawPaperFigure2.C:752
 drawPaperFigure2.C:753
 drawPaperFigure2.C:754
 drawPaperFigure2.C:755
 drawPaperFigure2.C:756
 drawPaperFigure2.C:757
 drawPaperFigure2.C:758
 drawPaperFigure2.C:759
 drawPaperFigure2.C:760
 drawPaperFigure2.C:761
 drawPaperFigure2.C:762
 drawPaperFigure2.C:763
 drawPaperFigure2.C:764
 drawPaperFigure2.C:765
 drawPaperFigure2.C:766
 drawPaperFigure2.C:767
 drawPaperFigure2.C:768
 drawPaperFigure2.C:769
 drawPaperFigure2.C:770
 drawPaperFigure2.C:771
 drawPaperFigure2.C:772
 drawPaperFigure2.C:773
 drawPaperFigure2.C:774
 drawPaperFigure2.C:775
 drawPaperFigure2.C:776
 drawPaperFigure2.C:777
 drawPaperFigure2.C:778
 drawPaperFigure2.C:779