ROOT logo
Int_t colors[] = {TColor::kRed, TColor::kOrange, TColor::kGreen+3, TColor::kBlue, TColor::kBlack, 
		  TColor::kRed, TColor::kOrange, TColor::kGreen+3, TColor::kBlue, TColor::kBlack, 
		  TColor::kRed, TColor::kOrange, TColor::kGreen+3, TColor::kBlue, TColor::kBlack, 
		  TColor::kRed, TColor::kOrange, TColor::kGreen+3, TColor::kBlue, TColor::kBlack};
Int_t markers[] = {20,21,22,23,33, 24,25,26,32,27, 20,21,22,23,33, 24,25,26,32,27};
Int_t CutSet = 0;//Defaults: 250 MeV for PHOS and 300 MeV for EMCal
//1:  350 MeV for both
Float_t fem = 0.246;
Float_t femerr = 0.028;
void SetStyles(TGraph *graph, Int_t marker, Int_t color){
  graph->SetMarkerStyle(marker);
  graph->SetMarkerColor(color);
  graph->SetLineColor(color);
  graph->SetMarkerSize(1.5);
}
void WriteLatex();
Float_t finalemetCorrEmcal[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t finalemetCorrPhos[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t finalemetErrorEmcal[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t finalemetErrorPhos[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t finaltotaletCorrEmcal[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t finaltotaletCorrPhos[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t finaltotaletErrorEmcal[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t finaltotaletErrorPhos[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
//neutron
Float_t GetMostLikelyValue(TH1 *histo){
  Float_t max = 0;
  Float_t maxx=0;
  for(Int_t bin=1;bin<histo->GetNbinsX();bin++){
    if(histo->GetBinContent(bin)>max){
      max = histo->GetBinContent(bin);
      maxx = histo->GetBinCenter(bin);
    }
  }
  return maxx;
}

Float_t npartShort[10] =    {382.8,329.7,260.5,186.4,128.9, 85,52.8,30.0,15.8,7.48};
Float_t npartErrShort[10] = {    6,    6,  4.4,  3.9,  3.3,2.6,   2, 1.3, 0.6,0.29};
Float_t npart[20] = {382.7, 329.4, 281.2, 239, 202.1, 169.5, 141, 116, 94.11, 75.3, 59.24, 45.58, 34.33, 25.21, 17.96, 12.58, 8.812, 6.158, 4.376, 3.064};
Float_t npartErr[20] = {3, 4.3, 4.1, 3.5, 3.3, 3.3, 3.1, 2.8, 2.6, 2.3, 1.8, 1.4, 1.1, 0.87, 0.66, 0.45, 0.26, 0.19, 0.1, 0.059};

//========================Charged Pion Reference========================================
//Arrays for defining comparison plots
Float_t pionPlusEt[10] = {360.7,298.3,223.8,149.9,96.1, 58.1,32.4,16.4,7.3,2.7};
Float_t pionMinusEt[10] ={363.7,300.4,225.4,150.5,96.6, 58.4,32.5,16.5,7.4,2.8};
Float_t pionEtError[10] = {19.3, 15.3,11.3 ,7.5  , 4.8,  2.9, 1.6, 0.8,0.4,0.1};
Float_t pionEt[10] = {0,0,0,0,0, 0,0,0,0,0};
Float_t ypion[10]  = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t ypionerr[10]  = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t emEtFromPions[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t emEtFromPionsErr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t emEtFromPionsPerNpart[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t emEtFromPionsPerNpartErr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t npartAlt1[20],npartAlt2[20],npartAlt3[20];

TGraphErrors *GetPionEtGraph(){
  for(int i=0;i<10;i++){
    pionEt[i] = (pionPlusEt[i]+pionMinusEt[i])/2.0;
    //emEtFromPions[i] = pionEt[i]*1.085;
    emEtFromPions[i] = pionEt[i]*1.171;
    emEtFromPionsErr[i] = emEtFromPions[i]*TMath::Sqrt(TMath::Power(0.11/1.171,2)+TMath::Power(pionEtError[i]/pionEt[i],2));
    ypion[i] = pionEt[i]/(npartShort[i]/2);
    ypionerr[i] = pionEtError[i]/(npartShort[i]/2);
    emEtFromPionsPerNpart[i] = emEtFromPions[i]/(npartShort[i]/2);
    emEtFromPionsPerNpartErr[i] = emEtFromPionsErr[i]/(npartShort[i]/2);
    npartAlt1[i] = npartShort[i]+2;
    npartAlt2[i] = npartShort[i]-2;
    npartAlt3[i] = npartShort[i]+4;
  }
  TGraphErrors *gr2 = new TGraphErrors(10,npartShort,ypion,npartErrShort,ypionerr);
  gr2->GetYaxis()->SetTitle("dE_{T}/d#eta#frac{1}{0.5*N_{part}} [GeV]");
  gr2->GetXaxis()->SetTitle("N_{part}");
  gr2->SetTitle("");
  gr2->GetXaxis()->SetRangeUser(0, 400);
  SetStyles(gr2,30,TColor::kBlue);

  return gr2;
}

TGraphErrors *GetPionEmEtGraph(){
    TGraphErrors *gr3 = new TGraphErrors(10,npartAlt3,emEtFromPionsPerNpart,npartErrShort,emEtFromPionsPerNpartErr);
    SetStyles(gr3,29,TColor::kBlue);
    return gr3;

}
//========================Reading in corrections========================================
Float_t energyscaleerror = 0.02;
Float_t nonLinError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t nonLinErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
//Float_t signalFraction[20] = {0.4,0.4,0.4,0.4,0.4, 0.4,0.4,0.4,0.4,0.4, 0.4,0.4,0.4,0.4,0.4, 0.4,0.4,0.4,0.4,0.4};
Float_t signalFraction[20] = {0.3,0.3,0.3,0.3,0.3, 0.3,0.3,0.3,0.3,0.3, 0.3,0.3,0.3,0.3,0.3, 0.3,0.3,0.3,0.3,0.3};
Float_t signalFractionError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
//Float_t averageEfficiency[20] = {0.5,0.5,0.5,0.5,0.5, 0.5,0.5,0.5,0.5,0.5, 0.5,0.5,0.5,0.5,0.5, 0.5,0.5,0.5,0.5,0.5};
Float_t averageEfficiency[20] = {1.0,1.0,1.0,1.0,1.0, 1.0,1.0,1.0,1.0,1.0, 1.0,1.0,1.0,1.0,1.0, 1.0,1.0,1.0,1.0,1.0};
Float_t averageEfficiencyError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t efficiencyError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t efficiencyErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t neutronCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t neutronError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t neutronErrorShort[11] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0};
Float_t neutronCorrShort[11] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0};
Float_t neutronErrorPerNChShort[11] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0};
Float_t neutronCorrPerNChShort[11] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0};
Float_t neutronErrorPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t neutronCorrPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryCorrShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryCorrPerNChShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryErrorPerNChShort[10] =  {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryCorrPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryErrorPerNCh[20] =  {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonCorrShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonErrorPerNChShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonCorrPerNChShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonErrorPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonCorrPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadCorrShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadronErrorPerNChShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadronCorrPerNChShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadronErrorPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadronCorrPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t minEtErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t minEtCorrShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t minEtError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t minEtCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};


Float_t neutronCorrNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t neutronErrorNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t neutronErrorShortNoEffCorr[11] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0};
Float_t neutronCorrShortNoEffCorr[11] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0};
Float_t neutronErrorPerNChShortNoEffCorr[11] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0};
Float_t neutronCorrPerNChShortNoEffCorr[11] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0};
Float_t neutronErrorPerNChNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t neutronCorrPerNChNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryErrorShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryCorrShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryCorrNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryErrorNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryCorrPerNChShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryErrorPerNChShortNoEffCorr[10] =  {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryCorrPerNChNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t secondaryErrorPerNChNoEffCorr[20] =  {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonErrorNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonCorrNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonErrorShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonCorrShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonErrorPerNChShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonCorrPerNChShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonErrorPerNChNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonCorrPerNChNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadErrorShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadCorrShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadErrorNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadCorrNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadronErrorPerNChShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadronCorrPerNChShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadronErrorPerNChNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t hadronCorrPerNChNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};




Float_t kaonYield[10] = {109,90.5,68,46,30,18.2,10.2,5.1,2.3,0.855};
Float_t kaonYieldStatErr[10] = {0.3,0.2,0.1,0.1,0.1, 0.06,0.04,0.03,0.02,0.01};
Float_t kaonYieldSysErr[10] = {9,7,5,4,2, 1.5,0.8,0.4,0.2,0.09};
Float_t kaonYieldTotErr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonYieldPerNCh[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonYieldPerNChErr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonEtPerNCh[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t kaonEtPerNChErr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Double_t kaonPlusEt[2][10] = {{91.7712,75.8971,56.841,37.6962,23.9923,14.255,7.73469,3.74477,1.60505,0.578278},{6.61811,5.39337,3.9978,2.6337,1.67854,1.01849,0.557879,0.278199,0.125057,0.0592682}};
Double_t kaonMinusEt[2][10] = {{90.4723,74.9444,55.9463,37.286,23.6591,14.0413,7.63067,3.69337,1.59219,0.571019},{7.01588,5.76588,4.20933,2.80388,1.77983,1.06934,0.588003,0.292737,0.138191,0.0600075}};

Float_t averageHadEnergy = -1;
Float_t averageHadEnergyError = -1;

ofstream myfileHadCorrTable;


void ReadMinEtCorrections(){
  cout<<"Reading in min et corrections..."<<endl;
  string inline;
  float value = 0;
  float error = 0;
  float err = 0;
  int i=0;
  //file names like /tmp/MinEtEmcalShortCut7.dat
  //1 = 100 MeV/c
  //2 = 150 MeV/c
  //3 = 200 MeV/c
  //4 = 250 MeV/c
  //5 = 300 MeV/c
  //6 = 350 MeV/c
  //7 = 400 MeV/c
  //8 = 450 MeV/c
  //9 = 500 MeV/c
  //10 = 550 MeV/c
  TString cutstring = "";
  if(CutSet==1) cutstring = "Cut6";
  if(CutSet==2) cutstring = "Cut7";
  TString minetInfileNameShort = "MinEt"+detector+"Short"+cutstring+".dat";
  cout<<"Reading "<<minetInfileNameShort.Data()<<endl;
  ifstream myminetfileShort (minetInfileNameShort.Data());
  if (myminetfileShort.is_open()){
    while ( myminetfileShort.good() )
      {
	getline (myminetfileShort,inline);
	istringstream tmp(inline);
	tmp >> value;
	tmp >> error;
	if(i<10){
	  minEtCorrShort[i] = value;
	  minEtErrorShort[i] = error;
	}
	//cout<<"min et corr cb "<<i<<" "<< minEtCorrShort[i]<<" +/- "<<minEtErrorShort[i]<<endl;
	i++;
      }
    myminetfileShort.close();
  }
  //doing the linear interpolation between the two data points we have
  TGraphErrors *graphMinEtCorrectionShort = GetMinEtCorrectionGraphShort();
  int shortbin = 0;
  for(int i=0;i<19;i++){
    //cout<<"Long bin "<<i<<" short bin "<<shortbin;
    if(i<2){//we have exact numbers so we don't need to interpolate
      minEtCorr[i] = minEtCorrShort[i];
      minEtError[i] = minEtErrorShort[i];
      shortbin++;
    }
    else{
      minEtCorr[i] = graphMinEtCorrectionShort->Eval(trackmultiplicity[i]);
      int altbin = shortbin-1;
      if(i%2==1){altbin = shortbin+1;}
      //cout<<" altbin "<<altbin;
      if(minEtErrorShort[shortbin]>minEtErrorShort[altbin]) minEtError[i] = minEtErrorShort[shortbin];
      else{minEtError[i] = minEtErrorShort[altbin];}
      if(i%2==1 && shortbin<10){shortbin++;}
    }
    // cout<<"min et corr cb "<<i<<" "<< minEtCorr[i]<<" +/- "<<minEtError[i]<<endl;
    //cout<<endl;
  }
  delete graphMinEtCorrectionShort;

}
void ReadInNeutronCorrections(){
  cout<<"Reading in neutron corrections..."<<endl;
  TString neutronInfileName = "Neutrons"+detector+".dat";
  ifstream myneutronfile (neutronInfileName.Data());
  string inline;
  float value = 0;
  float error = 0;
  int i=0;
  if (myneutronfile.is_open()){
    while ( myneutronfile.good() )
      {
	getline (myneutronfile,inline);
	istringstream tmp(inline);
	tmp >> value;
	tmp >> error;
	if(i<20){
	  neutronCorr[i] = value;
	  neutronError[i] = error;
	  if(trackmultiplicity[i]>0){
	    neutronCorrPerNCh[i] = value/(trackmultiplicity[i])/2.0;
	    neutronErrorPerNCh[i] = error/(trackmultiplicity[i])/2.0;
	  }
	}

	// cout<<"neutroncorr cb "<<i<<" "<<value<<" +/- "<<error<<endl;
	i++;
      }
    myneutronfile.close();

  }
  TString neutronInfileNameShort = "Neutrons"+detector+"Short.dat";
  ifstream myneutronfileShort (neutronInfileNameShort.Data());
  i=0;
  if (myneutronfileShort.is_open()){
    while ( myneutronfileShort.good() )
      {
	getline (myneutronfileShort,inline);
	istringstream tmp(inline);
	tmp >> value;
	tmp >> error;
	if(i<10){
	  neutronCorrShort[i] = value;
	  neutronErrorShort[i] = error;
	  neutronCorrPerNChShort[i] = value/(trackmultiplicityShort[i])/2.0;
	  neutronErrorPerNChShort[i] = error/(trackmultiplicityShort[i])/2.0;
	}
	//cout<<"neutroncorr cb "<<i<<" "<<neutronCorrShort[i]<<" +/- "<<neutronErrorShort[i]<<endl;
	i++;
      }
    myneutronfileShort.close();
  }
  //Begin reading in no eff corr corrections
  TString neutronInfileName3 = "Neutrons"+detector+"NoEffCorr.dat";
  ifstream myneutronfile3 (neutronInfileName3.Data());
  value = 0;
  error = 0;
  i=0;
  if (myneutronfile3.is_open()){
    while ( myneutronfile3.good() )
      {
	getline (myneutronfile3,inline);
	istringstream tmp(inline);
	tmp >> value;
	tmp >> error;
	if(i<20){
	  neutronCorrNoEffCorr[i] = value;
	  neutronErrorNoEffCorr[i] = error;
	  if(trackmultiplicity[i]>0){
	    neutronCorrPerNChNoEffCorr[i] = value/(trackmultiplicity[i])/2.0;
	    neutronErrorPerNChNoEffCorr[i] = error/(trackmultiplicity[i])/2.0;
	  }
	}

	//cout<<"neutroncorr cb "<<i<<" "<<value<<" +/- "<<error<<endl;
	i++;
      }
    myneutronfile3.close();

  }
  TString neutronInfileNameShort3 = "Neutrons"+detector+"NoEffCorrShort.dat";
  ifstream myneutronfile3Short (neutronInfileNameShort3.Data());
  i=0;
  if (myneutronfile3Short.is_open()){
    while ( myneutronfile3Short.good() )
      {
	getline (myneutronfile3Short,inline);
	istringstream tmp(inline);
	tmp >> value;
	tmp >> error;
	if(i<10){
	  neutronCorrShortNoEffCorr[i] = value;
	  neutronErrorShortNoEffCorr[i] = error;
	  neutronCorrPerNChShortNoEffCorr[i] = value/(trackmultiplicityShort[i])/2;
	  neutronErrorPerNChShortNoEffCorr[i] = error/(trackmultiplicityShort[i])/2;
	}
	//cout<<"neutroncorr cb "<<i<<" "<<neutronCorrShortNoEffCorr[i]<<" +/- "<<neutronErrorShortNoEffCorr[i]<<endl;
	i++;
      }
    myneutronfile3Short.close();
  }
  

}
void ReadInSecondaryCorrections(){
  cout<<"Reading in secondary corrections..."<<endl;

    TString secondaryInfileName = "Secondaries"+detector+".dat";
    ifstream mysecondaryfile (secondaryInfileName.Data());
    string inline;
    float value = 0;
    float error = 0;
    int i=0;
    if (mysecondaryfile.is_open()){
      while ( mysecondaryfile.good() )
	{
	  getline (mysecondaryfile,inline);
	  istringstream tmp(inline);
	  tmp >> value;
	  tmp >> error;
	  if(i<20){
	    secondaryCorr[i] = value;
	    secondaryError[i] = error;
	    if(trackmultiplicity[i]>0){
	      secondaryCorrPerNCh[i] = value/(trackmultiplicity[i])/5.0;
	      secondaryErrorPerNCh[i] = error/(trackmultiplicity[i])/5.0;
	    }
	  }
	  //cout<<"secondarycorr cb "<<i<<" "<<value<<" +/- "<<error<<endl;
	  i++;
	}
        mysecondaryfile.close();
    }
    TString secondaryShortInfileName = "Secondaries"+detector+"Short.dat";
    ifstream mysecondaryShortfile (secondaryShortInfileName.Data());
    i=0;
    if (mysecondaryShortfile.is_open()){
      while ( mysecondaryShortfile.good() && i<10 )
	{
	  getline (mysecondaryShortfile,inline);
	  istringstream tmp(inline);
	  tmp >> value;
	  tmp >> error;
	  if(i<10){
	    secondaryCorrShort[i] = value;
	    secondaryErrorShort[i] = error;
	    secondaryCorrPerNChShort[i] = value/(trackmultiplicityShort[i])/5.0;
	    secondaryErrorPerNChShort[i] = error/(trackmultiplicityShort[i])/5.0;
	  }
 	  i++;
	}
       mysecondaryShortfile.close();
    }
    //Begin reading in no eff corr corrections
    TString secondaryInfileName = "Secondaries"+detector+"NoEffCorr.dat";
    ifstream mysecondaryfile3 (secondaryInfileName.Data());
    value = 0;
    error = 0;
    i=0;
    if (mysecondaryfile3.is_open()){
      while ( mysecondaryfile3.good() )
	{
	  getline (mysecondaryfile3,inline);
	  istringstream tmp(inline);
	  tmp >> value;
	  tmp >> error;
	  if(i<20){
	    secondaryCorrNoEffCorr[i] = value;
	    secondaryErrorNoEffCorr[i] = error;
	    if(trackmultiplicity[i]>0){
	      secondaryCorrPerNChNoEffCorr[i] = value/(trackmultiplicity[i])/5.0;
	      secondaryErrorPerNChNoEffCorr[i] = error/(trackmultiplicity[i])/5.0;
	    }
	  }
	  //cout<<"secondarycorr cb "<<i<<" "<<value<<" +/- "<<error<<" "<<secondaryCorrPerNChNoEffCorr[i]<<" +/- "<<secondaryErrorPerNChNoEffCorr[i]<<endl;
	  i++;
	}
        mysecondaryfile3.close();
    }
    TString secondaryShortInfileName = "Secondaries"+detector+"NoEffCorrShort.dat";
    ifstream mysecondaryShortfile3 (secondaryShortInfileName.Data());
    i=0;
    if (mysecondaryShortfile3.is_open()){
      while ( mysecondaryShortfile3.good() && i<10 )
	{
	  getline (mysecondaryShortfile3,inline);
	  istringstream tmp(inline);
	  tmp >> value;
	  tmp >> error;
	  if(i<10){
	    secondaryCorrShortNoEffCorr[i] = value;
	    secondaryErrorShortNoEffCorr[i] = error;
	    secondaryCorrPerNChShortNoEffCorr[i] = value/(trackmultiplicityShort[i])/5.0;
	    secondaryErrorPerNChShortNoEffCorr[i] = error/(trackmultiplicityShort[i])/5.0;
	  }
	  //cout<<"secondarycorr cb "<<i<<" "<<value<<" +/- "<<error<<" "<<secondaryCorrPerNChShortNoEffCorr[i]<<" +/- "<<secondaryErrorPerNChShortNoEffCorr[i]<<endl;
	  //cout<<"secondarycorr cb "<<i<<" "<<value<<" +/- "<<error<<endl;
 	  i++;
	}
       mysecondaryShortfile3.close();
    }

}
void ReadInKaonCorrections(){
  cout<<"Reading in kaon corrections..."<<endl;
  //junk.PHOS.CutNum6.txt
  TString cutstring = "7";
  if(detector.Contains("P")){ cutstring = "6";}
  if(CutSet==1){
    cutstring = "8";
  }
  if(CutSet==2){
    cutstring = "9";
  }
  TString kaonInfileName = "../spectrafits/KaonCut"+cutstring+"EMCalCorr."+year+".dat";
  if(detector.Contains("P")){
    kaonInfileName = "../spectrafits/KaonCut"+cutstring+"PHOSCorr."+year+".dat";
  }
  cout<<"Reading in "<<kaonInfileName<<endl;
    ifstream mykaonfile (kaonInfileName.Data());
    string inline;
    float value = 0;
    float error = 0;
    int i=0;
    if (mykaonfile.is_open()){
      while ( mykaonfile.good() )
	{
	  getline (mykaonfile,inline);
	  istringstream tmp(inline);
	  tmp >> value;
	  tmp >> error;
	  if(i<10){
	    kaonCorrShort[i] = value;
	    kaonErrorShort[i] = error;
	    kaonCorrPerNChShort[i] = value/(trackmultiplicityShort[i]);
	    kaonErrorPerNChShort[i] = error/(trackmultiplicityShort[i]);
	    // cout<<"kaoncorr cb "<<i<<" "<<value<<" +/- "<<error<<endl;
	  }
	  i++;
	}
        mykaonfile.close();
    }


  TGraphErrors *graphKaonCorrectionShort = GetKaonCorrectionGraphShort();
  int shortbin = 0;
  for(int i=0;i<19;i++){
    //cout<<"Long bin "<<i<<" short bin "<<shortbin;
    if(i<2){//we have exact numbers so we don't need to interpolate
      kaonCorr[i] = kaonCorrShort[i];
      kaonError[i] = kaonErrorShort[i];
      shortbin++;
    }
    else{
      kaonCorr[i] = graphKaonCorrectionShort->Eval(trackmultiplicity[i]) * trackmultiplicity[i];
      int altbin = shortbin-1;
      if(i%2==1){altbin = shortbin+1;}
      //cout<<" altbin "<<altbin;
      if(kaonErrorPerNChShort[shortbin]>kaonErrorPerNChShort[altbin]) kaonError[i] = kaonErrorPerNChShort[shortbin] * trackmultiplicity[i];
      else{kaonError[i] =  kaonErrorPerNChShort[altbin] * trackmultiplicity[i];}
      if(i%2==1 && shortbin<10){shortbin++;}
    }
    //cout<<"kaoncorr cb "<<i<<" "<<kaonCorr[i]<<" +/- "<<kaonError[i]<<endl;
    kaonCorrPerNCh[i] = kaonCorr[i]/(trackmultiplicity[i]);
    kaonErrorPerNCh[i] = kaonError[i]/(trackmultiplicity[i]);
    //cout<<" track multiplicity "<<trackmultiplicity[i]<<" kaon corr/mult*1000 "<<kaonCorrPerNCh[i]*1000<<" +/- "<<kaonErrorPerNCh[i]*1000<<endl;
    //cout<<"min et corr cb "<<i<<" "<< kaonCorr[i]<<" +/- "<<kaonError[i]<<endl;
    //cout<<endl;
  }
  delete graphKaonCorrectionShort;


    for(int i=0;i<10;i++){
      kaonYieldTotErr[i] = TMath::Sqrt(kaonYieldStatErr[i]*kaonYieldStatErr[i]+kaonYieldSysErr[i]*kaonYieldSysErr[i]);
      kaonYieldPerNCh[i] = kaonYield[i]/(trackmultiplicityShort[i])/5;
      kaonYieldPerNChErr[i] = kaonYieldTotErr[i]/(trackmultiplicityShort[i])/5;
      float total = kaonPlusEt[0][i]+kaonMinusEt[0][i];
      float err = kaonPlusEt[1][i]+kaonMinusEt[1][i];
      kaonEtPerNCh[i] = total/(trackmultiplicityShort[i])/10;
      kaonEtPerNChErr[i] = err/(trackmultiplicityShort[i])/10;
    }
    //corrections for no eff corr
  TString kaonInfileName3 = "../spectrafits/KaonCut"+cutstring+"EMCalNoEffCorr."+year+".dat";
  if(detector.Contains("P")){
    kaonInfileName3 = "../spectrafits/KaonCut"+cutstring+"PHOSNoEffCorr.dat";
  }
  cout<<"Reading in "<<kaonInfileName3<<endl;
  ifstream mykaonfile3 (kaonInfileName3.Data());
  value = 0;
  error = 0;
  i=0;
  if (mykaonfile3.is_open()){
    while ( mykaonfile3.good() )
      {
	getline (mykaonfile3,inline);
	istringstream tmp(inline);
	tmp >> value;
	tmp >> error;
	if(i<10){
	  kaonCorrShortNoEffCorr[i] = value;
	    kaonErrorShortNoEffCorr[i] = error;
	    kaonCorrPerNChShortNoEffCorr[i] = value/(trackmultiplicityShort[i]);
	    kaonErrorPerNChShortNoEffCorr[i] = error/(trackmultiplicityShort[i]);
	    //cout<<"kaoncorr cb "<<i<<" "<<value<<" +/- "<<error;
	    //cout<<endl;
	}
	i++;
      }
    mykaonfile3.close();
  }


  TGraphErrors *graphKaonCorrectionShort2 = GetKaonCorrectionGraphShortNoEffCorr();
  shortbin = 0;
  for(int i=0;i<19;i++){
    //cout<<"Long bin "<<i<<" short bin "<<shortbin;
    if(i<2){//we have exact numbers so we don't need to interpolate
      kaonCorrNoEffCorr[i] = kaonCorrShortNoEffCorr[i];
      kaonErrorNoEffCorr[i] = kaonErrorShortNoEffCorr[i];
      shortbin++;
    }
    else{
      kaonCorrNoEffCorr[i] = graphKaonCorrectionShort2->Eval(trackmultiplicity[i]) * trackmultiplicity[i];
      int altbin = shortbin-1;
      if(i%2==1){altbin = shortbin+1;}
      //cout<<" altbin "<<altbin;
      if(kaonErrorPerNChShortNoEffCorr[shortbin]>kaonErrorPerNChShortNoEffCorr[altbin]) kaonErrorNoEffCorr[i] = kaonErrorPerNChShortNoEffCorr[shortbin] * trackmultiplicity[i];
      else{kaonErrorNoEffCorr[i] =  kaonErrorPerNChShortNoEffCorr[altbin] * trackmultiplicity[i];}
      if(i%2==1 && shortbin<10){shortbin++;}
    }
    //cout<<"kaoncorr cb "<<i<<" "<<kaonCorrNoEffCorr[i]<<" +/- "<<kaonErrorNoEffCorr[i]<<endl;
    kaonCorrPerNChNoEffCorr[i] = kaonCorrNoEffCorr[i]/(trackmultiplicity[i]);
    kaonErrorPerNChNoEffCorr[i] = kaonErrorNoEffCorr[i]/(trackmultiplicity[i]);
    //cout<<"min et corr cb "<<i<<" "<< kaonCorrNoEffCorr[i]<<" +/- "<<kaonErrorNoEffCorr[i]<<endl;
    //cout<<endl;
  }
  delete graphKaonCorrectionShort2;




}
void CalculateHadronicCorrectionForOneBin(Int_t centbin1, Int_t centbin2, Bool_t isPhos, Bool_t isOver500MeV, Float_t &correction, Float_t &error, Bool_t effCorr, Bool_t writeTable){
  //cout<<"cb "<<centbin1<<" - "<<centbin2;
  //cout<<"entries "<<fHistMatchedTracksEvspTvsCentEffCorr->GetEntries()<<endl;
  fHistMatchedTracksEvspTvsCentEffCorr->GetZaxis()->SetRange(centbin1,centbin2);
  fHistPeripheralMatchedTracksEvspTvsCentEffCorr->GetZaxis()->SetRange(centbin1,centbin2);
  fHistMatchedTracksEvspTvsCentEffCorr500MeV->GetZaxis()->SetRange(centbin1,centbin2);
  fHistMatchedTracksEvspTvsCent->GetZaxis()->SetRange(centbin1,centbin2);
  TH1D *dataEffCorrTmp = NULL;
  TH1D *dataEffCorrTmp2 = NULL;
  TH1D *dataEffCorrPeripheralTmp = (TH1D*)fHistPeripheralMatchedTracksEvspTvsCentEffCorr->Project3D("y");
  float myDataEffCorrFromPeripheral = dataEffCorrPeripheralTmp->GetMean();
  TH1D *dataTmp = NULL;
  TH1D *foundTmp = NULL;
  TH1D *notfoundTmp = NULL;
  dataTmp = (TH1D*)fHistMatchedTracksEvspTvsCent->Project3D("y");
  dataTmp->SetName(Form("dataTmp%i",centbin1));
  if(isOver500MeV){
    dataEffCorrTmp =(TH1D*) fHistMatchedTracksEvspTvsCentEffCorr500MeV->Project3D("y");
    dataEffCorrTmp2 =(TH1D*) fHistMatchedTracksEvspTvsCentEffCorr->Project3D("y");
    dataEffCorrTmp2->SetName("dataEffCorrNotOver500");
    dataEffCorrTmp->SetName("dataEffCorrOver500");
    foundTmp = fHistFoundHadronsvsCent500MeV->ProjectionX(Form("Found%iTmp",centbin1),centbin1,centbin2);
    notfoundTmp = fHistNotFoundHadronsvsCent500MeV->ProjectionX(Form("NotFound%iTmp",centbin1),centbin1,centbin2);
  }
  else{
    if(effCorr){            
      dataEffCorrTmp = (TH1D*)fHistMatchedTracksEvspTvsCentEffCorr->Project3D("y");
      dataEffCorrTmp->SetName("dataEffCorr");
    }
    else{
      dataEffCorrTmp = (TH1D*)fHistMatchedTracksEvspTvsCent->Project3D("y");
      dataEffCorrTmp->SetName("dataNoEffCorr");
    }
    dataEffCorrTmp2 = dataEffCorrTmp;
    //cout<<" Using "<<dataEffCorrTmp2->GetName()<<" entries "<<dataEffCorrTmp2->GetEntries()<<endl;
    foundTmp = fHistFoundHadronsvsCent->ProjectionX(Form("Found%iTmp",centbin1),centbin1,centbin2);
    notfoundTmp = fHistNotFoundHadronsvsCent->ProjectionX(Form("NotFound%iTmp",centbin1),centbin1,centbin2);
  }
  float nfound = foundTmp->GetMean();//fHistFoundHadronsvsCent->GetBinContent(bin);
  float nnotfound = notfoundTmp->GetMean();//fHistNotFoundHadronsvsCent->GetBinContent(bin);
  //cout<<" nfound "<<nfound<<" nnotfound "<<nnotfound<<" total "<<nfound+nnotfound;
  float scaleLow = 0;
  float scaleHigh = 0;
  float scale1 = 1.0;
  float scale2 = 1.0;
  Float_t effectiveEfficiencyThis = 1;
  Float_t effectiveEfficiencyReference = 1;
  if(centbin1>=refBin){//for peripheral just rescale 
    scaleHigh = 1.01;
    scaleLow = 0.99;
  }
  else{
    //float refData = ((TH1D*)data[refBin])->GetMean();
    float refData =dataRefBin->GetMean();
    float myData = ((TH1D*)dataTmp)->GetMean();
    //float refDataEffCorr = ((TH1D*)dataEffCorr[refBin])->GetMean();
    //cout<<" ref bin n entries "<<((TH1D*)dataEffCorr[refBin])->GetEntries()<<", "<<dataEffCorrRefBin->GetEntries()<<" ";
    float refDataEffCorr = dataEffCorrRefBin->GetMean();
    float myDataEffCorr = ((TH1D*)dataEffCorrTmp2)->GetMean();
    //cout<<"ranges "<<refDataEffCorr<<", "<<myDataEffCorr<<", "<<myDataEffCorrFromPeripheral;//<<endl;
    effectiveEfficiencyThis = myData/myDataEffCorr;
    effectiveEfficiencyReference = refData/refDataEffCorr;
    Float_t scale3 = 0;
    //cout<<"efficiency this "<<effectiveEfficiencyThis<<" efficiency ref "<<effectiveEfficiencyReference;
    //cout<<"data Eff corr "<<myDataEffCorr<<" data eff corr ref "<<refDataEffCorr<<" data "<<myData<<" dataRef "<<refData<<endl;
    if(TMath::Abs(myData)>1e-5) scale1 = refData/myData;//scale without efficiency correction -> weights peripheral data by average efficiency of central bin
    if(TMath::Abs(myDataEffCorr)>1e-5){
      //dataEffCorrRefBin->GetMean()/dataEffCorrTmp->GetMean()* dataEffCorrTmp->GetMean();
      scale2 = refDataEffCorr/myDataEffCorr;//scale with efficiency correction ->actual data range
      scale3 = myDataEffCorrFromPeripheral/myDataEffCorr;
    }
    //cout<<" scale1 (uncorr ref) "<<scale1<<" scale2 (ref) "<<scale2<<" scale3 "<<scale3;
    //       if(scale1<scale2){
    // 	scaleLow = scale1;
    // 	scaleHigh = scale2;
    //       }
    //       else{
    // 	scaleLow = scale2;
    // 	scaleHigh = scale1;
    //       }
    if(scale3<scale2){
      scaleLow = scale3;
      scaleHigh = scale2;
    }
    else{
	scaleLow = scale2;
	scaleHigh = scale3;
    }
    //cout<<" scale low "<<scaleLow<<" scale High "<<scaleHigh<<" averge scale "<<(scaleLow+scaleHigh)/2.0;//<<" ref eff "<<effectiveEfficiencyReference<<" this ref "<<effectiveEfficiencyThis<<" refeff/thiseff*scale2 "<<effectiveEfficiencyReference/effectiveEfficiencyThis<<" this/ref "<<effectiveEfficiencyThis/effectiveEfficiencyReference<<endl;
    //cout<<"scale 1 "<<scale1<<" scale 2 "<<scale2<<endl;
    
  }
    //For EMCal the reference efficiency is lower than the central efficiency because of energy resolution
    //For PHOS the reference efficiency is higher than the central efficiency
    //The average background cluster has lower energy than the average signal cluster
    //For the EMCal the dominant effect is bad track matches.  For that reason the energy deposited in the current bin is an upper bound.
    //For the PHOS the dominant effect is the efficiency.  If the true cluster energy is lower than that observed, the estimate will overestimate the correction.
    if(isPhos){//for the PHOS - leave it alone, this is already a pretty good estimate.  One bound is the reference data (scale2) and the other is the current bin but taking into account that the efficiencies are different in the two bins (scale1).
      //scaleLow = scale2;
      //scaleHigh = scale1;
    }
    else{//For the EMCal the range is the reference range up to the current bin
      //scaleLow = scale1;
      //scaleHigh = 1;
    }
    //cout<<" scaleLow "<<scaleLow<<" scaleHigh "<<scaleHigh;
    //    if(averageHadEnergy<0){//if this hasn't been filled yet
      Float_t low = 100;
      Float_t high = -1;
      
//       for(int i=refBinHigh;i<=refBin;i++){
// 	Float_t val = ((TH1D*)dataEffCorr[i])->GetMean();
// 	//cout<<" i "<<val;
// 	if(val<low) low = val;
// 	if(val>high) high = val;
//       }
      //cout<<endl;
      //}
    float myavg = dataEffCorrTmp->GetMean();
    //if(myavg>high && !isPhos) high = myavg;
    averageHadEnergy = (low+high)/2.0;
    averageHadEnergyError = (high-low)/2.0;
    //cout<<" AVERAGE HAD ENERGY "<<averageHadEnergy<<"+/-"<<averageHadEnergyError;
    //this assumes that the reference bin is right

//     if(!isPhos){
//       scaleLow = 0.90;
//       scaleHigh = 1.0;
//     }
//    cout<<" ranges "<<scaleLow*myavg<<", "<<scaleHigh*myavg<<", "<<myDataEffCorrFromPeripheral<<endl;
    float avg = (scaleLow+scaleHigh)/2.0*myavg;
    float err = TMath::Abs((scaleLow-scaleHigh))/2.0*myavg;
//     float avg = (scaleHigh*myavg+myDataEffCorrFromPeripheral)/2.0;
//     float err = TMath::Abs((scaleHigh*myavg-myDataEffCorrFromPeripheral)/2.0);
    //cout<<" Nominal value "<<avg<<"+/-"<<err<<" this bin "<<myavg<<endl;
//     avg = averageHadEnergy;
//     err = averageHadEnergyError;
    // if(isPhos){//for the PHOS, false matches are actually rare, so we will use the value from this bin
    //averageHadEnergy = (0.97*low+high)/2.0;
      //averageHadEnergyError = (high-low*0.97)/2.0;
      // }
    //cout<<" avg "<<avg<<" +/- "<<err;
    if(TMath::Abs(avg)<1e-3){
      avg = 1e-3;
      cerr<<"WARNING:  ERROR NOT CALCULATED CORRECTLY!!"<<endl;//prevents a crash
    }
    //factor is the fraction to reduce the track-matched ET by to get the true background ET
    //corrfac is the factor to multiply by in order to get the fraction of hadrons leaving deposits which come from low pT
    float percentEfficiencyError = 0.05;
    //    float  factor = 1-0.04;
        float  factor = 1-0.03;
//         float corrfac = 1.275-1;
//     float corrfacerr = 0.059 ;
//         float corrfac = 0.208938;
// 	float corrfacerr = 0.0357719 ;
	//corrfac = 0.183584;
	//corrfacerr = 0.0393219;
// 	corrfac = 0.323685;
// 	corrfacerr = 0.0760131;
    float eLowAverage = avg;
    float eLowAverageErr = err;
    cout<<"eLowAverage "<<avg<<" +/- "<<err<<" % "<<err/avg*100.0<<endl;
    if(isPhos){
      factor = 1-0.02;
      //factor = 1-0.03;
//       corrfac = 0.183584;
//       corrfacerr = 0.0393219;
//       corrfac = 0.169776;
//       corrfacerr = 0.0468306;
//       corrfac = 1.300-1;
//       corrfacerr = 0.065;
    }
    if(isOver500MeV){
      eLowAverage = 1.0;
      eLowAverageErr = 0.05;
      if(isPhos){
	//fraction ranges from 5% - 26%
	corrfac = ((1.0/0.95 + 1.0/0.74)/2.0 - 1)*eLowAverage/avg;
	float corrfacerrtmp = (TMath::Abs((1.0/0.95 - 1.0/0.74)/2.0))*eLowAverage/avg;
	corrfacerr = corrfac * TMath::Sqrt(TMath::Power(corrfacerrtmp/corrfac,2)+TMath::Power(eLowAverageErr/eLowAverage,2));
      }
      else{
	//fraction ranges from 5% - 17%
	corrfac = ((1.0/0.95 + 1.0/0.83)/2.0 - 1)*eLowAverage/avg;
	float corrfacerrtmp = (TMath::Abs((1.0/0.95 - 1.0/0.83)/2.0))*eLowAverage/avg;
	corrfacerr = corrfac * TMath::Sqrt(TMath::Power(corrfacerrtmp/corrfac,2)+TMath::Power(eLowAverageErr/eLowAverage,2));
      }
    }
    // cout<<" nfound "<<nfound<<" nnotfound "<<nnotfound<<" total n "<<nfound+nnotfound<<" eff "<<nfound/(nfound+nnotfound);
    //the energy from low pT is the fraction of tracks that come from low pT tracks times the average energy of these tracks
    float eLow = corrfac * (nfound+nnotfound)*eLowAverage;
    float eLowErr = TMath::Sqrt(TMath::Power(corrfacerr*(nfound+nnotfound)*eLowAverage,2)+TMath::Power(eLowAverageErr*corrfac* (nfound+nnotfound),2)+TMath::Power(eLow*percentEfficiencyError,2));//error on the hadronic correction

    float eNotFound = nnotfound*avg;
    float eNotFoundErr = TMath::Sqrt(TMath::Power(err*nnotfound,2)+TMath::Power(percentEfficiencyError*eNotFound,2));//error on the hadronic correction

    float y = (corrfac * (nfound+nnotfound) +nnotfound)*avg;
    float finalerr = TMath::Sqrt(TMath::Power(corrfacerr*(nfound+nnotfound)*avg,2)+err*err*(TMath::Power(corrfac* (nfound+nnotfound),2)+nnotfound*nnotfound)+TMath::Power(percentEfficiencyError*y,2));//error on the hadronic correction
    correction = y;
    error = finalerr;
    //cout<<"error "<<finalerr/y<<endl;
    //error = 0.0;
    //cout<<" corr fac "<<corrfac<<" +/- "<<corrfacerr;
    //cout<<" AVERAGE eLow "<<eLow<<" +/- "<<eLowErr<<" % "<<eLowErr/y*100.0<<") eHigh "<<eNotFound<<" +/- "<<eNotFoundErr<<"("<<eNotFoundErr/y<<") total "<<y<<" +/- "<<finalerr<<"("<<finalerr/y <<")"<<endl;//<<" frac low "<<eLow/y<<endl;
    //cout<<endl;
    //correction = N(notfound)*<Enotfound> + fnotfound*Etotal
    //centrality, Nnotfound, <Enotfound>, fnotcound, Etotal, correction
    if(writeTable){
      myfileHadCorrTable<<Form("%i-%i",(centbin1-1)*5,centbin2*5)<<"\\% & ";
      myfileHadCorrTable<<Form("%2.1f $\\pm$ %2.1f",nnotfound,percentEfficiencyError*nnotfound)<<" & ";
      myfileHadCorrTable<<Form("%2.3f $\\pm$ %2.3f",avg,err)<<" & ";
      myfileHadCorrTable<<Form("%2.3f $\\pm$ %2.3f",corrfac,corrfacerr)<<" & ";
      myfileHadCorrTable<<Form("%2.1f $\\pm$ %2.1f",(nfound+nnotfound)*avg,(nfound+nnotfound)*avg*TMath::Sqrt(percentEfficiencyError*percentEfficiencyError+err*err/avg/avg))<<" & ";
      myfileHadCorrTable<<Form("%2.1f $\\pm$ %2.1f",correction,error)<<" \\\\ "<<endl;
    }


    //myfileHadCorrTable<<Form("%i-%i",(centbin1-1)*5,centbin2*5)<<"\\% & "<<Form("%2.3f",((TH1D *)data[centbin1])->GetMean())<<" & "<<Form("%2.3f",((TH1D *)dataEffCorr[centbin1])->GetMean())<<Form(" &  %2.3f $\\pm$ %2.3f",avg,err);
    //myfileHadCorrTable<<" & "<< Form("%2.1f $\\pm$ %2.1f",eLow,eLowErr);
    //myfileHadCorrTable<<" & "<< Form("%2.2f $\\pm$ %2.2f",eNotFound,eNotFoundErr);
    //myfileHadCorrTable<<"& "<< Form("%2.2f $\\pm$ %2.2f",y,finalerr);
    //myfileHadCorrTable<<" & "<< Form("%2.3f $\\pm$ %2.3f",y/npart[centbin1],finalerr/npart[centbin1]) <<"\\\\"<<endl;

    delete dataEffCorrTmp;
    delete foundTmp;
    delete notfoundTmp;
    delete dataEffCorrPeripheralTmp;
}
void CalculateHadronCorrections(Bool_t isPhos){
  
  TString texfilename = "/tmp/energydepositstable"+detector+".tex";
  myfileHadCorrTable.open (texfilename.Data());
  float plotscale = 5.0;
  for(int i=0;i<19;i++){
    Float_t correction = 0;
    Float_t error = 0;//not above 500 GeV, with eff corr
    CalculateHadronicCorrectionForOneBin(i+1,i+1,isPhos,kFALSE,correction,error,kTRUE,kTRUE);
    hadCorr[i] = correction;//hadCorrEmcal[i];
    hadError[i] = error;//hadErrorEmcal[i];
    hadronCorrPerNCh[i] = correction/(trackmultiplicity[i])/plotscale;//hadCorrEmcal[i];
    hadronErrorPerNCh[i] = error/(trackmultiplicity[i])/plotscale;//hadErrorEmcal[i];
    //cout<<"had cor "<<i<<" "<<correction<<" +/- "<<error<< "  "<<  correction/(trackmultiplicity[i])<< " +/- "<<  error/(trackmultiplicity[i]) <<endl;
  }

  int j=0;
  for(int i=0;i<10;i++){
    int centbinlow = i+1;
    int centbinhigh = i+1;
    if(i<2){//These bins are exactly what they should bin in the 20 bin binning
      j++;//i=0 j=0; i=1 j=1
      centbinlow = j;
      centbinhigh = j;
    }
    else{
      centbinlow = j+1;
      centbinhigh = j+2;
      j+=2;
    }
    Float_t correction = 0;
    Float_t error = 0;//not above 500 GeV, with eff corr, 10 bins
    CalculateHadronicCorrectionForOneBin(centbinlow,centbinhigh,isPhos,kFALSE,correction,error,kTRUE,kFALSE);
    hadCorrShort[i] = correction;//hadCorrEmcal[i];
    hadErrorShort[i] = error;//hadErrorEmcal[i];
    hadronCorrPerNChShort[i] = correction/(trackmultiplicityShort[i])/plotscale;//hadCorrEmcal[i];
    hadronErrorPerNChShort[i] = error/(trackmultiplicityShort[i])/plotscale;//hadErrorEmcal[i];
    //cout<<"had cor "<<i<<" "<<correction<<" +/- "<<error<< "  "<<  correction/(trackmultiplicityShort[i])<< " +/- "<<  error/(trackmultiplicityShort[i]) <<endl;
  }
  //No eff corr
  for(int i=0;i<19;i++){
    Float_t correction = 0;
    Float_t error = 0;//not above 500 GeV, without eff corr
    CalculateHadronicCorrectionForOneBin(i+1,i+1,isPhos,kFALSE,correction,error,kFALSE,kFALSE);
    hadCorrNoEffCorr[i] = correction;//hadCorrEmcalNoEffCorr[i];
    hadErrorNoEffCorr[i] = error;//hadErrorEmcalNoEffCorr[i];
    hadronCorrPerNChNoEffCorr[i] = correction/(trackmultiplicity[i])/plotscale;//hadCorrEmcalNoEffCorr[i];
    hadronErrorPerNChNoEffCorr[i] = error/(trackmultiplicity[i])/plotscale;//hadErrorEmcalNoEffCorr[i];
    //cout<<"had cor "<<i<<" "<<correction<<" +/- "<<error<< "  "<<  correction/(trackmultiplicityNoEffCorr[i])<< " +/- "<<  error/(trackmultiplicity[i]) <<endl;
  }

  int j=0;
  for(int i=0;i<10;i++){
    int centbinlow = i+1;
    int centbinhigh = i+1;
    if(i<2){//These bins are exactly what they should bin in the 20 bin binning
      j++;//i=0 j=0; i=1 j=1
      centbinlow = j;
      centbinhigh = j;
    }
    else{
      centbinlow = j+1;
      centbinhigh = j+2;
      j+=2;
    }
    Float_t correction = 0;
    Float_t error = 0;//not above 500 GeV, without eff corr, 10 bins
    CalculateHadronicCorrectionForOneBin(centbinlow,centbinhigh,isPhos,kFALSE,correction,error,kFALSE,kFALSE);
    hadCorrShortNoEffCorr[i] = correction;//hadCorrEmcalNoEffCorr[i];
    hadErrorShortNoEffCorr[i] = error;//hadErrorEmcalNoEffCorr[i];
    hadronCorrPerNChShortNoEffCorr[i] = correction/(trackmultiplicityShort[i])/plotscale;//hadCorrEmcalNoEffCorr[i];
    hadronErrorPerNChShortNoEffCorr[i] = error/(trackmultiplicityShort[i])/plotscale;//hadErrorEmcalNoEffCorr[i];
    //cout<<"had cor "<<i<<" "<<correction<<" +/- "<<error<< "  "<<  correction/(trackmultiplicityShortNoEffCorr[i])<< " +/- "<<  error/(trackmultiplicityShort[i]) <<endl;
  }

  myfileHadCorrTable.close();

}

TGraphErrors *GetSignalFractionGraph(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,secondaryCorrPerNPartShort,npartErrShort,secondaryErrorPerNPartShort);
  TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,signalFraction,trackmultiplicityError,signalFractionError);
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,minEtCorrShort,npartErrShort,minEtErrorShort);
  SetStyles(gr3,29,TColor::kGreen+3);
    return gr3;

}

TGraphErrors *GetMinEtCorrectionGraphShort(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,secondaryCorrPerNPartShort,npartErrShort,secondaryErrorPerNPartShort);
  TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,minEtCorrShort,trackmultiplicityShortError,minEtErrorShort);
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,minEtCorrShort,npartErrShort,minEtErrorShort);
  SetStyles(gr3,29,TColor::kGreen+3);
    return gr3;

}
TGraphErrors *GetMinEtCorrectionGraph(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,secondaryCorrPerNPartShort,npartErrShort,secondaryErrorPerNPartShort);
  TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,minEtCorr,trackmultiplicityError,minEtError);
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,minEtCorrShort,npartErrShort,minEtErrorShort);
  SetStyles(gr3,30,TColor::kGreen+3);
    return gr3;

}


TGraphErrors *GetSecondaryCorrectionGraphShort(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,secondaryCorrPerNPartShort,npartErrShort,secondaryErrorPerNPartShort);
  TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,secondaryCorrPerNChShort,trackmultiplicityShortError,secondaryErrorPerNChShort);
  SetStyles(gr3,29,TColor::kGreen+3);
    return gr3;

}
TGraphErrors *GetSecondaryCorrectionGraph(){
  TGraphErrors *gr3 = new TGraphErrors(18,trackmultiplicity,secondaryCorrPerNCh,trackmultiplicityError,secondaryErrorPerNCh);
  SetStyles(gr3,30,TColor::kGreen+3);
    return gr3;

}

TGraphErrors *GetSecondaryCorrectionGraphNoEffCorr(){
  TGraphErrors *gr3 = new TGraphErrors(18,trackmultiplicity,secondaryCorrPerNChNoEffCorr,trackmultiplicityError,secondaryErrorPerNChNoEffCorr);
  SetStyles(gr3,30,TColor::kGreen+3);
    return gr3;

}
TGraphErrors *GetSecondaryCorrectionGraphShortNoEffCorr(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,secondaryCorrPerNPartShort,npartErrShort,secondaryErrorPerNPartShort);
  TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,secondaryCorrPerNChShortNoEffCorr,trackmultiplicityShortError,secondaryErrorPerNChShortNoEffCorr);
  SetStyles(gr3,29,TColor::kGreen+3);
    return gr3;

}
TGraphErrors *GetNeutronCorrectionGraph(){
    TGraphErrors *gr3 = new TGraphErrors(18,trackmultiplicity,neutronCorrPerNCh,trackmultiplicityError,neutronErrorPerNCh);
    SetStyles(gr3,24,TColor::kBlue);
    return gr3;

}
TGraphErrors *GetNeutronCorrectionGraphShort(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,neutronCorrPerNChShort,npartErrShort,neutronErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,neutronCorrPerNChShort,trackmultiplicityShortError,neutronErrorPerNChShort);
    SetStyles(gr3,20,TColor::kBlue);
    return gr3;

}
TGraphErrors *GetNeutronCorrectionGraphNoEffCorr(){
    TGraphErrors *gr3 = new TGraphErrors(18,trackmultiplicity,neutronCorrPerNChNoEffCorr,trackmultiplicityError,neutronErrorPerNChNoEffCorr);
    SetStyles(gr3,24,TColor::kBlue);
    return gr3;

}
TGraphErrors *GetNeutronCorrectionGraphShortNoEffCorr(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,neutronCorrPerNChShort,npartErrShort,neutronErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,neutronCorrPerNChShortNoEffCorr,trackmultiplicityShortError,neutronErrorPerNChShortNoEffCorr);
    SetStyles(gr3,20,TColor::kBlue);
    return gr3;

}
TGraphErrors *GetHadronCorrectionGraph(){
    TGraphErrors *gr3 = new TGraphErrors(18,trackmultiplicity,hadronCorrPerNCh,trackmultiplicityError,hadronErrorPerNCh);
    SetStyles(gr3,25,1);
    return gr3;

}
TGraphErrors *GetHadronCorrectionGraphShort(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,neutronCorrPerNChShort,xpionerr,neutronErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,hadronCorrPerNChShort,trackmultiplicityShortError,hadronErrorPerNChShort);
    SetStyles(gr3,21,1);
    return gr3;

}
TGraphErrors *GetHadronCorrectionGraphNoEffCorr(){
    TGraphErrors *gr3 = new TGraphErrors(18,trackmultiplicity,hadronCorrPerNChNoEffCorr,trackmultiplicityError,hadronErrorPerNChNoEffCorr);
    SetStyles(gr3,25,1);
    return gr3;

}
TGraphErrors *GetHadronCorrectionGraphShortNoEffCorr(){
  //TGraphErrors *gr3 = new TGraphErrors(10,npart,neutronCorrPerNChShort,xpionerr,neutronErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,hadronCorrPerNChShortNoEffCorr,trackmultiplicityShortError,hadronErrorPerNChShortNoEffCorr);
    SetStyles(gr3,21,1);
    return gr3;

}
TGraphErrors *GetKaonCorrectionGraphShort(){
  //TGraphErrors *gr3 = new TGraphErrors(10,xpion,kaonCorrPerNChShort,xpionerr,kaonErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,kaonCorrPerNChShort,trackmultiplicityShortError,kaonErrorPerNChShort);
    SetStyles(gr3,33,TColor::kRed);
    return gr3;

}
TGraphErrors *GetKaonCorrectionGraph(){
  //TGraphErrors *gr3 = new TGraphErrors(10,xpion,kaonCorrPerNChShort,xpionerr,kaonErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,kaonCorrPerNCh,trackmultiplicityError,kaonErrorPerNCh);
    SetStyles(gr3,27,TColor::kRed);
    return gr3;

}
TGraphErrors *GetKaonCorrectionGraphShortNoEffCorr(){
  //TGraphErrors *gr3 = new TGraphErrors(10,xpion,kaonCorrPerNChShort,xpionerr,kaonErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,kaonCorrPerNChShortNoEffCorr,trackmultiplicityShortError,kaonErrorPerNChShortNoEffCorr);
    SetStyles(gr3,33,TColor::kRed);
    return gr3;

}
TGraphErrors *GetKaonCorrectionGraphNoEffCorr(){
  //TGraphErrors *gr3 = new TGraphErrors(10,xpion,kaonCorrPerNChShort,xpionerr,kaonErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,kaonCorrPerNChNoEffCorr,trackmultiplicityError,kaonErrorPerNChNoEffCorr);
    SetStyles(gr3,27,TColor::kRed);
    return gr3;

}
TGraphErrors *GetKaonGraph(){
  //TGraphErrors *gr3 = new TGraphErrors(10,xpion,kaonCorrPerNChShort,xpionerr,kaonErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,kaonYieldPerNCh,trackmultiplicityShortError,kaonYieldPerNChErr);
    SetStyles(gr3,33,TColor::kBlue);
    return gr3;
}
TGraphErrors *GetKaonEtGraph(){
  //TGraphErrors *gr3 = new TGraphErrors(10,xpion,kaonCorrPerNChShort,xpionerr,kaonErrorPerNChShort);
    TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,kaonEtPerNCh,trackmultiplicityShortError,kaonEtPerNChErr);
    SetStyles(gr3,27,TColor::kBlue);
    return gr3;
}


//=====================READ IN DATA===================================
Float_t arrayofzeros[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t trackmultiplicity[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t trackmultiplicityShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t clustermultiplicity[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t clustermultiplicityShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t trackmultiplicityError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t trackmultiplicityShortError[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t clustermultiplicityError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t clustermultiplicityShortError[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t matchedtrackmultiplicity[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t matchedtrackmultiplicityPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t matchedtrackmultiplicityPerNCl[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t notmatchedtrackmultiplicity[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t notmatchedtrackmultiplicityPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t notmatchedtrackmultiplicityPerNCl[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totaltrackmultiplicityPerNCh[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totaltrackmultiplicityPerNCl[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtStatError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtStatErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNChValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNChValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNChError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNChErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNPartValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNPartValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNPartError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNPartErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNClValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNClValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNClError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNClErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNPartPairValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNPartPairValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNPartPairError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t partialCorrEtPerNPartPairErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totalCorrectionPerNPartPairValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totalCorrectionPerNPartPairValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totalCorrectionPerNPartPairError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totalCorrectionPerNPartPairErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totalCorrectionPerNPartPairValuesNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totalCorrectionPerNPartPairValuesShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totalCorrectionPerNPartPairErrorNoEffCorr[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totalCorrectionPerNPartPairErrorShortNoEffCorr[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};

Float_t rawEtNoEffCorrValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtNoEffCorrError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtNoEffCorrPerNChValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtNoEffCorrPerNChError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtNoEffCorrPerNPartValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtNoEffCorrPerNPartError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtNoEffCorrPerNClValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtNoEffCorrPerNClError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllNoEffCorrValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllNoEffCorrError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllNoEffCorrPerNChValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllNoEffCorrPerNChError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllNoEffCorrPerNPartValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllNoEffCorrPerNPartError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllNoEffCorrPerNClValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllNoEffCorrPerNClError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllPerNChValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllPerNChError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllPerNPartValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllPerNPartError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllPerNClValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t rawEtAllPerNClError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};

Float_t corrEtValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtStatError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtStatErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totEtValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totEtValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totEtError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t totEtErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtPerNPartPairValues[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtPerNPartPairValuesShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtPerNPartPairError[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtPerNPartPairErrorShort[10] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtValuesFormulaC[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtErrorFormulaC[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtPerNPartPairValuesFormulaC[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtPerNPartPairErrorFormulaC[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtValuesFormulaB[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtErrorFormulaB[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtPerNPartPairValuesFormulaB[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};
Float_t corrEtPerNPartPairErrorFormulaB[20] = {0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0};

TH2F *fHistNominalRawEt;
TH2F *fHistNominalNonLinLowEt;
TH2F *fHistNominalNonLinHighEt;
TH2F *fHistNominalEffLowEt;
TH2F *fHistNominalEffHighEt;
TH2F *fHistTotRawEt;
TH2F *fHistTotAllRawEt;
TH2F *fHistTotRawEtNoEffCorr;
TH2F *fHistTotAllRawEtNoEffCorr;
TH2F *fHistTotRawEt500MeV;
TH3F  *fHistMatchedTracksEvspTvsCent;
TH3F  *fHistMatchedTracksEvspTvsCentEffCorr;
TH3F  *fHistPeripheralMatchedTracksEvspTvsCentEffCorr;
TH3F  *fHistMatchedTracksEvspTvsCentEffCorr500MeV;
TH2F *fHistFoundHadronsvsCent;
TH2F *fHistNotFoundHadronsvsCent;
TH2F *fHistFoundHadronsvsCent500MeV;
//old default: bin 18 = centrality bin 17
//ref bins in compiled code:  centrality bins 11-16
Int_t refBin = 12;//Reference bin for scaling
Int_t refBinHigh = 17;//Reference bin for scaling
Float_t corrfac = 0;//fraction of hadronic ET which is from low pT tracks
Float_t corrfacerr = 0;
TObjArray data(21);
TObjArray dataFits(21);
TObjArray dataEffCorr(21);
TObjArray dataEffCorr500MeV(21);
TH1D *dataRefBin = NULL;
TH1D *dataEffCorrRefBin = NULL;
TObjArray rawEt(21);
TObjArray rawEtShort(11);
TObjArray rawEtNoEffCorr(21);
TObjArray rawEtAll(21);
TObjArray rawEtAllNoEffCorr(21);

void ReadInData(char *filename,TString det){
  cout<<"Reading in data..."<<endl;
  Bool_t isPhos = kTRUE;
  if(det.Contains("Emc")){isPhos=kFALSE;}
  else{
    refBin = 12;
    cout<<"Decided this is PHOS and am using reference bin 12"<<endl;
  }

  TFile *f = TFile::Open(filename, "READ");
    if (!f)
    {
        std::cerr << "Could not open file: " << filename << std::endl;
    }

    TList *l = dynamic_cast<TList*>(f->Get("out1"));
    if (!l)
    {
        std::cerr << "Could not get object list from: " << filename << std::endl;
    }
    TString prefix = "fHistNominal";
    fHistNominalRawEt =(TH2F*) l->FindObject((prefix+"RawEt"+det+"Rec").Data());
    fHistNominalNonLinLowEt = (TH2F*)l->FindObject((prefix+"NonLinLowEt"+det+"Rec").Data());
    fHistNominalNonLinHighEt = (TH2F*)l->FindObject((prefix+"NonLinHighEt"+det+"Rec").Data());
    fHistNominalEffLowEt = (TH2F*)l->FindObject((prefix+"EffLowEt"+det+"Rec").Data());
    fHistNominalEffHighEt = (TH2F*)l->FindObject((prefix+"EffHighEt"+det+"Rec").Data());
    fHistTotRawEt =(TH2F*) l->FindObject("fHistTotRawEtEffCorr");
    fHistTotAllRawEt = (TH2F*) l->FindObject("fHistTotAllRawEtEffCorr");
    fHistTotRawEtNoEffCorr = (TH2F*)l->FindObject("fHistTotRawEt");
    fHistTotAllRawEtNoEffCorr = (TH2F*)l->FindObject("fHistTotAllRawEt");
    fHistTotRawEt500MeV =(TH2F*) l->FindObject("fHistTotRawEtEffCorr500MeV");

    fHistCentVsNchVsNcl =(TH3F*) l->FindObject("fHistCentVsNchVsNclReco");


    fHistMatchedTracksEvspTvsCent =(TH3F*) l->FindObject("fHistMatchedTracksEvspTvsCent");
    fHistMatchedTracksEvspTvsCentEffCorr =(TH3F*) l->FindObject("fHistMatchedTracksEvspTvsCentEffTMCorr");
    fHistPeripheralMatchedTracksEvspTvsCentEffCorr =(TH3F*) l->FindObject("fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr");
    fHistMatchedTracksEvspTvsCentEffCorr500MeV = (TH3F*) l->FindObject("fHistMatchedTracksEvspTvsCentEffTMCorr500MeV");
    fHistFoundHadronsvsCent = (TH2F*)l->FindObject("fHistFoundHadronsvsCent");
    fHistNotFoundHadronsvsCent = (TH2F*)l->FindObject("fHistNotFoundHadronsvsCent");
    fHistFoundHadronsvsCent500MeV = (TH2F*)l->FindObject("fHistFoundHadronsvsCent500MeV");
    fHistNotFoundHadronsvsCent500MeV = (TH2F*)l->FindObject("fHistNotFoundHadronsvsCent500MeV");
    fHistMatchedTracksEvspTvsCent->GetZaxis()->SetRange(refBin,refBinHigh);
    dataRefBin =  (TH1D*) fHistMatchedTracksEvspTvsCent->Project3D("y");
    dataRefBin->SetName("dataRefBin");
    fHistMatchedTracksEvspTvsCentEffCorr->GetZaxis()->SetRange(refBin,refBinHigh);
    dataEffCorrRefBin =(TH1D*) fHistMatchedTracksEvspTvsCentEffCorr->Project3D("y");
    dataEffCorrRefBin->SetName("dataEffCorrRefBin");
    cout<<"Using reference centrality bins "<<refBin-1<<" - "<<refBinHigh-1<<endl;
    int nbins = 20;
    for(int bin = 1; bin<=nbins;bin++){
      fHistMatchedTracksEvspTvsCent->GetZaxis()->SetRange(bin,bin);
      data[bin] = fHistMatchedTracksEvspTvsCent->Project3D("y");
      fHistMatchedTracksEvspTvsCentEffCorr->GetZaxis()->SetRange(bin,bin);
      dataEffCorr[bin] = fHistMatchedTracksEvspTvsCentEffCorr->Project3D("y");
      fHistMatchedTracksEvspTvsCentEffCorr500MeV->GetZaxis()->SetRange(bin,bin);
      dataEffCorr500MeV[bin] = fHistMatchedTracksEvspTvsCentEffCorr500MeV->Project3D("y");
      ((TH1D*)data[bin])->SetName(Form("DataEff%i",bin));
      ((TH1D*)dataEffCorr[bin])->SetName(Form("DataEffCorr%i",bin));
      Int_t nentries = ((TH1D*)dataEffCorr[bin])->GetEntries();
      cout<<"centbin "<<bin<<" number of matched tracks "<<nentries<<endl;
      ((TH1D*)dataEffCorr500MeV[bin])->SetName(Form("DataEffCorr500MeV%i",bin));

      rawEt[bin]= fHistTotRawEt->ProjectionX(Form("RawEt%i",bin),bin,bin);
      ((TH1D*)rawEt[bin])->SetName(Form("rawEt%i",bin));
      partialCorrEtValues[bin-1] = (Float_t)((TH1D*)rawEt[bin])->GetMean();
      partialCorrEtError[bin-1] = (Float_t) ((TH1D*)rawEt[bin])->GetMeanError();
      partialCorrEtPerNPartPairValues[bin-1] = partialCorrEtValues[bin-1]/(npart[bin-1])/2.0*10;
      partialCorrEtPerNPartPairError[bin-1]  =  partialCorrEtError[bin-1]/(npart[bin-1])/2.0*10;

      rawEtNoEffCorr[bin]= fHistTotRawEtNoEffCorr->ProjectionX(Form("RawEtNoEffCorr%i",bin),bin,bin);
      ((TH1D*)rawEtNoEffCorr[bin])->SetName(Form("rawEtNoEffCorr%i",bin));
      rawEtNoEffCorrValues[bin-1] = (Float_t)((TH1D*)rawEtNoEffCorr[bin])->GetMean();
      rawEtNoEffCorrError[bin-1] = (Float_t) ((TH1D*)rawEtNoEffCorr[bin])->GetMeanError();

      rawEtAllNoEffCorr[bin]= fHistTotAllRawEtNoEffCorr->ProjectionX(Form("RawEtAllNoEffCorr%i",bin),bin,bin);
      ((TH1D*)rawEtAllNoEffCorr[bin])->SetName(Form("rawEtAllNoEffCorr%i",bin));
      rawEtAllNoEffCorrValues[bin-1] = (Float_t)((TH1D*)rawEtAllNoEffCorr[bin])->GetMean();
      rawEtAllNoEffCorrError[bin-1] = (Float_t) ((TH1D*)rawEtAllNoEffCorr[bin])->GetMeanError();

      rawEtAll[bin]= fHistTotAllRawEt->ProjectionX(Form("RawEtAll%i",bin),bin,bin);
      ((TH1D*)rawEtAll[bin])->SetName(Form("rawEtAll%i",bin));
      rawEtAllValues[bin-1] = (Float_t)((TH1D*)rawEtAll[bin])->GetMean();
      rawEtAllError[bin-1] = (Float_t) ((TH1D*)rawEtAll[bin])->GetMeanError();
      //cout<<"bin "<<bin<<" "<<partialCorrEtValues[bin-1]<<" "<<rawEtNoEffCorrValues[bin-1]<<" "<<rawEtAllNoEffCorrValues[bin-1]<<" "<<rawEtAllValues[bin-1]<<endl;
      //cout<<"bin "<<bin<<" eff corr "<<partialCorrEtValues[bin-1]<<" no eff corr "<<rawEtNoEffCorrValues[bin-1]<<" eff "<< rawEtNoEffCorrValues[bin-1]/partialCorrEtValues[bin-1] <<endl;
      if(partialCorrEtValues[bin-1]>0) averageEfficiency[bin-1] = rawEtNoEffCorrValues[bin-1]/partialCorrEtValues[bin-1];

      TH1D *temp = fHistNominalRawEt->ProjectionX("temp",bin,bin);
      float nominal = temp->GetMean();
      //cout<<" Mean "<<temp->GetMean()<<" nbins "<<temp->GetNbinsX()<<endl;
      delete temp;
      temp = fHistNominalNonLinLowEt->ProjectionX("temp",bin,bin);
      float nonlinlow = temp->GetMean();
      delete temp;
      temp = fHistNominalNonLinHighEt->ProjectionX("temp",bin,bin);
      float nonlinhigh = temp->GetMean();
      delete temp;
      temp = fHistNominalEffLowEt->ProjectionX("temp",bin,bin);
      float efflow = temp->GetMean();
      delete temp;
      temp = fHistNominalEffHighEt->ProjectionX("temp",bin,bin);
      float effhigh = temp->GetMean();
      delete temp;
      float nonlinfracerr = 0;
      if(nonlinhigh >0 || nonlinlow >0) nonlinfracerr = TMath::Abs(nonlinhigh-nonlinlow)/(nonlinhigh+nonlinlow);
      float efffracerr = 0;
      if(effhigh >0 || efflow>0)efffracerr = TMath::Abs(effhigh-efflow)/(effhigh+efflow);
      //cout<<"cb "<<bin-1<<" nonlinerr "<<nonlinfracerr<<" efficiencyError "<<efffracerr<<endl;
      nonLinError[bin-1] = nonlinfracerr;
      efficiencyError[bin-1] = efffracerr;

      //(not)matchedtrackmultiplicity, (not)matchedtrackmultiplicityPerNCh, (not)matchedtrackmultiplicityPerNCl
      temp = fHistFoundHadronsvsCent->ProjectionX(Form("Found%iTmp",bin),bin,bin);
      matchedtrackmultiplicity[bin-1] = temp->GetMean();
      delete temp;
      temp = fHistNotFoundHadronsvsCent->ProjectionX(Form("NotFound%iTmp",bin),bin,bin);
      notmatchedtrackmultiplicity[bin-1] = temp->GetMean();
      delete temp;



    }


    for(int cb=0;cb<20;cb++){
      fHistCentVsNchVsNcl->GetXaxis()->SetRange(cb+1,cb+1);
      TH1D *trackmultiplicityHist = fHistCentVsNchVsNcl->Project3D("y");
      TH1D *clustermultiplicityHist = fHistCentVsNchVsNcl->Project3D("z");
      trackmultiplicity[cb] = (Float_t) trackmultiplicityHist->GetMean();
      clustermultiplicity[cb] = (Float_t)clustermultiplicityHist->GetMean();
      trackmultiplicityError[cb] = (Float_t) trackmultiplicityHist->GetMeanError();
      clustermultiplicityError[cb] = (Float_t)clustermultiplicityHist->GetMeanError();
      delete trackmultiplicityHist;
      delete clustermultiplicityHist;
    }
    int cb1 = 0;
    for(int cb=0;cb<10;cb++){
      int cb2 = cb1+1;
      if(cb1<2) cb2 = cb1;
      //cout<<"From "<<cb1<<" to "<<cb2<<endl;
      fHistCentVsNchVsNcl->GetXaxis()->SetRange(cb1+1,cb2+1);
      TH1D *trackmultiplicityHistShort = fHistCentVsNchVsNcl->Project3D("y");
      TH1D *clustermultiplicityHistShort = fHistCentVsNchVsNcl->Project3D("z");
      trackmultiplicityShort[cb] = (Float_t) trackmultiplicityHistShort->GetMean();
      clustermultiplicityShort[cb] = (Float_t)clustermultiplicityHistShort->GetMean();
      trackmultiplicityShortError[cb] = (Float_t) trackmultiplicityHistShort->GetMeanError();
      clustermultiplicityShortError[cb] = (Float_t)clustermultiplicityHistShort->GetMeanError();
      delete trackmultiplicityHistShort;
      delete clustermultiplicityHistShort;
      if(cb1<2) cb1++;
      else{cb1+=2;}
      rawEtShort[cb]= fHistTotRawEt->ProjectionX(Form("RawEtShort%i",bin),cb1+1,cb2+1);
      ((TH1D*)rawEtShort[cb])->SetName(Form("rawEtShort%i",cb));
      partialCorrEtValuesShort[cb] = (Float_t)((TH1D*)rawEtShort[cb])->GetMean();
      partialCorrEtErrorShort[cb] = (Float_t) ((TH1D*)rawEtShort[cb])->GetMeanError();

      partialCorrEtPerNChValuesShort[cb] = partialCorrEtValuesShort[cb]/(trackmultiplicityShort[cb])/2.0;
      partialCorrEtPerNChErrorShort[cb]  =  partialCorrEtErrorShort[cb]/(trackmultiplicityShort[cb])/2.0;

      partialCorrEtPerNPartValuesShort[cb] = partialCorrEtValuesShort[cb]/(npart[cb])/2.0;
      partialCorrEtPerNPartErrorShort[cb]  =  partialCorrEtErrorShort[cb]/(npart[cb])/2.0;

      partialCorrEtPerNPartPairValuesShort[cb] = partialCorrEtValues[cb]/(npart[cb])/2.0*10;
      partialCorrEtPerNPartPairErrorShort[cb]  =  partialCorrEtError[cb]/(npart[cb])/2.0*10;

      TH1D *temp = fHistNominalRawEt->ProjectionX("temp",cb1+1,cb2+1);
      float nominal = temp->GetMean();
      //cout<<" Mean "<<temp->GetMean()<<" nbins "<<temp->GetNbinsX()<<endl;
      delete temp;
      temp = fHistNominalNonLinLowEt->ProjectionX("temp",cb1+1,cb2+1);
      float nonlinlow = temp->GetMean();
      delete temp;
      temp = fHistNominalNonLinHighEt->ProjectionX("temp",cb1+1,cb2+1);
      float nonlinhigh = temp->GetMean();
      delete temp;
      temp = fHistNominalEffLowEt->ProjectionX("temp",cb1+1,cb2+1);
      float efflow = temp->GetMean();
      delete temp;
      temp = fHistNominalEffHighEt->ProjectionX("temp",cb1+1,cb2+1);
      float effhigh = temp->GetMean();
      delete temp;
      float nonlinfracerr = 0;
      if(nonlinhigh >0 || nonlinlow >0) nonlinfracerr = TMath::Abs(nonlinhigh-nonlinlow)/(nonlinhigh+nonlinlow);
//       if(isPhos){ 
// 	nonlinfracerr = 0.005;
//       }
      float efffracerr = 0;
      if(effhigh >0 || efflow>0)efffracerr = TMath::Abs(effhigh-efflow)/(effhigh+efflow);
      nonLinErrorShort[cb] = nonlinfracerr;
      if(isPhos){
	efficiencyErrorShort[cb] = 0.005;
      }
      else{
	efficiencyErrorShort[cb] = 0.02;
      }



    }

}
void ApplyCorrections(Float_t scale){//scale takes into account the acceptance in eta and phi and the 1/etaacc
  //correlation of errors:
    //hadCorr - calculated using matched tracks, correcting with tracking efficiency, systematic error dominated by uncertainty in energy deposited in calorimeter
  //kaon correction - calculated using kaon spectra, systematic errors from spectra systematic errors
  //neutron correction - systematic errors a bit of a fudge.
  //secondary correction - systematic errors from Nch vs Ncl scaling
  //etmin - calculated from kinematics, simulation, and pion spectra
  //efficiency error - determined from different material budgets
  //nonlinearity error - difference between test beam data and simulation
  //arguably kaon correction and etmin correction are somewhat correlated

  for(int cb = 0;cb<19;cb++){
    if(trackmultiplicity[cb]>0){
      partialCorrEtPerNChValues[cb] = partialCorrEtValues[cb]/(trackmultiplicity[cb]);
      partialCorrEtPerNChError[cb]  =  partialCorrEtError[cb]/(trackmultiplicity[cb]);
      partialCorrEtPerNPartValues[cb] = partialCorrEtValues[cb]/(npart[cb]);
      partialCorrEtPerNPartError[cb]  =  partialCorrEtError[cb]/(npart[cb]);
      rawEtNoEffCorrPerNChValues[cb] = rawEtNoEffCorrValues[cb]/(trackmultiplicity[cb]);
      rawEtNoEffCorrPerNChError[cb]  =  rawEtNoEffCorrError[cb]/(trackmultiplicity[cb]);
      rawEtAllNoEffCorrPerNChValues[cb] = rawEtAllNoEffCorrValues[cb]/(trackmultiplicity[cb]);
      rawEtAllNoEffCorrPerNChError[cb]  =  rawEtAllNoEffCorrError[cb]/(trackmultiplicity[cb]);
      rawEtAllPerNChValues[cb] = rawEtAllValues[cb]/(trackmultiplicity[cb]);
      rawEtAllPerNChError[cb]  =  rawEtAllError[cb]/(trackmultiplicity[cb]);
      rawEtNoEffCorrPerNPartValues[cb] = rawEtNoEffCorrValues[cb]/(npart[cb]);
      rawEtNoEffCorrPerNPartError[cb]  =  rawEtNoEffCorrError[cb]/(npart[cb]);
      rawEtAllNoEffCorrPerNPartValues[cb] = rawEtAllNoEffCorrValues[cb]/(npart[cb]);
      rawEtAllNoEffCorrPerNPartError[cb]  =  rawEtAllNoEffCorrError[cb]/(npart[cb]);
      rawEtAllPerNPartValues[cb] = rawEtAllValues[cb]/(npart[cb]);
      rawEtAllPerNPartError[cb]  =  rawEtAllError[cb]/(npart[cb]);
      matchedtrackmultiplicityPerNCh[cb] = matchedtrackmultiplicity[cb]/(trackmultiplicity[cb]);
      notmatchedtrackmultiplicityPerNCh[cb] = notmatchedtrackmultiplicity[cb]/(trackmultiplicity[cb]);
    }
    if(clustermultiplicity[cb]>0){
      partialCorrEtPerNClValues[cb] = partialCorrEtValues[cb]/(clustermultiplicity[cb]);
      partialCorrEtPerNClError[cb]  =  partialCorrEtError[cb]/(clustermultiplicity[cb]);
      rawEtNoEffCorrPerNClValues[cb] = rawEtNoEffCorrValues[cb]/(clustermultiplicity[cb]);
      rawEtNoEffCorrPerNClError[cb]  =  rawEtNoEffCorrError[cb]/(clustermultiplicity[cb]);
      rawEtAllNoEffCorrPerNClValues[cb] = rawEtAllNoEffCorrValues[cb]/(clustermultiplicity[cb]);
      rawEtAllNoEffCorrPerNClError[cb]  =  rawEtAllNoEffCorrError[cb]/(clustermultiplicity[cb]);
      rawEtAllPerNClValues[cb] = rawEtAllValues[cb]/(clustermultiplicity[cb]);
      rawEtAllPerNClError[cb]  =  rawEtAllError[cb]/(clustermultiplicity[cb]);
      matchedtrackmultiplicityPerNCl[cb] = matchedtrackmultiplicity[cb]/(clustermultiplicity[cb]);
      notmatchedtrackmultiplicityPerNCl[cb] = notmatchedtrackmultiplicity[cb]/(clustermultiplicity[cb]);
    }

    totaltrackmultiplicityPerNCh[cb] = matchedtrackmultiplicityPerNCh[cb] + notmatchedtrackmultiplicityPerNCh[cb];
    totaltrackmultiplicityPerNCl[cb] = matchedtrackmultiplicityPerNCl[cb] + notmatchedtrackmultiplicityPerNCl[cb];
//     if(scale<4.0){
//       kaonCorr[cb] = 100.0/40.0*kaonCorr[cb];
//       kaonError[cb] = 100.0/40.0*kaonError[cb];
//     }
    //cout<<"cb "<<cb<<" "<<partialCorrEtValues[cb]<<" "<<rawEtNoEffCorrValues[cb]<<" "<<rawEtAllNoEffCorrValues[cb]<<" "<<rawEtAllValues[cb]<<endl;
    //cout<<"cb "<<cb<<" "<<partialCorrEtPerNChValues[cb]<<" "<<rawEtNoEffCorrPerNChValues[cb]<<" "<<rawEtAllNoEffCorrPerNChValues[cb]<<" "<<rawEtAllPerNChValues[cb]<<endl;
      //cout<<"cb "<<cb<<" "<<partialCorrEtPerNChValues[cb]<<" "<< partialCorrEtValues[cb]<<" "<< partialCorrEtError[cb]<<" "<<trackmultiplicity[cb] <<endl;
    corrEtValues[cb] = scale*(partialCorrEtValues[cb] - hadCorr[cb] - kaonCorr[cb] - neutronCorr[cb] - secondaryCorr[cb])/minEtCorr[cb];
    if(rawEtAllNoEffCorr[cb]){
      float fracraw = (partialCorrEtValues[cb] - hadCorr[cb] - kaonCorr[cb] - neutronCorr[cb] - secondaryCorr[cb])/rawEtAllNoEffCorrValues[cb];
      float fracraw2 = (partialCorrEtValues[cb] - hadCorr[cb] - kaonCorr[cb] - neutronCorr[cb] - secondaryCorr[cb])/rawEtAllValues[cb];
      float fracraw3 = fracraw/fem*scale/minEtCorr[cb];//~0.28/0.23*6.5
      //if(cb>9) 
      fracraw3 = 15.0;
      //cout<<"cb "<<cb<<" frac raw "<<fracraw<<" frac raw 2 "<<fracraw2<<" frac raw 3 "<<fracraw3<<" raw et "<<rawEtAllNoEffCorrValues[cb]<<" test "<<fracraw3*rawEtAllValues[cb]<<endl;
    }
    //else{cerr<<"cannot calc fracraw"<<" raw et "<<rawEtAllNoEffCorrValues[cb]<<endl;}
    corrEtStatError[cb] = scale*(partialCorrEtError[cb])/minEtCorr[cb];
    totEtValues[cb] = scale*(partialCorrEtValues[cb] - hadCorr[cb] - kaonCorr[cb] - neutronCorr[cb] - secondaryCorr[cb])/minEtCorr[cb]/fem;
    //cout<<"cb "<<cb<<"\t"<<corrEtValues[cb]<<" = \t"<<scale<<"*\t("<<partialCorrEtValues[cb]<<" -\t"<<hadCorr[cb]<<" -\t"<<kaonCorr[cb]<<" -\t"<<neutronCorr[cb]<<" -\t"<<secondaryCorr[cb]<<")\t/"<<minEtCorr[cb]<<endl;
    //cout<<"cb "<<cb<<"\t"<<corrEtValues[cb]<<" = \t"<<scale<<"*\t("<<partialCorrEtValues[cb]<<" -\t"<<hadCorr[cb]/partialCorrEtValues[cb]<<" -\t"<<kaonCorr[cb]/partialCorrEtValues[cb]<<" -\t"<<neutronCorr[cb]/partialCorrEtValues[cb]<<" -\t"<<secondaryCorr[cb]/partialCorrEtValues[cb]<<")\t/"<<minEtCorr[cb]<<endl;
    corrEtValuesFormulaB[cb] = scale*(rawEtNoEffCorrValues[cb] - hadCorrNoEffCorr[cb] - kaonCorrNoEffCorr[cb] - neutronCorrNoEffCorr[cb] - secondaryCorrNoEffCorr[cb])/minEtCorr[cb]/averageEfficiency[cb];
    //cout<<"cb "<<corrEtValuesFormulaB[cb]<<" = "<<scale<<"*("<<rawEtNoEffCorrValues[cb]<<" - "<<hadCorrNoEffCorr[cb]<<" - "<<kaonCorrNoEffCorr[cb]<<" - "<<neutronCorrNoEffCorr[cb]<<" - "<<secondaryCorrNoEffCorr[cb]<<")/"<<minEtCorr[cb]<<"/"<<averageEfficiency[cb]<<endl;
    //cout<<" fractions: had "<< hadCorrNoEffCorr[cb]/rawEtNoEffCorrValues[cb] <<" kaon "<<kaonCorrNoEffCorr[cb]/rawEtNoEffCorrValues[cb]<<" neutron "<<neutronCorrNoEffCorr[cb]/rawEtNoEffCorrValues[cb]<<" secondary "<<secondaryCorrNoEffCorr[cb]/rawEtNoEffCorrValues[cb]<<endl;
    //signalFraction[cb] = (1.0 - (hadCorrNoEffCorr[cb] + kaonCorrNoEffCorr[cb] + neutronCorrNoEffCorr[cb] + secondaryCorrNoEffCorr[cb])/rawEtNoEffCorrValues[cb]);
    //signalFraction[cb] = (1.0 - (hadCorr[cb] + kaonCorr[cb] + neutronCorr[cb] + secondaryCorr[cb])/partialCorrEtValues[cb]);
    //cout<<"cb "<<cb<<" fractions: \thad "<< hadCorr[cb]/partialCorrEtValues[cb]<<"+/-" << hadError[cb]/partialCorrEtValues[cb]<<"\tkaon "<<kaonCorr[cb]/partialCorrEtValues[cb]<<"+/-"<<kaonError[cb]/partialCorrEtValues[cb]<<"\tneutron "<<neutronCorr[cb]/partialCorrEtValues[cb]<<"+/-"<<neutronError[cb]/partialCorrEtValues[cb]<<"\tsecondary "<<secondaryCorr[cb]/partialCorrEtValues[cb]<<"+/-"<<secondaryError[cb]/partialCorrEtValues[cb]<<endl;//rawEtValues
    //corrEtValuesFormulaC[cb] = scale*partialCorrEtValues[cb]*signalFraction[cb]/minEtCorr[cb];
//     signalFraction[cb] = 0.215;
//     corrEtValuesFormulaC[cb] = scale*rawEtAllValues[cb]*signalFraction[cb]/minEtCorr[cb];
//     //signalFraction[cb] = 0.32;
//     corrEtValuesFormulaC[cb] = scale*rawEtAllNoEffCorrValues[cb]*signalFraction[cb]/minEtCorr[cb];
    //signalFraction[cb] = (partialCorrEtValues[cb] - hadCorr[cb] - kaonCorr[cb] - neutronCorr[cb] - secondaryCorr[cb])/rawEtAllNoEffCorrValues[cb];
    signalFraction[cb]= (partialCorrEtValues[cb] - hadCorr[cb] - kaonCorr[cb] - neutronCorr[cb] - secondaryCorr[cb])/rawEtAllValues[cb];
    //signalFraction[cb]= (partialCorrEtValues[cb] - hadCorr[cb] - kaonCorr[cb] - neutronCorr[cb] - secondaryCorr[cb])/rawEtAllValues[cb];
    //cout<<" f "<<
    //corrEtValuesFormulaC[cb] = scale*rawEtNoEffCorrValues[cb]*signalFraction[cb]/minEtCorr[cb]/0.22;
    //cout<<"cb "<<cb<<" "<<corrEtValuesFormulaC[cb]<<" = "<<scale<<"*"<<rawEtNoEffCorrValues[cb]<<"*"<<signalFraction[cb]<<"/"<<minEtCorr[cb]<<"/"<<averageEfficiency[cb]<<endl;

    totalCorrectionPerNPartPairValues[cb] = hadCorr[cb] + kaonCorr[cb] + neutronCorr[cb] + secondaryCorr[cb];
    totalCorrectionPerNPartPairValuesNoEffCorr[cb] = hadCorrNoEffCorr[cb] + kaonCorrNoEffCorr[cb] + neutronCorrNoEffCorr[cb] + secondaryCorrNoEffCorr[cb];
    //this comes up enough in the error calculations we'll just make a variable for it
    float  partialEt = scale*(partialCorrEtValues[cb])/minEtCorr[cb];
    float  partialEtNoEffCorr = scale*(rawEtNoEffCorrValues[cb])/minEtCorr[cb];
    //the lower the fraction EM ET is of the overall signal the higher the corrections are due to kaons, charged hadrons, neutrons, and secondaries
    float nominalTotEt = scale/minEtCorr[cb]*(partialCorrEtValues[cb]-hadCorr[cb]-kaonCorr[cb]-neutronCorr[cb]-secondaryCorr[cb])/(fem);
    float partialTotEtLow = (partialCorrEtValues[cb]-hadCorr[cb]-hadError[cb]-kaonCorr[cb]-kaonError[cb]-neutronCorr[cb]-neutronError[cb]-secondaryCorr[cb]-secondaryError[cb])/(fem-femerr);
    //and the higher it is the lower the corrections will be
    float partialTotEtHigh = (partialCorrEtValues[cb]-hadCorr[cb]+hadError[cb]-kaonCorr[cb]+kaonError[cb]-neutronCorr[cb]+neutronError[cb]-secondaryCorr[cb]+secondaryError[cb])/(fem+femerr);
    float partialTotEtAvg = (partialTotEtHigh+partialTotEtLow)/2.0;
    float partialTotEtErr = TMath::Abs(partialTotEtHigh-partialTotEtLow)/2.0;
    //cout<<"cb old "<<totEtValues[cb];
    totEtValues[cb] = scale/minEtCorr[cb]*partialTotEtAvg;
    totEtError[cb] = totEtValues[cb] * TMath::Sqrt(TMath::Power(minEtError[cb]/minEtCorr[cb],2)+TMath::Power(partialTotEtErr/partialTotEtAvg,2)+TMath::Power(nonLinError[cb],2)+TMath::Power(efficiencyError[cb],2));
    //cout<<" new "<<totEtValues[cb]<<endl;
    //add up the error squared
    float err = 0;
    float partialerr = 0;
    float totalcorrpartialerr = 0;
    float errNoEffCorr = 0;
    float partialerrNoEffCorr = 0;
    float totalcorrpartialerrNoEffCorr = 0;
    float totaletvariance = 0;
    float femkaoncorrelation = -1.0;//fractional correlation, says these are 100% anticorrelated
    float femhadroncorrelation = -0.0;//fractional correlation, says these are 100% anticorrelated
    float femneutroncorrelation = -1;//fractional correlation, says these are 100% anticorrelated
    float femsecondarycorrelation = 0;//fractional correlation, says these are 100% anticorrelated

    bool writeerror = false;
    bool writetoteterror = false;
    if(writeerror){
      cout<<"fraction errors: min et "<<minEtError[cb]/minEtCorr[cb];
    }
    //if(writeerror)cout<<"partialEt "<<partialEt<<" err^2 = ";
    //Et min correction
    partialerr = TMath::Power(minEtError[cb]/minEtCorr[cb]*corrEtValues[cb],2.0);
    partialerrNoEffCorr = TMath::Power(minEtError[cb]/minEtCorr[cb]*corrEtValuesFormulaB[cb],2.0);
    err+=partialerr;
    errNoEffCorr+=partialerrNoEffCorr;
    partialerr = TMath::Power(minEtError[cb]/minEtCorr[cb]*totEtValues[cb],2.0);
    totaletvariance += partialerr;//the error from min et is not correlated with femet
    if(writetoteterror){cout<<"min et "<<partialerr;}
    //nonlinearity correction - this is saved as a fractional error
    partialerr = TMath::Power(nonLinError[cb]*corrEtValues[cb],2.0);
    partialerrNoEffCorr = TMath::Power(nonLinError[cb]*corrEtValuesFormulaB[cb],2.0);
    if(writeerror){cout<<" nonlinearity "<<TMath::Sqrt(partialerr)/corrEtValues[cb];}
    err+=partialerr;
    errNoEffCorr+=partialerrNoEffCorr;
    partialerr = TMath::Power(nonLinError[cb]*totEtValues[cb],2.0);
    totaletvariance += partialerr;//the error from nonlinearity is not correlated with femet
    if(writetoteterror){cout<<" nonlinearity "<<partialerr;}
    //energy scale - this is saved as a fractional error
    partialerr = TMath::Power(energyscaleerror*corrEtValues[cb],2.0);
    partialerrNoEffCorr = TMath::Power(energyscaleerror*corrEtValuesFormulaB[cb],2.0);
    if(writeerror){cout<<" scale error "<<TMath::Sqrt(partialerr)/corrEtValues[cb];}
    err+=partialerr;
    errNoEffCorr+=partialerrNoEffCorr;
    partialerr = TMath::Power(energyscaleerror*totEtValues[cb],2.0);
    totaletvariance += partialerr;//the error from nonlinearity is not correlated with femet
    if(writetoteterror){cout<<" scale error "<<partialerr;}
    //efficiency correction - this is also saved as a fractional error
    partialerr = TMath::Power(efficiencyError[cb]*corrEtValues[cb],2);
    partialerrNoEffCorr = TMath::Power(efficiencyError[cb]*corrEtValues[cb],2);
    if(writeerror){cout<<" efficiency "<<TMath::Sqrt(partialerr)/corrEtValues[cb];}
    err+=partialerr;
    errNoEffCorr+=partialerrNoEffCorr;
    partialerr = TMath::Power(efficiencyError[cb]*totEtValues[cb],2);
    totaletvariance += partialerr;//the error from efficiency is not correlated with femet
    if(writetoteterror){cout<<" efficiency "<<partialerr;}
    //hadron correction
    partialerr = TMath::Power(hadError[cb]*scale/minEtCorr[cb],2);
    partialerrNoEffCorr = TMath::Power(hadErrorNoEffCorr[cb]*scale/minEtCorr[cb],2);
    totalcorrpartialerr += TMath::Power(hadError[cb],2);
    totalcorrpartialerrNoEffCorr += TMath::Power(hadErrorNoEffCorr[cb],2);
    if(writeerror){cout<<" hadronic corr "<<TMath::Sqrt(partialerr)/corrEtValues[cb];}
    err+=partialerr;
    errNoEffCorr+=partialerrNoEffCorr;
    //correlation term is variance due to had ET + correlation fraction * df/dfem * error(fem) * df/dhadcorr * error(hadcorr)
    partialerr = TMath::Power(hadError[cb]*scale/minEtCorr[cb]/fem,2)+femhadroncorrelation * 2 * TMath::Abs(nominalTotEt*femerr/fem * scale/minEtCorr[cb]/fem*hadError[cb]);
    //cout<<" variance had "<<partialerr<<" = "<<TMath::Sqrt(TMath::Abs(partialerr))<<"^2 = "<<TMath::Power(hadError[cb]*scale/minEtCorr[cb]/fem,2)<<" + "<<femhadroncorrelation * TMath::Abs(nominalTotEt*femerr/fem * scale/minEtCorr[cb]/fem*hadError[cb])<<" first part sqrt "<<hadError[cb]*scale/minEtCorr[cb]/fem<<" second part "<<femhadroncorrelation <<" * "<<nominalTotEt*femerr/fem<<" * "<<scale/minEtCorr[cb]/fem*hadError[cb]<<" ";
    totaletvariance += partialerr;//the error from hadd corr IS correlated with femet
    if(writetoteterror){cout<<" hadronic corr "<<partialerr;}
    //neutron correction
    partialerr = TMath::Power(neutronError[cb]*scale/minEtCorr[cb],2);
    totalcorrpartialerr += TMath::Power(neutronError[cb],2);
    partialerrNoEffCorr = TMath::Power(neutronErrorNoEffCorr[cb]*scale/minEtCorr[cb],2);
    totalcorrpartialerrNoEffCorr += TMath::Power(neutronErrorNoEffCorr[cb],2);
    if(writeerror){cout<<" neutron corr "<<TMath::Sqrt(partialerr)/corrEtValues[cb];}
    //if(writeerror)cout<<partialerr<<"+";
    err+=partialerr;
    errNoEffCorr+=partialerrNoEffCorr;
    //correlation term is variance due to had ET + correlation fraction * df/dfem * error(fem) * df/dneutroncorr * error(neutroncorr)
    partialerr = TMath::Power(neutronError[cb]*scale/minEtCorr[cb]/fem,2)+femneutroncorrelation * 2 * TMath::Abs(nominalTotEt*femerr/fem * scale/minEtCorr[cb]/fem*neutronError[cb]);
    totaletvariance += partialerr;//the error from neutron corr IS correlated with femet
    if(writetoteterror){cout<<" neutron corr "<<partialerr;}
    //kaon correction
    partialerr = TMath::Power(kaonError[cb]*scale/minEtCorr[cb],2);
    totalcorrpartialerr += TMath::Power(kaonError[cb],2);
    partialerrNoEffCorr = TMath::Power(kaonErrorNoEffCorr[cb]*scale/minEtCorr[cb],2);
    totalcorrpartialerrNoEffCorr += TMath::Power(kaonErrorNoEffCorr[cb],2);
    if(writeerror){cout<<" kaon corr "<<TMath::Sqrt(partialerr)/corrEtValues[cb];}
    //if(writeerror)cout<<partialerr<<"+";
    err+=partialerr;
    errNoEffCorr+=partialerrNoEffCorr;
    //correlation term is variance due to had ET + correlation fraction * df/dfem * error(fem) * df/dkaoncorr * error(kaoncorr)
    partialerr =TMath::Power(kaonError[cb]*scale/minEtCorr[cb]/fem,2)+femkaoncorrelation * 2 * TMath::Abs(nominalTotEt*femerr/fem * scale/minEtCorr[cb]/fem*kaonError[cb]);
    totaletvariance += partialerr;//the error from kaon corr IS correlated with femet
    if(writetoteterror){cout<<" kaon corr "<<partialerr;}
    //secondary correction
    partialerr = TMath::Power(secondaryError[cb]*scale/minEtCorr[cb],2);
    totalcorrpartialerr += TMath::Power(secondaryError[cb],2);
    partialerrNoEffCorr = TMath::Power(secondaryErrorNoEffCorr[cb]*scale/minEtCorr[cb],2);
    totalcorrpartialerrNoEffCorr += TMath::Power(secondaryErrorNoEffCorr[cb],2);
    if(writeerror){cout<<" secondaries "<<TMath::Sqrt(partialerr)/corrEtValues[cb];}
    //if(writeerror)cout<<partialerr;
    err+=partialerr;
    errNoEffCorr+=partialerrNoEffCorr;
    //correlation term is variance due to had ET + correlation fraction * df/dfem * error(fem) * df/dkaoncorr * error(kaoncorr)
    partialerr = TMath::Power(secondaryError[cb]*scale/minEtCorr[cb]/fem,2)+femsecondarycorrelation * 2 * TMath::Abs(nominalTotEt*femerr/fem * scale/minEtCorr[cb]/fem*secondaryError[cb]);
    totaletvariance += partialerr;//the error from kaon corr IS correlated with femet
    if(writetoteterror){cout<<" secondary corr "<<partialerr;}

    partialerr = TMath::Power(nominalTotEt*femerr/fem,2);
    totaletvariance += partialerr;//the error from kaon corr IS correlated with femet
    if(writetoteterror){cout<<" fem "<<partialerr;}
    //And take the square root
    err = TMath::Sqrt(err);
    errNoEffCorr = TMath::Sqrt(errNoEffCorr);
    totalCorrectionPerNPartPairError[cb] = TMath::Sqrt(totalcorrpartialerr);
    totalCorrectionPerNPartPairErrorNoEffCorr[cb] = TMath::Sqrt(totalcorrpartialerrNoEffCorr);
    if(writeerror)cout<<" = "<<err/corrEtValues[cb]<<endl;
    signalFractionError[cb] = totalCorrectionPerNPartPairError[cb]/partialCorrEtValues[cb];
    cout<<"tot et "<<cb<<" "<<totEtValues[cb]<<" +/- "<<totEtError[cb]<<" vs ";
    totEtValues[cb] = nominalTotEt;
    if(totaletvariance>0) totEtError[cb] = TMath::Sqrt(totaletvariance);
    else{cout<<" var err "<<totaletvariance<<" ";}
    //totEtError[cb] = totaletvariance;
    cout<<totEtValues[cb]<<" +/- "<<totEtError[cb]<<endl;
    //cout<<"signal fraction "<<signalFraction[cb]<<" +/- ";
    //cout<<"cb "<<cb<<" fractions: \thad "<< hadCorr[cb]/partialCorrEtValues[cb]<<"+/-" << hadError[cb]/partialCorrEtValues[cb]<<"\tkaon "<<kaonCorr[cb]/partialCorrEtValues[cb]<<"+/-"<<kaonError[cb]/partialCorrEtValues[cb]<<"\tneutron "<<neutronCorr[cb]/partialCorrEtValues[cb]<<"+/-"<<neutronError[cb]/partialCorrEtValues[cb]<<"\tsecondary "<<secondaryCorr[cb]/partialCorrEtValues[cb]<<"+/-"<<secondaryError[cb]/partialCorrEtValues[cb]<<"\tsignalfrac "<<signalFraction[cb]<<"+/-"<<signalFractionError[cb]<<endl;//rawEtValues
    if(partialCorrEtValues[cb]>0)cout<<totalCorrectionPerNPartPairError[cb]/partialCorrEtValues[cb];
    //cout<<endl;
    corrEtError[cb] = err;
    corrEtErrorFormulaB[cb] = errNoEffCorr;
    corrEtPerNPartPairValues[cb] = corrEtValues[cb]/(npart[cb]/2.0);
    corrEtPerNPartPairError[cb]  =  corrEtError[cb]/(npart[cb]/2.0);
    corrEtPerNPartPairValuesFormulaC[cb] = corrEtValuesFormulaC[cb]/(npart[cb]/2.0);
    corrEtPerNPartPairErrorFormulaC[cb]  =  corrEtErrorFormulaC[cb]/(npart[cb]/2.0);
    corrEtPerNPartPairValuesFormulaB[cb] = corrEtValuesFormulaB[cb]/(npart[cb]/2.0);
    corrEtPerNPartPairErrorFormulaB[cb]  =  corrEtErrorFormulaB[cb]/(npart[cb]/2.0);
    totalCorrectionPerNPartPairValues[cb] = totalCorrectionPerNPartPairValues[cb]/20.0/trackmultiplicity[cb];
    totalCorrectionPerNPartPairError[cb] = totalCorrectionPerNPartPairError[cb]/20.0/trackmultiplicity[cb];
    totalCorrectionPerNPartPairValuesNoEffCorr[cb] = totalCorrectionPerNPartPairValuesNoEffCorr[cb]/20.0/trackmultiplicity[cb];
    totalCorrectionPerNPartPairErrorNoEffCorr[cb] = totalCorrectionPerNPartPairErrorNoEffCorr[cb]/20.0/trackmultiplicity[cb];
    //cout<<"test cb "<<cb<<" total corr/npart pair "<<totalCorrectionPerNPartPairValues[cb]<<" "<<totalCorrectionPerNPartPairError[cb]<<endl;
    //cout<<"cb "<<cb <<" et "<< corrEtPerNPartPairValues[cb] <<" +/- "<<corrEtPerNPartPairError[cb];
    //cout<<"cb "<<cb <<" et "<< corrEtPerNPartPairValuesFormulaC[cb] <<" +/- "<<corrEtPerNPartPairErrorFormulaC[cb]<<endl;

    //cout<<" = "<<scale<<"*"<<"("<<partialCorrEtValues[cb]<<"+/-"<<partialCorrEtError[cb]<<" - "<<hadCorr[cb]<<"+/-"<<hadError[cb]<<" - "<<kaonCorr[cb]<<"+/-"<<kaonError[cb]<<" - "<<neutronCorr[cb]<<"+/-"<<neutronError[cb]<<" - "<<secondaryCorr[cb]<<"+/-"<<secondaryError[cb]<<")/"<<minEtCorr[cb]<<"+/-"<<minEtError[cb];
    //cout<<endl;
  }
//   for(int cb = 0;cb<10;cb++){
//   }

}

TGraphErrors *GetEtGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,corrEtPerNPartPairValues,npartErr,corrEtPerNPartPairError);
    SetStyles(gr3,25,1);
    return gr3;
}

TGraphErrors *GetEtGraphFormulaC(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,corrEtPerNPartPairValuesFormulaC,npartErr,corrEtPerNPartPairErrorFormulaC);
    for(int i=0;i<20;i++){
      //cout<<"i "<<i<<" "<<clustermultiplicity[i]<<": "<<rawEtNoEffCorrPerNClValues[i]<<"+/-"<<rawEtNoEffCorrPerNClError[i]<<endl;
    }
    SetStyles(gr3,21,1);
    return gr3;
}
TGraphErrors *GetEtGraphFormulaB(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,corrEtPerNPartPairValuesFormulaB,npartErr,corrEtPerNPartPairErrorFormulaB);
    for(int i=0;i<20;i++){
      //cout<<"i "<<i<<" "<<clustermultiplicity[i]<<": "<<rawEtNoEffCorrPerNClValues[i]<<"+/-"<<rawEtNoEffCorrPerNClError[i]<<endl;
    }
    SetStyles(gr3,29,1);
    return gr3;
}
TGraphErrors *GetPartialCorrEtPerNChGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,partialCorrEtPerNChValues,trackmultiplicityError,partialCorrEtPerNChError);
    //TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,kaonEtPerNCh,trackmultiplicityShortError,kaonEtPerNChErr);

    SetStyles(gr3,25,1);
    return gr3;
}
TGraphErrors *GetPartialCorrEtPerNPartGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,partialCorrEtPerNPartValues,npartErr,partialCorrEtPerNPartError);
    //TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,kaonEtPerNCh,trackmultiplicityShortError,kaonEtPerNChErr);
    SetStyles(gr3,25,1);
    return gr3;
}
TGraphErrors *GetPartialCorrEtPerNClGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,clustermultiplicity,partialCorrEtPerNClValues,clustermultiplicityError,partialCorrEtPerNClError);
    //TGraphErrors *gr3 = new TGraphErrors(10,trackmultiplicityShort,kaonEtPerNCh,trackmultiplicityShortError,kaonEtPerNChErr);

    SetStyles(gr3,25,1);
    return gr3;
}
TGraphErrors *GetRawEtNoEffCorrPerNChGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,rawEtNoEffCorrPerNChValues,trackmultiplicityError,rawEtNoEffCorrPerNChError);
    SetStyles(gr3,21,1);
    return gr3;
}
TGraphErrors *GetRawEtNoEffCorrPerNPartGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,rawEtNoEffCorrPerNPartValues,npartErr,rawEtNoEffCorrPerNPartError);
    SetStyles(gr3,21,1);
    return gr3;
}
TGraphErrors *GetRawEtNoEffCorrPerNClGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,clustermultiplicity,rawEtNoEffCorrPerNClValues,clustermultiplicityError,rawEtNoEffCorrPerNClError);
    for(int i=0;i<20;i++){
      //cout<<"i "<<i<<" "<<clustermultiplicity[i]<<": "<<rawEtNoEffCorrPerNClValues[i]<<"+/-"<<rawEtNoEffCorrPerNClError[i]<<endl;
    }
    SetStyles(gr3,21,1);
    return gr3;
}
TGraphErrors *GetRawEtAllNoEffCorrPerNChGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,rawEtAllNoEffCorrPerNChValues,trackmultiplicityError,rawEtAllNoEffCorrPerNChError);
    SetStyles(gr3,26,1);
    return gr3;
}
TGraphErrors *GetRawEtAllNoEffCorrPerNPartGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,rawEtAllNoEffCorrPerNPartValues,npartErr,rawEtAllNoEffCorrPerNPartError);
    SetStyles(gr3,26,1);
    return gr3;
}
TGraphErrors *GetRawEtAllNoEffCorrPerNClGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,clustermultiplicity,rawEtAllNoEffCorrPerNClValues,clustermultiplicityError,rawEtAllNoEffCorrPerNClError);
    SetStyles(gr3,26,1);
    return gr3;
}
TGraphErrors *GetRawEtAllPerNChGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,rawEtAllPerNChValues,trackmultiplicityError,rawEtAllPerNChError);
    SetStyles(gr3,26,1);
    return gr3;
}
TGraphErrors *GetRawEtAllPerNPartGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,rawEtAllPerNPartValues,npartErr,rawEtAllPerNPartError);
    SetStyles(gr3,26,1);
    return gr3;
}
TGraphErrors *GetRawEtAllPerNClGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,clustermultiplicity,rawEtAllPerNClValues,clustermultiplicityError,rawEtAllPerNClError);
    SetStyles(gr3,22,1);
    return gr3;
}
TGraphErrors *GetMatchedTracksPerNChGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,matchedtrackmultiplicityPerNCh,trackmultiplicityError,arrayofzeros);
    SetStyles(gr3,20,1);
    return gr3;
}
TGraphErrors *GetMatchedTracksPerNPartGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,matchedtrackmultiplicityPerNPart,npartErr,arrayofzeros);
    SetStyles(gr3,20,1);
    return gr3;
}
TGraphErrors *GetMatchedTracksPerNClGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,clustermultiplicity,matchedtrackmultiplicityPerNCl,clustermultiplicityError,arrayofzeros);
    SetStyles(gr3,20,1);
    return gr3;
}
TGraphErrors *GetTotalTracksPerNClGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,clustermultiplicity,totaltrackmultiplicityPerNCl,clustermultiplicityError,arrayofzeros);
    SetStyles(gr3,34,1);
    return gr3;
}
TGraphErrors *GetTotalTracksPerNChGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,totaltrackmultiplicityPerNCh,trackmultiplicityError,arrayofzeros);
    SetStyles(gr3,34,1);
    return gr3;
}
TGraphErrors *GetNotMatchedTracksPerNChGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,notmatchedtrackmultiplicityPerNCh,trackmultiplicityError,arrayofzeros);
    SetStyles(gr3,24,1);
    return gr3;
}
TGraphErrors *GetNotMatchedTracksPerNClGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,clustermultiplicity,notmatchedtrackmultiplicityPerNCl,clustermultiplicityError,arrayofzeros);
    SetStyles(gr3,24,1);
    return gr3;
}
TGraphErrors *GetPartialCorrEtPerNPartPairGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,npart,partialCorrEtPerNPartPairValues,npartErr,partialCorrEtPerNPartPairError);
    SetStyles(gr3,22,1);
    return gr3;
}
TGraphErrors *GetTotalCorrectionPerNChGraph(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,totalCorrectionPerNPartPairValues,trackmultiplicityError,totalCorrectionPerNPartPairError);
    SetStyles(gr3,34,TColor::kOrange);
    return gr3;
}
TGraphErrors *GetTotalCorrectionPerNChGraphNoEffCorr(){
    TGraphErrors *gr3 = new TGraphErrors(20,trackmultiplicity,totalCorrectionPerNPartPairValuesNoEffCorr,trackmultiplicityError,totalCorrectionPerNPartPairErrorNoEffCorr);
    SetStyles(gr3,34,TColor::kOrange);
    return gr3;
}
//=================================Plotting code====================================
Bool_t sim = false;
//Bool_t isPhos = kFALSE;
TString detector = "";
TString year = "2010";
//void PlotEmEtVer2(TString filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal.LHC10hPass2.Run139465.root")
void PlotEmEtVer2(Bool_t isPhos = kFALSE, Bool_t isMC = kFALSE, Int_t cutset = 0)
{

  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);
  gStyle->SetOptFit(0);
  CutSet = cutset;
  TString filename, simfilename;
  if(cutset==0){
    if(isPhos){
      if(isMC){
	//filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOS.LHC11a10a_bis.Run139465.root";
	filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOS.LHC11a10a_bis.root";
      }
      else{
	filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.PHOS.LHC10hPass2.Run139465.root";
      }
      simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOS.LHC11a10a_bis.Run139465.root";
    }
    else{
      //filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal.LHC10hPass2.Run139465.LooseTrackMatchCuts.root";
      //simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.LooseTrackMatchCuts.root";
      if(isMC){
	filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.root";
      }
      else{
	filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal.LHC10hPass2.Run139465.root";
      }
      simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.root";
    }
  }
  if(cutset==1){
    if(isPhos){
      filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.PHOS350MeVCut.LHC10hPass2.Run139465.root";
      simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOS350MeVCut.LHC11a10a_bis.Run139465.root";
    }
    else{
      //filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal.LHC10hPass2.Run139465.LooseTrackMatchCuts.root";
      //simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.LooseTrackMatchCuts.root";
      filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal350MeVCut.LHC10hPass2.Run139465.root";
      simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal350MeVCut.LHC11a10a_bis.Run139465.root";
    }
  }
  if(cutset==2){
    if(isPhos){
      filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.PHOS400MeVCut.LHC10hPass2.Run139465.root";
      simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOS400MeVCut.LHC11a10a_bis.Run139465.root";
    }
    else{
      //filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal.LHC10hPass2.Run139465.LooseTrackMatchCuts.root";
      //simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.LooseTrackMatchCuts.root";
      filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal400MeVCut.LHC10hPass2.Run139465.root";
      simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal400MeVCut.LHC11a10a_bis.Run139465.root";
    }
  }
  if(cutset==3){
    if(isPhos){
      filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.PHOSOldHadMethod.LHC10hPass2.Run139465.root";
      simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOSOldHadMethod.LHC11a10a_bis.root";
      corrfac = 0.174236;
      corrfacerr = 0.0423712;
    }
    else{
      //filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal.LHC10hPass2.Run139465.LooseTrackMatchCuts.root";
      //simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.LooseTrackMatchCuts.root";
      filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCalOldHadMethod.LHC10hPass2.Run139465.root";
      simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCalOldHadMethod.LHC11a10a_bis.root";
      corrfac = 0.283921;
      corrfacerr = 0.0362492;
    }
  }
  if(cutset==4){
    year = "2011";
    if(isPhos){
      if(isMC){
	filename = "rootFiles/LHC13e1abcCombined/Et.ESD.simPbPb.PHOS.LHC13e1abc.root";
      }
      else{
	filename = "rootFiles/LHC11hPass2/Et.ESD.realPbPb.PHOS.LHC11hPass2.Run168464.root";
      }
      corrfac = 0.16382;
      corrfacerr = 0.0830542;
      simfilename = "rootFiles/LHC13e1abcCombined/Et.ESD.simPbPb.PHOS.LHC13e1abc.root";
    }
    else{
      if(isMC){
	filename = "rootFiles/LHC13e1abcCombined/Et.ESD.simPbPb.EMCal.LHC13e1abc.root";
      }
      else{
      //filename = "rootFiles/LHC10hPass2/Et.ESD.realPbPb.EMCal.LHC10hPass2.Run139465.LooseTrackMatchCuts.root";
      //simfilename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.LooseTrackMatchCuts.root";
	filename = "rootFiles/LHC11hPass2/Et.ESD.realPbPb.EMCal.LHC11hPass2.Run168464.root";
      }
      corrfac = 0.196084;
      corrfacerr = 0.0410244;
      simfilename = "rootFiles/LHC13e1abcCombined/Et.ESD.simPbPb.EMCal.LHC13e1abc.root";
    }
  }
  cout<<"data file name = "<<filename<<endl;
  cout<<" sim file name = "<<simfilename<<endl;
  TString detector = "Emcal";
  Float_t scale = 360.0/40.0/1.2*1.02;//Azimuthal acceptance over eta range, times energy scale correction
  if(filename.Contains("PHOS")){
    detector = "Phos";
    //isPhos = kTRUE;
    scale = 360.0/60/0.24;//Azimuthal acceptance over eta range
    energyscaleerror = 0.005;
  }
  else{
    if(cutset==4){//2011 data
      cout<<"scale "<<scale<<endl;
      scale = 360.0/100.0/1.2*1.02;//Azimuthal acceptance over eta range, times energy scale correction
      cout<<"scale "<<scale<<endl;
    }
  }
  TString det = detector;
  //gROOT->LoadMacro("macros/PlotSecondariesCorr.C");
  //PlotSecondariesCorr(simfilename,filename);
  ReadInData(filename,detector);
  ReadInNeutronCorrections();
  ReadInSecondaryCorrections();
  ReadInKaonCorrections();
  ReadMinEtCorrections();
  CalculateHadronCorrections(isPhos);
  ApplyCorrections(scale);

  TCanvas *c1 = new TCanvas("c1","Corrections",500,400);
  c1->SetTopMargin(0.02);
  c1->SetRightMargin(0.02);
  c1->SetBorderSize(0);
  c1->SetFillColor(0);
  c1->SetFillColor(0);
  c1->SetBorderMode(0);
  c1->SetFrameFillColor(0);
  c1->SetFrameBorderMode(0);
  c1->SetLeftMargin(0.120968);
  //c1->SetRightMargin();
  //c1->SetTopMargin();
  c1->SetBottomMargin(0.15);
  c1->SetLogx();
  TGraphErrors *graphKaonCorrectionShort = GetKaonCorrectionGraphShort();
  graphKaonCorrectionShort->Draw("AP");
  //graphKaonCorrectionShort->SetMaximim(0.02);
  //graphKaonCorrectionShort->GetYaxis()->SetRange(1,graphKaonCorrectionShort->GetYaxis()->FindBin(0.02));
  float emcalmax = 0.006;
  if(cutset==4){//2011 data
    emcalmax = 7.65/scale*emcalmax;
  }
  graphKaonCorrectionShort->GetHistogram()->SetMaximum(emcalmax);
  //set scales the same within naive geometric scaling
  if(isPhos) graphKaonCorrectionShort->GetHistogram()->SetMaximum(emcalmax*0.24/1.2*60.0/40.0);
  graphKaonCorrectionShort->GetHistogram()->GetXaxis()->SetLabelSize(0.04);
  graphKaonCorrectionShort->GetHistogram()->GetYaxis()->SetLabelSize(0.04);
  graphKaonCorrectionShort->GetHistogram()->GetXaxis()->SetTitleSize(0.06);
  graphKaonCorrectionShort->GetHistogram()->GetYaxis()->SetTitleSize(0.06);
  graphKaonCorrectionShort->GetXaxis()->SetTitle("N_{Ch}");
  graphKaonCorrectionShort->GetYaxis()->SetTitle("Correction/N_{Ch}");
  TGraphErrors *graphKaonCorrection = GetKaonCorrectionGraph();
  graphKaonCorrection->Draw("P same");
  TGraphErrors *graphSecondaryCorrectionShort = GetSecondaryCorrectionGraphShort();
  graphSecondaryCorrectionShort->Draw("P same");
  TGraphErrors *graphNeutronCorrectionShort = GetNeutronCorrectionGraphShort();
  graphNeutronCorrectionShort->Draw("P same");
  TGraphErrors *graphSecondaryCorrection = GetSecondaryCorrectionGraph();
  graphSecondaryCorrection->Draw("P same");
  TGraphErrors *graphNeutronCorrection = GetNeutronCorrectionGraph();
  graphNeutronCorrection->Draw("P same");
  TGraphErrors *graphHadronCorrection = GetHadronCorrectionGraph();
  graphHadronCorrection->Draw("P same");
  TGraphErrors *graphHadronCorrectionShort = GetHadronCorrectionGraphShort();
  graphHadronCorrectionShort->Draw("P same");
  TGraphErrors *graphTotalCorrection = GetTotalCorrectionPerNChGraph();
  graphTotalCorrection->Draw("P same");
  TLegend *leg = new TLegend(0.538306,0.756684,0.739919,0.97861);
  leg->SetFillStyle(0);
  leg->SetFillColor(0);
  leg->SetBorderSize(0);
  leg->SetTextSize(0.03);
  leg->SetTextSize(0.038682);
  leg->AddEntry(graphKaonCorrectionShort,"Kaon correction/N_{ch}","P");
  leg->AddEntry(graphNeutronCorrectionShort,"Neutron correction/2.0 N_{ch}","P");
  leg->AddEntry(graphSecondaryCorrectionShort,"Secondary correction/5.0 N_{ch}","P");
  leg->AddEntry(graphHadronCorrectionShort,"Hadron correction/5.0 N_{ch}","P");
  leg->AddEntry(graphTotalCorrection,"(E_{T}^{kaon}+E_{T}^{n}+E_{T}^{secondary}+E_{T}^{h})/20.0 N_{ch}","P");
  leg->Draw();
  TString corrplotname1 = "/tmp/CorrectionsVsNch"+detector+".eps";
  c1->SaveAs(corrplotname1.Data());
//   TH1F *frame = new TH1F("frame","frame",1,0,2);
//   frame->GetYaxis()->SetTitle("dE_{T}/d#eta");
//   frame->GetXaxis()->SetTitle("N_{part}");
//   //fPion->SetRange(0,2);
//   frame->SetMinimum(0);
//   frame->SetMaximum(10);
//   TCanvas *c1a = new TCanvas("c1a","CorrectionsNoEffCorr",500,400);
//   c1a->SetTopMargin(0.02);
//   c1a->SetRightMargin(0.02);
//   c1a->SetBorderSize(0);
//   c1a->SetFillColor(0);
//   c1a->SetFillColor(0);
//   c1a->SetBorderMode(0);
//   c1a->SetFrameFillColor(0);
//   c1a->SetFrameBorderMode(0);
//   c1a->SetLeftMargin(0.120968);
//   //c1a->SetRightMargin();
//   //c1a->SetTopMargin();
//   c1a->SetBottomMargin(0.15);
//   c1a->SetLogx();
//   TGraphErrors *graphKaonCorrectionShortNoEffCorr = GetKaonCorrectionGraphShortNoEffCorr();
//   graphKaonCorrectionShortNoEffCorr->Draw("AP");
//   //graphKaonCorrectionShort->SetMaximim(0.02);
//   //graphKaonCorrectionShort->GetYaxis()->SetRange(1,graphKaonCorrectionShort->GetYaxis()->FindBin(0.02));
//   float emcalmax = 0.006;
//   graphKaonCorrectionShortNoEffCorr->GetHistogram()->SetMaximum(emcalmax);
//   //set scales the same within naive geometric scaling
//   if(isPhos) graphKaonCorrectionShortNoEffCorr->GetHistogram()->SetMaximum(emcalmax*0.24/1.2*60.0/40.0);
//   graphKaonCorrectionShortNoEffCorr->GetHistogram()->GetXaxis()->SetLabelSize(0.04);
//   graphKaonCorrectionShortNoEffCorr->GetHistogram()->GetYaxis()->SetLabelSize(0.04);
//   graphKaonCorrectionShortNoEffCorr->GetHistogram()->GetXaxis()->SetTitleSize(0.06);
//   graphKaonCorrectionShortNoEffCorr->GetHistogram()->GetYaxis()->SetTitleSize(0.06);
//   graphKaonCorrectionShortNoEffCorr->GetXaxis()->SetTitle("N_{Ch}");
//   graphKaonCorrectionShortNoEffCorr->GetYaxis()->SetTitle("Correction/N_{Ch}");
//   TGraphErrors *graphKaonCorrectionNoEffCorr = GetKaonCorrectionGraphNoEffCorr();
//   graphKaonCorrectionNoEffCorr->Draw("P same");
//   TGraphErrors *graphSecondaryCorrectionShortNoEffCorr = GetSecondaryCorrectionGraphShortNoEffCorr();
//   graphSecondaryCorrectionShortNoEffCorr->Draw("P same");
//   TGraphErrors *graphNeutronCorrectionShortNoEffCorr = GetNeutronCorrectionGraphShortNoEffCorr();
//   graphNeutronCorrectionShortNoEffCorr->Draw("P same");
//   TGraphErrors *graphSecondaryCorrectionNoEffCorr = GetSecondaryCorrectionGraphNoEffCorr();
//   graphSecondaryCorrectionNoEffCorr->Draw("P same");
//   TGraphErrors *graphNeutronCorrectionNoEffCorr = GetNeutronCorrectionGraphNoEffCorr();
//   graphNeutronCorrectionNoEffCorr->Draw("P same");
//   TGraphErrors *graphHadronCorrectionNoEffCorr = GetHadronCorrectionGraphNoEffCorr();
//   graphHadronCorrectionNoEffCorr->Draw("P same");
//   TGraphErrors *graphHadronCorrectionShortNoEffCorr = GetHadronCorrectionGraphShortNoEffCorr();
//   graphHadronCorrectionShortNoEffCorr->Draw("P same");
//   TGraphErrors *graphTotalCorrectionNoEffCorr = GetTotalCorrectionPerNChGraphNoEffCorr();
//   graphTotalCorrectionNoEffCorr->Draw("P same");
//   TLegend *leg2 = new TLegend(0.538306,0.756684,0.739919,0.97861);
//   leg2->SetFillStyle(0);
//   leg2->SetFillColor(0);
//   leg2->SetBorderSize(0);
//   leg2->SetTextSize(0.03);
//   leg2->SetTextSize(0.038682);
//   leg2->AddEntry(graphKaonCorrectionShortNoEffCorr,"Kaon correction/N_{ch}","P");
//   leg2->AddEntry(graphNeutronCorrectionShortNoEffCorr,"Neutron correction/N_{ch}","P");
//   leg2->AddEntry(graphSecondaryCorrectionShortNoEffCorr,"Secondary correction/5.0 N_{ch}","P");
//   leg2->AddEntry(graphHadronCorrectionShortNoEffCorr,"Hadron correction/5.0 N_{ch}","P");
//   leg2->AddEntry(graphTotalCorrectionNoEffCorr,"(E_{T}^{kaon}+E_{T}^{n}+E_{T}^{secondary}+E_{T}^{h})/20.0 N_{ch}","P");
//   leg2->Draw();
//   TString corrplotname1 = "/tmp/CorrectionsVsNch"+detector+"NoEffCorr.eps";
//   c1a->SaveAs(corrplotname1.Data());
//   TCanvas *c2 = new TCanvas("c2","Min Et Correction",600,400);
//   c2->SetTopMargin(0.02);
//   c2->SetRightMargin(0.02);
//   c2->SetBorderSize(0);
//   c2->SetFillColor(0);
//   c2->SetFillColor(0);
//   c2->SetBorderMode(0);
//   c2->SetFrameFillColor(0);
//   c2->SetFrameBorderMode(0);
//   c2->SetLogx();
//   TGraphErrors *graphMinEtCorrectionShort = GetMinEtCorrectionGraphShort();
//   graphMinEtCorrectionShort->GetXaxis()->SetTitle("f_{ETmin}");
//   graphMinEtCorrectionShort->GetYaxis()->SetTitle("Correction/N_{Ch}");
// //   graphMinEtCorrectionShort->GetHistogram()->SetMaximum(1.0);
// //   graphMinEtCorrectionShort->GetHistogram()->SetMinimum(0.0);
//   graphMinEtCorrectionShort->Draw("AP");
//   graphKaonCorrectionShort->GetXaxis()->SetTitle("N_{Ch}");
//   graphKaonCorrectionShort->GetYaxis()->SetTitle("f_{EtMin}");
//   TGraphErrors *graphMinEtCorrection = GetMinEtCorrectionGraph();
//   graphMinEtCorrection->Draw("P same");
//   TString corrplotname2 = "/tmp/EtMinVsNch"+detector+".eps";
//   c2->SaveAs(corrplotname2.Data());

//   TCanvas *c3 = new TCanvas("c3","Kaon Correction",600,400);
//   c3->SetTopMargin(0.02);
//   c3->SetRightMargin(0.02);
//   c3->SetBorderSize(0);
//   c3->SetFillColor(0);
//   c3->SetFillColor(0);
//   c3->SetBorderMode(0);
//   c3->SetFrameFillColor(0);
//   c3->SetFrameBorderMode(0);
//   c3->SetLogx();

//   TGraphErrors *graphKaonGraph = GetKaonGraph();
//   graphKaonGraph->Draw("AP");
//   //graphKaonGraph->GetHistogram()->SetMaximum();
//   graphKaonGraph->GetHistogram()->SetMinimum(0.0);
//   graphKaonGraph->GetXaxis()->SetTitle("N_{Ch}");
//   graphKaonGraph->GetYaxis()->SetTitle("val/N_{Ch}");
//   graphKaonCorrectionShort->Draw("P same");
//   TGraphErrors *graphKaonEtGraph = GetKaonEtGraph();
//   graphKaonEtGraph->Draw("P same");
//   TLegend *leg3 = new TLegend(0.602349,0.362903,0.805369,0.586022);
//   leg3->SetFillStyle(0);
//   leg3->SetFillColor(0);
//   leg3->SetBorderSize(0);
//   leg3->SetTextSize(0.03);
//   leg3->SetTextSize(0.038682);
//   leg3->AddEntry(graphKaonGraph,"N_{K^{#pm}}/N_{Ch}","P");
//   leg3->AddEntry(graphKaonCorrectionShort,"E_{T}^{kaon}","P");
//   leg3->AddEntry(graphKaonEtGraph,"E_{T}^{K^{#pm}}/N_{Ch}","P");
//   leg3->Draw();
//   TString corrplotname3 = "/tmp/KaonVsNch"+detector+".eps";
//   c3->SaveAs(corrplotname3.Data());


  TCanvas *c4 = new TCanvas("c4", "dE_{T}/d#eta#frac{1}{0.5*N_{part}} [GeV]",700, 600);
  c4->SetTopMargin(0.02);
  c4->SetRightMargin(0.02);
  c4->SetBorderSize(0);
  c4->SetFillColor(0);
  c4->SetFillColor(0);
  c4->SetBorderMode(0);
  c4->SetFrameFillColor(0);
  c4->SetFrameBorderMode(0);
  TGraphErrors *graphEt = GetEtGraph();
  graphEt->GetHistogram()->GetXaxis()->SetTitle("N_{part}");
  graphEt->GetHistogram()->GetYaxis()->SetTitle("(E_{T}/(N_{part}/2)");
  graphEt->GetHistogram()->SetMinimum(0.0);
  graphEt->GetHistogram()->SetMaximum(3.0);
  graphEt->Draw("AP");
  TGraphErrors *graphPartialCorr = GetPartialCorrEtPerNPartPairGraph();
  //graphPartialCorr->Draw("P same");
  TGraphErrors *graphPionEt = GetPionEtGraph();
  graphPionEt->Draw("P same");
  TGraphErrors *graphPionEmEt = GetPionEmEtGraph();
  graphPionEmEt->Draw("P same");
  TGraphErrors *graphEtFormulaC = GetEtGraphFormulaC();
  //graphEtFormulaC->Draw("P same");
  TGraphErrors *graphEtFormulaB = GetEtGraphFormulaB();
  //graphEtFormulaB->Draw("P same");
  TLegend *leg2 = new TLegend(0.607383,0.704301,0.810403,0.927419);
  leg2->SetFillStyle(0);
  leg2->SetFillColor(0);
  leg2->SetBorderSize(0);
  leg2->SetTextSize(0.03);
  leg2->SetTextSize(0.038682);
  leg2->AddEntry(graphEt,"E_{T}^{EM}","P");
  leg2->AddEntry(graphPionEt,"E_{T}^{#pi^{#pm}}","P");
  leg2->AddEntry(graphPionEmEt,"E_{T}^{EM calc. from #pi}","P");
  //leg2->AddEntry(graphEtFormulaC,"E_{T}^{EM} Formula C","P");
  //leg2->AddEntry(graphEtFormulaB,"E_{T}^{EM} Formula B","P");
  leg2->Draw();
  TString corrplotname4 = "/tmp/EtVsNpart"+detector+".eps";
  c4->SaveAs(corrplotname4.Data());
  TString corrplotname4a = "/tmp/EtVsNpart"+detector+".png";
  c4->SaveAs(corrplotname4a.Data());

//   TCanvas *c5 = new TCanvas("c5", "Raw Et Vs NCh",1200, 400);
//   c5->SetTopMargin(0.02);
//   c5->SetRightMargin(0.02);
//   c5->SetBorderSize(0);
//   c5->SetFillColor(0);
//   c5->SetFillColor(0);
//   c5->SetBorderMode(0);
//   c5->SetFrameFillColor(0);
//   c5->SetFrameBorderMode(0);
//   c5->Divide(2);
//   c5->cd(1);
//   TGraphErrors *partialCorrEtPerNCh = GetPartialCorrEtPerNChGraph();
//   partialCorrEtPerNCh->GetHistogram()->SetMaximum(0.1*7.5/scale);//so PHOS and EMCal scales are similar...  partialCorrEtPerNCh->GetHistogram()->SetMinimum(0.0);
//   partialCorrEtPerNCh->GetHistogram()->GetXaxis()->SetTitle("N_{Ch}");
//   partialCorrEtPerNCh->GetHistogram()->GetYaxis()->SetTitle("(E_{T}/#epsilon f_{nonlin})/N_{Ch}");
//   partialCorrEtPerNCh->Draw("AP");
//   TGraphErrors *graphRawNoEffCorrCh = GetRawEtNoEffCorrPerNChGraph();
//   graphRawNoEffCorrCh->Draw("P same");
//   TGraphErrors *graphRawAllNoEffCorrCh = GetRawEtAllNoEffCorrPerNChGraph();
//   graphRawAllNoEffCorrCh->Draw("P same");
//   TGraphErrors *graphRawAllCh = GetRawEtAllPerNChGraph();
//   graphRawAllCh->Draw("P same");
//   TLegend *leg5 = new TLegend(0.416667,0.173077,0.62069,0.396853);
//   leg5->SetFillStyle(0);
//   leg5->SetFillColor(0);
//   leg5->SetBorderSize(0);
//   leg5->SetTextSize(0.03);
//   leg5->SetTextSize(0.038682);
//   leg5->AddEntry(partialCorrEtPerNCh,"E_{T}#delta_{TM}/#epsilon f_{nonlin}","P");
//   leg5->AddEntry(graphRawNoEffCorrCh,"E_{T}#delta_{TM}/ f_{nonlin}","P");
//   leg5->AddEntry(graphRawAllCh,"E_{T}/#epsilon f_{nonlin}","P");
//   leg5->AddEntry(graphRawAllNoEffCorrCh,"E_{T}/f_{nonlin}","P");
//   leg5->Draw();
//   TString corrplotname5 = "/tmp/RawEtVsNch"+detector+".eps";
//   c5->SaveAs(corrplotname5.Data());

// //   TCanvas *c6 = new TCanvas("c6", "Raw Et Vs NCl",700, 600);
// //   c6->SetTopMargin(0.02);
// //   c6->SetRightMargin(0.02);
// //   c6->SetBorderSize(0);
// //   c6->SetFillColor(0);
// //   c6->SetFillColor(0);
// //   c6->SetBorderMode(0);
// //   c6->SetFrameFillColor(0);
// //   c6->SetFrameBorderMode(0);

//   c5->cd(2);
//   TGraphErrors *graphRawAllCl = GetRawEtAllPerNClGraph();
//   graphRawAllCl->GetHistogram()->GetXaxis()->SetTitle("N_{Ch}");
//   graphRawAllCl->GetHistogram()->GetYaxis()->SetTitle("(E_{T}/#epsilon f_{nonlin})/N_{Ch}");
//   graphRawAllCl->Draw("AP");
//   TGraphErrors *partialCorrEtPerNCl = GetPartialCorrEtPerNClGraph();
//   partialCorrEtPerNCl->GetHistogram()->GetXaxis()->SetTitle("N_{Ch}");
//   partialCorrEtPerNCl->GetHistogram()->GetYaxis()->SetTitle("(E_{T}/#epsilon f_{nonlin})/N_{Ch}");
//   partialCorrEtPerNCl->Draw("P same");
//   TGraphErrors *graphRawNoEffCorrCl = GetRawEtNoEffCorrPerNClGraph();
//   graphRawNoEffCorrCl->Draw("P same");
//   TGraphErrors *graphRawAllNoEffCorrCl = GetRawEtAllNoEffCorrPerNClGraph();
//   graphRawAllNoEffCorrCl->Draw("P same");
//   TLegend *leg6 = new TLegend(0.416667,0.173077,0.62069,0.396853);
//   leg6->SetFillStyle(0);
//   leg6->SetFillColor(0);
//   leg6->SetBorderSize(0);
//   leg6->SetTextSize(0.03);
//   leg6->SetTextSize(0.038682);
//   leg6->AddEntry(partialCorrEtPerNCl,"E_{T}#delta_{TM}/#epsilon f_{nonlin}","P");
//   leg6->AddEntry(graphRawNoEffCorrCl,"E_{T}#delta_{TM}/ f_{nonlin}","P");
//   leg6->AddEntry(graphRawAllCl,"E_{T}/#epsilon f_{nonlin}","P");
//   leg6->AddEntry(graphRawAllNoEffCorrCl,"E_{T}/f_{nonlin}","P");
//   leg6->Draw();
//   TString corrplotname5 = "/tmp/RawEtVsNcl"+detector+".eps";
//   c5->SaveAs(corrplotname5.Data());

//   TCanvas *c7 = new TCanvas("c7", "Matched tracks",1200, 400);
//   c7->SetTopMargin(0.02);
//   c7->SetRightMargin(0.02);
//   c7->SetBorderSize(0);
//   c7->SetFillColor(0);
//   c7->SetFillColor(0);
//   c7->SetBorderMode(0);
//   c7->SetFrameFillColor(0);
//   c7->SetFrameBorderMode(0);
//   c7->Divide(2);
//   c7->cd(1);
//   TGraphErrors *graphTotalPerNCh = GetTotalTracksPerNChGraph();
//   graphTotalPerNCh->GetHistogram()->GetXaxis()->SetTitle("N_{Ch}");
//   graphTotalPerNCh->GetHistogram()->GetYaxis()->SetTitle("Number of tracks/N_{Ch}");
//   graphTotalPerNCh->GetHistogram()->SetMaximum(0.06*7.5/scale);//so PHOS and EMCal scales are similar...
//   graphTotalPerNCh->Draw("AP");
//   TGraphErrors *graphMatchedPerNCh = GetMatchedTracksPerNChGraph();
//   graphMatchedPerNCh->Draw("P same");
//   TGraphErrors *graphNotMatchedPerNCh = GetNotMatchedTracksPerNChGraph();
//   graphNotMatchedPerNCh->Draw("P same");
//   TLegend *leg7 = new TLegend(0.176003,0.637152,0.379808,0.86208);
//   leg7->SetFillStyle(0);
//   leg7->SetFillColor(0);
//   leg7->SetBorderSize(0);
//   leg7->SetTextSize(0.03);
//   leg7->SetTextSize(0.038682);
//   leg7->AddEntry(graphMatchedPerNCh,"Number of tracks matched to clusters","P");
//   leg7->AddEntry(graphNotMatchedPerNCh,"Number of tracks not matched to clusters","P");
//   leg7->AddEntry(graphTotalPerNCh,"Total number of tracks","P");
//   leg7->Draw();
//   c7->cd(2);
//   TGraphErrors *graphTotalPerNCl = GetTotalTracksPerNClGraph();
//   graphTotalPerNCl->GetHistogram()->GetXaxis()->SetTitle("N_{Cl}");
//   graphTotalPerNCl->GetHistogram()->GetYaxis()->SetTitle("Number of tracks/N_{Cl}");
//   graphTotalPerNCl->GetHistogram()->SetMaximum(0.65);
//   graphTotalPerNCl->Draw("AP");
//   TGraphErrors *graphMatchedPerNCl = GetMatchedTracksPerNClGraph();
//   graphMatchedPerNCl->Draw("P same");
//   TGraphErrors *graphNotMatchedPerNCl = GetNotMatchedTracksPerNClGraph();
//   graphNotMatchedPerNCl->Draw("P same");
//   TLine *line = new TLine(graphTotalPerNCl->GetHistogram()->GetXaxis()->GetBinLowEdge(1),0.5,graphTotalPerNCl->GetHistogram()->GetXaxis()->GetBinLowEdge(graphTotalPerNCl->GetHistogram()->GetXaxis()->GetNbins()),0.5);
//   line->Draw();
//   TString corrplotname7 = "/tmp/TrackMatchCrossCheck"+detector+".eps";
//   c7->SaveAs(corrplotname7.Data());

  TCanvas *c8 = new TCanvas("c8","Signal Fraction",600,400);
  c8->SetTopMargin(0.02);
  c8->SetRightMargin(0.02);
  c8->SetBorderSize(0);
  c8->SetFillColor(0);
  c8->SetFillColor(0);
  c8->SetBorderMode(0);
  c8->SetFrameFillColor(0);
  c8->SetFrameBorderMode(0);
  //c8->SetLogx();
  TGraphErrors *graphSignalFraction = GetSignalFractionGraph();
  graphSignalFraction->GetXaxis()->SetTitle("f_{ETmin}");
  graphSignalFraction->GetYaxis()->SetTitle("Correction/N_{Ch}");
  graphSignalFraction->GetHistogram()->SetMaximum(0.4);//so PHOS and EMCal scales are similar...
  graphSignalFraction->GetHistogram()->SetMinimum(0.0);//so PHOS and EMCal scales are similar...
  //graphSignalFraction->GetHistogram()->SetMaximum(1.0);
  //graphSignalFraction->GetHistogram()->SetMinimum(0.0);
  graphSignalFraction->Draw("AP");
  TString corrplotname8 = "/tmp/SignalFraction"+detector+".eps";
  c8->SaveAs(corrplotname8.Data());

  TCanvas *c9 = new TCanvas("c9","Event by event ET distribution",600,400);
  c9->SetTopMargin(0.02);
  c9->SetRightMargin(0.02);
  c9->SetBorderSize(0);
  c9->SetFillColor(0);
  c9->SetFillColor(0);
  c9->SetBorderMode(0);
  c9->SetFrameFillColor(0);
  c9->SetFrameBorderMode(0);
  c9->SetLogy();
  c9->SetLogx();
  int nbins = 15;
  if(isPhos) nbins = 8;
  //nbins = 20;
  for(bin = 1; bin<=nbins;bin++){
    dataFits[bin] = new TF1(Form("Fit%i",bin),"[0]*exp(-(x-[1])*(x-[1])/[2])",0,250);
    ((TF1*)dataFits[bin])->SetParameter(0,1e3);
    ((TF1*)dataFits[bin])->SetParameter(1,partialCorrEtValues[bin-1]);
    ((TF1*)dataFits[bin])->SetParameter(2,20);
    //((TH1D*)rawEt[bin])->Fit(((TF1*)dataFits[bin]));
  }
  int bin = 1;
  ((TH1D*)rawEt[bin])->GetXaxis()->SetTitle("E_{T}^{raw}");
  //if(isPhos){((TH1D*)rawEt[bin])->GetXaxis()->SetRange(1,((TH1D*)rawEt[bin])->GetXaxis()->FindBin(100));}
  //else{((TH1D*)rawEt[bin])->GetXaxis()->SetRange(1,((TH1D*)rawEt[bin])->GetXaxis()->FindBin(200));}
  ((TH1D*)rawEt[bin])->Draw();
  ((TH1D*)rawEt[bin])->SetMaximum(5e4);
  for(bin = 1; bin<=nbins;bin+=1){
    ((TH1D*)rawEt[bin])->Draw("same");
    ((TH1D*)rawEt[bin])->SetLineColor(colors[bin-1]);
    ((TH1D*)rawEt[bin])->SetMarkerColor(colors[bin-1]);
    //((TF1*)dataFits[bin])->SetLineColor(colors[bin-1]);
    //Float_t mostlikely = GetMostLikelyValue((TH1D*)rawEt[bin]);
    //cout<<"cb "<<bin-1<<" average: "<<partialCorrEtValues[bin-1]<<" most likely "<<mostlikely<<" fit "<<((TF1*)dataFits[bin])->GetParameter(1)<<endl;
  }
  TString name9 = "ananotepics/emEt/ETDistribution"+detector+".eps";
  c9->SaveAs(name9.Data());


//   TCanvas *c10 = new TCanvas("c10", "Raw Et Vs NPart",1200, 400);
//   c10->SetTopMargin(0.02);
//   c10->SetRightMargin(0.02);
//   c10->SetBorderSize(0);
//   c10->SetFillColor(0);
//   c10->SetFillColor(0);
//   c10->SetBorderMode(0);
//   c10->SetFrameFillColor(0);
//   c10->SetFrameBorderMode(0);
//   c10->Divide(2);
//   c10->cd(1);
//   TGraphErrors *partialCorrEtPerNPart = GetPartialCorrEtPerNPartGraph();
//   partialCorrEtPerNPart->GetHistogram()->SetMaximum(0.1*7.5/scale);//so PHOS and EMCal scales are similar...  partialCorrEtPerNPart->GetHistogram()->SetMinimum(0.0);
//   partialCorrEtPerNPart->GetHistogram()->GetXaxis()->SetTitle("N_{Ch}");
//   partialCorrEtPerNPart->GetHistogram()->GetYaxis()->SetTitle("(E_{T}/#epsilon f_{nonlin})/N_{Ch}");
//   partialCorrEtPerNPart->Draw("AP");
//   TGraphErrors *graphRawNoEffCorrNPart = GetRawEtNoEffCorrPerNPartGraph();
//   graphRawNoEffCorrNPart->Draw("P same");
//   TGraphErrors *graphRawAllNoEffCorrNPart = GetRawEtAllNoEffCorrPerNPartGraph();
//   graphRawAllNoEffCorrNPart->Draw("P same");
//   TGraphErrors *graphRawAllNPart = GetRawEtAllPerNPartGraph();
//   graphRawAllNPart->Draw("P same");
//   TLegend *leg5 = new TLegend(0.416667,0.173077,0.62069,0.396853);
//   leg5->SetFillStyle(0);
//   leg5->SetFillColor(0);
//   leg5->SetBorderSize(0);
//   leg5->SetTextSize(0.03);
//   leg5->SetTextSize(0.038682);
//   leg5->AddEntry(partialCorrEtPerNPart,"E_{T}#delta_{TM}/#epsilon f_{nonlin}","P");
//   leg5->AddEntry(graphRawNoEffCorrNPart,"E_{T}#delta_{TM}/ f_{nonlin}","P");
//   leg5->AddEntry(graphRawAllNPart,"E_{T}/#epsilon f_{nonlin}","P");
//   leg5->AddEntry(graphRawAllNoEffCorrNPart,"E_{T}/f_{nonlin}","P");
//   leg5->Draw();
//   TString corrplotname10 = "/tmp/RawEtVsNPart"+detector+".eps";
//   c10->SaveAs(corrplotname10.Data());


  TCanvas *c11 = new TCanvas("c11","Event by event ET distribution",600,400);
  c11->SetTopMargin(0.02);
  c11->SetRightMargin(0.02);
  c11->SetBorderSize(0);
  c11->SetFillColor(0);
  c11->SetFillColor(0);
  c11->SetBorderMode(0);
  c11->SetFrameFillColor(0);
  c11->SetFrameBorderMode(0);
  c11->SetLogy();
  c11->SetLogx();
  int nbins = 15;
  if(isPhos) nbins = 8;
  int bin = 1;
  ((TH1D*)rawEtAllNoEffCorr[bin])->GetXaxis()->SetTitle("E_{T}^{raw}");
  //if(isPhos){((TH1D*)rawEtAllNoEffCorr[bin])->GetXaxis()->SetRange(1,((TH1D*)rawEtAllNoEffCorr[bin])->GetXaxis()->FindBin(100));}
  //else{((TH1D*)rawEtAllNoEffCorr[bin])->GetXaxis()->SetRange(1,((TH1D*)rawEtAllNoEffCorr[bin])->GetXaxis()->FindBin(200));}
  ((TH1D*)rawEtAllNoEffCorr[bin])->Draw();
  ((TH1D*)rawEtAllNoEffCorr[bin])->SetMaximum(5e4);
  for(bin = 1; bin<=nbins;bin+=1){
    ((TH1D*)rawEtAllNoEffCorr[bin])->Draw("same");
    ((TH1D*)rawEtAllNoEffCorr[bin])->SetLineColor(colors[bin-1]);
    ((TH1D*)rawEtAllNoEffCorr[bin])->SetMarkerColor(colors[bin-1]);
    //((TF1*)dataFits[bin])->SetLineColor(colors[bin-1]);
    //Float_t mostlikely = GetMostLikelyValue((TH1D*)rawEtAllNoEffCorr[bin]);
    //cout<<"cb "<<bin-1<<" average: "<<partialCorrEtValues[bin-1]<<" most likely "<<mostlikely<<" fit "<<((TF1*)dataFits[bin])->GetParameter(1)<<endl;
  }
  TString name9 = "/tmp/RawETDistribution"+detector+".png";
  c11->SaveAs(name9.Data());



  //Create correction file with fractional corrections so that I can use them for cross checks
  ofstream myfile;
  TString texfilename = "SignalFrac"+detector+".dat";
  myfile.open (texfilename.Data());
  //neutron, hadron, kaon, secondaries
  for(int i=0;i<20;i++){
    myfile <<signalFraction[i]<<"\t";
    myfile <<signalFractionError[i]<<"\t";
    myfile <<endl;
  }
  myfile.close();

  //Create correction file with all corrections so that I can use them for cross checks
  ofstream myfile;
  TString texfilename = "allcorrections"+detector+".dat";
  myfile.open (texfilename.Data());
  //neutron, hadron, kaon, secondaries
  for(int i=0;i<20;i++){
    //ETem = 1/facc * scale & 1/fminet [sum(1/eff*1/nonlin) - neutron - hadron - kaon - secondary ]
    myfile <<partialCorrEtValues[i]<<"\t"<<partialCorrEtError[i]<<"\t";
    myfile <<scale<<"\t";
    myfile <<energyscaleerror<<"\t";
    myfile <<minEtCorr[i]<<"\t"<<minEtError[i]<<"\t";
    myfile <<nonLinError[i]<<"\t";
    myfile <<neutronCorr[i]<<"\t"<<neutronError[i]<<"\t";
    myfile <<hadCorr[i]<<"\t"<<hadError[i]<<"\t";
    myfile <<kaonCorr[i]<<"\t"<<kaonError[i]<<"\t";
    myfile <<secondaryCorr[i]<<"\t"<<secondaryError[i]<<endl;
  }
  myfile.close();
  //from spectra calc
  //0.232 $\pm$ 0.029
//   Float_t fem = 0.232;
//   Float_t femerr = 0.029;
  ofstream myfile2;
  ofstream myfile3;
  //EmEtFromSpectra.dat
  TString texfilename = "EmEtFrom"+detector+".dat";
  TString texfilename3 = "TotEtFrom"+detector+".dat";
  myfile2.open (texfilename.Data());
  myfile3.open (texfilename3.Data());
  Int_t maxcb = 10;
  if(isPhos) maxcb = 6;
  else{if(cutset==4){maxcb = 12;}}
  //neutron, hadron, kaon, secondaries
  for(int i=0;i<maxcb;i++){
    int cb1 = i*5;
    int cb2 = (i+1)*5;
    myfile2 <<cb1<<"\t"<<cb2<<"\t";
    myfile2 <<corrEtValues[i]<<"\t";
    myfile2 <<corrEtStatError[i]<<"\t";
    myfile2 <<corrEtError[i]<<"\t";
    myfile2 <<endl;
    
    //Float_t value = corrEtValues[i]/fem;
    //Float_t error = value * TMath::Sqrt(TMath::Power(corrEtError[i]/corrEtValues[i],2)+TMath::Power(femerr/fem,2));
    //cout<<"cb "<<i<<" old "<<value<<" +/- "<<error<<" ("<<error/value*100<<")"<<" new "<<totEtValues[i]<<" +/- "<<totEtError[i]<<" ("<<totEtError[i]/totEtValues[i]<<")"<<endl;
    myfile3 <<cb1<<"\t"<<cb2<<"\t";
    //myfile3 <<value<<"\t";
    //myfile3 <<error<<"\t";
    myfile3 <<totEtValues[i]<<"\t";
    myfile3 <<0<<"\t";//Will be statistical error
    myfile3 <<totEtError[i]<<"\t";
    myfile3 <<endl;
  }
  myfile2.close();
  myfile3.close();

  WriteLatex();
}


void WriteLatex(){
  TString detector = "Emcal";
  string inline;
  //FinalemetsEmcal.dat
  TString finalemetInfileName = "EmEtFrom"+detector+".dat";
  ifstream myfinalemetfile3 (finalemetInfileName.Data());
  Float_t value = 0;
  Float_t error = 0;
  Float_t junk1 = 0;
  Float_t junk2 = 0;
  Int_t i=0;
  if (myfinalemetfile3.is_open()){
    while ( myfinalemetfile3.good() )
      {
	getline (myfinalemetfile3,inline);
	istringstream tmp(inline);
	tmp >> junk1;
	tmp >> junk2;
	tmp >> value;
	tmp >> error;
	if(i<20){
	  //cout<<"value "<<value<<" +/- "<<error<<endl;
	  finalemetCorrEmcal[i] = value;
	  finalemetErrorEmcal[i] = error;
	}
	i++;
      }
    myfinalemetfile3.close();
  }

  detector = "Phos";
  finalemetInfileName = "EmEtFrom"+detector+".dat";
  ifstream myfinalemetfile4 (finalemetInfileName.Data());
  Float_t value = 0;
  Float_t error = 0;
  Int_t i=0;
  if (myfinalemetfile4.is_open()){
    while ( myfinalemetfile4.good() )
      {
	getline (myfinalemetfile4,inline);
	istringstream tmp(inline);
	tmp >> junk1;
	tmp >> junk2;
	tmp >> value;
	tmp >> error;
	if(i<20){
	  finalemetCorrPhos[i] = value;
	  finalemetErrorPhos[i] = error;
	}
	i++;
      }
    myfinalemetfile4.close();
  }

  ofstream myfile3;
  myfile3.open ("EmEt.tex");
  for(int i=0;i<20;i++){
    if(finalemetCorrPhos[i] > 1e-3 || finalemetCorrEmcal[i] > 1e-3){
      if(finalemetCorrPhos[i] > 1e-3){
	TString line = Form("%i-%i\\% & %2.3f $\\pm$ %2.3f & %2.3f $\\pm$ %2.3f \\\\",i*5,(i+1)*5,finalemetCorrPhos[i],finalemetErrorPhos[i],finalemetCorrEmcal[i],finalemetErrorEmcal[i]);
	myfile3<<line.Data()<<endl;
      }
      else{
	TString line = Form("%i-%i\\% & -- & %2.3f $\\pm$ %2.3f \\\\",i*5,(i+1)*5,finalemetCorrEmcal[i],finalemetErrorEmcal[i]);
	myfile3<<line.Data()<<endl;
      }
    }
  }
  myfile3.close();






  detector = "Emcal";
  string inline;
  //FinaltotaletsEmcal.dat
  TString finaltotaletInfileName = "TotEtFrom"+detector+".dat";
  ifstream myfinaltotaletfile5 (finaltotaletInfileName.Data());
  value = 0;
  error = 0;
  junk1 = 0;
  junk2 = 0;
  Int_t i=0;
  if (myfinaltotaletfile5.is_open()){
    while ( myfinaltotaletfile5.good() )
      {
	getline (myfinaltotaletfile5,inline);
	istringstream tmp(inline);
	tmp >> junk1;
	tmp >> junk2;
	tmp >> value;
	tmp >> error;
	if(i<20){
	  //cout<<"value "<<value<<" +/- "<<error<<endl;
	  finaltotaletCorrEmcal[i] = value;
	  finaltotaletErrorEmcal[i] = error;
	}
	i++;
      }
    myfinaltotaletfile5.close();
  }

  detector = "Phos";
  finaltotaletInfileName = "TotEtFrom"+detector+".dat";
  ifstream myfinaltotaletfile6 (finaltotaletInfileName.Data());
  value = 0;
  error = 0;
  Int_t i=0;
  if (myfinaltotaletfile6.is_open()){
    while ( myfinaltotaletfile6.good() )
      {
	getline (myfinaltotaletfile6,inline);
	istringstream tmp(inline);
	tmp >> junk1;
	tmp >> junk2;
	tmp >> value;
	tmp >> error;
	if(i<20){
	  finaltotaletCorrPhos[i] = value;
	  finaltotaletErrorPhos[i] = error;
	}
	i++;
      }
    myfinaltotaletfile6.close();
  }
  ofstream myfile4;
  myfile4.open ("TotEtFromCalorimeters.tex");
  for(int i=0;i<20;i++){
    if(finaltotaletCorrPhos[i] > 1e-3 || finaltotaletCorrEmcal[i] > 1e-3){
      if(finaltotaletCorrPhos[i] > 1e-3){
	TString line = Form("%i-%i\\% & %2.3f $\\pm$ %2.3f & %2.3f $\\pm$ %2.3f \\\\",i*5,(i+1)*5,finaltotaletCorrPhos[i],finaltotaletErrorPhos[i],finaltotaletCorrEmcal[i],finaltotaletErrorEmcal[i]);
	myfile4<<line.Data()<<endl;
      }
      else{
	TString line = Form("%i-%i\\% & -- & %2.3f $\\pm$ %2.3f \\\\",i*5,(i+1)*5,finaltotaletCorrEmcal[i],finaltotaletErrorEmcal[i]);
	myfile4<<line.Data()<<endl;
      }
    }
  }
  myfile4.close();





}
 PlotEmEtVer2.C:1
 PlotEmEtVer2.C:2
 PlotEmEtVer2.C:3
 PlotEmEtVer2.C:4
 PlotEmEtVer2.C:5
 PlotEmEtVer2.C:6
 PlotEmEtVer2.C:7
 PlotEmEtVer2.C:8
 PlotEmEtVer2.C:9
 PlotEmEtVer2.C:10
 PlotEmEtVer2.C:11
 PlotEmEtVer2.C:12
 PlotEmEtVer2.C:13
 PlotEmEtVer2.C:14
 PlotEmEtVer2.C:15
 PlotEmEtVer2.C:16
 PlotEmEtVer2.C:17
 PlotEmEtVer2.C:18
 PlotEmEtVer2.C:19
 PlotEmEtVer2.C:20
 PlotEmEtVer2.C:21
 PlotEmEtVer2.C:22
 PlotEmEtVer2.C:23
 PlotEmEtVer2.C:24
 PlotEmEtVer2.C:25
 PlotEmEtVer2.C:26
 PlotEmEtVer2.C:27
 PlotEmEtVer2.C:28
 PlotEmEtVer2.C:29
 PlotEmEtVer2.C:30
 PlotEmEtVer2.C:31
 PlotEmEtVer2.C:32
 PlotEmEtVer2.C:33
 PlotEmEtVer2.C:34
 PlotEmEtVer2.C:35
 PlotEmEtVer2.C:36
 PlotEmEtVer2.C:37
 PlotEmEtVer2.C:38
 PlotEmEtVer2.C:39
 PlotEmEtVer2.C:40
 PlotEmEtVer2.C:41
 PlotEmEtVer2.C:42
 PlotEmEtVer2.C:43
 PlotEmEtVer2.C:44
 PlotEmEtVer2.C:45
 PlotEmEtVer2.C:46
 PlotEmEtVer2.C:47
 PlotEmEtVer2.C:48
 PlotEmEtVer2.C:49
 PlotEmEtVer2.C:50
 PlotEmEtVer2.C:51
 PlotEmEtVer2.C:52
 PlotEmEtVer2.C:53
 PlotEmEtVer2.C:54
 PlotEmEtVer2.C:55
 PlotEmEtVer2.C:56
 PlotEmEtVer2.C:57
 PlotEmEtVer2.C:58
 PlotEmEtVer2.C:59
 PlotEmEtVer2.C:60
 PlotEmEtVer2.C:61
 PlotEmEtVer2.C:62
 PlotEmEtVer2.C:63
 PlotEmEtVer2.C:64
 PlotEmEtVer2.C:65
 PlotEmEtVer2.C:66
 PlotEmEtVer2.C:67
 PlotEmEtVer2.C:68
 PlotEmEtVer2.C:69
 PlotEmEtVer2.C:70
 PlotEmEtVer2.C:71
 PlotEmEtVer2.C:72
 PlotEmEtVer2.C:73
 PlotEmEtVer2.C:74
 PlotEmEtVer2.C:75
 PlotEmEtVer2.C:76
 PlotEmEtVer2.C:77
 PlotEmEtVer2.C:78
 PlotEmEtVer2.C:79
 PlotEmEtVer2.C:80
 PlotEmEtVer2.C:81
 PlotEmEtVer2.C:82
 PlotEmEtVer2.C:83
 PlotEmEtVer2.C:84
 PlotEmEtVer2.C:85
 PlotEmEtVer2.C:86
 PlotEmEtVer2.C:87
 PlotEmEtVer2.C:88
 PlotEmEtVer2.C:89
 PlotEmEtVer2.C:90
 PlotEmEtVer2.C:91
 PlotEmEtVer2.C:92
 PlotEmEtVer2.C:93
 PlotEmEtVer2.C:94
 PlotEmEtVer2.C:95
 PlotEmEtVer2.C:96
 PlotEmEtVer2.C:97
 PlotEmEtVer2.C:98
 PlotEmEtVer2.C:99
 PlotEmEtVer2.C:100
 PlotEmEtVer2.C:101
 PlotEmEtVer2.C:102
 PlotEmEtVer2.C:103
 PlotEmEtVer2.C:104
 PlotEmEtVer2.C:105
 PlotEmEtVer2.C:106
 PlotEmEtVer2.C:107
 PlotEmEtVer2.C:108
 PlotEmEtVer2.C:109
 PlotEmEtVer2.C:110
 PlotEmEtVer2.C:111
 PlotEmEtVer2.C:112
 PlotEmEtVer2.C:113
 PlotEmEtVer2.C:114
 PlotEmEtVer2.C:115
 PlotEmEtVer2.C:116
 PlotEmEtVer2.C:117
 PlotEmEtVer2.C:118
 PlotEmEtVer2.C:119
 PlotEmEtVer2.C:120
 PlotEmEtVer2.C:121
 PlotEmEtVer2.C:122
 PlotEmEtVer2.C:123
 PlotEmEtVer2.C:124
 PlotEmEtVer2.C:125
 PlotEmEtVer2.C:126
 PlotEmEtVer2.C:127
 PlotEmEtVer2.C:128
 PlotEmEtVer2.C:129
 PlotEmEtVer2.C:130
 PlotEmEtVer2.C:131
 PlotEmEtVer2.C:132
 PlotEmEtVer2.C:133
 PlotEmEtVer2.C:134
 PlotEmEtVer2.C:135
 PlotEmEtVer2.C:136
 PlotEmEtVer2.C:137
 PlotEmEtVer2.C:138
 PlotEmEtVer2.C:139
 PlotEmEtVer2.C:140
 PlotEmEtVer2.C:141
 PlotEmEtVer2.C:142
 PlotEmEtVer2.C:143
 PlotEmEtVer2.C:144
 PlotEmEtVer2.C:145
 PlotEmEtVer2.C:146
 PlotEmEtVer2.C:147
 PlotEmEtVer2.C:148
 PlotEmEtVer2.C:149
 PlotEmEtVer2.C:150
 PlotEmEtVer2.C:151
 PlotEmEtVer2.C:152
 PlotEmEtVer2.C:153
 PlotEmEtVer2.C:154
 PlotEmEtVer2.C:155
 PlotEmEtVer2.C:156
 PlotEmEtVer2.C:157
 PlotEmEtVer2.C:158
 PlotEmEtVer2.C:159
 PlotEmEtVer2.C:160
 PlotEmEtVer2.C:161
 PlotEmEtVer2.C:162
 PlotEmEtVer2.C:163
 PlotEmEtVer2.C:164
 PlotEmEtVer2.C:165
 PlotEmEtVer2.C:166
 PlotEmEtVer2.C:167
 PlotEmEtVer2.C:168
 PlotEmEtVer2.C:169
 PlotEmEtVer2.C:170
 PlotEmEtVer2.C:171
 PlotEmEtVer2.C:172
 PlotEmEtVer2.C:173
 PlotEmEtVer2.C:174
 PlotEmEtVer2.C:175
 PlotEmEtVer2.C:176
 PlotEmEtVer2.C:177
 PlotEmEtVer2.C:178
 PlotEmEtVer2.C:179
 PlotEmEtVer2.C:180
 PlotEmEtVer2.C:181
 PlotEmEtVer2.C:182
 PlotEmEtVer2.C:183
 PlotEmEtVer2.C:184
 PlotEmEtVer2.C:185
 PlotEmEtVer2.C:186
 PlotEmEtVer2.C:187
 PlotEmEtVer2.C:188
 PlotEmEtVer2.C:189
 PlotEmEtVer2.C:190
 PlotEmEtVer2.C:191
 PlotEmEtVer2.C:192
 PlotEmEtVer2.C:193
 PlotEmEtVer2.C:194
 PlotEmEtVer2.C:195
 PlotEmEtVer2.C:196
 PlotEmEtVer2.C:197
 PlotEmEtVer2.C:198
 PlotEmEtVer2.C:199
 PlotEmEtVer2.C:200
 PlotEmEtVer2.C:201
 PlotEmEtVer2.C:202
 PlotEmEtVer2.C:203
 PlotEmEtVer2.C:204
 PlotEmEtVer2.C:205
 PlotEmEtVer2.C:206
 PlotEmEtVer2.C:207
 PlotEmEtVer2.C:208
 PlotEmEtVer2.C:209
 PlotEmEtVer2.C:210
 PlotEmEtVer2.C:211
 PlotEmEtVer2.C:212
 PlotEmEtVer2.C:213
 PlotEmEtVer2.C:214
 PlotEmEtVer2.C:215
 PlotEmEtVer2.C:216
 PlotEmEtVer2.C:217
 PlotEmEtVer2.C:218
 PlotEmEtVer2.C:219
 PlotEmEtVer2.C:220
 PlotEmEtVer2.C:221
 PlotEmEtVer2.C:222
 PlotEmEtVer2.C:223
 PlotEmEtVer2.C:224
 PlotEmEtVer2.C:225
 PlotEmEtVer2.C:226
 PlotEmEtVer2.C:227
 PlotEmEtVer2.C:228
 PlotEmEtVer2.C:229
 PlotEmEtVer2.C:230
 PlotEmEtVer2.C:231
 PlotEmEtVer2.C:232
 PlotEmEtVer2.C:233
 PlotEmEtVer2.C:234
 PlotEmEtVer2.C:235
 PlotEmEtVer2.C:236
 PlotEmEtVer2.C:237
 PlotEmEtVer2.C:238
 PlotEmEtVer2.C:239
 PlotEmEtVer2.C:240
 PlotEmEtVer2.C:241
 PlotEmEtVer2.C:242
 PlotEmEtVer2.C:243
 PlotEmEtVer2.C:244
 PlotEmEtVer2.C:245
 PlotEmEtVer2.C:246
 PlotEmEtVer2.C:247
 PlotEmEtVer2.C:248
 PlotEmEtVer2.C:249
 PlotEmEtVer2.C:250
 PlotEmEtVer2.C:251
 PlotEmEtVer2.C:252
 PlotEmEtVer2.C:253
 PlotEmEtVer2.C:254
 PlotEmEtVer2.C:255
 PlotEmEtVer2.C:256
 PlotEmEtVer2.C:257
 PlotEmEtVer2.C:258
 PlotEmEtVer2.C:259
 PlotEmEtVer2.C:260
 PlotEmEtVer2.C:261
 PlotEmEtVer2.C:262
 PlotEmEtVer2.C:263
 PlotEmEtVer2.C:264
 PlotEmEtVer2.C:265
 PlotEmEtVer2.C:266
 PlotEmEtVer2.C:267
 PlotEmEtVer2.C:268
 PlotEmEtVer2.C:269
 PlotEmEtVer2.C:270
 PlotEmEtVer2.C:271
 PlotEmEtVer2.C:272
 PlotEmEtVer2.C:273
 PlotEmEtVer2.C:274
 PlotEmEtVer2.C:275
 PlotEmEtVer2.C:276
 PlotEmEtVer2.C:277
 PlotEmEtVer2.C:278
 PlotEmEtVer2.C:279
 PlotEmEtVer2.C:280
 PlotEmEtVer2.C:281
 PlotEmEtVer2.C:282
 PlotEmEtVer2.C:283
 PlotEmEtVer2.C:284
 PlotEmEtVer2.C:285
 PlotEmEtVer2.C:286
 PlotEmEtVer2.C:287
 PlotEmEtVer2.C:288
 PlotEmEtVer2.C:289
 PlotEmEtVer2.C:290
 PlotEmEtVer2.C:291
 PlotEmEtVer2.C:292
 PlotEmEtVer2.C:293
 PlotEmEtVer2.C:294
 PlotEmEtVer2.C:295
 PlotEmEtVer2.C:296
 PlotEmEtVer2.C:297
 PlotEmEtVer2.C:298
 PlotEmEtVer2.C:299
 PlotEmEtVer2.C:300
 PlotEmEtVer2.C:301
 PlotEmEtVer2.C:302
 PlotEmEtVer2.C:303
 PlotEmEtVer2.C:304
 PlotEmEtVer2.C:305
 PlotEmEtVer2.C:306
 PlotEmEtVer2.C:307
 PlotEmEtVer2.C:308
 PlotEmEtVer2.C:309
 PlotEmEtVer2.C:310
 PlotEmEtVer2.C:311
 PlotEmEtVer2.C:312
 PlotEmEtVer2.C:313
 PlotEmEtVer2.C:314
 PlotEmEtVer2.C:315
 PlotEmEtVer2.C:316
 PlotEmEtVer2.C:317
 PlotEmEtVer2.C:318
 PlotEmEtVer2.C:319
 PlotEmEtVer2.C:320
 PlotEmEtVer2.C:321
 PlotEmEtVer2.C:322
 PlotEmEtVer2.C:323
 PlotEmEtVer2.C:324
 PlotEmEtVer2.C:325
 PlotEmEtVer2.C:326
 PlotEmEtVer2.C:327
 PlotEmEtVer2.C:328
 PlotEmEtVer2.C:329
 PlotEmEtVer2.C:330
 PlotEmEtVer2.C:331
 PlotEmEtVer2.C:332
 PlotEmEtVer2.C:333
 PlotEmEtVer2.C:334
 PlotEmEtVer2.C:335
 PlotEmEtVer2.C:336
 PlotEmEtVer2.C:337
 PlotEmEtVer2.C:338
 PlotEmEtVer2.C:339
 PlotEmEtVer2.C:340
 PlotEmEtVer2.C:341
 PlotEmEtVer2.C:342
 PlotEmEtVer2.C:343
 PlotEmEtVer2.C:344
 PlotEmEtVer2.C:345
 PlotEmEtVer2.C:346
 PlotEmEtVer2.C:347
 PlotEmEtVer2.C:348
 PlotEmEtVer2.C:349
 PlotEmEtVer2.C:350
 PlotEmEtVer2.C:351
 PlotEmEtVer2.C:352
 PlotEmEtVer2.C:353
 PlotEmEtVer2.C:354
 PlotEmEtVer2.C:355
 PlotEmEtVer2.C:356
 PlotEmEtVer2.C:357
 PlotEmEtVer2.C:358
 PlotEmEtVer2.C:359
 PlotEmEtVer2.C:360
 PlotEmEtVer2.C:361
 PlotEmEtVer2.C:362
 PlotEmEtVer2.C:363
 PlotEmEtVer2.C:364
 PlotEmEtVer2.C:365
 PlotEmEtVer2.C:366
 PlotEmEtVer2.C:367
 PlotEmEtVer2.C:368
 PlotEmEtVer2.C:369
 PlotEmEtVer2.C:370
 PlotEmEtVer2.C:371
 PlotEmEtVer2.C:372
 PlotEmEtVer2.C:373
 PlotEmEtVer2.C:374
 PlotEmEtVer2.C:375
 PlotEmEtVer2.C:376
 PlotEmEtVer2.C:377
 PlotEmEtVer2.C:378
 PlotEmEtVer2.C:379
 PlotEmEtVer2.C:380
 PlotEmEtVer2.C:381
 PlotEmEtVer2.C:382
 PlotEmEtVer2.C:383
 PlotEmEtVer2.C:384
 PlotEmEtVer2.C:385
 PlotEmEtVer2.C:386
 PlotEmEtVer2.C:387
 PlotEmEtVer2.C:388
 PlotEmEtVer2.C:389
 PlotEmEtVer2.C:390
 PlotEmEtVer2.C:391
 PlotEmEtVer2.C:392
 PlotEmEtVer2.C:393
 PlotEmEtVer2.C:394
 PlotEmEtVer2.C:395
 PlotEmEtVer2.C:396
 PlotEmEtVer2.C:397
 PlotEmEtVer2.C:398
 PlotEmEtVer2.C:399
 PlotEmEtVer2.C:400
 PlotEmEtVer2.C:401
 PlotEmEtVer2.C:402
 PlotEmEtVer2.C:403
 PlotEmEtVer2.C:404
 PlotEmEtVer2.C:405
 PlotEmEtVer2.C:406
 PlotEmEtVer2.C:407
 PlotEmEtVer2.C:408
 PlotEmEtVer2.C:409
 PlotEmEtVer2.C:410
 PlotEmEtVer2.C:411
 PlotEmEtVer2.C:412
 PlotEmEtVer2.C:413
 PlotEmEtVer2.C:414
 PlotEmEtVer2.C:415
 PlotEmEtVer2.C:416
 PlotEmEtVer2.C:417
 PlotEmEtVer2.C:418
 PlotEmEtVer2.C:419
 PlotEmEtVer2.C:420
 PlotEmEtVer2.C:421
 PlotEmEtVer2.C:422
 PlotEmEtVer2.C:423
 PlotEmEtVer2.C:424
 PlotEmEtVer2.C:425
 PlotEmEtVer2.C:426
 PlotEmEtVer2.C:427
 PlotEmEtVer2.C:428
 PlotEmEtVer2.C:429
 PlotEmEtVer2.C:430
 PlotEmEtVer2.C:431
 PlotEmEtVer2.C:432
 PlotEmEtVer2.C:433
 PlotEmEtVer2.C:434
 PlotEmEtVer2.C:435
 PlotEmEtVer2.C:436
 PlotEmEtVer2.C:437
 PlotEmEtVer2.C:438
 PlotEmEtVer2.C:439
 PlotEmEtVer2.C:440
 PlotEmEtVer2.C:441
 PlotEmEtVer2.C:442
 PlotEmEtVer2.C:443
 PlotEmEtVer2.C:444
 PlotEmEtVer2.C:445
 PlotEmEtVer2.C:446
 PlotEmEtVer2.C:447
 PlotEmEtVer2.C:448
 PlotEmEtVer2.C:449
 PlotEmEtVer2.C:450
 PlotEmEtVer2.C:451
 PlotEmEtVer2.C:452
 PlotEmEtVer2.C:453
 PlotEmEtVer2.C:454
 PlotEmEtVer2.C:455
 PlotEmEtVer2.C:456
 PlotEmEtVer2.C:457
 PlotEmEtVer2.C:458
 PlotEmEtVer2.C:459
 PlotEmEtVer2.C:460
 PlotEmEtVer2.C:461
 PlotEmEtVer2.C:462
 PlotEmEtVer2.C:463
 PlotEmEtVer2.C:464
 PlotEmEtVer2.C:465
 PlotEmEtVer2.C:466
 PlotEmEtVer2.C:467
 PlotEmEtVer2.C:468
 PlotEmEtVer2.C:469
 PlotEmEtVer2.C:470
 PlotEmEtVer2.C:471
 PlotEmEtVer2.C:472
 PlotEmEtVer2.C:473
 PlotEmEtVer2.C:474
 PlotEmEtVer2.C:475
 PlotEmEtVer2.C:476
 PlotEmEtVer2.C:477
 PlotEmEtVer2.C:478
 PlotEmEtVer2.C:479
 PlotEmEtVer2.C:480
 PlotEmEtVer2.C:481
 PlotEmEtVer2.C:482
 PlotEmEtVer2.C:483
 PlotEmEtVer2.C:484
 PlotEmEtVer2.C:485
 PlotEmEtVer2.C:486
 PlotEmEtVer2.C:487
 PlotEmEtVer2.C:488
 PlotEmEtVer2.C:489
 PlotEmEtVer2.C:490
 PlotEmEtVer2.C:491
 PlotEmEtVer2.C:492
 PlotEmEtVer2.C:493
 PlotEmEtVer2.C:494
 PlotEmEtVer2.C:495
 PlotEmEtVer2.C:496
 PlotEmEtVer2.C:497
 PlotEmEtVer2.C:498
 PlotEmEtVer2.C:499
 PlotEmEtVer2.C:500
 PlotEmEtVer2.C:501
 PlotEmEtVer2.C:502
 PlotEmEtVer2.C:503
 PlotEmEtVer2.C:504
 PlotEmEtVer2.C:505
 PlotEmEtVer2.C:506
 PlotEmEtVer2.C:507
 PlotEmEtVer2.C:508
 PlotEmEtVer2.C:509
 PlotEmEtVer2.C:510
 PlotEmEtVer2.C:511
 PlotEmEtVer2.C:512
 PlotEmEtVer2.C:513
 PlotEmEtVer2.C:514
 PlotEmEtVer2.C:515
 PlotEmEtVer2.C:516
 PlotEmEtVer2.C:517
 PlotEmEtVer2.C:518
 PlotEmEtVer2.C:519
 PlotEmEtVer2.C:520
 PlotEmEtVer2.C:521
 PlotEmEtVer2.C:522
 PlotEmEtVer2.C:523
 PlotEmEtVer2.C:524
 PlotEmEtVer2.C:525
 PlotEmEtVer2.C:526
 PlotEmEtVer2.C:527
 PlotEmEtVer2.C:528
 PlotEmEtVer2.C:529
 PlotEmEtVer2.C:530
 PlotEmEtVer2.C:531
 PlotEmEtVer2.C:532
 PlotEmEtVer2.C:533
 PlotEmEtVer2.C:534
 PlotEmEtVer2.C:535
 PlotEmEtVer2.C:536
 PlotEmEtVer2.C:537
 PlotEmEtVer2.C:538
 PlotEmEtVer2.C:539
 PlotEmEtVer2.C:540
 PlotEmEtVer2.C:541
 PlotEmEtVer2.C:542
 PlotEmEtVer2.C:543
 PlotEmEtVer2.C:544
 PlotEmEtVer2.C:545
 PlotEmEtVer2.C:546
 PlotEmEtVer2.C:547
 PlotEmEtVer2.C:548
 PlotEmEtVer2.C:549
 PlotEmEtVer2.C:550
 PlotEmEtVer2.C:551
 PlotEmEtVer2.C:552
 PlotEmEtVer2.C:553
 PlotEmEtVer2.C:554
 PlotEmEtVer2.C:555
 PlotEmEtVer2.C:556
 PlotEmEtVer2.C:557
 PlotEmEtVer2.C:558
 PlotEmEtVer2.C:559
 PlotEmEtVer2.C:560
 PlotEmEtVer2.C:561
 PlotEmEtVer2.C:562
 PlotEmEtVer2.C:563
 PlotEmEtVer2.C:564
 PlotEmEtVer2.C:565
 PlotEmEtVer2.C:566
 PlotEmEtVer2.C:567
 PlotEmEtVer2.C:568
 PlotEmEtVer2.C:569
 PlotEmEtVer2.C:570
 PlotEmEtVer2.C:571
 PlotEmEtVer2.C:572
 PlotEmEtVer2.C:573
 PlotEmEtVer2.C:574
 PlotEmEtVer2.C:575
 PlotEmEtVer2.C:576
 PlotEmEtVer2.C:577
 PlotEmEtVer2.C:578
 PlotEmEtVer2.C:579
 PlotEmEtVer2.C:580
 PlotEmEtVer2.C:581
 PlotEmEtVer2.C:582
 PlotEmEtVer2.C:583
 PlotEmEtVer2.C:584
 PlotEmEtVer2.C:585
 PlotEmEtVer2.C:586
 PlotEmEtVer2.C:587
 PlotEmEtVer2.C:588
 PlotEmEtVer2.C:589
 PlotEmEtVer2.C:590
 PlotEmEtVer2.C:591
 PlotEmEtVer2.C:592
 PlotEmEtVer2.C:593
 PlotEmEtVer2.C:594
 PlotEmEtVer2.C:595
 PlotEmEtVer2.C:596
 PlotEmEtVer2.C:597
 PlotEmEtVer2.C:598
 PlotEmEtVer2.C:599
 PlotEmEtVer2.C:600
 PlotEmEtVer2.C:601
 PlotEmEtVer2.C:602
 PlotEmEtVer2.C:603
 PlotEmEtVer2.C:604
 PlotEmEtVer2.C:605
 PlotEmEtVer2.C:606
 PlotEmEtVer2.C:607
 PlotEmEtVer2.C:608
 PlotEmEtVer2.C:609
 PlotEmEtVer2.C:610
 PlotEmEtVer2.C:611
 PlotEmEtVer2.C:612
 PlotEmEtVer2.C:613
 PlotEmEtVer2.C:614
 PlotEmEtVer2.C:615
 PlotEmEtVer2.C:616
 PlotEmEtVer2.C:617
 PlotEmEtVer2.C:618
 PlotEmEtVer2.C:619
 PlotEmEtVer2.C:620
 PlotEmEtVer2.C:621
 PlotEmEtVer2.C:622
 PlotEmEtVer2.C:623
 PlotEmEtVer2.C:624
 PlotEmEtVer2.C:625
 PlotEmEtVer2.C:626
 PlotEmEtVer2.C:627
 PlotEmEtVer2.C:628
 PlotEmEtVer2.C:629
 PlotEmEtVer2.C:630
 PlotEmEtVer2.C:631
 PlotEmEtVer2.C:632
 PlotEmEtVer2.C:633
 PlotEmEtVer2.C:634
 PlotEmEtVer2.C:635
 PlotEmEtVer2.C:636
 PlotEmEtVer2.C:637
 PlotEmEtVer2.C:638
 PlotEmEtVer2.C:639
 PlotEmEtVer2.C:640
 PlotEmEtVer2.C:641
 PlotEmEtVer2.C:642
 PlotEmEtVer2.C:643
 PlotEmEtVer2.C:644
 PlotEmEtVer2.C:645
 PlotEmEtVer2.C:646
 PlotEmEtVer2.C:647
 PlotEmEtVer2.C:648
 PlotEmEtVer2.C:649
 PlotEmEtVer2.C:650
 PlotEmEtVer2.C:651
 PlotEmEtVer2.C:652
 PlotEmEtVer2.C:653
 PlotEmEtVer2.C:654
 PlotEmEtVer2.C:655
 PlotEmEtVer2.C:656
 PlotEmEtVer2.C:657
 PlotEmEtVer2.C:658
 PlotEmEtVer2.C:659
 PlotEmEtVer2.C:660
 PlotEmEtVer2.C:661
 PlotEmEtVer2.C:662
 PlotEmEtVer2.C:663
 PlotEmEtVer2.C:664
 PlotEmEtVer2.C:665
 PlotEmEtVer2.C:666
 PlotEmEtVer2.C:667
 PlotEmEtVer2.C:668
 PlotEmEtVer2.C:669
 PlotEmEtVer2.C:670
 PlotEmEtVer2.C:671
 PlotEmEtVer2.C:672
 PlotEmEtVer2.C:673
 PlotEmEtVer2.C:674
 PlotEmEtVer2.C:675
 PlotEmEtVer2.C:676
 PlotEmEtVer2.C:677
 PlotEmEtVer2.C:678
 PlotEmEtVer2.C:679
 PlotEmEtVer2.C:680
 PlotEmEtVer2.C:681
 PlotEmEtVer2.C:682
 PlotEmEtVer2.C:683
 PlotEmEtVer2.C:684
 PlotEmEtVer2.C:685
 PlotEmEtVer2.C:686
 PlotEmEtVer2.C:687
 PlotEmEtVer2.C:688
 PlotEmEtVer2.C:689
 PlotEmEtVer2.C:690
 PlotEmEtVer2.C:691
 PlotEmEtVer2.C:692
 PlotEmEtVer2.C:693
 PlotEmEtVer2.C:694
 PlotEmEtVer2.C:695
 PlotEmEtVer2.C:696
 PlotEmEtVer2.C:697
 PlotEmEtVer2.C:698
 PlotEmEtVer2.C:699
 PlotEmEtVer2.C:700
 PlotEmEtVer2.C:701
 PlotEmEtVer2.C:702
 PlotEmEtVer2.C:703
 PlotEmEtVer2.C:704
 PlotEmEtVer2.C:705
 PlotEmEtVer2.C:706
 PlotEmEtVer2.C:707
 PlotEmEtVer2.C:708
 PlotEmEtVer2.C:709
 PlotEmEtVer2.C:710
 PlotEmEtVer2.C:711
 PlotEmEtVer2.C:712
 PlotEmEtVer2.C:713
 PlotEmEtVer2.C:714
 PlotEmEtVer2.C:715
 PlotEmEtVer2.C:716
 PlotEmEtVer2.C:717
 PlotEmEtVer2.C:718
 PlotEmEtVer2.C:719
 PlotEmEtVer2.C:720
 PlotEmEtVer2.C:721
 PlotEmEtVer2.C:722
 PlotEmEtVer2.C:723
 PlotEmEtVer2.C:724
 PlotEmEtVer2.C:725
 PlotEmEtVer2.C:726
 PlotEmEtVer2.C:727
 PlotEmEtVer2.C:728
 PlotEmEtVer2.C:729
 PlotEmEtVer2.C:730
 PlotEmEtVer2.C:731
 PlotEmEtVer2.C:732
 PlotEmEtVer2.C:733
 PlotEmEtVer2.C:734
 PlotEmEtVer2.C:735
 PlotEmEtVer2.C:736
 PlotEmEtVer2.C:737
 PlotEmEtVer2.C:738
 PlotEmEtVer2.C:739
 PlotEmEtVer2.C:740
 PlotEmEtVer2.C:741
 PlotEmEtVer2.C:742
 PlotEmEtVer2.C:743
 PlotEmEtVer2.C:744
 PlotEmEtVer2.C:745
 PlotEmEtVer2.C:746
 PlotEmEtVer2.C:747
 PlotEmEtVer2.C:748
 PlotEmEtVer2.C:749
 PlotEmEtVer2.C:750
 PlotEmEtVer2.C:751
 PlotEmEtVer2.C:752
 PlotEmEtVer2.C:753
 PlotEmEtVer2.C:754
 PlotEmEtVer2.C:755
 PlotEmEtVer2.C:756
 PlotEmEtVer2.C:757
 PlotEmEtVer2.C:758
 PlotEmEtVer2.C:759
 PlotEmEtVer2.C:760
 PlotEmEtVer2.C:761
 PlotEmEtVer2.C:762
 PlotEmEtVer2.C:763
 PlotEmEtVer2.C:764
 PlotEmEtVer2.C:765
 PlotEmEtVer2.C:766
 PlotEmEtVer2.C:767
 PlotEmEtVer2.C:768
 PlotEmEtVer2.C:769
 PlotEmEtVer2.C:770
 PlotEmEtVer2.C:771
 PlotEmEtVer2.C:772
 PlotEmEtVer2.C:773
 PlotEmEtVer2.C:774
 PlotEmEtVer2.C:775
 PlotEmEtVer2.C:776
 PlotEmEtVer2.C:777
 PlotEmEtVer2.C:778
 PlotEmEtVer2.C:779
 PlotEmEtVer2.C:780
 PlotEmEtVer2.C:781
 PlotEmEtVer2.C:782
 PlotEmEtVer2.C:783
 PlotEmEtVer2.C:784
 PlotEmEtVer2.C:785
 PlotEmEtVer2.C:786
 PlotEmEtVer2.C:787
 PlotEmEtVer2.C:788
 PlotEmEtVer2.C:789
 PlotEmEtVer2.C:790
 PlotEmEtVer2.C:791
 PlotEmEtVer2.C:792
 PlotEmEtVer2.C:793
 PlotEmEtVer2.C:794
 PlotEmEtVer2.C:795
 PlotEmEtVer2.C:796
 PlotEmEtVer2.C:797
 PlotEmEtVer2.C:798
 PlotEmEtVer2.C:799
 PlotEmEtVer2.C:800
 PlotEmEtVer2.C:801
 PlotEmEtVer2.C:802
 PlotEmEtVer2.C:803
 PlotEmEtVer2.C:804
 PlotEmEtVer2.C:805
 PlotEmEtVer2.C:806
 PlotEmEtVer2.C:807
 PlotEmEtVer2.C:808
 PlotEmEtVer2.C:809
 PlotEmEtVer2.C:810
 PlotEmEtVer2.C:811
 PlotEmEtVer2.C:812
 PlotEmEtVer2.C:813
 PlotEmEtVer2.C:814
 PlotEmEtVer2.C:815
 PlotEmEtVer2.C:816
 PlotEmEtVer2.C:817
 PlotEmEtVer2.C:818
 PlotEmEtVer2.C:819
 PlotEmEtVer2.C:820
 PlotEmEtVer2.C:821
 PlotEmEtVer2.C:822
 PlotEmEtVer2.C:823
 PlotEmEtVer2.C:824
 PlotEmEtVer2.C:825
 PlotEmEtVer2.C:826
 PlotEmEtVer2.C:827
 PlotEmEtVer2.C:828
 PlotEmEtVer2.C:829
 PlotEmEtVer2.C:830
 PlotEmEtVer2.C:831
 PlotEmEtVer2.C:832
 PlotEmEtVer2.C:833
 PlotEmEtVer2.C:834
 PlotEmEtVer2.C:835
 PlotEmEtVer2.C:836
 PlotEmEtVer2.C:837
 PlotEmEtVer2.C:838
 PlotEmEtVer2.C:839
 PlotEmEtVer2.C:840
 PlotEmEtVer2.C:841
 PlotEmEtVer2.C:842
 PlotEmEtVer2.C:843
 PlotEmEtVer2.C:844
 PlotEmEtVer2.C:845
 PlotEmEtVer2.C:846
 PlotEmEtVer2.C:847
 PlotEmEtVer2.C:848
 PlotEmEtVer2.C:849
 PlotEmEtVer2.C:850
 PlotEmEtVer2.C:851
 PlotEmEtVer2.C:852
 PlotEmEtVer2.C:853
 PlotEmEtVer2.C:854
 PlotEmEtVer2.C:855
 PlotEmEtVer2.C:856
 PlotEmEtVer2.C:857
 PlotEmEtVer2.C:858
 PlotEmEtVer2.C:859
 PlotEmEtVer2.C:860
 PlotEmEtVer2.C:861
 PlotEmEtVer2.C:862
 PlotEmEtVer2.C:863
 PlotEmEtVer2.C:864
 PlotEmEtVer2.C:865
 PlotEmEtVer2.C:866
 PlotEmEtVer2.C:867
 PlotEmEtVer2.C:868
 PlotEmEtVer2.C:869
 PlotEmEtVer2.C:870
 PlotEmEtVer2.C:871
 PlotEmEtVer2.C:872
 PlotEmEtVer2.C:873
 PlotEmEtVer2.C:874
 PlotEmEtVer2.C:875
 PlotEmEtVer2.C:876
 PlotEmEtVer2.C:877
 PlotEmEtVer2.C:878
 PlotEmEtVer2.C:879
 PlotEmEtVer2.C:880
 PlotEmEtVer2.C:881
 PlotEmEtVer2.C:882
 PlotEmEtVer2.C:883
 PlotEmEtVer2.C:884
 PlotEmEtVer2.C:885
 PlotEmEtVer2.C:886
 PlotEmEtVer2.C:887
 PlotEmEtVer2.C:888
 PlotEmEtVer2.C:889
 PlotEmEtVer2.C:890
 PlotEmEtVer2.C:891
 PlotEmEtVer2.C:892
 PlotEmEtVer2.C:893
 PlotEmEtVer2.C:894
 PlotEmEtVer2.C:895
 PlotEmEtVer2.C:896
 PlotEmEtVer2.C:897
 PlotEmEtVer2.C:898
 PlotEmEtVer2.C:899
 PlotEmEtVer2.C:900
 PlotEmEtVer2.C:901
 PlotEmEtVer2.C:902
 PlotEmEtVer2.C:903
 PlotEmEtVer2.C:904
 PlotEmEtVer2.C:905
 PlotEmEtVer2.C:906
 PlotEmEtVer2.C:907
 PlotEmEtVer2.C:908
 PlotEmEtVer2.C:909
 PlotEmEtVer2.C:910
 PlotEmEtVer2.C:911
 PlotEmEtVer2.C:912
 PlotEmEtVer2.C:913
 PlotEmEtVer2.C:914
 PlotEmEtVer2.C:915
 PlotEmEtVer2.C:916
 PlotEmEtVer2.C:917
 PlotEmEtVer2.C:918
 PlotEmEtVer2.C:919
 PlotEmEtVer2.C:920
 PlotEmEtVer2.C:921
 PlotEmEtVer2.C:922
 PlotEmEtVer2.C:923
 PlotEmEtVer2.C:924
 PlotEmEtVer2.C:925
 PlotEmEtVer2.C:926
 PlotEmEtVer2.C:927
 PlotEmEtVer2.C:928
 PlotEmEtVer2.C:929
 PlotEmEtVer2.C:930
 PlotEmEtVer2.C:931
 PlotEmEtVer2.C:932
 PlotEmEtVer2.C:933
 PlotEmEtVer2.C:934
 PlotEmEtVer2.C:935
 PlotEmEtVer2.C:936
 PlotEmEtVer2.C:937
 PlotEmEtVer2.C:938
 PlotEmEtVer2.C:939
 PlotEmEtVer2.C:940
 PlotEmEtVer2.C:941
 PlotEmEtVer2.C:942
 PlotEmEtVer2.C:943
 PlotEmEtVer2.C:944
 PlotEmEtVer2.C:945
 PlotEmEtVer2.C:946
 PlotEmEtVer2.C:947
 PlotEmEtVer2.C:948
 PlotEmEtVer2.C:949
 PlotEmEtVer2.C:950
 PlotEmEtVer2.C:951
 PlotEmEtVer2.C:952
 PlotEmEtVer2.C:953
 PlotEmEtVer2.C:954
 PlotEmEtVer2.C:955
 PlotEmEtVer2.C:956
 PlotEmEtVer2.C:957
 PlotEmEtVer2.C:958
 PlotEmEtVer2.C:959
 PlotEmEtVer2.C:960
 PlotEmEtVer2.C:961
 PlotEmEtVer2.C:962
 PlotEmEtVer2.C:963
 PlotEmEtVer2.C:964
 PlotEmEtVer2.C:965
 PlotEmEtVer2.C:966
 PlotEmEtVer2.C:967
 PlotEmEtVer2.C:968
 PlotEmEtVer2.C:969
 PlotEmEtVer2.C:970
 PlotEmEtVer2.C:971
 PlotEmEtVer2.C:972
 PlotEmEtVer2.C:973
 PlotEmEtVer2.C:974
 PlotEmEtVer2.C:975
 PlotEmEtVer2.C:976
 PlotEmEtVer2.C:977
 PlotEmEtVer2.C:978
 PlotEmEtVer2.C:979
 PlotEmEtVer2.C:980
 PlotEmEtVer2.C:981
 PlotEmEtVer2.C:982
 PlotEmEtVer2.C:983
 PlotEmEtVer2.C:984
 PlotEmEtVer2.C:985
 PlotEmEtVer2.C:986
 PlotEmEtVer2.C:987
 PlotEmEtVer2.C:988
 PlotEmEtVer2.C:989
 PlotEmEtVer2.C:990
 PlotEmEtVer2.C:991
 PlotEmEtVer2.C:992
 PlotEmEtVer2.C:993
 PlotEmEtVer2.C:994
 PlotEmEtVer2.C:995
 PlotEmEtVer2.C:996
 PlotEmEtVer2.C:997
 PlotEmEtVer2.C:998
 PlotEmEtVer2.C:999
 PlotEmEtVer2.C:1000
 PlotEmEtVer2.C:1001
 PlotEmEtVer2.C:1002
 PlotEmEtVer2.C:1003
 PlotEmEtVer2.C:1004
 PlotEmEtVer2.C:1005
 PlotEmEtVer2.C:1006
 PlotEmEtVer2.C:1007
 PlotEmEtVer2.C:1008
 PlotEmEtVer2.C:1009
 PlotEmEtVer2.C:1010
 PlotEmEtVer2.C:1011
 PlotEmEtVer2.C:1012
 PlotEmEtVer2.C:1013
 PlotEmEtVer2.C:1014
 PlotEmEtVer2.C:1015
 PlotEmEtVer2.C:1016
 PlotEmEtVer2.C:1017
 PlotEmEtVer2.C:1018
 PlotEmEtVer2.C:1019
 PlotEmEtVer2.C:1020
 PlotEmEtVer2.C:1021
 PlotEmEtVer2.C:1022
 PlotEmEtVer2.C:1023
 PlotEmEtVer2.C:1024
 PlotEmEtVer2.C:1025
 PlotEmEtVer2.C:1026
 PlotEmEtVer2.C:1027
 PlotEmEtVer2.C:1028
 PlotEmEtVer2.C:1029
 PlotEmEtVer2.C:1030
 PlotEmEtVer2.C:1031
 PlotEmEtVer2.C:1032
 PlotEmEtVer2.C:1033
 PlotEmEtVer2.C:1034
 PlotEmEtVer2.C:1035
 PlotEmEtVer2.C:1036
 PlotEmEtVer2.C:1037
 PlotEmEtVer2.C:1038
 PlotEmEtVer2.C:1039
 PlotEmEtVer2.C:1040
 PlotEmEtVer2.C:1041
 PlotEmEtVer2.C:1042
 PlotEmEtVer2.C:1043
 PlotEmEtVer2.C:1044
 PlotEmEtVer2.C:1045
 PlotEmEtVer2.C:1046
 PlotEmEtVer2.C:1047
 PlotEmEtVer2.C:1048
 PlotEmEtVer2.C:1049
 PlotEmEtVer2.C:1050
 PlotEmEtVer2.C:1051
 PlotEmEtVer2.C:1052
 PlotEmEtVer2.C:1053
 PlotEmEtVer2.C:1054
 PlotEmEtVer2.C:1055
 PlotEmEtVer2.C:1056
 PlotEmEtVer2.C:1057
 PlotEmEtVer2.C:1058
 PlotEmEtVer2.C:1059
 PlotEmEtVer2.C:1060
 PlotEmEtVer2.C:1061
 PlotEmEtVer2.C:1062
 PlotEmEtVer2.C:1063
 PlotEmEtVer2.C:1064
 PlotEmEtVer2.C:1065
 PlotEmEtVer2.C:1066
 PlotEmEtVer2.C:1067
 PlotEmEtVer2.C:1068
 PlotEmEtVer2.C:1069
 PlotEmEtVer2.C:1070
 PlotEmEtVer2.C:1071
 PlotEmEtVer2.C:1072
 PlotEmEtVer2.C:1073
 PlotEmEtVer2.C:1074
 PlotEmEtVer2.C:1075
 PlotEmEtVer2.C:1076
 PlotEmEtVer2.C:1077
 PlotEmEtVer2.C:1078
 PlotEmEtVer2.C:1079
 PlotEmEtVer2.C:1080
 PlotEmEtVer2.C:1081
 PlotEmEtVer2.C:1082
 PlotEmEtVer2.C:1083
 PlotEmEtVer2.C:1084
 PlotEmEtVer2.C:1085
 PlotEmEtVer2.C:1086
 PlotEmEtVer2.C:1087
 PlotEmEtVer2.C:1088
 PlotEmEtVer2.C:1089
 PlotEmEtVer2.C:1090
 PlotEmEtVer2.C:1091
 PlotEmEtVer2.C:1092
 PlotEmEtVer2.C:1093
 PlotEmEtVer2.C:1094
 PlotEmEtVer2.C:1095
 PlotEmEtVer2.C:1096
 PlotEmEtVer2.C:1097
 PlotEmEtVer2.C:1098
 PlotEmEtVer2.C:1099
 PlotEmEtVer2.C:1100
 PlotEmEtVer2.C:1101
 PlotEmEtVer2.C:1102
 PlotEmEtVer2.C:1103
 PlotEmEtVer2.C:1104
 PlotEmEtVer2.C:1105
 PlotEmEtVer2.C:1106
 PlotEmEtVer2.C:1107
 PlotEmEtVer2.C:1108
 PlotEmEtVer2.C:1109
 PlotEmEtVer2.C:1110
 PlotEmEtVer2.C:1111
 PlotEmEtVer2.C:1112
 PlotEmEtVer2.C:1113
 PlotEmEtVer2.C:1114
 PlotEmEtVer2.C:1115
 PlotEmEtVer2.C:1116
 PlotEmEtVer2.C:1117
 PlotEmEtVer2.C:1118
 PlotEmEtVer2.C:1119
 PlotEmEtVer2.C:1120
 PlotEmEtVer2.C:1121
 PlotEmEtVer2.C:1122
 PlotEmEtVer2.C:1123
 PlotEmEtVer2.C:1124
 PlotEmEtVer2.C:1125
 PlotEmEtVer2.C:1126
 PlotEmEtVer2.C:1127
 PlotEmEtVer2.C:1128
 PlotEmEtVer2.C:1129
 PlotEmEtVer2.C:1130
 PlotEmEtVer2.C:1131
 PlotEmEtVer2.C:1132
 PlotEmEtVer2.C:1133
 PlotEmEtVer2.C:1134
 PlotEmEtVer2.C:1135
 PlotEmEtVer2.C:1136
 PlotEmEtVer2.C:1137
 PlotEmEtVer2.C:1138
 PlotEmEtVer2.C:1139
 PlotEmEtVer2.C:1140
 PlotEmEtVer2.C:1141
 PlotEmEtVer2.C:1142
 PlotEmEtVer2.C:1143
 PlotEmEtVer2.C:1144
 PlotEmEtVer2.C:1145
 PlotEmEtVer2.C:1146
 PlotEmEtVer2.C:1147
 PlotEmEtVer2.C:1148
 PlotEmEtVer2.C:1149
 PlotEmEtVer2.C:1150
 PlotEmEtVer2.C:1151
 PlotEmEtVer2.C:1152
 PlotEmEtVer2.C:1153
 PlotEmEtVer2.C:1154
 PlotEmEtVer2.C:1155
 PlotEmEtVer2.C:1156
 PlotEmEtVer2.C:1157
 PlotEmEtVer2.C:1158
 PlotEmEtVer2.C:1159
 PlotEmEtVer2.C:1160
 PlotEmEtVer2.C:1161
 PlotEmEtVer2.C:1162
 PlotEmEtVer2.C:1163
 PlotEmEtVer2.C:1164
 PlotEmEtVer2.C:1165
 PlotEmEtVer2.C:1166
 PlotEmEtVer2.C:1167
 PlotEmEtVer2.C:1168
 PlotEmEtVer2.C:1169
 PlotEmEtVer2.C:1170
 PlotEmEtVer2.C:1171
 PlotEmEtVer2.C:1172
 PlotEmEtVer2.C:1173
 PlotEmEtVer2.C:1174
 PlotEmEtVer2.C:1175
 PlotEmEtVer2.C:1176
 PlotEmEtVer2.C:1177
 PlotEmEtVer2.C:1178
 PlotEmEtVer2.C:1179
 PlotEmEtVer2.C:1180
 PlotEmEtVer2.C:1181
 PlotEmEtVer2.C:1182
 PlotEmEtVer2.C:1183
 PlotEmEtVer2.C:1184
 PlotEmEtVer2.C:1185
 PlotEmEtVer2.C:1186
 PlotEmEtVer2.C:1187
 PlotEmEtVer2.C:1188
 PlotEmEtVer2.C:1189
 PlotEmEtVer2.C:1190
 PlotEmEtVer2.C:1191
 PlotEmEtVer2.C:1192
 PlotEmEtVer2.C:1193
 PlotEmEtVer2.C:1194
 PlotEmEtVer2.C:1195
 PlotEmEtVer2.C:1196
 PlotEmEtVer2.C:1197
 PlotEmEtVer2.C:1198
 PlotEmEtVer2.C:1199
 PlotEmEtVer2.C:1200
 PlotEmEtVer2.C:1201
 PlotEmEtVer2.C:1202
 PlotEmEtVer2.C:1203
 PlotEmEtVer2.C:1204
 PlotEmEtVer2.C:1205
 PlotEmEtVer2.C:1206
 PlotEmEtVer2.C:1207
 PlotEmEtVer2.C:1208
 PlotEmEtVer2.C:1209
 PlotEmEtVer2.C:1210
 PlotEmEtVer2.C:1211
 PlotEmEtVer2.C:1212
 PlotEmEtVer2.C:1213
 PlotEmEtVer2.C:1214
 PlotEmEtVer2.C:1215
 PlotEmEtVer2.C:1216
 PlotEmEtVer2.C:1217
 PlotEmEtVer2.C:1218
 PlotEmEtVer2.C:1219
 PlotEmEtVer2.C:1220
 PlotEmEtVer2.C:1221
 PlotEmEtVer2.C:1222
 PlotEmEtVer2.C:1223
 PlotEmEtVer2.C:1224
 PlotEmEtVer2.C:1225
 PlotEmEtVer2.C:1226
 PlotEmEtVer2.C:1227
 PlotEmEtVer2.C:1228
 PlotEmEtVer2.C:1229
 PlotEmEtVer2.C:1230
 PlotEmEtVer2.C:1231
 PlotEmEtVer2.C:1232
 PlotEmEtVer2.C:1233
 PlotEmEtVer2.C:1234
 PlotEmEtVer2.C:1235
 PlotEmEtVer2.C:1236
 PlotEmEtVer2.C:1237
 PlotEmEtVer2.C:1238
 PlotEmEtVer2.C:1239
 PlotEmEtVer2.C:1240
 PlotEmEtVer2.C:1241
 PlotEmEtVer2.C:1242
 PlotEmEtVer2.C:1243
 PlotEmEtVer2.C:1244
 PlotEmEtVer2.C:1245
 PlotEmEtVer2.C:1246
 PlotEmEtVer2.C:1247
 PlotEmEtVer2.C:1248
 PlotEmEtVer2.C:1249
 PlotEmEtVer2.C:1250
 PlotEmEtVer2.C:1251
 PlotEmEtVer2.C:1252
 PlotEmEtVer2.C:1253
 PlotEmEtVer2.C:1254
 PlotEmEtVer2.C:1255
 PlotEmEtVer2.C:1256
 PlotEmEtVer2.C:1257
 PlotEmEtVer2.C:1258
 PlotEmEtVer2.C:1259
 PlotEmEtVer2.C:1260
 PlotEmEtVer2.C:1261
 PlotEmEtVer2.C:1262
 PlotEmEtVer2.C:1263
 PlotEmEtVer2.C:1264
 PlotEmEtVer2.C:1265
 PlotEmEtVer2.C:1266
 PlotEmEtVer2.C:1267
 PlotEmEtVer2.C:1268
 PlotEmEtVer2.C:1269
 PlotEmEtVer2.C:1270
 PlotEmEtVer2.C:1271
 PlotEmEtVer2.C:1272
 PlotEmEtVer2.C:1273
 PlotEmEtVer2.C:1274
 PlotEmEtVer2.C:1275
 PlotEmEtVer2.C:1276
 PlotEmEtVer2.C:1277
 PlotEmEtVer2.C:1278
 PlotEmEtVer2.C:1279
 PlotEmEtVer2.C:1280
 PlotEmEtVer2.C:1281
 PlotEmEtVer2.C:1282
 PlotEmEtVer2.C:1283
 PlotEmEtVer2.C:1284
 PlotEmEtVer2.C:1285
 PlotEmEtVer2.C:1286
 PlotEmEtVer2.C:1287
 PlotEmEtVer2.C:1288
 PlotEmEtVer2.C:1289
 PlotEmEtVer2.C:1290
 PlotEmEtVer2.C:1291
 PlotEmEtVer2.C:1292
 PlotEmEtVer2.C:1293
 PlotEmEtVer2.C:1294
 PlotEmEtVer2.C:1295
 PlotEmEtVer2.C:1296
 PlotEmEtVer2.C:1297
 PlotEmEtVer2.C:1298
 PlotEmEtVer2.C:1299
 PlotEmEtVer2.C:1300
 PlotEmEtVer2.C:1301
 PlotEmEtVer2.C:1302
 PlotEmEtVer2.C:1303
 PlotEmEtVer2.C:1304
 PlotEmEtVer2.C:1305
 PlotEmEtVer2.C:1306
 PlotEmEtVer2.C:1307
 PlotEmEtVer2.C:1308
 PlotEmEtVer2.C:1309
 PlotEmEtVer2.C:1310
 PlotEmEtVer2.C:1311
 PlotEmEtVer2.C:1312
 PlotEmEtVer2.C:1313
 PlotEmEtVer2.C:1314
 PlotEmEtVer2.C:1315
 PlotEmEtVer2.C:1316
 PlotEmEtVer2.C:1317
 PlotEmEtVer2.C:1318
 PlotEmEtVer2.C:1319
 PlotEmEtVer2.C:1320
 PlotEmEtVer2.C:1321
 PlotEmEtVer2.C:1322
 PlotEmEtVer2.C:1323
 PlotEmEtVer2.C:1324
 PlotEmEtVer2.C:1325
 PlotEmEtVer2.C:1326
 PlotEmEtVer2.C:1327
 PlotEmEtVer2.C:1328
 PlotEmEtVer2.C:1329
 PlotEmEtVer2.C:1330
 PlotEmEtVer2.C:1331
 PlotEmEtVer2.C:1332
 PlotEmEtVer2.C:1333
 PlotEmEtVer2.C:1334
 PlotEmEtVer2.C:1335
 PlotEmEtVer2.C:1336
 PlotEmEtVer2.C:1337
 PlotEmEtVer2.C:1338
 PlotEmEtVer2.C:1339
 PlotEmEtVer2.C:1340
 PlotEmEtVer2.C:1341
 PlotEmEtVer2.C:1342
 PlotEmEtVer2.C:1343
 PlotEmEtVer2.C:1344
 PlotEmEtVer2.C:1345
 PlotEmEtVer2.C:1346
 PlotEmEtVer2.C:1347
 PlotEmEtVer2.C:1348
 PlotEmEtVer2.C:1349
 PlotEmEtVer2.C:1350
 PlotEmEtVer2.C:1351
 PlotEmEtVer2.C:1352
 PlotEmEtVer2.C:1353
 PlotEmEtVer2.C:1354
 PlotEmEtVer2.C:1355
 PlotEmEtVer2.C:1356
 PlotEmEtVer2.C:1357
 PlotEmEtVer2.C:1358
 PlotEmEtVer2.C:1359
 PlotEmEtVer2.C:1360
 PlotEmEtVer2.C:1361
 PlotEmEtVer2.C:1362
 PlotEmEtVer2.C:1363
 PlotEmEtVer2.C:1364
 PlotEmEtVer2.C:1365
 PlotEmEtVer2.C:1366
 PlotEmEtVer2.C:1367
 PlotEmEtVer2.C:1368
 PlotEmEtVer2.C:1369
 PlotEmEtVer2.C:1370
 PlotEmEtVer2.C:1371
 PlotEmEtVer2.C:1372
 PlotEmEtVer2.C:1373
 PlotEmEtVer2.C:1374
 PlotEmEtVer2.C:1375
 PlotEmEtVer2.C:1376
 PlotEmEtVer2.C:1377
 PlotEmEtVer2.C:1378
 PlotEmEtVer2.C:1379
 PlotEmEtVer2.C:1380
 PlotEmEtVer2.C:1381
 PlotEmEtVer2.C:1382
 PlotEmEtVer2.C:1383
 PlotEmEtVer2.C:1384
 PlotEmEtVer2.C:1385
 PlotEmEtVer2.C:1386
 PlotEmEtVer2.C:1387
 PlotEmEtVer2.C:1388
 PlotEmEtVer2.C:1389
 PlotEmEtVer2.C:1390
 PlotEmEtVer2.C:1391
 PlotEmEtVer2.C:1392
 PlotEmEtVer2.C:1393
 PlotEmEtVer2.C:1394
 PlotEmEtVer2.C:1395
 PlotEmEtVer2.C:1396
 PlotEmEtVer2.C:1397
 PlotEmEtVer2.C:1398
 PlotEmEtVer2.C:1399
 PlotEmEtVer2.C:1400
 PlotEmEtVer2.C:1401
 PlotEmEtVer2.C:1402
 PlotEmEtVer2.C:1403
 PlotEmEtVer2.C:1404
 PlotEmEtVer2.C:1405
 PlotEmEtVer2.C:1406
 PlotEmEtVer2.C:1407
 PlotEmEtVer2.C:1408
 PlotEmEtVer2.C:1409
 PlotEmEtVer2.C:1410
 PlotEmEtVer2.C:1411
 PlotEmEtVer2.C:1412
 PlotEmEtVer2.C:1413
 PlotEmEtVer2.C:1414
 PlotEmEtVer2.C:1415
 PlotEmEtVer2.C:1416
 PlotEmEtVer2.C:1417
 PlotEmEtVer2.C:1418
 PlotEmEtVer2.C:1419
 PlotEmEtVer2.C:1420
 PlotEmEtVer2.C:1421
 PlotEmEtVer2.C:1422
 PlotEmEtVer2.C:1423
 PlotEmEtVer2.C:1424
 PlotEmEtVer2.C:1425
 PlotEmEtVer2.C:1426
 PlotEmEtVer2.C:1427
 PlotEmEtVer2.C:1428
 PlotEmEtVer2.C:1429
 PlotEmEtVer2.C:1430
 PlotEmEtVer2.C:1431
 PlotEmEtVer2.C:1432
 PlotEmEtVer2.C:1433
 PlotEmEtVer2.C:1434
 PlotEmEtVer2.C:1435
 PlotEmEtVer2.C:1436
 PlotEmEtVer2.C:1437
 PlotEmEtVer2.C:1438
 PlotEmEtVer2.C:1439
 PlotEmEtVer2.C:1440
 PlotEmEtVer2.C:1441
 PlotEmEtVer2.C:1442
 PlotEmEtVer2.C:1443
 PlotEmEtVer2.C:1444
 PlotEmEtVer2.C:1445
 PlotEmEtVer2.C:1446
 PlotEmEtVer2.C:1447
 PlotEmEtVer2.C:1448
 PlotEmEtVer2.C:1449
 PlotEmEtVer2.C:1450
 PlotEmEtVer2.C:1451
 PlotEmEtVer2.C:1452
 PlotEmEtVer2.C:1453
 PlotEmEtVer2.C:1454
 PlotEmEtVer2.C:1455
 PlotEmEtVer2.C:1456
 PlotEmEtVer2.C:1457
 PlotEmEtVer2.C:1458
 PlotEmEtVer2.C:1459
 PlotEmEtVer2.C:1460
 PlotEmEtVer2.C:1461
 PlotEmEtVer2.C:1462
 PlotEmEtVer2.C:1463
 PlotEmEtVer2.C:1464
 PlotEmEtVer2.C:1465
 PlotEmEtVer2.C:1466
 PlotEmEtVer2.C:1467
 PlotEmEtVer2.C:1468
 PlotEmEtVer2.C:1469
 PlotEmEtVer2.C:1470
 PlotEmEtVer2.C:1471
 PlotEmEtVer2.C:1472
 PlotEmEtVer2.C:1473
 PlotEmEtVer2.C:1474
 PlotEmEtVer2.C:1475
 PlotEmEtVer2.C:1476
 PlotEmEtVer2.C:1477
 PlotEmEtVer2.C:1478
 PlotEmEtVer2.C:1479
 PlotEmEtVer2.C:1480
 PlotEmEtVer2.C:1481
 PlotEmEtVer2.C:1482
 PlotEmEtVer2.C:1483
 PlotEmEtVer2.C:1484
 PlotEmEtVer2.C:1485
 PlotEmEtVer2.C:1486
 PlotEmEtVer2.C:1487
 PlotEmEtVer2.C:1488
 PlotEmEtVer2.C:1489
 PlotEmEtVer2.C:1490
 PlotEmEtVer2.C:1491
 PlotEmEtVer2.C:1492
 PlotEmEtVer2.C:1493
 PlotEmEtVer2.C:1494
 PlotEmEtVer2.C:1495
 PlotEmEtVer2.C:1496
 PlotEmEtVer2.C:1497
 PlotEmEtVer2.C:1498
 PlotEmEtVer2.C:1499
 PlotEmEtVer2.C:1500
 PlotEmEtVer2.C:1501
 PlotEmEtVer2.C:1502
 PlotEmEtVer2.C:1503
 PlotEmEtVer2.C:1504
 PlotEmEtVer2.C:1505
 PlotEmEtVer2.C:1506
 PlotEmEtVer2.C:1507
 PlotEmEtVer2.C:1508
 PlotEmEtVer2.C:1509
 PlotEmEtVer2.C:1510
 PlotEmEtVer2.C:1511
 PlotEmEtVer2.C:1512
 PlotEmEtVer2.C:1513
 PlotEmEtVer2.C:1514
 PlotEmEtVer2.C:1515
 PlotEmEtVer2.C:1516
 PlotEmEtVer2.C:1517
 PlotEmEtVer2.C:1518
 PlotEmEtVer2.C:1519
 PlotEmEtVer2.C:1520
 PlotEmEtVer2.C:1521
 PlotEmEtVer2.C:1522
 PlotEmEtVer2.C:1523
 PlotEmEtVer2.C:1524
 PlotEmEtVer2.C:1525
 PlotEmEtVer2.C:1526
 PlotEmEtVer2.C:1527
 PlotEmEtVer2.C:1528
 PlotEmEtVer2.C:1529
 PlotEmEtVer2.C:1530
 PlotEmEtVer2.C:1531
 PlotEmEtVer2.C:1532
 PlotEmEtVer2.C:1533
 PlotEmEtVer2.C:1534
 PlotEmEtVer2.C:1535
 PlotEmEtVer2.C:1536
 PlotEmEtVer2.C:1537
 PlotEmEtVer2.C:1538
 PlotEmEtVer2.C:1539
 PlotEmEtVer2.C:1540
 PlotEmEtVer2.C:1541
 PlotEmEtVer2.C:1542
 PlotEmEtVer2.C:1543
 PlotEmEtVer2.C:1544
 PlotEmEtVer2.C:1545
 PlotEmEtVer2.C:1546
 PlotEmEtVer2.C:1547
 PlotEmEtVer2.C:1548
 PlotEmEtVer2.C:1549
 PlotEmEtVer2.C:1550
 PlotEmEtVer2.C:1551
 PlotEmEtVer2.C:1552
 PlotEmEtVer2.C:1553
 PlotEmEtVer2.C:1554
 PlotEmEtVer2.C:1555
 PlotEmEtVer2.C:1556
 PlotEmEtVer2.C:1557
 PlotEmEtVer2.C:1558
 PlotEmEtVer2.C:1559
 PlotEmEtVer2.C:1560
 PlotEmEtVer2.C:1561
 PlotEmEtVer2.C:1562
 PlotEmEtVer2.C:1563
 PlotEmEtVer2.C:1564
 PlotEmEtVer2.C:1565
 PlotEmEtVer2.C:1566
 PlotEmEtVer2.C:1567
 PlotEmEtVer2.C:1568
 PlotEmEtVer2.C:1569
 PlotEmEtVer2.C:1570
 PlotEmEtVer2.C:1571
 PlotEmEtVer2.C:1572
 PlotEmEtVer2.C:1573
 PlotEmEtVer2.C:1574
 PlotEmEtVer2.C:1575
 PlotEmEtVer2.C:1576
 PlotEmEtVer2.C:1577
 PlotEmEtVer2.C:1578
 PlotEmEtVer2.C:1579
 PlotEmEtVer2.C:1580
 PlotEmEtVer2.C:1581
 PlotEmEtVer2.C:1582
 PlotEmEtVer2.C:1583
 PlotEmEtVer2.C:1584
 PlotEmEtVer2.C:1585
 PlotEmEtVer2.C:1586
 PlotEmEtVer2.C:1587
 PlotEmEtVer2.C:1588
 PlotEmEtVer2.C:1589
 PlotEmEtVer2.C:1590
 PlotEmEtVer2.C:1591
 PlotEmEtVer2.C:1592
 PlotEmEtVer2.C:1593
 PlotEmEtVer2.C:1594
 PlotEmEtVer2.C:1595
 PlotEmEtVer2.C:1596
 PlotEmEtVer2.C:1597
 PlotEmEtVer2.C:1598
 PlotEmEtVer2.C:1599
 PlotEmEtVer2.C:1600
 PlotEmEtVer2.C:1601
 PlotEmEtVer2.C:1602
 PlotEmEtVer2.C:1603
 PlotEmEtVer2.C:1604
 PlotEmEtVer2.C:1605
 PlotEmEtVer2.C:1606
 PlotEmEtVer2.C:1607
 PlotEmEtVer2.C:1608
 PlotEmEtVer2.C:1609
 PlotEmEtVer2.C:1610
 PlotEmEtVer2.C:1611
 PlotEmEtVer2.C:1612
 PlotEmEtVer2.C:1613
 PlotEmEtVer2.C:1614
 PlotEmEtVer2.C:1615
 PlotEmEtVer2.C:1616
 PlotEmEtVer2.C:1617
 PlotEmEtVer2.C:1618
 PlotEmEtVer2.C:1619
 PlotEmEtVer2.C:1620
 PlotEmEtVer2.C:1621
 PlotEmEtVer2.C:1622
 PlotEmEtVer2.C:1623
 PlotEmEtVer2.C:1624
 PlotEmEtVer2.C:1625
 PlotEmEtVer2.C:1626
 PlotEmEtVer2.C:1627
 PlotEmEtVer2.C:1628
 PlotEmEtVer2.C:1629
 PlotEmEtVer2.C:1630
 PlotEmEtVer2.C:1631
 PlotEmEtVer2.C:1632
 PlotEmEtVer2.C:1633
 PlotEmEtVer2.C:1634
 PlotEmEtVer2.C:1635
 PlotEmEtVer2.C:1636
 PlotEmEtVer2.C:1637
 PlotEmEtVer2.C:1638
 PlotEmEtVer2.C:1639
 PlotEmEtVer2.C:1640
 PlotEmEtVer2.C:1641
 PlotEmEtVer2.C:1642
 PlotEmEtVer2.C:1643
 PlotEmEtVer2.C:1644
 PlotEmEtVer2.C:1645
 PlotEmEtVer2.C:1646
 PlotEmEtVer2.C:1647
 PlotEmEtVer2.C:1648
 PlotEmEtVer2.C:1649
 PlotEmEtVer2.C:1650
 PlotEmEtVer2.C:1651
 PlotEmEtVer2.C:1652
 PlotEmEtVer2.C:1653
 PlotEmEtVer2.C:1654
 PlotEmEtVer2.C:1655
 PlotEmEtVer2.C:1656
 PlotEmEtVer2.C:1657
 PlotEmEtVer2.C:1658
 PlotEmEtVer2.C:1659
 PlotEmEtVer2.C:1660
 PlotEmEtVer2.C:1661
 PlotEmEtVer2.C:1662
 PlotEmEtVer2.C:1663
 PlotEmEtVer2.C:1664
 PlotEmEtVer2.C:1665
 PlotEmEtVer2.C:1666
 PlotEmEtVer2.C:1667
 PlotEmEtVer2.C:1668
 PlotEmEtVer2.C:1669
 PlotEmEtVer2.C:1670
 PlotEmEtVer2.C:1671
 PlotEmEtVer2.C:1672
 PlotEmEtVer2.C:1673
 PlotEmEtVer2.C:1674
 PlotEmEtVer2.C:1675
 PlotEmEtVer2.C:1676
 PlotEmEtVer2.C:1677
 PlotEmEtVer2.C:1678
 PlotEmEtVer2.C:1679
 PlotEmEtVer2.C:1680
 PlotEmEtVer2.C:1681
 PlotEmEtVer2.C:1682
 PlotEmEtVer2.C:1683
 PlotEmEtVer2.C:1684
 PlotEmEtVer2.C:1685
 PlotEmEtVer2.C:1686
 PlotEmEtVer2.C:1687
 PlotEmEtVer2.C:1688
 PlotEmEtVer2.C:1689
 PlotEmEtVer2.C:1690
 PlotEmEtVer2.C:1691
 PlotEmEtVer2.C:1692
 PlotEmEtVer2.C:1693
 PlotEmEtVer2.C:1694
 PlotEmEtVer2.C:1695
 PlotEmEtVer2.C:1696
 PlotEmEtVer2.C:1697
 PlotEmEtVer2.C:1698
 PlotEmEtVer2.C:1699
 PlotEmEtVer2.C:1700
 PlotEmEtVer2.C:1701
 PlotEmEtVer2.C:1702
 PlotEmEtVer2.C:1703
 PlotEmEtVer2.C:1704
 PlotEmEtVer2.C:1705
 PlotEmEtVer2.C:1706
 PlotEmEtVer2.C:1707
 PlotEmEtVer2.C:1708
 PlotEmEtVer2.C:1709
 PlotEmEtVer2.C:1710
 PlotEmEtVer2.C:1711
 PlotEmEtVer2.C:1712
 PlotEmEtVer2.C:1713
 PlotEmEtVer2.C:1714
 PlotEmEtVer2.C:1715
 PlotEmEtVer2.C:1716
 PlotEmEtVer2.C:1717
 PlotEmEtVer2.C:1718
 PlotEmEtVer2.C:1719
 PlotEmEtVer2.C:1720
 PlotEmEtVer2.C:1721
 PlotEmEtVer2.C:1722
 PlotEmEtVer2.C:1723
 PlotEmEtVer2.C:1724
 PlotEmEtVer2.C:1725
 PlotEmEtVer2.C:1726
 PlotEmEtVer2.C:1727
 PlotEmEtVer2.C:1728
 PlotEmEtVer2.C:1729
 PlotEmEtVer2.C:1730
 PlotEmEtVer2.C:1731
 PlotEmEtVer2.C:1732
 PlotEmEtVer2.C:1733
 PlotEmEtVer2.C:1734
 PlotEmEtVer2.C:1735
 PlotEmEtVer2.C:1736
 PlotEmEtVer2.C:1737
 PlotEmEtVer2.C:1738
 PlotEmEtVer2.C:1739
 PlotEmEtVer2.C:1740
 PlotEmEtVer2.C:1741
 PlotEmEtVer2.C:1742
 PlotEmEtVer2.C:1743
 PlotEmEtVer2.C:1744
 PlotEmEtVer2.C:1745
 PlotEmEtVer2.C:1746
 PlotEmEtVer2.C:1747
 PlotEmEtVer2.C:1748
 PlotEmEtVer2.C:1749
 PlotEmEtVer2.C:1750
 PlotEmEtVer2.C:1751
 PlotEmEtVer2.C:1752
 PlotEmEtVer2.C:1753
 PlotEmEtVer2.C:1754
 PlotEmEtVer2.C:1755
 PlotEmEtVer2.C:1756
 PlotEmEtVer2.C:1757
 PlotEmEtVer2.C:1758
 PlotEmEtVer2.C:1759
 PlotEmEtVer2.C:1760
 PlotEmEtVer2.C:1761
 PlotEmEtVer2.C:1762
 PlotEmEtVer2.C:1763
 PlotEmEtVer2.C:1764
 PlotEmEtVer2.C:1765
 PlotEmEtVer2.C:1766
 PlotEmEtVer2.C:1767
 PlotEmEtVer2.C:1768
 PlotEmEtVer2.C:1769
 PlotEmEtVer2.C:1770
 PlotEmEtVer2.C:1771
 PlotEmEtVer2.C:1772
 PlotEmEtVer2.C:1773
 PlotEmEtVer2.C:1774
 PlotEmEtVer2.C:1775
 PlotEmEtVer2.C:1776
 PlotEmEtVer2.C:1777
 PlotEmEtVer2.C:1778
 PlotEmEtVer2.C:1779
 PlotEmEtVer2.C:1780
 PlotEmEtVer2.C:1781
 PlotEmEtVer2.C:1782
 PlotEmEtVer2.C:1783
 PlotEmEtVer2.C:1784
 PlotEmEtVer2.C:1785
 PlotEmEtVer2.C:1786
 PlotEmEtVer2.C:1787
 PlotEmEtVer2.C:1788
 PlotEmEtVer2.C:1789
 PlotEmEtVer2.C:1790
 PlotEmEtVer2.C:1791
 PlotEmEtVer2.C:1792
 PlotEmEtVer2.C:1793
 PlotEmEtVer2.C:1794
 PlotEmEtVer2.C:1795
 PlotEmEtVer2.C:1796
 PlotEmEtVer2.C:1797
 PlotEmEtVer2.C:1798
 PlotEmEtVer2.C:1799
 PlotEmEtVer2.C:1800
 PlotEmEtVer2.C:1801
 PlotEmEtVer2.C:1802
 PlotEmEtVer2.C:1803
 PlotEmEtVer2.C:1804
 PlotEmEtVer2.C:1805
 PlotEmEtVer2.C:1806
 PlotEmEtVer2.C:1807
 PlotEmEtVer2.C:1808
 PlotEmEtVer2.C:1809
 PlotEmEtVer2.C:1810
 PlotEmEtVer2.C:1811
 PlotEmEtVer2.C:1812
 PlotEmEtVer2.C:1813
 PlotEmEtVer2.C:1814
 PlotEmEtVer2.C:1815
 PlotEmEtVer2.C:1816
 PlotEmEtVer2.C:1817
 PlotEmEtVer2.C:1818
 PlotEmEtVer2.C:1819
 PlotEmEtVer2.C:1820
 PlotEmEtVer2.C:1821
 PlotEmEtVer2.C:1822
 PlotEmEtVer2.C:1823
 PlotEmEtVer2.C:1824
 PlotEmEtVer2.C:1825
 PlotEmEtVer2.C:1826
 PlotEmEtVer2.C:1827
 PlotEmEtVer2.C:1828
 PlotEmEtVer2.C:1829
 PlotEmEtVer2.C:1830
 PlotEmEtVer2.C:1831
 PlotEmEtVer2.C:1832
 PlotEmEtVer2.C:1833
 PlotEmEtVer2.C:1834
 PlotEmEtVer2.C:1835
 PlotEmEtVer2.C:1836
 PlotEmEtVer2.C:1837
 PlotEmEtVer2.C:1838
 PlotEmEtVer2.C:1839
 PlotEmEtVer2.C:1840
 PlotEmEtVer2.C:1841
 PlotEmEtVer2.C:1842
 PlotEmEtVer2.C:1843
 PlotEmEtVer2.C:1844
 PlotEmEtVer2.C:1845
 PlotEmEtVer2.C:1846
 PlotEmEtVer2.C:1847
 PlotEmEtVer2.C:1848
 PlotEmEtVer2.C:1849
 PlotEmEtVer2.C:1850
 PlotEmEtVer2.C:1851
 PlotEmEtVer2.C:1852
 PlotEmEtVer2.C:1853
 PlotEmEtVer2.C:1854
 PlotEmEtVer2.C:1855
 PlotEmEtVer2.C:1856
 PlotEmEtVer2.C:1857
 PlotEmEtVer2.C:1858
 PlotEmEtVer2.C:1859
 PlotEmEtVer2.C:1860
 PlotEmEtVer2.C:1861
 PlotEmEtVer2.C:1862
 PlotEmEtVer2.C:1863
 PlotEmEtVer2.C:1864
 PlotEmEtVer2.C:1865
 PlotEmEtVer2.C:1866
 PlotEmEtVer2.C:1867
 PlotEmEtVer2.C:1868
 PlotEmEtVer2.C:1869
 PlotEmEtVer2.C:1870
 PlotEmEtVer2.C:1871
 PlotEmEtVer2.C:1872
 PlotEmEtVer2.C:1873
 PlotEmEtVer2.C:1874
 PlotEmEtVer2.C:1875
 PlotEmEtVer2.C:1876
 PlotEmEtVer2.C:1877
 PlotEmEtVer2.C:1878
 PlotEmEtVer2.C:1879
 PlotEmEtVer2.C:1880
 PlotEmEtVer2.C:1881
 PlotEmEtVer2.C:1882
 PlotEmEtVer2.C:1883
 PlotEmEtVer2.C:1884
 PlotEmEtVer2.C:1885
 PlotEmEtVer2.C:1886
 PlotEmEtVer2.C:1887
 PlotEmEtVer2.C:1888
 PlotEmEtVer2.C:1889
 PlotEmEtVer2.C:1890
 PlotEmEtVer2.C:1891
 PlotEmEtVer2.C:1892
 PlotEmEtVer2.C:1893
 PlotEmEtVer2.C:1894
 PlotEmEtVer2.C:1895
 PlotEmEtVer2.C:1896
 PlotEmEtVer2.C:1897
 PlotEmEtVer2.C:1898
 PlotEmEtVer2.C:1899
 PlotEmEtVer2.C:1900
 PlotEmEtVer2.C:1901
 PlotEmEtVer2.C:1902
 PlotEmEtVer2.C:1903
 PlotEmEtVer2.C:1904
 PlotEmEtVer2.C:1905
 PlotEmEtVer2.C:1906
 PlotEmEtVer2.C:1907
 PlotEmEtVer2.C:1908
 PlotEmEtVer2.C:1909
 PlotEmEtVer2.C:1910
 PlotEmEtVer2.C:1911
 PlotEmEtVer2.C:1912
 PlotEmEtVer2.C:1913
 PlotEmEtVer2.C:1914
 PlotEmEtVer2.C:1915
 PlotEmEtVer2.C:1916
 PlotEmEtVer2.C:1917
 PlotEmEtVer2.C:1918
 PlotEmEtVer2.C:1919
 PlotEmEtVer2.C:1920
 PlotEmEtVer2.C:1921
 PlotEmEtVer2.C:1922
 PlotEmEtVer2.C:1923
 PlotEmEtVer2.C:1924
 PlotEmEtVer2.C:1925
 PlotEmEtVer2.C:1926
 PlotEmEtVer2.C:1927
 PlotEmEtVer2.C:1928
 PlotEmEtVer2.C:1929
 PlotEmEtVer2.C:1930
 PlotEmEtVer2.C:1931
 PlotEmEtVer2.C:1932
 PlotEmEtVer2.C:1933
 PlotEmEtVer2.C:1934
 PlotEmEtVer2.C:1935
 PlotEmEtVer2.C:1936
 PlotEmEtVer2.C:1937
 PlotEmEtVer2.C:1938
 PlotEmEtVer2.C:1939
 PlotEmEtVer2.C:1940
 PlotEmEtVer2.C:1941
 PlotEmEtVer2.C:1942
 PlotEmEtVer2.C:1943
 PlotEmEtVer2.C:1944
 PlotEmEtVer2.C:1945
 PlotEmEtVer2.C:1946
 PlotEmEtVer2.C:1947
 PlotEmEtVer2.C:1948
 PlotEmEtVer2.C:1949
 PlotEmEtVer2.C:1950
 PlotEmEtVer2.C:1951
 PlotEmEtVer2.C:1952
 PlotEmEtVer2.C:1953
 PlotEmEtVer2.C:1954
 PlotEmEtVer2.C:1955
 PlotEmEtVer2.C:1956
 PlotEmEtVer2.C:1957
 PlotEmEtVer2.C:1958
 PlotEmEtVer2.C:1959
 PlotEmEtVer2.C:1960
 PlotEmEtVer2.C:1961
 PlotEmEtVer2.C:1962
 PlotEmEtVer2.C:1963
 PlotEmEtVer2.C:1964
 PlotEmEtVer2.C:1965
 PlotEmEtVer2.C:1966
 PlotEmEtVer2.C:1967
 PlotEmEtVer2.C:1968
 PlotEmEtVer2.C:1969
 PlotEmEtVer2.C:1970
 PlotEmEtVer2.C:1971
 PlotEmEtVer2.C:1972
 PlotEmEtVer2.C:1973
 PlotEmEtVer2.C:1974
 PlotEmEtVer2.C:1975
 PlotEmEtVer2.C:1976
 PlotEmEtVer2.C:1977
 PlotEmEtVer2.C:1978
 PlotEmEtVer2.C:1979
 PlotEmEtVer2.C:1980
 PlotEmEtVer2.C:1981
 PlotEmEtVer2.C:1982
 PlotEmEtVer2.C:1983
 PlotEmEtVer2.C:1984
 PlotEmEtVer2.C:1985
 PlotEmEtVer2.C:1986
 PlotEmEtVer2.C:1987
 PlotEmEtVer2.C:1988
 PlotEmEtVer2.C:1989
 PlotEmEtVer2.C:1990
 PlotEmEtVer2.C:1991
 PlotEmEtVer2.C:1992
 PlotEmEtVer2.C:1993
 PlotEmEtVer2.C:1994
 PlotEmEtVer2.C:1995
 PlotEmEtVer2.C:1996
 PlotEmEtVer2.C:1997
 PlotEmEtVer2.C:1998
 PlotEmEtVer2.C:1999
 PlotEmEtVer2.C:2000
 PlotEmEtVer2.C:2001
 PlotEmEtVer2.C:2002
 PlotEmEtVer2.C:2003
 PlotEmEtVer2.C:2004
 PlotEmEtVer2.C:2005
 PlotEmEtVer2.C:2006
 PlotEmEtVer2.C:2007
 PlotEmEtVer2.C:2008
 PlotEmEtVer2.C:2009
 PlotEmEtVer2.C:2010
 PlotEmEtVer2.C:2011
 PlotEmEtVer2.C:2012
 PlotEmEtVer2.C:2013
 PlotEmEtVer2.C:2014
 PlotEmEtVer2.C:2015
 PlotEmEtVer2.C:2016
 PlotEmEtVer2.C:2017
 PlotEmEtVer2.C:2018
 PlotEmEtVer2.C:2019
 PlotEmEtVer2.C:2020
 PlotEmEtVer2.C:2021
 PlotEmEtVer2.C:2022
 PlotEmEtVer2.C:2023
 PlotEmEtVer2.C:2024
 PlotEmEtVer2.C:2025
 PlotEmEtVer2.C:2026
 PlotEmEtVer2.C:2027
 PlotEmEtVer2.C:2028
 PlotEmEtVer2.C:2029
 PlotEmEtVer2.C:2030
 PlotEmEtVer2.C:2031
 PlotEmEtVer2.C:2032
 PlotEmEtVer2.C:2033
 PlotEmEtVer2.C:2034
 PlotEmEtVer2.C:2035
 PlotEmEtVer2.C:2036
 PlotEmEtVer2.C:2037
 PlotEmEtVer2.C:2038
 PlotEmEtVer2.C:2039
 PlotEmEtVer2.C:2040
 PlotEmEtVer2.C:2041
 PlotEmEtVer2.C:2042
 PlotEmEtVer2.C:2043
 PlotEmEtVer2.C:2044
 PlotEmEtVer2.C:2045
 PlotEmEtVer2.C:2046
 PlotEmEtVer2.C:2047
 PlotEmEtVer2.C:2048
 PlotEmEtVer2.C:2049
 PlotEmEtVer2.C:2050
 PlotEmEtVer2.C:2051
 PlotEmEtVer2.C:2052
 PlotEmEtVer2.C:2053
 PlotEmEtVer2.C:2054
 PlotEmEtVer2.C:2055
 PlotEmEtVer2.C:2056
 PlotEmEtVer2.C:2057
 PlotEmEtVer2.C:2058
 PlotEmEtVer2.C:2059
 PlotEmEtVer2.C:2060
 PlotEmEtVer2.C:2061
 PlotEmEtVer2.C:2062
 PlotEmEtVer2.C:2063
 PlotEmEtVer2.C:2064
 PlotEmEtVer2.C:2065
 PlotEmEtVer2.C:2066
 PlotEmEtVer2.C:2067
 PlotEmEtVer2.C:2068
 PlotEmEtVer2.C:2069
 PlotEmEtVer2.C:2070
 PlotEmEtVer2.C:2071
 PlotEmEtVer2.C:2072
 PlotEmEtVer2.C:2073
 PlotEmEtVer2.C:2074
 PlotEmEtVer2.C:2075
 PlotEmEtVer2.C:2076
 PlotEmEtVer2.C:2077
 PlotEmEtVer2.C:2078
 PlotEmEtVer2.C:2079
 PlotEmEtVer2.C:2080
 PlotEmEtVer2.C:2081
 PlotEmEtVer2.C:2082
 PlotEmEtVer2.C:2083
 PlotEmEtVer2.C:2084
 PlotEmEtVer2.C:2085
 PlotEmEtVer2.C:2086
 PlotEmEtVer2.C:2087
 PlotEmEtVer2.C:2088
 PlotEmEtVer2.C:2089
 PlotEmEtVer2.C:2090
 PlotEmEtVer2.C:2091
 PlotEmEtVer2.C:2092
 PlotEmEtVer2.C:2093
 PlotEmEtVer2.C:2094
 PlotEmEtVer2.C:2095
 PlotEmEtVer2.C:2096
 PlotEmEtVer2.C:2097
 PlotEmEtVer2.C:2098
 PlotEmEtVer2.C:2099
 PlotEmEtVer2.C:2100
 PlotEmEtVer2.C:2101
 PlotEmEtVer2.C:2102
 PlotEmEtVer2.C:2103
 PlotEmEtVer2.C:2104
 PlotEmEtVer2.C:2105
 PlotEmEtVer2.C:2106
 PlotEmEtVer2.C:2107
 PlotEmEtVer2.C:2108
 PlotEmEtVer2.C:2109
 PlotEmEtVer2.C:2110
 PlotEmEtVer2.C:2111
 PlotEmEtVer2.C:2112
 PlotEmEtVer2.C:2113
 PlotEmEtVer2.C:2114
 PlotEmEtVer2.C:2115
 PlotEmEtVer2.C:2116
 PlotEmEtVer2.C:2117
 PlotEmEtVer2.C:2118
 PlotEmEtVer2.C:2119
 PlotEmEtVer2.C:2120
 PlotEmEtVer2.C:2121
 PlotEmEtVer2.C:2122
 PlotEmEtVer2.C:2123
 PlotEmEtVer2.C:2124
 PlotEmEtVer2.C:2125
 PlotEmEtVer2.C:2126
 PlotEmEtVer2.C:2127
 PlotEmEtVer2.C:2128
 PlotEmEtVer2.C:2129
 PlotEmEtVer2.C:2130
 PlotEmEtVer2.C:2131
 PlotEmEtVer2.C:2132
 PlotEmEtVer2.C:2133
 PlotEmEtVer2.C:2134
 PlotEmEtVer2.C:2135
 PlotEmEtVer2.C:2136
 PlotEmEtVer2.C:2137
 PlotEmEtVer2.C:2138
 PlotEmEtVer2.C:2139
 PlotEmEtVer2.C:2140
 PlotEmEtVer2.C:2141
 PlotEmEtVer2.C:2142
 PlotEmEtVer2.C:2143
 PlotEmEtVer2.C:2144
 PlotEmEtVer2.C:2145
 PlotEmEtVer2.C:2146
 PlotEmEtVer2.C:2147
 PlotEmEtVer2.C:2148
 PlotEmEtVer2.C:2149
 PlotEmEtVer2.C:2150
 PlotEmEtVer2.C:2151
 PlotEmEtVer2.C:2152
 PlotEmEtVer2.C:2153
 PlotEmEtVer2.C:2154
 PlotEmEtVer2.C:2155
 PlotEmEtVer2.C:2156
 PlotEmEtVer2.C:2157
 PlotEmEtVer2.C:2158
 PlotEmEtVer2.C:2159
 PlotEmEtVer2.C:2160
 PlotEmEtVer2.C:2161
 PlotEmEtVer2.C:2162
 PlotEmEtVer2.C:2163
 PlotEmEtVer2.C:2164
 PlotEmEtVer2.C:2165
 PlotEmEtVer2.C:2166
 PlotEmEtVer2.C:2167
 PlotEmEtVer2.C:2168
 PlotEmEtVer2.C:2169
 PlotEmEtVer2.C:2170
 PlotEmEtVer2.C:2171
 PlotEmEtVer2.C:2172
 PlotEmEtVer2.C:2173
 PlotEmEtVer2.C:2174
 PlotEmEtVer2.C:2175
 PlotEmEtVer2.C:2176
 PlotEmEtVer2.C:2177
 PlotEmEtVer2.C:2178
 PlotEmEtVer2.C:2179
 PlotEmEtVer2.C:2180
 PlotEmEtVer2.C:2181
 PlotEmEtVer2.C:2182
 PlotEmEtVer2.C:2183
 PlotEmEtVer2.C:2184
 PlotEmEtVer2.C:2185
 PlotEmEtVer2.C:2186
 PlotEmEtVer2.C:2187
 PlotEmEtVer2.C:2188
 PlotEmEtVer2.C:2189
 PlotEmEtVer2.C:2190
 PlotEmEtVer2.C:2191
 PlotEmEtVer2.C:2192
 PlotEmEtVer2.C:2193
 PlotEmEtVer2.C:2194
 PlotEmEtVer2.C:2195
 PlotEmEtVer2.C:2196
 PlotEmEtVer2.C:2197
 PlotEmEtVer2.C:2198
 PlotEmEtVer2.C:2199
 PlotEmEtVer2.C:2200
 PlotEmEtVer2.C:2201
 PlotEmEtVer2.C:2202
 PlotEmEtVer2.C:2203
 PlotEmEtVer2.C:2204
 PlotEmEtVer2.C:2205
 PlotEmEtVer2.C:2206
 PlotEmEtVer2.C:2207
 PlotEmEtVer2.C:2208
 PlotEmEtVer2.C:2209
 PlotEmEtVer2.C:2210
 PlotEmEtVer2.C:2211
 PlotEmEtVer2.C:2212
 PlotEmEtVer2.C:2213
 PlotEmEtVer2.C:2214
 PlotEmEtVer2.C:2215
 PlotEmEtVer2.C:2216
 PlotEmEtVer2.C:2217
 PlotEmEtVer2.C:2218
 PlotEmEtVer2.C:2219
 PlotEmEtVer2.C:2220
 PlotEmEtVer2.C:2221
 PlotEmEtVer2.C:2222
 PlotEmEtVer2.C:2223
 PlotEmEtVer2.C:2224
 PlotEmEtVer2.C:2225
 PlotEmEtVer2.C:2226
 PlotEmEtVer2.C:2227
 PlotEmEtVer2.C:2228
 PlotEmEtVer2.C:2229
 PlotEmEtVer2.C:2230
 PlotEmEtVer2.C:2231
 PlotEmEtVer2.C:2232
 PlotEmEtVer2.C:2233
 PlotEmEtVer2.C:2234
 PlotEmEtVer2.C:2235
 PlotEmEtVer2.C:2236
 PlotEmEtVer2.C:2237
 PlotEmEtVer2.C:2238
 PlotEmEtVer2.C:2239
 PlotEmEtVer2.C:2240
 PlotEmEtVer2.C:2241
 PlotEmEtVer2.C:2242
 PlotEmEtVer2.C:2243
 PlotEmEtVer2.C:2244
 PlotEmEtVer2.C:2245
 PlotEmEtVer2.C:2246
 PlotEmEtVer2.C:2247
 PlotEmEtVer2.C:2248
 PlotEmEtVer2.C:2249
 PlotEmEtVer2.C:2250
 PlotEmEtVer2.C:2251
 PlotEmEtVer2.C:2252
 PlotEmEtVer2.C:2253
 PlotEmEtVer2.C:2254
 PlotEmEtVer2.C:2255
 PlotEmEtVer2.C:2256
 PlotEmEtVer2.C:2257
 PlotEmEtVer2.C:2258
 PlotEmEtVer2.C:2259
 PlotEmEtVer2.C:2260
 PlotEmEtVer2.C:2261
 PlotEmEtVer2.C:2262
 PlotEmEtVer2.C:2263
 PlotEmEtVer2.C:2264
 PlotEmEtVer2.C:2265
 PlotEmEtVer2.C:2266
 PlotEmEtVer2.C:2267
 PlotEmEtVer2.C:2268
 PlotEmEtVer2.C:2269
 PlotEmEtVer2.C:2270
 PlotEmEtVer2.C:2271
 PlotEmEtVer2.C:2272
 PlotEmEtVer2.C:2273
 PlotEmEtVer2.C:2274
 PlotEmEtVer2.C:2275
 PlotEmEtVer2.C:2276
 PlotEmEtVer2.C:2277
 PlotEmEtVer2.C:2278
 PlotEmEtVer2.C:2279
 PlotEmEtVer2.C:2280
 PlotEmEtVer2.C:2281
 PlotEmEtVer2.C:2282
 PlotEmEtVer2.C:2283
 PlotEmEtVer2.C:2284
 PlotEmEtVer2.C:2285
 PlotEmEtVer2.C:2286
 PlotEmEtVer2.C:2287
 PlotEmEtVer2.C:2288
 PlotEmEtVer2.C:2289
 PlotEmEtVer2.C:2290
 PlotEmEtVer2.C:2291
 PlotEmEtVer2.C:2292
 PlotEmEtVer2.C:2293
 PlotEmEtVer2.C:2294
 PlotEmEtVer2.C:2295
 PlotEmEtVer2.C:2296
 PlotEmEtVer2.C:2297
 PlotEmEtVer2.C:2298
 PlotEmEtVer2.C:2299
 PlotEmEtVer2.C:2300
 PlotEmEtVer2.C:2301
 PlotEmEtVer2.C:2302
 PlotEmEtVer2.C:2303
 PlotEmEtVer2.C:2304
 PlotEmEtVer2.C:2305
 PlotEmEtVer2.C:2306
 PlotEmEtVer2.C:2307
 PlotEmEtVer2.C:2308
 PlotEmEtVer2.C:2309
 PlotEmEtVer2.C:2310
 PlotEmEtVer2.C:2311
 PlotEmEtVer2.C:2312
 PlotEmEtVer2.C:2313
 PlotEmEtVer2.C:2314
 PlotEmEtVer2.C:2315
 PlotEmEtVer2.C:2316
 PlotEmEtVer2.C:2317
 PlotEmEtVer2.C:2318
 PlotEmEtVer2.C:2319
 PlotEmEtVer2.C:2320
 PlotEmEtVer2.C:2321
 PlotEmEtVer2.C:2322
 PlotEmEtVer2.C:2323
 PlotEmEtVer2.C:2324
 PlotEmEtVer2.C:2325
 PlotEmEtVer2.C:2326
 PlotEmEtVer2.C:2327
 PlotEmEtVer2.C:2328
 PlotEmEtVer2.C:2329
 PlotEmEtVer2.C:2330
 PlotEmEtVer2.C:2331
 PlotEmEtVer2.C:2332
 PlotEmEtVer2.C:2333
 PlotEmEtVer2.C:2334
 PlotEmEtVer2.C:2335
 PlotEmEtVer2.C:2336
 PlotEmEtVer2.C:2337
 PlotEmEtVer2.C:2338
 PlotEmEtVer2.C:2339
 PlotEmEtVer2.C:2340
 PlotEmEtVer2.C:2341
 PlotEmEtVer2.C:2342
 PlotEmEtVer2.C:2343
 PlotEmEtVer2.C:2344
 PlotEmEtVer2.C:2345
 PlotEmEtVer2.C:2346
 PlotEmEtVer2.C:2347
 PlotEmEtVer2.C:2348
 PlotEmEtVer2.C:2349
 PlotEmEtVer2.C:2350
 PlotEmEtVer2.C:2351
 PlotEmEtVer2.C:2352
 PlotEmEtVer2.C:2353
 PlotEmEtVer2.C:2354
 PlotEmEtVer2.C:2355
 PlotEmEtVer2.C:2356
 PlotEmEtVer2.C:2357
 PlotEmEtVer2.C:2358
 PlotEmEtVer2.C:2359
 PlotEmEtVer2.C:2360
 PlotEmEtVer2.C:2361
 PlotEmEtVer2.C:2362
 PlotEmEtVer2.C:2363
 PlotEmEtVer2.C:2364
 PlotEmEtVer2.C:2365
 PlotEmEtVer2.C:2366
 PlotEmEtVer2.C:2367
 PlotEmEtVer2.C:2368
 PlotEmEtVer2.C:2369
 PlotEmEtVer2.C:2370
 PlotEmEtVer2.C:2371
 PlotEmEtVer2.C:2372
 PlotEmEtVer2.C:2373
 PlotEmEtVer2.C:2374
 PlotEmEtVer2.C:2375
 PlotEmEtVer2.C:2376
 PlotEmEtVer2.C:2377
 PlotEmEtVer2.C:2378
 PlotEmEtVer2.C:2379
 PlotEmEtVer2.C:2380
 PlotEmEtVer2.C:2381
 PlotEmEtVer2.C:2382
 PlotEmEtVer2.C:2383
 PlotEmEtVer2.C:2384
 PlotEmEtVer2.C:2385
 PlotEmEtVer2.C:2386
 PlotEmEtVer2.C:2387
 PlotEmEtVer2.C:2388
 PlotEmEtVer2.C:2389
 PlotEmEtVer2.C:2390
 PlotEmEtVer2.C:2391
 PlotEmEtVer2.C:2392
 PlotEmEtVer2.C:2393
 PlotEmEtVer2.C:2394
 PlotEmEtVer2.C:2395
 PlotEmEtVer2.C:2396
 PlotEmEtVer2.C:2397
 PlotEmEtVer2.C:2398
 PlotEmEtVer2.C:2399
 PlotEmEtVer2.C:2400
 PlotEmEtVer2.C:2401
 PlotEmEtVer2.C:2402
 PlotEmEtVer2.C:2403
 PlotEmEtVer2.C:2404
 PlotEmEtVer2.C:2405
 PlotEmEtVer2.C:2406
 PlotEmEtVer2.C:2407
 PlotEmEtVer2.C:2408
 PlotEmEtVer2.C:2409
 PlotEmEtVer2.C:2410
 PlotEmEtVer2.C:2411
 PlotEmEtVer2.C:2412
 PlotEmEtVer2.C:2413
 PlotEmEtVer2.C:2414
 PlotEmEtVer2.C:2415
 PlotEmEtVer2.C:2416
 PlotEmEtVer2.C:2417
 PlotEmEtVer2.C:2418
 PlotEmEtVer2.C:2419
 PlotEmEtVer2.C:2420
 PlotEmEtVer2.C:2421
 PlotEmEtVer2.C:2422
 PlotEmEtVer2.C:2423
 PlotEmEtVer2.C:2424
 PlotEmEtVer2.C:2425
 PlotEmEtVer2.C:2426
 PlotEmEtVer2.C:2427
 PlotEmEtVer2.C:2428
 PlotEmEtVer2.C:2429
 PlotEmEtVer2.C:2430
 PlotEmEtVer2.C:2431
 PlotEmEtVer2.C:2432
 PlotEmEtVer2.C:2433
 PlotEmEtVer2.C:2434
 PlotEmEtVer2.C:2435
 PlotEmEtVer2.C:2436
 PlotEmEtVer2.C:2437
 PlotEmEtVer2.C:2438
 PlotEmEtVer2.C:2439
 PlotEmEtVer2.C:2440
 PlotEmEtVer2.C:2441
 PlotEmEtVer2.C:2442
 PlotEmEtVer2.C:2443
 PlotEmEtVer2.C:2444
 PlotEmEtVer2.C:2445
 PlotEmEtVer2.C:2446
 PlotEmEtVer2.C:2447
 PlotEmEtVer2.C:2448
 PlotEmEtVer2.C:2449
 PlotEmEtVer2.C:2450
 PlotEmEtVer2.C:2451
 PlotEmEtVer2.C:2452
 PlotEmEtVer2.C:2453
 PlotEmEtVer2.C:2454
 PlotEmEtVer2.C:2455
 PlotEmEtVer2.C:2456
 PlotEmEtVer2.C:2457
 PlotEmEtVer2.C:2458
 PlotEmEtVer2.C:2459
 PlotEmEtVer2.C:2460
 PlotEmEtVer2.C:2461
 PlotEmEtVer2.C:2462
 PlotEmEtVer2.C:2463
 PlotEmEtVer2.C:2464
 PlotEmEtVer2.C:2465
 PlotEmEtVer2.C:2466
 PlotEmEtVer2.C:2467
 PlotEmEtVer2.C:2468
 PlotEmEtVer2.C:2469
 PlotEmEtVer2.C:2470
 PlotEmEtVer2.C:2471
 PlotEmEtVer2.C:2472
 PlotEmEtVer2.C:2473
 PlotEmEtVer2.C:2474
 PlotEmEtVer2.C:2475
 PlotEmEtVer2.C:2476
 PlotEmEtVer2.C:2477
 PlotEmEtVer2.C:2478
 PlotEmEtVer2.C:2479
 PlotEmEtVer2.C:2480
 PlotEmEtVer2.C:2481
 PlotEmEtVer2.C:2482
 PlotEmEtVer2.C:2483
 PlotEmEtVer2.C:2484
 PlotEmEtVer2.C:2485
 PlotEmEtVer2.C:2486
 PlotEmEtVer2.C:2487
 PlotEmEtVer2.C:2488
 PlotEmEtVer2.C:2489
 PlotEmEtVer2.C:2490
 PlotEmEtVer2.C:2491
 PlotEmEtVer2.C:2492
 PlotEmEtVer2.C:2493
 PlotEmEtVer2.C:2494
 PlotEmEtVer2.C:2495
 PlotEmEtVer2.C:2496
 PlotEmEtVer2.C:2497
 PlotEmEtVer2.C:2498
 PlotEmEtVer2.C:2499
 PlotEmEtVer2.C:2500
 PlotEmEtVer2.C:2501
 PlotEmEtVer2.C:2502
 PlotEmEtVer2.C:2503
 PlotEmEtVer2.C:2504
 PlotEmEtVer2.C:2505
 PlotEmEtVer2.C:2506
 PlotEmEtVer2.C:2507
 PlotEmEtVer2.C:2508
 PlotEmEtVer2.C:2509
 PlotEmEtVer2.C:2510
 PlotEmEtVer2.C:2511
 PlotEmEtVer2.C:2512
 PlotEmEtVer2.C:2513
 PlotEmEtVer2.C:2514
 PlotEmEtVer2.C:2515
 PlotEmEtVer2.C:2516
 PlotEmEtVer2.C:2517
 PlotEmEtVer2.C:2518
 PlotEmEtVer2.C:2519
 PlotEmEtVer2.C:2520
 PlotEmEtVer2.C:2521
 PlotEmEtVer2.C:2522
 PlotEmEtVer2.C:2523
 PlotEmEtVer2.C:2524
 PlotEmEtVer2.C:2525
 PlotEmEtVer2.C:2526
 PlotEmEtVer2.C:2527
 PlotEmEtVer2.C:2528
 PlotEmEtVer2.C:2529
 PlotEmEtVer2.C:2530
 PlotEmEtVer2.C:2531
 PlotEmEtVer2.C:2532
 PlotEmEtVer2.C:2533
 PlotEmEtVer2.C:2534
 PlotEmEtVer2.C:2535
 PlotEmEtVer2.C:2536
 PlotEmEtVer2.C:2537
 PlotEmEtVer2.C:2538
 PlotEmEtVer2.C:2539
 PlotEmEtVer2.C:2540
 PlotEmEtVer2.C:2541
 PlotEmEtVer2.C:2542
 PlotEmEtVer2.C:2543
 PlotEmEtVer2.C:2544
 PlotEmEtVer2.C:2545
 PlotEmEtVer2.C:2546
 PlotEmEtVer2.C:2547
 PlotEmEtVer2.C:2548
 PlotEmEtVer2.C:2549
 PlotEmEtVer2.C:2550
 PlotEmEtVer2.C:2551
 PlotEmEtVer2.C:2552
 PlotEmEtVer2.C:2553
 PlotEmEtVer2.C:2554
 PlotEmEtVer2.C:2555
 PlotEmEtVer2.C:2556
 PlotEmEtVer2.C:2557
 PlotEmEtVer2.C:2558
 PlotEmEtVer2.C:2559
 PlotEmEtVer2.C:2560
 PlotEmEtVer2.C:2561
 PlotEmEtVer2.C:2562
 PlotEmEtVer2.C:2563
 PlotEmEtVer2.C:2564
 PlotEmEtVer2.C:2565
 PlotEmEtVer2.C:2566
 PlotEmEtVer2.C:2567
 PlotEmEtVer2.C:2568
 PlotEmEtVer2.C:2569
 PlotEmEtVer2.C:2570
 PlotEmEtVer2.C:2571
 PlotEmEtVer2.C:2572
 PlotEmEtVer2.C:2573
 PlotEmEtVer2.C:2574
 PlotEmEtVer2.C:2575
 PlotEmEtVer2.C:2576
 PlotEmEtVer2.C:2577
 PlotEmEtVer2.C:2578
 PlotEmEtVer2.C:2579
 PlotEmEtVer2.C:2580
 PlotEmEtVer2.C:2581
 PlotEmEtVer2.C:2582
 PlotEmEtVer2.C:2583
 PlotEmEtVer2.C:2584
 PlotEmEtVer2.C:2585
 PlotEmEtVer2.C:2586
 PlotEmEtVer2.C:2587
 PlotEmEtVer2.C:2588
 PlotEmEtVer2.C:2589
 PlotEmEtVer2.C:2590
 PlotEmEtVer2.C:2591
 PlotEmEtVer2.C:2592
 PlotEmEtVer2.C:2593
 PlotEmEtVer2.C:2594
 PlotEmEtVer2.C:2595
 PlotEmEtVer2.C:2596
 PlotEmEtVer2.C:2597
 PlotEmEtVer2.C:2598
 PlotEmEtVer2.C:2599
 PlotEmEtVer2.C:2600
 PlotEmEtVer2.C:2601
 PlotEmEtVer2.C:2602