ROOT logo

/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/
//
// Class for spectrum correction
// Subtraction of hadronic background, Unfolding of the data and
// Renormalization done here
// The following containers have to be set:
//  - Correction framework container for real data
//  - Correction framework container for MC (Efficiency Map)
//  - Correction framework container for background coming from data
//  - Correction framework container for background coming from MC
//
//  Author: 
//            Raphaelle Bailhache <R.Bailhache@gsi.de>
//

#include <TArrayD.h>
#include <TH1.h>
#include <TList.h>
#include <TObjArray.h>
#include <TObject.h>
#include <TROOT.h>
#include <TCanvas.h>
#include <TLegend.h>
#include <TStyle.h>
#include <TMath.h>
#include <TAxis.h>
#include <TGraphErrors.h>
#include <TFile.h>
#include <TPad.h>
#include <TH2D.h>
#include <TF1.h>

#include "AliPID.h"
#include "AliCFContainer.h"
#include "AliCFDataGrid.h"
#include "AliCFEffGrid.h"
#include "AliCFGridSparse.h"
#include "AliCFUnfolding.h"
#include "AliLog.h"

#include "AliHFEInclusiveSpectrumQA.h"
#include "AliHFECorrectSpectrumBase.h"
#include "AliHFEcuts.h"
#include "AliHFEcontainer.h"
#include "AliHFEtools.h"

ClassImp(AliHFEInclusiveSpectrumQA)

const Char_t *AliHFEInclusiveSpectrumQA::fgkNameCanvas[AliHFEInclusiveSpectrumQA::kNTypeEfficiency] = {
  "V0Efficiency",
  "MCEfficiency",
  "ParametrizedEfficiency"
};

const Char_t *AliHFEInclusiveSpectrumQA::fgkNameCanvasND[AliHFEInclusiveSpectrumQA::kNTypeEfficiency] = {
  "V0EfficiencyND",
  "MCEfficiencyND",
  "ParametrizedEfficiencyND"
};

//____________________________________________________________
AliHFEInclusiveSpectrumQA::AliHFEInclusiveSpectrumQA():
  TNamed(),
  fPtMax(10.0),
  fListOfResult(),
  fWriteToFile(kTRUE)
{
  //
  // Default constructor
  //

  fListOfResult = new TObjArray(kNResults);
  fListOfResult->SetName("ListOfResults");
 

}
//____________________________________________________________
AliHFEInclusiveSpectrumQA::AliHFEInclusiveSpectrumQA(const char *name):
  TNamed(name, ""),
  fPtMax(10.0),
  fListOfResult(),
  fWriteToFile(kTRUE)
{
  //
  // Default constructor
  //

  fListOfResult = new TObjArray(kNResults);
  fListOfResult->SetName("ListOfResults");
 

}

//____________________________________________________________
AliHFEInclusiveSpectrumQA::~AliHFEInclusiveSpectrumQA(){
  //
  // Destructor
  //
  if(fListOfResult) delete fListOfResult;
 
}
//____________________________________________________________
void AliHFEInclusiveSpectrumQA::AddResultAt(TObject *obj,Int_t index)
{
  //
  // Init what we need for the correction:
  //

  if(fListOfResult) fListOfResult->AddAt(obj,index);

}
//____________________________________________________________
TObject *AliHFEInclusiveSpectrumQA::GetResult(Int_t index)
{
  //
  // Get result
  //

  if(fListOfResult) return fListOfResult->UncheckedAt(index);
  else return 0x0;

}
//____________________________________________________________
void AliHFEInclusiveSpectrumQA::DrawProjections() const
{
  //
  // get spectrum for beauty 2nd method
  //
  //
  AliCFContainer *data = (AliCFContainer *) fListOfResult->UncheckedAt(kDataProjection);
  THnSparseF *correlation = (THnSparseF *) fListOfResult->UncheckedAt(kCMProjection);
  if(!data || !correlation) return;

  Int_t ndimcont = data->GetNVar();
  Int_t ndimcor = correlation->GetNdimensions();
  Int_t charge = 3;
  Int_t centrality = 5;
  Int_t eta = 1;

  TCanvas * canvas = new TCanvas("Projections","Projections",1000,700);
  Int_t n = 0;
  if(charge < ndimcont) n++;
  if(centrality < ndimcont) n++;
  if(eta < ndimcont) n++;
  canvas->Divide(2,n);
  Int_t counter = 1;

  if(charge < ndimcont) {
   
    canvas->cd(counter);
    TH1 *checkcharge = (TH1 *) data->Project(data->GetNStep()-1,charge);
    checkcharge->Draw();
    counter++;
    canvas->cd(counter);
    TH2F* projectioncharge = (TH2F *) correlation->Projection(charge,charge+((Int_t)(ndimcor/2.)));
    projectioncharge->Draw("colz");
    counter++;  

  }

  if(centrality < ndimcont) {
    canvas->cd(counter);
    TH1 *checkcentrality = (TH1 *) data->Project(data->GetNStep()-1,centrality);
    checkcentrality->Draw();
    counter++;
    canvas->cd(counter);
    TH2F *projectioncentrality = (TH2F *) correlation->Projection(centrality,centrality+((Int_t)(ndimcor/2.)));
    projectioncentrality->Draw("colz");
    counter++;  
  }

  if(eta < ndimcont) {
    canvas->cd(counter);
    TH1 *checketa = (TH1 *) data->Project(data->GetNStep()-1,eta);
    checketa->Draw();
    counter++;
    canvas->cd(counter);
    TH2D* projectioneta = (TH2D *) correlation->Projection(eta,eta+((Int_t)(ndimcor/2.)));
    projectioneta->Draw("colz");
  }
  
 if(fWriteToFile) canvas->SaveAs("Projections.png");
  


}
//____________________________________________________________
void AliHFEInclusiveSpectrumQA::DrawSubtractContamination() const
{
  //
  // get spectrum for beauty 2nd method
  //
  //
  TH1D *measuredTH1Daftersubstraction = (TH1D *) fListOfResult->UncheckedAt(kAfterSC);
  TH1D *measuredTH1Dbeforesubstraction = (TH1D *) fListOfResult->UncheckedAt(kBeforeSC);
  if(!measuredTH1Daftersubstraction || !measuredTH1Dbeforesubstraction) return;

  SetStyle();

  TCanvas * cbackgroundsubtraction = new TCanvas("backgroundsubtraction","backgroundsubtraction",1000,700);
  cbackgroundsubtraction->Divide(2,1);
  cbackgroundsubtraction->cd(1);
  gPad->SetLogy();
  gPad->SetTicks();
  measuredTH1Daftersubstraction->SetStats(0);
  measuredTH1Daftersubstraction->SetTitle("");
  measuredTH1Daftersubstraction->GetYaxis()->SetTitleOffset(1.5);
  measuredTH1Daftersubstraction->GetYaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  measuredTH1Daftersubstraction->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  measuredTH1Daftersubstraction->GetXaxis()->SetRangeUser(0.0,fPtMax);
  measuredTH1Daftersubstraction->SetMarkerStyle(25);
  measuredTH1Daftersubstraction->SetMarkerColor(kBlack);
  measuredTH1Daftersubstraction->SetLineColor(kBlack);
  measuredTH1Dbeforesubstraction->SetStats(0);
  measuredTH1Dbeforesubstraction->SetTitle("");
  measuredTH1Dbeforesubstraction->GetYaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  measuredTH1Dbeforesubstraction->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  measuredTH1Dbeforesubstraction->GetXaxis()->SetRangeUser(0.0,fPtMax);
  measuredTH1Dbeforesubstraction->SetMarkerStyle(24);
  measuredTH1Dbeforesubstraction->SetMarkerColor(kBlue);
  measuredTH1Dbeforesubstraction->SetLineColor(kBlue);
  measuredTH1Daftersubstraction->Draw();
  measuredTH1Dbeforesubstraction->Draw("same");
  TLegend *legsubstraction = new TLegend(0.4,0.6,0.89,0.89);
  legsubstraction->AddEntry(measuredTH1Dbeforesubstraction,"With hadron contamination","p");
  legsubstraction->AddEntry(measuredTH1Daftersubstraction,"Without hadron contamination ","p");
  legsubstraction->SetFillStyle(0);
  legsubstraction->SetLineStyle(0);
  legsubstraction->SetLineColor(0);
  legsubstraction->Draw("same");
  cbackgroundsubtraction->cd(2);
  gPad->SetLogy();
  gPad->SetTicks();
  TH1D* ratiomeasuredcontamination = (TH1D*)measuredTH1Dbeforesubstraction->Clone();
  ratiomeasuredcontamination->SetName("ratiomeasuredcontamination");
  ratiomeasuredcontamination->SetTitle("");
  ratiomeasuredcontamination->GetYaxis()->SetTitleOffset(1.5);
  ratiomeasuredcontamination->GetYaxis()->SetTitle("(with contamination - without contamination) / with contamination");
  ratiomeasuredcontamination->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  ratiomeasuredcontamination->GetYaxis()->SetRangeUser(0.8,1.2);
  ratiomeasuredcontamination->GetXaxis()->SetRangeUser(0.0,fPtMax);
  ratiomeasuredcontamination->Sumw2();
  ratiomeasuredcontamination->Add(measuredTH1Daftersubstraction,-1.0);
  ratiomeasuredcontamination->Divide(measuredTH1Dbeforesubstraction);
  ratiomeasuredcontamination->SetStats(0);
  ratiomeasuredcontamination->SetMarkerStyle(26);
  ratiomeasuredcontamination->SetMarkerColor(kBlack);
  ratiomeasuredcontamination->SetLineColor(kBlack);
  for(Int_t k=0; k < ratiomeasuredcontamination->GetNbinsX(); k++){
    ratiomeasuredcontamination->SetBinError(k+1,0.0);
  }
  ratiomeasuredcontamination->Draw("P");
  if(fWriteToFile) cbackgroundsubtraction->SaveAs("BackgroundSubtracted.png");

}

//____________________________________________________________
void AliHFEInclusiveSpectrumQA::DrawSubtractContaminationND() const
{
  //
  // subtract the hadron contamination
  //
  //
  AliCFDataGrid *afterE = (AliCFDataGrid *) fListOfResult->UncheckedAt(kAfterSCND);
  AliCFDataGrid *beforeE = (AliCFDataGrid *) fListOfResult->UncheckedAt(kBeforeSCND);
  AliCFDataGrid *contamination = (AliCFDataGrid *) fListOfResult->UncheckedAt(kHadronContaminationND);
 
  if(!afterE || !beforeE || !contamination) return;

  SetStyle();

  TCanvas * cbackgroundsubtractionND = new TCanvas("backgroundsubtractionND","backgroundsubtractionND",1000,700);
  cbackgroundsubtractionND->Divide(3,1);
  cbackgroundsubtractionND->cd(1);
  gPad->SetLogz();
  gPad->SetTicks();
  TH2D *measuredTH2Dbeforesubstraction = (TH2D *) beforeE->Project(0,1); 
  measuredTH2Dbeforesubstraction->SetStats(0);
  measuredTH2Dbeforesubstraction->SetTitle("Before contamination");
  measuredTH2Dbeforesubstraction->GetZaxis()->SetTitleOffset(1.5);
  measuredTH2Dbeforesubstraction->GetZaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  measuredTH2Dbeforesubstraction->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  measuredTH2Dbeforesubstraction->GetXaxis()->SetRangeUser(0.0,fPtMax);
  measuredTH2Dbeforesubstraction->Draw("lego");
  cbackgroundsubtractionND->cd(2);
  gPad->SetLogz();
  gPad->SetTicks();
  TH2D *measuredTH2Daftersubstraction = (TH2D *) afterE->Project(0,1); 
  measuredTH2Daftersubstraction->SetStats(0);
  measuredTH2Daftersubstraction->SetTitle("After contamination");
  measuredTH2Daftersubstraction->GetZaxis()->SetTitleOffset(1.5);
  measuredTH2Daftersubstraction->GetZaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  measuredTH2Daftersubstraction->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  measuredTH2Daftersubstraction->GetXaxis()->SetRangeUser(0.0,fPtMax);
  measuredTH2Daftersubstraction->Draw("lego");
  cbackgroundsubtractionND->cd(3);
  gPad->SetLogz();
  gPad->SetTicks();
  TH2D *measuredsubstraction = (TH2D *) contamination->Project(0,1); 
  measuredsubstraction->SetStats(0);
  measuredsubstraction->SetTitle("Contamination");
  measuredsubstraction->GetZaxis()->SetTitleOffset(1.5);
  measuredsubstraction->GetZaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  measuredsubstraction->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  measuredsubstraction->GetXaxis()->SetRangeUser(0.0,fPtMax);
  measuredsubstraction->SetMarkerStyle(25);
  measuredsubstraction->SetMarkerColor(kBlack);
  measuredsubstraction->SetLineColor(kBlack);
  measuredsubstraction->Draw("colz");
  if(fWriteToFile) cbackgroundsubtractionND->SaveAs("BackgroundSubtractedND.png");

}

//____________________________________________________________
void AliHFEInclusiveSpectrumQA::DrawSubtractPhotonicBackground() const
{
  //
  // get spectrum
  //

  TH1D *measuredTH1Dafterphotonicsubstraction = (TH1D *) fListOfResult->UncheckedAt(kAfterSPB);
  TH1D *measuredTH1Dbeforephotonicsubstraction = (TH1D *) fListOfResult->UncheckedAt(kBeforeSPB);
  if(!measuredTH1Dafterphotonicsubstraction || !measuredTH1Dbeforephotonicsubstraction) return;

  SetStyle();

  TCanvas * cphotonic = new TCanvas("Photonic Subtraction","Photonic Subtraction",1000,700);
  cphotonic->Divide(2,1);
  cphotonic->cd(1);
  gPad->SetLogy();
  gPad->SetTicks();
  measuredTH1Dafterphotonicsubstraction->SetStats(0);
  measuredTH1Dafterphotonicsubstraction->SetTitle("");
  measuredTH1Dafterphotonicsubstraction->GetYaxis()->SetTitleOffset(1.5);
  measuredTH1Dafterphotonicsubstraction->GetYaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  measuredTH1Dafterphotonicsubstraction->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  measuredTH1Dafterphotonicsubstraction->GetXaxis()->SetRangeUser(0.0,fPtMax);
  measuredTH1Dafterphotonicsubstraction->SetMarkerStyle(25);
  measuredTH1Dafterphotonicsubstraction->SetMarkerColor(kBlack);
  measuredTH1Dafterphotonicsubstraction->SetLineColor(kBlack);
  measuredTH1Dbeforephotonicsubstraction->SetStats(0);
  measuredTH1Dbeforephotonicsubstraction->SetTitle("");
  measuredTH1Dbeforephotonicsubstraction->GetYaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  measuredTH1Dbeforephotonicsubstraction->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  measuredTH1Dbeforephotonicsubstraction->GetXaxis()->SetRangeUser(0.0,fPtMax);
  measuredTH1Dbeforephotonicsubstraction->SetMarkerStyle(24);
  measuredTH1Dbeforephotonicsubstraction->SetMarkerColor(kBlue);
  measuredTH1Dbeforephotonicsubstraction->SetLineColor(kBlue);
  measuredTH1Dafterphotonicsubstraction->Draw();
  measuredTH1Dbeforephotonicsubstraction->Draw("same");
  TLegend *legsubstraction = new TLegend(0.4,0.6,0.89,0.89);
  legsubstraction->AddEntry(measuredTH1Dbeforephotonicsubstraction,"With photonic background","p");
  legsubstraction->AddEntry(measuredTH1Dafterphotonicsubstraction,"Without photonic background","p");
  legsubstraction->SetFillStyle(0);
  legsubstraction->SetLineStyle(0);
  legsubstraction->SetLineColor(0);
  legsubstraction->Draw("same");
  cphotonic->cd(2);
  gPad->SetLogy();
  gPad->SetTicks();
  TH1D* ratiomeasuredphotonic = (TH1D*)measuredTH1Dbeforephotonicsubstraction->Clone();
  ratiomeasuredphotonic->SetName("ratiomeasuredphotonic");
  ratiomeasuredphotonic->SetTitle("");
  ratiomeasuredphotonic->GetYaxis()->SetTitleOffset(1.5);
  ratiomeasuredphotonic->GetYaxis()->SetTitle("(with photonic background - without photonic background) / with photonic background");
  ratiomeasuredphotonic->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  ratiomeasuredphotonic->GetYaxis()->SetRangeUser(0.8,1.2);
  ratiomeasuredphotonic->GetXaxis()->SetRangeUser(0.0,fPtMax);
  ratiomeasuredphotonic->Sumw2();
  ratiomeasuredphotonic->Add(measuredTH1Dafterphotonicsubstraction,-1.0);
  ratiomeasuredphotonic->Divide(measuredTH1Dbeforephotonicsubstraction);
  ratiomeasuredphotonic->SetStats(0);
  ratiomeasuredphotonic->SetMarkerStyle(26);
  ratiomeasuredphotonic->SetMarkerColor(kBlack);
  ratiomeasuredphotonic->SetLineColor(kBlack);
  for(Int_t k=0; k < ratiomeasuredphotonic->GetNbinsX(); k++){
    ratiomeasuredphotonic->SetBinError(k+1,0.0);
  }
  ratiomeasuredphotonic->Draw("P");
  if(fWriteToFile) cphotonic->SaveAs("PhotonicSubtracted.png");

}

//____________________________________________________________
void AliHFEInclusiveSpectrumQA::DrawCorrectWithEfficiency(Int_t typeeff) const
{
  //
  // Correct the spectrum for efficiency and unfolding
  // with both method and compare
  //
  
  TH1D *afterE = 0x0;
  TH1D *beforeE = 0x0;
  TH1D *efficiencyDproj = 0x0;
  TF1 *efficiencyparametrized = 0x0;

  if(typeeff== kV0) {
    afterE = (TH1D *) fListOfResult->UncheckedAt(kAfterV0);
    beforeE = (TH1D *) fListOfResult->UncheckedAt(kBeforeV0);
    efficiencyDproj = (TH1D *) fListOfResult->UncheckedAt(kV0Efficiency);
  }
  if(typeeff== kMC) {
    afterE = (TH1D *) fListOfResult->UncheckedAt(kAfterMCE);
    beforeE = (TH1D *) fListOfResult->UncheckedAt(kBeforeMCE);
    efficiencyDproj = (TH1D *) fListOfResult->UncheckedAt(kMCEfficiency);
  }
 if(typeeff== kParametrized) {
    afterE = (TH1D *) fListOfResult->UncheckedAt(kAfterPE);
    beforeE = (TH1D *) fListOfResult->UncheckedAt(kBeforePE);
    efficiencyparametrized = (TF1 *) fListOfResult->UncheckedAt(kPEfficiency);
  }

 if(!afterE || !beforeE) return;

 if((typeeff==kV0 || typeeff==kMC) && (!efficiencyDproj)) return;
 if(typeeff==kParametrized && (!efficiencyparametrized)) return;

  SetStyle();

  TCanvas * cEfficiency = new TCanvas(AliHFEInclusiveSpectrumQA::fgkNameCanvas[typeeff],AliHFEInclusiveSpectrumQA::fgkNameCanvas[typeeff],1000,700);
  cEfficiency->Divide(2,1);
  cEfficiency->cd(1);
  gPad->SetLogy();
  gPad->SetTicks();
  afterE->SetStats(0);
  afterE->SetTitle("");
  afterE->GetYaxis()->SetTitleOffset(1.5);
  afterE->GetYaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  afterE->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  afterE->GetXaxis()->SetRangeUser(0.0,fPtMax);
  afterE->SetMarkerStyle(25);
  afterE->SetMarkerColor(kBlack);
  afterE->SetLineColor(kBlack);
  beforeE->SetStats(0);
  beforeE->SetTitle("");
  beforeE->GetYaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  beforeE->GetXaxis()->SetTitle("p_{T} [GeV/c]");
  beforeE->GetXaxis()->SetRangeUser(0.0,fPtMax);
  beforeE->SetMarkerStyle(24);
  beforeE->SetMarkerColor(kBlue);
  beforeE->SetLineColor(kBlue);
  afterE->Draw();
  beforeE->Draw("same");
  TLegend *legefficiency = new TLegend(0.4,0.6,0.89,0.89);
  legefficiency->AddEntry(beforeE,"Before Efficiency correction","p");
  legefficiency->AddEntry(afterE,"After Efficiency correction","p");
  legefficiency->SetFillStyle(0);
  legefficiency->SetLineStyle(0);
  legefficiency->SetLineColor(0);
  legefficiency->Draw("same");
  cEfficiency->cd(2);
  gPad->SetTicks();
  if((typeeff==kV0 || typeeff==kMC)) {
    if(efficiencyDproj) {
      efficiencyDproj->SetTitle("");
      efficiencyDproj->SetStats(0);
      efficiencyDproj->GetYaxis()->SetTitleOffset(1.5);
      efficiencyDproj->GetYaxis()->SetRangeUser(0.0,1.0);
      efficiencyDproj->GetYaxis()->SetTitle("Efficiency");
      efficiencyDproj->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
      efficiencyDproj->GetXaxis()->SetRangeUser(0.0,fPtMax);
      efficiencyDproj->SetMarkerStyle(25);
      efficiencyDproj->Draw();
    }
  }
  if(typeeff==kParametrized) {
    if(efficiencyparametrized) {
      efficiencyparametrized->GetYaxis()->SetTitleOffset(1.5);
      efficiencyparametrized->GetYaxis()->SetRangeUser(0.0,1.0);
      efficiencyparametrized->GetYaxis()->SetTitle("Efficiency");
      efficiencyparametrized->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
      efficiencyparametrized->GetXaxis()->SetRangeUser(0.0,fPtMax);
      efficiencyparametrized->Draw();
    }
  }
  
  if(fWriteToFile) {
    if(typeeff==kV0) cEfficiency->SaveAs("EfficiencyV0.png");
    if(typeeff==kMC) cEfficiency->SaveAs("EfficiencyMC.png");
    if(typeeff==kParametrized) cEfficiency->SaveAs("EfficiencyParametrized.png");
  }

}
//____________________________________________________________
void AliHFEInclusiveSpectrumQA::DrawCorrectWithEfficiencyND(Int_t typeeff) const
{
  //
  // Correct the spectrum for efficiency and unfolding
  // with both method and compare
  //
  
  AliCFDataGrid *afterE = 0x0;
  AliCFDataGrid *beforeE = 0x0;
  AliCFEffGrid *efficiencyND = 0x0;
  TF1 *efficiencyparametrized = 0x0;

  if(typeeff== kV0) {
    afterE = (AliCFDataGrid *) fListOfResult->UncheckedAt(kAfterV0ND);
    beforeE = (AliCFDataGrid *) fListOfResult->UncheckedAt(kBeforeV0ND);
    efficiencyND = (AliCFEffGrid *) fListOfResult->UncheckedAt(kV0EfficiencyND);
  }
  if(typeeff== kMC) {
    afterE = (AliCFDataGrid *) fListOfResult->UncheckedAt(kAfterMCEND);
    beforeE = (AliCFDataGrid *) fListOfResult->UncheckedAt(kBeforeMCEND);
    efficiencyND = (AliCFEffGrid *) fListOfResult->UncheckedAt(kMCEfficiencyND);
  }
 if(typeeff== kParametrized) {
    afterE = (AliCFDataGrid *) fListOfResult->UncheckedAt(kAfterPEND);
    beforeE = (AliCFDataGrid *) fListOfResult->UncheckedAt(kBeforePEND);
    efficiencyparametrized = (TF1 *) fListOfResult->UncheckedAt(kPEfficiencyND);
  }

 if(!afterE || !beforeE) return;

 if((typeeff==kV0 || typeeff==kMC) && (!efficiencyND)) return;
 if(typeeff==kParametrized && (!efficiencyparametrized)) return;

  SetStyle();

  TCanvas * cEfficiency = new TCanvas(AliHFEInclusiveSpectrumQA::fgkNameCanvasND[typeeff],AliHFEInclusiveSpectrumQA::fgkNameCanvasND[typeeff],1000,700);
  cEfficiency->Divide(3,1);
  cEfficiency->cd(1);
  gPad->SetLogz();
  gPad->SetTicks();
  TH2D *b2D = (TH2D *) beforeE->Project(0,1); 
  b2D->SetStats(0);
  b2D->SetTitle("Before efficiency correction");
  b2D->GetZaxis()->SetTitleOffset(1.5);
  b2D->GetZaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  b2D->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  b2D->GetXaxis()->SetRangeUser(0.0,fPtMax);
  b2D->Draw("lego");
  cEfficiency->cd(2);
  gPad->SetLogz();
  gPad->SetTicks();
  TH2D *a2D = (TH2D *) afterE->Project(0,1); 
  a2D->SetStats(0);
  a2D->SetTitle("After efficiency correction");
  a2D->GetZaxis()->SetTitleOffset(1.5);
  a2D->GetZaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  a2D->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  a2D->GetXaxis()->SetRangeUser(0.0,fPtMax);
  a2D->Draw("lego");
  cEfficiency->cd(3);
  gPad->SetTicks();
  if((typeeff==kV0 || typeeff==kMC)) {
    if(efficiencyND) {
      THnSparseF *gride = (THnSparseF *) efficiencyND->GetGrid();
      TH2D *e2D = (TH2D *) gride->Projection(1,0); 
      e2D->SetStats(0);
      e2D->SetTitle("");
      e2D->SetStats(0);
      e2D->GetZaxis()->SetTitleOffset(1.5);
      e2D->GetZaxis()->SetRangeUser(0.0,1.0);
      e2D->GetZaxis()->SetTitle("Efficiency");
      e2D->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
      e2D->GetXaxis()->SetRangeUser(0.0,fPtMax);
      e2D->Draw("lego");
    }
  }
  if(typeeff==kParametrized) {
    if(efficiencyparametrized) {
      efficiencyparametrized->GetYaxis()->SetTitleOffset(1.5);
      efficiencyparametrized->GetYaxis()->SetRangeUser(0.0,1.0);
      efficiencyparametrized->GetYaxis()->SetTitle("Efficiency");
      efficiencyparametrized->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
      efficiencyparametrized->GetXaxis()->SetRangeUser(0.0,fPtMax);
      efficiencyparametrized->Draw();
    }
  }
  
  if(fWriteToFile) {
    if(typeeff==kV0) cEfficiency->SaveAs("EfficiencyV0ND.png");
    if(typeeff==kMC) cEfficiency->SaveAs("EfficiencyMCND.png");
    if(typeeff==kParametrized) cEfficiency->SaveAs("EfficiencyParametrizedND.png");
  }

}

//____________________________________________________________
void AliHFEInclusiveSpectrumQA::DrawUnfolding() const
{
  //
  // Draw unfolding
  //
  TH1D *measuredspectrumD = (TH1D *) fListOfResult->UncheckedAt(kBeforeU);
  TH1D *residualspectrumD = (TH1D *) fListOfResult->UncheckedAt(kResidualU);
  TH1D *efficiencyDproj = (TH1D *) fListOfResult->UncheckedAt(kUEfficiency);
  THnSparseF *correlation = (THnSparseF *) fListOfResult->UncheckedAt(kCMProjection);
  
  if(!measuredspectrumD || !residualspectrumD || !efficiencyDproj || !correlation) return;
  
  Int_t ndimcor = (Int_t) correlation->GetNdimensions()/2.;

  SetStyle();

  TCanvas * cunfolding = new TCanvas("unfolding","unfolding",1000,700);
  cunfolding->Divide(2,2);
  cunfolding->cd(1);
  gPad->SetLogy();
  gPad->SetTicks();
  residualspectrumD->GetYaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  residualspectrumD->GetXaxis()->SetTitle("p^{rec}_{T} [GeV/c]");
  residualspectrumD->GetXaxis()->SetRangeUser(0.0,fPtMax);
  residualspectrumD->SetStats(0);
  residualspectrumD->SetTitle("");
  residualspectrumD->GetYaxis()->SetTitleOffset(1.5);
  residualspectrumD->SetMarkerStyle(26);
  residualspectrumD->SetMarkerColor(kBlue);
  residualspectrumD->SetLineColor(kBlue);
  residualspectrumD->Sumw2();
  residualspectrumD->Draw("P");
  measuredspectrumD->SetStats(0);
  measuredspectrumD->SetTitle("");  
  measuredspectrumD->GetYaxis()->SetTitleOffset(1.5);
  measuredspectrumD->SetMarkerStyle(25);
  measuredspectrumD->SetMarkerColor(kBlack);
  measuredspectrumD->SetLineColor(kBlack);
  measuredspectrumD->Draw("same");
  TLegend *legres = new TLegend(0.4,0.6,0.89,0.89);
  legres->AddEntry(residualspectrumD,"Residual","p");
  legres->AddEntry(measuredspectrumD,"Measured","p");
  legres->SetFillStyle(0);
  legres->SetLineStyle(0);
  legres->SetLineColor(0);
  legres->Draw("same");
  cunfolding->cd(2);
  gPad->SetTicks();
  TH1D* ratioresidual = (TH1D*)residualspectrumD->Clone();
  ratioresidual->SetName("ratioresidual");
  ratioresidual->SetTitle("");
  ratioresidual->GetYaxis()->SetRangeUser(0.6,1.4);
  ratioresidual->GetYaxis()->SetTitle("Folded/Measured");
  ratioresidual->GetXaxis()->SetTitle("p_{T} [GeV/c]");
  ratioresidual->Divide(measuredspectrumD);
  ratioresidual->SetStats(0);
  ratioresidual->Draw();
  cunfolding->cd(3);
  gPad->SetTicks();
  efficiencyDproj->GetYaxis()->SetTitle("Efficiency");
  efficiencyDproj->GetXaxis()->SetTitle("p^{MC}_{T} [GeV/c]");
  efficiencyDproj->GetXaxis()->SetRangeUser(0.0,fPtMax);
  efficiencyDproj->GetYaxis()->SetRangeUser(0.0,1.0);
  efficiencyDproj->SetStats(0);
  efficiencyDproj->SetTitle("");
  efficiencyDproj->GetYaxis()->SetTitleOffset(1.5);
  efficiencyDproj->SetMarkerStyle(26);
  efficiencyDproj->SetMarkerColor(kBlue);
  efficiencyDproj->SetLineColor(kBlue);
  efficiencyDproj->Sumw2();
  efficiencyDproj->Draw("P");
  cunfolding->cd(4);
  TH2F *projectioncorr = (TH2F *) correlation->Projection(0,ndimcor);
  projectioncorr->GetYaxis()->SetTitle("p^{ESD}_{T} [GeV/c]");
  projectioncorr->GetXaxis()->SetTitle("p^{MC}_{T} [GeV/c]");
  projectioncorr->GetXaxis()->SetRangeUser(0.0,fPtMax);
  projectioncorr->GetYaxis()->SetRangeUser(0.0,fPtMax);
  projectioncorr->SetStats(0);
  projectioncorr->SetTitle("");
  projectioncorr->Draw("colz");

  if(fWriteToFile){
    cunfolding->SaveAs("Unfolding.png");
  }
  
}
//____________________________________________________________
void AliHFEInclusiveSpectrumQA::DrawResult()
{
  //
  // Draw Results
  //
  TGraphErrors* correctedspectrumD = (TGraphErrors *) fListOfResult->UncheckedAt(kFinalResultUnfolded);
  TGraphErrors* alltogetherspectrumD = (TGraphErrors *) fListOfResult->UncheckedAt( kFinalResultDirectEfficiency);
  if(!correctedspectrumD || !alltogetherspectrumD) return;
  
 
  correctedspectrumD->SetTitle("");
  correctedspectrumD->GetYaxis()->SetTitleOffset(1.5);
  correctedspectrumD->GetYaxis()->SetRangeUser(0.000001,100.0);
  correctedspectrumD->GetXaxis()->SetRangeUser(0.0,fPtMax);
  correctedspectrumD->SetMarkerStyle(26);
  correctedspectrumD->SetMarkerColor(kBlue);
  correctedspectrumD->SetLineColor(kBlue);
  alltogetherspectrumD->SetTitle("");
  alltogetherspectrumD->GetYaxis()->SetTitleOffset(1.5);
  alltogetherspectrumD->GetYaxis()->SetRangeUser(0.000000001,1.0);
  alltogetherspectrumD->SetMarkerStyle(25);
  alltogetherspectrumD->SetMarkerColor(kBlack);
  alltogetherspectrumD->SetLineColor(kBlack);
  TLegend *legcorrected = new TLegend(0.4,0.6,0.89,0.89);
  legcorrected->AddEntry(correctedspectrumD,"Unfolded","p");
  legcorrected->AddEntry(alltogetherspectrumD,"Direct corrected","p");
  legcorrected->SetFillStyle(0);
  legcorrected->SetLineStyle(0);
  legcorrected->SetLineColor(0);

 
  TH1D* ratiocorrected = DivideSpectra(correctedspectrumD,alltogetherspectrumD);
  if(ratiocorrected) {
    ratiocorrected->SetName("ratiocorrected");
    ratiocorrected->SetTitle("");
    ratiocorrected->GetYaxis()->SetTitleOffset(1.5);
    ratiocorrected->GetYaxis()->SetTitle("Unfolded/DirectCorrected");
    ratiocorrected->GetXaxis()->SetTitle("p_{T} [GeV/c]");
    ratiocorrected->GetXaxis()->SetRangeUser(0.0,fPtMax);
    ratiocorrected->GetYaxis()->SetRangeUser(0.4,1.4);
    ratiocorrected->SetStats(0);
  }
 

  TCanvas * ccorrected = new TCanvas("corrected","corrected",1000,700);
  if(ratiocorrected) ccorrected->Divide(2,1);
  SetStyle();
  ccorrected->cd(1);
  gPad->SetLogy();
  gPad->SetTicks();
  correctedspectrumD->Draw("AP");
  alltogetherspectrumD->Draw("P");
  legcorrected->Draw("same");
  if(ratiocorrected) {
    ccorrected->cd(2);
    gPad->SetTicks();
    ratiocorrected->Draw();
  }
  if(fWriteToFile)ccorrected->SaveAs("CorrectedResults.png");

}
//____________________________________________________________
TH1D *AliHFEInclusiveSpectrumQA::DivideSpectra(TGraphErrors *ga, TGraphErrors *gb) 
{
  //
  // Divide Spectra
  //

  TH1D *afterE = (TH1D *) fListOfResult->UncheckedAt(kAfterMCE);
  if(!afterE) return 0x0;

  TH1D *histoB = (TH1D*) afterE->Clone();
  histoB->Sumw2();
  histoB->SetName("ratio");
  TH1D *histoa = (TH1D*) afterE->Clone();
  histoa->Sumw2();
  histoa->SetName("a");
  TH1D *histob = (TH1D*) afterE->Clone();
  histob->Sumw2();
  histob->SetName("b");
  
  double xa,ya,xb,yb,eya,eyb;
  Int_t npointsa = ga->GetN();
  Int_t npointsb = gb->GetN();
  if(npointsa != npointsb) {
    printf("Problem the two spectra have not the same number of points\n");
    return 0x0;
  }
  for(Int_t k = 0; k < npointsa; k++){
    ga->GetPoint(k,xa,ya);
    gb->GetPoint(k,xb,yb);
    //
    Double_t centerhisto = histoa->GetBinCenter(k+1);
    //
    if((TMath::Abs(xa-xb) > 0.0001) || (TMath::Abs(xa-centerhisto) > 0.0001)) {
      printf("Problem not the same x axis\n");
      return 0x0;
    }
    histoa->SetBinContent(k+1,ya);
    histob->SetBinContent(k+1,yb);
    //
    eya = ga->GetErrorY(k);
    eyb = gb->GetErrorY(k);
    //
    histoa->SetBinError(k+1,eya);
    histob->SetBinError(k+1,eyb);
   
  }
  
  histoB->Sumw2();
  histoB->Divide(histoa,histob,1.0,1.0,"B");

  return histoB;  

}
//__________________________________________
void AliHFEInclusiveSpectrumQA::SetStyle() const
{
  //
  // Set style
  //

  gStyle->SetPalette(1);
  gStyle->SetOptStat(1111);
  gStyle->SetPadBorderMode(0);
  gStyle->SetCanvasColor(10);
  gStyle->SetPadLeftMargin(0.13);
  gStyle->SetPadRightMargin(0.13);

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