ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <TH1F.h>
#include <TH2F.h>
#include <TF1.h>
#include <TPad.h>
#include <TGraphErrors.h>
#include <TROOT.h>
#include <TFile.h>
#include <TTree.h>
#include <TGrid.h>
#include <TGridResult.h>
#include <TMath.h>
#include <TCanvas.h>
#include <TStyle.h>
#include <TLatex.h>
#include <TImage.h>
#include <TPaveText.h>
#include <TLine.h>
#endif

void RatioPlot(TH1F **num,TH1F **den,TString t1,TString t2,TString opt,Double_t Low[],Double_t Up[]);
void SetDrawAtt(Int_t markerstyle,Int_t markercolor,Int_t markersize,Int_t linecolor,Int_t linewidth,TH1 *h1);
void ResetOutOfRange(TH1F *histo, Int_t ipart, Double_t lowRange[3], Double_t upRange[3]);

void MakeCorrectedSpectraITSsaNsigma( TString period="LHC10d",
				      TString MCname="LHC10f6a",
				      Float_t DCAcut=7,
				      Int_t lowmult=-1,
				      Int_t upmult=-1
				      )    
{

  // parameters

  Bool_t MakeMCPlots=1;
  Bool_t MakeSystErr=0;
  Bool_t NormalizeData=1;
  Bool_t NormalizeToINEL=0;
  Bool_t SaveOnlyAsymm=0;
  Bool_t CorrectOnlyForEfficiency=0;
  Bool_t MarekNorm=0;
  Bool_t DCACorrection=1;
  Bool_t GFCorrection=1;

  //MC Histos
  TH1F *fHistPrimMCposBefEvSel[3];
  TH1F *fHistPrimMCnegBefEvSel[3];
  TH1F *fHistPrimMCpos[3];
  TH1F *fHistPrimMCneg[3];
  TH1F *hHistPosNSigma[3];
  TH1F *hHistNegNSigma[3];
  TH1F *hHistPosNSigmaMean[3];
  TH1F *hHistNegNSigmaMean[3];
  TH1F *hHistPosNSigmaPrim[3];
  TH1F *hHistNegNSigmaPrim[3];
  TH1F *hHistPosNSigmaPrimMean[3];
  TH1F *hHistNegNSigmaPrimMean[3];
  TH1F *hHistPosNSigmaPrimMC[3];
  TH1F *hHistNegNSigmaPrimMC[3];
  TH1F *hHistPosNSigmaPrimMCMean[3];
  TH1F *hHistNegNSigmaPrimMCMean[3];
  TH1F *hHistPosNSigmaMC[3];
  TH1F *hHistNegNSigmaMC[3];
  TH1F *hHistPosNSigmaMCMean[3];
  TH1F *hHistNegNSigmaMCMean[3];
  TH1F *hCorrFactPos[3];
  TH1F *hCorrFactNeg[3];
  TH1F *hCorrFactPosMean[3];
  TH1F *hCorrFactNegMean[3];
  TH1F *hEffPos[3];
  TH1F *hEffNeg[3];
  TH1F *hEffPosMean[3];
  TH1F *hEffNegMean[3];
  
  //DATA Histos
  TH1F *hHistPosNSigmaDATA[3];
  TH1F *hHistNegNSigmaDATA[3];
  TH1F *hHistPosNSigmaMeanDATA[3];
  TH1F *hHistNegNSigmaMeanDATA[3];
  TH1F *hITSsaPos[3];
  TH1F *hITSsaNeg[3];
  TH1F *hITSsaPosMean[3];
  TH1F *hITSsaNegMean[3];
  TH1F *hITSsaRawPos[3];
  TH1F *hITSsaRawNeg[3];
  TH1F *hITSsaRawPosMean[3];
  TH1F *hITSsaRawNegMean[3];
  
  //  Float_t nmin=1.5;
  Double_t Low[3]={0.10,0.2,0.3};
  Double_t Up[3]={0.4,0.5,0.7};
  Double_t lowRange[3]={0.10,0.2,0.3};
  Double_t upRange[3]={0.6,0.6,0.6};

  

  const Int_t nbinspt=22;
  Double_t xbins[nbinspt+1]={0.08,0.10,0.12,0.14,0.16,0.18,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70,0.75,0.80,0.85,0.90,0.95,1.0};
    
  TString fname_MC=Form("./%s/AnalysisResults.root",MCname.Data());
  cout<<fname_MC.Data()<<endl;

  TString foutMC=Form("outSpectraMC_%s_%s_%.0fDCA.root",period.Data(),MCname.Data(),DCAcut);
  TFile *outMC=new TFile(foutMC.Data(),"recreate");
  outMC->Close();
  delete outMC;

  TString foutDATA;
  if(CorrectOnlyForEfficiency){
    foutDATA=Form("outSpectraData_%s_%s_%.0fDCA.root",period.Data(),MCname.Data(),DCAcut);
  }else{
    foutDATA=Form("outCorrSpectraData_%s_%s_%.0fDCA.root",period.Data(),MCname.Data(),DCAcut);
  }

  TString fnameDATA=Form("%s/AnalysisResults.root",period.Data());
  cout<<fnameDATA.Data()<<endl;
  TFile *outDATA=new TFile(foutDATA.Data(),"recreate");
  outDATA->Close();
  delete outDATA;
  

  TString lnameMC=Form("clistITSsaMult%ito%i",lowmult,upmult);
  Printf("\n------------------ READING MC  %s -------------------\n",lnameMC.Data());
  TFile *finMC = new TFile(fname_MC.Data());
  TDirectory *dirFileMC=(TDirectory*)finMC->Get("PWG2SpectraITSsa");
  TList * cOutputMC = (TList*)dirFileMC->Get(lnameMC.Data());
  //cOutputMC->Print();
  
  TH1F *fHistNEventsMC = (TH1F*)cOutputMC->FindObject("fHistNEvents");
  Float_t normMC=(Float_t)1/fHistNEventsMC->GetBinContent(fHistNEventsMC->FindBin(1.));
  printf("- NormalizationMC (NEvents): %.0f \n",fHistNEventsMC->GetBinContent(fHistNEventsMC->FindBin(1.))); 
  
  for(Int_t ipart=0;ipart<=2;ipart++){
    fHistPrimMCposBefEvSel[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistPrimMCposBefEvSel%i",ipart));//primaries generated (before event selection)
    fHistPrimMCnegBefEvSel[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistPrimMCnegBefEvSel%i",ipart));
    fHistPrimMCpos[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistPrimMCpos%i",ipart)); //primaries generated (after event selection)
    fHistPrimMCneg[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistPrimMCneg%i",ipart));
    hHistPosNSigma[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistPosNSigma%i",ipart));//NSigma recontructed, no MCtruth
    hHistNegNSigma[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistNegNSigma%i",ipart));
    hHistPosNSigmaPrimMC[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistPosNSigmaPrimMC%i",ipart));//NSigma recontructed, MCtruth
    hHistNegNSigmaPrimMC[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistNegNSigmaPrimMC%i",ipart));
    hHistPosNSigmaMC[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistPosNSigmaMC%i",ipart));//NSigma recontructed, MCtruth
    hHistNegNSigmaMC[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistNegNSigmaMC%i",ipart));
    hHistPosNSigmaPrim[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistPosNSigmaPrim%i",ipart));//NSigma recontructed, truth
    hHistNegNSigmaPrim[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistNegNSigmaPrim%i",ipart));
    hHistPosNSigmaMean[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistPosNSigmaMean%i",ipart));//NSigmaMean recontructed, no MCtruth
    hHistNegNSigmaMean[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistNegNSigmaMean%i",ipart));
    hHistPosNSigmaPrimMCMean[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistPosNSigmaPrimMCMean%i",ipart));//NSigmaMean recontructed, no MCtruth
    hHistNegNSigmaPrimMCMean[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistNegNSigmaPrimMCMean%i",ipart));
    hHistPosNSigmaMCMean[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistPosNSigmaMCMean%i",ipart));//NSigmaMean recontructed, no MCtruth
    hHistNegNSigmaMCMean[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistNegNSigmaMCMean%i",ipart));
    hHistPosNSigmaPrimMean[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistPosNSigmaPrimMean%i",ipart));//NSigmaMean recontructed, no MCtruth
    hHistNegNSigmaPrimMean[ipart]=(TH1F*)cOutputMC->FindObject(Form("hHistNegNSigmaPrimMean%i",ipart));
  }
    
  for(Int_t ipart=0;ipart<=2;ipart++){
    hCorrFactPos[ipart]=new TH1F(Form("hCorrFactPos%i",ipart),Form("hCorrFactPos%i",ipart),nbinspt,xbins);
    hCorrFactNeg[ipart]=new TH1F(Form("hCorrFactNeg%i",ipart),Form("hCorrFactNeg%i",ipart),nbinspt,xbins);
    hCorrFactPosMean[ipart]=new TH1F(Form("hCorrFactPosMean%i",ipart),Form("hCorrFactPosMean%i",ipart),nbinspt,xbins);
    hCorrFactNegMean[ipart]=new TH1F(Form("hCorrFactNegMean%i",ipart),Form("hCorrFactNegMean%i",ipart),nbinspt,xbins);
    hEffPos[ipart]=new TH1F(Form("hEffPos%i",ipart),Form("hEffPos%i",ipart),nbinspt,xbins);
    hEffNeg[ipart]=new TH1F(Form("hEffNeg%i",ipart),Form("hEffNeg%i",ipart),nbinspt,xbins);
    hEffPosMean[ipart]=new TH1F(Form("hEffPosMean%i",ipart),Form("hEffPosMean%i",ipart),nbinspt,xbins);
    hEffNegMean[ipart]=new TH1F(Form("hEffNegMean%i",ipart),Form("hEffNegMean%i",ipart),nbinspt,xbins);
  }
    
  for(Int_t ipart=0;ipart<=2;ipart++){     
    hHistPosNSigma[ipart]->Sumw2();
    hHistNegNSigma[ipart]->Sumw2();
    hHistPosNSigmaMean[ipart]->Sumw2();
    hHistNegNSigmaMean[ipart]->Sumw2();
    hHistPosNSigmaPrimMC[ipart]->Sumw2();
    hHistNegNSigmaPrimMC[ipart]->Sumw2();
    hHistPosNSigmaMC[ipart]->Sumw2();
    hHistNegNSigmaMC[ipart]->Sumw2();
    hHistPosNSigmaPrimMCMean[ipart]->Sumw2();
    hHistNegNSigmaPrimMCMean[ipart]->Sumw2();
    hHistPosNSigmaPrim[ipart]->Sumw2();
    hHistNegNSigmaPrim[ipart]->Sumw2();
    hHistPosNSigmaPrimMean[ipart]->Sumw2();
    hHistNegNSigmaPrimMean[ipart]->Sumw2();
    hHistPosNSigmaMCMean[ipart]->Sumw2();
    hHistNegNSigmaMCMean[ipart]->Sumw2();
    
    hCorrFactPos[ipart]->Divide(hHistPosNSigma[ipart],fHistPrimMCposBefEvSel[ipart],1,1,"B");
    hCorrFactNeg[ipart]->Divide(hHistNegNSigma[ipart],fHistPrimMCnegBefEvSel[ipart],1,1,"B");
    hCorrFactPosMean[ipart]->Divide(hHistPosNSigmaMean[ipart],fHistPrimMCposBefEvSel[ipart],1,1,"B");
    hCorrFactNegMean[ipart]->Divide(hHistNegNSigmaMean[ipart],fHistPrimMCnegBefEvSel[ipart],1,1,"B");
    
    // hCorrFactPos[ipart]->Divide(hHistPosNSigmaPrim[ipart],fHistPrimMCposBefEvSel[ipart],1,1,"B");
    // hCorrFactNeg[ipart]->Divide(hHistNegNSigmaPrim[ipart],fHistPrimMCnegBefEvSel[ipart],1,1,"B");
    // hCorrFactPosMean[ipart]->Divide(hHistPosNSigmaPrimMean[ipart],fHistPrimMCposBefEvSel[ipart],1,1,"B");
    // hCorrFactNegMean[ipart]->Divide(hHistNegNSigmaPrimMean[ipart],fHistPrimMCnegBefEvSel[ipart],1,1,"B");
    
    //hCorrFactPos[ipart]->Divide(hHistPosNSigmaPrimMC[ipart],fHistPrimMCposBefEvSel[ipart],1,1,"B");
    //hCorrFactNeg[ipart]->Divide(hHistNegNSigmaPrimMC[ipart],fHistPrimMCnegBefEvSel[ipart],1,1,"B");
    //hCorrFactPosMean[ipart]->Divide(hHistPosNSigmaPrimMCMean[ipart],fHistPrimMCposBefEvSel[ipart],1,1,"B");
    //hCorrFactNegMean[ipart]->Divide(hHistNegNSigmaPrimMCMean[ipart],fHistPrimMCnegBefEvSel[ipart],1,1,"B");
    
    hCorrFactPos[ipart]->SetTitle(Form("Correction Factor NSigma Pos%i",ipart));
    hCorrFactNeg[ipart]->SetTitle(Form("Correction Factor NSigma Neg%i",ipart));
    hCorrFactPosMean[ipart]->SetTitle(Form("Corr Fact NSigma Pos%i",ipart));
    hCorrFactNegMean[ipart]->SetTitle(Form("Corr Fact NSigma Neg%i",ipart));
    hCorrFactPos[ipart]->SetName(Form("hCorrFactPos%i",ipart));
    hCorrFactNeg[ipart]->SetName(Form("hCorrFactNeg%i",ipart));
    hCorrFactPosMean[ipart]->SetName(Form("hCorrFactPosMean%i",ipart));
    hCorrFactNegMean[ipart]->SetName(Form("hCorrFactNegMean%i",ipart));
    SetDrawAtt(21+ipart,ipart+4,1,ipart+4,1,hCorrFactPos[ipart]);
    SetDrawAtt(25+ipart,ipart+4,1,ipart+4,1,hCorrFactNeg[ipart]);
    SetDrawAtt(21+ipart,ipart+1,1,ipart+1,1,hCorrFactPosMean[ipart]);
    SetDrawAtt(25+ipart,ipart+1,1,ipart+1,1,hCorrFactNegMean[ipart]); 
    ResetOutOfRange(hCorrFactPos[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hCorrFactNeg[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hCorrFactPosMean[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hCorrFactNegMean[ipart],ipart,lowRange,upRange);
    
    hHistPosNSigmaPrimMC[ipart]->Sumw2();
    hHistNegNSigmaPrimMC[ipart]->Sumw2();
    hHistPosNSigmaPrimMCMean[ipart]->Sumw2();
    hHistNegNSigmaPrimMCMean[ipart]->Sumw2();
    hEffPos[ipart]->Divide(hHistPosNSigmaPrimMC[ipart],fHistPrimMCpos[ipart],1,1,"B");
    hEffNeg[ipart]->Divide(hHistNegNSigmaPrimMC[ipart],fHistPrimMCneg[ipart],1,1,"B");
    hEffPosMean[ipart]->Divide(hHistPosNSigmaPrimMCMean[ipart],fHistPrimMCpos[ipart],1,1,"B");
    hEffNegMean[ipart]->Divide(hHistNegNSigmaPrimMCMean[ipart],fHistPrimMCneg[ipart],1,1,"B");
    hEffPos[ipart]->SetTitle(Form("Efficiency NSigma Pos%i",ipart));
    hEffNeg[ipart]->SetTitle(Form("Efficiency NSigma Neg%i",ipart));
    hEffPosMean[ipart]->SetTitle(Form("Efficiency NSigma Asymm Pos%i",ipart));
    hEffNegMean[ipart]->SetTitle(Form("Efficiency NSigma Asymm Neg%i",ipart));
    hEffPos[ipart]->SetName(Form("hEffPos%i",ipart));
    hEffNeg[ipart]->SetName(Form("hEffNeg%i",ipart));
    hEffPosMean[ipart]->SetName(Form("hEffPosMean%i",ipart));
    hEffNegMean[ipart]->SetName(Form("hEffNegMean%i",ipart));
    
    SetDrawAtt(21+ipart,ipart+4,1,ipart+4,1,hEffPos[ipart]);
    SetDrawAtt(25+ipart,ipart+4,1,ipart+4,1,hEffNeg[ipart]);
    SetDrawAtt(21+ipart,ipart+1,1,ipart+1,1,hEffPosMean[ipart]);
    SetDrawAtt(25+ipart,ipart+1,1,ipart+1,1,hEffNegMean[ipart]);
    ResetOutOfRange(hEffPos[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hEffNeg[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hEffPosMean[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hEffNegMean[ipart],ipart,lowRange,upRange);
      
      
    hCorrFactPos[ipart]->SetMinimum(0.);
    hCorrFactNeg[ipart]->SetMinimum(0.);
    hCorrFactPosMean[ipart]->SetMinimum(0.);
    hCorrFactNegMean[ipart]->SetMinimum(0.);
    hEffPos[ipart]->SetMinimum(0.);
    hEffNeg[ipart]->SetMinimum(0.);
    hEffPosMean[ipart]->SetMinimum(0.);
    hEffNegMean[ipart]->SetMinimum(0.);
    hCorrFactPos[ipart]->SetMaximum(1.);
    hCorrFactNeg[ipart]->SetMaximum(1.);
    hCorrFactPosMean[ipart]->SetMaximum(1.);
    hCorrFactNegMean[ipart]->SetMaximum(1.);
    hEffPos[ipart]->SetMaximum(1.);
    hEffNeg[ipart]->SetMaximum(1.);
    hEffPosMean[ipart]->SetMaximum(1.);
    hEffNegMean[ipart]->SetMaximum(1.);
  }
    
  if(MakeMCPlots){
    TCanvas *cCorr=new TCanvas("cCorr","cCorr");
    cCorr->SetGridy();
    for(Int_t ipart=0;ipart<=2;ipart++){
      if(ipart==0)hCorrFactPos[ipart]->Draw("P");
      else hCorrFactPos[ipart]->Draw("PSAME");
      hCorrFactNeg[ipart]->Draw("PSAME");
    }
    cCorr->BuildLegend();
    
    TCanvas *cCorrMean=new TCanvas("cCorrMean","cCorrMean");
    cCorrMean->SetGridy();
    for(Int_t ipart=0;ipart<=2;ipart++){
      if(ipart==0){
	TH1F * hempty=(TH1F*)hCorrFactPosMean[ipart]->Clone();
	hempty->SetXTitle("P_{T} (GeV/c)");
	hempty->SetYTitle("Acc x #epsilon x Contamination");
	hempty->Reset("all");
	hempty->Draw();
	
      }
      hCorrFactPosMean[ipart]->Draw("PSAME");
      hCorrFactNegMean[ipart]->Draw("PSAME");
    }
    cCorrMean->BuildLegend();
    
    TCanvas *cCorrcfPos=new TCanvas("cCorrcfPos","cCorrcfPos");
    cCorrcfPos->SetGridy();
    for(Int_t ipart=0;ipart<=2;ipart++){
      if(ipart==0)hCorrFactPos[ipart]->Draw("P");
      else hCorrFactPos[ipart]->Draw("PSAME");
      hCorrFactPosMean[ipart]->Draw("PSAME");
    }
    cCorrcfPos->BuildLegend();
    
    TCanvas *cCorrcfNeg=new TCanvas("cCorrcfNeg","cCorrcfNeg");
    cCorrcfNeg->SetGridy();
    for(Int_t ipart=0;ipart<=2;ipart++){
      if(ipart==0)hCorrFactNeg[ipart]->Draw("P");
      else hCorrFactNeg[ipart]->Draw("PSAME");
      hCorrFactNegMean[ipart]->Draw("PSAME");
    }
    cCorrcfNeg->BuildLegend();
    
    TCanvas *cEff=new TCanvas("cEff","cEff");
    cEff->SetGridy();
    for(Int_t ipart=0;ipart<=2;ipart++){
      if(ipart==0)hEffPos[ipart]->Draw("P");
      else hEffPos[ipart]->Draw("PSAME");
      hEffNeg[ipart]->Draw("PSAME");
    }
    cEff->BuildLegend();
    
    TCanvas *cEffMean=new TCanvas("cEffMean","cEffMean");
    cEffMean->SetGridy();
    for(Int_t ipart=0;ipart<=2;ipart++){
      if(ipart==0)hEffPosMean[ipart]->Draw("P");
      else hEffPosMean[ipart]->Draw("PSAME");
      hEffNegMean[ipart]->Draw("PSAME");
    }
    cEffMean->BuildLegend();
    
    RatioPlot(hEffNegMean,hEffPosMean,"Neg","Pos","Efficiency",Low,Up);
    
    
    TCanvas *cEffcfPos=new TCanvas("cEffcfPos","cEffcfPos");
    cEffcfPos->SetGridy();
    for(Int_t ipart=0;ipart<=2;ipart++){
      if(ipart==0)hEffPos[ipart]->Draw("P");
      else hEffPos[ipart]->Draw("PSAME");
      hEffPosMean[ipart]->Draw("PSAME");
    }
    cEffcfPos->BuildLegend();
    
    TCanvas *cEffcfNeg=new TCanvas("cEffcfNeg","cEffcfNeg");
    cEffcfNeg->SetGridy();
    for(Int_t ipart=0;ipart<=2;ipart++){
      if(ipart==0)hEffNeg[ipart]->Draw("P");
      else hEffNeg[ipart]->Draw("PSAME");
      hEffNegMean[ipart]->Draw("PSAME");
    }
    cEffcfNeg->BuildLegend();
  }
    
    
    
    
  for(Int_t ipart=0;ipart<=2;ipart++) {
    hHistPosNSigma[ipart]->Scale(normMC,"width");
    hHistNegNSigma[ipart]->Scale(normMC,"width");
    hHistPosNSigmaMean[ipart]->Scale(normMC,"width");
    hHistNegNSigmaMean[ipart]->Scale(normMC,"width");
  }
    

  //////////////////////////////Prim/All Sec/All SecStr/All
  TH1F *hPrimPos[3];
  TH1F *hPrimNeg[3];
  TH1F *hSecPos[3];
  TH1F *hSecNeg[3];
  TH1F *hSecStrPos[3];
  TH1F *hSecStrNeg[3];
  TH1F *hAllPos[3];
  TH1F *hAllNeg[3];
  TH1F *hAllSecPos[3];
  TH1F *hAllSecNeg[3];
    
  for(Int_t ipart=0;ipart<=2;ipart++){
    hPrimPos[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistPrimMCposReco%i",ipart));
    hPrimNeg[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistPrimMCnegReco%i",ipart));
    hSecPos[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistSecMatMCposReco%i",ipart));
    hSecNeg[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistSecMatMCnegReco%i",ipart));
    hSecStrPos[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistSecStrMCposReco%i",ipart));
    hSecStrNeg[ipart]=(TH1F*)cOutputMC->FindObject(Form("fHistSecStrMCnegReco%i",ipart));
    
    hAllSecPos[ipart]=(TH1F*)hSecPos[ipart]->Clone(Form("hAllSecPos%i",ipart));
    hAllSecPos[ipart]->Add(hSecStrPos[ipart]);
    hAllSecNeg[ipart]=(TH1F*)hSecNeg[ipart]->Clone(Form("hAllSecNeg%i",ipart));
    hAllSecNeg[ipart]->Add(hSecStrNeg[ipart]);
    hAllPos[ipart]=(TH1F*)hPrimPos[ipart]->Clone(Form("hAllPos%i",ipart));
    hAllPos[ipart]->Add(hSecPos[ipart]);
    hAllPos[ipart]->Add(hSecStrPos[ipart]);
    hAllNeg[ipart]=(TH1F*)hPrimNeg[ipart]->Clone(Form("hAllNeg%i",ipart));
    hAllNeg[ipart]->Add(hSecNeg[ipart]);
    hAllNeg[ipart]->Add(hSecStrNeg[ipart]);
    
    hPrimPos[ipart]->Divide(hAllPos[ipart]);
    hSecPos[ipart]->Divide(hAllPos[ipart]);
    hSecStrPos[ipart]->Divide(hAllPos[ipart]);
    hPrimNeg[ipart]->Divide(hAllNeg[ipart]);
    hSecNeg[ipart]->Divide(hAllNeg[ipart]);
    hSecStrNeg[ipart]->Divide(hAllNeg[ipart]);
    
    hAllSecPos[ipart]->Divide(hAllPos[ipart]);
    hAllSecNeg[ipart]->Divide(hAllNeg[ipart]);
    for(Int_t binnum=1;binnum<=hAllSecNeg[ipart]->GetNbinsX();binnum++){
      hAllSecPos[ipart]->SetBinContent(binnum,1-hAllSecPos[ipart]->GetBinContent(binnum));
      hAllSecNeg[ipart]->SetBinContent(binnum,1-hAllSecNeg[ipart]->GetBinContent(binnum));
    }
  }
  
  /////////////////////////////////////////////
  TFile *outMC2=new TFile(foutMC.Data(),"update");
  TList *lMC=new TList();
  lMC->SetOwner();
  lMC->SetName(Form("MC_Mult%ito%i",lowmult,upmult));
  for(Int_t ipart=0;ipart<=2;ipart++){
    lMC->Add(hCorrFactPos[ipart]);
    lMC->Add(hCorrFactNeg[ipart]);
    lMC->Add(hCorrFactPosMean[ipart]);
    lMC->Add(hCorrFactNegMean[ipart]);
    lMC->Add(hEffPos[ipart]);
    lMC->Add(hEffNeg[ipart]);
    lMC->Add(hEffPosMean[ipart]);
    lMC->Add(hEffNegMean[ipart]);
    lMC->Add(hHistPosNSigma[ipart]);
    lMC->Add(hHistNegNSigma[ipart]);
    lMC->Add(hHistPosNSigmaMean[ipart]);
    lMC->Add(hHistNegNSigmaMean[ipart]);
    lMC->Add(hPrimPos[ipart]);
    lMC->Add(hPrimNeg[ipart]);
    lMC->Add(hSecPos[ipart]);
    lMC->Add(hSecNeg[ipart]);
    lMC->Add(hSecStrPos[ipart]);
    lMC->Add(hSecStrNeg[ipart]);
    lMC->Add(hAllSecPos[ipart]);
    lMC->Add(hAllSecNeg[ipart]);
  }
  lMC->Write(Form("MC_Mult%ito%i",lowmult,upmult),1);
  outMC2->Close();
  delete outMC2;
  
    
  TString lnameDATA=Form("clistITSsaMult%ito%i",lowmult,upmult);
  Printf("\n\n------------------ READING DATA  %s -------------------\n",lnameDATA.Data());
  TFile *finDATA = new TFile(fnameDATA.Data());
  TDirectory *dirFileDATA=(TDirectory*)finDATA->Get("PWG2SpectraITSsa");
  TList *cOutputDATA = (TList*)dirFileDATA->Get(lnameDATA.Data());
  
  
  for(Int_t ipart=0;ipart<=2;ipart++){
    hHistPosNSigmaDATA[ipart]=(TH1F*)cOutputDATA->FindObject(Form("hHistPosNSigma%i",ipart));
    hHistNegNSigmaDATA[ipart]=(TH1F*)cOutputDATA->FindObject(Form("hHistNegNSigma%i",ipart));
    hHistPosNSigmaMeanDATA[ipart]=(TH1F*)cOutputDATA->FindObject(Form("hHistPosNSigmaMean%i",ipart));
    hHistNegNSigmaMeanDATA[ipart]=(TH1F*)cOutputDATA->FindObject(Form("hHistNegNSigmaMean%i",ipart)); 
    
    hITSsaPos[ipart]=(TH1F*)hHistPosNSigmaDATA[ipart]->Clone(Form("hITSsaPos%i",ipart));
    hITSsaNeg[ipart]=(TH1F*)hHistNegNSigmaDATA[ipart]->Clone(Form("hITSsaNeg%i",ipart));
    hITSsaPosMean[ipart]=(TH1F*)hHistPosNSigmaMeanDATA[ipart]->Clone(Form("hITSsaPosAsymm%i",ipart));
    hITSsaNegMean[ipart]=(TH1F*)hHistNegNSigmaMeanDATA[ipart]->Clone(Form("hITSsaNegAsymm%i",ipart));
    hITSsaRawPos[ipart]=(TH1F*)hHistPosNSigmaDATA[ipart]->Clone(Form("hITSsaRawPos%i",ipart));
    hITSsaRawNeg[ipart]=(TH1F*)hHistNegNSigmaDATA[ipart]->Clone(Form("hITSsaRawNeg%i",ipart));
    hITSsaRawPosMean[ipart]=(TH1F*)hHistPosNSigmaMeanDATA[ipart]->Clone(Form("hITSsaRawPosAsymm%i",ipart));
    hITSsaRawNegMean[ipart]=(TH1F*)hHistNegNSigmaMeanDATA[ipart]->Clone(Form("hITSsaRawNegAsymm%i",ipart));
    
    hITSsaPos[ipart]->Sumw2();
    hITSsaNeg[ipart]->Sumw2();
    hITSsaPosMean[ipart]->Sumw2();
    hITSsaNegMean[ipart]->Sumw2();
    hITSsaRawPos[ipart]->Sumw2();
    hITSsaRawNeg[ipart]->Sumw2();
    hITSsaRawPosMean[ipart]->Sumw2();
    hITSsaRawNegMean[ipart]->Sumw2();
    
    hITSsaPos[ipart]->Divide(hCorrFactPos[ipart]);
    hITSsaNeg[ipart]->Divide(hCorrFactNeg[ipart]);
    hITSsaPosMean[ipart]->Divide(hCorrFactPosMean[ipart]);
    hITSsaNegMean[ipart]->Divide(hCorrFactNegMean[ipart]);
    
    SetDrawAtt(21+ipart,ipart+4,1,ipart+4,1,hITSsaPos[ipart]);
    SetDrawAtt(25+ipart,ipart+4,1,ipart+4,1,hITSsaNeg[ipart]);
    SetDrawAtt(21+ipart,ipart+1,1,ipart+1,1,hITSsaPosMean[ipart]);
    SetDrawAtt(25+ipart,ipart+1,1,ipart+1,1,hITSsaNegMean[ipart]); 
    SetDrawAtt(21+ipart,ipart+4,1,ipart+4,1,hITSsaRawPos[ipart]);
    SetDrawAtt(25+ipart,ipart+4,1,ipart+4,1,hITSsaRawNeg[ipart]);
    SetDrawAtt(21+ipart,ipart+1,1,ipart+1,1,hITSsaRawPosMean[ipart]);
    SetDrawAtt(25+ipart,ipart+1,1,ipart+1,1,hITSsaRawNegMean[ipart]); 
  }
  
  if(!CorrectOnlyForEfficiency){
    
    
    if(DCACorrection){
      printf("- Correction from DCA\n");
      
      // Correction factor based on fit to DCA distr for P and Pibar
      TString fnameDCAPosP=Form("./DCACorr%s_%s_%.0fDCA_PosP_TFraction.root",period.Data(),MCname.Data(),DCAcut);
      TFile *fDCAPosP= new TFile(fnameDCAPosP.Data());
      TH1F * hDCAPosP= (TH1F*)fDCAPosP->Get("hPrimAllDATAMC");
      //TH1F * hDCAPosP= (TH1F*)fDCAPosP->Get("hPrimAllDATA");
      TString fnameDCANegP=Form("./DCACorr%s_%s_%.0fDCA_NegP_TFraction.root",period.Data(),MCname.Data(),DCAcut);
      TFile *fDCANegP= new TFile(fnameDCANegP.Data());
      TH1F * hDCANegP= (TH1F*)fDCANegP->Get("hPrimAllDATAMC");
      //TH1F * hDCANegP= (TH1F*)fDCANegP->Get("hPrimAllDATA");
      
      for(Int_t pbin=0;pbin<=hDCAPosP->GetNbinsX();pbin++)hDCAPosP->SetBinError(pbin,0);
      for(Int_t pbin=0;pbin<=hDCANegP->GetNbinsX();pbin++)hDCANegP->SetBinError(pbin,0);
      
      hITSsaPos[2]->Multiply(hDCAPosP);
      hITSsaNeg[2]->Multiply(hDCANegP);
      hITSsaPosMean[2]->Multiply(hDCAPosP);
      hITSsaNegMean[2]->Multiply(hDCANegP);
      
      hDCAPosP->Draw("");
      hDCANegP->Draw("same"); 

    }
    else{
      Printf("NO DCA correction for protons");
    }
    
    if(GFCorrection){
      printf("- Geant/FLUKA correction\n"); 
      //GeantFluka correction for Pi and K
      TString fnameGeanFlukaPi="$ALICE_ROOT/PWGLF/SPECTRA/PiKaPr/ITSsa/RootFilesGeantFlukaCorrection/correctionForCrossSection.211.root";
      TFile *fGeanFlukaPi= new TFile(fnameGeanFlukaPi.Data());
      TH1F *hGeantFlukaPiPos=(TH1F*)fGeanFlukaPi->Get("gHistCorrectionForCrossSectionParticles");
      TH1F *hGeantFlukaPiNeg=(TH1F*)fGeanFlukaPi->Get("gHistCorrectionForCrossSectionAntiParticles");
      for(Int_t binPi=0;binPi<=hITSsaPos[0]->GetNbinsX();binPi++){
	Float_t FlukaCorrPiPos=hGeantFlukaPiPos->GetBinContent(hGeantFlukaPiPos->FindBin(hITSsaPos[0]->GetBinCenter(binPi)));
	Float_t FlukaCorrPiNeg=hGeantFlukaPiNeg->GetBinContent(hGeantFlukaPiNeg->FindBin(hITSsaNeg[0]->GetBinCenter(binPi)));
	hITSsaPos[0]->SetBinContent(binPi,hITSsaPos[0]->GetBinContent(binPi)*FlukaCorrPiPos);
	hITSsaPos[0]->SetBinError(binPi,hITSsaPos[0]->GetBinError(binPi)*FlukaCorrPiPos);
	hITSsaNeg[0]->SetBinContent(binPi,hITSsaNeg[0]->GetBinContent(binPi)*FlukaCorrPiNeg);
	hITSsaNeg[0]->SetBinError(binPi,hITSsaNeg[0]->GetBinError(binPi)*FlukaCorrPiNeg);
	hITSsaPosMean[0]->SetBinContent(binPi,hITSsaPosMean[0]->GetBinContent(binPi)*FlukaCorrPiPos);
	hITSsaPosMean[0]->SetBinError(binPi,hITSsaPosMean[0]->GetBinError(binPi)*FlukaCorrPiPos);
	hITSsaNegMean[0]->SetBinContent(binPi,hITSsaNegMean[0]->GetBinContent(binPi)*FlukaCorrPiNeg);
	hITSsaNegMean[0]->SetBinError(binPi,hITSsaNegMean[0]->GetBinError(binPi)*FlukaCorrPiNeg);
      }
      
      TString fnameGeanFlukaK="$ALICE_ROOT/PWGLF/SPECTRA/PiKaPr/ITSsa/RootFilesGeantFlukaCorrection/correctionForCrossSection.321.root";
      TFile *fGeanFlukaK= new TFile(fnameGeanFlukaK.Data());
      TH1F *hGeantFlukaKPos=(TH1F*)fGeanFlukaK->Get("gHistCorrectionForCrossSectionParticles");
      TH1F *hGeantFlukaKNeg=(TH1F*)fGeanFlukaK->Get("gHistCorrectionForCrossSectionAntiParticles");
      for(Int_t binK=0;binK<=hITSsaPos[1]->GetNbinsX();binK++){
	Float_t FlukaCorrKPos=hGeantFlukaKPos->GetBinContent(hGeantFlukaKPos->FindBin(hITSsaPos[1]->GetBinCenter(binK)));
	Float_t FlukaCorrKNeg=hGeantFlukaKNeg->GetBinContent(hGeantFlukaKNeg->FindBin(hITSsaNeg[1]->GetBinCenter(binK)));
	hITSsaPos[1]->SetBinContent(binK,hITSsaPos[1]->GetBinContent(binK)*FlukaCorrKPos);
	hITSsaNeg[1]->SetBinContent(binK,hITSsaNeg[1]->GetBinContent(binK)*FlukaCorrKNeg);
	hITSsaPos[1]->SetBinError(binK,hITSsaPos[1]->GetBinError(binK)*FlukaCorrKPos);
	hITSsaNeg[1]->SetBinError(binK,hITSsaNeg[1]->GetBinError(binK)*FlukaCorrKNeg);
	hITSsaPosMean[1]->SetBinContent(binK,hITSsaPosMean[1]->GetBinContent(binK)*FlukaCorrKPos);
	hITSsaNegMean[1]->SetBinContent(binK,hITSsaNegMean[1]->GetBinContent(binK)*FlukaCorrKNeg);
	hITSsaPosMean[1]->SetBinError(binK,hITSsaPosMean[1]->GetBinError(binK)*FlukaCorrKPos);
	hITSsaNegMean[1]->SetBinError(binK,hITSsaNegMean[1]->GetBinError(binK)*FlukaCorrKNeg);
      }
      
      //Geant Fluka for P
      // ITS specific file for protons/antiprotons
      Int_t kNCharge=2;
      Int_t kPos=0;
      Int_t kNeg=1;
      TFile* fITS = new TFile ("$ALICE_ROOT/PWGLF/SPECTRA/PiKaPr/ITSsa/RootFilesGeantFlukaCorrection/correctionForCrossSectionITS_20100719.root");
      // TH2D * hCorrFlukaITS[kNCharge];
      TH2D * hCorrFlukaITS[2];
      hCorrFlukaITS[kPos] = (TH2D*)fITS->Get("gHistCorrectionForCrossSectionProtons");
      hCorrFlukaITS[kNeg] = (TH2D*)fITS->Get("gHistCorrectionForCrossSectionAntiProtons");
      for(Int_t icharge = 0; icharge < kNCharge; icharge++){
	Int_t nbins = hITSsaPos[2]->GetNbinsX();
	Int_t nbinsy=hCorrFlukaITS[icharge]->GetNbinsY();
	//for(Int_t binP=0;binP<=hITSsaPos[2]->GetNbinsX();binP++){
	for(Int_t ibin = 0; ibin < nbins; ibin++){
	  Float_t pt = hITSsaPos[2]->GetBinCenter(ibin);
	  Float_t minPtCorrection = hCorrFlukaITS[icharge]->GetYaxis()->GetBinLowEdge(1);
	  Float_t maxPtCorrection = hCorrFlukaITS[icharge]->GetYaxis()->GetBinLowEdge(nbinsy+1);
	  if (pt < minPtCorrection) pt = minPtCorrection+0.0001;
	  if (pt > maxPtCorrection) pt = maxPtCorrection;
	  Float_t correction = hCorrFlukaITS[icharge]->GetBinContent(1,hCorrFlukaITS[icharge]->GetYaxis()->FindBin(pt));
	  cout<<correction<<"     charge "<<icharge<<endl;
	  if(icharge==0){
	    if (correction != 0) {// If the bin is empty this is a  0
	      hITSsaPos[2]->SetBinContent(ibin,hITSsaPos[2]->GetBinContent(ibin)*correction);
	      hITSsaPos[2]->SetBinError(ibin,hITSsaPos[2]->GetBinError  (ibin)*correction);
	      hITSsaPosMean[2]->SetBinContent(ibin,hITSsaPosMean[2]->GetBinContent(ibin)*correction);
	      hITSsaPosMean[2]->SetBinError(ibin,hITSsaPosMean[2]->GetBinError  (ibin)*correction);
	      
	    }else if (hITSsaPos[2]->GetBinContent(ibin) > 0) { // If we are skipping a non-empty bin, we notify the user
	      cout << "Fluka/GEANT: Not correcting bin "<<ibin << " for protons secondaries, ITS, " << endl;
	      cout << " Bin content: " << hITSsaPos[2]->GetBinContent(ibin)  << endl;
	    }
	  }
	  if(icharge==1){
	    if (correction != 0) {// If the bin is empty this is a  0
	      hITSsaNeg[2]->SetBinContent(ibin,hITSsaNeg[2]->GetBinContent(ibin)*correction);
	      hITSsaNeg[2]->SetBinError(ibin,hITSsaNeg[2]->GetBinError  (ibin)*correction);
	      hITSsaNegMean[2]->SetBinContent(ibin,hITSsaNegMean[2]->GetBinContent(ibin)*correction);
	      hITSsaNegMean[2]->SetBinError(ibin,hITSsaNegMean[2]->GetBinError  (ibin)*correction);
	    }else if (hITSsaNeg[2]->GetBinContent(ibin) > 0) { // If we are skipping a non-empty bin, we notify the user
	      cout << "Fluka/GEANT: Not correcting bin "<<ibin << " for Antiprotons secondaries, ITS, " << endl;
	      cout << " Bin content: " << hITSsaNeg[2]->GetBinContent(ibin)  << endl;
	    }
	  }
	  
	}	
      }
    }else{
      Printf("SPECTRA ARE NOT CORRECTED FOR GEANT/FLUKA");
      
    }
    
  }else{
    Printf("SPECTRA ARE NOT CORRECTED FOR DCA FIT + GEANT/FLUKA");
  }

  Float_t norm;
  TH1F *fHistNEvents =0x0;
  if(MarekNorm){
    Printf("Normalization to the number of events with good vertex");
    TFile *finMAREK = new TFile(fnameDATA.Data());
    TDirectory *dirFileMAREK=(TDirectory*)finMAREK->Get("PWG2SpectraITSTPC");
    if(!dirFileMAREK)Printf("!dirFileMAREK");
    TString lnameMAREK=Form("outputlow%dup%dHI0",lowmult,upmult);
    TList *cOutputMAREK = (TList*)dirFileMAREK->Get(lnameMAREK.Data());
    if(!cOutputMAREK)Printf("!cOutputMAREK");
    TH1F *StatsHistMAREK=(TH1F*)cOutputMAREK->FindObject("StatsHist");
    norm=(Float_t)1/StatsHistMAREK->GetBinContent(3);
  }
  else{
    Printf("Normalization to the number of events after phys sel");
    fHistNEvents = (TH1F*)cOutputDATA->FindObject("fHistNEvents");
    norm=(Float_t)1/fHistNEvents->GetBinContent(fHistNEvents->FindBin(1.));
  }
  if(NormalizeData)printf("- Normalization (NEvents): %.0f \n",1/norm); 
  else printf("- Normalization (NEvents): %.0f !!!!!!!SPECTRA ARE NOT NORMALIZED!!!!!!\n",fHistNEvents->GetBinContent(fHistNEvents->FindBin(1.))); 
  for(Int_t ipart=0;ipart<=2;ipart++){
    if(NormalizeData){
      hITSsaPos[ipart]->Scale(norm,"width");
      hITSsaNeg[ipart]->Scale(norm,"width");
      hITSsaPosMean[ipart]->Scale(norm,"width");
      hITSsaNegMean[ipart]->Scale(norm,"width");
      hITSsaRawPos[ipart]->Scale(norm,"width");
      hITSsaRawNeg[ipart]->Scale(norm,"width");
      hITSsaRawPosMean[ipart]->Scale(norm,"width");
      hITSsaRawNegMean[ipart]->Scale(norm,"width");
    }
    else{
      hITSsaPos[ipart]->Scale(1,"width");
      hITSsaNeg[ipart]->Scale(1,"width");
      hITSsaPosMean[ipart]->Scale(1,"width");
      hITSsaNegMean[ipart]->Scale(1,"width");
      hITSsaRawPos[ipart]->Scale(1,"width");
      hITSsaRawNeg[ipart]->Scale(1,"width");
      hITSsaRawPosMean[ipart]->Scale(1,"width");
      hITSsaRawNegMean[ipart]->Scale(1,"width");
    }
    if(NormalizeToINEL){
      Float_t INEL=0.86;
      printf("Normalization to INEL : %.2f \n",INEL);
      hITSsaPos[ipart]->Scale(INEL,"");
      hITSsaNeg[ipart]->Scale(INEL,"");
      hITSsaPosMean[ipart]->Scale(INEL,"");
      hITSsaNegMean[ipart]->Scale(INEL,"");
      hITSsaRawPos[ipart]->Scale(INEL,"");
      hITSsaRawNeg[ipart]->Scale(INEL,"");
      hITSsaRawPosMean[ipart]->Scale(INEL,"");
      hITSsaRawNegMean[ipart]->Scale(INEL,"");
    }
    else printf("Normalization to INEL ignored \n");
    
    hITSsaPos[ipart]->SetMinimum(0.00001);
    hITSsaNeg[ipart]->SetMinimum(0.00001);
    hITSsaPosMean[ipart]->SetMinimum(0.00001);
    hITSsaNegMean[ipart]->SetMinimum(0.00001);
    hITSsaRawPos[ipart]->SetMinimum(0.00001);
    hITSsaRawNeg[ipart]->SetMinimum(0.00001);
    hITSsaRawPosMean[ipart]->SetMinimum(0.00001);
    hITSsaRawNegMean[ipart]->SetMinimum(0.00001);
    hITSsaPos[ipart]->GetXaxis()->SetTitle("Pt [GeV/c]");
    hITSsaNeg[ipart]->GetXaxis()->SetTitle("Pt [GeV/c]");
    hITSsaPosMean[ipart]->GetXaxis()->SetTitle("Pt [GeV/c]");
    hITSsaNegMean[ipart]->GetXaxis()->SetTitle("Pt [GeV/c]");
    hITSsaRawPos[ipart]->GetXaxis()->SetTitle("Pt [GeV/c]");
    hITSsaRawNeg[ipart]->GetXaxis()->SetTitle("Pt [GeV/c]");
    hITSsaRawPosMean[ipart]->GetXaxis()->SetTitle("Pt [GeV/c]");
    hITSsaRawNegMean[ipart]->GetXaxis()->SetTitle("Pt [GeV/c]");
    hITSsaPos[ipart]->SetTitle(Form("ITSsa NSigma Symm Pos%i",ipart));
    hITSsaNeg[ipart]->SetTitle(Form("ITSsa NSigma Symm Neg%i",ipart));
    hITSsaPosMean[ipart]->SetTitle(Form("ITSsa NSigma Asymm Pos%i",ipart));
    hITSsaNegMean[ipart]->SetTitle(Form("ITSsa NSigma Asymm Neg%i",ipart));
    hITSsaRawPos[ipart]->SetTitle(Form("ITSsaRaw NSigma Symm Pos%i",ipart));
    hITSsaRawNeg[ipart]->SetTitle(Form("ITSsaRaw NSigma Symm Neg%i",ipart));
    hITSsaRawPosMean[ipart]->SetTitle(Form("ITSsaRaw NSigma Asymm Pos%i",ipart));
    hITSsaRawNegMean[ipart]->SetTitle(Form("ITSsaRaw NSigma Asymm Neg%i",ipart));
      

    ResetOutOfRange(hITSsaPos[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hITSsaNeg[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hITSsaPosMean[ipart],ipart,lowRange,upRange);
    ResetOutOfRange(hITSsaNegMean[ipart],ipart,lowRange,upRange);

  }
  TH1F *hSystematicsITSsaPos[3];
  TH1F *hSystematicsITSsaNeg[3];
  TH1F *hSystematicsITSsaPosMean[3];
  TH1F *hSystematicsITSsaNegMean[3];
  
  if(MakeSystErr){
    printf("- making Systematic Error\n");
    //preliminary systematic error
    TFile *fsys = new TFile("RootFilesSystError/ITSsa-systematics-20101014.root");
    //fsys->Print("all");
    //cout<<fsys->GetSize()<<endl;
    TH1F* hSystPos[3];
    TH1F* hSystNeg[3];
    hSystPos[0]=(TH1F*)fsys->Get("hSystTotPosPion");
    hSystNeg[0]=(TH1F*)fsys->Get("hSystTotNegPion");
    hSystPos[1]=(TH1F*)fsys->Get("hSystTotPosKaon");
    hSystNeg[1]=(TH1F*)fsys->Get("hSystTotNegKaon");
    hSystPos[2]=(TH1F*)fsys->Get("hSystTotPosProton");
    hSystNeg[2]=(TH1F*)fsys->Get("hSystTotNegProton");

    for(Int_t ipart=0;ipart<=2;ipart++){
      hSystematicsITSsaPos[ipart]=(TH1F*)hITSsaPos[ipart]->Clone(Form("hSystematicsITSsaPos%i",ipart));  
      hSystematicsITSsaNeg[ipart]=(TH1F*)hITSsaNeg[ipart]->Clone(Form("hSystematicsITSsaNeg%i",ipart));  
      hSystematicsITSsaPosMean[ipart]=(TH1F*)hITSsaPosMean[ipart]->Clone(Form("hSystematicsITSsaPosAsymm%i",ipart));  
      hSystematicsITSsaNegMean[ipart]=(TH1F*)hITSsaNegMean[ipart]->Clone(Form("hSystematicsITSsaNegAsymm%i",ipart));  
    
      for(Int_t ibin=0;ibin<=hSystematicsITSsaPos[ipart]->GetNbinsX();ibin++){
	Float_t syserr=hSystPos[ipart]->GetBinContent(hSystPos[ipart]->FindBin(hSystematicsITSsaPos[ipart]->GetBinCenter(ibin)));
	hSystematicsITSsaPos[ipart]->SetBinError(ibin,syserr*hSystematicsITSsaPos[ipart]->GetBinContent(ibin));
      	hSystematicsITSsaPosMean[ipart]->SetBinError(ibin,syserr*hSystematicsITSsaPosMean[ipart]->GetBinContent(ibin));
      }
      for(Int_t ibin=0;ibin<=hSystematicsITSsaNeg[ipart]->GetNbinsX();ibin++){
	Float_t syserr=hSystNeg[ipart]->GetBinContent(hSystNeg[ipart]->FindBin(hSystematicsITSsaNeg[ipart]->GetBinCenter(ibin)));
	hSystematicsITSsaNeg[ipart]->SetBinError(ibin,syserr*hSystematicsITSsaNeg[ipart]->GetBinContent(ibin));
	hSystematicsITSsaNegMean[ipart]->SetBinError(ibin,syserr*hSystematicsITSsaNegMean[ipart]->GetBinContent(ibin));
      }
    }
  }
    
  TCanvas *cSpectraSymm=new TCanvas("cSpectraSymm","cSpectraSymm");
  cSpectraSymm->SetGridy();
  for(Int_t ipart=0;ipart<=2;ipart++){
    if(ipart==0)hITSsaPos[ipart]->DrawCopy("P");
    else hITSsaPos[ipart]->DrawCopy("PSAME");
    hITSsaNeg[ipart]->DrawCopy("PSAME");
  }
  cSpectraSymm->BuildLegend();
  
  TCanvas *cSpectraAsymm=new TCanvas("cSpectraAsymm","cSpectraAsymm");
  cSpectraAsymm->SetGridy();
  for(Int_t ipart=0;ipart<=2;ipart++){
    if(ipart==0)hITSsaPosMean[ipart]->DrawCopy("P");
    else hITSsaPosMean[ipart]->DrawCopy("PSAME");
    hITSsaNegMean[ipart]->DrawCopy("PSAME");
  }
  cSpectraAsymm->BuildLegend();
  

  
  ///////////////////////////  SCALING SPECTRA FOR TRACKING EFFICIENCY   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  Float_t ScalingFactor=1.015;
  Printf("SCALING FACTOR: %f",ScalingFactor);
  for(Int_t ipart=0;ipart<=2;ipart++){
    hITSsaPosMean[ipart]->Scale(ScalingFactor);
    Printf("Scaling %s by %f",hITSsaPosMean[ipart]->GetName(),ScalingFactor);
    hITSsaNegMean[ipart]->Scale(ScalingFactor);
    Printf("Scaling %s by %f",hITSsaNegMean[ipart]->GetName(),ScalingFactor);
    hITSsaPos[ipart]->Scale(ScalingFactor);
    Printf("Scaling %s by %f",hITSsaPos[ipart]->GetName(),ScalingFactor);
    hITSsaNeg[ipart]->Scale(ScalingFactor);
    Printf("Scaling %s by %f",hITSsaNeg[ipart]->GetName(),ScalingFactor);
  }
  
  TFile *outDATA2=new TFile(foutDATA.Data(),"update");
  TList *lDATA=new TList();
  lDATA->SetOwner();
  lDATA->SetName(Form("DATA_Mult%ito%i",lowmult,upmult));
  if(SaveOnlyAsymm){
    for(Int_t ipart=0;ipart<=2;ipart++)  lDATA->Add(hITSsaPosMean[ipart]);
    for(Int_t ipart=0;ipart<=2;ipart++)  lDATA->Add(hITSsaNegMean[ipart]);
  }else{
    for(Int_t ipart=0;ipart<=2;ipart++){
      lDATA->Add(fHistPrimMCposBefEvSel[ipart]);
      lDATA->Add(fHistPrimMCnegBefEvSel[ipart]);
      lDATA->Add(hHistPosNSigmaPrimMean[ipart]);
      lDATA->Add(hHistNegNSigmaPrimMean[ipart]);
      lDATA->Add(hHistPosNSigmaPrimMCMean[ipart]);
      lDATA->Add(hHistNegNSigmaPrimMCMean[ipart]);
      lDATA->Add(hITSsaPos[ipart]);
      lDATA->Add(hITSsaNeg[ipart]);
      lDATA->Add(hITSsaPosMean[ipart]);
      lDATA->Add(hITSsaNegMean[ipart]);
      lDATA->Add(hITSsaRawPos[ipart]);
      lDATA->Add(hITSsaRawNeg[ipart]);
      lDATA->Add(hITSsaRawPosMean[ipart]);
      lDATA->Add(hITSsaRawNegMean[ipart]);
    }
    if(MakeSystErr){
      for(Int_t ipart=0;ipart<=2;ipart++){
	lDATA->Add(hSystematicsITSsaPos[ipart]);
	lDATA->Add(hSystematicsITSsaNeg[ipart]);
	lDATA->Add( hSystematicsITSsaPosMean[ipart]);
	lDATA->Add( hSystematicsITSsaNegMean[ipart]);
      }
    }
  }
  lDATA->Write(Form("DATA_Mult%ito%i",lowmult,upmult),1);
  outDATA2->Close();
  delete outDATA2;
  
  
  RatioPlot(hITSsaNeg,hITSsaPos,"Neg","Pos","Symm NSigma",Low,Up);
  RatioPlot(hITSsaNegMean,hITSsaPosMean,"Neg","Pos","Assymm NSigma",Low,Up);
  RatioPlot(hITSsaPos,hITSsaPosMean,"Symm","Asymm","Positive",Low,Up);
  RatioPlot(hITSsaNeg,hITSsaNegMean,"Symm","Asymm","Negative",Low,Up);
  
  
} //end main


void ResetOutOfRange(TH1F *histo, Int_t ipart, Double_t lowRange[3], Double_t upRange[3]){
  // set to -1 the bin contents out of the selcted pt range
  for(Int_t ibin=0;ibin<=histo->GetNbinsX();ibin++){
    if(histo->GetBinCenter(ibin)<lowRange[ipart] || histo->GetBinCenter(ibin)>upRange[ipart]) histo->SetBinContent(ibin,-1);
  }
}

void RatioPlot(TH1F **num,TH1F **den,TString t1,TString t2,TString opt,Double_t Low[],Double_t Up[])
{
  gROOT->SetStyle("Plain");
  gStyle->SetOptTitle(0);
  TH1F *Num[3];
  TString title=Form("%s/%s - %s",t1.Data(),t2.Data(),opt.Data());
  TCanvas *c=new TCanvas(title.Data(),title.Data());
  c->Divide(3,2);
  for(Int_t ipart=0;ipart<=2;ipart++){
    num[ipart]->GetXaxis()->SetRangeUser(Low[ipart],Up[ipart]-0.00001);
    num[ipart]->SetMarkerColor(2);
    num[ipart]->SetLineColor(2);
    num[ipart]->SetStats(kFALSE);
    den[ipart]->GetXaxis()->SetRangeUser(Low[ipart],Up[ipart]-0.00001);
    den[ipart]->SetMarkerColor(1);
    den[ipart]->SetLineColor(1);
    den[ipart]->SetStats(kFALSE);
    c->cd(ipart+1);
    gPad->SetGridy();
    //gPad->SetLogy();
    num[ipart]->Draw("");
    den[ipart]->Draw("same");
    TPaveText *tpave=new TPaveText(0.1,0.2,0.5,0.29,"brNDC");
    tpave->SetBorderSize(0);
    tpave->SetFillStyle(0);
    tpave->SetFillColor(0);
    tpave->SetTextColor(2);
    tpave->SetTextSize(.04);
    TText *txt1=tpave->AddText(t1.Data());
    txt1->SetTextFont(62);
    txt1->SetTextColor(2);
    TText *txt2=tpave->AddText(t2.Data());
    txt2->SetTextFont(62);
    txt2->SetTextColor(1);
    tpave->Draw();
    Num[ipart]=(TH1F*)num[ipart]->Clone(title.Data());
    Num[ipart]->SetTitle(title.Data());
    Num[ipart]->Divide(den[ipart]);
    Num[ipart]->GetXaxis()->SetRangeUser(Low[ipart],Up[ipart]-0.00001);
    Num[ipart]->SetMarkerColor(4);
    Num[ipart]->SetLineColor(4);
    Num[ipart]->SetMaximum(1.2);
    Num[ipart]->SetMinimum(.8);
    c->cd(ipart+4);
    gPad->SetGridy();
    Num[ipart]->SetStats(kFALSE);
    Num[ipart]->Draw();
    TPaveText *tpave_1=new TPaveText(0.3,0.7,0.7,0.99,"brNDC");
    tpave_1->SetBorderSize(0);
    tpave_1->SetFillStyle(0);
    tpave_1->SetFillColor(0);
    tpave_1->SetTextColor(2);
    tpave_1->SetTextSize(.04);
    TText *txt1_1=tpave_1->AddText(title.Data());
    txt1_1->SetTextFont(62);
    tpave_1->Draw();
    // TLine line = TLine(Low[ipart],1,Up[ipart],1);
    // line.SetLineColor(2);
    // line.SetLineStyle(2);
    // line.SetLineWidth(2);
    // line.DrawClone("same");
  }
}




 void SetDrawAtt(Int_t markerstyle,Int_t markercolor,Int_t markersize,Int_t linecolor,Int_t linewidth,TH1 *h1)
{ 
  h1->SetMarkerStyle(markerstyle);
  h1->SetMarkerColor(markercolor);
  h1->SetMarkerSize(markersize);
  h1->SetLineColor(linecolor);
  h1->SetLineWidth(linewidth);
}


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