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 "AliHFEBeautySpectrumQA.h"
#include "AliHFECorrectSpectrumBase.h"
#include "AliHFEcuts.h"
#include "AliHFEcontainer.h"
#include "AliHFEtools.h"

ClassImp(AliHFEBeautySpectrumQA)

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

//____________________________________________________________
AliHFEBeautySpectrumQA::AliHFEBeautySpectrumQA():
  TNamed(),
  fPtMax(8.0),
  fListOfResult(),
  fWriteToFile(kTRUE)
  {
  //
  // Default constructor
  //

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

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

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

}

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

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

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

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

}
//____________________________________________________________
void AliHFEBeautySpectrumQA::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");
  }


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

  SetStyle();

  TCanvas * cbackgroundsubtraction = new TCanvas("backgroundsubtraction","backgroundsubtraction",1000,700);
  cbackgroundsubtraction->Divide(3,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");
  cbackgroundsubtraction->cd(3);
  measuredTH1background->SetStats(0);
  measuredTH1background->SetTitle("");
  measuredTH1background->GetYaxis()->SetTitle("dN/dp_{T} [(GeV/c)^{-1}]");
  measuredTH1background->GetXaxis()->SetTitle("p_{T} [GeV/c]");
  measuredTH1background->SetMarkerStyle(26);
  measuredTH1background->SetMarkerColor(kBlack);
  measuredTH1background->SetLineColor(kBlack);
  measuredTH1background->Draw();
  if(fWriteToFile) cbackgroundsubtraction->SaveAs("BackgroundSubtracted.png");

}


//____________________________________________________________
void AliHFEBeautySpectrumQA::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== 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==kMC && !efficiencyDproj) return;
  if(typeeff==kParametrized && !efficiencyparametrized) return;
  
  SetStyle();
  
  TCanvas * cEfficiency = new TCanvas(AliHFEBeautySpectrumQA::fgkNameCanvas[typeeff],AliHFEBeautySpectrumQA::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==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->Draw();
  }
  
  if(fWriteToFile) {
    if(typeeff==kMC) cEfficiency->SaveAs("EfficiencyMC.png");
    if(typeeff==kParametrized) cEfficiency->SaveAs("EfficiencyParametrized.png");
  }

}

//____________________________________________________________
void AliHFEBeautySpectrumQA::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 AliHFEBeautySpectrumQA::DrawResult()
{
  //
  // Draw Results
  //
  TGraphErrors* correctedspectrumD = (TGraphErrors *) fListOfResult->UncheckedAt(kFinalResultUnfolded);
  TGraphErrors* alltogetherspectrumD = (TGraphErrors *) fListOfResult->UncheckedAt(kFinalResultDirectEfficiency);
  THnSparse* correctedspectrum = (THnSparse *) fListOfResult->UncheckedAt(kFinalResultUnfSparse);
  AliCFDataGrid* alltogetherCorrection = (AliCFDataGrid *) fListOfResult->UncheckedAt( kFinalResultDirectEffSparse);
  if(!correctedspectrumD || !alltogetherspectrumD) return;
  
  SetStyle();

  TCanvas * ccorrected = new TCanvas("corrected","corrected",1000,700);
  ccorrected->Divide(2,1);
  ccorrected->cd(1);
  gPad->SetLogy();
  correctedspectrumD->SetTitle("");
  correctedspectrumD->GetYaxis()->SetTitleOffset(1.5);
  correctedspectrumD->GetYaxis()->SetRangeUser(0.000000001,1.0);
  correctedspectrumD->SetMarkerStyle(26);
  correctedspectrumD->SetMarkerColor(kBlue);
  correctedspectrumD->SetLineColor(kBlue);
  correctedspectrumD->Draw("AP");
  alltogetherspectrumD->SetTitle("");
  alltogetherspectrumD->GetYaxis()->SetTitleOffset(1.5);
  alltogetherspectrumD->GetYaxis()->SetRangeUser(0.000000001,1.0);
  alltogetherspectrumD->SetMarkerStyle(25);
  alltogetherspectrumD->SetMarkerColor(kBlack);
  alltogetherspectrumD->SetLineColor(kBlack);
  alltogetherspectrumD->Draw("P");
  TLegend *legcorrected = new TLegend(0.4,0.6,0.89,0.89);
  legcorrected->AddEntry(correctedspectrumD,"Corrected","p");
  legcorrected->AddEntry(alltogetherspectrumD,"Alltogether","p");
  legcorrected->Draw("same");
  ccorrected->cd(2);
  TH1D *correctedTH1D = correctedspectrum->Projection(0);
  TH1D *alltogetherTH1D = (TH1D *) alltogetherCorrection->Project(0);
  TH1D* ratiocorrected = (TH1D*)correctedTH1D->Clone();
  ratiocorrected->SetName("ratiocorrected");
  ratiocorrected->SetTitle("");
  ratiocorrected->GetYaxis()->SetTitle("Unfolded/DirectCorrected");
  ratiocorrected->GetXaxis()->SetTitle("p_{T} [GeV/c]");
  ratiocorrected->Divide(correctedTH1D,alltogetherTH1D,1,1);
  ratiocorrected->SetStats(0);
  ratiocorrected->Draw();
  if(fWriteToFile){ 
    ccorrected->SaveAs("CorrectedBeauty.eps");    
    TFile *out;
    out = new TFile("finalSpectrum.root","recreate");
    out->cd();
    //
    correctedspectrumD->SetName("UnfoldingCorrectedSpectrum");
    correctedspectrumD->Write();
    alltogetherspectrumD->SetName("AlltogetherSpectrum");
    alltogetherspectrumD->Write();
    ratiocorrected->SetName("RatioUnfoldingAlltogetherSpectrum");
    ratiocorrected->Write();
    //
 
    out->Close(); 
    delete out;
  }
}
//____________________________________________________________
TH1D *AliHFEBeautySpectrumQA::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 AliHFEBeautySpectrumQA::SetStyle() const
{
  //
  // Set style
  //

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

}
 AliHFEBeautySpectrumQA.cxx:1
 AliHFEBeautySpectrumQA.cxx:2
 AliHFEBeautySpectrumQA.cxx:3
 AliHFEBeautySpectrumQA.cxx:4
 AliHFEBeautySpectrumQA.cxx:5
 AliHFEBeautySpectrumQA.cxx:6
 AliHFEBeautySpectrumQA.cxx:7
 AliHFEBeautySpectrumQA.cxx:8
 AliHFEBeautySpectrumQA.cxx:9
 AliHFEBeautySpectrumQA.cxx:10
 AliHFEBeautySpectrumQA.cxx:11
 AliHFEBeautySpectrumQA.cxx:12
 AliHFEBeautySpectrumQA.cxx:13
 AliHFEBeautySpectrumQA.cxx:14
 AliHFEBeautySpectrumQA.cxx:15
 AliHFEBeautySpectrumQA.cxx:16
 AliHFEBeautySpectrumQA.cxx:17
 AliHFEBeautySpectrumQA.cxx:18
 AliHFEBeautySpectrumQA.cxx:19
 AliHFEBeautySpectrumQA.cxx:20
 AliHFEBeautySpectrumQA.cxx:21
 AliHFEBeautySpectrumQA.cxx:22
 AliHFEBeautySpectrumQA.cxx:23
 AliHFEBeautySpectrumQA.cxx:24
 AliHFEBeautySpectrumQA.cxx:25
 AliHFEBeautySpectrumQA.cxx:26
 AliHFEBeautySpectrumQA.cxx:27
 AliHFEBeautySpectrumQA.cxx:28
 AliHFEBeautySpectrumQA.cxx:29
 AliHFEBeautySpectrumQA.cxx:30
 AliHFEBeautySpectrumQA.cxx:31
 AliHFEBeautySpectrumQA.cxx:32
 AliHFEBeautySpectrumQA.cxx:33
 AliHFEBeautySpectrumQA.cxx:34
 AliHFEBeautySpectrumQA.cxx:35
 AliHFEBeautySpectrumQA.cxx:36
 AliHFEBeautySpectrumQA.cxx:37
 AliHFEBeautySpectrumQA.cxx:38
 AliHFEBeautySpectrumQA.cxx:39
 AliHFEBeautySpectrumQA.cxx:40
 AliHFEBeautySpectrumQA.cxx:41
 AliHFEBeautySpectrumQA.cxx:42
 AliHFEBeautySpectrumQA.cxx:43
 AliHFEBeautySpectrumQA.cxx:44
 AliHFEBeautySpectrumQA.cxx:45
 AliHFEBeautySpectrumQA.cxx:46
 AliHFEBeautySpectrumQA.cxx:47
 AliHFEBeautySpectrumQA.cxx:48
 AliHFEBeautySpectrumQA.cxx:49
 AliHFEBeautySpectrumQA.cxx:50
 AliHFEBeautySpectrumQA.cxx:51
 AliHFEBeautySpectrumQA.cxx:52
 AliHFEBeautySpectrumQA.cxx:53
 AliHFEBeautySpectrumQA.cxx:54
 AliHFEBeautySpectrumQA.cxx:55
 AliHFEBeautySpectrumQA.cxx:56
 AliHFEBeautySpectrumQA.cxx:57
 AliHFEBeautySpectrumQA.cxx:58
 AliHFEBeautySpectrumQA.cxx:59
 AliHFEBeautySpectrumQA.cxx:60
 AliHFEBeautySpectrumQA.cxx:61
 AliHFEBeautySpectrumQA.cxx:62
 AliHFEBeautySpectrumQA.cxx:63
 AliHFEBeautySpectrumQA.cxx:64
 AliHFEBeautySpectrumQA.cxx:65
 AliHFEBeautySpectrumQA.cxx:66
 AliHFEBeautySpectrumQA.cxx:67
 AliHFEBeautySpectrumQA.cxx:68
 AliHFEBeautySpectrumQA.cxx:69
 AliHFEBeautySpectrumQA.cxx:70
 AliHFEBeautySpectrumQA.cxx:71
 AliHFEBeautySpectrumQA.cxx:72
 AliHFEBeautySpectrumQA.cxx:73
 AliHFEBeautySpectrumQA.cxx:74
 AliHFEBeautySpectrumQA.cxx:75
 AliHFEBeautySpectrumQA.cxx:76
 AliHFEBeautySpectrumQA.cxx:77
 AliHFEBeautySpectrumQA.cxx:78
 AliHFEBeautySpectrumQA.cxx:79
 AliHFEBeautySpectrumQA.cxx:80
 AliHFEBeautySpectrumQA.cxx:81
 AliHFEBeautySpectrumQA.cxx:82
 AliHFEBeautySpectrumQA.cxx:83
 AliHFEBeautySpectrumQA.cxx:84
 AliHFEBeautySpectrumQA.cxx:85
 AliHFEBeautySpectrumQA.cxx:86
 AliHFEBeautySpectrumQA.cxx:87
 AliHFEBeautySpectrumQA.cxx:88
 AliHFEBeautySpectrumQA.cxx:89
 AliHFEBeautySpectrumQA.cxx:90
 AliHFEBeautySpectrumQA.cxx:91
 AliHFEBeautySpectrumQA.cxx:92
 AliHFEBeautySpectrumQA.cxx:93
 AliHFEBeautySpectrumQA.cxx:94
 AliHFEBeautySpectrumQA.cxx:95
 AliHFEBeautySpectrumQA.cxx:96
 AliHFEBeautySpectrumQA.cxx:97
 AliHFEBeautySpectrumQA.cxx:98
 AliHFEBeautySpectrumQA.cxx:99
 AliHFEBeautySpectrumQA.cxx:100
 AliHFEBeautySpectrumQA.cxx:101
 AliHFEBeautySpectrumQA.cxx:102
 AliHFEBeautySpectrumQA.cxx:103
 AliHFEBeautySpectrumQA.cxx:104
 AliHFEBeautySpectrumQA.cxx:105
 AliHFEBeautySpectrumQA.cxx:106
 AliHFEBeautySpectrumQA.cxx:107
 AliHFEBeautySpectrumQA.cxx:108
 AliHFEBeautySpectrumQA.cxx:109
 AliHFEBeautySpectrumQA.cxx:110
 AliHFEBeautySpectrumQA.cxx:111
 AliHFEBeautySpectrumQA.cxx:112
 AliHFEBeautySpectrumQA.cxx:113
 AliHFEBeautySpectrumQA.cxx:114
 AliHFEBeautySpectrumQA.cxx:115
 AliHFEBeautySpectrumQA.cxx:116
 AliHFEBeautySpectrumQA.cxx:117
 AliHFEBeautySpectrumQA.cxx:118
 AliHFEBeautySpectrumQA.cxx:119
 AliHFEBeautySpectrumQA.cxx:120
 AliHFEBeautySpectrumQA.cxx:121
 AliHFEBeautySpectrumQA.cxx:122
 AliHFEBeautySpectrumQA.cxx:123
 AliHFEBeautySpectrumQA.cxx:124
 AliHFEBeautySpectrumQA.cxx:125
 AliHFEBeautySpectrumQA.cxx:126
 AliHFEBeautySpectrumQA.cxx:127
 AliHFEBeautySpectrumQA.cxx:128
 AliHFEBeautySpectrumQA.cxx:129
 AliHFEBeautySpectrumQA.cxx:130
 AliHFEBeautySpectrumQA.cxx:131
 AliHFEBeautySpectrumQA.cxx:132
 AliHFEBeautySpectrumQA.cxx:133
 AliHFEBeautySpectrumQA.cxx:134
 AliHFEBeautySpectrumQA.cxx:135
 AliHFEBeautySpectrumQA.cxx:136
 AliHFEBeautySpectrumQA.cxx:137
 AliHFEBeautySpectrumQA.cxx:138
 AliHFEBeautySpectrumQA.cxx:139
 AliHFEBeautySpectrumQA.cxx:140
 AliHFEBeautySpectrumQA.cxx:141
 AliHFEBeautySpectrumQA.cxx:142
 AliHFEBeautySpectrumQA.cxx:143
 AliHFEBeautySpectrumQA.cxx:144
 AliHFEBeautySpectrumQA.cxx:145
 AliHFEBeautySpectrumQA.cxx:146
 AliHFEBeautySpectrumQA.cxx:147
 AliHFEBeautySpectrumQA.cxx:148
 AliHFEBeautySpectrumQA.cxx:149
 AliHFEBeautySpectrumQA.cxx:150
 AliHFEBeautySpectrumQA.cxx:151
 AliHFEBeautySpectrumQA.cxx:152
 AliHFEBeautySpectrumQA.cxx:153
 AliHFEBeautySpectrumQA.cxx:154
 AliHFEBeautySpectrumQA.cxx:155
 AliHFEBeautySpectrumQA.cxx:156
 AliHFEBeautySpectrumQA.cxx:157
 AliHFEBeautySpectrumQA.cxx:158
 AliHFEBeautySpectrumQA.cxx:159
 AliHFEBeautySpectrumQA.cxx:160
 AliHFEBeautySpectrumQA.cxx:161
 AliHFEBeautySpectrumQA.cxx:162
 AliHFEBeautySpectrumQA.cxx:163
 AliHFEBeautySpectrumQA.cxx:164
 AliHFEBeautySpectrumQA.cxx:165
 AliHFEBeautySpectrumQA.cxx:166
 AliHFEBeautySpectrumQA.cxx:167
 AliHFEBeautySpectrumQA.cxx:168
 AliHFEBeautySpectrumQA.cxx:169
 AliHFEBeautySpectrumQA.cxx:170
 AliHFEBeautySpectrumQA.cxx:171
 AliHFEBeautySpectrumQA.cxx:172
 AliHFEBeautySpectrumQA.cxx:173
 AliHFEBeautySpectrumQA.cxx:174
 AliHFEBeautySpectrumQA.cxx:175
 AliHFEBeautySpectrumQA.cxx:176
 AliHFEBeautySpectrumQA.cxx:177
 AliHFEBeautySpectrumQA.cxx:178
 AliHFEBeautySpectrumQA.cxx:179
 AliHFEBeautySpectrumQA.cxx:180
 AliHFEBeautySpectrumQA.cxx:181
 AliHFEBeautySpectrumQA.cxx:182
 AliHFEBeautySpectrumQA.cxx:183
 AliHFEBeautySpectrumQA.cxx:184
 AliHFEBeautySpectrumQA.cxx:185
 AliHFEBeautySpectrumQA.cxx:186
 AliHFEBeautySpectrumQA.cxx:187
 AliHFEBeautySpectrumQA.cxx:188
 AliHFEBeautySpectrumQA.cxx:189
 AliHFEBeautySpectrumQA.cxx:190
 AliHFEBeautySpectrumQA.cxx:191
 AliHFEBeautySpectrumQA.cxx:192
 AliHFEBeautySpectrumQA.cxx:193
 AliHFEBeautySpectrumQA.cxx:194
 AliHFEBeautySpectrumQA.cxx:195
 AliHFEBeautySpectrumQA.cxx:196
 AliHFEBeautySpectrumQA.cxx:197
 AliHFEBeautySpectrumQA.cxx:198
 AliHFEBeautySpectrumQA.cxx:199
 AliHFEBeautySpectrumQA.cxx:200
 AliHFEBeautySpectrumQA.cxx:201
 AliHFEBeautySpectrumQA.cxx:202
 AliHFEBeautySpectrumQA.cxx:203
 AliHFEBeautySpectrumQA.cxx:204
 AliHFEBeautySpectrumQA.cxx:205
 AliHFEBeautySpectrumQA.cxx:206
 AliHFEBeautySpectrumQA.cxx:207
 AliHFEBeautySpectrumQA.cxx:208
 AliHFEBeautySpectrumQA.cxx:209
 AliHFEBeautySpectrumQA.cxx:210
 AliHFEBeautySpectrumQA.cxx:211
 AliHFEBeautySpectrumQA.cxx:212
 AliHFEBeautySpectrumQA.cxx:213
 AliHFEBeautySpectrumQA.cxx:214
 AliHFEBeautySpectrumQA.cxx:215
 AliHFEBeautySpectrumQA.cxx:216
 AliHFEBeautySpectrumQA.cxx:217
 AliHFEBeautySpectrumQA.cxx:218
 AliHFEBeautySpectrumQA.cxx:219
 AliHFEBeautySpectrumQA.cxx:220
 AliHFEBeautySpectrumQA.cxx:221
 AliHFEBeautySpectrumQA.cxx:222
 AliHFEBeautySpectrumQA.cxx:223
 AliHFEBeautySpectrumQA.cxx:224
 AliHFEBeautySpectrumQA.cxx:225
 AliHFEBeautySpectrumQA.cxx:226
 AliHFEBeautySpectrumQA.cxx:227
 AliHFEBeautySpectrumQA.cxx:228
 AliHFEBeautySpectrumQA.cxx:229
 AliHFEBeautySpectrumQA.cxx:230
 AliHFEBeautySpectrumQA.cxx:231
 AliHFEBeautySpectrumQA.cxx:232
 AliHFEBeautySpectrumQA.cxx:233
 AliHFEBeautySpectrumQA.cxx:234
 AliHFEBeautySpectrumQA.cxx:235
 AliHFEBeautySpectrumQA.cxx:236
 AliHFEBeautySpectrumQA.cxx:237
 AliHFEBeautySpectrumQA.cxx:238
 AliHFEBeautySpectrumQA.cxx:239
 AliHFEBeautySpectrumQA.cxx:240
 AliHFEBeautySpectrumQA.cxx:241
 AliHFEBeautySpectrumQA.cxx:242
 AliHFEBeautySpectrumQA.cxx:243
 AliHFEBeautySpectrumQA.cxx:244
 AliHFEBeautySpectrumQA.cxx:245
 AliHFEBeautySpectrumQA.cxx:246
 AliHFEBeautySpectrumQA.cxx:247
 AliHFEBeautySpectrumQA.cxx:248
 AliHFEBeautySpectrumQA.cxx:249
 AliHFEBeautySpectrumQA.cxx:250
 AliHFEBeautySpectrumQA.cxx:251
 AliHFEBeautySpectrumQA.cxx:252
 AliHFEBeautySpectrumQA.cxx:253
 AliHFEBeautySpectrumQA.cxx:254
 AliHFEBeautySpectrumQA.cxx:255
 AliHFEBeautySpectrumQA.cxx:256
 AliHFEBeautySpectrumQA.cxx:257
 AliHFEBeautySpectrumQA.cxx:258
 AliHFEBeautySpectrumQA.cxx:259
 AliHFEBeautySpectrumQA.cxx:260
 AliHFEBeautySpectrumQA.cxx:261
 AliHFEBeautySpectrumQA.cxx:262
 AliHFEBeautySpectrumQA.cxx:263
 AliHFEBeautySpectrumQA.cxx:264
 AliHFEBeautySpectrumQA.cxx:265
 AliHFEBeautySpectrumQA.cxx:266
 AliHFEBeautySpectrumQA.cxx:267
 AliHFEBeautySpectrumQA.cxx:268
 AliHFEBeautySpectrumQA.cxx:269
 AliHFEBeautySpectrumQA.cxx:270
 AliHFEBeautySpectrumQA.cxx:271
 AliHFEBeautySpectrumQA.cxx:272
 AliHFEBeautySpectrumQA.cxx:273
 AliHFEBeautySpectrumQA.cxx:274
 AliHFEBeautySpectrumQA.cxx:275
 AliHFEBeautySpectrumQA.cxx:276
 AliHFEBeautySpectrumQA.cxx:277
 AliHFEBeautySpectrumQA.cxx:278
 AliHFEBeautySpectrumQA.cxx:279
 AliHFEBeautySpectrumQA.cxx:280
 AliHFEBeautySpectrumQA.cxx:281
 AliHFEBeautySpectrumQA.cxx:282
 AliHFEBeautySpectrumQA.cxx:283
 AliHFEBeautySpectrumQA.cxx:284
 AliHFEBeautySpectrumQA.cxx:285
 AliHFEBeautySpectrumQA.cxx:286
 AliHFEBeautySpectrumQA.cxx:287
 AliHFEBeautySpectrumQA.cxx:288
 AliHFEBeautySpectrumQA.cxx:289
 AliHFEBeautySpectrumQA.cxx:290
 AliHFEBeautySpectrumQA.cxx:291
 AliHFEBeautySpectrumQA.cxx:292
 AliHFEBeautySpectrumQA.cxx:293
 AliHFEBeautySpectrumQA.cxx:294
 AliHFEBeautySpectrumQA.cxx:295
 AliHFEBeautySpectrumQA.cxx:296
 AliHFEBeautySpectrumQA.cxx:297
 AliHFEBeautySpectrumQA.cxx:298
 AliHFEBeautySpectrumQA.cxx:299
 AliHFEBeautySpectrumQA.cxx:300
 AliHFEBeautySpectrumQA.cxx:301
 AliHFEBeautySpectrumQA.cxx:302
 AliHFEBeautySpectrumQA.cxx:303
 AliHFEBeautySpectrumQA.cxx:304
 AliHFEBeautySpectrumQA.cxx:305
 AliHFEBeautySpectrumQA.cxx:306
 AliHFEBeautySpectrumQA.cxx:307
 AliHFEBeautySpectrumQA.cxx:308
 AliHFEBeautySpectrumQA.cxx:309
 AliHFEBeautySpectrumQA.cxx:310
 AliHFEBeautySpectrumQA.cxx:311
 AliHFEBeautySpectrumQA.cxx:312
 AliHFEBeautySpectrumQA.cxx:313
 AliHFEBeautySpectrumQA.cxx:314
 AliHFEBeautySpectrumQA.cxx:315
 AliHFEBeautySpectrumQA.cxx:316
 AliHFEBeautySpectrumQA.cxx:317
 AliHFEBeautySpectrumQA.cxx:318
 AliHFEBeautySpectrumQA.cxx:319
 AliHFEBeautySpectrumQA.cxx:320
 AliHFEBeautySpectrumQA.cxx:321
 AliHFEBeautySpectrumQA.cxx:322
 AliHFEBeautySpectrumQA.cxx:323
 AliHFEBeautySpectrumQA.cxx:324
 AliHFEBeautySpectrumQA.cxx:325
 AliHFEBeautySpectrumQA.cxx:326
 AliHFEBeautySpectrumQA.cxx:327
 AliHFEBeautySpectrumQA.cxx:328
 AliHFEBeautySpectrumQA.cxx:329
 AliHFEBeautySpectrumQA.cxx:330
 AliHFEBeautySpectrumQA.cxx:331
 AliHFEBeautySpectrumQA.cxx:332
 AliHFEBeautySpectrumQA.cxx:333
 AliHFEBeautySpectrumQA.cxx:334
 AliHFEBeautySpectrumQA.cxx:335
 AliHFEBeautySpectrumQA.cxx:336
 AliHFEBeautySpectrumQA.cxx:337
 AliHFEBeautySpectrumQA.cxx:338
 AliHFEBeautySpectrumQA.cxx:339
 AliHFEBeautySpectrumQA.cxx:340
 AliHFEBeautySpectrumQA.cxx:341
 AliHFEBeautySpectrumQA.cxx:342
 AliHFEBeautySpectrumQA.cxx:343
 AliHFEBeautySpectrumQA.cxx:344
 AliHFEBeautySpectrumQA.cxx:345
 AliHFEBeautySpectrumQA.cxx:346
 AliHFEBeautySpectrumQA.cxx:347
 AliHFEBeautySpectrumQA.cxx:348
 AliHFEBeautySpectrumQA.cxx:349
 AliHFEBeautySpectrumQA.cxx:350
 AliHFEBeautySpectrumQA.cxx:351
 AliHFEBeautySpectrumQA.cxx:352
 AliHFEBeautySpectrumQA.cxx:353
 AliHFEBeautySpectrumQA.cxx:354
 AliHFEBeautySpectrumQA.cxx:355
 AliHFEBeautySpectrumQA.cxx:356
 AliHFEBeautySpectrumQA.cxx:357
 AliHFEBeautySpectrumQA.cxx:358
 AliHFEBeautySpectrumQA.cxx:359
 AliHFEBeautySpectrumQA.cxx:360
 AliHFEBeautySpectrumQA.cxx:361
 AliHFEBeautySpectrumQA.cxx:362
 AliHFEBeautySpectrumQA.cxx:363
 AliHFEBeautySpectrumQA.cxx:364
 AliHFEBeautySpectrumQA.cxx:365
 AliHFEBeautySpectrumQA.cxx:366
 AliHFEBeautySpectrumQA.cxx:367
 AliHFEBeautySpectrumQA.cxx:368
 AliHFEBeautySpectrumQA.cxx:369
 AliHFEBeautySpectrumQA.cxx:370
 AliHFEBeautySpectrumQA.cxx:371
 AliHFEBeautySpectrumQA.cxx:372
 AliHFEBeautySpectrumQA.cxx:373
 AliHFEBeautySpectrumQA.cxx:374
 AliHFEBeautySpectrumQA.cxx:375
 AliHFEBeautySpectrumQA.cxx:376
 AliHFEBeautySpectrumQA.cxx:377
 AliHFEBeautySpectrumQA.cxx:378
 AliHFEBeautySpectrumQA.cxx:379
 AliHFEBeautySpectrumQA.cxx:380
 AliHFEBeautySpectrumQA.cxx:381
 AliHFEBeautySpectrumQA.cxx:382
 AliHFEBeautySpectrumQA.cxx:383
 AliHFEBeautySpectrumQA.cxx:384
 AliHFEBeautySpectrumQA.cxx:385
 AliHFEBeautySpectrumQA.cxx:386
 AliHFEBeautySpectrumQA.cxx:387
 AliHFEBeautySpectrumQA.cxx:388
 AliHFEBeautySpectrumQA.cxx:389
 AliHFEBeautySpectrumQA.cxx:390
 AliHFEBeautySpectrumQA.cxx:391
 AliHFEBeautySpectrumQA.cxx:392
 AliHFEBeautySpectrumQA.cxx:393
 AliHFEBeautySpectrumQA.cxx:394
 AliHFEBeautySpectrumQA.cxx:395
 AliHFEBeautySpectrumQA.cxx:396
 AliHFEBeautySpectrumQA.cxx:397
 AliHFEBeautySpectrumQA.cxx:398
 AliHFEBeautySpectrumQA.cxx:399
 AliHFEBeautySpectrumQA.cxx:400
 AliHFEBeautySpectrumQA.cxx:401
 AliHFEBeautySpectrumQA.cxx:402
 AliHFEBeautySpectrumQA.cxx:403
 AliHFEBeautySpectrumQA.cxx:404
 AliHFEBeautySpectrumQA.cxx:405
 AliHFEBeautySpectrumQA.cxx:406
 AliHFEBeautySpectrumQA.cxx:407
 AliHFEBeautySpectrumQA.cxx:408
 AliHFEBeautySpectrumQA.cxx:409
 AliHFEBeautySpectrumQA.cxx:410
 AliHFEBeautySpectrumQA.cxx:411
 AliHFEBeautySpectrumQA.cxx:412
 AliHFEBeautySpectrumQA.cxx:413
 AliHFEBeautySpectrumQA.cxx:414
 AliHFEBeautySpectrumQA.cxx:415
 AliHFEBeautySpectrumQA.cxx:416
 AliHFEBeautySpectrumQA.cxx:417
 AliHFEBeautySpectrumQA.cxx:418
 AliHFEBeautySpectrumQA.cxx:419
 AliHFEBeautySpectrumQA.cxx:420
 AliHFEBeautySpectrumQA.cxx:421
 AliHFEBeautySpectrumQA.cxx:422
 AliHFEBeautySpectrumQA.cxx:423
 AliHFEBeautySpectrumQA.cxx:424
 AliHFEBeautySpectrumQA.cxx:425
 AliHFEBeautySpectrumQA.cxx:426
 AliHFEBeautySpectrumQA.cxx:427
 AliHFEBeautySpectrumQA.cxx:428
 AliHFEBeautySpectrumQA.cxx:429
 AliHFEBeautySpectrumQA.cxx:430
 AliHFEBeautySpectrumQA.cxx:431
 AliHFEBeautySpectrumQA.cxx:432
 AliHFEBeautySpectrumQA.cxx:433
 AliHFEBeautySpectrumQA.cxx:434
 AliHFEBeautySpectrumQA.cxx:435
 AliHFEBeautySpectrumQA.cxx:436
 AliHFEBeautySpectrumQA.cxx:437
 AliHFEBeautySpectrumQA.cxx:438
 AliHFEBeautySpectrumQA.cxx:439
 AliHFEBeautySpectrumQA.cxx:440
 AliHFEBeautySpectrumQA.cxx:441
 AliHFEBeautySpectrumQA.cxx:442
 AliHFEBeautySpectrumQA.cxx:443
 AliHFEBeautySpectrumQA.cxx:444
 AliHFEBeautySpectrumQA.cxx:445
 AliHFEBeautySpectrumQA.cxx:446
 AliHFEBeautySpectrumQA.cxx:447
 AliHFEBeautySpectrumQA.cxx:448
 AliHFEBeautySpectrumQA.cxx:449
 AliHFEBeautySpectrumQA.cxx:450
 AliHFEBeautySpectrumQA.cxx:451
 AliHFEBeautySpectrumQA.cxx:452
 AliHFEBeautySpectrumQA.cxx:453
 AliHFEBeautySpectrumQA.cxx:454
 AliHFEBeautySpectrumQA.cxx:455
 AliHFEBeautySpectrumQA.cxx:456
 AliHFEBeautySpectrumQA.cxx:457
 AliHFEBeautySpectrumQA.cxx:458
 AliHFEBeautySpectrumQA.cxx:459
 AliHFEBeautySpectrumQA.cxx:460
 AliHFEBeautySpectrumQA.cxx:461
 AliHFEBeautySpectrumQA.cxx:462
 AliHFEBeautySpectrumQA.cxx:463
 AliHFEBeautySpectrumQA.cxx:464
 AliHFEBeautySpectrumQA.cxx:465
 AliHFEBeautySpectrumQA.cxx:466
 AliHFEBeautySpectrumQA.cxx:467
 AliHFEBeautySpectrumQA.cxx:468
 AliHFEBeautySpectrumQA.cxx:469
 AliHFEBeautySpectrumQA.cxx:470
 AliHFEBeautySpectrumQA.cxx:471
 AliHFEBeautySpectrumQA.cxx:472
 AliHFEBeautySpectrumQA.cxx:473
 AliHFEBeautySpectrumQA.cxx:474
 AliHFEBeautySpectrumQA.cxx:475
 AliHFEBeautySpectrumQA.cxx:476
 AliHFEBeautySpectrumQA.cxx:477
 AliHFEBeautySpectrumQA.cxx:478
 AliHFEBeautySpectrumQA.cxx:479
 AliHFEBeautySpectrumQA.cxx:480
 AliHFEBeautySpectrumQA.cxx:481
 AliHFEBeautySpectrumQA.cxx:482
 AliHFEBeautySpectrumQA.cxx:483
 AliHFEBeautySpectrumQA.cxx:484
 AliHFEBeautySpectrumQA.cxx:485
 AliHFEBeautySpectrumQA.cxx:486
 AliHFEBeautySpectrumQA.cxx:487
 AliHFEBeautySpectrumQA.cxx:488
 AliHFEBeautySpectrumQA.cxx:489
 AliHFEBeautySpectrumQA.cxx:490
 AliHFEBeautySpectrumQA.cxx:491
 AliHFEBeautySpectrumQA.cxx:492
 AliHFEBeautySpectrumQA.cxx:493
 AliHFEBeautySpectrumQA.cxx:494
 AliHFEBeautySpectrumQA.cxx:495
 AliHFEBeautySpectrumQA.cxx:496
 AliHFEBeautySpectrumQA.cxx:497
 AliHFEBeautySpectrumQA.cxx:498
 AliHFEBeautySpectrumQA.cxx:499
 AliHFEBeautySpectrumQA.cxx:500
 AliHFEBeautySpectrumQA.cxx:501
 AliHFEBeautySpectrumQA.cxx:502
 AliHFEBeautySpectrumQA.cxx:503
 AliHFEBeautySpectrumQA.cxx:504
 AliHFEBeautySpectrumQA.cxx:505
 AliHFEBeautySpectrumQA.cxx:506
 AliHFEBeautySpectrumQA.cxx:507
 AliHFEBeautySpectrumQA.cxx:508
 AliHFEBeautySpectrumQA.cxx:509
 AliHFEBeautySpectrumQA.cxx:510
 AliHFEBeautySpectrumQA.cxx:511
 AliHFEBeautySpectrumQA.cxx:512
 AliHFEBeautySpectrumQA.cxx:513
 AliHFEBeautySpectrumQA.cxx:514
 AliHFEBeautySpectrumQA.cxx:515
 AliHFEBeautySpectrumQA.cxx:516
 AliHFEBeautySpectrumQA.cxx:517
 AliHFEBeautySpectrumQA.cxx:518
 AliHFEBeautySpectrumQA.cxx:519
 AliHFEBeautySpectrumQA.cxx:520
 AliHFEBeautySpectrumQA.cxx:521
 AliHFEBeautySpectrumQA.cxx:522
 AliHFEBeautySpectrumQA.cxx:523
 AliHFEBeautySpectrumQA.cxx:524
 AliHFEBeautySpectrumQA.cxx:525
 AliHFEBeautySpectrumQA.cxx:526
 AliHFEBeautySpectrumQA.cxx:527
 AliHFEBeautySpectrumQA.cxx:528
 AliHFEBeautySpectrumQA.cxx:529
 AliHFEBeautySpectrumQA.cxx:530
 AliHFEBeautySpectrumQA.cxx:531
 AliHFEBeautySpectrumQA.cxx:532
 AliHFEBeautySpectrumQA.cxx:533
 AliHFEBeautySpectrumQA.cxx:534
 AliHFEBeautySpectrumQA.cxx:535
 AliHFEBeautySpectrumQA.cxx:536
 AliHFEBeautySpectrumQA.cxx:537
 AliHFEBeautySpectrumQA.cxx:538
 AliHFEBeautySpectrumQA.cxx:539
 AliHFEBeautySpectrumQA.cxx:540
 AliHFEBeautySpectrumQA.cxx:541
 AliHFEBeautySpectrumQA.cxx:542
 AliHFEBeautySpectrumQA.cxx:543
 AliHFEBeautySpectrumQA.cxx:544
 AliHFEBeautySpectrumQA.cxx:545
 AliHFEBeautySpectrumQA.cxx:546
 AliHFEBeautySpectrumQA.cxx:547
 AliHFEBeautySpectrumQA.cxx:548
 AliHFEBeautySpectrumQA.cxx:549
 AliHFEBeautySpectrumQA.cxx:550
 AliHFEBeautySpectrumQA.cxx:551
 AliHFEBeautySpectrumQA.cxx:552
 AliHFEBeautySpectrumQA.cxx:553
 AliHFEBeautySpectrumQA.cxx:554
 AliHFEBeautySpectrumQA.cxx:555
 AliHFEBeautySpectrumQA.cxx:556
 AliHFEBeautySpectrumQA.cxx:557
 AliHFEBeautySpectrumQA.cxx:558
 AliHFEBeautySpectrumQA.cxx:559
 AliHFEBeautySpectrumQA.cxx:560
 AliHFEBeautySpectrumQA.cxx:561
 AliHFEBeautySpectrumQA.cxx:562
 AliHFEBeautySpectrumQA.cxx:563
 AliHFEBeautySpectrumQA.cxx:564
 AliHFEBeautySpectrumQA.cxx:565
 AliHFEBeautySpectrumQA.cxx:566
 AliHFEBeautySpectrumQA.cxx:567
 AliHFEBeautySpectrumQA.cxx:568
 AliHFEBeautySpectrumQA.cxx:569
 AliHFEBeautySpectrumQA.cxx:570
 AliHFEBeautySpectrumQA.cxx:571
 AliHFEBeautySpectrumQA.cxx:572
 AliHFEBeautySpectrumQA.cxx:573
 AliHFEBeautySpectrumQA.cxx:574
 AliHFEBeautySpectrumQA.cxx:575
 AliHFEBeautySpectrumQA.cxx:576
 AliHFEBeautySpectrumQA.cxx:577
 AliHFEBeautySpectrumQA.cxx:578
 AliHFEBeautySpectrumQA.cxx:579
 AliHFEBeautySpectrumQA.cxx:580