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>
//            Markus Fasel <M.Fasel@gsi.de>
//
#include <TArrayD.h>
#include <TH1.h>
#include <TList.h>
#include <TObjArray.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 "AliHFEBeautySpectrum.h"
#include "AliHFEBeautySpectrumQA.h"
#include "AliHFEcuts.h"
#include "AliHFEcontainer.h"
#include "AliHFEtools.h"

ClassImp(AliHFEBeautySpectrum)

//____________________________________________________________
AliHFEBeautySpectrum::AliHFEBeautySpectrum(const char *name):
AliHFECorrectSpectrumBase(name),
  fQA(NULL),
  fTemporaryObjects(NULL),
  fBackground(NULL),
  fEfficiencyTOFPIDD(NULL),
  fEfficiencyesdTOFPIDD(NULL),
  fEfficiencyIPCharmD(NULL),
  fEfficiencyIPBeautyD(NULL),
  fEfficiencyIPBeautyesdD(NULL),
  fEfficiencyIPConversionD(NULL),
  fEfficiencyIPNonhfeD(NULL), 
  fNonHFEbg(NULL),
  fWeightCharm(NULL),
  fInclusiveSpectrum(kFALSE),
  fDumpToFile(kFALSE),
  fUnSetCorrelatedErrors(kTRUE),
  fIPanaHadronBgSubtract(kFALSE),
  fIPanaCharmBgSubtract(kFALSE),
  fIPanaNonHFEBgSubtract(kFALSE),
  fIPParameterizedEff(kFALSE),
  fNonHFEsyst(0),
  fBeauty2ndMethod(kFALSE),
  fIPEffCombinedSamples(kTRUE),
  fNMCEvents(0),
  fNMCbgEvents(0),
  fNCentralityBinAtTheEnd(0),
  fFillMoreCorrelationMatrix(kFALSE),
  fHadronEffbyIPcut(NULL),
  fEfficiencyCharmSigD(NULL),
  fEfficiencyBeautySigD(NULL),
  fEfficiencyBeautySigesdD(NULL),
  fConversionEff(NULL),
  fNonHFEEff(NULL),
  fCharmEff(NULL),
  fBeautyEff(NULL),
  fConversionEffbgc(NULL),
  fNonHFEEffbgc(NULL),      
  fBSpectrum2ndMethod(NULL),
  fkBeauty2ndMethodfilename(""),
  fBeamType(0),
  fEtaSyst(kTRUE),
  fDebugLevel(0),
  fWriteToFile(kFALSE),
  fUnfoldBG(kFALSE)
{
  //
  // Default constructor
  //

  fQA = new AliHFEBeautySpectrumQA("AliHFEBeautySpectrumQA");

  for(Int_t k = 0; k < 20; k++){
    fLowBoundaryCentralityBinAtTheEnd[k] = 0;
    fHighBoundaryCentralityBinAtTheEnd[k] = 0;
  }
  fNMCbgEvents = 0;  
  fEfficiencyTOFPIDD = 0;
  fEfficiencyesdTOFPIDD = 0;
  fEfficiencyIPCharmD = 0;     
  fEfficiencyIPBeautyD = 0;    
  fEfficiencyIPBeautyesdD = 0;
  fEfficiencyIPConversionD = 0;
  fEfficiencyIPNonhfeD = 0;   
  
  fConversionEff = 0;
  fNonHFEEff = 0;
  fCharmEff = 0;
  fBeautyEff = 0;
  fEfficiencyCharmSigD = 0;
  fEfficiencyBeautySigD = 0;
  fEfficiencyBeautySigesdD = 0;
  
  
  memset(fConvSourceContainer, 0, sizeof(AliCFContainer*) * kElecBgSources * kBgLevels);
  memset(fNonHFESourceContainer, 0, sizeof(AliCFContainer*) * kElecBgSources * kBgLevels);
}
//____________________________________________________________
AliHFEBeautySpectrum::AliHFEBeautySpectrum(const AliHFEBeautySpectrum &ref):
  AliHFECorrectSpectrumBase(ref),
  fQA(ref.fQA),
  fTemporaryObjects(ref.fTemporaryObjects),
  fBackground(ref.fBackground),
  fEfficiencyTOFPIDD(ref.fEfficiencyTOFPIDD),
  fEfficiencyesdTOFPIDD(ref.fEfficiencyesdTOFPIDD),
  fEfficiencyIPCharmD(ref.fEfficiencyIPCharmD),
  fEfficiencyIPBeautyD(ref.fEfficiencyIPBeautyD),
  fEfficiencyIPBeautyesdD(ref.fEfficiencyIPBeautyesdD),
  fEfficiencyIPConversionD(ref.fEfficiencyIPConversionD),
  fEfficiencyIPNonhfeD(ref.fEfficiencyIPNonhfeD), 
  fNonHFEbg(ref.fNonHFEbg),
  fWeightCharm(ref.fWeightCharm),
  fInclusiveSpectrum(ref.fInclusiveSpectrum),
  fDumpToFile(ref.fDumpToFile),
  fUnSetCorrelatedErrors(ref.fUnSetCorrelatedErrors),
  fIPanaHadronBgSubtract(ref.fIPanaHadronBgSubtract),
  fIPanaCharmBgSubtract(ref.fIPanaCharmBgSubtract),
  fIPanaNonHFEBgSubtract(ref.fIPanaNonHFEBgSubtract),
  fIPParameterizedEff(ref.fIPParameterizedEff),
  fNonHFEsyst(ref.fNonHFEsyst),
  fBeauty2ndMethod(ref.fBeauty2ndMethod),
  fIPEffCombinedSamples(ref.fIPEffCombinedSamples),
  fNMCEvents(ref.fNMCEvents),
  fNMCbgEvents(ref.fNMCbgEvents),
  fNCentralityBinAtTheEnd(ref.fNCentralityBinAtTheEnd),
  fFillMoreCorrelationMatrix(ref.fFillMoreCorrelationMatrix),
  fHadronEffbyIPcut(ref.fHadronEffbyIPcut),
  fEfficiencyCharmSigD(ref.fEfficiencyCharmSigD),
  fEfficiencyBeautySigD(ref.fEfficiencyBeautySigD),
  fEfficiencyBeautySigesdD(ref.fEfficiencyBeautySigesdD),
  fConversionEff(ref.fConversionEff),
  fNonHFEEff(ref.fNonHFEEff),
  fCharmEff(ref.fCharmEff),
  fBeautyEff(ref.fBeautyEff),
  fConversionEffbgc(ref.fConversionEffbgc),
  fNonHFEEffbgc(ref.fNonHFEEffbgc),      
  fBSpectrum2ndMethod(ref.fBSpectrum2ndMethod),
  fkBeauty2ndMethodfilename(ref.fkBeauty2ndMethodfilename),
  fBeamType(ref.fBeamType),
  fEtaSyst(ref.fEtaSyst),
  fDebugLevel(ref.fDebugLevel),
  fWriteToFile(ref.fWriteToFile),
  fUnfoldBG(ref.fUnfoldBG)
{
  //
  // Copy constructor
  //

  ref.Copy(*this);  
}
//____________________________________________________________
AliHFEBeautySpectrum &AliHFEBeautySpectrum::operator=(const AliHFEBeautySpectrum &ref){
 //
  // Assignment operator
  //
  if(this == &ref) 
    ref.Copy(*this);
  return *this;
}
//____________________________________________________________
void AliHFEBeautySpectrum::Copy(TObject &o) const {
  // 
  // Copy into object o
  //
  AliHFEBeautySpectrum &target = dynamic_cast<AliHFEBeautySpectrum &>(o);
  target.fQA = fQA;

  target.fQA = fQA;
  target.fTemporaryObjects = fTemporaryObjects;
  target.fBackground = fBackground;
  target.fWeightCharm = fWeightCharm;
  target.fDumpToFile = fDumpToFile;
  target.fUnSetCorrelatedErrors = fUnSetCorrelatedErrors;
  target.fIPanaHadronBgSubtract = fIPanaHadronBgSubtract;
  target.fIPanaCharmBgSubtract = fIPanaCharmBgSubtract;
  target.fIPanaNonHFEBgSubtract = fIPanaNonHFEBgSubtract;
  target.fIPParameterizedEff = fIPParameterizedEff;
  target.fNonHFEsyst = fNonHFEsyst;
  target.fBeauty2ndMethod = fBeauty2ndMethod;
  target.fIPEffCombinedSamples = fIPEffCombinedSamples;
  target.fNMCEvents = fNMCEvents;
  target.fNCentralityBinAtTheEnd = fNCentralityBinAtTheEnd;
  target.fFillMoreCorrelationMatrix = fFillMoreCorrelationMatrix;
  target.fHadronEffbyIPcut = fHadronEffbyIPcut;
  target.fConversionEffbgc = fConversionEffbgc;
  target.fNonHFEEffbgc = fNonHFEEffbgc;      
  target.fBSpectrum2ndMethod = fBSpectrum2ndMethod;
  target.fkBeauty2ndMethodfilename = fkBeauty2ndMethodfilename;
  target.fBeamType = fBeamType;
  target.fEtaSyst = fEtaSyst;
  target.fDebugLevel = fDebugLevel;
  target.fWriteToFile = fWriteToFile;
  target.fUnfoldBG = fUnfoldBG;
}
//____________________________________________________________
AliHFEBeautySpectrum::~AliHFEBeautySpectrum(){
  //
  // Destructor
  //
  if(fTemporaryObjects){
    fTemporaryObjects->Clear();
    delete fTemporaryObjects;
  }
  if(fQA) delete fQA;
}
//____________________________________________________________
Bool_t AliHFEBeautySpectrum::Init(const AliHFEcontainer *datahfecontainer, const AliHFEcontainer *mchfecontainer, const AliHFEcontainer *bghfecontainer, const AliHFEcontainer */*v0hfecontainer*/,AliCFContainer */*photoniccontainerD*/){
  //
  // Init what we need for the correction:
  //
  // Raw spectrum, hadron contamination
  // MC efficiency maps, correlation matrix
  //
  // This for a given dimension.
  // If no inclusive spectrum, then take only efficiency map for beauty electron
  // and the appropriate correlation matrix
  //

  
  if(fBeauty2ndMethod) CallInputFileForBeauty2ndMethod();

  Int_t kNdim = 3;
 
  Int_t dims[kNdim];
  
  switch(fNbDimensions){
  case 1:   dims[0] = 0;
    break;
  case 2:   for(Int_t i = 0; i < 2; i++) dims[i] = i;
    break;
  case 3:   for(Int_t i = 0; i < 3; i++) dims[i] = i;
    break;
  default:
    AliError("Container with this number of dimensions not foreseen (yet)");
    return kFALSE;
  };
  
  //
  // Data container: raw spectrum + hadron contamination  
  //
  AliCFContainer *datacontainer = datahfecontainer->MakeMergedCFContainer("sumreco","sumreco","recTrackContReco:recTrackContDEReco");
  AliCFContainer *contaminationcontainer = datahfecontainer->GetCFContainer("hadronicBackground");
  if((!datacontainer) || (!contaminationcontainer)) return kFALSE;
  AliCFContainer *datacontainerD = GetSlicedContainer(datacontainer, fNbDimensions, dims, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  AliCFContainer *contaminationcontainerD = GetSlicedContainer(contaminationcontainer, fNbDimensions, dims, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  if((!datacontainerD) || (!contaminationcontainerD)) return kFALSE;
  SetContainer(datacontainerD,AliHFECorrectSpectrumBase::kDataContainer);
  SetContainer(contaminationcontainerD,AliHFECorrectSpectrumBase::kBackgroundData);

  // QA : see with MJ if it is necessary for Beauty
  Int_t dimqa = datacontainer->GetNVar();
  Int_t dimsqa[dimqa];
  for(Int_t i = 0; i < dimqa; i++) dimsqa[i] = i;
  AliCFContainer *datacontainerDQA = GetSlicedContainer(datacontainer, dimqa, dimsqa, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  fQA->AddResultAt(datacontainerDQA,AliHFEBeautySpectrumQA::kDataProjection);

  //
  // MC container: ESD/MC efficiency maps + MC/MC efficiency maps
  // 
  AliCFContainer *mccontaineresd = 0x0;
  AliCFContainer *mccontaineresdbg = 0x0;
  AliCFContainer *mccontainermc = 0x0;
  AliCFContainer *mccontainermcbg = 0x0;
  AliCFContainer *nonHFEweightedContainer = 0x0;
  AliCFContainer *convweightedContainer = 0x0;
  AliCFContainer *nonHFEweightedContainerSig = 0x0;//mjmj
  AliCFContainer *convweightedContainerSig = 0x0;//mjmj
  AliCFContainer *nonHFEtempContainer = 0x0;//temporary container to be sliced for the fnonHFESourceContainers
  AliCFContainer *convtempContainer = 0x0;//temporary container to be sliced for the fConvSourceContainers
   
  mccontaineresd = mchfecontainer->MakeMergedCFContainer("sumesd","sumesd","MCTrackCont:recTrackContReco:recTrackContDEReco");
  mccontaineresdbg = bghfecontainer->MakeMergedCFContainer("sumesd","sumesd","MCTrackCont:recTrackContReco:recTrackContDEReco");
  mccontainermc = mchfecontainer->MakeMergedCFContainer("summc","summc","MCTrackCont:recTrackContMC:recTrackContDEMC");
  mccontainermcbg = bghfecontainer->MakeMergedCFContainer("summcbg","summcbg","MCTrackCont:recTrackContMC:recTrackContDEMC");
  
  if(fNonHFEsyst){   
    const Char_t *sourceName[kElecBgSources]={"Pion","Eta","Omega","Phi","EtaPrime","Rho","K0sSec","OtherSecPi0","Else"};
    const Char_t *levelName[kBgLevels]={"Best","Lower","Upper"};
    for(Int_t iSource = 0; iSource < kElecBgSources; iSource++){
      for(Int_t iLevel = 0; iLevel < kBgLevels; iLevel++){
        if(!(nonHFEtempContainer = bghfecontainer->GetCFContainer(Form("mesonElecs%s%s",sourceName[iSource],levelName[iLevel]))))continue;
        convtempContainer = bghfecontainer->GetCFContainer(Form("conversionElecs%s%s",sourceName[iSource],levelName[iLevel]));     
        if(!(fConvSourceContainer[iSource][iLevel] = GetSlicedContainer(convtempContainer, fNbDimensions, dims, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh)))continue;
        if(!(fNonHFESourceContainer[iSource][iLevel] = GetSlicedContainer(nonHFEtempContainer, fNbDimensions, dims, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh)))continue;
        //	      if((!fConvSourceContainer[iSource][iLevel][icentr])||(!fNonHFESourceContainer[iSource][iLevel])) return kFALSE;
        if(fBeamType == 1)break;//no systematics yet for PbPb non-HFE backgrounds
      }
    }
  }
  // else{      
  nonHFEweightedContainer = bghfecontainer->GetCFContainer("mesonElecs");
  convweightedContainer = bghfecontainer->GetCFContainer("conversionElecs");
  if((!convweightedContainer)||(!nonHFEweightedContainer)) return kFALSE; 
  nonHFEweightedContainerSig = mchfecontainer->GetCFContainer("mesonElecs");//mjmj
  convweightedContainerSig = mchfecontainer->GetCFContainer("conversionElecs");//mjmj
  if((!convweightedContainerSig)||(!nonHFEweightedContainerSig)) return kFALSE;
  //}
  
  if((!mccontaineresd) || (!mccontainermc)) return kFALSE;  
  
  Int_t source = 1; //beauty
  AliCFContainer *mccontaineresdD = GetSlicedContainer(mccontaineresd, fNbDimensions, dims, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  AliCFContainer *mccontainermcD = GetSlicedContainer(mccontainermc, fNbDimensions, dims, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  if((!mccontaineresdD) || (!mccontainermcD)) return kFALSE;
  SetContainer(mccontainermcD,AliHFECorrectSpectrumBase::kMCContainerMC);
  SetContainer(mccontaineresdD,AliHFECorrectSpectrumBase::kMCContainerESD);

  // set charm, nonHFE container to estimate BG
  source = 0; //charm
  mccontainermcD = GetSlicedContainer(mccontainermc, fNbDimensions, dims, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh); //mjmjmj
  //mccontainermcD = GetSlicedContainer(mccontainermcbg, fNbDimensions, dims, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  SetContainer(mccontainermcD,AliHFECorrectSpectrumBase::kMCContainerCharmMC);

  //if(!fNonHFEsyst){
  AliCFContainer *nonHFEweightedContainerD = GetSlicedContainer(nonHFEweightedContainer, fNbDimensions, dims, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  SetContainer(nonHFEweightedContainerD,AliHFECorrectSpectrumBase::kMCWeightedContainerNonHFEESD);
  AliCFContainer *convweightedContainerD = GetSlicedContainer(convweightedContainer, fNbDimensions, dims, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  SetContainer(convweightedContainerD,AliHFECorrectSpectrumBase::kMCWeightedContainerConversionESD);
  
  //mjmj
  AliCFContainer *nonHFEweightedContainerSigD = GetSlicedContainer(nonHFEweightedContainerSig, fNbDimensions, dims, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  SetContainer(nonHFEweightedContainerSigD,AliHFECorrectSpectrumBase::kMCWeightedContainerNonHFEESDSig);
  if(!GetContainer(AliHFECorrectSpectrumBase::kMCWeightedContainerNonHFEESDSig)){printf("merged non-HFE container not found!\n");return kFALSE;};
  AliCFContainer *convweightedContainerSigD = GetSlicedContainer(convweightedContainerSig, fNbDimensions, dims, -1, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
  SetContainer(convweightedContainerSigD,AliHFECorrectSpectrumBase::kMCWeightedContainerConversionESDSig); 
  if(!GetContainer(AliHFECorrectSpectrumBase::kMCWeightedContainerConversionESDSig)){printf(" merged conversion container not found!\n");return kFALSE;}; 
  //}
  
  SetParameterizedEff(mccontainermc, mccontainermcbg, mccontaineresd, mccontaineresdbg, dims);
  
  //
  // MC container: correlation matrix
  //
  THnSparseF *mccorrelation = mchfecontainer->GetCorrelationMatrix("correlationstepafterPID"); // we confirmed that we get same result by using it instead of correlationstepafterDE
  //mccorrelation = mchfecontainer->GetCorrelationMatrix("correlationstepafterDE");
  if(!mccorrelation) return kFALSE;
  Int_t testCentralityLow = fTestCentralityLow;
  Int_t testCentralityHigh = fTestCentralityHigh;
  if(fFillMoreCorrelationMatrix) {
    testCentralityLow = fTestCentralityLow-1;
    testCentralityHigh = fTestCentralityHigh+1;
  }
  THnSparseF *mccorrelationD = GetSlicedCorrelation(mccorrelation, fNbDimensions, dims, fChargeChoosen, testCentralityLow,testCentralityHigh);
  if(!mccorrelationD) {
    printf("No correlation\n");
    return kFALSE;
  }
  SetCorrelation(mccorrelationD);

  // QA
  fQA->AddResultAt(mccorrelation,AliHFEBeautySpectrumQA::kCMProjection); 
  //
  fQA->DrawProjections();


  return kTRUE;
}


//____________________________________________________________
void AliHFEBeautySpectrum::CallInputFileForBeauty2ndMethod(){
  //
  // get spectrum for beauty 2nd method
  //
  //
    TFile *inputfile2ndmethod=TFile::Open(fkBeauty2ndMethodfilename);
    fBSpectrum2ndMethod = new TH1D(*static_cast<TH1D*>(inputfile2ndmethod->Get("BSpectrum")));
}

//____________________________________________________________
Bool_t AliHFEBeautySpectrum::Correct(Bool_t subtractcontamination, Bool_t /*subtractphotonic*/){
  //
  // Correct the spectrum for efficiency and unfolding for beauty analysis
  // with both method and compare
  //
  
  gStyle->SetPalette(1);
  gStyle->SetOptStat(1111);
  gStyle->SetPadBorderMode(0);
  gStyle->SetCanvasColor(10);
  gStyle->SetPadLeftMargin(0.13);
  gStyle->SetPadRightMargin(0.13);

  printf("Steps are: stepdata %d, stepMC %d, steptrue %d\n",fStepData,fStepMC,fStepTrue);

  ///////////////////////////
  // Check initialization
  ///////////////////////////

  if((!GetContainer(kDataContainer)) || (!GetContainer(kMCContainerMC)) || (!GetContainer(kMCContainerESD))){
    AliInfo("You have to init before");
    return kFALSE;
  }
  
  if((fStepTrue <= 0) && (fStepMC <= 0) && (fStepData <= 0)) {
    AliInfo("You have to set the steps before: SetMCTruthStep, SetMCEffStep, SetStepToCorrect");
    return kFALSE;
  }
 
  SetStepGuessedUnfolding(AliHFEcuts::kStepRecKineITSTPC + AliHFEcuts::kNcutStepsMCTrack);
    
  AliCFDataGrid *dataGridAfterFirstSteps = 0x0;
  //////////////////////////////////
  // Subtract hadron background
  /////////////////////////////////
  AliCFDataGrid *dataspectrumaftersubstraction = 0x0;
  AliCFDataGrid *unnormalizedRawSpectrum = 0x0;
  TGraphErrors *gNormalizedRawSpectrum = 0x0;
  if(subtractcontamination) {
      if(!fBeauty2ndMethod) dataspectrumaftersubstraction = SubtractBackground(kTRUE);
      else dataspectrumaftersubstraction = GetRawBspectra2ndMethod();
      unnormalizedRawSpectrum = (AliCFDataGrid*)dataspectrumaftersubstraction->Clone();
      dataGridAfterFirstSteps = dataspectrumaftersubstraction;
      gNormalizedRawSpectrum = Normalize(unnormalizedRawSpectrum);
  }

  /////////////////////////////////////////////////////////////////////////////////////////
  // Correct for IP efficiency for beauty electrons after subtracting all the backgrounds
  /////////////////////////////////////////////////////////////////////////////////////////

  AliCFDataGrid *dataspectrumafterefficiencyparametrizedcorrection = 0x0;
  
  if(fEfficiencyFunction){
    dataspectrumafterefficiencyparametrizedcorrection = CorrectParametrizedEfficiency(dataGridAfterFirstSteps);
    dataGridAfterFirstSteps = dataspectrumafterefficiencyparametrizedcorrection;
  }
 
  ///////////////
  // Unfold
  //////////////
  THnSparse *correctedspectrum = Unfold(dataGridAfterFirstSteps);
  if(!correctedspectrum){
    AliError("No corrected spectrum\n");
    return kFALSE;
  }
  
  /////////////////////
  // Simply correct
  ////////////////////

  AliCFDataGrid *alltogetherCorrection = CorrectForEfficiency(dataGridAfterFirstSteps);
  

  //////////
  // Plot
  //////////

  // QA final results
  TGraphErrors* correctedspectrumD = Normalize(correctedspectrum);
  TGraphErrors* alltogetherspectrumD = Normalize(alltogetherCorrection);
  fQA->AddResultAt(correctedspectrumD,AliHFEBeautySpectrumQA::kFinalResultUnfolded);
  fQA->AddResultAt(alltogetherspectrumD,AliHFEBeautySpectrumQA::kFinalResultDirectEfficiency);
  fQA->AddResultAt(correctedspectrum,AliHFEBeautySpectrumQA::kFinalResultUnfSparse);
  fQA->AddResultAt(alltogetherCorrection,AliHFEBeautySpectrumQA::kFinalResultDirectEffSparse);
  fQA->DrawResult();

 
  if(fBeamType == 0){
    if(fNonHFEsyst){
      CalculateNonHFEsyst();
    }
  }

  // Dump to file if needed
  
  if(fDumpToFile) {
    TFile *out;
    out = new TFile("finalSpectrum.root","update");
    out->cd();
    // to do centrality dependent
    correctedspectrum->SetName("UnfoldingCorrectedNotNormalizedSpectrum");
    correctedspectrum->Write();
    alltogetherCorrection->SetName("AlltogetherCorrectedNotNormalizedSpectrum");
    alltogetherCorrection->Write();
    //
    if(unnormalizedRawSpectrum) {
      unnormalizedRawSpectrum->SetName("beautyAfterIP");
      unnormalizedRawSpectrum->Write();
    }
    
    if(gNormalizedRawSpectrum){
      gNormalizedRawSpectrum->SetName("normalizedBeautyAfterIP");
      gNormalizedRawSpectrum->Write();
    }
        
    fEfficiencyCharmSigD->SetTitle("IPEfficiencyForCharmSig");
    fEfficiencyCharmSigD->SetName("IPEfficiencyForCharmSig");
    fEfficiencyCharmSigD->Write();
    fEfficiencyBeautySigD->SetTitle("IPEfficiencyForBeautySig");
    fEfficiencyBeautySigD->SetName("IPEfficiencyForBeautySig");
    fEfficiencyBeautySigD->Write();
    fCharmEff->SetTitle("IPEfficiencyForCharm");
    fCharmEff->SetName("IPEfficiencyForCharm");
    fCharmEff->Write();
    fBeautyEff->SetTitle("IPEfficiencyForBeauty");
    fBeautyEff->SetName("IPEfficiencyForBeauty");
    fBeautyEff->Write();
    fConversionEff->SetTitle("IPEfficiencyForConversion");
    fConversionEff->SetName("IPEfficiencyForConversion");
    fConversionEff->Write();
    fNonHFEEff->SetTitle("IPEfficiencyForNonHFE");
    fNonHFEEff->SetName("IPEfficiencyForNonHFE");
    fNonHFEEff->Write();
    
   
    out->Close(); 
    delete out;
   }
  return kTRUE;
}
//____________________________________________________________
AliCFDataGrid* AliHFEBeautySpectrum::SubtractBackground(Bool_t setBackground){
  //
  // Apply background subtraction for IP analysis
  //
  
  Int_t nbins=1;
  printf("subtracting background\n");
  // Raw spectrum
  AliCFContainer *dataContainer = GetContainer(kDataContainer);
  if(!dataContainer){
    AliError("Data Container not available");
    return NULL;
  }
  printf("Step data: %d\n",fStepData);
  AliCFDataGrid *spectrumSubtracted = new AliCFDataGrid("spectrumSubtracted", "Data Grid for spectrum after Background subtraction", *dataContainer,fStepData);
  
  AliCFDataGrid *dataspectrumbeforesubstraction = (AliCFDataGrid *) ((AliCFDataGrid *)GetSpectrum(GetContainer(kDataContainer),fStepData))->Clone();
  dataspectrumbeforesubstraction->SetName("dataspectrumbeforesubstraction"); 
  
  // Background Estimate
  AliCFContainer *backgroundContainer = GetContainer(kBackgroundData);
  if(!backgroundContainer){
    AliError("MC background container not found");
    return NULL;
  }
    
  Int_t stepbackground = 1;
  AliCFDataGrid *backgroundGrid = new AliCFDataGrid("ContaminationGrid","ContaminationGrid",*backgroundContainer,stepbackground);
  
  const Int_t bgPlots = 8;
  TH1D *incElec = 0x0;
  TH1D *hadron = 0x0;
  TH1D *charm = 0x0;
  TH1D *nonHFE[bgPlots];
  TH1D *subtracted = 0x0;
  
  THnSparseF* sparseIncElec = (THnSparseF *) dataspectrumbeforesubstraction->GetGrid();  
  incElec = (TH1D *) sparseIncElec->Projection(0);
  AliHFEtools::NormaliseBinWidth(incElec);

  TH1D* htemp;
  Int_t* bins=new Int_t[2];

  if(fIPanaHadronBgSubtract){
    // Hadron background
    printf("Hadron background for IP analysis subtracted!\n");
    htemp  = (TH1D *) fHadronEffbyIPcut->Projection(0);
    bins[0]=htemp->GetNbinsX();
    
    AliCFDataGrid *hbgContainer = new AliCFDataGrid("hbgContainer","hadron bg after IP cut",nbins,bins);
    hbgContainer->SetGrid(fHadronEffbyIPcut);
    backgroundGrid->Multiply(hbgContainer,1);
    // subtract hadron contamination
    spectrumSubtracted->Add(backgroundGrid,-1.0);
    // draw raw hadron bg spectra     
    THnSparseF* sparseHbg = (THnSparseF *) hbgContainer->GetGrid();
    hadron = (TH1D *) sparseHbg->Projection(0);
    AliHFEtools::NormaliseBinWidth(hadron);
  }

  if(fIPanaCharmBgSubtract){
    // Charm background
    printf("Charm background for IP analysis subtracted!\n");
    AliCFDataGrid *charmbgContainer = (AliCFDataGrid *) GetCharmBackground();
    spectrumSubtracted->Add(charmbgContainer,-1.0);
    THnSparseF *sparseCharmElec = (THnSparseF *) charmbgContainer->GetGrid();  
    charm = (TH1D *) sparseCharmElec->Projection(0);
    AliHFEtools::NormaliseBinWidth(charm); 
  }

  const Char_t *sourceName[bgPlots]={"Conversion","Dalitz","K0s secondary pion Dalitz","K0s secondary pion conversions","Other secondary pion Dalitz","Other secondary pion Dalitz conversions","Other Dalitz", "Other conversions"};
  const Int_t style[2] = {21,22};
  const Int_t color[3] = {7,12,8};
  if(fIPanaNonHFEBgSubtract){ 
    Int_t iPlot = 0;
    for(Int_t iSource = 0; iSource < kElecBgSources; iSource++){
      if((iSource>0)&&(iSource<6))continue;//standard sources are summed up in case of iSource == 0; not treated separately in plots
      for(Int_t decay = 0; decay < 2; decay++){
        AliCFDataGrid *nonHFEbgContainer = (AliCFDataGrid *) GetNonHFEBackground(decay,iSource);//conversions/Dalitz decays from different sources
        if(iSource == 0)
          spectrumSubtracted->Add(nonHFEbgContainer,-1.0);
        THnSparseF* sparseNonHFEelecs = (THnSparseF *) nonHFEbgContainer->GetGrid();
        nonHFE[iPlot] = (TH1D *) sparseNonHFEelecs->Projection(0);
        AliHFEtools::NormaliseBinWidth(nonHFE[iPlot]);
        iPlot++;
      }
      if(!(fNonHFEsyst && (fBeamType == 1)))break;
    } 
  }

  TLegend *lRaw = new TLegend(0.55,0.55,0.85,0.85);
  TCanvas *cRaw = new TCanvas("cRaw","cRaw",1000,800);     
  cRaw->cd();
  gPad->SetLogx();
  gPad->SetLogy();
  incElec->GetXaxis()->SetRangeUser(0.4,8.);
  incElec->Draw("p");
  incElec->SetMarkerColor(1);
  incElec->SetMarkerStyle(20);
  lRaw->AddEntry(incElec,"inclusive electron spectrum");
  
  if(fIPanaCharmBgSubtract){
    charm->Draw("samep");
    charm->SetMarkerColor(3);
    charm->SetMarkerStyle(20);
    charm->GetXaxis()->SetRangeUser(0.4,8.);
    lRaw->AddEntry(charm,"charm elecs");
  }
  
  if(fIPanaNonHFEBgSubtract){
    Int_t iPlot = 0;
    for(Int_t iSource = 0; iSource < kElecBgSources; iSource++){
      if((iSource>0)&&(iSource<6))continue;//standard sources are summed up in case of iSource == 0; not treated separately in plots
      for(Int_t decay = 0; decay < 2; decay++){
        nonHFE[iPlot]->Draw("samep");
        if(iSource == 0){
          nonHFE[iPlot]->SetMarkerStyle(20);
          if(decay == 0)
            nonHFE[iPlot]->SetMarkerColor(4);
          else
            nonHFE[iPlot]->SetMarkerColor(6);
        }
        else{     
          nonHFE[iPlot]->SetMarkerColor(color[iSource-6]);      
          nonHFE[iPlot]->SetMarkerStyle(style[decay]);
        }
        nonHFE[iPlot]->GetXaxis()->SetRangeUser(0.4,8.);
        lRaw->AddEntry(nonHFE[iPlot],sourceName[iPlot]);
        iPlot++;
      }
      if(!(fNonHFEsyst && (fBeamType == 1)))break;//only draw standard sources
    }
  }

  THnSparseF* sparseSubtracted = (THnSparseF *) spectrumSubtracted->GetGrid();
  subtracted = (TH1D *) sparseSubtracted->Projection(0);
  AliHFEtools::NormaliseBinWidth(subtracted);
  subtracted->Draw("samep");
  subtracted->SetMarkerStyle(24);
  lRaw->AddEntry(subtracted,"subtracted electron spectrum");
  lRaw->Draw("SAME");
 
  delete[] bins; 

  TH1D *measuredTH1background = (TH1D *) backgroundGrid->Project(0);
  AliHFEtools::NormaliseBinWidth(measuredTH1background);

  if(setBackground){
    if(fBackground) delete fBackground;
    fBackground = backgroundGrid;
  } else delete backgroundGrid;
  
  fQA->AddResultAt(subtracted,AliHFEBeautySpectrumQA::kAfterSC);
  fQA->AddResultAt(incElec,AliHFEBeautySpectrumQA::kBeforeSC);
  fQA->AddResultAt(measuredTH1background, AliHFEBeautySpectrumQA::kMeasBG);
  fQA->DrawSubtractContamination();
  
  return spectrumSubtracted;
}
//____________________________________________________________________________________________
AliCFDataGrid* AliHFEBeautySpectrum::GetNonHFEBackground(Int_t decay, Int_t source){
  //
  // calculate non-HF electron background
  // Arguments: decay = 0 for conversions, decay = 1 for meson decays to electrons
  // source: gives mother either of the electron (for meson->electron) or of the gamma (conversions);
  // source numbers as given by array in AliAnalysisTaskHFE: 
  // {"Pion","Eta","Omega","Phi","EtaPrime","Rho","K0sSec","OtherSecPi0","Else"};
  //
  
  Double_t evtnorm[1] = {1.};
  if(fNMCbgEvents) evtnorm[0]= double(fNEvents)/double(fNMCbgEvents);
  
  Int_t stepbackground = 1;//for non-standard background, step after IP cut is taken directly
  if(source == 0) stepbackground = 3;//for standard sources, take step before PID -> correction of PID x IP efficiencies from enhanced samples
  AliCFContainer *backgroundContainer = 0x0;
  if(fNonHFEsyst){
    if(decay == 0){//conversions
      backgroundContainer = (AliCFContainer*)fConvSourceContainer[source][0]->Clone();
      if(source == 0)//standard conversion containers
        for(Int_t iSource = 1; iSource < kElecBgSources-3; iSource++){//add all standard sources
          backgroundContainer->Add(fConvSourceContainer[iSource][0]);     
        }
    }
    else if(decay == 1){//Dalitz decays, same procedure as above
      backgroundContainer = (AliCFContainer*)fNonHFESourceContainer[source][0]->Clone();
      if(source == 0)
        for(Int_t iSource = 1; iSource < kElecBgSources-3; iSource++){
          if(iSource == 1)
            backgroundContainer->Add(fNonHFESourceContainer[iSource][0],1.41);//correction for the eta Dalitz decay branching ratio in PYTHIA
          else
            backgroundContainer->Add(fNonHFESourceContainer[iSource][0]);   
        }
    }   
  }
  else{//careful: these containers include the non-standard electron sources (K0s, etc.). If necessary, use SetRange in species axis to fix it?
    if(source == 0){
      // Background Estimate
      if(decay == 0)
        backgroundContainer = GetContainer(kMCWeightedContainerConversionESD);
      else if(decay == 1)
        backgroundContainer = GetContainer(kMCWeightedContainerNonHFEESD);
    } 
  }
  if(!backgroundContainer){
    AliError("MC background container not found");
    return NULL;
  }
  AliCFDataGrid *backgroundGrid = new AliCFDataGrid("backgroundGrid","backgroundGrid",*backgroundContainer,stepbackground);
 
  Double_t rangelow = 1.;
  Double_t rangeup = 6.;
  if(decay == 1) rangelow = 0.9;


  const Char_t *dmode[2]={"Conversions","Dalitz decays"};
  TF1 *fitHagedorn = new TF1("fitHagedorn", "[0]/TMath::Power(([1]+x/[2]), [3])", rangelow, rangeup);
  fNonHFEbg = 0x0;
  TH1D *h1 = (TH1D*)backgroundGrid->Project(0);
  TAxis *axis = h1->GetXaxis();
  AliHFEtools::NormaliseBinWidth(h1);
  if(source == 0){
    fitHagedorn->SetParameter(0, 0.15);
    fitHagedorn->SetParameter(1, 0.09);
    fitHagedorn->SetParameter(2, 8.4);
    fitHagedorn->SetParameter(3, 6.3);
    // TCanvas *ch1conversion = new TCanvas("ch1conversion","ch1conversion",500,400);
    // ch1conversion->cd();
    //fHagedorn->SetLineColor(2);
    h1->Fit(fitHagedorn,"R");
    // h1->Draw();
    if(!(fNonHFEbg = h1->GetFunction("fitHagedorn")))printf("electron background fit failed for %s\n",dmode[decay]);
  }
  
  Int_t *nBinpp=new Int_t[1];
  Int_t *binspp=new Int_t[1];
  binspp[0]=kSignalPtBins;// number of pt bins
  
  Int_t looppt=binspp[0];
  
  for(Long_t iBin=1; iBin<= looppt;iBin++){       
    Double_t iipt= h1->GetBinCenter(iBin);
    Double_t iiwidth= axis->GetBinWidth(iBin);
    nBinpp[0]=iBin;
    Double_t fitFactor = backgroundGrid->GetElement(nBinpp);//if no fit available, just take bin-by-bin information
    if(fNonHFEbg)fitFactor = fNonHFEbg->Eval(iipt)*iiwidth;
    backgroundGrid->SetElementError(nBinpp, backgroundGrid->GetElementError(nBinpp)*evtnorm[0]);
    backgroundGrid->SetElement(nBinpp,fitFactor*evtnorm[0]);
  }
  //end of workaround for statistical errors
  if(source == 0){  
    AliCFDataGrid *weightedBGContainer = 0x0;   
    weightedBGContainer = new AliCFDataGrid("weightedBGContainer","weightedBGContainer",1,binspp);
    if(decay == 0)
      weightedBGContainer->SetGrid(GetPIDxIPEff(2));
    else if(decay == 1)
      weightedBGContainer->SetGrid(GetPIDxIPEff(3));
    if(stepbackground == 3){    
      backgroundGrid->Multiply(weightedBGContainer,1.0);
    }  
  }
  delete[] nBinpp;
  delete[] binspp;  
  return backgroundGrid;
}
//____________________________________________________________
AliCFDataGrid* AliHFEBeautySpectrum::GetCharmBackground(){
  //
  // calculate charm background; when using centrality binning 2: centBin = 0 for 0-20%, centBin = 5 for 40-80%
  //

  Int_t nDim = 1;
 
  Double_t evtnorm=0;
  if(fNMCEvents) evtnorm= double(fNEvents)/double(fNMCEvents); //mjmjmj
  //if(fNMCbgEvents) evtnorm= double(fNEvents)/double(fNMCbgEvents);
  printf("events for data: %d",fNEvents);
  printf("events for MC: %d",fNMCEvents);
  printf("normalization factor for charm: %f",evtnorm);
  
  AliCFContainer *mcContainer = GetContainer(kMCContainerCharmMC);
  if(!mcContainer){
    AliError("MC Container not available");
    return NULL;
  }

  if(!fCorrelation){
    AliError("No Correlation map available");
    return NULL;
  }
 
  AliCFDataGrid *charmBackgroundGrid= 0x0;
  charmBackgroundGrid = new AliCFDataGrid("charmBackgroundGrid","charmBackgroundGrid",*mcContainer, fStepMC-1); // use MC eff. up to right before PID
  TH1D *charmbgaftertofpid = (TH1D *) charmBackgroundGrid->Project(0);
  Int_t* bins=new Int_t[2];
  bins[0]=charmbgaftertofpid->GetNbinsX();
   
  AliCFDataGrid *ipWeightedCharmContainer = new AliCFDataGrid("ipWeightedCharmContainer","ipWeightedCharmContainer",nDim,bins);
  ipWeightedCharmContainer->SetGrid(GetPIDxIPEff(0)); // get charm efficiency
  TH1D* parametrizedcharmpidipeff = (TH1D*)ipWeightedCharmContainer->Project(0);
  
  charmBackgroundGrid->Multiply(ipWeightedCharmContainer,1.);
  Int_t *nBinpp=new Int_t[1];
  Int_t* binspp=new Int_t[1];
  binspp[0]=charmbgaftertofpid->GetNbinsX();  // number of pt bins
  
  Int_t looppt=binspp[0];
  
  for(Long_t iBin=1; iBin<= looppt;iBin++){
    nBinpp[0]=iBin;
    charmBackgroundGrid->SetElementError(nBinpp, charmBackgroundGrid->GetElementError(nBinpp)*evtnorm);
    charmBackgroundGrid->SetElement(nBinpp,charmBackgroundGrid->GetElement(nBinpp)*evtnorm);
  }
  
  TH1D* charmbgafteripcut = (TH1D*)charmBackgroundGrid->Project(0);
  
  AliCFDataGrid *weightedCharmContainer = new AliCFDataGrid("weightedCharmContainer","weightedCharmContainer",nDim,bins);
  weightedCharmContainer->SetGrid(GetCharmWeights(fTestCentralityLow)); // get charm weighting factors
  TH1D* charmweightingfc = (TH1D*)weightedCharmContainer->Project(0);
  charmBackgroundGrid->Multiply(weightedCharmContainer,1.);
  TH1D* charmbgafterweight = (TH1D*)charmBackgroundGrid->Project(0);
  
  // Efficiency (set efficiency to 1 for only folding) 
  AliCFEffGrid* efficiencyD = new AliCFEffGrid("efficiency","",*mcContainer);
  efficiencyD->CalculateEfficiency(0,0);
  
  // Folding
  if(fBeamType==0)nDim = 1;
  AliCFUnfolding folding("unfolding","",nDim,fCorrelation,efficiencyD->GetGrid(),charmBackgroundGrid->GetGrid(),charmBackgroundGrid->GetGrid());
  folding.SetMaxNumberOfIterations(1);
  folding.Unfold();
  
  // Results
  THnSparse* result1= folding.GetEstMeasured(); // folded spectra
  THnSparse* result=(THnSparse*)result1->Clone();
  charmBackgroundGrid->SetGrid(result);
  TH1D* charmbgafterfolding = (TH1D*)charmBackgroundGrid->Project(0);

  //Charm background evaluation plots
  
  TCanvas *cCharmBgEval = new TCanvas("cCharmBgEval","cCharmBgEval",1000,600);
  cCharmBgEval->Divide(3,1);
  
  cCharmBgEval->cd(1);
  
  if(fBeamType==0)charmbgaftertofpid->Scale(evtnorm);
    
  AliHFEtools::NormaliseBinWidth(charmbgaftertofpid);
  charmbgaftertofpid->SetMarkerStyle(25);
  charmbgaftertofpid->Draw("p");
  charmbgaftertofpid->GetYaxis()->SetTitle("yield normalized by # of data events");
  charmbgaftertofpid->GetXaxis()->SetTitle("p_{T} (GeV/c)");
  gPad->SetLogy();
  
  AliHFEtools::NormaliseBinWidth(charmbgafteripcut);
  charmbgafteripcut->SetMarkerStyle(24);
  charmbgafteripcut->Draw("samep");
  
  AliHFEtools::NormaliseBinWidth(charmbgafterweight);
  charmbgafterweight->SetMarkerStyle(24);
  charmbgafterweight->SetMarkerColor(4);
  charmbgafterweight->Draw("samep");
  
  AliHFEtools::NormaliseBinWidth(charmbgafterfolding);
  charmbgafterfolding->SetMarkerStyle(24);
  charmbgafterfolding->SetMarkerColor(2);
  charmbgafterfolding->Draw("samep");
  
  cCharmBgEval->cd(2);
  parametrizedcharmpidipeff->SetMarkerStyle(24);
  parametrizedcharmpidipeff->Draw("p");
  parametrizedcharmpidipeff->GetXaxis()->SetTitle("p_{T} (GeV/c)");

  cCharmBgEval->cd(3);
  charmweightingfc->SetMarkerStyle(24);
  charmweightingfc->Draw("p");
  charmweightingfc->GetYaxis()->SetTitle("weighting factor for charm electron");
  charmweightingfc->GetXaxis()->SetTitle("p_{T} (GeV/c)");

  cCharmBgEval->cd(1);
  TLegend *legcharmbg = new TLegend(0.3,0.7,0.89,0.89);
  legcharmbg->AddEntry(charmbgaftertofpid,"After TOF PID","p");
  legcharmbg->AddEntry(charmbgafteripcut,"After IP cut","p");
  legcharmbg->AddEntry(charmbgafterweight,"After Weighting","p");
  legcharmbg->AddEntry(charmbgafterfolding,"After Folding","p");
  legcharmbg->Draw("same");

  cCharmBgEval->cd(2);
  TLegend *legcharmbg2 = new TLegend(0.3,0.7,0.89,0.89);
  legcharmbg2->AddEntry(parametrizedcharmpidipeff,"PID + IP cut eff.","p");
  legcharmbg2->Draw("same");

  CorrectStatErr(charmBackgroundGrid);
  if(fWriteToFile) cCharmBgEval->SaveAs("CharmBackground.eps");

  delete[] bins;
  delete[] nBinpp;
  delete[] binspp;
  
  if(fUnfoldBG) UnfoldBG(charmBackgroundGrid);

  return charmBackgroundGrid;
}
//____________________________________________________________
AliCFDataGrid *AliHFEBeautySpectrum::CorrectParametrizedEfficiency(AliCFDataGrid* const bgsubpectrum){  
  //
  // Apply TPC pid efficiency correction from parametrisation
  //

  // Data in the right format
  AliCFDataGrid *dataGrid = 0x0;  
  if(bgsubpectrum) {
    dataGrid = bgsubpectrum;
  }
  else {
    
    AliCFContainer *dataContainer = GetContainer(kDataContainer);
    if(!dataContainer){
      AliError("Data Container not available");
      return NULL;
    }
    dataGrid = new AliCFDataGrid("dataGrid","dataGrid",*dataContainer, fStepData);
  } 
  AliCFDataGrid *result = (AliCFDataGrid *) dataGrid->Clone();
  result->SetName("ParametrizedEfficiencyBefore");
  THnSparse *h = result->GetGrid();
  Int_t nbdimensions = h->GetNdimensions();
  //printf("CorrectParametrizedEfficiency::We have dimensions %d\n",nbdimensions);
  AliCFContainer *dataContainer = GetContainer(kDataContainer);
  if(!dataContainer){
    AliError("Data Container not available");
    return NULL;
  }
  AliCFContainer *dataContainerbis = (AliCFContainer *) dataContainer->Clone();
  dataContainerbis->Add(dataContainerbis,-1.0);

  Int_t* coord = new Int_t[nbdimensions];
  memset(coord, 0, sizeof(Int_t) * nbdimensions);
  Double_t* points = new Double_t[nbdimensions];

  ULong64_t nEntries = h->GetNbins();
  for (ULong64_t i = 0; i < nEntries; ++i) {   
    Double_t value = h->GetBinContent(i, coord);
    //Double_t valuecontainer = dataContainerbis->GetBinContent(coord,fStepData);
    //printf("Value %f, and valuecontainer %f\n",value,valuecontainer);
    
    // Get the bin co-ordinates given an coord
    for (Int_t j = 0; j < nbdimensions; ++j)
      points[j] = h->GetAxis(j)->GetBinCenter(coord[j]);

    if (!fEfficiencyFunction->IsInside(points))
         continue;
    TF1::RejectPoint(kFALSE);

    // Evaulate function at points
    Double_t valueEfficiency = fEfficiencyFunction->EvalPar(points, NULL);
    //printf("Value efficiency is %f\n",valueEfficiency);

    if(valueEfficiency > 0.0) {
      h->SetBinContent(coord,value/valueEfficiency);
      dataContainerbis->SetBinContent(coord,fStepData,value/valueEfficiency);
    }
    Double_t error = h->GetBinError(i);
    h->SetBinError(coord,error/valueEfficiency);
    dataContainerbis->SetBinError(coord,fStepData,error/valueEfficiency);  
  } 

  delete[] coord;
  delete[] points;

  AliCFDataGrid *resultt = new AliCFDataGrid("spectrumEfficiencyParametrized", "Data Grid for spectrum after Efficiency parametrized", *dataContainerbis,fStepData);

// QA
  TH1D *afterE = (TH1D *) resultt->Project(0);
  AliHFEtools::NormaliseBinWidth(afterE);
  TH1D *beforeE = (TH1D *) dataGrid->Project(0);
  AliHFEtools::NormaliseBinWidth(beforeE);
  fQA->AddResultAt(afterE,AliHFEBeautySpectrumQA::kAfterPE);
  fQA->AddResultAt(beforeE,AliHFEBeautySpectrumQA::kBeforePE);
  fQA->AddResultAt(fEfficiencyFunction,AliHFEBeautySpectrumQA::kPEfficiency);
  fQA->DrawCorrectWithEfficiency(AliHFEBeautySpectrumQA::kParametrized);
  
  return resultt;
}
//____________________________________________________________
THnSparse *AliHFEBeautySpectrum::Unfold(AliCFDataGrid* const bgsubpectrum){
  
  //
  // Unfold and eventually correct for efficiency the bgsubspectrum
  //

  AliCFContainer *mcContainer = GetContainer(kMCContainerMC);
  if(!mcContainer){
    AliError("MC Container not available");
    return NULL;
  }

  if(!fCorrelation){
    AliError("No Correlation map available");
    return NULL;
  }

  // Data 
  AliCFDataGrid *dataGrid = 0x0;  
  if(bgsubpectrum) {
    dataGrid = bgsubpectrum;
  }
  else {

    AliCFContainer *dataContainer = GetContainer(kDataContainer);
    if(!dataContainer){
      AliError("Data Container not available");
      return NULL;
    }

    dataGrid = new AliCFDataGrid("dataGrid","dataGrid",*dataContainer, fStepData);
  } 
  
  // Guessed
  AliCFDataGrid* guessedGrid = new AliCFDataGrid("guessed","",*mcContainer, fStepGuessedUnfolding);
  THnSparse* guessedTHnSparse = ((AliCFGridSparse*)guessedGrid->GetData())->GetGrid();

  // Efficiency
  AliCFEffGrid* efficiencyD = new AliCFEffGrid("efficiency","",*mcContainer);
  efficiencyD->CalculateEfficiency(fStepMC,fStepTrue);

  if(!fBeauty2ndMethod)
  {
    // Consider parameterized IP cut efficiency
    Int_t* bins=new Int_t[1];
    bins[0]=kSignalPtBins;
    
    AliCFEffGrid *beffContainer = new AliCFEffGrid("beffContainer","beffContainer",1,bins);
    beffContainer->SetGrid(GetBeautyIPEff(kTRUE));
    efficiencyD->Multiply(beffContainer,1);
  }
  

  // Unfold 
  
  AliCFUnfolding unfolding("unfolding","",fNbDimensions,fCorrelation,efficiencyD->GetGrid(),dataGrid->GetGrid(),guessedTHnSparse,1.e-06,0,fNumberOfIterations);//check with MinJung if last arguments are correct (taken from inclusive analysis...
  if(fUnSetCorrelatedErrors) unfolding.UnsetCorrelatedErrors();
  unfolding.SetMaxNumberOfIterations(fNumberOfIterations);
  if(fSetSmoothing) unfolding.UseSmoothing();
  unfolding.Unfold();

  // Results
  THnSparse* result = unfolding.GetUnfolded();
  THnSparse* residual = unfolding.GetEstMeasured();

 // QA
  TH1D *residualh = (TH1D *) residual->Projection(0);
  TH1D *beforeE = (TH1D *) dataGrid->Project(0);
  TH1D* efficiencyDproj = (TH1D *) efficiencyD->Project(0);
  TH1D *afterE = (TH1D *) result->Projection(0);

  AliHFEtools::NormaliseBinWidth(residualh);
  AliHFEtools::NormaliseBinWidth(beforeE);
  AliHFEtools::NormaliseBinWidth(afterE);
  fQA->AddResultAt(residualh,AliHFEBeautySpectrumQA::kResidualU);
  fQA->AddResultAt(afterE,AliHFEBeautySpectrumQA::kAfterU);
  fQA->AddResultAt(beforeE,AliHFEBeautySpectrumQA::kBeforeU);
  fQA->AddResultAt(efficiencyDproj,AliHFEBeautySpectrumQA::kUEfficiency);
  fQA->DrawUnfolding();

  return (THnSparse *) result->Clone();
}

//____________________________________________________________
AliCFDataGrid *AliHFEBeautySpectrum::CorrectForEfficiency(AliCFDataGrid* const bgsubpectrum){
  
  //
  // Apply unfolding and efficiency correction together to bgsubspectrum
  //

  AliCFContainer *mcContainer = GetContainer(kMCContainerESD);
  if(!mcContainer){
    AliError("MC Container not available");
    return NULL;
  }

  // Efficiency
  AliCFEffGrid* efficiencyD = new AliCFEffGrid("efficiency","",*mcContainer);
  efficiencyD->CalculateEfficiency(fStepMC,fStepTrue);


  if(!fBeauty2ndMethod)
  {
    // Consider parameterized IP cut efficiency
    Int_t* bins=new Int_t[1];
    bins[0]=kSignalPtBins;
    
    AliCFEffGrid *beffContainer = new AliCFEffGrid("beffContainer","beffContainer",1,bins);
    beffContainer->SetGrid(GetBeautyIPEff(kFALSE));
    efficiencyD->Multiply(beffContainer,1);
  }

  // Data in the right format
  AliCFDataGrid *dataGrid = 0x0;  
  if(bgsubpectrum) {
    dataGrid = bgsubpectrum;
  }
  else {
    
    AliCFContainer *dataContainer = GetContainer(kDataContainer);
    if(!dataContainer){
      AliError("Data Container not available");
      return NULL;
    }

    dataGrid = new AliCFDataGrid("dataGrid","dataGrid",*dataContainer, fStepData);
  } 

  // Correct
  AliCFDataGrid *result = (AliCFDataGrid *) dataGrid->Clone();
  result->ApplyEffCorrection(*efficiencyD);

  // QA
  TH1D *afterE = (TH1D *) result->Project(0);
  AliHFEtools::NormaliseBinWidth(afterE);
  TH1D *beforeE = (TH1D *) dataGrid->Project(0);
  AliHFEtools::NormaliseBinWidth(beforeE);
  TH1D* efficiencyDproj = (TH1D *) efficiencyD->Project(0);
  fQA->AddResultAt(afterE,AliHFEBeautySpectrumQA::kAfterMCE);
  fQA->AddResultAt(beforeE,AliHFEBeautySpectrumQA::kBeforeMCE);
  fQA->AddResultAt(efficiencyDproj,AliHFEBeautySpectrumQA::kMCEfficiency);
  fQA->DrawCorrectWithEfficiency(AliHFEBeautySpectrumQA::kMC);
  
  return result;

}
//____________________________________________________________
void AliHFEBeautySpectrum::AddTemporaryObject(TObject *o){
  // 
  // Emulate garbage collection on class level
  // 
  if(!fTemporaryObjects) {
    fTemporaryObjects= new TList;
    fTemporaryObjects->SetOwner();
  }
  fTemporaryObjects->Add(o);
}

//____________________________________________________________
void AliHFEBeautySpectrum::ClearObject(TObject *o){
  //
  // Do a safe deletion
  //
  if(fTemporaryObjects){
    if(fTemporaryObjects->FindObject(o)) fTemporaryObjects->Remove(o);
    delete o;
  } else{
    // just delete
    delete o;
  }
}
//_________________________________________________________________________
THnSparse* AliHFEBeautySpectrum::GetCharmWeights(Int_t centBin){
 
  //
  // Measured D->e based weighting factors
  //

  const Int_t nDimpp=1;
  Int_t nBinpp[nDimpp] = {kSignalPtBins};
  Double_t ptbinning1[kSignalPtBins+1] = {0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.5, 4., 4.5, 5., 5.5, 6., 7., 8., 10., 12., 14., 16., 18., 20.};
  Int_t looppt=nBinpp[0];
  
  fWeightCharm = new THnSparseF("weightHisto", "weighting factor; pt[GeV/c]", nDimpp, nBinpp);
  fWeightCharm->SetBinEdges(0, ptbinning1);
 
  // //if(fBeamType == 0){// Weighting factor for pp
  //Double_t weightpp[kSignalPtBins]={0.859260, 0.872552, 0.847475, 0.823631, 0.839386, 0.874024, 0.916755, 0.942801, 0.965856, 0.933905, 0.933414, 0.931936, 0.847826, 0.810902, 0.796608, 0.727002, 0.659227, 0.583610, 0.549956, 0.512633, 0.472254, 0.412364, 0.353191, 0.319145, 0.305412, 0.290334, 0.269863, 0.254646, 0.230245, 0.200859, 0.275953, 0.276271, 0.227332, 0.197004, 0.474385};
//TPC+TOF standard cut 4800
  Double_t weightpp[kSignalPtBins]={0.050326, 0.045826, 0.042043, 0.039641, 0.039872, 0.041796, 0.044320, 0.046273, 0.047376, 0.047657, 0.047973, 0.048307, 0.045325, 0.044067, 0.043367, 0.040417, 0.037048, 0.033695, 0.032192, 0.029270, 0.027270, 0.024451, 0.020846, 0.019032, 0.018210, 0.017554, 0.015604, 0.015194, 0.013542, 0.013447, 0.015160, 0.015507, 0.014989, 0.012533, 0.025603}; 
  //}
  //else{
  //if(centBin == 0){
      // Weighting factor for PbPb (0-20%)
  Double_t weightPbPb1[kSignalPtBins]={0.641897,  0.640472,  0.615228,  0.650469,  0.737762,  0.847867,  1.009317,  1.158594,  1.307482,  1.476973,  1.551131,  1.677131,  1.785478,  1.888933,  2.017957,  2.074757,  1.926700,  1.869495,  1.546558,  1.222873,  1.160313,  0.903375,  0.799642,  0.706244,  0.705449,  0.599947,  0.719570,  0.499422,  0.703978,  0.477452,  0.325057,  0.093391,  0.096675,  0.000000,  0.000000};
  //}
  //else{
  // Weighting factor for PbPb (40-80%)
  Double_t weightPbPb2[kSignalPtBins]={0.181953,  0.173248,  0.166799,  0.182558,  0.206581,  0.236955,  0.279390,  0.329129,  0.365260,  0.423059,  0.452057,  0.482726,  0.462627,  0.537770,  0.584663,  0.579452,  0.587194,  0.499498,  0.443299,  0.398596,  0.376695,  0.322331,  0.260890,  0.374834,  0.249114,  0.310330,  0.287326,  0.243174,  0.758945,  0.138867,  0.170576,  0.107797,  0.011390,  0.000000,  0.000000};
  //  }
  //}
  Double_t weight[kSignalPtBins];
  for(Int_t ipt = 0; ipt < kSignalPtBins; ipt++){
    if(fBeamType == 0)weight[ipt] = weightpp[ipt];
    else if(centBin == 0)weight[ipt] = weightPbPb1[ipt];
    else weight[ipt] = weightPbPb2[ipt];
  }  

  //points
  Double_t pt[1];
  Double_t contents[2];
  
  for(int i=0; i<looppt; i++){
    pt[0]=(ptbinning1[i]+ptbinning1[i+1])/2.;
    contents[0]=pt[0];
    fWeightCharm->Fill(contents,weight[i]);
  }
  
  
  Int_t nDimSparse = fWeightCharm->GetNdimensions();
  Int_t* binsvar = new Int_t[nDimSparse]; // number of bins for each variable
  Long_t nBins = 1; // used to calculate the total number of bins in the THnSparse

  for (Int_t iVar=0; iVar<nDimSparse; iVar++) {
      binsvar[iVar] = fWeightCharm->GetAxis(iVar)->GetNbins();
      nBins *= binsvar[iVar];
  }

  Int_t *binfill = new Int_t[nDimSparse]; // bin to fill the THnSparse (holding the bin coordinates)
  // loop that sets 0 error in each bin
  for (Long_t iBin=0; iBin<nBins; iBin++) {
    Long_t bintmp = iBin ;
    for (Int_t iVar=0; iVar<nDimSparse; iVar++) {
      binfill[iVar] = 1 + bintmp % binsvar[iVar] ;
      bintmp /= binsvar[iVar] ;
    }
    fWeightCharm->SetBinError(binfill,0.); // put 0 everywhere
  }
  delete[] binsvar;
  delete[] binfill;

  return fWeightCharm;
}
//____________________________________________________________________________
void AliHFEBeautySpectrum::SetParameterizedEff(AliCFContainer *container, AliCFContainer *containermb, AliCFContainer *containeresd, AliCFContainer *containeresdmb, Int_t *dimensions){

   // TOF PID efficiencies
  
   TF1 *fittofpid = new TF1("fittofpid","[0]*([1]+[2]*log(x)+[3]*log(x)*log(x))*tanh([4]*x-[5])",0.95,8.);
   TF1 *fipfit = new TF1("fipfit","[0]*([1]+[2]*log(x)+[3]*log(x)*log(x))*tanh([4]*x-[5])",0.95,6.);
   TF1 *fipfitnonhfe = new TF1("fipfitnonhfe","[0]*([1]+[2]*log(x)+[3]*log(x)*log(x))*tanh([4]*x-[5])",0.5,8.0);

   if(fBeamType == 1){//not in use yet - adapt as soon as possible!
     fittofpid = new TF1("fittofpid","[0]*([1]+[2]*log(x)+[3]*log(x)*log(x))*tanh([4]*x-[5])",0.95,8.);
     fipfit = new TF1("fipfit","[0]*([1]+[2]*log(x)+[3]*log(x)*log(x))*tanh([4]*x-[5])",0.95,8.);
     fipfitnonhfe = new TF1("fipfitnonhfe","[0]*([1]+[2]*log(x)+[3]*log(x)*log(x))*tanh([4]*x-[5])",0.5,8.);
   }

   TCanvas * cefficiencyParamtof = new TCanvas("efficiencyParamtof","efficiencyParamtof",600,600);
   cefficiencyParamtof->cd();

   AliCFContainer *mccontainermcD = 0x0;
   AliCFContainer *mccontaineresdD = 0x0;
   TH1D* efficiencysigTOFPIDD;
   TH1D* efficiencyTOFPIDD;
   TH1D* efficiencysigesdTOFPIDD;
   TH1D* efficiencyesdTOFPIDD;
   Int_t source = -1; //get parameterized TOF PID efficiencies

   // signal sample
   mccontainermcD = GetSlicedContainer(container, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencymcsigParamTOFPID= new AliCFEffGrid("efficiencymcsigParamTOFPID","",*mccontainermcD);
   efficiencymcsigParamTOFPID->CalculateEfficiency(fStepMC,fStepMC-1); // TOF PID efficiencies
   
   // mb sample for double check
   if(fBeamType==0)  mccontainermcD = GetSlicedContainer(containermb, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencymcParamTOFPID= new AliCFEffGrid("efficiencymcParamTOFPID","",*mccontainermcD);
   efficiencymcParamTOFPID->CalculateEfficiency(fStepMC,fStepMC-1); // TOF PID efficiencies
   
   // mb sample with reconstructed variables
   if(fBeamType==0)  mccontainermcD = GetSlicedContainer(containeresdmb, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyesdParamTOFPID= new AliCFEffGrid("efficiencyesdParamTOFPID","",*mccontainermcD);
   efficiencyesdParamTOFPID->CalculateEfficiency(fStepMC,fStepMC-1); // TOF PID efficiencies
   
   // mb sample with reconstructed variables
   if(fBeamType==0)  mccontainermcD = GetSlicedContainer(containeresd, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencysigesdParamTOFPID= new AliCFEffGrid("efficiencysigesdParamTOFPID","",*mccontainermcD);
   efficiencysigesdParamTOFPID->CalculateEfficiency(fStepMC,fStepMC-1); // TOF PID efficiencies
   
   //fill histo
   efficiencysigTOFPIDD = (TH1D *) efficiencymcsigParamTOFPID->Project(0);
   efficiencyTOFPIDD = (TH1D *) efficiencymcParamTOFPID->Project(0);
   efficiencysigesdTOFPIDD = (TH1D *) efficiencysigesdParamTOFPID->Project(0);
   efficiencyesdTOFPIDD = (TH1D *) efficiencyesdParamTOFPID->Project(0);
   efficiencysigTOFPIDD->SetName("efficiencysigTOFPIDD");
   efficiencyTOFPIDD->SetName("efficiencyTOFPIDD");
   efficiencysigesdTOFPIDD->SetName("efficiencysigesdTOFPIDD");
   efficiencyesdTOFPIDD->SetName("efficiencyesdTOFPIDD");
   
   //fit (mc enhenced sample)
   fittofpid->SetParameters(0.5,0.319,0.0157,0.00664,6.77,2.08);
   efficiencysigTOFPIDD->Fit(fittofpid,"R");
   efficiencysigTOFPIDD->GetYaxis()->SetTitle("Efficiency");
   fEfficiencyTOFPIDD = efficiencysigTOFPIDD->GetFunction("fittofpid");
   
   //fit (esd enhenced sample)
   efficiencysigesdTOFPIDD->Fit(fittofpid,"R");
   efficiencysigesdTOFPIDD->GetYaxis()->SetTitle("Efficiency");
   fEfficiencyesdTOFPIDD = efficiencysigesdTOFPIDD->GetFunction("fittofpid");
   
   // draw (for PbPb, only 1st bin)
   //sig mc
   efficiencysigTOFPIDD->SetTitle("");
   efficiencysigTOFPIDD->SetStats(0);
   efficiencysigTOFPIDD->SetMarkerStyle(25);
   efficiencysigTOFPIDD->SetMarkerColor(2);
   efficiencysigTOFPIDD->SetLineColor(2);
   efficiencysigTOFPIDD->Draw();

   //mb mc
   efficiencyTOFPIDD->SetTitle("");
   efficiencyTOFPIDD->SetStats(0);
   efficiencyTOFPIDD->SetMarkerStyle(24);
   efficiencyTOFPIDD->SetMarkerColor(4);
   efficiencyTOFPIDD->SetLineColor(4);
   efficiencyTOFPIDD->Draw("same");

   //sig esd
   efficiencysigesdTOFPIDD->SetTitle("");
   efficiencysigesdTOFPIDD->SetStats(0);
   efficiencysigesdTOFPIDD->SetMarkerStyle(25);
   efficiencysigesdTOFPIDD->SetMarkerColor(3);
   efficiencysigesdTOFPIDD->SetLineColor(3);
   efficiencysigesdTOFPIDD->Draw("same");

   //mb esd
   efficiencyesdTOFPIDD->SetTitle("");
   efficiencyesdTOFPIDD->SetStats(0);
   efficiencyesdTOFPIDD->SetMarkerStyle(25);
   efficiencyesdTOFPIDD->SetMarkerColor(1);
   efficiencyesdTOFPIDD->SetLineColor(1);
   efficiencyesdTOFPIDD->Draw("same");

   //signal mc fit
   if(fEfficiencyTOFPIDD){
     fEfficiencyTOFPIDD->SetLineColor(2);
     fEfficiencyTOFPIDD->Draw("same");
   }
   //mb esd fit
   if(fEfficiencyesdTOFPIDD){
       fEfficiencyesdTOFPIDD->SetLineColor(3);
       fEfficiencyesdTOFPIDD->Draw("same");
     }

   TLegend *legtofeff = new TLegend(0.3,0.15,0.79,0.44);
   legtofeff->AddEntry(efficiencysigTOFPIDD,"TOF PID Step Efficiency","");
   legtofeff->AddEntry(efficiencysigTOFPIDD,"vs MC p_{t} for enhenced samples","p");
   legtofeff->AddEntry(efficiencyTOFPIDD,"vs MC p_{t} for mb samples","p");
   legtofeff->AddEntry(efficiencysigesdTOFPIDD,"vs esd p_{t} for enhenced samples","p");
   legtofeff->AddEntry(efficiencyesdTOFPIDD,"vs esd p_{t} for mb samples","p");
   legtofeff->Draw("same");


   TCanvas * cefficiencyParamIP = new TCanvas("efficiencyParamIP","efficiencyParamIP",500,500);
   cefficiencyParamIP->cd();
   gStyle->SetOptStat(0);

   // IP cut efficiencies
   AliCFContainer *charmCombined = 0x0; 
   AliCFContainer *beautyCombined = 0x0;
   AliCFContainer *beautyCombinedesd = 0x0;

   source = 0; //charm enhenced
   mccontainermcD = GetSlicedContainer(container, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyCharmSig = new AliCFEffGrid("efficiencyCharmSig","",*mccontainermcD);
   efficiencyCharmSig->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); // ip cut efficiency. 

   charmCombined= (AliCFContainer*)mccontainermcD->Clone("charmCombined");  

   source = 1; //beauty enhenced
   mccontainermcD = GetSlicedContainer(container, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyBeautySig = new AliCFEffGrid("efficiencyBeautySig","",*mccontainermcD);
   efficiencyBeautySig->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); // ip cut efficiency. 

   beautyCombined = (AliCFContainer*)mccontainermcD->Clone("beautyCombined"); 

   mccontaineresdD = GetSlicedContainer(containeresd, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyBeautySigesd = new AliCFEffGrid("efficiencyBeautySigesd","",*mccontaineresdD);
   efficiencyBeautySigesd->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); // ip cut efficiency.

   beautyCombinedesd = (AliCFContainer*)mccontaineresdD->Clone("beautyCombinedesd");

   source = 0; //charm mb
   mccontainermcD = GetSlicedContainer(containermb, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyCharm = new AliCFEffGrid("efficiencyCharm","",*mccontainermcD);
   efficiencyCharm->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); // ip cut efficiency. 
   
   charmCombined->Add(mccontainermcD); 
   AliCFEffGrid* efficiencyCharmCombined = new AliCFEffGrid("efficiencyCharmCombined","",*charmCombined); 
   efficiencyCharmCombined->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); 

   source = 1; //beauty mb
   mccontainermcD = GetSlicedContainer(containermb, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyBeauty = new AliCFEffGrid("efficiencyBeauty","",*mccontainermcD);
   efficiencyBeauty->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); // ip cut efficiency. 
   
   beautyCombined->Add(mccontainermcD);
   AliCFEffGrid* efficiencyBeautyCombined = new AliCFEffGrid("efficiencyBeautyCombined","",*beautyCombined); 
   efficiencyBeautyCombined->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); 
   
   mccontaineresdD = GetSlicedContainer(containeresdmb, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyBeautyesd = new AliCFEffGrid("efficiencyBeautyesd","",*mccontaineresdD);
   efficiencyBeautyesd->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); // ip cut efficiency.

   beautyCombinedesd->Add(mccontaineresdD);
   AliCFEffGrid* efficiencyBeautyCombinedesd = new AliCFEffGrid("efficiencyBeautyCombinedesd","",*beautyCombinedesd);
   efficiencyBeautyCombinedesd->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1);
   
   source = 2; //conversion mb
   mccontainermcD = GetSlicedContainer(containermb, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyConv = new AliCFEffGrid("efficiencyConv","",*mccontainermcD);
   efficiencyConv->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); // ip cut efficiency. 

   source = 3; //non HFE except for the conversion mb
   mccontainermcD = GetSlicedContainer(containermb, fNbDimensions, dimensions, source, fChargeChoosen,fTestCentralityLow,fTestCentralityHigh);
   AliCFEffGrid* efficiencyNonhfe= new AliCFEffGrid("efficiencyNonhfe","",*mccontainermcD);
   efficiencyNonhfe->CalculateEfficiency(AliHFEcuts::kNcutStepsMCTrack + fStepData,AliHFEcuts::kNcutStepsMCTrack + fStepData-1); // ip cut efficiency.

   if(fIPEffCombinedSamples){printf("combined samples taken for beauty and charm\n");
     fEfficiencyCharmSigD = (TH1D*)efficiencyCharmCombined->Project(0); //signal enhenced + mb 
     fEfficiencyBeautySigD = (TH1D*)efficiencyBeautyCombined->Project(0); //signal enhenced + mb
     fEfficiencyBeautySigesdD = (TH1D*)efficiencyBeautyCombinedesd->Project(0); //signal enhenced + mb
     }
     else{printf("signal enhanced samples taken for beauty and charm\n");
       fEfficiencyCharmSigD = (TH1D*)efficiencyCharmSig->Project(0); //signal enhenced only
       fEfficiencyBeautySigD = (TH1D*)efficiencyBeautySig->Project(0); //signal enhenced only
       fEfficiencyBeautySigesdD = (TH1D*)efficiencyBeautySigesd->Project(0); //signal enhenced only
     }
     fCharmEff = (TH1D*)efficiencyCharm->Project(0); //mb only
     fBeautyEff = (TH1D*)efficiencyBeauty->Project(0); //mb only
     fConversionEff = (TH1D*)efficiencyConv->Project(0); //mb only
     fNonHFEEff = (TH1D*)efficiencyNonhfe->Project(0); //mb only

   if(fBeamType==0){
     //AliCFEffGrid  *nonHFEEffGrid = (AliCFEffGrid*)  GetEfficiency(GetContainer(kMCWeightedContainerNonHFEESD),1,0);
     AliCFContainer *cfcontainer = GetContainer(AliHFECorrectSpectrumBase::kMCWeightedContainerNonHFEESDSig);
     if(!cfcontainer) return;
     AliCFEffGrid  *nonHFEEffGrid = (AliCFEffGrid*)  GetEfficiency(cfcontainer,1,0); //mjmj
     fNonHFEEffbgc = (TH1D *) nonHFEEffGrid->Project(0);
     
     //AliCFEffGrid  *conversionEffGrid = (AliCFEffGrid*)  GetEfficiency(GetContainer(kMCWeightedContainerConversionESD),1,0);
     AliCFContainer *cfcontainerr = GetContainer(AliHFECorrectSpectrumBase::kMCWeightedContainerConversionESDSig);
     if(!cfcontainerr) return;
     AliCFEffGrid  *conversionEffGrid = (AliCFEffGrid*)  GetEfficiency(cfcontainerr,1,0); //mjmj
     fConversionEffbgc = (TH1D *) conversionEffGrid->Project(0);
     
     //MHMH
     if(fBeamType == 0){
       fipfitnonhfe->SetParameters(0.5,0.319,0.0157,0.00664,6.77,2.08);
       fNonHFEEffbgc->Fit(fipfitnonhfe,"R"); 
       fEfficiencyIPNonhfeD = fNonHFEEffbgc->GetFunction("fipfitnonhfe");
       
       fipfitnonhfe = new TF1("fipfitnonhfe","[0]*([1]+[2]*log(x)+[3]*log(x)*log(x))*tanh([4]*x-[5])",0.5,8.);
       fipfitnonhfe->SetParameters(0.5,0.319,0.0157,0.00664,6.77,2.08);      
       fConversionEffbgc->Fit(fipfitnonhfe,"R");
       fEfficiencyIPConversionD = fConversionEffbgc->GetFunction("fipfitnonhfe");
     }
     //MHMH
   }
   
   fipfit->SetParameters(0.5,0.319,0.0157,0.00664,6.77,2.08);
   fipfit->SetLineColor(2);
   fEfficiencyBeautySigD->Fit(fipfit,"R");
   fEfficiencyBeautySigD->GetYaxis()->SetTitle("Efficiency");
   fEfficiencyIPBeautyD = fEfficiencyBeautySigD->GetFunction("fipfit");
   
   fipfit->SetParameters(0.5,0.319,0.0157,0.00664,6.77,2.08);
   fipfit->SetLineColor(6);
   fEfficiencyBeautySigesdD->Fit(fipfit,"R");
   fEfficiencyBeautySigesdD->GetYaxis()->SetTitle("Efficiency");
   fEfficiencyIPBeautyesdD = fEfficiencyBeautySigesdD->GetFunction("fipfit");
   
   fipfit->SetParameters(0.5,0.319,0.0157,0.00664,6.77,2.08);
   fipfit->SetLineColor(1);
   fEfficiencyCharmSigD->Fit(fipfit,"R");
   fEfficiencyCharmSigD->GetYaxis()->SetTitle("Efficiency");
   fEfficiencyIPCharmD = fEfficiencyCharmSigD->GetFunction("fipfit");
   
   //if(0){
   if(fIPParameterizedEff){
     // fipfitnonhfe->SetParameters(0.5,0.319,0.0157,0.00664,6.77,2.08);
     fipfitnonhfe->SetLineColor(3);
     if(fBeamType==1){
       fConversionEff->Fit(fipfitnonhfe,"R");
       fConversionEff->GetYaxis()->SetTitle("Efficiency");
       fEfficiencyIPConversionD = fConversionEff->GetFunction("fipfitnonhfe");
     }
     else{
       fConversionEffbgc->Fit(fipfitnonhfe,"R");
       fConversionEffbgc->GetYaxis()->SetTitle("Efficiency");
       fEfficiencyIPConversionD = fConversionEffbgc->GetFunction("fipfitnonhfe");
     }       
     // fipfitnonhfe->SetParameters(0.5,0.319,0.0157,0.00664,6.77,2.08);
     fipfitnonhfe->SetLineColor(4);
     if(fBeamType==1){
       fNonHFEEff->Fit(fipfitnonhfe,"R");
       fNonHFEEff->GetYaxis()->SetTitle("Efficiency");
       fEfficiencyIPNonhfeD = fNonHFEEff->GetFunction("fipfitnonhfe");
     }
     else{
       fNonHFEEffbgc->Fit(fipfitnonhfe,"R");
       fNonHFEEffbgc->GetYaxis()->SetTitle("Efficiency");
       fEfficiencyIPNonhfeD = fNonHFEEffbgc->GetFunction("fipfitnonhfe");
     }
   }
   
   // draw
   fEfficiencyCharmSigD->SetMarkerStyle(21);
   fEfficiencyCharmSigD->SetMarkerColor(1);
   fEfficiencyCharmSigD->SetLineColor(1);
   fEfficiencyBeautySigD->SetMarkerStyle(21);
   fEfficiencyBeautySigD->SetMarkerColor(2);
   fEfficiencyBeautySigD->SetLineColor(2);
   fEfficiencyBeautySigesdD->SetStats(0);
   fEfficiencyBeautySigesdD->SetMarkerStyle(21);
   fEfficiencyBeautySigesdD->SetMarkerColor(6);
   fEfficiencyBeautySigesdD->SetLineColor(6);
   fCharmEff->SetMarkerStyle(24);
   fCharmEff->SetMarkerColor(1);
   fCharmEff->SetLineColor(1);
   fBeautyEff->SetMarkerStyle(24);
   fBeautyEff->SetMarkerColor(2);
   fBeautyEff->SetLineColor(2);
   fConversionEff->SetMarkerStyle(24);
   fConversionEff->SetMarkerColor(3);
   fConversionEff->SetLineColor(3);
   fNonHFEEff->SetMarkerStyle(24);
   fNonHFEEff->SetMarkerColor(4);
   fNonHFEEff->SetLineColor(4);

   fEfficiencyCharmSigD->Draw();
   fEfficiencyCharmSigD->GetXaxis()->SetRangeUser(0.0,7.9);
   fEfficiencyCharmSigD->GetYaxis()->SetRangeUser(0.0,0.5);

   fEfficiencyBeautySigD->Draw("same");
   fEfficiencyBeautySigesdD->Draw("same");
   if(fBeamType == 1){
     fNonHFEEff->Draw("same");
     fConversionEff->Draw("same");
   }
   //fCharmEff->Draw("same");
   //fBeautyEff->Draw("same");

   if(fBeamType==0){
     fConversionEffbgc->SetMarkerStyle(25);
     fConversionEffbgc->SetMarkerColor(3);
     fConversionEffbgc->SetLineColor(3);
     fNonHFEEffbgc->SetMarkerStyle(25);
     fNonHFEEffbgc->SetMarkerColor(4);
     fNonHFEEffbgc->SetLineColor(4);
     fConversionEffbgc->Draw("same");
     fNonHFEEffbgc->Draw("same");
   }
 
   if(fEfficiencyIPBeautyD)
      fEfficiencyIPBeautyD->Draw("same");
   if(fEfficiencyIPBeautyesdD)
     fEfficiencyIPBeautyesdD->Draw("same");
   if( fEfficiencyIPCharmD)
     fEfficiencyIPCharmD->Draw("same");
   if(fIPParameterizedEff){
     if(fEfficiencyIPConversionD)
       fEfficiencyIPConversionD->Draw("same");
     if(fEfficiencyIPNonhfeD)
       fEfficiencyIPNonhfeD->Draw("same");
   }
   TLegend *legipeff = new TLegend(0.58,0.2,0.88,0.39);
   legipeff->AddEntry(fEfficiencyBeautySigD,"IP Step Efficiency","");
   legipeff->AddEntry(fEfficiencyBeautySigD,"beauty e","p");
   legipeff->AddEntry(fEfficiencyBeautySigesdD,"beauty e(esd pt)","p");
   legipeff->AddEntry(fEfficiencyCharmSigD,"charm e","p");
   if(fBeamType == 0){
     legipeff->AddEntry(fConversionEffbgc,"conversion e(esd pt)","p");
     legipeff->AddEntry(fNonHFEEffbgc,"Dalitz e(esd pt)","p");
   }
   else{
     legipeff->AddEntry(fConversionEff,"conversion e","p");
     legipeff->AddEntry(fNonHFEEff,"Dalitz e","p");
   }
   legipeff->Draw("same");
   gPad->SetGrid();
   //cefficiencyParamIP->SaveAs("efficiencyParamIP.eps");
}

//____________________________________________________________________________
THnSparse* AliHFEBeautySpectrum::GetBeautyIPEff(Bool_t isMCpt){
  //
  // Return beauty electron IP cut efficiency
  //

  const Int_t nPtbinning1 = kSignalPtBins;//number of pt bins, according to new binning
  Double_t kPtRange[nPtbinning1+1] = { 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.5, 4., 4.5, 5., 5.5, 6., 7., 8., 10., 12., 14., 16., 18., 20.};//pt bin limits
 
  Int_t nDim=1;  //dimensions of the efficiency weighting grid
  
  Int_t nBin[1] = {nPtbinning1};
 
  THnSparseF *ipcut = new THnSparseF("beff", "b IP efficiency; p_{t}(GeV/c)", nDim, nBin);
  
  ipcut->SetBinEdges(0, kPtRange);
  
  Double_t pt[1];
  Double_t weight;
  Double_t weightErr;
  Double_t contents[2];

  weight = 1.0;
  weightErr = 1.0;
  
  Int_t looppt=nBin[0];
 
  Int_t ibin[2];
  
  for(int i=0; i<looppt; i++)
    {
      pt[0]=(kPtRange[i]+kPtRange[i+1])/2.;
      if(isMCpt){
        if(fEfficiencyIPBeautyD){
          weight=fEfficiencyIPBeautyD->Eval(pt[0]);
          weightErr = 0;
        }
        else{
          printf("Fit failed on beauty IP cut efficiency. Contents in histo used!\n");
          weight = fEfficiencyBeautySigD->GetBinContent(i+1); 
          weightErr = fEfficiencyBeautySigD->GetBinError(i+1);
        }
      }
      else{
        if(fEfficiencyIPBeautyesdD){
          weight=fEfficiencyIPBeautyesdD->Eval(pt[0]);
          weightErr = 0;
        }
        else{
          printf("Fit failed on beauty IP cut efficiency. Contents in histo used!\n");
          weight = fEfficiencyBeautySigesdD->GetBinContent(i+1);
          weightErr = fEfficiencyBeautySigD->GetBinError(i+1);
        }
      }
      
      contents[0]=pt[0];
      ibin[0]=i+1;
      
      ipcut->Fill(contents,weight);
      ipcut->SetBinError(ibin,weightErr);
    }
  
  Int_t nDimSparse = ipcut->GetNdimensions();
  Int_t* binsvar = new Int_t[nDimSparse]; // number of bins for each variable
  Long_t nBins = 1; // used to calculate the total number of bins in the THnSparse

  for (Int_t iVar=0; iVar<nDimSparse; iVar++) {
      binsvar[iVar] = ipcut->GetAxis(iVar)->GetNbins();
      nBins *= binsvar[iVar];
  }

  Int_t *binfill = new Int_t[nDimSparse]; // bin to fill the THnSparse (holding the bin coordinates)
  // loop that sets 0 error in each bin
  for (Long_t iBin=0; iBin<nBins; iBin++) {
    Long_t bintmp = iBin ;
    for (Int_t iVar=0; iVar<nDimSparse; iVar++) {
      binfill[iVar] = 1 + bintmp % binsvar[iVar] ;
      bintmp /= binsvar[iVar] ;
    }
    //ipcut->SetBinError(binfill,0.); // put 0 everywhere
  }

  delete[] binsvar;
  delete[] binfill;

  return ipcut;
}

//____________________________________________________________________________
THnSparse* AliHFEBeautySpectrum::GetPIDxIPEff(Int_t source){
  //
  // Return PID x IP cut efficiency
  //
  const Int_t nPtbinning1 = kSignalPtBins;//number of pt bins, according to new binning
  Double_t kPtRange[nPtbinning1+1] = { 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.5, 4., 4.5, 5., 5.5, 6., 7., 8., 10., 12., 14., 16., 18., 20.};//pt bin limits
  Int_t nDim=1;  //dimensions of the efficiency weighting grid
  
  Int_t nBin[1] = {nPtbinning1};
  
  THnSparseF *pideff;
  pideff = new THnSparseF("pideff", "PID efficiency; p_{t}(GeV/c)", nDim, nBin);
  pideff->SetBinEdges(0, kPtRange);
  
  Double_t pt[1];
  Double_t weight;
  Double_t weightErr;
  Double_t contents[2];
  
  weight = 1.0;
  weightErr = 1.0;
  
  Int_t looppt=nBin[0];
  Int_t ibin[2];
      
  Double_t trdtpcPidEfficiency = fEfficiencyFunction->Eval(0); // assume we have constant TRD+TPC PID efficiency
  for(int i=0; i<looppt; i++)
    {
      pt[0]=(kPtRange[i]+kPtRange[i+1])/2.;
      
      Double_t tofpideff = 1.;
      Double_t tofpideffesd = 1.;
      if(fEfficiencyTOFPIDD)
        tofpideff = fEfficiencyTOFPIDD->Eval(pt[0]); 
      else{
        printf("TOF PID fit failed on conversion. The result is wrong!\n");
      }  
      if(fEfficiencyesdTOFPIDD)
        tofpideffesd = fEfficiencyesdTOFPIDD->Eval(pt[0]);
      else{
        printf("TOF esd PID fit failed on conversion. The result is wrong!\n");
      }
      
      //tof pid eff x tpc pid eff x ip cut eff
      if(fIPParameterizedEff){
        if(source==0) {
          if(fEfficiencyIPCharmD){
            weight = tofpideff*trdtpcPidEfficiency*fEfficiencyIPCharmD->Eval(pt[0]);
            weightErr = 0; 
          }
          else{
            printf("Fit failed on charm IP cut efficiency\n");
            weight = tofpideff*trdtpcPidEfficiency*fEfficiencyCharmSigD->GetBinContent(i+1);
            weightErr = tofpideff*trdtpcPidEfficiency*fEfficiencyCharmSigD->GetBinError(i+1); 
          }
        } 
        else if(source==2) {
          if(fEfficiencyIPConversionD){
            weight = tofpideffesd*trdtpcPidEfficiency*fEfficiencyIPConversionD->Eval(pt[0]); 
            weightErr = 0; 
          }
          else{
            printf("Fit failed on conversion IP cut efficiency\n");
            weight = tofpideffesd*trdtpcPidEfficiency*fConversionEff->GetBinContent(i+1);
            weightErr = tofpideffesd*trdtpcPidEfficiency*fConversionEff->GetBinError(i+1);
          }
        }
        else if(source==3) {
          if(fEfficiencyIPNonhfeD){
            weight = tofpideffesd*trdtpcPidEfficiency*fEfficiencyIPNonhfeD->Eval(pt[0]); 
            weightErr = 0; 
          }
          else{
            printf("Fit failed on dalitz IP cut efficiency\n");
            weight = tofpideffesd*trdtpcPidEfficiency*fNonHFEEff->GetBinContent(i+1);
            weightErr = tofpideffesd*trdtpcPidEfficiency*fNonHFEEff->GetBinError(i+1);
          }  
        }
      }
      else{
        if(source==0){ 
          if(fEfficiencyIPCharmD){
            weight = tofpideff*trdtpcPidEfficiency*fEfficiencyIPCharmD->Eval(pt[0]);
            weightErr = 0;
          }
          else{
            printf("Fit failed on charm IP cut efficiency\n");
            weight = tofpideff*trdtpcPidEfficiency*fEfficiencyCharmSigD->GetBinContent(i+1);
            weightErr = tofpideff*trdtpcPidEfficiency*fEfficiencyCharmSigD->GetBinError(i+1);
          }
        }
        else if(source==2){
          if(fBeamType==0){
            weight = tofpideffesd*trdtpcPidEfficiency*fConversionEffbgc->GetBinContent(i+1); // conversion
            weightErr = tofpideffesd*trdtpcPidEfficiency*fConversionEffbgc->GetBinError(i+1);
          }
          else{
            weight = tofpideffesd*trdtpcPidEfficiency*fConversionEff->GetBinContent(i+1); // conversion
            weightErr = tofpideffesd*trdtpcPidEfficiency*fConversionEff->GetBinError(i+1);
          }
        }
        else if(source==3){
          if(fBeamType==0){
            weight = tofpideffesd*trdtpcPidEfficiency*fNonHFEEffbgc->GetBinContent(i+1); // conversion
            weightErr = tofpideffesd*trdtpcPidEfficiency*fNonHFEEffbgc->GetBinError(i+1);
          }
          else{ 
            weight = tofpideffesd*trdtpcPidEfficiency*fNonHFEEff->GetBinContent(i+1); // Dalitz
            weightErr = tofpideffesd*trdtpcPidEfficiency*fNonHFEEff->GetBinError(i+1);
          }
        }
      }
      
      contents[0]=pt[0];
      ibin[0]=i+1;
      
      pideff->Fill(contents,weight);
      pideff->SetBinError(ibin,weightErr);
    }
  
  Int_t nDimSparse = pideff->GetNdimensions();
  Int_t* binsvar = new Int_t[nDimSparse]; // number of bins for each variable
  Long_t nBins = 1; // used to calculate the total number of bins in the THnSparse
  
  for (Int_t iVar=0; iVar<nDimSparse; iVar++) {
    binsvar[iVar] = pideff->GetAxis(iVar)->GetNbins();
      nBins *= binsvar[iVar];
  }

  Int_t *binfill = new Int_t[nDimSparse]; // bin to fill the THnSparse (holding the bin coordinates)
  // loop that sets 0 error in each bin
  for (Long_t iBin=0; iBin<nBins; iBin++) {
    Long_t bintmp = iBin ;
    for (Int_t iVar=0; iVar<nDimSparse; iVar++) {
      binfill[iVar] = 1 + bintmp % binsvar[iVar] ;
      bintmp /= binsvar[iVar] ;
    }
  }

  delete[] binsvar;
  delete[] binfill;


  return pideff;
}

//__________________________________________________________________________
AliCFDataGrid *AliHFEBeautySpectrum::GetRawBspectra2ndMethod(){
 //
 // retrieve AliCFDataGrid for raw beauty spectra obtained from fit method
    //
  Int_t nDim = 1;
  
  const Int_t nPtbinning1 = 18;//number of pt bins, according to new binning
  Double_t kPtRange[19] = {0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.1, 1.3, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 12, 16, 20};
  
  Int_t nBin[1] = {nPtbinning1};
  
  AliCFDataGrid *rawBeautyContainer = new AliCFDataGrid("rawBeautyContainer","rawBeautyContainer",nDim,nBin);
      
  THnSparseF *brawspectra;
  brawspectra= new THnSparseF("brawspectra", "beauty yields ; p_{t}(GeV/c)", nDim, nBin);
  
  brawspectra->SetBinEdges(0, kPtRange);
      
  Double_t pt[1];
  Double_t yields= 0.;
  Double_t valuesb[2];
            
  for(int i=0; i<fBSpectrum2ndMethod->GetNbinsX(); i++){
    pt[0]=(kPtRange[i]+kPtRange[i+1])/2.;
    
    yields = fBSpectrum2ndMethod->GetBinContent(i+1);
        
    valuesb[0]=pt[0];
    brawspectra->Fill(valuesb,yields);
  }
  
  
  
  Int_t nDimSparse = brawspectra->GetNdimensions();
  Int_t* binsvar = new Int_t[nDimSparse]; // number of bins for each variable
  Long_t nBins = 1; // used to calculate the total number of bins in the THnSparse
    
  for (Int_t iVar=0; iVar<nDimSparse; iVar++) {
    binsvar[iVar] = brawspectra->GetAxis(iVar)->GetNbins();
    nBins *= binsvar[iVar];
  }
    
  Int_t *binfill = new Int_t[nDimSparse]; // bin to fill the THnSparse (holding the bin coordinates)
  // loop that sets 0 error in each bin
  for (Long_t iBin=0; iBin<nBins; iBin++) {
    Long_t bintmp = iBin ;
    for (Int_t iVar=0; iVar<nDimSparse; iVar++) {
      binfill[iVar] = 1 + bintmp % binsvar[iVar] ;
      bintmp /= binsvar[iVar] ;
    }
    brawspectra->SetBinError(binfill,0.); // put 0 everywhere
  }
  
  
  rawBeautyContainer->SetGrid(brawspectra); // get charm efficiency
  TH1D* hRawBeautySpectra = (TH1D*)rawBeautyContainer->Project(0);
  
  new TCanvas;
  fBSpectrum2ndMethod->SetMarkerStyle(24);
  fBSpectrum2ndMethod->Draw("p");
  hRawBeautySpectra->SetMarkerStyle(25);
  hRawBeautySpectra->Draw("samep");
  
  delete[] binfill;
  delete[] binsvar; 
  
  return rawBeautyContainer;
}
//__________________________________________________________________________
void AliHFEBeautySpectrum::CalculateNonHFEsyst(){
  //
  // Calculate non HFE sys
  //
  //

  if(!fNonHFEsyst)
    return;

  Double_t evtnorm[1] = {0.0};
  if(fNMCbgEvents>0) evtnorm[0]= double(fNEvents)/double(fNMCbgEvents);
  
  AliCFDataGrid *convSourceGrid[kElecBgSources-3][kBgLevels];
  AliCFDataGrid *nonHFESourceGrid[kElecBgSources-3][kBgLevels];

  AliCFDataGrid *bgLevelGrid[2][kBgLevels];//for pi0 and eta based errors
  AliCFDataGrid *bgNonHFEGrid[kBgLevels];
  AliCFDataGrid *bgConvGrid[kBgLevels];

  Int_t stepbackground = 3;
  Int_t* bins=new Int_t[1];
  const Char_t *bgBase[2] = {"pi0","eta"};
 
  bins[0]=kSignalPtBins;//fConversionEff[centrality]->GetNbinsX();
   
  AliCFDataGrid *weightedConversionContainer = new AliCFDataGrid("weightedConversionContainer","weightedConversionContainer",1,bins);
  AliCFDataGrid *weightedNonHFEContainer = new AliCFDataGrid("weightedNonHFEContainer","weightedNonHFEContainer",1,bins);

  for(Int_t iLevel = 0; iLevel < kBgLevels; iLevel++){   
    for(Int_t iSource = 0; iSource < kElecBgSources-3; iSource++){
      convSourceGrid[iSource][iLevel] = new AliCFDataGrid(Form("convGrid_%d_%d",iSource,iLevel),Form("convGrid_%d_%d",iSource,iLevel),*fConvSourceContainer[iSource][iLevel],stepbackground);
      weightedConversionContainer->SetGrid(GetPIDxIPEff(2));
      convSourceGrid[iSource][iLevel]->Multiply(weightedConversionContainer,1.0);
      
      nonHFESourceGrid[iSource][iLevel] = new AliCFDataGrid(Form("nonHFEGrid_%d_%d",iSource,iLevel),Form("nonHFEGrid_%d_%d",iSource,iLevel),*fNonHFESourceContainer[iSource][iLevel],stepbackground);
      weightedNonHFEContainer->SetGrid(GetPIDxIPEff(3));
      nonHFESourceGrid[iSource][iLevel]->Multiply(weightedNonHFEContainer,1.0);
    }
    
    bgConvGrid[iLevel] = (AliCFDataGrid*)convSourceGrid[0][iLevel]->Clone();
    for(Int_t iSource = 2; iSource < kElecBgSources-3; iSource++){
      bgConvGrid[iLevel]->Add(convSourceGrid[iSource][iLevel]);
    }
    if(!fEtaSyst)
      bgConvGrid[iLevel]->Add(convSourceGrid[1][iLevel]);
    
    bgNonHFEGrid[iLevel] = (AliCFDataGrid*)nonHFESourceGrid[0][iLevel]->Clone(); 
    for(Int_t iSource = 2; iSource < kElecBgSources-3; iSource++){//add other sources to pi0, to get overall background from all meson decays, exception: eta (independent error calculation)
      bgNonHFEGrid[iLevel]->Add(nonHFESourceGrid[iSource][iLevel]);
    }
    if(!fEtaSyst)
      bgNonHFEGrid[iLevel]->Add(nonHFESourceGrid[1][iLevel]);
    
    bgLevelGrid[0][iLevel] = (AliCFDataGrid*)bgConvGrid[iLevel]->Clone();
    bgLevelGrid[0][iLevel]->Add(bgNonHFEGrid[iLevel]);
    if(fEtaSyst){
      bgLevelGrid[1][iLevel] = (AliCFDataGrid*)nonHFESourceGrid[1][iLevel]->Clone();//background for eta source
      bgLevelGrid[1][iLevel]->Add(convSourceGrid[1][iLevel]);
    }
  }
   
  //Now subtract the mean from upper, and lower from mean container to get the error based on the pion yield uncertainty (-> this error sums linearly, since its contribution to all meson yields is correlated; exception: eta errors in pp 7 TeV sum with others the gaussian way, as they are independent from pi0) 
  AliCFDataGrid *bgErrorGrid[2][2];//for pions/eta error base, for lower/upper
  TH1D* hBaseErrors[2][2];//pi0/eta and lower/upper
  for(Int_t iErr = 0; iErr < 2; iErr++){//errors for pi0 and eta base
    bgErrorGrid[iErr][0] = (AliCFDataGrid*)bgLevelGrid[iErr][1]->Clone();
    bgErrorGrid[iErr][0]->Add(bgLevelGrid[iErr][0],-1.);
    bgErrorGrid[iErr][1] = (AliCFDataGrid*)bgLevelGrid[iErr][2]->Clone();    
    bgErrorGrid[iErr][1]->Add(bgLevelGrid[iErr][0],-1.);

  //plot absolute differences between limit yields (upper/lower limit, based on pi0 and eta errors) and best estimate
 
    hBaseErrors[iErr][0] = (TH1D*)bgErrorGrid[iErr][0]->Project(0);
    hBaseErrors[iErr][0]->Scale(-1.);
    hBaseErrors[iErr][0]->SetTitle(Form("Absolute %s-based systematic errors from non-HF meson decays and conversions",bgBase[iErr]));
    hBaseErrors[iErr][1] = (TH1D*)bgErrorGrid[iErr][1]->Project(0);
    if(!fEtaSyst)break;
  }
   
  //Calculate the scaling errors for electrons from all mesons except for pions (and in pp 7 TeV case eta): square sum of (0.3 * best yield estimate), where 0.3 is the error generally assumed for m_t scaling
  TH1D *hSpeciesErrors[kElecBgSources-4];
  for(Int_t iSource = 1; iSource < kElecBgSources-3; iSource++){
    if(fEtaSyst && (iSource == 1))continue;
    hSpeciesErrors[iSource-1] = (TH1D*)convSourceGrid[iSource][0]->Project(0);
    TH1D *hNonHFEtemp = (TH1D*)nonHFESourceGrid[iSource][0]->Project(0);
    hSpeciesErrors[iSource-1]->Add(hNonHFEtemp);
    hSpeciesErrors[iSource-1]->Scale(0.3);   
  }
  
  //Int_t firstBgSource = 0;//if eta systematics are not from scaling
  //if(fEtaSyst){firstBgSource = 1;}//source 0 histograms are not filled if eta errors are independently determined!
  TH1D *hOverallSystErrLow = (TH1D*)hSpeciesErrors[1]->Clone();
  TH1D *hOverallSystErrUp = (TH1D*)hSpeciesErrors[1]->Clone();
  TH1D *hScalingErrors = (TH1D*)hSpeciesErrors[1]->Clone();

  TH1D *hOverallBinScaledErrsUp = (TH1D*)hOverallSystErrUp->Clone();
  TH1D *hOverallBinScaledErrsLow = (TH1D*)hOverallSystErrLow->Clone();

  for(Int_t iBin = 1; iBin <= kBgPtBins; iBin++){
    Double_t pi0basedErrLow,pi0basedErrUp,etaErrLow,etaErrUp;    
    pi0basedErrLow = hBaseErrors[0][0]->GetBinContent(iBin); 
    pi0basedErrUp = hBaseErrors[0][1]->GetBinContent(iBin);
    if(fEtaSyst){
      etaErrLow = hBaseErrors[1][0]->GetBinContent(iBin); 
      etaErrUp = hBaseErrors[1][1]->GetBinContent(iBin);
    }
    else{ etaErrLow = etaErrUp = 0.;}

    Double_t sqrsumErrs= 0;
    for(Int_t iSource = 1; iSource < kElecBgSources-3; iSource++){
      if(fEtaSyst && (iSource == 1))continue;
      Double_t scalingErr=hSpeciesErrors[iSource-1]->GetBinContent(iBin);
      sqrsumErrs+=(scalingErr*scalingErr);
    }
    for(Int_t iErr = 0; iErr < 2; iErr++){
      for(Int_t iLevel = 0; iLevel < 2; iLevel++){
        hBaseErrors[iErr][iLevel]->SetBinContent(iBin,hBaseErrors[iErr][iLevel]->GetBinContent(iBin)/hBaseErrors[iErr][iLevel]->GetBinWidth(iBin));
      }
      if(!fEtaSyst)break;
    }
    hOverallSystErrUp->SetBinContent(iBin, TMath::Sqrt((pi0basedErrUp*pi0basedErrUp)+(etaErrUp*etaErrUp)+sqrsumErrs));
    hOverallSystErrLow->SetBinContent(iBin, TMath::Sqrt((pi0basedErrLow*pi0basedErrLow)+(etaErrLow*etaErrLow)+sqrsumErrs));
    hScalingErrors->SetBinContent(iBin, TMath::Sqrt(sqrsumErrs)/hScalingErrors->GetBinWidth(iBin));

    hOverallBinScaledErrsUp->SetBinContent(iBin,hOverallSystErrUp->GetBinContent(iBin)/hOverallBinScaledErrsUp->GetBinWidth(iBin));
    hOverallBinScaledErrsLow->SetBinContent(iBin,hOverallSystErrLow->GetBinContent(iBin)/hOverallBinScaledErrsLow->GetBinWidth(iBin));		  
  }
     
  TCanvas *cPiErrors = new TCanvas("cPiErrors","cPiErrors",1000,600);
  cPiErrors->cd();
  cPiErrors->SetLogx();
  cPiErrors->SetLogy();
  hBaseErrors[0][0]->Draw();
  //hBaseErrors[0][1]->SetMarkerColor(kBlack);
  //hBaseErrors[0][1]->SetLineColor(kBlack);
  //hBaseErrors[0][1]->Draw("SAME");
  if(fEtaSyst){
    hBaseErrors[1][0]->Draw("SAME");
    hBaseErrors[1][0]->SetMarkerColor(kBlack);
    hBaseErrors[1][0]->SetLineColor(kBlack);
  //hBaseErrors[1][1]->SetMarkerColor(13);
  //hBaseErrors[1][1]->SetLineColor(13);
  //hBaseErrors[1][1]->Draw("SAME");
  }
  //hOverallBinScaledErrsUp->SetMarkerColor(kBlue);
  //hOverallBinScaledErrsUp->SetLineColor(kBlue);
  //hOverallBinScaledErrsUp->Draw("SAME");
  hOverallBinScaledErrsLow->SetMarkerColor(kGreen);
  hOverallBinScaledErrsLow->SetLineColor(kGreen);
  hOverallBinScaledErrsLow->Draw("SAME");
  hScalingErrors->SetLineColor(kBlue);
  hScalingErrors->Draw("SAME");

  TLegend *lPiErr = new TLegend(0.6,0.6, 0.95,0.95);
  lPiErr->AddEntry(hBaseErrors[0][0],"Lower error from pion error");
  //lPiErr->AddEntry(hBaseErrors[0][1],"Upper error from pion error");
  if(fEtaSyst){
  lPiErr->AddEntry(hBaseErrors[1][0],"Lower error from eta error");
  //lPiErr->AddEntry(hBaseErrors[1][1],"Upper error from eta error");
  }
  lPiErr->AddEntry(hScalingErrors, "scaling error");
  lPiErr->AddEntry(hOverallBinScaledErrsLow, "overall lower systematics");
  //lPiErr->AddEntry(hOverallBinScaledErrsUp, "overall upper systematics");
  lPiErr->Draw("SAME");

  //Normalize errors
  TH1D *hUpSystScaled = (TH1D*)hOverallSystErrUp->Clone();
  TH1D *hLowSystScaled = (TH1D*)hOverallSystErrLow->Clone();
  hUpSystScaled->Scale(evtnorm[0]);//scale by N(data)/N(MC), to make data sets comparable to saved subtracted spectrum (calculations in separate macro!)
  hLowSystScaled->Scale(evtnorm[0]);
  TH1D *hNormAllSystErrUp = (TH1D*)hUpSystScaled->Clone();
  TH1D *hNormAllSystErrLow = (TH1D*)hLowSystScaled->Clone();
  //histograms to be normalized to TGraphErrors
  AliHFEtools::NormaliseBinWidth(hNormAllSystErrUp);
  AliHFEtools::NormaliseBinWidth(hNormAllSystErrLow);

  TCanvas *cNormOvErrs = new TCanvas("cNormOvErrs","cNormOvErrs");
  cNormOvErrs->cd();
  cNormOvErrs->SetLogx();
  cNormOvErrs->SetLogy();

  TGraphErrors* gOverallSystErrUp = NormalizeTH1(hNormAllSystErrUp);
  TGraphErrors* gOverallSystErrLow = NormalizeTH1(hNormAllSystErrLow);
  gOverallSystErrUp->SetTitle("Overall Systematic non-HFE Errors");
  gOverallSystErrUp->SetMarkerColor(kBlack);
  gOverallSystErrUp->SetLineColor(kBlack);
  gOverallSystErrLow->SetMarkerColor(kRed);
  gOverallSystErrLow->SetLineColor(kRed);
  gOverallSystErrUp->Draw("AP");
  gOverallSystErrLow->Draw("PSAME");
  TLegend *lAllSys = new TLegend(0.4,0.6,0.89,0.89);
  lAllSys->AddEntry(gOverallSystErrLow,"lower","p");
  lAllSys->AddEntry(gOverallSystErrUp,"upper","p");
  lAllSys->Draw("same");


  AliCFDataGrid *bgYieldGrid;
  if(fEtaSyst){
    bgLevelGrid[0][0]->Add(bgLevelGrid[1][0]);//Addition of the eta background best estimate to the rest. Needed to be separated for error treatment - now overall background necessary! If no separate eta systematics exist, the corresponding grid has already been added before.
  }
  bgYieldGrid = (AliCFDataGrid*)bgLevelGrid[0][0]->Clone();

  TH1D *hBgYield = (TH1D*)bgYieldGrid->Project(0);
  TH1D* hRelErrUp = (TH1D*)hOverallSystErrUp->Clone();
  hRelErrUp->Divide(hBgYield);
  TH1D* hRelErrLow = (TH1D*)hOverallSystErrLow->Clone();
  hRelErrLow->Divide(hBgYield);

  TCanvas *cRelErrs = new TCanvas("cRelErrs","cRelErrs");
  cRelErrs->cd();
  cRelErrs->SetLogx();
  hRelErrUp->SetTitle("Relative error of non-HFE background yield");
  hRelErrUp->Draw();
  hRelErrLow->SetLineColor(kBlack);
  hRelErrLow->Draw("SAME");

  TLegend *lRel = new TLegend(0.6,0.6,0.95,0.95);
  lRel->AddEntry(hRelErrUp, "upper");
  lRel->AddEntry(hRelErrLow, "lower");
  lRel->Draw("SAME");

  //AliHFEtools::NormaliseBinWidth(hBgYield);
  //hBgYield->Scale(evtnorm[0]);
 
 
  //write histograms/TGraphs to file
  TFile *output = new TFile("systHists.root","recreate");

  hBgYield->SetName("hBgYield");  
  hBgYield->Write();
  hRelErrUp->SetName("hRelErrUp");
  hRelErrUp->Write();
  hRelErrLow->SetName("hRelErrLow");
  hRelErrLow->Write();
  hUpSystScaled->SetName("hOverallSystErrUp");
  hUpSystScaled->Write();
  hLowSystScaled->SetName("hOverallSystErrLow");
  hLowSystScaled->Write();
  gOverallSystErrUp->SetName("gOverallSystErrUp");
  gOverallSystErrUp->Write();
  gOverallSystErrLow->SetName("gOverallSystErrLow");
  gOverallSystErrLow->Write(); 

  output->Close(); 
  delete output;  
}
//____________________________________________________________
void AliHFEBeautySpectrum::UnfoldBG(AliCFDataGrid* const bgsubpectrum){
  //
  // Unfold backgrounds to check its sanity
  //

  AliCFContainer *mcContainer = GetContainer(kMCContainerCharmMC);
  //AliCFContainer *mcContainer = GetContainer(kMCContainerMC);
  if(!mcContainer){
    AliError("MC Container not available");
    return;
  }

  if(!fCorrelation){
    AliError("No Correlation map available");
    return;
  }

  // Data 
  AliCFDataGrid *dataGrid = 0x0;
  dataGrid = bgsubpectrum;

  // Guessed
  AliCFDataGrid* guessedGrid = new AliCFDataGrid("guessed","",*mcContainer, fStepGuessedUnfolding);
  THnSparse* guessedTHnSparse = ((AliCFGridSparse*)guessedGrid->GetData())->GetGrid();

  // Efficiency
  AliCFEffGrid* efficiencyD = new AliCFEffGrid("efficiency","",*mcContainer);
  efficiencyD->CalculateEfficiency(fStepMC+2,fStepTrue);

  // Unfold background spectra
  Int_t nDim=1;
  AliCFUnfolding unfolding("unfolding","",nDim,fCorrelation,efficiencyD->GetGrid(),dataGrid->GetGrid(),guessedTHnSparse);
  if(fUnSetCorrelatedErrors) unfolding.UnsetCorrelatedErrors();
  unfolding.SetMaxNumberOfIterations(fNumberOfIterations);
  if(fSetSmoothing) unfolding.UseSmoothing();
  unfolding.Unfold();

  // Results
  THnSparse* result = unfolding.GetUnfolded();
  TCanvas *ctest = new TCanvas("yvonnetest","yvonnetest",1000,600);
  if(fBeamType==1)
  {
      ctest->Divide(2);
      ctest->cd(1);
      TH1D* htest1=(TH1D*)result->Projection(0);
      htest1->Draw();
      ctest->cd(2);
      TH1D* htest2=(TH1D*)result->Projection(1);
      htest2->Draw();
  }


  TGraphErrors* unfoldedbgspectrumD = Normalize(result);
  if(!unfoldedbgspectrumD) {
    AliError("Unfolded background spectrum doesn't exist");
  }
  else{
    TFile *file = TFile::Open("unfoldedbgspectrum.root","recreate");
    if(fBeamType==0)unfoldedbgspectrumD->Write("unfoldedbgspectrum");

    file->Close();
  }
}
 AliHFEBeautySpectrum.cxx:1
 AliHFEBeautySpectrum.cxx:2
 AliHFEBeautySpectrum.cxx:3
 AliHFEBeautySpectrum.cxx:4
 AliHFEBeautySpectrum.cxx:5
 AliHFEBeautySpectrum.cxx:6
 AliHFEBeautySpectrum.cxx:7
 AliHFEBeautySpectrum.cxx:8
 AliHFEBeautySpectrum.cxx:9
 AliHFEBeautySpectrum.cxx:10
 AliHFEBeautySpectrum.cxx:11
 AliHFEBeautySpectrum.cxx:12
 AliHFEBeautySpectrum.cxx:13
 AliHFEBeautySpectrum.cxx:14
 AliHFEBeautySpectrum.cxx:15
 AliHFEBeautySpectrum.cxx:16
 AliHFEBeautySpectrum.cxx:17
 AliHFEBeautySpectrum.cxx:18
 AliHFEBeautySpectrum.cxx:19
 AliHFEBeautySpectrum.cxx:20
 AliHFEBeautySpectrum.cxx:21
 AliHFEBeautySpectrum.cxx:22
 AliHFEBeautySpectrum.cxx:23
 AliHFEBeautySpectrum.cxx:24
 AliHFEBeautySpectrum.cxx:25
 AliHFEBeautySpectrum.cxx:26
 AliHFEBeautySpectrum.cxx:27
 AliHFEBeautySpectrum.cxx:28
 AliHFEBeautySpectrum.cxx:29
 AliHFEBeautySpectrum.cxx:30
 AliHFEBeautySpectrum.cxx:31
 AliHFEBeautySpectrum.cxx:32
 AliHFEBeautySpectrum.cxx:33
 AliHFEBeautySpectrum.cxx:34
 AliHFEBeautySpectrum.cxx:35
 AliHFEBeautySpectrum.cxx:36
 AliHFEBeautySpectrum.cxx:37
 AliHFEBeautySpectrum.cxx:38
 AliHFEBeautySpectrum.cxx:39
 AliHFEBeautySpectrum.cxx:40
 AliHFEBeautySpectrum.cxx:41
 AliHFEBeautySpectrum.cxx:42
 AliHFEBeautySpectrum.cxx:43
 AliHFEBeautySpectrum.cxx:44
 AliHFEBeautySpectrum.cxx:45
 AliHFEBeautySpectrum.cxx:46
 AliHFEBeautySpectrum.cxx:47
 AliHFEBeautySpectrum.cxx:48
 AliHFEBeautySpectrum.cxx:49
 AliHFEBeautySpectrum.cxx:50
 AliHFEBeautySpectrum.cxx:51
 AliHFEBeautySpectrum.cxx:52
 AliHFEBeautySpectrum.cxx:53
 AliHFEBeautySpectrum.cxx:54
 AliHFEBeautySpectrum.cxx:55
 AliHFEBeautySpectrum.cxx:56
 AliHFEBeautySpectrum.cxx:57
 AliHFEBeautySpectrum.cxx:58
 AliHFEBeautySpectrum.cxx:59
 AliHFEBeautySpectrum.cxx:60
 AliHFEBeautySpectrum.cxx:61
 AliHFEBeautySpectrum.cxx:62
 AliHFEBeautySpectrum.cxx:63
 AliHFEBeautySpectrum.cxx:64
 AliHFEBeautySpectrum.cxx:65
 AliHFEBeautySpectrum.cxx:66
 AliHFEBeautySpectrum.cxx:67
 AliHFEBeautySpectrum.cxx:68
 AliHFEBeautySpectrum.cxx:69
 AliHFEBeautySpectrum.cxx:70
 AliHFEBeautySpectrum.cxx:71
 AliHFEBeautySpectrum.cxx:72
 AliHFEBeautySpectrum.cxx:73
 AliHFEBeautySpectrum.cxx:74
 AliHFEBeautySpectrum.cxx:75
 AliHFEBeautySpectrum.cxx:76
 AliHFEBeautySpectrum.cxx:77
 AliHFEBeautySpectrum.cxx:78
 AliHFEBeautySpectrum.cxx:79
 AliHFEBeautySpectrum.cxx:80
 AliHFEBeautySpectrum.cxx:81
 AliHFEBeautySpectrum.cxx:82
 AliHFEBeautySpectrum.cxx:83
 AliHFEBeautySpectrum.cxx:84
 AliHFEBeautySpectrum.cxx:85
 AliHFEBeautySpectrum.cxx:86
 AliHFEBeautySpectrum.cxx:87
 AliHFEBeautySpectrum.cxx:88
 AliHFEBeautySpectrum.cxx:89
 AliHFEBeautySpectrum.cxx:90
 AliHFEBeautySpectrum.cxx:91
 AliHFEBeautySpectrum.cxx:92
 AliHFEBeautySpectrum.cxx:93
 AliHFEBeautySpectrum.cxx:94
 AliHFEBeautySpectrum.cxx:95
 AliHFEBeautySpectrum.cxx:96
 AliHFEBeautySpectrum.cxx:97
 AliHFEBeautySpectrum.cxx:98
 AliHFEBeautySpectrum.cxx:99
 AliHFEBeautySpectrum.cxx:100
 AliHFEBeautySpectrum.cxx:101
 AliHFEBeautySpectrum.cxx:102
 AliHFEBeautySpectrum.cxx:103
 AliHFEBeautySpectrum.cxx:104
 AliHFEBeautySpectrum.cxx:105
 AliHFEBeautySpectrum.cxx:106
 AliHFEBeautySpectrum.cxx:107
 AliHFEBeautySpectrum.cxx:108
 AliHFEBeautySpectrum.cxx:109
 AliHFEBeautySpectrum.cxx:110
 AliHFEBeautySpectrum.cxx:111
 AliHFEBeautySpectrum.cxx:112
 AliHFEBeautySpectrum.cxx:113
 AliHFEBeautySpectrum.cxx:114
 AliHFEBeautySpectrum.cxx:115
 AliHFEBeautySpectrum.cxx:116
 AliHFEBeautySpectrum.cxx:117
 AliHFEBeautySpectrum.cxx:118
 AliHFEBeautySpectrum.cxx:119
 AliHFEBeautySpectrum.cxx:120
 AliHFEBeautySpectrum.cxx:121
 AliHFEBeautySpectrum.cxx:122
 AliHFEBeautySpectrum.cxx:123
 AliHFEBeautySpectrum.cxx:124
 AliHFEBeautySpectrum.cxx:125
 AliHFEBeautySpectrum.cxx:126
 AliHFEBeautySpectrum.cxx:127
 AliHFEBeautySpectrum.cxx:128
 AliHFEBeautySpectrum.cxx:129
 AliHFEBeautySpectrum.cxx:130
 AliHFEBeautySpectrum.cxx:131
 AliHFEBeautySpectrum.cxx:132
 AliHFEBeautySpectrum.cxx:133
 AliHFEBeautySpectrum.cxx:134
 AliHFEBeautySpectrum.cxx:135
 AliHFEBeautySpectrum.cxx:136
 AliHFEBeautySpectrum.cxx:137
 AliHFEBeautySpectrum.cxx:138
 AliHFEBeautySpectrum.cxx:139
 AliHFEBeautySpectrum.cxx:140
 AliHFEBeautySpectrum.cxx:141
 AliHFEBeautySpectrum.cxx:142
 AliHFEBeautySpectrum.cxx:143
 AliHFEBeautySpectrum.cxx:144
 AliHFEBeautySpectrum.cxx:145
 AliHFEBeautySpectrum.cxx:146
 AliHFEBeautySpectrum.cxx:147
 AliHFEBeautySpectrum.cxx:148
 AliHFEBeautySpectrum.cxx:149
 AliHFEBeautySpectrum.cxx:150
 AliHFEBeautySpectrum.cxx:151
 AliHFEBeautySpectrum.cxx:152
 AliHFEBeautySpectrum.cxx:153
 AliHFEBeautySpectrum.cxx:154
 AliHFEBeautySpectrum.cxx:155
 AliHFEBeautySpectrum.cxx:156
 AliHFEBeautySpectrum.cxx:157
 AliHFEBeautySpectrum.cxx:158
 AliHFEBeautySpectrum.cxx:159
 AliHFEBeautySpectrum.cxx:160
 AliHFEBeautySpectrum.cxx:161
 AliHFEBeautySpectrum.cxx:162
 AliHFEBeautySpectrum.cxx:163
 AliHFEBeautySpectrum.cxx:164
 AliHFEBeautySpectrum.cxx:165
 AliHFEBeautySpectrum.cxx:166
 AliHFEBeautySpectrum.cxx:167
 AliHFEBeautySpectrum.cxx:168
 AliHFEBeautySpectrum.cxx:169
 AliHFEBeautySpectrum.cxx:170
 AliHFEBeautySpectrum.cxx:171
 AliHFEBeautySpectrum.cxx:172
 AliHFEBeautySpectrum.cxx:173
 AliHFEBeautySpectrum.cxx:174
 AliHFEBeautySpectrum.cxx:175
 AliHFEBeautySpectrum.cxx:176
 AliHFEBeautySpectrum.cxx:177
 AliHFEBeautySpectrum.cxx:178
 AliHFEBeautySpectrum.cxx:179
 AliHFEBeautySpectrum.cxx:180
 AliHFEBeautySpectrum.cxx:181
 AliHFEBeautySpectrum.cxx:182
 AliHFEBeautySpectrum.cxx:183
 AliHFEBeautySpectrum.cxx:184
 AliHFEBeautySpectrum.cxx:185
 AliHFEBeautySpectrum.cxx:186
 AliHFEBeautySpectrum.cxx:187
 AliHFEBeautySpectrum.cxx:188
 AliHFEBeautySpectrum.cxx:189
 AliHFEBeautySpectrum.cxx:190
 AliHFEBeautySpectrum.cxx:191
 AliHFEBeautySpectrum.cxx:192
 AliHFEBeautySpectrum.cxx:193
 AliHFEBeautySpectrum.cxx:194
 AliHFEBeautySpectrum.cxx:195
 AliHFEBeautySpectrum.cxx:196
 AliHFEBeautySpectrum.cxx:197
 AliHFEBeautySpectrum.cxx:198
 AliHFEBeautySpectrum.cxx:199
 AliHFEBeautySpectrum.cxx:200
 AliHFEBeautySpectrum.cxx:201
 AliHFEBeautySpectrum.cxx:202
 AliHFEBeautySpectrum.cxx:203
 AliHFEBeautySpectrum.cxx:204
 AliHFEBeautySpectrum.cxx:205
 AliHFEBeautySpectrum.cxx:206
 AliHFEBeautySpectrum.cxx:207
 AliHFEBeautySpectrum.cxx:208
 AliHFEBeautySpectrum.cxx:209
 AliHFEBeautySpectrum.cxx:210
 AliHFEBeautySpectrum.cxx:211
 AliHFEBeautySpectrum.cxx:212
 AliHFEBeautySpectrum.cxx:213
 AliHFEBeautySpectrum.cxx:214
 AliHFEBeautySpectrum.cxx:215
 AliHFEBeautySpectrum.cxx:216
 AliHFEBeautySpectrum.cxx:217
 AliHFEBeautySpectrum.cxx:218
 AliHFEBeautySpectrum.cxx:219
 AliHFEBeautySpectrum.cxx:220
 AliHFEBeautySpectrum.cxx:221
 AliHFEBeautySpectrum.cxx:222
 AliHFEBeautySpectrum.cxx:223
 AliHFEBeautySpectrum.cxx:224
 AliHFEBeautySpectrum.cxx:225
 AliHFEBeautySpectrum.cxx:226
 AliHFEBeautySpectrum.cxx:227
 AliHFEBeautySpectrum.cxx:228
 AliHFEBeautySpectrum.cxx:229
 AliHFEBeautySpectrum.cxx:230
 AliHFEBeautySpectrum.cxx:231
 AliHFEBeautySpectrum.cxx:232
 AliHFEBeautySpectrum.cxx:233
 AliHFEBeautySpectrum.cxx:234
 AliHFEBeautySpectrum.cxx:235
 AliHFEBeautySpectrum.cxx:236
 AliHFEBeautySpectrum.cxx:237
 AliHFEBeautySpectrum.cxx:238
 AliHFEBeautySpectrum.cxx:239
 AliHFEBeautySpectrum.cxx:240
 AliHFEBeautySpectrum.cxx:241
 AliHFEBeautySpectrum.cxx:242
 AliHFEBeautySpectrum.cxx:243
 AliHFEBeautySpectrum.cxx:244
 AliHFEBeautySpectrum.cxx:245
 AliHFEBeautySpectrum.cxx:246
 AliHFEBeautySpectrum.cxx:247
 AliHFEBeautySpectrum.cxx:248
 AliHFEBeautySpectrum.cxx:249
 AliHFEBeautySpectrum.cxx:250
 AliHFEBeautySpectrum.cxx:251
 AliHFEBeautySpectrum.cxx:252
 AliHFEBeautySpectrum.cxx:253
 AliHFEBeautySpectrum.cxx:254
 AliHFEBeautySpectrum.cxx:255
 AliHFEBeautySpectrum.cxx:256
 AliHFEBeautySpectrum.cxx:257
 AliHFEBeautySpectrum.cxx:258
 AliHFEBeautySpectrum.cxx:259
 AliHFEBeautySpectrum.cxx:260
 AliHFEBeautySpectrum.cxx:261
 AliHFEBeautySpectrum.cxx:262
 AliHFEBeautySpectrum.cxx:263
 AliHFEBeautySpectrum.cxx:264
 AliHFEBeautySpectrum.cxx:265
 AliHFEBeautySpectrum.cxx:266
 AliHFEBeautySpectrum.cxx:267
 AliHFEBeautySpectrum.cxx:268
 AliHFEBeautySpectrum.cxx:269
 AliHFEBeautySpectrum.cxx:270
 AliHFEBeautySpectrum.cxx:271
 AliHFEBeautySpectrum.cxx:272
 AliHFEBeautySpectrum.cxx:273
 AliHFEBeautySpectrum.cxx:274
 AliHFEBeautySpectrum.cxx:275
 AliHFEBeautySpectrum.cxx:276
 AliHFEBeautySpectrum.cxx:277
 AliHFEBeautySpectrum.cxx:278
 AliHFEBeautySpectrum.cxx:279
 AliHFEBeautySpectrum.cxx:280
 AliHFEBeautySpectrum.cxx:281
 AliHFEBeautySpectrum.cxx:282
 AliHFEBeautySpectrum.cxx:283
 AliHFEBeautySpectrum.cxx:284
 AliHFEBeautySpectrum.cxx:285
 AliHFEBeautySpectrum.cxx:286
 AliHFEBeautySpectrum.cxx:287
 AliHFEBeautySpectrum.cxx:288
 AliHFEBeautySpectrum.cxx:289
 AliHFEBeautySpectrum.cxx:290
 AliHFEBeautySpectrum.cxx:291
 AliHFEBeautySpectrum.cxx:292
 AliHFEBeautySpectrum.cxx:293
 AliHFEBeautySpectrum.cxx:294
 AliHFEBeautySpectrum.cxx:295
 AliHFEBeautySpectrum.cxx:296
 AliHFEBeautySpectrum.cxx:297
 AliHFEBeautySpectrum.cxx:298
 AliHFEBeautySpectrum.cxx:299
 AliHFEBeautySpectrum.cxx:300
 AliHFEBeautySpectrum.cxx:301
 AliHFEBeautySpectrum.cxx:302
 AliHFEBeautySpectrum.cxx:303
 AliHFEBeautySpectrum.cxx:304
 AliHFEBeautySpectrum.cxx:305
 AliHFEBeautySpectrum.cxx:306
 AliHFEBeautySpectrum.cxx:307
 AliHFEBeautySpectrum.cxx:308
 AliHFEBeautySpectrum.cxx:309
 AliHFEBeautySpectrum.cxx:310
 AliHFEBeautySpectrum.cxx:311
 AliHFEBeautySpectrum.cxx:312
 AliHFEBeautySpectrum.cxx:313
 AliHFEBeautySpectrum.cxx:314
 AliHFEBeautySpectrum.cxx:315
 AliHFEBeautySpectrum.cxx:316
 AliHFEBeautySpectrum.cxx:317
 AliHFEBeautySpectrum.cxx:318
 AliHFEBeautySpectrum.cxx:319
 AliHFEBeautySpectrum.cxx:320
 AliHFEBeautySpectrum.cxx:321
 AliHFEBeautySpectrum.cxx:322
 AliHFEBeautySpectrum.cxx:323
 AliHFEBeautySpectrum.cxx:324
 AliHFEBeautySpectrum.cxx:325
 AliHFEBeautySpectrum.cxx:326
 AliHFEBeautySpectrum.cxx:327
 AliHFEBeautySpectrum.cxx:328
 AliHFEBeautySpectrum.cxx:329
 AliHFEBeautySpectrum.cxx:330
 AliHFEBeautySpectrum.cxx:331
 AliHFEBeautySpectrum.cxx:332
 AliHFEBeautySpectrum.cxx:333
 AliHFEBeautySpectrum.cxx:334
 AliHFEBeautySpectrum.cxx:335
 AliHFEBeautySpectrum.cxx:336
 AliHFEBeautySpectrum.cxx:337
 AliHFEBeautySpectrum.cxx:338
 AliHFEBeautySpectrum.cxx:339
 AliHFEBeautySpectrum.cxx:340
 AliHFEBeautySpectrum.cxx:341
 AliHFEBeautySpectrum.cxx:342
 AliHFEBeautySpectrum.cxx:343
 AliHFEBeautySpectrum.cxx:344
 AliHFEBeautySpectrum.cxx:345
 AliHFEBeautySpectrum.cxx:346
 AliHFEBeautySpectrum.cxx:347
 AliHFEBeautySpectrum.cxx:348
 AliHFEBeautySpectrum.cxx:349
 AliHFEBeautySpectrum.cxx:350
 AliHFEBeautySpectrum.cxx:351
 AliHFEBeautySpectrum.cxx:352
 AliHFEBeautySpectrum.cxx:353
 AliHFEBeautySpectrum.cxx:354
 AliHFEBeautySpectrum.cxx:355
 AliHFEBeautySpectrum.cxx:356
 AliHFEBeautySpectrum.cxx:357
 AliHFEBeautySpectrum.cxx:358
 AliHFEBeautySpectrum.cxx:359
 AliHFEBeautySpectrum.cxx:360
 AliHFEBeautySpectrum.cxx:361
 AliHFEBeautySpectrum.cxx:362
 AliHFEBeautySpectrum.cxx:363
 AliHFEBeautySpectrum.cxx:364
 AliHFEBeautySpectrum.cxx:365
 AliHFEBeautySpectrum.cxx:366
 AliHFEBeautySpectrum.cxx:367
 AliHFEBeautySpectrum.cxx:368
 AliHFEBeautySpectrum.cxx:369
 AliHFEBeautySpectrum.cxx:370
 AliHFEBeautySpectrum.cxx:371
 AliHFEBeautySpectrum.cxx:372
 AliHFEBeautySpectrum.cxx:373
 AliHFEBeautySpectrum.cxx:374
 AliHFEBeautySpectrum.cxx:375
 AliHFEBeautySpectrum.cxx:376
 AliHFEBeautySpectrum.cxx:377
 AliHFEBeautySpectrum.cxx:378
 AliHFEBeautySpectrum.cxx:379
 AliHFEBeautySpectrum.cxx:380
 AliHFEBeautySpectrum.cxx:381
 AliHFEBeautySpectrum.cxx:382
 AliHFEBeautySpectrum.cxx:383
 AliHFEBeautySpectrum.cxx:384
 AliHFEBeautySpectrum.cxx:385
 AliHFEBeautySpectrum.cxx:386
 AliHFEBeautySpectrum.cxx:387
 AliHFEBeautySpectrum.cxx:388
 AliHFEBeautySpectrum.cxx:389
 AliHFEBeautySpectrum.cxx:390
 AliHFEBeautySpectrum.cxx:391
 AliHFEBeautySpectrum.cxx:392
 AliHFEBeautySpectrum.cxx:393
 AliHFEBeautySpectrum.cxx:394
 AliHFEBeautySpectrum.cxx:395
 AliHFEBeautySpectrum.cxx:396
 AliHFEBeautySpectrum.cxx:397
 AliHFEBeautySpectrum.cxx:398
 AliHFEBeautySpectrum.cxx:399
 AliHFEBeautySpectrum.cxx:400
 AliHFEBeautySpectrum.cxx:401
 AliHFEBeautySpectrum.cxx:402
 AliHFEBeautySpectrum.cxx:403
 AliHFEBeautySpectrum.cxx:404
 AliHFEBeautySpectrum.cxx:405
 AliHFEBeautySpectrum.cxx:406
 AliHFEBeautySpectrum.cxx:407
 AliHFEBeautySpectrum.cxx:408
 AliHFEBeautySpectrum.cxx:409
 AliHFEBeautySpectrum.cxx:410
 AliHFEBeautySpectrum.cxx:411
 AliHFEBeautySpectrum.cxx:412
 AliHFEBeautySpectrum.cxx:413
 AliHFEBeautySpectrum.cxx:414
 AliHFEBeautySpectrum.cxx:415
 AliHFEBeautySpectrum.cxx:416
 AliHFEBeautySpectrum.cxx:417
 AliHFEBeautySpectrum.cxx:418
 AliHFEBeautySpectrum.cxx:419
 AliHFEBeautySpectrum.cxx:420
 AliHFEBeautySpectrum.cxx:421
 AliHFEBeautySpectrum.cxx:422
 AliHFEBeautySpectrum.cxx:423
 AliHFEBeautySpectrum.cxx:424
 AliHFEBeautySpectrum.cxx:425
 AliHFEBeautySpectrum.cxx:426
 AliHFEBeautySpectrum.cxx:427
 AliHFEBeautySpectrum.cxx:428
 AliHFEBeautySpectrum.cxx:429
 AliHFEBeautySpectrum.cxx:430
 AliHFEBeautySpectrum.cxx:431
 AliHFEBeautySpectrum.cxx:432
 AliHFEBeautySpectrum.cxx:433
 AliHFEBeautySpectrum.cxx:434
 AliHFEBeautySpectrum.cxx:435
 AliHFEBeautySpectrum.cxx:436
 AliHFEBeautySpectrum.cxx:437
 AliHFEBeautySpectrum.cxx:438
 AliHFEBeautySpectrum.cxx:439
 AliHFEBeautySpectrum.cxx:440
 AliHFEBeautySpectrum.cxx:441
 AliHFEBeautySpectrum.cxx:442
 AliHFEBeautySpectrum.cxx:443
 AliHFEBeautySpectrum.cxx:444
 AliHFEBeautySpectrum.cxx:445
 AliHFEBeautySpectrum.cxx:446
 AliHFEBeautySpectrum.cxx:447
 AliHFEBeautySpectrum.cxx:448
 AliHFEBeautySpectrum.cxx:449
 AliHFEBeautySpectrum.cxx:450
 AliHFEBeautySpectrum.cxx:451
 AliHFEBeautySpectrum.cxx:452
 AliHFEBeautySpectrum.cxx:453
 AliHFEBeautySpectrum.cxx:454
 AliHFEBeautySpectrum.cxx:455
 AliHFEBeautySpectrum.cxx:456
 AliHFEBeautySpectrum.cxx:457
 AliHFEBeautySpectrum.cxx:458
 AliHFEBeautySpectrum.cxx:459
 AliHFEBeautySpectrum.cxx:460
 AliHFEBeautySpectrum.cxx:461
 AliHFEBeautySpectrum.cxx:462
 AliHFEBeautySpectrum.cxx:463
 AliHFEBeautySpectrum.cxx:464
 AliHFEBeautySpectrum.cxx:465
 AliHFEBeautySpectrum.cxx:466
 AliHFEBeautySpectrum.cxx:467
 AliHFEBeautySpectrum.cxx:468
 AliHFEBeautySpectrum.cxx:469
 AliHFEBeautySpectrum.cxx:470
 AliHFEBeautySpectrum.cxx:471
 AliHFEBeautySpectrum.cxx:472
 AliHFEBeautySpectrum.cxx:473
 AliHFEBeautySpectrum.cxx:474
 AliHFEBeautySpectrum.cxx:475
 AliHFEBeautySpectrum.cxx:476
 AliHFEBeautySpectrum.cxx:477
 AliHFEBeautySpectrum.cxx:478
 AliHFEBeautySpectrum.cxx:479
 AliHFEBeautySpectrum.cxx:480
 AliHFEBeautySpectrum.cxx:481
 AliHFEBeautySpectrum.cxx:482
 AliHFEBeautySpectrum.cxx:483
 AliHFEBeautySpectrum.cxx:484
 AliHFEBeautySpectrum.cxx:485
 AliHFEBeautySpectrum.cxx:486
 AliHFEBeautySpectrum.cxx:487
 AliHFEBeautySpectrum.cxx:488
 AliHFEBeautySpectrum.cxx:489
 AliHFEBeautySpectrum.cxx:490
 AliHFEBeautySpectrum.cxx:491
 AliHFEBeautySpectrum.cxx:492
 AliHFEBeautySpectrum.cxx:493
 AliHFEBeautySpectrum.cxx:494
 AliHFEBeautySpectrum.cxx:495
 AliHFEBeautySpectrum.cxx:496
 AliHFEBeautySpectrum.cxx:497
 AliHFEBeautySpectrum.cxx:498
 AliHFEBeautySpectrum.cxx:499
 AliHFEBeautySpectrum.cxx:500
 AliHFEBeautySpectrum.cxx:501
 AliHFEBeautySpectrum.cxx:502
 AliHFEBeautySpectrum.cxx:503
 AliHFEBeautySpectrum.cxx:504
 AliHFEBeautySpectrum.cxx:505
 AliHFEBeautySpectrum.cxx:506
 AliHFEBeautySpectrum.cxx:507
 AliHFEBeautySpectrum.cxx:508
 AliHFEBeautySpectrum.cxx:509
 AliHFEBeautySpectrum.cxx:510
 AliHFEBeautySpectrum.cxx:511
 AliHFEBeautySpectrum.cxx:512
 AliHFEBeautySpectrum.cxx:513
 AliHFEBeautySpectrum.cxx:514
 AliHFEBeautySpectrum.cxx:515
 AliHFEBeautySpectrum.cxx:516
 AliHFEBeautySpectrum.cxx:517
 AliHFEBeautySpectrum.cxx:518
 AliHFEBeautySpectrum.cxx:519
 AliHFEBeautySpectrum.cxx:520
 AliHFEBeautySpectrum.cxx:521
 AliHFEBeautySpectrum.cxx:522
 AliHFEBeautySpectrum.cxx:523
 AliHFEBeautySpectrum.cxx:524
 AliHFEBeautySpectrum.cxx:525
 AliHFEBeautySpectrum.cxx:526
 AliHFEBeautySpectrum.cxx:527
 AliHFEBeautySpectrum.cxx:528
 AliHFEBeautySpectrum.cxx:529
 AliHFEBeautySpectrum.cxx:530
 AliHFEBeautySpectrum.cxx:531
 AliHFEBeautySpectrum.cxx:532
 AliHFEBeautySpectrum.cxx:533
 AliHFEBeautySpectrum.cxx:534
 AliHFEBeautySpectrum.cxx:535
 AliHFEBeautySpectrum.cxx:536
 AliHFEBeautySpectrum.cxx:537
 AliHFEBeautySpectrum.cxx:538
 AliHFEBeautySpectrum.cxx:539
 AliHFEBeautySpectrum.cxx:540
 AliHFEBeautySpectrum.cxx:541
 AliHFEBeautySpectrum.cxx:542
 AliHFEBeautySpectrum.cxx:543
 AliHFEBeautySpectrum.cxx:544
 AliHFEBeautySpectrum.cxx:545
 AliHFEBeautySpectrum.cxx:546
 AliHFEBeautySpectrum.cxx:547
 AliHFEBeautySpectrum.cxx:548
 AliHFEBeautySpectrum.cxx:549
 AliHFEBeautySpectrum.cxx:550
 AliHFEBeautySpectrum.cxx:551
 AliHFEBeautySpectrum.cxx:552
 AliHFEBeautySpectrum.cxx:553
 AliHFEBeautySpectrum.cxx:554
 AliHFEBeautySpectrum.cxx:555
 AliHFEBeautySpectrum.cxx:556
 AliHFEBeautySpectrum.cxx:557
 AliHFEBeautySpectrum.cxx:558
 AliHFEBeautySpectrum.cxx:559
 AliHFEBeautySpectrum.cxx:560
 AliHFEBeautySpectrum.cxx:561
 AliHFEBeautySpectrum.cxx:562
 AliHFEBeautySpectrum.cxx:563
 AliHFEBeautySpectrum.cxx:564
 AliHFEBeautySpectrum.cxx:565
 AliHFEBeautySpectrum.cxx:566
 AliHFEBeautySpectrum.cxx:567
 AliHFEBeautySpectrum.cxx:568
 AliHFEBeautySpectrum.cxx:569
 AliHFEBeautySpectrum.cxx:570
 AliHFEBeautySpectrum.cxx:571
 AliHFEBeautySpectrum.cxx:572
 AliHFEBeautySpectrum.cxx:573
 AliHFEBeautySpectrum.cxx:574
 AliHFEBeautySpectrum.cxx:575
 AliHFEBeautySpectrum.cxx:576
 AliHFEBeautySpectrum.cxx:577
 AliHFEBeautySpectrum.cxx:578
 AliHFEBeautySpectrum.cxx:579
 AliHFEBeautySpectrum.cxx:580
 AliHFEBeautySpectrum.cxx:581
 AliHFEBeautySpectrum.cxx:582
 AliHFEBeautySpectrum.cxx:583
 AliHFEBeautySpectrum.cxx:584
 AliHFEBeautySpectrum.cxx:585
 AliHFEBeautySpectrum.cxx:586
 AliHFEBeautySpectrum.cxx:587
 AliHFEBeautySpectrum.cxx:588
 AliHFEBeautySpectrum.cxx:589
 AliHFEBeautySpectrum.cxx:590
 AliHFEBeautySpectrum.cxx:591
 AliHFEBeautySpectrum.cxx:592
 AliHFEBeautySpectrum.cxx:593
 AliHFEBeautySpectrum.cxx:594
 AliHFEBeautySpectrum.cxx:595
 AliHFEBeautySpectrum.cxx:596
 AliHFEBeautySpectrum.cxx:597
 AliHFEBeautySpectrum.cxx:598
 AliHFEBeautySpectrum.cxx:599
 AliHFEBeautySpectrum.cxx:600
 AliHFEBeautySpectrum.cxx:601
 AliHFEBeautySpectrum.cxx:602
 AliHFEBeautySpectrum.cxx:603
 AliHFEBeautySpectrum.cxx:604
 AliHFEBeautySpectrum.cxx:605
 AliHFEBeautySpectrum.cxx:606
 AliHFEBeautySpectrum.cxx:607
 AliHFEBeautySpectrum.cxx:608
 AliHFEBeautySpectrum.cxx:609
 AliHFEBeautySpectrum.cxx:610
 AliHFEBeautySpectrum.cxx:611
 AliHFEBeautySpectrum.cxx:612
 AliHFEBeautySpectrum.cxx:613
 AliHFEBeautySpectrum.cxx:614
 AliHFEBeautySpectrum.cxx:615
 AliHFEBeautySpectrum.cxx:616
 AliHFEBeautySpectrum.cxx:617
 AliHFEBeautySpectrum.cxx:618
 AliHFEBeautySpectrum.cxx:619
 AliHFEBeautySpectrum.cxx:620
 AliHFEBeautySpectrum.cxx:621
 AliHFEBeautySpectrum.cxx:622
 AliHFEBeautySpectrum.cxx:623
 AliHFEBeautySpectrum.cxx:624
 AliHFEBeautySpectrum.cxx:625
 AliHFEBeautySpectrum.cxx:626
 AliHFEBeautySpectrum.cxx:627
 AliHFEBeautySpectrum.cxx:628
 AliHFEBeautySpectrum.cxx:629
 AliHFEBeautySpectrum.cxx:630
 AliHFEBeautySpectrum.cxx:631
 AliHFEBeautySpectrum.cxx:632
 AliHFEBeautySpectrum.cxx:633
 AliHFEBeautySpectrum.cxx:634
 AliHFEBeautySpectrum.cxx:635
 AliHFEBeautySpectrum.cxx:636
 AliHFEBeautySpectrum.cxx:637
 AliHFEBeautySpectrum.cxx:638
 AliHFEBeautySpectrum.cxx:639
 AliHFEBeautySpectrum.cxx:640
 AliHFEBeautySpectrum.cxx:641
 AliHFEBeautySpectrum.cxx:642
 AliHFEBeautySpectrum.cxx:643
 AliHFEBeautySpectrum.cxx:644
 AliHFEBeautySpectrum.cxx:645
 AliHFEBeautySpectrum.cxx:646
 AliHFEBeautySpectrum.cxx:647
 AliHFEBeautySpectrum.cxx:648
 AliHFEBeautySpectrum.cxx:649
 AliHFEBeautySpectrum.cxx:650
 AliHFEBeautySpectrum.cxx:651
 AliHFEBeautySpectrum.cxx:652
 AliHFEBeautySpectrum.cxx:653
 AliHFEBeautySpectrum.cxx:654
 AliHFEBeautySpectrum.cxx:655
 AliHFEBeautySpectrum.cxx:656
 AliHFEBeautySpectrum.cxx:657
 AliHFEBeautySpectrum.cxx:658
 AliHFEBeautySpectrum.cxx:659
 AliHFEBeautySpectrum.cxx:660
 AliHFEBeautySpectrum.cxx:661
 AliHFEBeautySpectrum.cxx:662
 AliHFEBeautySpectrum.cxx:663
 AliHFEBeautySpectrum.cxx:664
 AliHFEBeautySpectrum.cxx:665
 AliHFEBeautySpectrum.cxx:666
 AliHFEBeautySpectrum.cxx:667
 AliHFEBeautySpectrum.cxx:668
 AliHFEBeautySpectrum.cxx:669
 AliHFEBeautySpectrum.cxx:670
 AliHFEBeautySpectrum.cxx:671
 AliHFEBeautySpectrum.cxx:672
 AliHFEBeautySpectrum.cxx:673
 AliHFEBeautySpectrum.cxx:674
 AliHFEBeautySpectrum.cxx:675
 AliHFEBeautySpectrum.cxx:676
 AliHFEBeautySpectrum.cxx:677
 AliHFEBeautySpectrum.cxx:678
 AliHFEBeautySpectrum.cxx:679
 AliHFEBeautySpectrum.cxx:680
 AliHFEBeautySpectrum.cxx:681
 AliHFEBeautySpectrum.cxx:682
 AliHFEBeautySpectrum.cxx:683
 AliHFEBeautySpectrum.cxx:684
 AliHFEBeautySpectrum.cxx:685
 AliHFEBeautySpectrum.cxx:686
 AliHFEBeautySpectrum.cxx:687
 AliHFEBeautySpectrum.cxx:688
 AliHFEBeautySpectrum.cxx:689
 AliHFEBeautySpectrum.cxx:690
 AliHFEBeautySpectrum.cxx:691
 AliHFEBeautySpectrum.cxx:692
 AliHFEBeautySpectrum.cxx:693
 AliHFEBeautySpectrum.cxx:694
 AliHFEBeautySpectrum.cxx:695
 AliHFEBeautySpectrum.cxx:696
 AliHFEBeautySpectrum.cxx:697
 AliHFEBeautySpectrum.cxx:698
 AliHFEBeautySpectrum.cxx:699
 AliHFEBeautySpectrum.cxx:700
 AliHFEBeautySpectrum.cxx:701
 AliHFEBeautySpectrum.cxx:702
 AliHFEBeautySpectrum.cxx:703
 AliHFEBeautySpectrum.cxx:704
 AliHFEBeautySpectrum.cxx:705
 AliHFEBeautySpectrum.cxx:706
 AliHFEBeautySpectrum.cxx:707
 AliHFEBeautySpectrum.cxx:708
 AliHFEBeautySpectrum.cxx:709
 AliHFEBeautySpectrum.cxx:710
 AliHFEBeautySpectrum.cxx:711
 AliHFEBeautySpectrum.cxx:712
 AliHFEBeautySpectrum.cxx:713
 AliHFEBeautySpectrum.cxx:714
 AliHFEBeautySpectrum.cxx:715
 AliHFEBeautySpectrum.cxx:716
 AliHFEBeautySpectrum.cxx:717
 AliHFEBeautySpectrum.cxx:718
 AliHFEBeautySpectrum.cxx:719
 AliHFEBeautySpectrum.cxx:720
 AliHFEBeautySpectrum.cxx:721
 AliHFEBeautySpectrum.cxx:722
 AliHFEBeautySpectrum.cxx:723
 AliHFEBeautySpectrum.cxx:724
 AliHFEBeautySpectrum.cxx:725
 AliHFEBeautySpectrum.cxx:726
 AliHFEBeautySpectrum.cxx:727
 AliHFEBeautySpectrum.cxx:728
 AliHFEBeautySpectrum.cxx:729
 AliHFEBeautySpectrum.cxx:730
 AliHFEBeautySpectrum.cxx:731
 AliHFEBeautySpectrum.cxx:732
 AliHFEBeautySpectrum.cxx:733
 AliHFEBeautySpectrum.cxx:734
 AliHFEBeautySpectrum.cxx:735
 AliHFEBeautySpectrum.cxx:736
 AliHFEBeautySpectrum.cxx:737
 AliHFEBeautySpectrum.cxx:738
 AliHFEBeautySpectrum.cxx:739
 AliHFEBeautySpectrum.cxx:740
 AliHFEBeautySpectrum.cxx:741
 AliHFEBeautySpectrum.cxx:742
 AliHFEBeautySpectrum.cxx:743
 AliHFEBeautySpectrum.cxx:744
 AliHFEBeautySpectrum.cxx:745
 AliHFEBeautySpectrum.cxx:746
 AliHFEBeautySpectrum.cxx:747
 AliHFEBeautySpectrum.cxx:748
 AliHFEBeautySpectrum.cxx:749
 AliHFEBeautySpectrum.cxx:750
 AliHFEBeautySpectrum.cxx:751
 AliHFEBeautySpectrum.cxx:752
 AliHFEBeautySpectrum.cxx:753
 AliHFEBeautySpectrum.cxx:754
 AliHFEBeautySpectrum.cxx:755
 AliHFEBeautySpectrum.cxx:756
 AliHFEBeautySpectrum.cxx:757
 AliHFEBeautySpectrum.cxx:758
 AliHFEBeautySpectrum.cxx:759
 AliHFEBeautySpectrum.cxx:760
 AliHFEBeautySpectrum.cxx:761
 AliHFEBeautySpectrum.cxx:762
 AliHFEBeautySpectrum.cxx:763
 AliHFEBeautySpectrum.cxx:764
 AliHFEBeautySpectrum.cxx:765
 AliHFEBeautySpectrum.cxx:766
 AliHFEBeautySpectrum.cxx:767
 AliHFEBeautySpectrum.cxx:768
 AliHFEBeautySpectrum.cxx:769
 AliHFEBeautySpectrum.cxx:770
 AliHFEBeautySpectrum.cxx:771
 AliHFEBeautySpectrum.cxx:772
 AliHFEBeautySpectrum.cxx:773
 AliHFEBeautySpectrum.cxx:774
 AliHFEBeautySpectrum.cxx:775
 AliHFEBeautySpectrum.cxx:776
 AliHFEBeautySpectrum.cxx:777
 AliHFEBeautySpectrum.cxx:778
 AliHFEBeautySpectrum.cxx:779
 AliHFEBeautySpectrum.cxx:780
 AliHFEBeautySpectrum.cxx:781
 AliHFEBeautySpectrum.cxx:782
 AliHFEBeautySpectrum.cxx:783
 AliHFEBeautySpectrum.cxx:784
 AliHFEBeautySpectrum.cxx:785
 AliHFEBeautySpectrum.cxx:786
 AliHFEBeautySpectrum.cxx:787
 AliHFEBeautySpectrum.cxx:788
 AliHFEBeautySpectrum.cxx:789
 AliHFEBeautySpectrum.cxx:790
 AliHFEBeautySpectrum.cxx:791
 AliHFEBeautySpectrum.cxx:792
 AliHFEBeautySpectrum.cxx:793
 AliHFEBeautySpectrum.cxx:794
 AliHFEBeautySpectrum.cxx:795
 AliHFEBeautySpectrum.cxx:796
 AliHFEBeautySpectrum.cxx:797
 AliHFEBeautySpectrum.cxx:798
 AliHFEBeautySpectrum.cxx:799
 AliHFEBeautySpectrum.cxx:800
 AliHFEBeautySpectrum.cxx:801
 AliHFEBeautySpectrum.cxx:802
 AliHFEBeautySpectrum.cxx:803
 AliHFEBeautySpectrum.cxx:804
 AliHFEBeautySpectrum.cxx:805
 AliHFEBeautySpectrum.cxx:806
 AliHFEBeautySpectrum.cxx:807
 AliHFEBeautySpectrum.cxx:808
 AliHFEBeautySpectrum.cxx:809
 AliHFEBeautySpectrum.cxx:810
 AliHFEBeautySpectrum.cxx:811
 AliHFEBeautySpectrum.cxx:812
 AliHFEBeautySpectrum.cxx:813
 AliHFEBeautySpectrum.cxx:814
 AliHFEBeautySpectrum.cxx:815
 AliHFEBeautySpectrum.cxx:816
 AliHFEBeautySpectrum.cxx:817
 AliHFEBeautySpectrum.cxx:818
 AliHFEBeautySpectrum.cxx:819
 AliHFEBeautySpectrum.cxx:820
 AliHFEBeautySpectrum.cxx:821
 AliHFEBeautySpectrum.cxx:822
 AliHFEBeautySpectrum.cxx:823
 AliHFEBeautySpectrum.cxx:824
 AliHFEBeautySpectrum.cxx:825
 AliHFEBeautySpectrum.cxx:826
 AliHFEBeautySpectrum.cxx:827
 AliHFEBeautySpectrum.cxx:828
 AliHFEBeautySpectrum.cxx:829
 AliHFEBeautySpectrum.cxx:830
 AliHFEBeautySpectrum.cxx:831
 AliHFEBeautySpectrum.cxx:832
 AliHFEBeautySpectrum.cxx:833
 AliHFEBeautySpectrum.cxx:834
 AliHFEBeautySpectrum.cxx:835
 AliHFEBeautySpectrum.cxx:836
 AliHFEBeautySpectrum.cxx:837
 AliHFEBeautySpectrum.cxx:838
 AliHFEBeautySpectrum.cxx:839
 AliHFEBeautySpectrum.cxx:840
 AliHFEBeautySpectrum.cxx:841
 AliHFEBeautySpectrum.cxx:842
 AliHFEBeautySpectrum.cxx:843
 AliHFEBeautySpectrum.cxx:844
 AliHFEBeautySpectrum.cxx:845
 AliHFEBeautySpectrum.cxx:846
 AliHFEBeautySpectrum.cxx:847
 AliHFEBeautySpectrum.cxx:848
 AliHFEBeautySpectrum.cxx:849
 AliHFEBeautySpectrum.cxx:850
 AliHFEBeautySpectrum.cxx:851
 AliHFEBeautySpectrum.cxx:852
 AliHFEBeautySpectrum.cxx:853
 AliHFEBeautySpectrum.cxx:854
 AliHFEBeautySpectrum.cxx:855
 AliHFEBeautySpectrum.cxx:856
 AliHFEBeautySpectrum.cxx:857
 AliHFEBeautySpectrum.cxx:858
 AliHFEBeautySpectrum.cxx:859
 AliHFEBeautySpectrum.cxx:860
 AliHFEBeautySpectrum.cxx:861
 AliHFEBeautySpectrum.cxx:862
 AliHFEBeautySpectrum.cxx:863
 AliHFEBeautySpectrum.cxx:864
 AliHFEBeautySpectrum.cxx:865
 AliHFEBeautySpectrum.cxx:866
 AliHFEBeautySpectrum.cxx:867
 AliHFEBeautySpectrum.cxx:868
 AliHFEBeautySpectrum.cxx:869
 AliHFEBeautySpectrum.cxx:870
 AliHFEBeautySpectrum.cxx:871
 AliHFEBeautySpectrum.cxx:872
 AliHFEBeautySpectrum.cxx:873
 AliHFEBeautySpectrum.cxx:874
 AliHFEBeautySpectrum.cxx:875
 AliHFEBeautySpectrum.cxx:876
 AliHFEBeautySpectrum.cxx:877
 AliHFEBeautySpectrum.cxx:878
 AliHFEBeautySpectrum.cxx:879
 AliHFEBeautySpectrum.cxx:880
 AliHFEBeautySpectrum.cxx:881
 AliHFEBeautySpectrum.cxx:882
 AliHFEBeautySpectrum.cxx:883
 AliHFEBeautySpectrum.cxx:884
 AliHFEBeautySpectrum.cxx:885
 AliHFEBeautySpectrum.cxx:886
 AliHFEBeautySpectrum.cxx:887
 AliHFEBeautySpectrum.cxx:888
 AliHFEBeautySpectrum.cxx:889
 AliHFEBeautySpectrum.cxx:890
 AliHFEBeautySpectrum.cxx:891
 AliHFEBeautySpectrum.cxx:892
 AliHFEBeautySpectrum.cxx:893
 AliHFEBeautySpectrum.cxx:894
 AliHFEBeautySpectrum.cxx:895
 AliHFEBeautySpectrum.cxx:896
 AliHFEBeautySpectrum.cxx:897
 AliHFEBeautySpectrum.cxx:898
 AliHFEBeautySpectrum.cxx:899
 AliHFEBeautySpectrum.cxx:900
 AliHFEBeautySpectrum.cxx:901
 AliHFEBeautySpectrum.cxx:902
 AliHFEBeautySpectrum.cxx:903
 AliHFEBeautySpectrum.cxx:904
 AliHFEBeautySpectrum.cxx:905
 AliHFEBeautySpectrum.cxx:906
 AliHFEBeautySpectrum.cxx:907
 AliHFEBeautySpectrum.cxx:908
 AliHFEBeautySpectrum.cxx:909
 AliHFEBeautySpectrum.cxx:910
 AliHFEBeautySpectrum.cxx:911
 AliHFEBeautySpectrum.cxx:912
 AliHFEBeautySpectrum.cxx:913
 AliHFEBeautySpectrum.cxx:914
 AliHFEBeautySpectrum.cxx:915
 AliHFEBeautySpectrum.cxx:916
 AliHFEBeautySpectrum.cxx:917
 AliHFEBeautySpectrum.cxx:918
 AliHFEBeautySpectrum.cxx:919
 AliHFEBeautySpectrum.cxx:920
 AliHFEBeautySpectrum.cxx:921
 AliHFEBeautySpectrum.cxx:922
 AliHFEBeautySpectrum.cxx:923
 AliHFEBeautySpectrum.cxx:924
 AliHFEBeautySpectrum.cxx:925
 AliHFEBeautySpectrum.cxx:926
 AliHFEBeautySpectrum.cxx:927
 AliHFEBeautySpectrum.cxx:928
 AliHFEBeautySpectrum.cxx:929
 AliHFEBeautySpectrum.cxx:930
 AliHFEBeautySpectrum.cxx:931
 AliHFEBeautySpectrum.cxx:932
 AliHFEBeautySpectrum.cxx:933
 AliHFEBeautySpectrum.cxx:934
 AliHFEBeautySpectrum.cxx:935
 AliHFEBeautySpectrum.cxx:936
 AliHFEBeautySpectrum.cxx:937
 AliHFEBeautySpectrum.cxx:938
 AliHFEBeautySpectrum.cxx:939
 AliHFEBeautySpectrum.cxx:940
 AliHFEBeautySpectrum.cxx:941
 AliHFEBeautySpectrum.cxx:942
 AliHFEBeautySpectrum.cxx:943
 AliHFEBeautySpectrum.cxx:944
 AliHFEBeautySpectrum.cxx:945
 AliHFEBeautySpectrum.cxx:946
 AliHFEBeautySpectrum.cxx:947
 AliHFEBeautySpectrum.cxx:948
 AliHFEBeautySpectrum.cxx:949
 AliHFEBeautySpectrum.cxx:950
 AliHFEBeautySpectrum.cxx:951
 AliHFEBeautySpectrum.cxx:952
 AliHFEBeautySpectrum.cxx:953
 AliHFEBeautySpectrum.cxx:954
 AliHFEBeautySpectrum.cxx:955
 AliHFEBeautySpectrum.cxx:956
 AliHFEBeautySpectrum.cxx:957
 AliHFEBeautySpectrum.cxx:958
 AliHFEBeautySpectrum.cxx:959
 AliHFEBeautySpectrum.cxx:960
 AliHFEBeautySpectrum.cxx:961
 AliHFEBeautySpectrum.cxx:962
 AliHFEBeautySpectrum.cxx:963
 AliHFEBeautySpectrum.cxx:964
 AliHFEBeautySpectrum.cxx:965
 AliHFEBeautySpectrum.cxx:966
 AliHFEBeautySpectrum.cxx:967
 AliHFEBeautySpectrum.cxx:968
 AliHFEBeautySpectrum.cxx:969
 AliHFEBeautySpectrum.cxx:970
 AliHFEBeautySpectrum.cxx:971
 AliHFEBeautySpectrum.cxx:972
 AliHFEBeautySpectrum.cxx:973
 AliHFEBeautySpectrum.cxx:974
 AliHFEBeautySpectrum.cxx:975
 AliHFEBeautySpectrum.cxx:976
 AliHFEBeautySpectrum.cxx:977
 AliHFEBeautySpectrum.cxx:978
 AliHFEBeautySpectrum.cxx:979
 AliHFEBeautySpectrum.cxx:980
 AliHFEBeautySpectrum.cxx:981
 AliHFEBeautySpectrum.cxx:982
 AliHFEBeautySpectrum.cxx:983
 AliHFEBeautySpectrum.cxx:984
 AliHFEBeautySpectrum.cxx:985
 AliHFEBeautySpectrum.cxx:986
 AliHFEBeautySpectrum.cxx:987
 AliHFEBeautySpectrum.cxx:988
 AliHFEBeautySpectrum.cxx:989
 AliHFEBeautySpectrum.cxx:990
 AliHFEBeautySpectrum.cxx:991
 AliHFEBeautySpectrum.cxx:992
 AliHFEBeautySpectrum.cxx:993
 AliHFEBeautySpectrum.cxx:994
 AliHFEBeautySpectrum.cxx:995
 AliHFEBeautySpectrum.cxx:996
 AliHFEBeautySpectrum.cxx:997
 AliHFEBeautySpectrum.cxx:998
 AliHFEBeautySpectrum.cxx:999
 AliHFEBeautySpectrum.cxx:1000
 AliHFEBeautySpectrum.cxx:1001
 AliHFEBeautySpectrum.cxx:1002
 AliHFEBeautySpectrum.cxx:1003
 AliHFEBeautySpectrum.cxx:1004
 AliHFEBeautySpectrum.cxx:1005
 AliHFEBeautySpectrum.cxx:1006
 AliHFEBeautySpectrum.cxx:1007
 AliHFEBeautySpectrum.cxx:1008
 AliHFEBeautySpectrum.cxx:1009
 AliHFEBeautySpectrum.cxx:1010
 AliHFEBeautySpectrum.cxx:1011
 AliHFEBeautySpectrum.cxx:1012
 AliHFEBeautySpectrum.cxx:1013
 AliHFEBeautySpectrum.cxx:1014
 AliHFEBeautySpectrum.cxx:1015
 AliHFEBeautySpectrum.cxx:1016
 AliHFEBeautySpectrum.cxx:1017
 AliHFEBeautySpectrum.cxx:1018
 AliHFEBeautySpectrum.cxx:1019
 AliHFEBeautySpectrum.cxx:1020
 AliHFEBeautySpectrum.cxx:1021
 AliHFEBeautySpectrum.cxx:1022
 AliHFEBeautySpectrum.cxx:1023
 AliHFEBeautySpectrum.cxx:1024
 AliHFEBeautySpectrum.cxx:1025
 AliHFEBeautySpectrum.cxx:1026
 AliHFEBeautySpectrum.cxx:1027
 AliHFEBeautySpectrum.cxx:1028
 AliHFEBeautySpectrum.cxx:1029
 AliHFEBeautySpectrum.cxx:1030
 AliHFEBeautySpectrum.cxx:1031
 AliHFEBeautySpectrum.cxx:1032
 AliHFEBeautySpectrum.cxx:1033
 AliHFEBeautySpectrum.cxx:1034
 AliHFEBeautySpectrum.cxx:1035
 AliHFEBeautySpectrum.cxx:1036
 AliHFEBeautySpectrum.cxx:1037
 AliHFEBeautySpectrum.cxx:1038
 AliHFEBeautySpectrum.cxx:1039
 AliHFEBeautySpectrum.cxx:1040
 AliHFEBeautySpectrum.cxx:1041
 AliHFEBeautySpectrum.cxx:1042
 AliHFEBeautySpectrum.cxx:1043
 AliHFEBeautySpectrum.cxx:1044
 AliHFEBeautySpectrum.cxx:1045
 AliHFEBeautySpectrum.cxx:1046
 AliHFEBeautySpectrum.cxx:1047
 AliHFEBeautySpectrum.cxx:1048
 AliHFEBeautySpectrum.cxx:1049
 AliHFEBeautySpectrum.cxx:1050
 AliHFEBeautySpectrum.cxx:1051
 AliHFEBeautySpectrum.cxx:1052
 AliHFEBeautySpectrum.cxx:1053
 AliHFEBeautySpectrum.cxx:1054
 AliHFEBeautySpectrum.cxx:1055
 AliHFEBeautySpectrum.cxx:1056
 AliHFEBeautySpectrum.cxx:1057
 AliHFEBeautySpectrum.cxx:1058
 AliHFEBeautySpectrum.cxx:1059
 AliHFEBeautySpectrum.cxx:1060
 AliHFEBeautySpectrum.cxx:1061
 AliHFEBeautySpectrum.cxx:1062
 AliHFEBeautySpectrum.cxx:1063
 AliHFEBeautySpectrum.cxx:1064
 AliHFEBeautySpectrum.cxx:1065
 AliHFEBeautySpectrum.cxx:1066
 AliHFEBeautySpectrum.cxx:1067
 AliHFEBeautySpectrum.cxx:1068
 AliHFEBeautySpectrum.cxx:1069
 AliHFEBeautySpectrum.cxx:1070
 AliHFEBeautySpectrum.cxx:1071
 AliHFEBeautySpectrum.cxx:1072
 AliHFEBeautySpectrum.cxx:1073
 AliHFEBeautySpectrum.cxx:1074
 AliHFEBeautySpectrum.cxx:1075
 AliHFEBeautySpectrum.cxx:1076
 AliHFEBeautySpectrum.cxx:1077
 AliHFEBeautySpectrum.cxx:1078
 AliHFEBeautySpectrum.cxx:1079
 AliHFEBeautySpectrum.cxx:1080
 AliHFEBeautySpectrum.cxx:1081
 AliHFEBeautySpectrum.cxx:1082
 AliHFEBeautySpectrum.cxx:1083
 AliHFEBeautySpectrum.cxx:1084
 AliHFEBeautySpectrum.cxx:1085
 AliHFEBeautySpectrum.cxx:1086
 AliHFEBeautySpectrum.cxx:1087
 AliHFEBeautySpectrum.cxx:1088
 AliHFEBeautySpectrum.cxx:1089
 AliHFEBeautySpectrum.cxx:1090
 AliHFEBeautySpectrum.cxx:1091
 AliHFEBeautySpectrum.cxx:1092
 AliHFEBeautySpectrum.cxx:1093
 AliHFEBeautySpectrum.cxx:1094
 AliHFEBeautySpectrum.cxx:1095
 AliHFEBeautySpectrum.cxx:1096
 AliHFEBeautySpectrum.cxx:1097
 AliHFEBeautySpectrum.cxx:1098
 AliHFEBeautySpectrum.cxx:1099
 AliHFEBeautySpectrum.cxx:1100
 AliHFEBeautySpectrum.cxx:1101
 AliHFEBeautySpectrum.cxx:1102
 AliHFEBeautySpectrum.cxx:1103
 AliHFEBeautySpectrum.cxx:1104
 AliHFEBeautySpectrum.cxx:1105
 AliHFEBeautySpectrum.cxx:1106
 AliHFEBeautySpectrum.cxx:1107
 AliHFEBeautySpectrum.cxx:1108
 AliHFEBeautySpectrum.cxx:1109
 AliHFEBeautySpectrum.cxx:1110
 AliHFEBeautySpectrum.cxx:1111
 AliHFEBeautySpectrum.cxx:1112
 AliHFEBeautySpectrum.cxx:1113
 AliHFEBeautySpectrum.cxx:1114
 AliHFEBeautySpectrum.cxx:1115
 AliHFEBeautySpectrum.cxx:1116
 AliHFEBeautySpectrum.cxx:1117
 AliHFEBeautySpectrum.cxx:1118
 AliHFEBeautySpectrum.cxx:1119
 AliHFEBeautySpectrum.cxx:1120
 AliHFEBeautySpectrum.cxx:1121
 AliHFEBeautySpectrum.cxx:1122
 AliHFEBeautySpectrum.cxx:1123
 AliHFEBeautySpectrum.cxx:1124
 AliHFEBeautySpectrum.cxx:1125
 AliHFEBeautySpectrum.cxx:1126
 AliHFEBeautySpectrum.cxx:1127
 AliHFEBeautySpectrum.cxx:1128
 AliHFEBeautySpectrum.cxx:1129
 AliHFEBeautySpectrum.cxx:1130
 AliHFEBeautySpectrum.cxx:1131
 AliHFEBeautySpectrum.cxx:1132
 AliHFEBeautySpectrum.cxx:1133
 AliHFEBeautySpectrum.cxx:1134
 AliHFEBeautySpectrum.cxx:1135
 AliHFEBeautySpectrum.cxx:1136
 AliHFEBeautySpectrum.cxx:1137
 AliHFEBeautySpectrum.cxx:1138
 AliHFEBeautySpectrum.cxx:1139
 AliHFEBeautySpectrum.cxx:1140
 AliHFEBeautySpectrum.cxx:1141
 AliHFEBeautySpectrum.cxx:1142
 AliHFEBeautySpectrum.cxx:1143
 AliHFEBeautySpectrum.cxx:1144
 AliHFEBeautySpectrum.cxx:1145
 AliHFEBeautySpectrum.cxx:1146
 AliHFEBeautySpectrum.cxx:1147
 AliHFEBeautySpectrum.cxx:1148
 AliHFEBeautySpectrum.cxx:1149
 AliHFEBeautySpectrum.cxx:1150
 AliHFEBeautySpectrum.cxx:1151
 AliHFEBeautySpectrum.cxx:1152
 AliHFEBeautySpectrum.cxx:1153
 AliHFEBeautySpectrum.cxx:1154
 AliHFEBeautySpectrum.cxx:1155
 AliHFEBeautySpectrum.cxx:1156
 AliHFEBeautySpectrum.cxx:1157
 AliHFEBeautySpectrum.cxx:1158
 AliHFEBeautySpectrum.cxx:1159
 AliHFEBeautySpectrum.cxx:1160
 AliHFEBeautySpectrum.cxx:1161
 AliHFEBeautySpectrum.cxx:1162
 AliHFEBeautySpectrum.cxx:1163
 AliHFEBeautySpectrum.cxx:1164
 AliHFEBeautySpectrum.cxx:1165
 AliHFEBeautySpectrum.cxx:1166
 AliHFEBeautySpectrum.cxx:1167
 AliHFEBeautySpectrum.cxx:1168
 AliHFEBeautySpectrum.cxx:1169
 AliHFEBeautySpectrum.cxx:1170
 AliHFEBeautySpectrum.cxx:1171
 AliHFEBeautySpectrum.cxx:1172
 AliHFEBeautySpectrum.cxx:1173
 AliHFEBeautySpectrum.cxx:1174
 AliHFEBeautySpectrum.cxx:1175
 AliHFEBeautySpectrum.cxx:1176
 AliHFEBeautySpectrum.cxx:1177
 AliHFEBeautySpectrum.cxx:1178
 AliHFEBeautySpectrum.cxx:1179
 AliHFEBeautySpectrum.cxx:1180
 AliHFEBeautySpectrum.cxx:1181
 AliHFEBeautySpectrum.cxx:1182
 AliHFEBeautySpectrum.cxx:1183
 AliHFEBeautySpectrum.cxx:1184
 AliHFEBeautySpectrum.cxx:1185
 AliHFEBeautySpectrum.cxx:1186
 AliHFEBeautySpectrum.cxx:1187
 AliHFEBeautySpectrum.cxx:1188
 AliHFEBeautySpectrum.cxx:1189
 AliHFEBeautySpectrum.cxx:1190
 AliHFEBeautySpectrum.cxx:1191
 AliHFEBeautySpectrum.cxx:1192
 AliHFEBeautySpectrum.cxx:1193
 AliHFEBeautySpectrum.cxx:1194
 AliHFEBeautySpectrum.cxx:1195
 AliHFEBeautySpectrum.cxx:1196
 AliHFEBeautySpectrum.cxx:1197
 AliHFEBeautySpectrum.cxx:1198
 AliHFEBeautySpectrum.cxx:1199
 AliHFEBeautySpectrum.cxx:1200
 AliHFEBeautySpectrum.cxx:1201
 AliHFEBeautySpectrum.cxx:1202
 AliHFEBeautySpectrum.cxx:1203
 AliHFEBeautySpectrum.cxx:1204
 AliHFEBeautySpectrum.cxx:1205
 AliHFEBeautySpectrum.cxx:1206
 AliHFEBeautySpectrum.cxx:1207
 AliHFEBeautySpectrum.cxx:1208
 AliHFEBeautySpectrum.cxx:1209
 AliHFEBeautySpectrum.cxx:1210
 AliHFEBeautySpectrum.cxx:1211
 AliHFEBeautySpectrum.cxx:1212
 AliHFEBeautySpectrum.cxx:1213
 AliHFEBeautySpectrum.cxx:1214
 AliHFEBeautySpectrum.cxx:1215
 AliHFEBeautySpectrum.cxx:1216
 AliHFEBeautySpectrum.cxx:1217
 AliHFEBeautySpectrum.cxx:1218
 AliHFEBeautySpectrum.cxx:1219
 AliHFEBeautySpectrum.cxx:1220
 AliHFEBeautySpectrum.cxx:1221
 AliHFEBeautySpectrum.cxx:1222
 AliHFEBeautySpectrum.cxx:1223
 AliHFEBeautySpectrum.cxx:1224
 AliHFEBeautySpectrum.cxx:1225
 AliHFEBeautySpectrum.cxx:1226
 AliHFEBeautySpectrum.cxx:1227
 AliHFEBeautySpectrum.cxx:1228
 AliHFEBeautySpectrum.cxx:1229
 AliHFEBeautySpectrum.cxx:1230
 AliHFEBeautySpectrum.cxx:1231
 AliHFEBeautySpectrum.cxx:1232
 AliHFEBeautySpectrum.cxx:1233
 AliHFEBeautySpectrum.cxx:1234
 AliHFEBeautySpectrum.cxx:1235
 AliHFEBeautySpectrum.cxx:1236
 AliHFEBeautySpectrum.cxx:1237
 AliHFEBeautySpectrum.cxx:1238
 AliHFEBeautySpectrum.cxx:1239
 AliHFEBeautySpectrum.cxx:1240
 AliHFEBeautySpectrum.cxx:1241
 AliHFEBeautySpectrum.cxx:1242
 AliHFEBeautySpectrum.cxx:1243
 AliHFEBeautySpectrum.cxx:1244
 AliHFEBeautySpectrum.cxx:1245
 AliHFEBeautySpectrum.cxx:1246
 AliHFEBeautySpectrum.cxx:1247
 AliHFEBeautySpectrum.cxx:1248
 AliHFEBeautySpectrum.cxx:1249
 AliHFEBeautySpectrum.cxx:1250
 AliHFEBeautySpectrum.cxx:1251
 AliHFEBeautySpectrum.cxx:1252
 AliHFEBeautySpectrum.cxx:1253
 AliHFEBeautySpectrum.cxx:1254
 AliHFEBeautySpectrum.cxx:1255
 AliHFEBeautySpectrum.cxx:1256
 AliHFEBeautySpectrum.cxx:1257
 AliHFEBeautySpectrum.cxx:1258
 AliHFEBeautySpectrum.cxx:1259
 AliHFEBeautySpectrum.cxx:1260
 AliHFEBeautySpectrum.cxx:1261
 AliHFEBeautySpectrum.cxx:1262
 AliHFEBeautySpectrum.cxx:1263
 AliHFEBeautySpectrum.cxx:1264
 AliHFEBeautySpectrum.cxx:1265
 AliHFEBeautySpectrum.cxx:1266
 AliHFEBeautySpectrum.cxx:1267
 AliHFEBeautySpectrum.cxx:1268
 AliHFEBeautySpectrum.cxx:1269
 AliHFEBeautySpectrum.cxx:1270
 AliHFEBeautySpectrum.cxx:1271
 AliHFEBeautySpectrum.cxx:1272
 AliHFEBeautySpectrum.cxx:1273
 AliHFEBeautySpectrum.cxx:1274
 AliHFEBeautySpectrum.cxx:1275
 AliHFEBeautySpectrum.cxx:1276
 AliHFEBeautySpectrum.cxx:1277
 AliHFEBeautySpectrum.cxx:1278
 AliHFEBeautySpectrum.cxx:1279
 AliHFEBeautySpectrum.cxx:1280
 AliHFEBeautySpectrum.cxx:1281
 AliHFEBeautySpectrum.cxx:1282
 AliHFEBeautySpectrum.cxx:1283
 AliHFEBeautySpectrum.cxx:1284
 AliHFEBeautySpectrum.cxx:1285
 AliHFEBeautySpectrum.cxx:1286
 AliHFEBeautySpectrum.cxx:1287
 AliHFEBeautySpectrum.cxx:1288
 AliHFEBeautySpectrum.cxx:1289
 AliHFEBeautySpectrum.cxx:1290
 AliHFEBeautySpectrum.cxx:1291
 AliHFEBeautySpectrum.cxx:1292
 AliHFEBeautySpectrum.cxx:1293
 AliHFEBeautySpectrum.cxx:1294
 AliHFEBeautySpectrum.cxx:1295
 AliHFEBeautySpectrum.cxx:1296
 AliHFEBeautySpectrum.cxx:1297
 AliHFEBeautySpectrum.cxx:1298
 AliHFEBeautySpectrum.cxx:1299
 AliHFEBeautySpectrum.cxx:1300
 AliHFEBeautySpectrum.cxx:1301
 AliHFEBeautySpectrum.cxx:1302
 AliHFEBeautySpectrum.cxx:1303
 AliHFEBeautySpectrum.cxx:1304
 AliHFEBeautySpectrum.cxx:1305
 AliHFEBeautySpectrum.cxx:1306
 AliHFEBeautySpectrum.cxx:1307
 AliHFEBeautySpectrum.cxx:1308
 AliHFEBeautySpectrum.cxx:1309
 AliHFEBeautySpectrum.cxx:1310
 AliHFEBeautySpectrum.cxx:1311
 AliHFEBeautySpectrum.cxx:1312
 AliHFEBeautySpectrum.cxx:1313
 AliHFEBeautySpectrum.cxx:1314
 AliHFEBeautySpectrum.cxx:1315
 AliHFEBeautySpectrum.cxx:1316
 AliHFEBeautySpectrum.cxx:1317
 AliHFEBeautySpectrum.cxx:1318
 AliHFEBeautySpectrum.cxx:1319
 AliHFEBeautySpectrum.cxx:1320
 AliHFEBeautySpectrum.cxx:1321
 AliHFEBeautySpectrum.cxx:1322
 AliHFEBeautySpectrum.cxx:1323
 AliHFEBeautySpectrum.cxx:1324
 AliHFEBeautySpectrum.cxx:1325
 AliHFEBeautySpectrum.cxx:1326
 AliHFEBeautySpectrum.cxx:1327
 AliHFEBeautySpectrum.cxx:1328
 AliHFEBeautySpectrum.cxx:1329
 AliHFEBeautySpectrum.cxx:1330
 AliHFEBeautySpectrum.cxx:1331
 AliHFEBeautySpectrum.cxx:1332
 AliHFEBeautySpectrum.cxx:1333
 AliHFEBeautySpectrum.cxx:1334
 AliHFEBeautySpectrum.cxx:1335
 AliHFEBeautySpectrum.cxx:1336
 AliHFEBeautySpectrum.cxx:1337
 AliHFEBeautySpectrum.cxx:1338
 AliHFEBeautySpectrum.cxx:1339
 AliHFEBeautySpectrum.cxx:1340
 AliHFEBeautySpectrum.cxx:1341
 AliHFEBeautySpectrum.cxx:1342
 AliHFEBeautySpectrum.cxx:1343
 AliHFEBeautySpectrum.cxx:1344
 AliHFEBeautySpectrum.cxx:1345
 AliHFEBeautySpectrum.cxx:1346
 AliHFEBeautySpectrum.cxx:1347
 AliHFEBeautySpectrum.cxx:1348
 AliHFEBeautySpectrum.cxx:1349
 AliHFEBeautySpectrum.cxx:1350
 AliHFEBeautySpectrum.cxx:1351
 AliHFEBeautySpectrum.cxx:1352
 AliHFEBeautySpectrum.cxx:1353
 AliHFEBeautySpectrum.cxx:1354
 AliHFEBeautySpectrum.cxx:1355
 AliHFEBeautySpectrum.cxx:1356
 AliHFEBeautySpectrum.cxx:1357
 AliHFEBeautySpectrum.cxx:1358
 AliHFEBeautySpectrum.cxx:1359
 AliHFEBeautySpectrum.cxx:1360
 AliHFEBeautySpectrum.cxx:1361
 AliHFEBeautySpectrum.cxx:1362
 AliHFEBeautySpectrum.cxx:1363
 AliHFEBeautySpectrum.cxx:1364
 AliHFEBeautySpectrum.cxx:1365
 AliHFEBeautySpectrum.cxx:1366
 AliHFEBeautySpectrum.cxx:1367
 AliHFEBeautySpectrum.cxx:1368
 AliHFEBeautySpectrum.cxx:1369
 AliHFEBeautySpectrum.cxx:1370
 AliHFEBeautySpectrum.cxx:1371
 AliHFEBeautySpectrum.cxx:1372
 AliHFEBeautySpectrum.cxx:1373
 AliHFEBeautySpectrum.cxx:1374
 AliHFEBeautySpectrum.cxx:1375
 AliHFEBeautySpectrum.cxx:1376
 AliHFEBeautySpectrum.cxx:1377
 AliHFEBeautySpectrum.cxx:1378
 AliHFEBeautySpectrum.cxx:1379
 AliHFEBeautySpectrum.cxx:1380
 AliHFEBeautySpectrum.cxx:1381
 AliHFEBeautySpectrum.cxx:1382
 AliHFEBeautySpectrum.cxx:1383
 AliHFEBeautySpectrum.cxx:1384
 AliHFEBeautySpectrum.cxx:1385
 AliHFEBeautySpectrum.cxx:1386
 AliHFEBeautySpectrum.cxx:1387
 AliHFEBeautySpectrum.cxx:1388
 AliHFEBeautySpectrum.cxx:1389
 AliHFEBeautySpectrum.cxx:1390
 AliHFEBeautySpectrum.cxx:1391
 AliHFEBeautySpectrum.cxx:1392
 AliHFEBeautySpectrum.cxx:1393
 AliHFEBeautySpectrum.cxx:1394
 AliHFEBeautySpectrum.cxx:1395
 AliHFEBeautySpectrum.cxx:1396
 AliHFEBeautySpectrum.cxx:1397
 AliHFEBeautySpectrum.cxx:1398
 AliHFEBeautySpectrum.cxx:1399
 AliHFEBeautySpectrum.cxx:1400
 AliHFEBeautySpectrum.cxx:1401
 AliHFEBeautySpectrum.cxx:1402
 AliHFEBeautySpectrum.cxx:1403
 AliHFEBeautySpectrum.cxx:1404
 AliHFEBeautySpectrum.cxx:1405
 AliHFEBeautySpectrum.cxx:1406
 AliHFEBeautySpectrum.cxx:1407
 AliHFEBeautySpectrum.cxx:1408
 AliHFEBeautySpectrum.cxx:1409
 AliHFEBeautySpectrum.cxx:1410
 AliHFEBeautySpectrum.cxx:1411
 AliHFEBeautySpectrum.cxx:1412
 AliHFEBeautySpectrum.cxx:1413
 AliHFEBeautySpectrum.cxx:1414
 AliHFEBeautySpectrum.cxx:1415
 AliHFEBeautySpectrum.cxx:1416
 AliHFEBeautySpectrum.cxx:1417
 AliHFEBeautySpectrum.cxx:1418
 AliHFEBeautySpectrum.cxx:1419
 AliHFEBeautySpectrum.cxx:1420
 AliHFEBeautySpectrum.cxx:1421
 AliHFEBeautySpectrum.cxx:1422
 AliHFEBeautySpectrum.cxx:1423
 AliHFEBeautySpectrum.cxx:1424
 AliHFEBeautySpectrum.cxx:1425
 AliHFEBeautySpectrum.cxx:1426
 AliHFEBeautySpectrum.cxx:1427
 AliHFEBeautySpectrum.cxx:1428
 AliHFEBeautySpectrum.cxx:1429
 AliHFEBeautySpectrum.cxx:1430
 AliHFEBeautySpectrum.cxx:1431
 AliHFEBeautySpectrum.cxx:1432
 AliHFEBeautySpectrum.cxx:1433
 AliHFEBeautySpectrum.cxx:1434
 AliHFEBeautySpectrum.cxx:1435
 AliHFEBeautySpectrum.cxx:1436
 AliHFEBeautySpectrum.cxx:1437
 AliHFEBeautySpectrum.cxx:1438
 AliHFEBeautySpectrum.cxx:1439
 AliHFEBeautySpectrum.cxx:1440
 AliHFEBeautySpectrum.cxx:1441
 AliHFEBeautySpectrum.cxx:1442
 AliHFEBeautySpectrum.cxx:1443
 AliHFEBeautySpectrum.cxx:1444
 AliHFEBeautySpectrum.cxx:1445
 AliHFEBeautySpectrum.cxx:1446
 AliHFEBeautySpectrum.cxx:1447
 AliHFEBeautySpectrum.cxx:1448
 AliHFEBeautySpectrum.cxx:1449
 AliHFEBeautySpectrum.cxx:1450
 AliHFEBeautySpectrum.cxx:1451
 AliHFEBeautySpectrum.cxx:1452
 AliHFEBeautySpectrum.cxx:1453
 AliHFEBeautySpectrum.cxx:1454
 AliHFEBeautySpectrum.cxx:1455
 AliHFEBeautySpectrum.cxx:1456
 AliHFEBeautySpectrum.cxx:1457
 AliHFEBeautySpectrum.cxx:1458
 AliHFEBeautySpectrum.cxx:1459
 AliHFEBeautySpectrum.cxx:1460
 AliHFEBeautySpectrum.cxx:1461
 AliHFEBeautySpectrum.cxx:1462
 AliHFEBeautySpectrum.cxx:1463
 AliHFEBeautySpectrum.cxx:1464
 AliHFEBeautySpectrum.cxx:1465
 AliHFEBeautySpectrum.cxx:1466
 AliHFEBeautySpectrum.cxx:1467
 AliHFEBeautySpectrum.cxx:1468
 AliHFEBeautySpectrum.cxx:1469
 AliHFEBeautySpectrum.cxx:1470
 AliHFEBeautySpectrum.cxx:1471
 AliHFEBeautySpectrum.cxx:1472
 AliHFEBeautySpectrum.cxx:1473
 AliHFEBeautySpectrum.cxx:1474
 AliHFEBeautySpectrum.cxx:1475
 AliHFEBeautySpectrum.cxx:1476
 AliHFEBeautySpectrum.cxx:1477
 AliHFEBeautySpectrum.cxx:1478
 AliHFEBeautySpectrum.cxx:1479
 AliHFEBeautySpectrum.cxx:1480
 AliHFEBeautySpectrum.cxx:1481
 AliHFEBeautySpectrum.cxx:1482
 AliHFEBeautySpectrum.cxx:1483
 AliHFEBeautySpectrum.cxx:1484
 AliHFEBeautySpectrum.cxx:1485
 AliHFEBeautySpectrum.cxx:1486
 AliHFEBeautySpectrum.cxx:1487
 AliHFEBeautySpectrum.cxx:1488
 AliHFEBeautySpectrum.cxx:1489
 AliHFEBeautySpectrum.cxx:1490
 AliHFEBeautySpectrum.cxx:1491
 AliHFEBeautySpectrum.cxx:1492
 AliHFEBeautySpectrum.cxx:1493
 AliHFEBeautySpectrum.cxx:1494
 AliHFEBeautySpectrum.cxx:1495
 AliHFEBeautySpectrum.cxx:1496
 AliHFEBeautySpectrum.cxx:1497
 AliHFEBeautySpectrum.cxx:1498
 AliHFEBeautySpectrum.cxx:1499
 AliHFEBeautySpectrum.cxx:1500
 AliHFEBeautySpectrum.cxx:1501
 AliHFEBeautySpectrum.cxx:1502
 AliHFEBeautySpectrum.cxx:1503
 AliHFEBeautySpectrum.cxx:1504
 AliHFEBeautySpectrum.cxx:1505
 AliHFEBeautySpectrum.cxx:1506
 AliHFEBeautySpectrum.cxx:1507
 AliHFEBeautySpectrum.cxx:1508
 AliHFEBeautySpectrum.cxx:1509
 AliHFEBeautySpectrum.cxx:1510
 AliHFEBeautySpectrum.cxx:1511
 AliHFEBeautySpectrum.cxx:1512
 AliHFEBeautySpectrum.cxx:1513
 AliHFEBeautySpectrum.cxx:1514
 AliHFEBeautySpectrum.cxx:1515
 AliHFEBeautySpectrum.cxx:1516
 AliHFEBeautySpectrum.cxx:1517
 AliHFEBeautySpectrum.cxx:1518
 AliHFEBeautySpectrum.cxx:1519
 AliHFEBeautySpectrum.cxx:1520
 AliHFEBeautySpectrum.cxx:1521
 AliHFEBeautySpectrum.cxx:1522
 AliHFEBeautySpectrum.cxx:1523
 AliHFEBeautySpectrum.cxx:1524
 AliHFEBeautySpectrum.cxx:1525
 AliHFEBeautySpectrum.cxx:1526
 AliHFEBeautySpectrum.cxx:1527
 AliHFEBeautySpectrum.cxx:1528
 AliHFEBeautySpectrum.cxx:1529
 AliHFEBeautySpectrum.cxx:1530
 AliHFEBeautySpectrum.cxx:1531
 AliHFEBeautySpectrum.cxx:1532
 AliHFEBeautySpectrum.cxx:1533
 AliHFEBeautySpectrum.cxx:1534
 AliHFEBeautySpectrum.cxx:1535
 AliHFEBeautySpectrum.cxx:1536
 AliHFEBeautySpectrum.cxx:1537
 AliHFEBeautySpectrum.cxx:1538
 AliHFEBeautySpectrum.cxx:1539
 AliHFEBeautySpectrum.cxx:1540
 AliHFEBeautySpectrum.cxx:1541
 AliHFEBeautySpectrum.cxx:1542
 AliHFEBeautySpectrum.cxx:1543
 AliHFEBeautySpectrum.cxx:1544
 AliHFEBeautySpectrum.cxx:1545
 AliHFEBeautySpectrum.cxx:1546
 AliHFEBeautySpectrum.cxx:1547
 AliHFEBeautySpectrum.cxx:1548
 AliHFEBeautySpectrum.cxx:1549
 AliHFEBeautySpectrum.cxx:1550
 AliHFEBeautySpectrum.cxx:1551
 AliHFEBeautySpectrum.cxx:1552
 AliHFEBeautySpectrum.cxx:1553
 AliHFEBeautySpectrum.cxx:1554
 AliHFEBeautySpectrum.cxx:1555
 AliHFEBeautySpectrum.cxx:1556
 AliHFEBeautySpectrum.cxx:1557
 AliHFEBeautySpectrum.cxx:1558
 AliHFEBeautySpectrum.cxx:1559
 AliHFEBeautySpectrum.cxx:1560
 AliHFEBeautySpectrum.cxx:1561
 AliHFEBeautySpectrum.cxx:1562
 AliHFEBeautySpectrum.cxx:1563
 AliHFEBeautySpectrum.cxx:1564
 AliHFEBeautySpectrum.cxx:1565
 AliHFEBeautySpectrum.cxx:1566
 AliHFEBeautySpectrum.cxx:1567
 AliHFEBeautySpectrum.cxx:1568
 AliHFEBeautySpectrum.cxx:1569
 AliHFEBeautySpectrum.cxx:1570
 AliHFEBeautySpectrum.cxx:1571
 AliHFEBeautySpectrum.cxx:1572
 AliHFEBeautySpectrum.cxx:1573
 AliHFEBeautySpectrum.cxx:1574
 AliHFEBeautySpectrum.cxx:1575
 AliHFEBeautySpectrum.cxx:1576
 AliHFEBeautySpectrum.cxx:1577
 AliHFEBeautySpectrum.cxx:1578
 AliHFEBeautySpectrum.cxx:1579
 AliHFEBeautySpectrum.cxx:1580
 AliHFEBeautySpectrum.cxx:1581
 AliHFEBeautySpectrum.cxx:1582
 AliHFEBeautySpectrum.cxx:1583
 AliHFEBeautySpectrum.cxx:1584
 AliHFEBeautySpectrum.cxx:1585
 AliHFEBeautySpectrum.cxx:1586
 AliHFEBeautySpectrum.cxx:1587
 AliHFEBeautySpectrum.cxx:1588
 AliHFEBeautySpectrum.cxx:1589
 AliHFEBeautySpectrum.cxx:1590
 AliHFEBeautySpectrum.cxx:1591
 AliHFEBeautySpectrum.cxx:1592
 AliHFEBeautySpectrum.cxx:1593
 AliHFEBeautySpectrum.cxx:1594
 AliHFEBeautySpectrum.cxx:1595
 AliHFEBeautySpectrum.cxx:1596
 AliHFEBeautySpectrum.cxx:1597
 AliHFEBeautySpectrum.cxx:1598
 AliHFEBeautySpectrum.cxx:1599
 AliHFEBeautySpectrum.cxx:1600
 AliHFEBeautySpectrum.cxx:1601
 AliHFEBeautySpectrum.cxx:1602
 AliHFEBeautySpectrum.cxx:1603
 AliHFEBeautySpectrum.cxx:1604
 AliHFEBeautySpectrum.cxx:1605
 AliHFEBeautySpectrum.cxx:1606
 AliHFEBeautySpectrum.cxx:1607
 AliHFEBeautySpectrum.cxx:1608
 AliHFEBeautySpectrum.cxx:1609
 AliHFEBeautySpectrum.cxx:1610
 AliHFEBeautySpectrum.cxx:1611
 AliHFEBeautySpectrum.cxx:1612
 AliHFEBeautySpectrum.cxx:1613
 AliHFEBeautySpectrum.cxx:1614
 AliHFEBeautySpectrum.cxx:1615
 AliHFEBeautySpectrum.cxx:1616
 AliHFEBeautySpectrum.cxx:1617
 AliHFEBeautySpectrum.cxx:1618
 AliHFEBeautySpectrum.cxx:1619
 AliHFEBeautySpectrum.cxx:1620
 AliHFEBeautySpectrum.cxx:1621
 AliHFEBeautySpectrum.cxx:1622
 AliHFEBeautySpectrum.cxx:1623
 AliHFEBeautySpectrum.cxx:1624
 AliHFEBeautySpectrum.cxx:1625
 AliHFEBeautySpectrum.cxx:1626
 AliHFEBeautySpectrum.cxx:1627
 AliHFEBeautySpectrum.cxx:1628
 AliHFEBeautySpectrum.cxx:1629
 AliHFEBeautySpectrum.cxx:1630
 AliHFEBeautySpectrum.cxx:1631
 AliHFEBeautySpectrum.cxx:1632
 AliHFEBeautySpectrum.cxx:1633
 AliHFEBeautySpectrum.cxx:1634
 AliHFEBeautySpectrum.cxx:1635
 AliHFEBeautySpectrum.cxx:1636
 AliHFEBeautySpectrum.cxx:1637
 AliHFEBeautySpectrum.cxx:1638
 AliHFEBeautySpectrum.cxx:1639
 AliHFEBeautySpectrum.cxx:1640
 AliHFEBeautySpectrum.cxx:1641
 AliHFEBeautySpectrum.cxx:1642
 AliHFEBeautySpectrum.cxx:1643
 AliHFEBeautySpectrum.cxx:1644
 AliHFEBeautySpectrum.cxx:1645
 AliHFEBeautySpectrum.cxx:1646
 AliHFEBeautySpectrum.cxx:1647
 AliHFEBeautySpectrum.cxx:1648
 AliHFEBeautySpectrum.cxx:1649
 AliHFEBeautySpectrum.cxx:1650
 AliHFEBeautySpectrum.cxx:1651
 AliHFEBeautySpectrum.cxx:1652
 AliHFEBeautySpectrum.cxx:1653
 AliHFEBeautySpectrum.cxx:1654
 AliHFEBeautySpectrum.cxx:1655
 AliHFEBeautySpectrum.cxx:1656
 AliHFEBeautySpectrum.cxx:1657
 AliHFEBeautySpectrum.cxx:1658
 AliHFEBeautySpectrum.cxx:1659
 AliHFEBeautySpectrum.cxx:1660
 AliHFEBeautySpectrum.cxx:1661
 AliHFEBeautySpectrum.cxx:1662
 AliHFEBeautySpectrum.cxx:1663
 AliHFEBeautySpectrum.cxx:1664
 AliHFEBeautySpectrum.cxx:1665
 AliHFEBeautySpectrum.cxx:1666
 AliHFEBeautySpectrum.cxx:1667
 AliHFEBeautySpectrum.cxx:1668
 AliHFEBeautySpectrum.cxx:1669
 AliHFEBeautySpectrum.cxx:1670
 AliHFEBeautySpectrum.cxx:1671
 AliHFEBeautySpectrum.cxx:1672
 AliHFEBeautySpectrum.cxx:1673
 AliHFEBeautySpectrum.cxx:1674
 AliHFEBeautySpectrum.cxx:1675
 AliHFEBeautySpectrum.cxx:1676
 AliHFEBeautySpectrum.cxx:1677
 AliHFEBeautySpectrum.cxx:1678
 AliHFEBeautySpectrum.cxx:1679
 AliHFEBeautySpectrum.cxx:1680
 AliHFEBeautySpectrum.cxx:1681
 AliHFEBeautySpectrum.cxx:1682
 AliHFEBeautySpectrum.cxx:1683
 AliHFEBeautySpectrum.cxx:1684
 AliHFEBeautySpectrum.cxx:1685
 AliHFEBeautySpectrum.cxx:1686
 AliHFEBeautySpectrum.cxx:1687
 AliHFEBeautySpectrum.cxx:1688
 AliHFEBeautySpectrum.cxx:1689
 AliHFEBeautySpectrum.cxx:1690
 AliHFEBeautySpectrum.cxx:1691
 AliHFEBeautySpectrum.cxx:1692
 AliHFEBeautySpectrum.cxx:1693
 AliHFEBeautySpectrum.cxx:1694
 AliHFEBeautySpectrum.cxx:1695
 AliHFEBeautySpectrum.cxx:1696
 AliHFEBeautySpectrum.cxx:1697
 AliHFEBeautySpectrum.cxx:1698
 AliHFEBeautySpectrum.cxx:1699
 AliHFEBeautySpectrum.cxx:1700
 AliHFEBeautySpectrum.cxx:1701
 AliHFEBeautySpectrum.cxx:1702
 AliHFEBeautySpectrum.cxx:1703
 AliHFEBeautySpectrum.cxx:1704
 AliHFEBeautySpectrum.cxx:1705
 AliHFEBeautySpectrum.cxx:1706
 AliHFEBeautySpectrum.cxx:1707
 AliHFEBeautySpectrum.cxx:1708
 AliHFEBeautySpectrum.cxx:1709
 AliHFEBeautySpectrum.cxx:1710
 AliHFEBeautySpectrum.cxx:1711
 AliHFEBeautySpectrum.cxx:1712
 AliHFEBeautySpectrum.cxx:1713
 AliHFEBeautySpectrum.cxx:1714
 AliHFEBeautySpectrum.cxx:1715
 AliHFEBeautySpectrum.cxx:1716
 AliHFEBeautySpectrum.cxx:1717
 AliHFEBeautySpectrum.cxx:1718
 AliHFEBeautySpectrum.cxx:1719
 AliHFEBeautySpectrum.cxx:1720
 AliHFEBeautySpectrum.cxx:1721
 AliHFEBeautySpectrum.cxx:1722
 AliHFEBeautySpectrum.cxx:1723
 AliHFEBeautySpectrum.cxx:1724
 AliHFEBeautySpectrum.cxx:1725
 AliHFEBeautySpectrum.cxx:1726
 AliHFEBeautySpectrum.cxx:1727
 AliHFEBeautySpectrum.cxx:1728
 AliHFEBeautySpectrum.cxx:1729
 AliHFEBeautySpectrum.cxx:1730
 AliHFEBeautySpectrum.cxx:1731
 AliHFEBeautySpectrum.cxx:1732
 AliHFEBeautySpectrum.cxx:1733
 AliHFEBeautySpectrum.cxx:1734
 AliHFEBeautySpectrum.cxx:1735
 AliHFEBeautySpectrum.cxx:1736
 AliHFEBeautySpectrum.cxx:1737
 AliHFEBeautySpectrum.cxx:1738
 AliHFEBeautySpectrum.cxx:1739
 AliHFEBeautySpectrum.cxx:1740
 AliHFEBeautySpectrum.cxx:1741
 AliHFEBeautySpectrum.cxx:1742
 AliHFEBeautySpectrum.cxx:1743
 AliHFEBeautySpectrum.cxx:1744
 AliHFEBeautySpectrum.cxx:1745
 AliHFEBeautySpectrum.cxx:1746
 AliHFEBeautySpectrum.cxx:1747
 AliHFEBeautySpectrum.cxx:1748
 AliHFEBeautySpectrum.cxx:1749
 AliHFEBeautySpectrum.cxx:1750
 AliHFEBeautySpectrum.cxx:1751
 AliHFEBeautySpectrum.cxx:1752
 AliHFEBeautySpectrum.cxx:1753
 AliHFEBeautySpectrum.cxx:1754
 AliHFEBeautySpectrum.cxx:1755
 AliHFEBeautySpectrum.cxx:1756
 AliHFEBeautySpectrum.cxx:1757
 AliHFEBeautySpectrum.cxx:1758
 AliHFEBeautySpectrum.cxx:1759
 AliHFEBeautySpectrum.cxx:1760
 AliHFEBeautySpectrum.cxx:1761
 AliHFEBeautySpectrum.cxx:1762
 AliHFEBeautySpectrum.cxx:1763
 AliHFEBeautySpectrum.cxx:1764
 AliHFEBeautySpectrum.cxx:1765
 AliHFEBeautySpectrum.cxx:1766
 AliHFEBeautySpectrum.cxx:1767
 AliHFEBeautySpectrum.cxx:1768
 AliHFEBeautySpectrum.cxx:1769
 AliHFEBeautySpectrum.cxx:1770
 AliHFEBeautySpectrum.cxx:1771
 AliHFEBeautySpectrum.cxx:1772
 AliHFEBeautySpectrum.cxx:1773
 AliHFEBeautySpectrum.cxx:1774
 AliHFEBeautySpectrum.cxx:1775
 AliHFEBeautySpectrum.cxx:1776
 AliHFEBeautySpectrum.cxx:1777
 AliHFEBeautySpectrum.cxx:1778
 AliHFEBeautySpectrum.cxx:1779
 AliHFEBeautySpectrum.cxx:1780
 AliHFEBeautySpectrum.cxx:1781
 AliHFEBeautySpectrum.cxx:1782
 AliHFEBeautySpectrum.cxx:1783
 AliHFEBeautySpectrum.cxx:1784
 AliHFEBeautySpectrum.cxx:1785
 AliHFEBeautySpectrum.cxx:1786
 AliHFEBeautySpectrum.cxx:1787
 AliHFEBeautySpectrum.cxx:1788
 AliHFEBeautySpectrum.cxx:1789
 AliHFEBeautySpectrum.cxx:1790
 AliHFEBeautySpectrum.cxx:1791
 AliHFEBeautySpectrum.cxx:1792
 AliHFEBeautySpectrum.cxx:1793
 AliHFEBeautySpectrum.cxx:1794
 AliHFEBeautySpectrum.cxx:1795
 AliHFEBeautySpectrum.cxx:1796
 AliHFEBeautySpectrum.cxx:1797
 AliHFEBeautySpectrum.cxx:1798
 AliHFEBeautySpectrum.cxx:1799
 AliHFEBeautySpectrum.cxx:1800
 AliHFEBeautySpectrum.cxx:1801
 AliHFEBeautySpectrum.cxx:1802
 AliHFEBeautySpectrum.cxx:1803
 AliHFEBeautySpectrum.cxx:1804
 AliHFEBeautySpectrum.cxx:1805
 AliHFEBeautySpectrum.cxx:1806
 AliHFEBeautySpectrum.cxx:1807
 AliHFEBeautySpectrum.cxx:1808
 AliHFEBeautySpectrum.cxx:1809
 AliHFEBeautySpectrum.cxx:1810
 AliHFEBeautySpectrum.cxx:1811
 AliHFEBeautySpectrum.cxx:1812
 AliHFEBeautySpectrum.cxx:1813
 AliHFEBeautySpectrum.cxx:1814
 AliHFEBeautySpectrum.cxx:1815
 AliHFEBeautySpectrum.cxx:1816
 AliHFEBeautySpectrum.cxx:1817
 AliHFEBeautySpectrum.cxx:1818
 AliHFEBeautySpectrum.cxx:1819
 AliHFEBeautySpectrum.cxx:1820
 AliHFEBeautySpectrum.cxx:1821
 AliHFEBeautySpectrum.cxx:1822
 AliHFEBeautySpectrum.cxx:1823
 AliHFEBeautySpectrum.cxx:1824
 AliHFEBeautySpectrum.cxx:1825
 AliHFEBeautySpectrum.cxx:1826
 AliHFEBeautySpectrum.cxx:1827
 AliHFEBeautySpectrum.cxx:1828
 AliHFEBeautySpectrum.cxx:1829
 AliHFEBeautySpectrum.cxx:1830
 AliHFEBeautySpectrum.cxx:1831
 AliHFEBeautySpectrum.cxx:1832
 AliHFEBeautySpectrum.cxx:1833
 AliHFEBeautySpectrum.cxx:1834
 AliHFEBeautySpectrum.cxx:1835
 AliHFEBeautySpectrum.cxx:1836
 AliHFEBeautySpectrum.cxx:1837
 AliHFEBeautySpectrum.cxx:1838
 AliHFEBeautySpectrum.cxx:1839
 AliHFEBeautySpectrum.cxx:1840
 AliHFEBeautySpectrum.cxx:1841
 AliHFEBeautySpectrum.cxx:1842
 AliHFEBeautySpectrum.cxx:1843
 AliHFEBeautySpectrum.cxx:1844
 AliHFEBeautySpectrum.cxx:1845
 AliHFEBeautySpectrum.cxx:1846
 AliHFEBeautySpectrum.cxx:1847
 AliHFEBeautySpectrum.cxx:1848
 AliHFEBeautySpectrum.cxx:1849
 AliHFEBeautySpectrum.cxx:1850
 AliHFEBeautySpectrum.cxx:1851
 AliHFEBeautySpectrum.cxx:1852
 AliHFEBeautySpectrum.cxx:1853
 AliHFEBeautySpectrum.cxx:1854
 AliHFEBeautySpectrum.cxx:1855
 AliHFEBeautySpectrum.cxx:1856
 AliHFEBeautySpectrum.cxx:1857
 AliHFEBeautySpectrum.cxx:1858
 AliHFEBeautySpectrum.cxx:1859
 AliHFEBeautySpectrum.cxx:1860
 AliHFEBeautySpectrum.cxx:1861
 AliHFEBeautySpectrum.cxx:1862
 AliHFEBeautySpectrum.cxx:1863
 AliHFEBeautySpectrum.cxx:1864
 AliHFEBeautySpectrum.cxx:1865
 AliHFEBeautySpectrum.cxx:1866
 AliHFEBeautySpectrum.cxx:1867
 AliHFEBeautySpectrum.cxx:1868
 AliHFEBeautySpectrum.cxx:1869
 AliHFEBeautySpectrum.cxx:1870
 AliHFEBeautySpectrum.cxx:1871
 AliHFEBeautySpectrum.cxx:1872
 AliHFEBeautySpectrum.cxx:1873
 AliHFEBeautySpectrum.cxx:1874
 AliHFEBeautySpectrum.cxx:1875
 AliHFEBeautySpectrum.cxx:1876
 AliHFEBeautySpectrum.cxx:1877
 AliHFEBeautySpectrum.cxx:1878
 AliHFEBeautySpectrum.cxx:1879
 AliHFEBeautySpectrum.cxx:1880
 AliHFEBeautySpectrum.cxx:1881
 AliHFEBeautySpectrum.cxx:1882
 AliHFEBeautySpectrum.cxx:1883
 AliHFEBeautySpectrum.cxx:1884
 AliHFEBeautySpectrum.cxx:1885
 AliHFEBeautySpectrum.cxx:1886
 AliHFEBeautySpectrum.cxx:1887
 AliHFEBeautySpectrum.cxx:1888
 AliHFEBeautySpectrum.cxx:1889
 AliHFEBeautySpectrum.cxx:1890
 AliHFEBeautySpectrum.cxx:1891
 AliHFEBeautySpectrum.cxx:1892
 AliHFEBeautySpectrum.cxx:1893
 AliHFEBeautySpectrum.cxx:1894
 AliHFEBeautySpectrum.cxx:1895
 AliHFEBeautySpectrum.cxx:1896
 AliHFEBeautySpectrum.cxx:1897
 AliHFEBeautySpectrum.cxx:1898
 AliHFEBeautySpectrum.cxx:1899
 AliHFEBeautySpectrum.cxx:1900
 AliHFEBeautySpectrum.cxx:1901
 AliHFEBeautySpectrum.cxx:1902
 AliHFEBeautySpectrum.cxx:1903
 AliHFEBeautySpectrum.cxx:1904
 AliHFEBeautySpectrum.cxx:1905
 AliHFEBeautySpectrum.cxx:1906
 AliHFEBeautySpectrum.cxx:1907
 AliHFEBeautySpectrum.cxx:1908
 AliHFEBeautySpectrum.cxx:1909
 AliHFEBeautySpectrum.cxx:1910
 AliHFEBeautySpectrum.cxx:1911
 AliHFEBeautySpectrum.cxx:1912
 AliHFEBeautySpectrum.cxx:1913
 AliHFEBeautySpectrum.cxx:1914
 AliHFEBeautySpectrum.cxx:1915
 AliHFEBeautySpectrum.cxx:1916
 AliHFEBeautySpectrum.cxx:1917
 AliHFEBeautySpectrum.cxx:1918
 AliHFEBeautySpectrum.cxx:1919
 AliHFEBeautySpectrum.cxx:1920
 AliHFEBeautySpectrum.cxx:1921
 AliHFEBeautySpectrum.cxx:1922
 AliHFEBeautySpectrum.cxx:1923
 AliHFEBeautySpectrum.cxx:1924
 AliHFEBeautySpectrum.cxx:1925
 AliHFEBeautySpectrum.cxx:1926
 AliHFEBeautySpectrum.cxx:1927
 AliHFEBeautySpectrum.cxx:1928
 AliHFEBeautySpectrum.cxx:1929
 AliHFEBeautySpectrum.cxx:1930
 AliHFEBeautySpectrum.cxx:1931
 AliHFEBeautySpectrum.cxx:1932
 AliHFEBeautySpectrum.cxx:1933
 AliHFEBeautySpectrum.cxx:1934
 AliHFEBeautySpectrum.cxx:1935
 AliHFEBeautySpectrum.cxx:1936
 AliHFEBeautySpectrum.cxx:1937
 AliHFEBeautySpectrum.cxx:1938
 AliHFEBeautySpectrum.cxx:1939
 AliHFEBeautySpectrum.cxx:1940
 AliHFEBeautySpectrum.cxx:1941
 AliHFEBeautySpectrum.cxx:1942
 AliHFEBeautySpectrum.cxx:1943
 AliHFEBeautySpectrum.cxx:1944
 AliHFEBeautySpectrum.cxx:1945
 AliHFEBeautySpectrum.cxx:1946
 AliHFEBeautySpectrum.cxx:1947
 AliHFEBeautySpectrum.cxx:1948
 AliHFEBeautySpectrum.cxx:1949
 AliHFEBeautySpectrum.cxx:1950
 AliHFEBeautySpectrum.cxx:1951
 AliHFEBeautySpectrum.cxx:1952
 AliHFEBeautySpectrum.cxx:1953
 AliHFEBeautySpectrum.cxx:1954
 AliHFEBeautySpectrum.cxx:1955
 AliHFEBeautySpectrum.cxx:1956
 AliHFEBeautySpectrum.cxx:1957
 AliHFEBeautySpectrum.cxx:1958
 AliHFEBeautySpectrum.cxx:1959
 AliHFEBeautySpectrum.cxx:1960
 AliHFEBeautySpectrum.cxx:1961
 AliHFEBeautySpectrum.cxx:1962
 AliHFEBeautySpectrum.cxx:1963
 AliHFEBeautySpectrum.cxx:1964
 AliHFEBeautySpectrum.cxx:1965
 AliHFEBeautySpectrum.cxx:1966
 AliHFEBeautySpectrum.cxx:1967
 AliHFEBeautySpectrum.cxx:1968
 AliHFEBeautySpectrum.cxx:1969
 AliHFEBeautySpectrum.cxx:1970
 AliHFEBeautySpectrum.cxx:1971
 AliHFEBeautySpectrum.cxx:1972
 AliHFEBeautySpectrum.cxx:1973
 AliHFEBeautySpectrum.cxx:1974
 AliHFEBeautySpectrum.cxx:1975
 AliHFEBeautySpectrum.cxx:1976
 AliHFEBeautySpectrum.cxx:1977
 AliHFEBeautySpectrum.cxx:1978
 AliHFEBeautySpectrum.cxx:1979
 AliHFEBeautySpectrum.cxx:1980
 AliHFEBeautySpectrum.cxx:1981
 AliHFEBeautySpectrum.cxx:1982
 AliHFEBeautySpectrum.cxx:1983
 AliHFEBeautySpectrum.cxx:1984
 AliHFEBeautySpectrum.cxx:1985
 AliHFEBeautySpectrum.cxx:1986
 AliHFEBeautySpectrum.cxx:1987
 AliHFEBeautySpectrum.cxx:1988
 AliHFEBeautySpectrum.cxx:1989
 AliHFEBeautySpectrum.cxx:1990
 AliHFEBeautySpectrum.cxx:1991
 AliHFEBeautySpectrum.cxx:1992
 AliHFEBeautySpectrum.cxx:1993
 AliHFEBeautySpectrum.cxx:1994
 AliHFEBeautySpectrum.cxx:1995
 AliHFEBeautySpectrum.cxx:1996
 AliHFEBeautySpectrum.cxx:1997
 AliHFEBeautySpectrum.cxx:1998
 AliHFEBeautySpectrum.cxx:1999
 AliHFEBeautySpectrum.cxx:2000
 AliHFEBeautySpectrum.cxx:2001
 AliHFEBeautySpectrum.cxx:2002
 AliHFEBeautySpectrum.cxx:2003
 AliHFEBeautySpectrum.cxx:2004
 AliHFEBeautySpectrum.cxx:2005
 AliHFEBeautySpectrum.cxx:2006
 AliHFEBeautySpectrum.cxx:2007
 AliHFEBeautySpectrum.cxx:2008
 AliHFEBeautySpectrum.cxx:2009
 AliHFEBeautySpectrum.cxx:2010
 AliHFEBeautySpectrum.cxx:2011
 AliHFEBeautySpectrum.cxx:2012
 AliHFEBeautySpectrum.cxx:2013
 AliHFEBeautySpectrum.cxx:2014
 AliHFEBeautySpectrum.cxx:2015
 AliHFEBeautySpectrum.cxx:2016
 AliHFEBeautySpectrum.cxx:2017
 AliHFEBeautySpectrum.cxx:2018
 AliHFEBeautySpectrum.cxx:2019
 AliHFEBeautySpectrum.cxx:2020
 AliHFEBeautySpectrum.cxx:2021
 AliHFEBeautySpectrum.cxx:2022
 AliHFEBeautySpectrum.cxx:2023
 AliHFEBeautySpectrum.cxx:2024
 AliHFEBeautySpectrum.cxx:2025
 AliHFEBeautySpectrum.cxx:2026
 AliHFEBeautySpectrum.cxx:2027
 AliHFEBeautySpectrum.cxx:2028
 AliHFEBeautySpectrum.cxx:2029
 AliHFEBeautySpectrum.cxx:2030
 AliHFEBeautySpectrum.cxx:2031
 AliHFEBeautySpectrum.cxx:2032
 AliHFEBeautySpectrum.cxx:2033
 AliHFEBeautySpectrum.cxx:2034
 AliHFEBeautySpectrum.cxx:2035
 AliHFEBeautySpectrum.cxx:2036
 AliHFEBeautySpectrum.cxx:2037
 AliHFEBeautySpectrum.cxx:2038
 AliHFEBeautySpectrum.cxx:2039
 AliHFEBeautySpectrum.cxx:2040
 AliHFEBeautySpectrum.cxx:2041
 AliHFEBeautySpectrum.cxx:2042
 AliHFEBeautySpectrum.cxx:2043
 AliHFEBeautySpectrum.cxx:2044
 AliHFEBeautySpectrum.cxx:2045
 AliHFEBeautySpectrum.cxx:2046
 AliHFEBeautySpectrum.cxx:2047
 AliHFEBeautySpectrum.cxx:2048
 AliHFEBeautySpectrum.cxx:2049
 AliHFEBeautySpectrum.cxx:2050
 AliHFEBeautySpectrum.cxx:2051
 AliHFEBeautySpectrum.cxx:2052
 AliHFEBeautySpectrum.cxx:2053
 AliHFEBeautySpectrum.cxx:2054
 AliHFEBeautySpectrum.cxx:2055
 AliHFEBeautySpectrum.cxx:2056
 AliHFEBeautySpectrum.cxx:2057
 AliHFEBeautySpectrum.cxx:2058
 AliHFEBeautySpectrum.cxx:2059
 AliHFEBeautySpectrum.cxx:2060
 AliHFEBeautySpectrum.cxx:2061
 AliHFEBeautySpectrum.cxx:2062
 AliHFEBeautySpectrum.cxx:2063
 AliHFEBeautySpectrum.cxx:2064
 AliHFEBeautySpectrum.cxx:2065
 AliHFEBeautySpectrum.cxx:2066
 AliHFEBeautySpectrum.cxx:2067
 AliHFEBeautySpectrum.cxx:2068
 AliHFEBeautySpectrum.cxx:2069
 AliHFEBeautySpectrum.cxx:2070
 AliHFEBeautySpectrum.cxx:2071
 AliHFEBeautySpectrum.cxx:2072
 AliHFEBeautySpectrum.cxx:2073
 AliHFEBeautySpectrum.cxx:2074
 AliHFEBeautySpectrum.cxx:2075
 AliHFEBeautySpectrum.cxx:2076
 AliHFEBeautySpectrum.cxx:2077
 AliHFEBeautySpectrum.cxx:2078
 AliHFEBeautySpectrum.cxx:2079
 AliHFEBeautySpectrum.cxx:2080
 AliHFEBeautySpectrum.cxx:2081
 AliHFEBeautySpectrum.cxx:2082
 AliHFEBeautySpectrum.cxx:2083
 AliHFEBeautySpectrum.cxx:2084
 AliHFEBeautySpectrum.cxx:2085
 AliHFEBeautySpectrum.cxx:2086
 AliHFEBeautySpectrum.cxx:2087
 AliHFEBeautySpectrum.cxx:2088
 AliHFEBeautySpectrum.cxx:2089
 AliHFEBeautySpectrum.cxx:2090
 AliHFEBeautySpectrum.cxx:2091
 AliHFEBeautySpectrum.cxx:2092
 AliHFEBeautySpectrum.cxx:2093
 AliHFEBeautySpectrum.cxx:2094
 AliHFEBeautySpectrum.cxx:2095
 AliHFEBeautySpectrum.cxx:2096
 AliHFEBeautySpectrum.cxx:2097
 AliHFEBeautySpectrum.cxx:2098
 AliHFEBeautySpectrum.cxx:2099
 AliHFEBeautySpectrum.cxx:2100
 AliHFEBeautySpectrum.cxx:2101
 AliHFEBeautySpectrum.cxx:2102
 AliHFEBeautySpectrum.cxx:2103
 AliHFEBeautySpectrum.cxx:2104
 AliHFEBeautySpectrum.cxx:2105
 AliHFEBeautySpectrum.cxx:2106
 AliHFEBeautySpectrum.cxx:2107
 AliHFEBeautySpectrum.cxx:2108
 AliHFEBeautySpectrum.cxx:2109
 AliHFEBeautySpectrum.cxx:2110
 AliHFEBeautySpectrum.cxx:2111
 AliHFEBeautySpectrum.cxx:2112
 AliHFEBeautySpectrum.cxx:2113
 AliHFEBeautySpectrum.cxx:2114
 AliHFEBeautySpectrum.cxx:2115
 AliHFEBeautySpectrum.cxx:2116
 AliHFEBeautySpectrum.cxx:2117
 AliHFEBeautySpectrum.cxx:2118
 AliHFEBeautySpectrum.cxx:2119
 AliHFEBeautySpectrum.cxx:2120
 AliHFEBeautySpectrum.cxx:2121
 AliHFEBeautySpectrum.cxx:2122
 AliHFEBeautySpectrum.cxx:2123
 AliHFEBeautySpectrum.cxx:2124
 AliHFEBeautySpectrum.cxx:2125
 AliHFEBeautySpectrum.cxx:2126
 AliHFEBeautySpectrum.cxx:2127
 AliHFEBeautySpectrum.cxx:2128
 AliHFEBeautySpectrum.cxx:2129
 AliHFEBeautySpectrum.cxx:2130
 AliHFEBeautySpectrum.cxx:2131
 AliHFEBeautySpectrum.cxx:2132
 AliHFEBeautySpectrum.cxx:2133
 AliHFEBeautySpectrum.cxx:2134
 AliHFEBeautySpectrum.cxx:2135
 AliHFEBeautySpectrum.cxx:2136
 AliHFEBeautySpectrum.cxx:2137
 AliHFEBeautySpectrum.cxx:2138
 AliHFEBeautySpectrum.cxx:2139
 AliHFEBeautySpectrum.cxx:2140
 AliHFEBeautySpectrum.cxx:2141
 AliHFEBeautySpectrum.cxx:2142
 AliHFEBeautySpectrum.cxx:2143
 AliHFEBeautySpectrum.cxx:2144
 AliHFEBeautySpectrum.cxx:2145
 AliHFEBeautySpectrum.cxx:2146
 AliHFEBeautySpectrum.cxx:2147
 AliHFEBeautySpectrum.cxx:2148
 AliHFEBeautySpectrum.cxx:2149
 AliHFEBeautySpectrum.cxx:2150
 AliHFEBeautySpectrum.cxx:2151
 AliHFEBeautySpectrum.cxx:2152
 AliHFEBeautySpectrum.cxx:2153
 AliHFEBeautySpectrum.cxx:2154
 AliHFEBeautySpectrum.cxx:2155
 AliHFEBeautySpectrum.cxx:2156
 AliHFEBeautySpectrum.cxx:2157
 AliHFEBeautySpectrum.cxx:2158
 AliHFEBeautySpectrum.cxx:2159
 AliHFEBeautySpectrum.cxx:2160
 AliHFEBeautySpectrum.cxx:2161
 AliHFEBeautySpectrum.cxx:2162
 AliHFEBeautySpectrum.cxx:2163
 AliHFEBeautySpectrum.cxx:2164
 AliHFEBeautySpectrum.cxx:2165
 AliHFEBeautySpectrum.cxx:2166
 AliHFEBeautySpectrum.cxx:2167
 AliHFEBeautySpectrum.cxx:2168
 AliHFEBeautySpectrum.cxx:2169
 AliHFEBeautySpectrum.cxx:2170
 AliHFEBeautySpectrum.cxx:2171
 AliHFEBeautySpectrum.cxx:2172
 AliHFEBeautySpectrum.cxx:2173
 AliHFEBeautySpectrum.cxx:2174
 AliHFEBeautySpectrum.cxx:2175
 AliHFEBeautySpectrum.cxx:2176
 AliHFEBeautySpectrum.cxx:2177
 AliHFEBeautySpectrum.cxx:2178
 AliHFEBeautySpectrum.cxx:2179
 AliHFEBeautySpectrum.cxx:2180
 AliHFEBeautySpectrum.cxx:2181
 AliHFEBeautySpectrum.cxx:2182
 AliHFEBeautySpectrum.cxx:2183
 AliHFEBeautySpectrum.cxx:2184
 AliHFEBeautySpectrum.cxx:2185
 AliHFEBeautySpectrum.cxx:2186
 AliHFEBeautySpectrum.cxx:2187
 AliHFEBeautySpectrum.cxx:2188
 AliHFEBeautySpectrum.cxx:2189
 AliHFEBeautySpectrum.cxx:2190
 AliHFEBeautySpectrum.cxx:2191
 AliHFEBeautySpectrum.cxx:2192
 AliHFEBeautySpectrum.cxx:2193
 AliHFEBeautySpectrum.cxx:2194
 AliHFEBeautySpectrum.cxx:2195
 AliHFEBeautySpectrum.cxx:2196
 AliHFEBeautySpectrum.cxx:2197
 AliHFEBeautySpectrum.cxx:2198
 AliHFEBeautySpectrum.cxx:2199
 AliHFEBeautySpectrum.cxx:2200
 AliHFEBeautySpectrum.cxx:2201
 AliHFEBeautySpectrum.cxx:2202
 AliHFEBeautySpectrum.cxx:2203
 AliHFEBeautySpectrum.cxx:2204
 AliHFEBeautySpectrum.cxx:2205
 AliHFEBeautySpectrum.cxx:2206
 AliHFEBeautySpectrum.cxx:2207
 AliHFEBeautySpectrum.cxx:2208
 AliHFEBeautySpectrum.cxx:2209
 AliHFEBeautySpectrum.cxx:2210
 AliHFEBeautySpectrum.cxx:2211
 AliHFEBeautySpectrum.cxx:2212
 AliHFEBeautySpectrum.cxx:2213
 AliHFEBeautySpectrum.cxx:2214
 AliHFEBeautySpectrum.cxx:2215
 AliHFEBeautySpectrum.cxx:2216
 AliHFEBeautySpectrum.cxx:2217
 AliHFEBeautySpectrum.cxx:2218
 AliHFEBeautySpectrum.cxx:2219
 AliHFEBeautySpectrum.cxx:2220
 AliHFEBeautySpectrum.cxx:2221
 AliHFEBeautySpectrum.cxx:2222
 AliHFEBeautySpectrum.cxx:2223
 AliHFEBeautySpectrum.cxx:2224
 AliHFEBeautySpectrum.cxx:2225
 AliHFEBeautySpectrum.cxx:2226
 AliHFEBeautySpectrum.cxx:2227
 AliHFEBeautySpectrum.cxx:2228
 AliHFEBeautySpectrum.cxx:2229
 AliHFEBeautySpectrum.cxx:2230
 AliHFEBeautySpectrum.cxx:2231
 AliHFEBeautySpectrum.cxx:2232
 AliHFEBeautySpectrum.cxx:2233
 AliHFEBeautySpectrum.cxx:2234
 AliHFEBeautySpectrum.cxx:2235
 AliHFEBeautySpectrum.cxx:2236
 AliHFEBeautySpectrum.cxx:2237
 AliHFEBeautySpectrum.cxx:2238
 AliHFEBeautySpectrum.cxx:2239
 AliHFEBeautySpectrum.cxx:2240
 AliHFEBeautySpectrum.cxx:2241
 AliHFEBeautySpectrum.cxx:2242
 AliHFEBeautySpectrum.cxx:2243
 AliHFEBeautySpectrum.cxx:2244
 AliHFEBeautySpectrum.cxx:2245
 AliHFEBeautySpectrum.cxx:2246