ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include <TLatex.h>
#include <TImage.h>
#include <TSystem.h>
#include <TPaveText.h>
#include <TH1F.h>
#include <TF1.h>
#include <TH1D.h>
#include <TH2F.h>
#include <TMath.h>
#include <TNtuple.h>
#include <TGraphErrors.h>
#include <TList.h>
#include <TLegend.h>
#include <TLegendEntry.h>
#include <TCanvas.h>
#include <TFile.h>
#include <TStyle.h>
#include <Rtypes.h>
#include "AliITSsadEdxFitter.h"
#endif


Double_t BetheBloch(Double_t *mom, Double_t *mass);
void Logo();
//

//______________________________________________________________________
void MakeRawITSsaSpectraMultiBin(Bool_t optMC=kTRUE, Int_t multibin=0){


  AliITSsadEdxFitter *ITSsa=new AliITSsadEdxFitter(optMC);

  TString filename, dirName, ps0, ps1, ps2;
  Char_t listname[50];
  if(optMC) dirName=(Form("../gridmultiplicitybins/LHC10d1_1.5sigma_7DCA_negmag/Spectra_MC_negmag_MultBin%d",multibin));
  else dirName=(Form("../gridmultiplicitybins/data_1.5sigma_7DCA_negmag/Spectra_data_negmag_MultBin%d",multibin));
  switch(multibin){
  case 0:
    sprintf(listname,"clistITSsaMult0to9999");
    break;
  case 1:
    sprintf(listname,"clistITSsaMult0to5");
    break;
  case 2:
    sprintf(listname,"clistITSsaMult6to9");
    break;
  case 3:
    sprintf(listname,"clistITSsaMult10to14");
    break;
  case 4:
    sprintf(listname,"clistITSsaMult15to22");
    break;
  case 5:
    sprintf(listname,"clistITSsaMult23to9999");
    break;
  }
  if(optMC){
    filename=Form("%s/AnalysisResults.root",dirName.Data());
    ps0 = Form("%s/outSIM.ps[",dirName.Data());
    ps1 = Form("%s/outSIM.ps",dirName.Data());
    ps2 = Form("%s/outSIM.ps]",dirName.Data());
  }
  else{
    filename=Form("%s/AnalysisResults.root",dirName.Data());
    ps0 = Form("%s/outDATA.ps[",dirName.Data());
    ps1 = Form("%s/outDATA.ps",dirName.Data());
    ps2 = Form("%s/outDATA.ps]",dirName.Data());
  }
  TString openfilename="./";
  openfilename+=filename;
  cout<<openfilename<<endl;
  TFile *fi=new TFile(openfilename.Data());
  if(!fi){
    cout<<"TFile loading failed"<<endl;
    return;
  }
  TDirectoryFile *di=(TDirectoryFile*) fi->Get("PWG2SpectraITSsa");
  if(!di){
    cout<<"TDirectory loading failed!"<<endl;
    return;
  }
  TList *li=(TList*)di->Get(listname);
  if(!li){
    cout<<"TList loading failed"<<endl;
    return;
  }
  cout<<"File loaded"<<endl;
  
  TCanvas *cdummy=new TCanvas("dummy","IntegralMethod",1000,800);
  cdummy->Print(ps0.Data());
  
  //binning
  const Int_t nbins = 22;
  Double_t xbins[nbins+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};
  
  //histograms
  TH1F *fHistMCPosPi[nbins]; 
  TH1F *fHistMCPosK[nbins]; 
  TH1F *fHistMCPosP[nbins]; 
  TH1F *fHistMCNegPi[nbins]; 
  TH1F *fHistMCNegK[nbins]; 
  TH1F *fHistMCNegP[nbins]; 
  TH1F *fHistPosPi[nbins]; 
  TH1F *fHistPosK[nbins]; 
  TH1F *fHistPosP[nbins]; 
  TH1F *fHistNegPi[nbins]; 
  TH1F *fHistNegK[nbins]; 
  TH1F *fHistNegP[nbins]; 
  for(Int_t m=0;m<nbins;m++){
    fHistMCNegPi[m] = (TH1F*)li->FindObject(Form("fHistMCNegPi%d",m));
    fHistMCNegK[m] = (TH1F*)li->FindObject(Form("fHistMCNegK%d",m));
    fHistMCNegP[m] = (TH1F*)li->FindObject(Form("fHistMCNegP%d",m));
    fHistMCPosPi[m] = (TH1F*)li->FindObject(Form("fHistMCPosPi%d",m));
    fHistMCPosK[m] = (TH1F*)li->FindObject(Form("fHistMCPosK%d",m));
    fHistMCPosP[m] = (TH1F*)li->FindObject(Form("fHistMCPosP%d",m));
    fHistPosPi[m] = (TH1F*)li->FindObject(Form("fHistPosPi%d",m));
    fHistPosK[m] = (TH1F*)li->FindObject(Form("fHistPosK%d",m));
    fHistPosP[m] = (TH1F*)li->FindObject(Form("fHistPosP%d",m));
    fHistNegPi[m] = (TH1F*)li->FindObject(Form("fHistNegPi%d",m));
    fHistNegK[m] = (TH1F*)li->FindObject(Form("fHistNegK%d",m));
    fHistNegP[m] = (TH1F*)li->FindObject(Form("fHistNegP%d",m));
  }
  
  TH1F *fHistNEvents = (TH1F*)li->FindObject("fHistNEvents");
  TH2F *fHistDEDX = (TH2F*)li->FindObject("fHistDEDX");
  TH2F *fHistDEDXdouble = (TH2F*)li->FindObject("fHistDEDXdouble");
  TH1F *fHistCharge[4];
  for(Int_t j=0;j<4;j++) fHistCharge[j] = (TH1F*)li->FindObject((Form("fHistChargeLay%d",j)));

  TH1F *hEffPos[3];
  TH1F *hEffNeg[3];
  TH1F *hCorrFacPos[3];
  TH1F *hCorrFacNeg[3];
  TH1F *hEffMCPIDPos[3];
  TH1F *hEffMCPIDNeg[3];
  TH1F *hCorrFacMCPIDNeg[3];
  TH1F *hCorrFacMCPIDPos[3];
  TH1F *hSpectraPrimPosMC[3];
  TH1F *hSpectraPrimNegMC[3];
  TH1F *hSpectraPrimPosMCBefEvSel[3];
  TH1F *hSpectraPrimNegMCBefEvSel[3];
  TH1F *hSpectraPos[3];
  TH1F *hSpectraNeg[3];
  TH1F *hSpectraMCPIDPos[3];
  TH1F *hSpectraMCPIDNeg[3];
  TH1F* hMeanPos[3];
  TH1F* hMeanNeg[3];
  TH1F* hSigmaPos[3];
  TH1F* hSigmaNeg[3];
  TGraph *gres[6][22];

  for(Int_t i=0; i<3; i++){
    hSpectraPrimPosMC[i]=(TH1F*)li->FindObject(Form("fHistPrimMCpos%d",i));
    hSpectraPrimNegMC[i]=(TH1F*)li->FindObject(Form("fHistPrimMCneg%d",i));
    hSpectraPrimPosMCBefEvSel[i]=(TH1F*)li->FindObject(Form("fHistPrimMCposBefEvSel%d",i));
    hSpectraPrimNegMCBefEvSel[i]=(TH1F*)li->FindObject(Form("fHistPrimMCnegBefEvSel%d",i));
    hSpectraMCPIDPos[i]=new TH1F(Form("hSpectraMCPIDPos%d",i),Form("hSpectraMCPIDPos%d",i),nbins,xbins);
    hSpectraMCPIDNeg[i]=new TH1F(Form("hSpectraMCPIDNeg%d",i),Form("hSpectraMCPIDNeg%d",i),nbins,xbins);
    hSpectraPos[i]=new TH1F(Form("hSpectraPos%d",i),Form("hSpectraPos%d",i),nbins,xbins);
    hSpectraNeg[i]=new TH1F(Form("hSpectraNeg%d",i),Form("hSpectraNeg%d",i),nbins,xbins);
    hMeanPos[i]=new TH1F(Form("hMeanPos%d",i),Form("hMeanPos%d",i),nbins,xbins);
    hMeanNeg[i]=new TH1F(Form("hMeanNeg%d",i),Form("hMeanNeg%d",i),nbins,xbins);
    hSigmaPos[i]=new TH1F(Form("hSigmaPos%d",i),Form("hSigmaPos%d",i),nbins,xbins);
    hSigmaNeg[i]=new TH1F(Form("hSigmaNeg%d",i),Form("hSigmaNeg%d",i),nbins,xbins);
  }

  //division for DeltaPt (for MC spectra)
  for(Int_t ipt=0;ipt<3;ipt++){
    for(Int_t bin=1; bin <= hSpectraPrimPosMC[ipt]->GetNbinsX(); bin++){ 
      Float_t binSize=hSpectraPrimPosMC[ipt]->GetBinLowEdge(bin+1) - hSpectraPrimPosMC[ipt]->GetBinLowEdge(bin);
      hSpectraPrimPosMC[ipt]->SetBinContent(bin, hSpectraPrimPosMC[ipt]->GetBinContent(bin) / binSize);
      hSpectraPrimPosMC[ipt]->SetBinError(bin, 0);
      hSpectraPrimNegMC[ipt]->SetBinContent(bin, hSpectraPrimNegMC[ipt]->GetBinContent(bin) / binSize);
      hSpectraPrimNegMC[ipt]->SetBinError(bin, 0);
      if(hSpectraPrimPosMCBefEvSel[ipt]){
	hSpectraPrimPosMCBefEvSel[ipt]->SetBinContent(bin, hSpectraPrimPosMCBefEvSel[ipt]->GetBinContent(bin) / binSize);
	hSpectraPrimPosMCBefEvSel[ipt]->SetBinError(bin, 0);
      }
      if(hSpectraPrimNegMCBefEvSel[ipt]){
	hSpectraPrimNegMCBefEvSel[ipt]->SetBinContent(bin, hSpectraPrimNegMCBefEvSel[ipt]->GetBinContent(bin) / binSize);
	hSpectraPrimNegMCBefEvSel[ipt]->SetBinError(bin, 0);
      }
    }
  }
  cout<<"All plots loaded"<<endl;

  //open output file to store the dedx distribution and the spectra
  TString savename=filename.Data();  
  savename.ReplaceAll("AnalysisResults","SpectraReco");
  TFile *fout=new TFile(savename.Data(),"recreate");
  fout->cd();

  gStyle->SetOptStat(0);
  gStyle->SetOptFit(111);
  gStyle->SetPalette(1);

  //propaganda plot
  Float_t pdgmass[5]={0.13957,0.493677,0.938272,1.875612762,0.00596}; //mass for pi, K, P, d (Gev/c^2)
  TF1 *funPos[5];
  TF1 *funNeg[5];
  for(Int_t m=0;m<5;m++){
    funPos[m] = new TF1(Form("funPos%d",m),BetheBloch,0.02,5,1);
    funPos[m]->SetParameter(0,pdgmass[m]);
    funPos[m]->SetLineWidth(2);
    funNeg[m] = new TF1(Form("funNeg%d",m),BetheBloch,-5,0.02,1);
    funNeg[m]->SetParameter(0,-pdgmass[m]);
    funNeg[m]->SetLineWidth(2);
  }

  TCanvas *cEvents=new TCanvas("cEvents","cEvents",500,400);
  cEvents->cd();
  fHistNEvents->Draw("text");
  fHistNEvents->Write();

  TCanvas *cDEDX=new TCanvas("cDEDX","DEDX",1000,800);
  cDEDX->cd();
  gPad->SetLogx();
  gPad->SetLogz();
  fHistDEDX->GetXaxis()->SetRangeUser(0.08,5);
  fHistDEDX->GetYaxis()->SetRangeUser(0.,700);
  fHistDEDX->GetXaxis()->SetTitle("momentum [GeV/c]");
  fHistDEDX->GetYaxis()->SetTitle("dE [keV/300#mum]");
  fHistDEDX->Draw("colz");
  fHistDEDX->Write();
  for(Int_t m=0;m<3;m++) funPos[m]->Draw("same");
  Logo();

  TCanvas *cDEDXdouble=new TCanvas("cDEDXdouble","DEDXdouble",1000,800);
  cDEDXdouble->cd();
  gPad->SetLogz();
  fHistDEDXdouble->GetXaxis()->SetRangeUser(-3,3);
  fHistDEDXdouble->GetXaxis()->SetTitle("momentum * sign [GeV/c]");
  fHistDEDXdouble->GetYaxis()->SetTitle("dE [keV/300#mum]");
  fHistDEDXdouble->Draw("colz");
  fHistDEDXdouble->Write();
  for(Int_t m=0;m<3;m++) {
    funPos[m]->Draw("same");
    funNeg[m]->Draw("same");
  }	
  Logo();

  //calibration check histo
  TCanvas *cs=new TCanvas("cs","cs",1000,800);
  cs->Divide(2,2);
  for(Int_t j=0;j<4;j++){
    cs->cd(j+1);
    fHistCharge[j]->GetXaxis()->SetTitle("Charge [keV]");
    if(j==0) fHistCharge[j]->SetTitle("Drift inner layer");
    if(j==1) fHistCharge[j]->SetTitle("Drift outer layer");
    if(j==2) fHistCharge[j]->SetTitle("Strip inner layer");
    if(j==3) fHistCharge[j]->SetTitle("Strip inner layer");
    fHistCharge[j]->Draw();
    fHistCharge[j]->SetFillColor(7);
    fHistCharge[j]->Fit("gaus","QR","",70,100);
    fHistCharge[j]->Write();
  }

  //canvas MC spectra
  if(optMC){
    TCanvas *cspectraMC=new TCanvas("cspectraMC","cspectraMC",1000,800);
    cspectraMC->Divide(2,1);
    cspectraMC->cd(1);
    gPad->SetLogy();
    gPad->SetGridy();
    for(Int_t i=0;i<3;i++){
      if(i==0){
	hSpectraPrimPosMC[i]->Draw("");
	hSpectraPrimPosMC[i]->SetTitle("ITS EvMC truth positive");
	hSpectraPrimPosMC[i]->SetMinimum(100);
	hSpectraPrimPosMC[i]->GetYaxis()->SetTitle("d^{2}N/dp_{t}dy");
	hSpectraPrimPosMC[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
      }
      hSpectraPrimPosMC[i]->Draw("same");
      hSpectraPrimPosMC[i]->SetLineColor(i+2);
      hSpectraPrimPosMC[i]->SetMarkerColor(i+2);
      hSpectraPrimPosMC[i]->SetMarkerStyle(21+i);
      hSpectraPrimPosMC[i]->Write();
    }
    cspectraMC->cd(2);
    gPad->SetLogy();
    gPad->SetGridy();
    for(Int_t i=0;i<3;i++){
      if(i==0){
	hSpectraPrimNegMC[i]->Draw("");
	hSpectraPrimNegMC[i]->SetTitle("ITS MC truth negative");
	hSpectraPrimNegMC[i]->SetMinimum(100);
	hSpectraPrimNegMC[i]->GetYaxis()->SetTitle("d^{2}N/dp_{t}dy");
	hSpectraPrimNegMC[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
      }
      hSpectraPrimNegMC[i]->Draw("same");
      hSpectraPrimNegMC[i]->SetLineColor(i+2);
      hSpectraPrimNegMC[i]->SetMarkerColor(i+2);
      hSpectraPrimNegMC[i]->SetMarkerStyle(21+i);
      hSpectraPrimNegMC[i]->Write();
    }
    cspectraMC->Print(ps0.Data());
  }

  //dedx distribution to be fitted
  TCanvas *cgausPipos=new TCanvas("cgausPipos","PIONS pos",1000,800);
  cgausPipos->Divide(5,4,0.001,0.001);
  TCanvas *cgausKpos=new TCanvas("cgausKpos","KAONS pos",1000,800);
  cgausKpos->Divide(5,4,0.001,0.001);
  TCanvas *cgausPpos=new TCanvas("cgausPpos","PROTONS pos",1000,800);
  cgausPpos->Divide(5,4,0.001,0.001);
  TCanvas *cgausPineg=new TCanvas("cgausPineg","PIONS neg",1000,800);
  cgausPineg->Divide(5,4,0.001,0.001);
  TCanvas *cgausKneg=new TCanvas("cgausKneg","KAONS neg",1000,800);
  cgausKneg->Divide(5,4,0.001,0.001);
  TCanvas *cgausPneg=new TCanvas("cgausPneg","PROTONS neg",1000,800);
  cgausPneg->Divide(5,4,0.001,0.001);

  //binsize for one histo only because are all equal
  Float_t binsize = fHistPosPi[0]->GetBinWidth(1);
  Double_t fpar[5],efpar[5];
  for(Int_t i=0; i<nbins-2; i++){
    //------------------- positive particles
    //pions
    cgausPipos->cd(i+1);
    gPad->SetLogy();
    fHistPosPi[i]->Write();
    gres[0][i]=new TGraph();
    ITSsa->DoFit(fHistPosPi[i],i,211,gres[0][i]);
    ITSsa->FillHisto(hSpectraPos[0],i+1,binsize,211);
    if(optMC) ITSsa->FillHistoMC(hSpectraMCPIDPos[0],i+1,211,fHistMCPosPi[i]);
    if(ITSsa->IsGoodBin(i,211)){
      ITSsa->GetFitPar(fpar,efpar);
      hMeanPos[0]->SetBinContent(i+1,fpar[1]);
      hMeanPos[0]->SetBinError(i+1,efpar[1]);
      hSigmaPos[0]->SetBinContent(i+1,fpar[2]);
      hSigmaPos[0]->SetBinError(i+1,efpar[2]);
    }
    cgausPipos->Update();
    //kaons
    cgausKpos->cd(i+1);
    gPad->SetLogy();
    fHistPosK[i]->Write();
    gres[1][i]=new TGraph();
    ITSsa->DoFit(fHistPosK[i],i,321,gres[1][i]);
    ITSsa->FillHisto(hSpectraPos[1],i+1,binsize,321);
    if(optMC) ITSsa->FillHistoMC(hSpectraMCPIDPos[1],i+1,321,fHistMCPosK[i]);
    if(ITSsa->IsGoodBin(i,321)){
      ITSsa->GetFitPar(fpar,efpar);
      hMeanPos[1]->SetBinContent(i+1,fpar[1]);
      hMeanPos[1]->SetBinError(i+1,efpar[1]);
      hSigmaPos[1]->SetBinContent(i+1,fpar[2]);
      hSigmaPos[1]->SetBinError(i+1,efpar[2]);
    }
    cgausKpos->Update();
    //protons
    cgausPpos->cd(i+1);
    gPad->SetLogy();
    fHistPosP[i]->Write();
    fHistPosP[i]->SetFillColor(16);
    gres[2][i]=new TGraph();
    ITSsa->DoFitProton(fHistPosP[i],i,2212,gres[2][i]);
    ITSsa->FillHisto(hSpectraPos[2],i+1,binsize,2212);
    if(optMC) ITSsa->FillHistoMC(hSpectraMCPIDPos[2],i+1,2212,fHistMCPosP[i]);
    if(ITSsa->IsGoodBin(i,2212)){
      ITSsa->GetFitPar(fpar,efpar);
      hMeanPos[2]->SetBinContent(i+1,fpar[1]);
      hMeanPos[2]->SetBinError(i+1,efpar[1]);
      hSigmaPos[2]->SetBinContent(i+1,fpar[2]);
      hSigmaPos[2]->SetBinError(i+1,efpar[2]);
    }
    cgausPpos->Update();  

    //------------------- negative particles
    //pions
    cgausPineg->cd(i+1);
    gPad->SetLogy();
    fHistNegPi[i]->Write();
    gres[3][i]=new TGraph();
    ITSsa->DoFit(fHistNegPi[i],i,211,gres[3][i]);
    ITSsa->FillHisto(hSpectraNeg[0],i+1,binsize,211);
    if(optMC) ITSsa->FillHistoMC(hSpectraMCPIDNeg[0],i+1,211,fHistMCNegPi[i]);
    if(ITSsa->IsGoodBin(i,211)){
      ITSsa->GetFitPar(fpar,efpar);
      hMeanNeg[0]->SetBinContent(i+1,fpar[1]);
      hMeanNeg[0]->SetBinError(i+1,efpar[1]);
      hSigmaNeg[0]->SetBinContent(i+1,fpar[2]);
      hSigmaNeg[0]->SetBinError(i+1,efpar[2]);
    }
    cgausPineg->Update();
    //kaons
    cgausKneg->cd(i+1);
    gPad->SetLogy();
    fHistNegK[i]->Write();
    gres[4][i]=new TGraph();
    ITSsa->DoFit(fHistNegK[i],i,321,gres[4][i]);
    ITSsa->FillHisto(hSpectraNeg[1],i+1,binsize,321);
    if(optMC) ITSsa->FillHistoMC(hSpectraMCPIDNeg[1],i+1,321,fHistMCNegK[i]);
    if(ITSsa->IsGoodBin(i,321)){
      ITSsa->GetFitPar(fpar,efpar);
      hMeanNeg[1]->SetBinContent(i+1,fpar[1]);
      hMeanNeg[1]->SetBinError(i+1,efpar[1]);
      hSigmaNeg[1]->SetBinContent(i+1,fpar[2]);
      hSigmaNeg[1]->SetBinError(i+1,efpar[2]);
    }
    cgausKneg->Update();
    //protons
    cgausPneg->cd(i+1);
    gPad->SetLogy();
    fHistNegP[i]->Write();
    gres[5][i]=new TGraph();
    ITSsa->DoFitProton(fHistNegP[i],i,2212,gres[5][i]);
    ITSsa->FillHisto(hSpectraNeg[2],i+1,binsize,2212);
    if(optMC) ITSsa->FillHistoMC(hSpectraMCPIDNeg[2],i+1,2212,fHistMCNegP[i]);
    if(ITSsa->IsGoodBin(i,2212)){
      ITSsa->GetFitPar(fpar,efpar);
      hMeanNeg[2]->SetBinContent(i+1,fpar[1]);
      hMeanNeg[2]->SetBinError(i+1,efpar[1]);
      hSigmaNeg[2]->SetBinContent(i+1,fpar[2]);
      hSigmaNeg[2]->SetBinError(i+1,efpar[2]);
    }
    cgausPneg->Update(); 
  }

  //save histograms in the ps file
  cgausPipos->Print(ps1.Data());
  cgausKpos->Print(ps1.Data());
  cgausPpos->Print(ps1.Data());
  cgausPineg->Print(ps1.Data());
  cgausKneg->Print(ps1.Data());
  cgausPneg->Print(ps1.Data());

  //spectra REC
  TCanvas *cspecREC=new TCanvas("cspecREC","SPECTRA rec",1000,800);
  cspecREC->Divide(2,1);
  cspecREC->cd(1);
  gPad->SetLogy();
  gPad->SetGridy();
  for(Int_t i=0;i<3;i++){
    if(i==0){
      hSpectraPos[i]->Draw("text");
      hSpectraPos[i]->SetTitle("ITSsa RAW positive");
      hSpectraPos[i]->SetMinimum(10);
      hSpectraPos[i]->GetYaxis()->SetTitle("d^{2}N/dp_{t}dy");
      hSpectraPos[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
    }
    hSpectraPos[i]->Draw("esame");
    hSpectraPos[i]->SetLineColor(i+2);
    hSpectraPos[i]->SetMarkerColor(i+2);
    hSpectraPos[i]->SetMarkerStyle(21+i);
    hSpectraPos[i]->Write();
  }
  TLegend *leg=new TLegend(0.51,0.11,0.84,0.35,NULL,"brNDC");
  leg->SetFillColor(0);
  leg->SetBorderSize(0);
  TLegendEntry *entry0=leg->AddEntry(hSpectraPos[0],"pions","p");
  entry0->SetTextColor(2);
  TLegendEntry *entry2=leg->AddEntry(hSpectraPos[1],"kaons","p");
  entry2->SetTextColor(3);
  TLegendEntry *entry4=leg->AddEntry(hSpectraPos[2],"protons","p");
  entry4->SetTextColor(4);
  leg->Draw("same");

  cspecREC->cd(2);
  gPad->SetLogy();
  gPad->SetGridy();
  for(Int_t i=0;i<3;i++){
    if(i==0){
      hSpectraNeg[i]->Draw("e");
      hSpectraNeg[i]->SetTitle("ITSsa RAW negative");
      hSpectraNeg[i]->SetMinimum(10);
      hSpectraNeg[i]->GetYaxis()->SetTitle("d^{2}N/dp_{t}dy");
      hSpectraNeg[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
    }
    hSpectraNeg[i]->Draw("esame");
    hSpectraNeg[i]->SetLineColor(i+2);
    hSpectraNeg[i]->SetMarkerColor(i+2);
    hSpectraNeg[i]->SetMarkerStyle(21+i);
    hSpectraNeg[i]->Write();
  }


  //FitParameters
  TCanvas *cFitPar=new TCanvas("cFitPar","FitParameters",1000,800);
  cFitPar->Divide(2,3);
  TLatex** tplus=new TLatex*[3];
  TLatex** tminus=new TLatex*[3];
  tplus[0]=new TLatex(0.7,0.75,"#pi^{+}");
  tplus[1]=new TLatex(0.7,0.75,"K^{+}");
  tplus[2]=new TLatex(0.7,0.75,"p");
  tminus[0]=new TLatex(0.7,0.65,"#pi^{-}");
  tminus[1]=new TLatex(0.7,0.65,"K^{-}");
  tminus[2]=new TLatex(0.7,0.65,"#bar{p}");

  for(Int_t ipart=0; ipart<3; ipart++){
    tplus[ipart]->SetNDC();
    tplus[ipart]->SetTextColor(1);
    tplus[ipart]->SetTextSize(0.05);
    tminus[ipart]->SetNDC();
    tminus[ipart]->SetTextColor(4);
    tminus[ipart]->SetTextSize(0.05);
    cFitPar->cd(1+2*ipart);
    gPad->SetGridy();
    hMeanPos[ipart]->SetMarkerStyle(20);
    hMeanPos[ipart]->Draw("e");
    hMeanPos[ipart]->GetYaxis()->SetRangeUser(-1,1);
    hMeanNeg[ipart]->SetMarkerStyle(24);
    hMeanNeg[ipart]->SetMarkerColor(4);
    hMeanNeg[ipart]->SetLineColor(4);
    hMeanNeg[ipart]->Draw("esame");
    tplus[ipart]->Draw();
    tminus[ipart]->Draw();
    cFitPar->cd(2+2*ipart);
    gPad->SetGridy();
    hSigmaPos[ipart]->SetMarkerStyle(20);
    hSigmaPos[ipart]->Draw("e");
    hSigmaPos[ipart]->GetYaxis()->SetRangeUser(0.1,0.3);
    hSigmaNeg[ipart]->SetMarkerStyle(24);
    hSigmaNeg[ipart]->SetMarkerColor(4);
    hSigmaNeg[ipart]->SetLineColor(4);
    hSigmaNeg[ipart]->Draw("esame");
    hSigmaPos[ipart]->Write();
    hSigmaNeg[ipart]->Write();
    tplus[ipart]->Draw();
    tminus[ipart]->Draw();
  }

  //plus/minus ratio plots
  TH1F* hRatioPions=new TH1F(*hSpectraPos[0]);
  hRatioPions->Divide(hSpectraNeg[0]);
  TH1F* hRatioKaons=new TH1F(*hSpectraPos[1]);
  hRatioKaons->Divide(hSpectraNeg[1]);
  TH1F* hRatioProtons=new TH1F(*hSpectraPos[2]);
  hRatioProtons->Divide(hSpectraNeg[2]);

  TCanvas *cratios=new TCanvas("cratios","Ratios +/-",1000,800);
  cratios->Divide(1,3);
  cratios->cd(1);
  hRatioPions->SetMinimum(0.7);
  hRatioPions->SetMaximum(1.3);
  hRatioPions->GetXaxis()->SetTitle("p_{t} [GeV/c]");  
  hRatioPions->GetYaxis()->SetTitle("#pi^{+}/#pi^{-}");  
  hRatioPions->Draw("e");
  cratios->cd(2);
  hRatioKaons->SetMinimum(0.7);
  hRatioKaons->SetMaximum(1.3);
  hRatioKaons->GetXaxis()->SetTitle("p_{t} [GeV/c]");  
  hRatioKaons->GetYaxis()->SetTitle("K^{+}/K^{-}");  
  hRatioKaons->Draw("e");
  cratios->cd(3);
  hRatioProtons->SetMinimum(0.7);
  hRatioProtons->SetMaximum(1.3);
  hRatioProtons->GetXaxis()->SetTitle("p_{t} [GeV/c]");  
  hRatioProtons->GetYaxis()->SetTitle("p/#bar{p}");
  hRatioProtons->Draw("e");

  //efficiency and correction factor histograms
  if(optMC){
    for(Int_t i=0;i<3;i++){
      hEffPos[i] = (TH1F*)hSpectraPos[i]->Clone(Form("hEffPos%d",i));
      hEffPos[i]->SetTitle(Form("hEffPos%d",i));
      hEffPos[i]->Divide(hEffPos[i], hSpectraPrimPosMC[i], 1.0, 1.0, "B");//binomial errors
      hEffPos[i]->SetLineColor(i+2);
      hEffPos[i]->SetMarkerColor(i+2);
      hEffPos[i]->SetMarkerStyle(21+i);
      hEffPos[i]->Write();

      if(hSpectraPrimPosMCBefEvSel[i]){
	hCorrFacPos[i] = (TH1F*)hSpectraPos[i]->Clone(Form("hCorrFacPos%d",i));
	hCorrFacPos[i]->SetTitle(Form("hCorrFacPos%d",i));
	hCorrFacPos[i]->Divide(hCorrFacPos[i], hSpectraPrimPosMCBefEvSel[i], 1.0, 1.0, "B");//binomial errors
	hCorrFacPos[i]->SetLineColor(i+2);
	hCorrFacPos[i]->SetMarkerColor(i+2);
	hCorrFacPos[i]->SetMarkerStyle(25+i);     
	hCorrFacPos[i]->Write();
      }
      hEffMCPIDPos[i] = (TH1F*)hSpectraMCPIDPos[i]->Clone(Form("hEffMCPIDPos%d",i));
      hEffMCPIDPos[i]->SetTitle(Form("hEffMCPIDPos%d",i));
      hEffMCPIDPos[i]->Divide(hEffMCPIDPos[i], hSpectraPrimPosMC[i], 1.0, 1.0, "B");//binomial errors
      hEffMCPIDPos[i]->SetLineColor(i+2);
      hEffMCPIDPos[i]->SetMarkerColor(i+2);
      hEffMCPIDPos[i]->SetMarkerStyle(25+i);
      hEffMCPIDPos[i]->Write();

      if(hSpectraPrimPosMCBefEvSel[i]){
	hCorrFacMCPIDPos[i] = (TH1F*)hSpectraMCPIDPos[i]->Clone(Form("hCorrFacMCPIDPos%d",i));
	hCorrFacMCPIDPos[i]->SetTitle(Form("hCorrFacMCPIDPos%d",i));
	hCorrFacMCPIDPos[i]->Divide(hCorrFacMCPIDPos[i], hSpectraPrimPosMCBefEvSel[i], 1.0, 1.0, "B");//binomial errors
	hCorrFacMCPIDPos[i]->SetLineColor(i+2);
	hCorrFacMCPIDPos[i]->SetMarkerColor(i+2);
	hCorrFacMCPIDPos[i]->SetMarkerStyle(25+i);     
	hCorrFacMCPIDPos[i]->Write();
      }

      hEffNeg[i] = (TH1F*)hSpectraNeg[i]->Clone(Form("hEffNeg%d",i));
      hEffNeg[i]->SetTitle(Form("hEffNeg%d",i));
      hEffNeg[i]->Divide(hEffNeg[i], hSpectraPrimNegMC[i], 1.0, 1.0, "B");//binomial errors
      hEffNeg[i]->SetLineColor(i+2);
      hEffNeg[i]->SetMarkerColor(i+2);
      hEffNeg[i]->SetMarkerStyle(21+i);
      hEffNeg[i]->Write();

      if(hSpectraPrimNegMCBefEvSel[i]){
	hCorrFacNeg[i] = (TH1F*)hSpectraNeg[i]->Clone(Form("hCorrFacNeg%d",i));
	hCorrFacNeg[i]->SetTitle(Form("hCorrFacNeg%d",i));
	hCorrFacNeg[i]->Divide(hCorrFacNeg[i], hSpectraPrimNegMCBefEvSel[i], 1.0, 1.0, "B");//binomial errors
	hCorrFacNeg[i]->SetLineColor(i+2);
	hCorrFacNeg[i]->SetMarkerColor(i+2);
	hCorrFacNeg[i]->SetMarkerStyle(25+i);     
	hCorrFacNeg[i]->Write();
      }

      hEffMCPIDNeg[i] = (TH1F*)hSpectraMCPIDNeg[i]->Clone(Form("hEffMCPIDNeg%d",i));
      hEffMCPIDNeg[i]->SetTitle(Form("hEffMCPIDNeg%d",i));
      hEffMCPIDNeg[i]->Divide(hEffMCPIDNeg[i], hSpectraPrimNegMC[i], 1.0, 1.0, "B");//binomial errors
      hEffMCPIDNeg[i]->SetLineColor(i+2);
      hEffMCPIDNeg[i]->SetMarkerColor(i+2);
      hEffMCPIDNeg[i]->SetMarkerStyle(25+i);
      hEffMCPIDNeg[i]->Write();

      if(hSpectraPrimPosMCBefEvSel[i]){
	hCorrFacMCPIDNeg[i] = (TH1F*)hSpectraMCPIDPos[i]->Clone(Form("hCorrFacMCPIDNeg%d",i));
	hCorrFacMCPIDNeg[i]->SetTitle(Form("hCorrFacMCPIDNeg%d",i));
	hCorrFacMCPIDNeg[i]->Divide(hCorrFacMCPIDNeg[i], hSpectraPrimNegMCBefEvSel[i], 1.0, 1.0, "B");//binomial errors
	hCorrFacMCPIDNeg[i]->SetLineColor(i+2);
	hCorrFacMCPIDNeg[i]->SetMarkerColor(i+2);
	hCorrFacMCPIDNeg[i]->SetMarkerStyle(25+i);     
	hCorrFacMCPIDNeg[i]->Write();
      }

      hSpectraMCPIDPos[i]->SetLineColor(i+2);
      hSpectraMCPIDPos[i]->SetMarkerColor(i+2);
      hSpectraMCPIDPos[i]->SetMarkerStyle(25+i);
      hSpectraMCPIDPos[i]->Write();

      hSpectraMCPIDNeg[i]->SetLineColor(i+2);
      hSpectraMCPIDNeg[i]->SetMarkerColor(i+2);
      hSpectraMCPIDNeg[i]->SetMarkerStyle(25+i);
      hSpectraMCPIDNeg[i]->Write();
    }

    //spectra REC Ideal PID
    TCanvas *cspecREC2=new TCanvas("cspecIdPid","SPECTRA rec Ideal PID",1000,800);
    cspecREC2->Divide(2,1);
    cspecREC2->cd(1);
    gPad->SetLogy();
    gPad->SetGridy();
    for(Int_t i=0;i<3;i++){
      if(i==0){
	hSpectraMCPIDPos[i]->Draw("text");
	hSpectraMCPIDPos[i]->SetTitle("ITSsa RAW positive - Ideal PID");
	hSpectraMCPIDPos[i]->SetMinimum(10);
	hSpectraMCPIDPos[i]->GetYaxis()->SetTitle("d^{2}N/dp_{t}dy");
	hSpectraMCPIDPos[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
      }
      hSpectraMCPIDPos[i]->Draw("esame");
    }
    leg->Draw("same");    
    cspecREC2->cd(2);
    gPad->SetLogy();
    gPad->SetGridy();
    for(Int_t i=0;i<3;i++){
      if(i==0){
	hSpectraMCPIDNeg[i]->Draw("e");
	hSpectraMCPIDNeg[i]->SetTitle("ITSsa RAW negative -Ideal PID");
	hSpectraMCPIDNeg[i]->SetMinimum(10);
	hSpectraMCPIDNeg[i]->GetYaxis()->SetTitle("d^{2}N/dp_{t}dy");
	hSpectraMCPIDNeg[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
      }
      hSpectraMCPIDNeg[i]->Draw("esame");
    }

    // Efficiency
    TCanvas *ceff=new TCanvas("ceff","ceff",1000,800);
    ceff->Divide(2,1);
    ceff->cd(1);
    gPad->SetGridy();
    for(Int_t i=0;i<3;i++){
      if(i==0){
	hEffPos[i]->SetTitle("ITSsa efficiency (positive)");
	hEffPos[i]->Draw("e");
	hEffPos[i]->GetYaxis()->SetRangeUser(0.1,0.9);
	hEffPos[i]->GetYaxis()->SetTitle("#epsilon");
	hEffPos[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
      }
      hEffPos[i]->Draw("esame");
      hEffMCPIDPos[i]->Draw("esame");
    }
    TLegend *legeff=new TLegend(0.51,0.11,0.89,0.5,NULL,"brNDC");
    legeff->SetBorderSize(0);
    legeff->SetFillColor(0);
    TLegendEntry *entryeff0=legeff->AddEntry(hEffPos[0],"pions from fit","p");
    entryeff0->SetTextColor(2);
    TLegendEntry *entryeff2=legeff->AddEntry(hEffPos[1],"kaons from fit","p");
    entryeff2->SetTextColor(3);
    TLegendEntry *entryeff4=legeff->AddEntry(hEffPos[2],"protons from fit","p");
    entryeff4->SetTextColor(4);
    TLegendEntry *entryeff1=legeff->AddEntry(hEffMCPIDPos[0],"pions ideal PID","p");
    entryeff1->SetTextColor(2);
    TLegendEntry *entryeff3=legeff->AddEntry(hEffMCPIDPos[1],"kaons ideal PID","p");
    entryeff3->SetTextColor(3);
    TLegendEntry *entryeff5=legeff->AddEntry(hEffMCPIDPos[2],"protons ideal PID","p");
    entryeff5->SetTextColor(4);
    legeff->Draw("same");

    ceff->cd(2);
    gPad->SetGridy();
    for(Int_t i=0;i<3;i++){
      if(i==0){
	hEffNeg[i]->SetTitle("ITSsa efficiency (negative)");
	hEffNeg[i]->Draw("e");
	hEffNeg[i]->GetYaxis()->SetRangeUser(0.1,0.9);
	hEffNeg[i]->GetYaxis()->SetTitle("#epsilon");
	hEffNeg[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
      }
      hEffNeg[i]->Draw("esame");
      hEffMCPIDNeg[i]->Draw("esame");
    }
    ceff->Update();

    // Correction factor
    TCanvas *ccf=new TCanvas("ccf","Corr Factor",1000,800);
    ccf->Divide(2,1);
    ccf->cd(1);
    gPad->SetGridy();
    for(Int_t i=0;i<3;i++){
      if(i==0){
	hEffPos[i]->SetTitle("ITSsa efficiency (positive)");
	hEffPos[i]->Draw("e");
	hEffPos[i]->GetYaxis()->SetRangeUser(0.1,0.9);
	hEffPos[i]->GetYaxis()->SetTitle("#epsilon");
	hEffPos[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
      }
      hEffPos[i]->Draw("esame");
      if(hSpectraPrimPosMCBefEvSel[i]) hCorrFacPos[i]->Draw("esame");
    }
    TLegend *legcf=new TLegend(0.51,0.11,0.89,0.5,NULL,"brNDC");
    legcf->SetBorderSize(0);
    legcf->SetFillColor(0);
    TLegendEntry *entrycf0=legcf->AddEntry(hEffPos[0],"pions - eff.","p");
    entrycf0->SetTextColor(2);
    TLegendEntry *entrycf2=legcf->AddEntry(hEffPos[1],"kaons  - eff.","p");
    entrycf2->SetTextColor(3);
    TLegendEntry *entrycf4=legcf->AddEntry(hEffPos[2],"protons  - eff.","p");
    entrycf4->SetTextColor(4);
    TLegendEntry *entrycf1=legcf->AddEntry(hCorrFacPos[0],"pions - Corr. Fac.","p");
    entrycf1->SetTextColor(2);
    TLegendEntry *entrycf3=legcf->AddEntry(hCorrFacPos[1],"kaons - Corr. Fac.","p");
    entrycf3->SetTextColor(3);
    TLegendEntry *entrycf5=legcf->AddEntry(hCorrFacPos[2],"protons - Corr. Fac.","p");
    entrycf5->SetTextColor(4);
    legcf->Draw("same");

    ccf->cd(2);
    gPad->SetGridy();
    for(Int_t i=0;i<3;i++){
      if(i==0){
	hEffNeg[i]->SetTitle("ITSsa efficiency (negative)");
	hEffNeg[i]->Draw("e");
	hEffNeg[i]->GetYaxis()->SetRangeUser(0.1,0.9);
	hEffNeg[i]->GetYaxis()->SetTitle("#epsilon");
	hEffNeg[i]->GetXaxis()->SetTitle("p_{t} [GeV/c]");
      }
      hEffNeg[i]->Draw("esame");
      if(hSpectraPrimNegMCBefEvSel[i]) hCorrFacNeg[i]->Draw("esame");
    }
    ccf->Update();

    cspecREC2->Print(ps1.Data());
    ceff->Print(ps1.Data());
    ccf->Print(ps1.Data());
  }

  //save canvas in the ps file
  cratios->Print(ps1.Data());
  cspecREC->Print(ps1.Data());
  cFitPar->Print(ps1.Data());
  cs->Print(ps1.Data());
  cDEDX->Print(ps1.Data());
  cDEDXdouble->Print(ps1.Data());
  cdummy->Print(ps2.Data());
  //	fout->Close();
  return;

}//end of the main 


//______________________________________________________________________
Double_t BetheBloch(Double_t *mom, Double_t *mass) {
  // BB PHobos parametrization fine tuned by G. Ortona
  // on data and MC in June 2010
  Double_t bg=mom[0]/mass[0];	
  Double_t par[5];
  Bool_t MC=kFALSE;
  if(MC){
    par[0]=1.39126e+02;//tuned on LHC10d (sim pass4)
    par[1]=2.33589e+01;
    par[2]=6.05219e-02;
    par[3]=2.04336e-01;
    par[4]=-4.99854e-04;
  }
  else{
    par[0]=5.33458e+04;//tuned on data pass6
    par[1]=1.65303e+01;
    par[2]=2.60065e-03;
    par[3]=3.59533e-04;
    par[4]=7.51168e-05;
  }
  Double_t beta = bg/TMath::Sqrt(1.+ bg*bg);
  Double_t gamma=bg/beta;
  Double_t eff=1.0;
  if(bg<par[2]) eff=(bg-par[3])*(bg-par[3])+par[4];
  else eff=(par[2]-par[3])*(par[2]-par[3])+par[4];
  return (par[1]+2.0*TMath::Log(gamma)-beta*beta)*(par[0]/(beta*beta))*eff;
}

//______________________________________________________________________
void Logo(){
  //method to plot the ALICE logo in the propaganda plot
  TPaveText *tpave=new TPaveText(0.3,0.7,0.7,0.89,"brNDC");
  tpave->SetBorderSize(0);
  tpave->SetFillStyle(0);
  tpave->SetFillColor(0);
  TText *txt1=tpave->AddText("ALICE performance");
  TText *txt2=tpave->AddText("ITS stand-alone tracks");
  TText *txt3=tpave->AddText("pp @ #sqrt{s} = 7 TeV");
  txt1->SetTextFont(62);
  txt2->SetTextFont(62);
  txt3->SetTextFont(62);
  tpave->Draw();
  TPad *pad1=new TPad("pad1", "pad1", 0.75, 0.7, 0.89, 0.89);
  pad1->Draw();
  pad1->cd();
  TImage *img1 = TImage::Open("ALICElogo.gif");
  img1->FillRectangle(0);
  img1->Draw();
}

//EOF

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