ROOT logo
#include "QALHC11c_QA69.h"
#include "DefinePlots.h"
#include "TGraphErrors.h"

TH1F *fAccOverAll[3];
TH1F *fBGOverAll[3];
TH1F *fV0BGOverAll[3];
TH1F *fV0ABGOverAll[3];
TH1F *fV0CBGOverAll[3];
TH1F *fAfterOverBefore[3];
TH1F *fV0AOverV0C[3];
TH1F *fF02OverAll[3];
TH1F *fF01OverAll[3];

TFile fou;
TLine *l1=new TLine(153776, 0, 153776, 1);
TH1F * GetEmpty(const char * name, Int_t nfile);
TGraphErrors * GetGraphRej(TGraphErrors * gr, TList * rejRunList, const char * reason, Float_t &mean, Bool_t doDraw) ;
double GetMedian(double* arr, int n);
double meanMed(double* vec, int np, double nsigmaCut, int &nrej, int *rejList);
TGraphErrors * graph[kNGraphs];


void read(){
  
  for(Int_t i=0;i<3;++i){
    fAccOverAll[i]=new TH1F(Form("fAccOverAll_%d",i),Form("fAccOverAll_%d",i),100,0,1);
    fBGOverAll[i]=new TH1F(Form("fBGOverAll_%d",i),Form("fBGOverAll_%d",i),50,0,0.5);
    fV0BGOverAll[i]=new TH1F(Form("fV0BGOverAll_%d",i),Form("fV0BGOverAll_%d",i),50,0,0.1);
    fV0ABGOverAll[i]=new TH1F(Form("fV0ABGOverAll_%d",i),Form("fV0ABGOverAll_%d",i),50,0,0.1);
    fV0CBGOverAll[i]=new TH1F(Form("fV0CBGOverAll_%d",i),Form("fV0CBGOverAll_%d",i),50,0,0.1);
    fAfterOverBefore[i]=new TH1F(Form("fAfterOverBefore_%d",i),Form("fAfterOverBefore_%d",i),100,0.5,1);
    fV0AOverV0C[i]=new TH1F(Form("fV0AOverV0C_%d",i),Form("fV0AOverV0C_%d",i),100,0.7,1.2);
    fF01OverAll[i]=new TH1F(Form("fF01OverAll_%d",i),Form("fF01OverAll_%d",i),200,0.6,1.1);
    fF02OverAll[i]=new TH1F(Form("fF02OverAll_%d",i),Form("fF02OverAll_%d",i),200,0.6,1.1);
  }




  TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName());
  dir.ReplaceAll("read.C","");
  dir.ReplaceAll("/./","/");
  
  // read file and add to fit object
  Double_t *run = new Double_t[1330];
  Double_t *ratio1 = new Double_t[1330];
  Double_t *nofill = new Double_t[1330];
  Double_t vX, vY, vZ;
  Int_t vNData = 0;
  ifstream vInput;
  vInput.open(Form("%srct.dat",dir.Data()));
  while (1) {
    vInput >> vX >> vY >> vZ;
    if (!vInput.good()) break;
    run[vNData] = vX;
    ratio1[vNData] = vY;
    nofill[vNData] = vZ;
    vNData++;
  }//while
  vInput.close();

  grin = new TGraph(vNData,run,ratio1);
  cout<<"n points="<<grin->GetN()<<endl;


  Int_t NoFillings=0;
  for(Int_t i=1;i<grin->GetN();++i){
    if(nofill[i]!=nofill[i-1])
      NoFillings++;
  }
  cout<<"No. Dif. de Fill="<<NoFillings<<endl;

  Int_t *boundary_run=new Double_t[NoFillings];
  Int_t *boundary_fill=new Double_t[NoFillings];
  Int_t counter=0;
  for(Int_t i=1;i<grin->GetN();++i){
    if(nofill[i]!=nofill[i-1]){
      boundary_run[counter]=run[i-1];
      boundary_fill[counter]=nofill[i-1];
      counter++;
    }
    
  }


  const Int_t NoOfFill =NoFillings;
  TLine *l2[NoOfFill];

  for(Int_t i=0;i<NoFillings;++i){
    cout<<"interfaz run="<<boundary_run[i]<<";  Fill #"<<boundary_fill[i]<<endl;
    l2[i]=new TLine(boundary_run[i], 0, boundary_run[i], 20);
  }




  gStyle->SetOptStat(0);
  gStyle->SetPalette(1);
  gStyle->SetCanvasColor(10);
  gStyle->SetFrameFillColor(10);
  gStyle->SetOptStat(0);
  gStyle->SetOptTitle(0);
  





  loadlibs();
  TList * listRejectedRuns = new TList(); // keep track of rejected runes

  
  
  
  
  
  for(Int_t i=0;i<3;++i)
    cout<<gnames[i]<<endl;
  
  fou = new TFile("qaLHC10apass2.root");
  for(Int_t igraph = 0; igraph < kNGraphs; igraph++){
    graph[igraph]=(TGraphErrors *)  fou.Get(gnames[igraph]);
  }
  
  GetHisto(graph[kGraphBGOverAllAC],fBGOverAll[0]);
  GetHisto(graph[kGraphBGOverAllAC2],fBGOverAll[1]);
  GetHisto(graph[kGraphBGOverAllSMH],fBGOverAll[2]);
  
  GetHisto(graph[kGraphV0BGOverAllAC],fV0BGOverAll[0]);
  GetHisto(graph[kGraphV0BGOverAllAC2],fV0BGOverAll[1]);
  GetHisto(graph[kGraphV0BGOverAllSMH],fV0BGOverAll[2]);
  
  
  GetHisto(graph[kGraphV0ABGOverAllAC],fV0ABGOverAll[0]);
  GetHisto(graph[kGraphV0ABGOverAllAC2],fV0ABGOverAll[1]);
  GetHisto(graph[kGraphV0ABGOverAllSMH],fV0ABGOverAll[2]);
  
  GetHisto(graph[kGraphV0CBGOverAllAC],fV0CBGOverAll[0]);
  GetHisto(graph[kGraphV0CBGOverAllAC2],fV0CBGOverAll[1]);
  GetHisto(graph[kGraphV0CBGOverAllSMH],fV0CBGOverAll[2]);
  
  GetHisto(graph[kGraphNevACratioAfter],fAfterOverBefore[0]);
  GetHisto(graph[kGraphNevAC2ratioAfter],fAfterOverBefore[1]);
  GetHisto(graph[kGraphNevSMHratioAfter],fAfterOverBefore[2]);

  GetHisto(graph[kGraphV0AOverV0CAC],fV0AOverV0C[0]);
  GetHisto(graph[kGraphV0AOverV0CAC2],fV0AOverV0C[1]);
  GetHisto(graph[kGraphV0AOverV0CSMH],fV0AOverV0C[2]);

  GetHisto(graph[kGraphFO1OverAllAC],fF01OverAll[0]);
  GetHisto(graph[kGraphFO1OverAllAC2],fF01OverAll[1]);
  GetHisto(graph[kGraphFO1OverAllSMH],fF01OverAll[2]);

  GetHisto(graph[kGraphFO2OverAllAC],fF02OverAll[0]);
  GetHisto(graph[kGraphFO2OverAllAC2],fF02OverAll[1]);
  GetHisto(graph[kGraphFO2OverAllSMH],fF02OverAll[2]);



  Float_t meanDummy;
  



  /*
    THREE TRIGGERS IN THE SAME CANVAS
    
  */
  c4a = new TCanvas("GraphACCOverAll","GraphACCOverAll",1000,700);
  

  TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();


  c4a->cd();
  pad1->Draw();


  pad1->cd();


  graph[kGraphACCOverAllAC]->Draw("PA");
  graph[kGraphACCOverAllACRej] = GetGraphRej(graph[kGraphACCOverAllAC] , listRejectedRuns, "Acc/All AC" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }

  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  GetHisto(graph[kGraphACCOverAllAC],fAccOverAll[0]);
  fAccOverAll[0]->Draw();





  pad2->cd();


  graph[kGraphACCOverAllACS2]->Draw("PA");
  graph[kGraphACCOverAllACS2Rej] = GetGraphRej(graph[kGraphACCOverAllACS2] , listRejectedRuns, "Acc/All [ACS2]" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  GetHisto(graph[kGraphACCOverAllACS2],fAccOverAll[1]);
  fAccOverAll[1]->Draw();



  pad3->cd();


  graph[kGraphACCOverAllSMH]->Draw("PA");
  graph[kGraphACCOverAllSMHRej] = GetGraphRej(graph[kGraphACCOverAllSMH] , listRejectedRuns, "Acc/All SMH" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  //fAccOverAll[i]

  pad3a->cd();
  pad3a->cd()->SetGridx(1);
  GetHisto(graph[kGraphACCOverAllSMH],fAccOverAll[2]);
  fAccOverAll[2]->Draw();
  fAccOverAll[2]->GetXaxis()->SetTitle("Accepted / All");

  /*
  for(Int_t ipoint = 0; ipoint < graph[kGraphACCOverAllAC]->GetN(); ipoint++){
    fhistTest->Fill(graph[kGraphACCOverAllAC]->GetY()[ipoint]);
  }

  pad1->cd(4);
  fhistTest->Sumw2();
  fhistTest->SetMarkerStyle(25);
  fhistTest->GetXaxis()->SetTitle(ylabels[kGraphACCOverAllAC]);
  fhistTest->GetYaxis()->SetTitle("Entries");
  fhistTest->Draw();
  */
  //pad1->cd(2);





  c4a->Update();
  gSystem->ProcessEvents();
  c4a->SaveAs(Form("picturesLHC11hAOD50/c4a_%s.png",c4a->GetName()));



  c5a = new TCanvas("GraphNev","GraphNev",1000,700);
  
  TPad *pad1 = new TPad("pad1",
			"The pad with the function",0.01,0.01,0.99,0.94,0);
  pad1->Draw();


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();




  pad1->Divide(1,3);
  pad1->cd(1);
  //pad1->cd(1)->SetLogy(1);
  graph[kGraphNevAC]->Draw("PA");

  pad1->cd(2);
  //pad1->cd(2)->SetLogy(1);
  graph[kGraphNevAC2]->Draw("PA");


  pad1->cd(3);
  //pad1->cd(3)->SetLogy(1);
  graph[kGraphNevSMH]->Draw("PA");
 


  c5a->Update();
  gSystem->ProcessEvents();
  c5a->SaveAs(Form("picturesLHC11hAOD50/c5a_%s.png",c5a->GetName()));





  c7a = new TCanvas("GraphBGOverAll","GraphACCOverAll",1000,700);
  

  TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();


  c7a->cd();
  pad1->Draw();


  pad1->cd();

  graph[kGraphBGOverAllAC]->Draw("PA");
  graph[kGraphBGOverAllAC] = GetGraphRej(graph[kGraphBGOverAllAC] , listRejectedRuns, "BG/All AC" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  fBGOverAll[0]->Draw();
 






  pad2->cd();

  graph[kGraphBGOverAllAC2]->Draw("PA");
  graph[kGraphBGOverAllAC2] = GetGraphRej(graph[kGraphBGOverAllAC2] , listRejectedRuns, "BG/All AC2" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  fBGOverAll[1]->Draw();



  pad3->cd();

 
  graph[kGraphBGOverAllSMH]->Draw("PA");
  graph[kGraphBGOverAllSMHRej] = GetGraphRej(graph[kGraphBGOverAllSMH] , listRejectedRuns, "BG/All SMH" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad3a->cd();
  pad3a->cd()->SetGridx(1);

  fBGOverAll[2]->GetXaxis()->SetTitle("BG / All");
  fBGOverAll[2]->Draw();


  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }

  c7a->Update();
  gSystem->ProcessEvents();
  c7a->SaveAs(Form("picturesLHC11hAOD50/c7a_%s.png",c7a->GetName()));



  c7b = new TCanvas("GraphV0BGOverAll","GraphV0BGOverAll",1000,700);
    TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();


  c7b->cd();



  pad1->cd();

  graph[kGraphV0BGOverAllAC]->Draw("PA");
  graph[kGraphV0BGOverAllAC] = GetGraphRej(graph[kGraphV0BGOverAllAC] , listRejectedRuns, "V0BG/All AC" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }



  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  fV0BGOverAll[0]->Draw();


  pad2->cd();
  graph[kGraphV0BGOverAllAC2]->Draw("PA");
  graph[kGraphV0BGOverAllAC2] = GetGraphRej(graph[kGraphV0BGOverAllAC2] , listRejectedRuns, "V0BG/All AC2" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  fV0BGOverAll[1]->Draw();

  pad3->cd();
  graph[kGraphV0BGOverAllSMH]->Draw("PA");
  graph[kGraphV0BGOverAllSMHRej] = GetGraphRej(graph[kGraphV0BGOverAllSMH] , listRejectedRuns, "V0BG/All SMH" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad3a->cd();
  pad3a->cd()->SetGridx(1);
  fV0BGOverAll[2]->GetXaxis()->SetTitle("V0BG / All");
  fV0BGOverAll[2]->Draw();



  c7b->Update();
  gSystem->ProcessEvents();
  c7b->SaveAs(Form("picturesLHC11hAOD50/c7b_%s.png",c7b->GetName()));










  c7c = new TCanvas("GraphV0A_BGOverAll","GraphV0A_BGOverAll",1000,700);
   TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();


  c7c->cd();

  pad1->cd(); 


  graph[kGraphV0ABGOverAllAC]->Draw("PA");
  graph[kGraphV0ABGOverAllAC] = GetGraphRej(graph[kGraphV0ABGOverAllAC] , listRejectedRuns, "V0A_BG/All AC" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();


  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  fV0ABGOverAll[0]->Draw();



  pad2->cd(); 
  graph[kGraphV0ABGOverAllAC2]->Draw("PA");
  graph[kGraphV0ABGOverAllAC2] = GetGraphRej(graph[kGraphV0ABGOverAllAC2] , listRejectedRuns, "V0A_BG/All AC2" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();


  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  fV0ABGOverAll[1]->Draw();

  pad3->cd(); 
  graph[kGraphV0ABGOverAllSMH]->Draw("PA");
  graph[kGraphV0ABGOverAllSMHRej] = GetGraphRej(graph[kGraphV0ABGOverAllSMH] , listRejectedRuns, "V0A_BG/All SMH" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();


  pad3a->cd();
  pad3a->cd()->SetGridx(1);
  fV0ABGOverAll[2]->Draw();
  fV0ABGOverAll[2]->GetXaxis()->SetTitle("V0ABG / All");


  c7c->Update();
  gSystem->ProcessEvents();
  c7c->SaveAs(Form("picturesLHC11hAOD50/c7c_%s.png",c7c->GetName()));





  c7d = new TCanvas("GraphV0C_BGOverAll","GraphV0C_BGOverAll",1000,700);
  TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();


  c7d->cd();

  pad1->cd();
  graph[kGraphV0CBGOverAllAC]->Draw("PA");
  graph[kGraphV0CBGOverAllAC] = GetGraphRej(graph[kGraphV0CBGOverAllAC] , listRejectedRuns, "V0C_BG/All AC" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();


  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  fV0CBGOverAll[0]->Draw();


  pad2->cd();
  graph[kGraphV0CBGOverAllAC2]->Draw("PA");
  graph[kGraphV0CBGOverAllAC2] = GetGraphRej(graph[kGraphV0CBGOverAllAC2] , listRejectedRuns, "V0C_BG/All AC2" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  fV0CBGOverAll[1]->Draw();


	   pad3->cd();
  graph[kGraphV0CBGOverAllSMH]->Draw("PA");
  graph[kGraphV0CBGOverAllSMHRej] = GetGraphRej(graph[kGraphV0CBGOverAllSMH] , listRejectedRuns, "V0A_BG/All SMH" ,  meanDummy, 1);


  l1->SetLineStyle(3);
  l1->Draw();

  pad3a->cd();
  pad3a->cd()->SetGridx(1);
  fV0CBGOverAll[2]->Draw();
  fV0CBGOverAll[2]->GetXaxis()->SetTitle("V0CBG / All");



  c7d->Update();
  gSystem->ProcessEvents();
  c7d->SaveAs(Form("picturesLHC11hAOD50/c7d_%s.png",c7d->GetName()));





  c8a = new TCanvas("GraphAfterOverBefore","GraphAfterOverBefore",1000,700);
  TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();
  
  pad1->cd();
  
  graph[kGraphNevACratioAfter]->Draw("PA");
  graph[kGraphNevACratioAfterRej] = GetGraphRej(graph[kGraphNevACratioAfter] , listRejectedRuns, "V0BG/All AC" ,  meanDummy, 1);

  l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }




  
  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  fAfterOverBefore[0]->Draw();


  pad2->cd();
  graph[kGraphNevAC2ratioAfter]->Draw("PA");
  graph[kGraphNevAC2ratioAfterRej] = GetGraphRej(graph[kGraphNevAC2ratioAfter] , listRejectedRuns, "V0BG/All AC2" ,  meanDummy, 1);

 l1->SetLineStyle(3);
  l1->Draw();


  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  fAfterOverBefore[1]->Draw();

  pad3->cd();
  graph[kGraphNevSMHratioAfter]->Draw("PA");
  graph[kGraphNevSMHratioAfterRej] = GetGraphRej(graph[kGraphNevSMHratioAfter] , listRejectedRuns, "V0BG/All SMH" ,  meanDummy, 1);

 l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }



  pad3a->cd();
  pad3a->cd()->SetGridx(1);
  fAfterOverBefore[2]->Draw();
  fAfterOverBefore[2]->GetXaxis()->SetTitle("After_PS / Before_PS");


  c8a->Update();
  gSystem->ProcessEvents();
  c8a->SaveAs(Form("picturesLHC11hAOD50/c8a_%s.png",c8a->GetName()));





  c8b = new TCanvas("GraphNevBefore","GraphNevBefore",1000,700);
  
  TPad *pad1 = new TPad("pad1",
			"The pad with the function",0.01,0.01,0.99,0.94,0);
  pad1->Draw();


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();




  pad1->Divide(1,3);

  pad1->cd(1);
  graph[kGraphNevACBefore]->Draw("PA");

  pad1->cd(2);
  graph[kGraphNevAC2Before]->Draw("PA");

  pad1->cd(3);
  graph[kGraphNevSMHBefore]->Draw("PA");



  c8b->Update();
  gSystem->ProcessEvents();
  c8b->SaveAs(Form("picturesLHC11hAOD50/c8b_%s.png",c8b->GetName()));





  c8c = new TCanvas("GraphNevAfter","GraphNevAfter",1000,700);
  
  TPad *pad1 = new TPad("pad1",
			"The pad with the function",0.01,0.01,0.99,0.94,0);
  pad1->Draw();


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();




  pad1->Divide(1,3);

  pad1->cd(1);
  graph[kGraphNevACAfter]->Draw("PA");


  pad1->cd(2);
  graph[kGraphNevAC2After]->Draw("PA");


  pad1->cd(3);

  graph[kGraphNevSMHAfter]->Draw("PA");



  c8c->Update();
  gSystem->ProcessEvents();
  c8c->SaveAs(Form("picturesLHC11hAOD50/c8c_%s.png",c8c->GetName()));








  c9a = new TCanvas("GraphV0AOverV0C","GraphV0AOverV0C",1000,700);
  TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();

  pad1->cd();
  graph[kGraphV0AOverV0CAC]->Draw("PA");
  graph[kGraphV0AOverV0CACRej] = GetGraphRej(graph[kGraphV0AOverV0CAC] , listRejectedRuns, "Nev_V0A/Nev_V0C AC" ,  meanDummy, 1);


 l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  fV0AOverV0C[0]->Draw();


  pad2->cd();
  graph[kGraphV0AOverV0CAC2]->Draw("PA");
  graph[kGraphV0AOverV0CAC2Rej] = GetGraphRej(graph[kGraphV0AOverV0CAC2] , listRejectedRuns, "Nev_V0A/Nev_V0C AC2" ,  meanDummy, 1);

 l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }



  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  fV0AOverV0C[1]->Draw();


  pad3->cd();
  graph[kGraphV0AOverV0CSMH]->Draw("PA");
  graph[kGraphV0AOverV0CSMHRej] = GetGraphRej(graph[kGraphV0AOverV0CSMH] , listRejectedRuns, "Nev_V0A/Nev_V0C SMH" ,  meanDummy, 1);

 l1->SetLineStyle(3);
  l1->Draw();


  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }


  pad3a->cd();
  pad3a->cd()->SetGridx(1);
  fV0AOverV0C[2]->Draw();
  fV0AOverV0C[2]->GetXaxis()->SetTitle("V0A / VOC");



  c9a->Update();
  gSystem->ProcessEvents();
  c9a->SaveAs(Form("picturesLHC11hAOD50/c9a_%s.png",c9a->GetName()));



  c10a = new TCanvas("GraphFO1OverAll","GraphFO1OverAll",1000,700);
  TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();  


  pad1->cd();
  graph[kGraphFO1OverAllAC]->Draw("PA");
  graph[kGraphFO1OverAllACRej] = GetGraphRej(graph[kGraphFO1OverAllAC] , listRejectedRuns, "Nev_FO1/All AC" ,  meanDummy, 1);

 l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }



  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  fF01OverAll[0]->Draw();


  pad2->cd();
  graph[kGraphFO1OverAllAC2]->Draw("PA");
  graph[kGraphFO1OverAllAC2Rej] = GetGraphRej(graph[kGraphFO1OverAllAC2] , listRejectedRuns, "Nev_FO1/All AC2" ,  meanDummy, 1);

 l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }



  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  fF01OverAll[1]->Draw();



  pad3->cd();
  graph[kGraphFO1OverAllSMH]->Draw("PA");
  graph[kGraphFO1OverAllSMHRej] = GetGraphRej(graph[kGraphFO1OverAllSMH] , listRejectedRuns, "Nev_FO1/All SMH" ,  meanDummy, 1);

 l1->SetLineStyle(3);
  l1->Draw();

  for(Int_t i=25;i<NoFillings;++i){
    l2[i]->SetLineStyle(3);
    l2[i]->SetLineColor(4);
    l2[i]->Draw();
  }



  pad3a->cd();
  pad3a->cd()->SetGridx(1);
  fF01OverAll[2]->Draw();
  fF01OverAll[2]->GetXaxis()->SetTitle("F01 / All");




  c10a->Update();
  gSystem->ProcessEvents();
  c10a->SaveAs(Form("picturesLHC11hAOD50/c10a_%s.png",c10a->GetName()));




  c10b = new TCanvas("GraphFO2OverAll","GraphFO2OverAll",1000,700);
  TPad * pad1=new TPad("pad1","pad1",0.01,0.635,0.7,0.94,0);
  TPad * pad2=new TPad("pad2","pad2",0.01,0.33,0.7,0.635,0);
  TPad * pad3=new TPad("pad3","pad3",0.01,0.01,0.7,0.33,0);

  TPad * pad1a=new TPad("pad1a","pad1a",0.7,0.635,0.99,0.94,0);
  TPad * pad2a=new TPad("pad2a","pad2a",0.7,0.33,0.99,0.635,0);
  TPad * pad3a=new TPad("pad3a","pad3a",0.7,0.01,0.99,0.33,0);

  pad1->Draw();
  pad2->Draw();
  pad3->Draw();
  pad1a->Draw();
  pad2a->Draw();
  pad3a->Draw();


  pad1->SetBottomMargin(0);
  pad1->SetBorderSize(0);
  pad1->SetRightMargin(0.01);

  pad2->SetBottomMargin(0.0);
  pad2->SetTopMargin(0);
  pad2->SetRightMargin(0.01);
  pad2->SetBorderSize(0);

  pad3->SetBottomMargin(0.2);
  pad3->SetTopMargin(0);
  pad3->SetRightMargin(0.01);
  pad3->SetBorderSize(0);

  pad1a->SetBottomMargin(0);
  pad1a->SetBorderSize(0);
  pad1a->SetRightMargin(0.01);

  pad2a->SetBottomMargin(0.0);
  pad2a->SetTopMargin(0);
  pad2a->SetRightMargin(0.01);
  pad2a->SetBorderSize(0);

  pad3a->SetBottomMargin(0.2);
  pad3a->SetTopMargin(0);
  pad3a->SetRightMargin(0.01);
  pad3a->SetBorderSize(0);


  // Draw a global picture title
  TPaveLabel *title = new TPaveLabel(0.01,0.95,0.99,0.99,
				     Form("%s",period));

  title->SetFillColor(0);
  title->SetTextFont(52);
  title->SetTextColor(4);
  title->SetTextSize(0.7);
  title->Draw();  


  pad1->cd();
  graph[kGraphFO2OverAllAC]->Draw("PA");
  graph[kGraphFO2OverAllACRej] = GetGraphRej(graph[kGraphFO2OverAllAC] , listRejectedRuns, "Nev_FO2/All AC" ,  meanDummy, 1);

  pad1a->cd();
  pad1a->cd()->SetGridx(1);
  fF02OverAll[0]->Draw();
  fF02OverAll[0]->GetXaxis()->SetTitle("F02 / All");


  pad2->cd();
  graph[kGraphFO2OverAllAC2]->Draw("PA");
  graph[kGraphFO2OverAllAC2Rej] = GetGraphRej(graph[kGraphFO2OverAllAC2] , listRejectedRuns, "Nev_FO2/All AC2" ,  meanDummy, 1);

  pad2a->cd();
  pad2a->cd()->SetGridx(1);
  fF02OverAll[1]->Draw();
  fF02OverAll[1]->GetXaxis()->SetTitle("F02 / All");

  pad3->cd();
  graph[kGraphFO2OverAllSMH]->Draw("PA");
  graph[kGraphFO2OverAllSMHRej] = GetGraphRej(graph[kGraphFO2OverAllSMH] , listRejectedRuns, "Nev_FO2/All SMH" ,  meanDummy, 1);

  pad3a->cd();
  pad3a->cd()->SetGridx(1);
  fF02OverAll[2]->Draw();
  fF02OverAll[2]->GetXaxis()->SetTitle("F02 / All");





  c10b->Update();
  gSystem->ProcessEvents();
  c10b->SaveAs(Form("picturesLHC11hAOD50/c10b_%s.png",c10b->GetName()));








}
double meanMed(double* vec, int np, double nsigmaCut, int &nrej, int *rejList)
{
  // compute the mean of the array "vec" rejecting the outliers
  // if rejlist array is provided, fill indices of rejected values
  // This method works assuming that the "good" points are nearly normally 
  // distrubted around the mean (i.e. there is no significant trend)
  //
  // create copy of the vector
  double *vec1 = new Double_t[np];
  memcpy(vec1, vec, np*sizeof(double));
  //
  // get median of the vector as a robust initial estimate of the mean
  cout << "Points " << np << endl;
  double md = GetMedian(vec1,np);
  //
  // compute squared differences to median, 
  for (int i=0;i<np;i++) {
    vec1[i] = TMath::Abs(vec1[i] - md);
  }
  //
  // compute median squared difference for robust estimate of the sigma
  double sigmd = GetMedian(vec1,np);
  //
  printf("Median Value: %+e | Median abs residual: %e\n",md,sigmd);
  //
  sigmd /= 0.6745; // go to sigma assuming normal distribution
  printf("Estimate of sigma: %+e\n",sigmd);
  // if the estimate of the sigma is null, do not look for outliers

  cout<<"md="<<md<<endl;

  if(!sigmd) return md;

 


  // compute mean rejecting more than nsigmaCut deviations
  double mean = 0;
  int npok = 0;
  for (int i=0;i<np;i++) {
    double dev =  TMath::Abs(vec[i]-md)/sigmd;
    if ( dev < nsigmaCut ) {
      mean += vec[i];
      npok++;
    }
    else {
      printf("Reject#%d (Y=%+e) : deviation: %e\n",i,vec[i],dev);
      if (rejList) rejList[nrej] = i; 
      nrej++;
    }
  }
  //
  delete vec1;
  return npok ? mean/npok : 0;
  //


  cout<<"ending meanMed"<<endl;

}

double GetMedian(double* arr, int n)
{
  // get median by Wirths algroithm
  int i=0,j=0,l=0,m=0;
  double x;
  l=0 ; m=n-1;
  int k = (n&1) ? n/2 : n/2-1;
  while (l<m) {
    x=arr[k] ;
    i=l ;
    j=m ;
    do {
      //      cout << arr[i] << " " << arr[j] << i<<","<<j << " " << arr[k]  << " " << k << " " << x<< endl;
      
      while (arr[i]<x) i++ ;
      while (x<arr[j]) j-- ;
      if (i<=j) { // swap elements	  
	//	cout << "Swapping" << endl;	  
	double t = arr[i];
	arr[i] = arr[j];
	arr[j] = t;
	i++ ; j-- ;
      }      
    } while (i<=j) ;
    if (j<k) l=i ;
    if (k<i) m=j ;
  }
  return arr[k] ;
}

// double GetMedian(double* arr, int n)
// {
//   // get median by Wirths algroithm
//   int i,j,l,m;
//   double x;
//   l=0 ; m=n-1;
//   int k = (n&1) ? n/2 : n/2-1;
//   while (l<m) {
//     x=arr[k] ;
//     i=l ;
//     j=m ;
//     do {
//       //      cout << i << " " << j << endl;
      
//       //skip runs which were not set (value is -1)
//       while (arr[i]<x) i++ ;
//       while (x<arr[j]) j-- ;
//       if(i<=j) { // swap elements
// 	// if((TMath::Abs(arr[i]+1)< 0.0001) && ((TMath::Abs(arr[j]+1)<0.0001))){
// 	//   i++ ; j-- ;
// 	// } else {
// 	  double t = arr[i];
// 	  arr[i] = arr[j];
// 	  arr[j] = t;
// 	  i++ ; j-- ;
// 	  //	}
//       }      
//     } while (i<=j) ;
//     if (j<k) l=i ;
//     if (k<i) m=j ;
    
//   }
//   return arr[k] ;
// }

TGraphErrors * GetGraphRej(TGraphErrors * gr, TList * rejRunList, const char * reason, Float_t &mean, Bool_t doDraw) {

  //Returns a new graph containing only rejected points

  const Double_t nsigmaCut = 3;

  int *rejList = new Int_t[gr->GetN()];
  int nrej = 0;

  Double_t * array = new Double_t[gr->GetN()];
  Int_t * correspondenceFullArray = new Int_t[gr->GetN()];
  Int_t npoint = 0; 
  //exclude from the array all the -1
  for(Int_t ipoint = 0; ipoint < gr->GetN(); ipoint++){
    if (TMath::Abs(gr->GetY()[ipoint]+1)>0.001) { // skip points for which there is no file (==-1)
      array[npoint] = gr->GetY()[ipoint];
      correspondenceFullArray[npoint] = ipoint;
      npoint++;
    } 
  }

  cout<<"calling meanMed"<<endl;
  mean = meanMed(array,npoint,nsigmaCut, nrej, rejList);

  cout<<"nrej="<<nrej<<"  mean="<<mean<<endl;
  
 
    
  TGraphErrors *grrej = new TGraphErrors(nrej);
  for (int i=0;i<nrej;i++) {
    grrej->SetPoint(i, gr->GetX()[correspondenceFullArray[rejList[i]]], gr->GetY()[correspondenceFullArray[rejList[i]]]);
    grrej->SetPointError(i, gr->GetEX()[correspondenceFullArray[rejList[i]]], gr->GetEY()[correspondenceFullArray[rejList[i]]]);
    if(!knownProblems.Contains(Form("%d",(int)gr->GetX()[correspondenceFullArray[rejList[i]]])))
      rejRunList->Add(new TObjString(Form("[%d], %s",  (int)gr->GetX()[correspondenceFullArray[rejList[i]]], reason)));
  }
  grrej->SetMarkerColor(kRed);
  //grrej->SetMarkerStyle(gr->GetMarkerStyle());
  grrej->SetMarkerStyle(29);
  grrej->SetMarkerSize(1.5);


  delete rejList;

  if(doDraw) {
    Float_t minXDraw = gr->GetXaxis()->GetBinLowEdge(1);
    Float_t maxXDraw = gr->GetXaxis()->GetBinLowEdge(gr->GetXaxis()->GetNbins());

    grrej->Draw("P");
    TLine * l = new TLine (minXDraw, mean,maxXDraw, mean);
    l->SetLineStyle(kDashed);
    l->Draw();


  }

  return grrej;



} 

void loadlibs()
{
  gSystem->Load("libVMC");
  gSystem->Load("libTree");
  gSystem->Load("libSTEERBase");
  gSystem->Load("libESD");
  gSystem->Load("libAOD");
  gSystem->Load("libANALYSIS");
  gSystem->Load("libANALYSISalice");
  gSystem->Load("libCORRFW");
  gSystem->Load("libMinuit");
  gSystem->Load("libPWG2spectra");
  gSystem->Load("libPWG0base"); 
}
void GetHisto(TGraphErrors * gr, TH1F *ftemp)
{

  for(Int_t ipoint = 0; ipoint < gr->GetN(); ipoint++){
  //for(Int_t ipoint = 0; ipoint < gr->GetN(); ipoint++){
    ftemp->Fill(gr->GetY()[ipoint]);
  }
  

  ftemp->Sumw2();
  ftemp->SetMarkerColor(kRed+2);
  ftemp->SetLineColor(kRed+2);
  ftemp->SetMarkerStyle(30);
  ftemp->GetYaxis()->SetTitle("Entries");
  ftemp->GetXaxis()->SetLabelSize(0.07);
  ftemp->GetXaxis()->SetTitleSize(0.09);
  ftemp->GetYaxis()->SetLabelSize(0.04);
  ftemp->GetYaxis()->SetTitleSize(0.05);
  ftemp->GetYaxis()->SetTitleOffset(0.7);
  ftemp->GetYaxis()->CenterTitle(0);
  ftemp->GetYaxis()->SetLabelFont(42);
  ftemp->GetYaxis()->SetTitleFont(42);
  ftemp->GetYaxis()->SetNoExponent(kTRUE);
  ftemp->GetXaxis()->SetLabelFont(42);
  ftemp->GetXaxis()->SetTitleFont(42);
  ftemp->GetXaxis()->SetNdivisions(5);


 
  return ftemp;
 
}
 read.C:1
 read.C:2
 read.C:3
 read.C:4
 read.C:5
 read.C:6
 read.C:7
 read.C:8
 read.C:9
 read.C:10
 read.C:11
 read.C:12
 read.C:13
 read.C:14
 read.C:15
 read.C:16
 read.C:17
 read.C:18
 read.C:19
 read.C:20
 read.C:21
 read.C:22
 read.C:23
 read.C:24
 read.C:25
 read.C:26
 read.C:27
 read.C:28
 read.C:29
 read.C:30
 read.C:31
 read.C:32
 read.C:33
 read.C:34
 read.C:35
 read.C:36
 read.C:37
 read.C:38
 read.C:39
 read.C:40
 read.C:41
 read.C:42
 read.C:43
 read.C:44
 read.C:45
 read.C:46
 read.C:47
 read.C:48
 read.C:49
 read.C:50
 read.C:51
 read.C:52
 read.C:53
 read.C:54
 read.C:55
 read.C:56
 read.C:57
 read.C:58
 read.C:59
 read.C:60
 read.C:61
 read.C:62
 read.C:63
 read.C:64
 read.C:65
 read.C:66
 read.C:67
 read.C:68
 read.C:69
 read.C:70
 read.C:71
 read.C:72
 read.C:73
 read.C:74
 read.C:75
 read.C:76
 read.C:77
 read.C:78
 read.C:79
 read.C:80
 read.C:81
 read.C:82
 read.C:83
 read.C:84
 read.C:85
 read.C:86
 read.C:87
 read.C:88
 read.C:89
 read.C:90
 read.C:91
 read.C:92
 read.C:93
 read.C:94
 read.C:95
 read.C:96
 read.C:97
 read.C:98
 read.C:99
 read.C:100
 read.C:101
 read.C:102
 read.C:103
 read.C:104
 read.C:105
 read.C:106
 read.C:107
 read.C:108
 read.C:109
 read.C:110
 read.C:111
 read.C:112
 read.C:113
 read.C:114
 read.C:115
 read.C:116
 read.C:117
 read.C:118
 read.C:119
 read.C:120
 read.C:121
 read.C:122
 read.C:123
 read.C:124
 read.C:125
 read.C:126
 read.C:127
 read.C:128
 read.C:129
 read.C:130
 read.C:131
 read.C:132
 read.C:133
 read.C:134
 read.C:135
 read.C:136
 read.C:137
 read.C:138
 read.C:139
 read.C:140
 read.C:141
 read.C:142
 read.C:143
 read.C:144
 read.C:145
 read.C:146
 read.C:147
 read.C:148
 read.C:149
 read.C:150
 read.C:151
 read.C:152
 read.C:153
 read.C:154
 read.C:155
 read.C:156
 read.C:157
 read.C:158
 read.C:159
 read.C:160
 read.C:161
 read.C:162
 read.C:163
 read.C:164
 read.C:165
 read.C:166
 read.C:167
 read.C:168
 read.C:169
 read.C:170
 read.C:171
 read.C:172
 read.C:173
 read.C:174
 read.C:175
 read.C:176
 read.C:177
 read.C:178
 read.C:179
 read.C:180
 read.C:181
 read.C:182
 read.C:183
 read.C:184
 read.C:185
 read.C:186
 read.C:187
 read.C:188
 read.C:189
 read.C:190
 read.C:191
 read.C:192
 read.C:193
 read.C:194
 read.C:195
 read.C:196
 read.C:197
 read.C:198
 read.C:199
 read.C:200
 read.C:201
 read.C:202
 read.C:203
 read.C:204
 read.C:205
 read.C:206
 read.C:207
 read.C:208
 read.C:209
 read.C:210
 read.C:211
 read.C:212
 read.C:213
 read.C:214
 read.C:215
 read.C:216
 read.C:217
 read.C:218
 read.C:219
 read.C:220
 read.C:221
 read.C:222
 read.C:223
 read.C:224
 read.C:225
 read.C:226
 read.C:227
 read.C:228
 read.C:229
 read.C:230
 read.C:231
 read.C:232
 read.C:233
 read.C:234
 read.C:235
 read.C:236
 read.C:237
 read.C:238
 read.C:239
 read.C:240
 read.C:241
 read.C:242
 read.C:243
 read.C:244
 read.C:245
 read.C:246
 read.C:247
 read.C:248
 read.C:249
 read.C:250
 read.C:251
 read.C:252
 read.C:253
 read.C:254
 read.C:255
 read.C:256
 read.C:257
 read.C:258
 read.C:259
 read.C:260
 read.C:261
 read.C:262
 read.C:263
 read.C:264
 read.C:265
 read.C:266
 read.C:267
 read.C:268
 read.C:269
 read.C:270
 read.C:271
 read.C:272
 read.C:273
 read.C:274
 read.C:275
 read.C:276
 read.C:277
 read.C:278
 read.C:279
 read.C:280
 read.C:281
 read.C:282
 read.C:283
 read.C:284
 read.C:285
 read.C:286
 read.C:287
 read.C:288
 read.C:289
 read.C:290
 read.C:291
 read.C:292
 read.C:293
 read.C:294
 read.C:295
 read.C:296
 read.C:297
 read.C:298
 read.C:299
 read.C:300
 read.C:301
 read.C:302
 read.C:303
 read.C:304
 read.C:305
 read.C:306
 read.C:307
 read.C:308
 read.C:309
 read.C:310
 read.C:311
 read.C:312
 read.C:313
 read.C:314
 read.C:315
 read.C:316
 read.C:317
 read.C:318
 read.C:319
 read.C:320
 read.C:321
 read.C:322
 read.C:323
 read.C:324
 read.C:325
 read.C:326
 read.C:327
 read.C:328
 read.C:329
 read.C:330
 read.C:331
 read.C:332
 read.C:333
 read.C:334
 read.C:335
 read.C:336
 read.C:337
 read.C:338
 read.C:339
 read.C:340
 read.C:341
 read.C:342
 read.C:343
 read.C:344
 read.C:345
 read.C:346
 read.C:347
 read.C:348
 read.C:349
 read.C:350
 read.C:351
 read.C:352
 read.C:353
 read.C:354
 read.C:355
 read.C:356
 read.C:357
 read.C:358
 read.C:359
 read.C:360
 read.C:361
 read.C:362
 read.C:363
 read.C:364
 read.C:365
 read.C:366
 read.C:367
 read.C:368
 read.C:369
 read.C:370
 read.C:371
 read.C:372
 read.C:373
 read.C:374
 read.C:375
 read.C:376
 read.C:377
 read.C:378
 read.C:379
 read.C:380
 read.C:381
 read.C:382
 read.C:383
 read.C:384
 read.C:385
 read.C:386
 read.C:387
 read.C:388
 read.C:389
 read.C:390
 read.C:391
 read.C:392
 read.C:393
 read.C:394
 read.C:395
 read.C:396
 read.C:397
 read.C:398
 read.C:399
 read.C:400
 read.C:401
 read.C:402
 read.C:403
 read.C:404
 read.C:405
 read.C:406
 read.C:407
 read.C:408
 read.C:409
 read.C:410
 read.C:411
 read.C:412
 read.C:413
 read.C:414
 read.C:415
 read.C:416
 read.C:417
 read.C:418
 read.C:419
 read.C:420
 read.C:421
 read.C:422
 read.C:423
 read.C:424
 read.C:425
 read.C:426
 read.C:427
 read.C:428
 read.C:429
 read.C:430
 read.C:431
 read.C:432
 read.C:433
 read.C:434
 read.C:435
 read.C:436
 read.C:437
 read.C:438
 read.C:439
 read.C:440
 read.C:441
 read.C:442
 read.C:443
 read.C:444
 read.C:445
 read.C:446
 read.C:447
 read.C:448
 read.C:449
 read.C:450
 read.C:451
 read.C:452
 read.C:453
 read.C:454
 read.C:455
 read.C:456
 read.C:457
 read.C:458
 read.C:459
 read.C:460
 read.C:461
 read.C:462
 read.C:463
 read.C:464
 read.C:465
 read.C:466
 read.C:467
 read.C:468
 read.C:469
 read.C:470
 read.C:471
 read.C:472
 read.C:473
 read.C:474
 read.C:475
 read.C:476
 read.C:477
 read.C:478
 read.C:479
 read.C:480
 read.C:481
 read.C:482
 read.C:483
 read.C:484
 read.C:485
 read.C:486
 read.C:487
 read.C:488
 read.C:489
 read.C:490
 read.C:491
 read.C:492
 read.C:493
 read.C:494
 read.C:495
 read.C:496
 read.C:497
 read.C:498
 read.C:499
 read.C:500
 read.C:501
 read.C:502
 read.C:503
 read.C:504
 read.C:505
 read.C:506
 read.C:507
 read.C:508
 read.C:509
 read.C:510
 read.C:511
 read.C:512
 read.C:513
 read.C:514
 read.C:515
 read.C:516
 read.C:517
 read.C:518
 read.C:519
 read.C:520
 read.C:521
 read.C:522
 read.C:523
 read.C:524
 read.C:525
 read.C:526
 read.C:527
 read.C:528
 read.C:529
 read.C:530
 read.C:531
 read.C:532
 read.C:533
 read.C:534
 read.C:535
 read.C:536
 read.C:537
 read.C:538
 read.C:539
 read.C:540
 read.C:541
 read.C:542
 read.C:543
 read.C:544
 read.C:545
 read.C:546
 read.C:547
 read.C:548
 read.C:549
 read.C:550
 read.C:551
 read.C:552
 read.C:553
 read.C:554
 read.C:555
 read.C:556
 read.C:557
 read.C:558
 read.C:559
 read.C:560
 read.C:561
 read.C:562
 read.C:563
 read.C:564
 read.C:565
 read.C:566
 read.C:567
 read.C:568
 read.C:569
 read.C:570
 read.C:571
 read.C:572
 read.C:573
 read.C:574
 read.C:575
 read.C:576
 read.C:577
 read.C:578
 read.C:579
 read.C:580
 read.C:581
 read.C:582
 read.C:583
 read.C:584
 read.C:585
 read.C:586
 read.C:587
 read.C:588
 read.C:589
 read.C:590
 read.C:591
 read.C:592
 read.C:593
 read.C:594
 read.C:595
 read.C:596
 read.C:597
 read.C:598
 read.C:599
 read.C:600
 read.C:601
 read.C:602
 read.C:603
 read.C:604
 read.C:605
 read.C:606
 read.C:607
 read.C:608
 read.C:609
 read.C:610
 read.C:611
 read.C:612
 read.C:613
 read.C:614
 read.C:615
 read.C:616
 read.C:617
 read.C:618
 read.C:619
 read.C:620
 read.C:621
 read.C:622
 read.C:623
 read.C:624
 read.C:625
 read.C:626
 read.C:627
 read.C:628
 read.C:629
 read.C:630
 read.C:631
 read.C:632
 read.C:633
 read.C:634
 read.C:635
 read.C:636
 read.C:637
 read.C:638
 read.C:639
 read.C:640
 read.C:641
 read.C:642
 read.C:643
 read.C:644
 read.C:645
 read.C:646
 read.C:647
 read.C:648
 read.C:649
 read.C:650
 read.C:651
 read.C:652
 read.C:653
 read.C:654
 read.C:655
 read.C:656
 read.C:657
 read.C:658
 read.C:659
 read.C:660
 read.C:661
 read.C:662
 read.C:663
 read.C:664
 read.C:665
 read.C:666
 read.C:667
 read.C:668
 read.C:669
 read.C:670
 read.C:671
 read.C:672
 read.C:673
 read.C:674
 read.C:675
 read.C:676
 read.C:677
 read.C:678
 read.C:679
 read.C:680
 read.C:681
 read.C:682
 read.C:683
 read.C:684
 read.C:685
 read.C:686
 read.C:687
 read.C:688
 read.C:689
 read.C:690
 read.C:691
 read.C:692
 read.C:693
 read.C:694
 read.C:695
 read.C:696
 read.C:697
 read.C:698
 read.C:699
 read.C:700
 read.C:701
 read.C:702
 read.C:703
 read.C:704
 read.C:705
 read.C:706
 read.C:707
 read.C:708
 read.C:709
 read.C:710
 read.C:711
 read.C:712
 read.C:713
 read.C:714
 read.C:715
 read.C:716
 read.C:717
 read.C:718
 read.C:719
 read.C:720
 read.C:721
 read.C:722
 read.C:723
 read.C:724
 read.C:725
 read.C:726
 read.C:727
 read.C:728
 read.C:729
 read.C:730
 read.C:731
 read.C:732
 read.C:733
 read.C:734
 read.C:735
 read.C:736
 read.C:737
 read.C:738
 read.C:739
 read.C:740
 read.C:741
 read.C:742
 read.C:743
 read.C:744
 read.C:745
 read.C:746
 read.C:747
 read.C:748
 read.C:749
 read.C:750
 read.C:751
 read.C:752
 read.C:753
 read.C:754
 read.C:755
 read.C:756
 read.C:757
 read.C:758
 read.C:759
 read.C:760
 read.C:761
 read.C:762
 read.C:763
 read.C:764
 read.C:765
 read.C:766
 read.C:767
 read.C:768
 read.C:769
 read.C:770
 read.C:771
 read.C:772
 read.C:773
 read.C:774
 read.C:775
 read.C:776
 read.C:777
 read.C:778
 read.C:779
 read.C:780
 read.C:781
 read.C:782
 read.C:783
 read.C:784
 read.C:785
 read.C:786
 read.C:787
 read.C:788
 read.C:789
 read.C:790
 read.C:791
 read.C:792
 read.C:793
 read.C:794
 read.C:795
 read.C:796
 read.C:797
 read.C:798
 read.C:799
 read.C:800
 read.C:801
 read.C:802
 read.C:803
 read.C:804
 read.C:805
 read.C:806
 read.C:807
 read.C:808
 read.C:809
 read.C:810
 read.C:811
 read.C:812
 read.C:813
 read.C:814
 read.C:815
 read.C:816
 read.C:817
 read.C:818
 read.C:819
 read.C:820
 read.C:821
 read.C:822
 read.C:823
 read.C:824
 read.C:825
 read.C:826
 read.C:827
 read.C:828
 read.C:829
 read.C:830
 read.C:831
 read.C:832
 read.C:833
 read.C:834
 read.C:835
 read.C:836
 read.C:837
 read.C:838
 read.C:839
 read.C:840
 read.C:841
 read.C:842
 read.C:843
 read.C:844
 read.C:845
 read.C:846
 read.C:847
 read.C:848
 read.C:849
 read.C:850
 read.C:851
 read.C:852
 read.C:853
 read.C:854
 read.C:855
 read.C:856
 read.C:857
 read.C:858
 read.C:859
 read.C:860
 read.C:861
 read.C:862
 read.C:863
 read.C:864
 read.C:865
 read.C:866
 read.C:867
 read.C:868
 read.C:869
 read.C:870
 read.C:871
 read.C:872
 read.C:873
 read.C:874
 read.C:875
 read.C:876
 read.C:877
 read.C:878
 read.C:879
 read.C:880
 read.C:881
 read.C:882
 read.C:883
 read.C:884
 read.C:885
 read.C:886
 read.C:887
 read.C:888
 read.C:889
 read.C:890
 read.C:891
 read.C:892
 read.C:893
 read.C:894
 read.C:895
 read.C:896
 read.C:897
 read.C:898
 read.C:899
 read.C:900
 read.C:901
 read.C:902
 read.C:903
 read.C:904
 read.C:905
 read.C:906
 read.C:907
 read.C:908
 read.C:909
 read.C:910
 read.C:911
 read.C:912
 read.C:913
 read.C:914
 read.C:915
 read.C:916
 read.C:917
 read.C:918
 read.C:919
 read.C:920
 read.C:921
 read.C:922
 read.C:923
 read.C:924
 read.C:925
 read.C:926
 read.C:927
 read.C:928
 read.C:929
 read.C:930
 read.C:931
 read.C:932
 read.C:933
 read.C:934
 read.C:935
 read.C:936
 read.C:937
 read.C:938
 read.C:939
 read.C:940
 read.C:941
 read.C:942
 read.C:943
 read.C:944
 read.C:945
 read.C:946
 read.C:947
 read.C:948
 read.C:949
 read.C:950
 read.C:951
 read.C:952
 read.C:953
 read.C:954
 read.C:955
 read.C:956
 read.C:957
 read.C:958
 read.C:959
 read.C:960
 read.C:961
 read.C:962
 read.C:963
 read.C:964
 read.C:965
 read.C:966
 read.C:967
 read.C:968
 read.C:969
 read.C:970
 read.C:971
 read.C:972
 read.C:973
 read.C:974
 read.C:975
 read.C:976
 read.C:977
 read.C:978
 read.C:979
 read.C:980
 read.C:981
 read.C:982
 read.C:983
 read.C:984
 read.C:985
 read.C:986
 read.C:987
 read.C:988
 read.C:989
 read.C:990
 read.C:991
 read.C:992
 read.C:993
 read.C:994
 read.C:995
 read.C:996
 read.C:997
 read.C:998
 read.C:999
 read.C:1000
 read.C:1001
 read.C:1002
 read.C:1003
 read.C:1004
 read.C:1005
 read.C:1006
 read.C:1007
 read.C:1008
 read.C:1009
 read.C:1010
 read.C:1011
 read.C:1012
 read.C:1013
 read.C:1014
 read.C:1015
 read.C:1016
 read.C:1017
 read.C:1018
 read.C:1019
 read.C:1020
 read.C:1021
 read.C:1022
 read.C:1023
 read.C:1024
 read.C:1025
 read.C:1026
 read.C:1027
 read.C:1028
 read.C:1029
 read.C:1030
 read.C:1031
 read.C:1032
 read.C:1033
 read.C:1034
 read.C:1035
 read.C:1036
 read.C:1037
 read.C:1038
 read.C:1039
 read.C:1040
 read.C:1041
 read.C:1042
 read.C:1043
 read.C:1044
 read.C:1045
 read.C:1046
 read.C:1047
 read.C:1048
 read.C:1049
 read.C:1050
 read.C:1051
 read.C:1052
 read.C:1053
 read.C:1054
 read.C:1055
 read.C:1056
 read.C:1057
 read.C:1058
 read.C:1059
 read.C:1060
 read.C:1061
 read.C:1062
 read.C:1063
 read.C:1064
 read.C:1065
 read.C:1066
 read.C:1067
 read.C:1068
 read.C:1069
 read.C:1070
 read.C:1071
 read.C:1072
 read.C:1073
 read.C:1074
 read.C:1075
 read.C:1076
 read.C:1077
 read.C:1078
 read.C:1079
 read.C:1080
 read.C:1081
 read.C:1082
 read.C:1083
 read.C:1084
 read.C:1085
 read.C:1086
 read.C:1087
 read.C:1088
 read.C:1089
 read.C:1090
 read.C:1091
 read.C:1092
 read.C:1093
 read.C:1094
 read.C:1095
 read.C:1096
 read.C:1097
 read.C:1098
 read.C:1099
 read.C:1100
 read.C:1101
 read.C:1102
 read.C:1103
 read.C:1104
 read.C:1105
 read.C:1106
 read.C:1107
 read.C:1108
 read.C:1109
 read.C:1110
 read.C:1111
 read.C:1112
 read.C:1113
 read.C:1114
 read.C:1115
 read.C:1116
 read.C:1117
 read.C:1118
 read.C:1119
 read.C:1120
 read.C:1121
 read.C:1122
 read.C:1123
 read.C:1124
 read.C:1125
 read.C:1126
 read.C:1127
 read.C:1128
 read.C:1129
 read.C:1130
 read.C:1131
 read.C:1132
 read.C:1133
 read.C:1134
 read.C:1135
 read.C:1136
 read.C:1137
 read.C:1138
 read.C:1139
 read.C:1140
 read.C:1141
 read.C:1142
 read.C:1143
 read.C:1144
 read.C:1145
 read.C:1146
 read.C:1147
 read.C:1148
 read.C:1149
 read.C:1150
 read.C:1151
 read.C:1152
 read.C:1153
 read.C:1154
 read.C:1155
 read.C:1156
 read.C:1157
 read.C:1158
 read.C:1159
 read.C:1160
 read.C:1161
 read.C:1162
 read.C:1163
 read.C:1164
 read.C:1165
 read.C:1166
 read.C:1167
 read.C:1168
 read.C:1169
 read.C:1170
 read.C:1171
 read.C:1172
 read.C:1173
 read.C:1174
 read.C:1175
 read.C:1176
 read.C:1177
 read.C:1178
 read.C:1179
 read.C:1180
 read.C:1181
 read.C:1182
 read.C:1183
 read.C:1184
 read.C:1185
 read.C:1186
 read.C:1187
 read.C:1188
 read.C:1189
 read.C:1190
 read.C:1191
 read.C:1192
 read.C:1193
 read.C:1194
 read.C:1195
 read.C:1196
 read.C:1197
 read.C:1198
 read.C:1199
 read.C:1200
 read.C:1201
 read.C:1202
 read.C:1203
 read.C:1204
 read.C:1205
 read.C:1206
 read.C:1207
 read.C:1208
 read.C:1209
 read.C:1210
 read.C:1211
 read.C:1212
 read.C:1213
 read.C:1214
 read.C:1215
 read.C:1216
 read.C:1217
 read.C:1218
 read.C:1219
 read.C:1220
 read.C:1221
 read.C:1222
 read.C:1223
 read.C:1224
 read.C:1225
 read.C:1226
 read.C:1227
 read.C:1228
 read.C:1229
 read.C:1230
 read.C:1231
 read.C:1232
 read.C:1233
 read.C:1234
 read.C:1235
 read.C:1236
 read.C:1237
 read.C:1238
 read.C:1239
 read.C:1240
 read.C:1241
 read.C:1242
 read.C:1243
 read.C:1244
 read.C:1245
 read.C:1246
 read.C:1247
 read.C:1248
 read.C:1249
 read.C:1250
 read.C:1251
 read.C:1252
 read.C:1253
 read.C:1254
 read.C:1255
 read.C:1256
 read.C:1257
 read.C:1258
 read.C:1259
 read.C:1260
 read.C:1261
 read.C:1262
 read.C:1263
 read.C:1264
 read.C:1265
 read.C:1266
 read.C:1267
 read.C:1268
 read.C:1269
 read.C:1270
 read.C:1271
 read.C:1272
 read.C:1273
 read.C:1274
 read.C:1275
 read.C:1276
 read.C:1277
 read.C:1278
 read.C:1279
 read.C:1280
 read.C:1281
 read.C:1282
 read.C:1283
 read.C:1284
 read.C:1285
 read.C:1286
 read.C:1287
 read.C:1288
 read.C:1289
 read.C:1290
 read.C:1291
 read.C:1292
 read.C:1293
 read.C:1294
 read.C:1295
 read.C:1296
 read.C:1297
 read.C:1298
 read.C:1299
 read.C:1300
 read.C:1301
 read.C:1302
 read.C:1303
 read.C:1304
 read.C:1305
 read.C:1306
 read.C:1307
 read.C:1308
 read.C:1309
 read.C:1310
 read.C:1311
 read.C:1312
 read.C:1313
 read.C:1314
 read.C:1315
 read.C:1316
 read.C:1317
 read.C:1318
 read.C:1319
 read.C:1320
 read.C:1321
 read.C:1322
 read.C:1323
 read.C:1324
 read.C:1325
 read.C:1326
 read.C:1327
 read.C:1328
 read.C:1329
 read.C:1330
 read.C:1331
 read.C:1332
 read.C:1333
 read.C:1334
 read.C:1335
 read.C:1336
 read.C:1337
 read.C:1338
 read.C:1339
 read.C:1340
 read.C:1341
 read.C:1342
 read.C:1343
 read.C:1344
 read.C:1345
 read.C:1346
 read.C:1347
 read.C:1348
 read.C:1349
 read.C:1350
 read.C:1351
 read.C:1352
 read.C:1353
 read.C:1354
 read.C:1355
 read.C:1356
 read.C:1357
 read.C:1358
 read.C:1359
 read.C:1360
 read.C:1361
 read.C:1362
 read.C:1363
 read.C:1364
 read.C:1365
 read.C:1366
 read.C:1367
 read.C:1368
 read.C:1369
 read.C:1370
 read.C:1371
 read.C:1372
 read.C:1373
 read.C:1374
 read.C:1375
 read.C:1376
 read.C:1377
 read.C:1378
 read.C:1379
 read.C:1380
 read.C:1381
 read.C:1382
 read.C:1383
 read.C:1384
 read.C:1385
 read.C:1386
 read.C:1387
 read.C:1388
 read.C:1389
 read.C:1390
 read.C:1391
 read.C:1392
 read.C:1393
 read.C:1394
 read.C:1395
 read.C:1396
 read.C:1397
 read.C:1398
 read.C:1399
 read.C:1400
 read.C:1401
 read.C:1402
 read.C:1403
 read.C:1404
 read.C:1405
 read.C:1406
 read.C:1407
 read.C:1408
 read.C:1409
 read.C:1410
 read.C:1411
 read.C:1412
 read.C:1413
 read.C:1414
 read.C:1415
 read.C:1416
 read.C:1417
 read.C:1418
 read.C:1419
 read.C:1420
 read.C:1421
 read.C:1422
 read.C:1423
 read.C:1424
 read.C:1425
 read.C:1426
 read.C:1427
 read.C:1428
 read.C:1429
 read.C:1430
 read.C:1431
 read.C:1432
 read.C:1433
 read.C:1434
 read.C:1435
 read.C:1436
 read.C:1437
 read.C:1438
 read.C:1439
 read.C:1440
 read.C:1441
 read.C:1442
 read.C:1443
 read.C:1444
 read.C:1445
 read.C:1446
 read.C:1447
 read.C:1448
 read.C:1449
 read.C:1450
 read.C:1451
 read.C:1452
 read.C:1453
 read.C:1454
 read.C:1455
 read.C:1456
 read.C:1457
 read.C:1458
 read.C:1459
 read.C:1460
 read.C:1461
 read.C:1462
 read.C:1463
 read.C:1464
 read.C:1465
 read.C:1466
 read.C:1467
 read.C:1468
 read.C:1469
 read.C:1470
 read.C:1471
 read.C:1472
 read.C:1473
 read.C:1474
 read.C:1475
 read.C:1476
 read.C:1477
 read.C:1478
 read.C:1479
 read.C:1480
 read.C:1481
 read.C:1482
 read.C:1483
 read.C:1484
 read.C:1485
 read.C:1486
 read.C:1487
 read.C:1488
 read.C:1489
 read.C:1490
 read.C:1491
 read.C:1492
 read.C:1493
 read.C:1494
 read.C:1495
 read.C:1496
 read.C:1497
 read.C:1498
 read.C:1499
 read.C:1500
 read.C:1501
 read.C:1502
 read.C:1503
 read.C:1504
 read.C:1505
 read.C:1506
 read.C:1507
 read.C:1508
 read.C:1509
 read.C:1510
 read.C:1511
 read.C:1512
 read.C:1513
 read.C:1514
 read.C:1515
 read.C:1516
 read.C:1517
 read.C:1518
 read.C:1519
 read.C:1520
 read.C:1521
 read.C:1522
 read.C:1523
 read.C:1524
 read.C:1525
 read.C:1526
 read.C:1527
 read.C:1528
 read.C:1529
 read.C:1530
 read.C:1531
 read.C:1532
 read.C:1533
 read.C:1534
 read.C:1535
 read.C:1536
 read.C:1537
 read.C:1538
 read.C:1539
 read.C:1540
 read.C:1541
 read.C:1542
 read.C:1543
 read.C:1544
 read.C:1545
 read.C:1546
 read.C:1547
 read.C:1548
 read.C:1549
 read.C:1550
 read.C:1551
 read.C:1552
 read.C:1553
 read.C:1554
 read.C:1555
 read.C:1556
 read.C:1557
 read.C:1558
 read.C:1559
 read.C:1560
 read.C:1561
 read.C:1562
 read.C:1563
 read.C:1564
 read.C:1565
 read.C:1566
 read.C:1567
 read.C:1568
 read.C:1569
 read.C:1570
 read.C:1571
 read.C:1572
 read.C:1573
 read.C:1574
 read.C:1575
 read.C:1576
 read.C:1577
 read.C:1578
 read.C:1579
 read.C:1580
 read.C:1581
 read.C:1582
 read.C:1583
 read.C:1584
 read.C:1585
 read.C:1586
 read.C:1587
 read.C:1588
 read.C:1589
 read.C:1590
 read.C:1591
 read.C:1592
 read.C:1593
 read.C:1594
 read.C:1595
 read.C:1596
 read.C:1597
 read.C:1598
 read.C:1599
 read.C:1600
 read.C:1601
 read.C:1602
 read.C:1603
 read.C:1604
 read.C:1605
 read.C:1606
 read.C:1607
 read.C:1608
 read.C:1609
 read.C:1610
 read.C:1611
 read.C:1612
 read.C:1613
 read.C:1614
 read.C:1615
 read.C:1616
 read.C:1617
 read.C:1618
 read.C:1619
 read.C:1620
 read.C:1621
 read.C:1622
 read.C:1623
 read.C:1624
 read.C:1625
 read.C:1626
 read.C:1627
 read.C:1628
 read.C:1629
 read.C:1630
 read.C:1631
 read.C:1632
 read.C:1633
 read.C:1634
 read.C:1635
 read.C:1636
 read.C:1637
 read.C:1638
 read.C:1639
 read.C:1640
 read.C:1641
 read.C:1642
 read.C:1643
 read.C:1644
 read.C:1645
 read.C:1646
 read.C:1647
 read.C:1648
 read.C:1649
 read.C:1650
 read.C:1651
 read.C:1652
 read.C:1653
 read.C:1654
 read.C:1655
 read.C:1656
 read.C:1657
 read.C:1658
 read.C:1659
 read.C:1660
 read.C:1661
 read.C:1662
 read.C:1663
 read.C:1664
 read.C:1665
 read.C:1666
 read.C:1667