ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2018, 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.                  *
 **************************************************************************/

/* $Id: $ */

//*************************************************************************
// Class AliAnalysisTaskCombinHF
// AliAnalysisTaskSE to build D meson candidates by combining tracks
//  background is computed LS and track rotations is
// Authors: F. Prino, A. Rossi
/////////////////////////////////////////////////////////////

#include <TList.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <THnSparse.h>

#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliPIDResponse.h"
#include "AliAODHandler.h"
#include "AliAODEvent.h"
#include "AliAODMCParticle.h"
#include "AliAODMCHeader.h"
#include "AliAODVertex.h"
#include "AliAODTrack.h"
#include "AliVertexingHFUtils.h"
#include "AliAnalysisTaskCombinHF.h"

ClassImp(AliAnalysisTaskCombinHF)


//________________________________________________________________________
AliAnalysisTaskCombinHF::AliAnalysisTaskCombinHF():
  AliAnalysisTaskSE(),
  fOutput(0x0),
  fHistNEvents(0x0),
  fHistTrackStatus(0x0),
  fHistCheckOrigin(0x0),
  fHistCheckOriginSel(0x0),
  fHistCheckDecChan(0x0),
  fHistCheckDecChanAcc(0x0),
  fPtVsYVsMultGen(0x0),
  fPtVsYVsMultGenLargeAcc(0x0),
  fPtVsYVsMultGenLimAcc(0x0),
  fPtVsYVsMultGenAcc(0x0),
  fPtVsYVsMultReco(0x0),
  fMassVsPtVsY(0x0),
  fMassVsPtVsYRot(0x0),
  fMassVsPtVsYLSpp(0x0),
  fMassVsPtVsYLSmm(0x0),
  fMassVsPtVsYSig(0x0),
  fMassVsPtVsYRefl(0x0),
  fMassVsPtVsYBkg(0x0),
  fNSelected(0x0),
  fNormRotated(0x0),
  fDeltaMass(0x0),
  fDeltaMassFullAnalysis(0x0),
  fMassVsPtVsYME(0x0),
  fMassVsPtVsYMELSpp(0x0),
  fMassVsPtVsYMELSmm(0x0),
  fEventsPerPool(0x0),
  fMixingsPerPool(0x0),
  fFilterMask(BIT(4)),
  fTrackCutsAll(0x0),
  fTrackCutsPion(0x0),
  fTrackCutsKaon(0x0),
  fPidHF(new AliAODPidHF()),
  fAnalysisCuts(0x0),
  fMinMass(1.720),
  fMaxMass(2.150),
  fMaxPt(10.),
  fPtBinWidth(0.5),
  fEtaAccCut(0.9),
  fPtAccCut(0.1),
  fNRotations(9),
  fMinAngleForRot(5*TMath::Pi()/6),
  fMaxAngleForRot(7*TMath::Pi()/6),
  fMinAngleForRot3(2*TMath::Pi()/6),
  fMaxAngleForRot3(4*TMath::Pi()/6),
  fCounter(0x0),
  fMeson(kDzero),
  fReadMC(kFALSE),
  fPromptFeeddown(kPrompt),
  fGoUpToQuark(kTRUE),
  fFullAnalysis(0),
  fPIDstrategy(knSigma),
  fmaxPforIDPion(0.8),
  fmaxPforIDKaon(2.),
  fKeepNegID(kFALSE),
  fPIDselCaseZero(0),
  fBayesThresKaon(0.4),
  fBayesThresPion(0.4),
  fDoEventMixing(1),
  fNumberOfEventsForMixing(20),
  fMaxzVertDistForMix(5.),
  fMaxMultDiffForMix(5.),
  fNzVertPools(1),
  fNzVertPoolsLimSize(2),
  fzVertPoolLims(0x0),
  fNMultPools(1),
  fNMultPoolsLimSize(2),
  fMultPoolLims(0x0),
  fNOfPools(1),
  fEventBuffer(0x0),
  fEventInfo(new TObjString("")),
  fVtxZ(0),
  fMultiplicity(0),
  fMinMultiplicity(-0.5),
  fMaxMultiplicity(199.5),
  fKaonTracks(0x0),
  fPionTracks(0x0)
{
  // default constructor
}

//________________________________________________________________________
AliAnalysisTaskCombinHF::AliAnalysisTaskCombinHF(Int_t meson, AliRDHFCuts* analysiscuts):
  AliAnalysisTaskSE("DmesonCombin"),
  fOutput(0x0),
  fHistNEvents(0x0),
  fHistTrackStatus(0x0),
  fHistCheckOrigin(0x0),
  fHistCheckOriginSel(0x0),
  fHistCheckDecChan(0x0),
  fHistCheckDecChanAcc(0x0),
  fPtVsYVsMultGen(0x0),
  fPtVsYVsMultGenLargeAcc(0x0),
  fPtVsYVsMultGenLimAcc(0x0),
  fPtVsYVsMultGenAcc(0x0),
  fPtVsYVsMultReco(0x0),
  fMassVsPtVsY(0x0),
  fMassVsPtVsYRot(0x0),
  fMassVsPtVsYLSpp(0x0),
  fMassVsPtVsYLSmm(0x0),
  fMassVsPtVsYSig(0x0),
  fMassVsPtVsYRefl(0x0),
  fMassVsPtVsYBkg(0x0),
  fNSelected(0x0),
  fNormRotated(0x0),
  fDeltaMass(0x0),
  fDeltaMassFullAnalysis(0x0),
  fMassVsPtVsYME(0x0),
  fMassVsPtVsYMELSpp(0x0),
  fMassVsPtVsYMELSmm(0x0),
  fEventsPerPool(0x0),
  fMixingsPerPool(0x0),
  fFilterMask(BIT(4)),
  fTrackCutsAll(0x0),
  fTrackCutsPion(0x0),
  fTrackCutsKaon(0x0),
  fPidHF(new AliAODPidHF()),
  fAnalysisCuts(analysiscuts),
  fMinMass(1.720),
  fMaxMass(2.150),
  fMaxPt(10.),
  fPtBinWidth(0.5),
  fEtaAccCut(0.9),
  fPtAccCut(0.1),
  fNRotations(9),
  fMinAngleForRot(5*TMath::Pi()/6),
  fMaxAngleForRot(7*TMath::Pi()/6),
  fMinAngleForRot3(2*TMath::Pi()/6),
  fMaxAngleForRot3(4*TMath::Pi()/6),
  fCounter(0x0),
  fMeson(meson),
  fReadMC(kFALSE),
  fPromptFeeddown(1),
  fGoUpToQuark(kTRUE),
  fFullAnalysis(0),
  fPIDstrategy(knSigma),
  fmaxPforIDPion(0.8),
  fmaxPforIDKaon(2.),
  fKeepNegID(kFALSE),
  fPIDselCaseZero(0),
  fBayesThresKaon(0.4),
  fBayesThresPion(0.4),
  fDoEventMixing(1),
  fNumberOfEventsForMixing(20),
  fMaxzVertDistForMix(5.),
  fMaxMultDiffForMix(5.),
  fNzVertPools(1),
  fNzVertPoolsLimSize(2),
  fzVertPoolLims(0x0),
  fNMultPools(1),
  fNMultPoolsLimSize(2),
  fMultPoolLims(0x0),
  fNOfPools(1),
  fEventBuffer(0x0),
  fEventInfo(new TObjString("")),
  fVtxZ(0),
  fMultiplicity(0),
  fMinMultiplicity(-0.5),
  fMaxMultiplicity(199.5),
  fKaonTracks(0x0),
  fPionTracks(0x0)
{
  // standard constructor

  DefineOutput(1,TList::Class());  //My private output
  DefineOutput(2,AliNormalizationCounter::Class());
}

//________________________________________________________________________
AliAnalysisTaskCombinHF::~AliAnalysisTaskCombinHF()
{
  //
  // Destructor
  //
  if(fOutput && !fOutput->IsOwner()){
    delete fHistNEvents;
    delete fHistTrackStatus;
    delete fHistCheckOrigin;
    delete fHistCheckOriginSel;
    delete fHistCheckDecChan;
    delete fHistCheckDecChanAcc;
    delete fPtVsYVsMultGen;
    delete fPtVsYVsMultGenLargeAcc;
    delete fPtVsYVsMultGenLimAcc;
    delete fPtVsYVsMultGenAcc;
    delete fPtVsYVsMultReco;
    delete fMassVsPtVsY;
    delete fMassVsPtVsYLSpp;
    delete fMassVsPtVsYLSmm;
    delete fMassVsPtVsYRot;
    delete fMassVsPtVsYSig;
    delete fMassVsPtVsYRefl;
    delete fMassVsPtVsYBkg;
    delete fNSelected;
    delete fNormRotated;
    delete fDeltaMass;
    delete fDeltaMassFullAnalysis;
    delete fMassVsPtVsYME;
    delete fMassVsPtVsYMELSpp;
    delete fMassVsPtVsYMELSmm;
  }

  delete fOutput;
  delete fCounter;
  delete fTrackCutsAll;
  delete fTrackCutsPion;
  delete fTrackCutsKaon;
  delete fPidHF;
  delete fAnalysisCuts;
  if(fKaonTracks) fKaonTracks->Delete();
  if(fPionTracks) fPionTracks->Delete();
  delete fKaonTracks;
  delete fPionTracks;

  if(fEventBuffer){
    for(Int_t i=0; i<fNOfPools; i++) delete fEventBuffer[i];
    delete fEventBuffer;
  }
  delete fEventInfo;
  delete [] fzVertPoolLims;
  delete [] fMultPoolLims;
}

//________________________________________________________________________
void AliAnalysisTaskCombinHF::ConfigureZVertPools(Int_t nPools, Double_t*  zVertLimits)
{
  // sets the pools for event mizing in zvertex
  if(fzVertPoolLims) delete [] fzVertPoolLims;
  fNzVertPools=nPools;
  fNzVertPoolsLimSize=nPools+1;
  fzVertPoolLims = new Double_t[fNzVertPoolsLimSize];
  for(Int_t ib=0; ib<fNzVertPoolsLimSize; ib++) fzVertPoolLims[ib]=zVertLimits[ib];
  return;  
}
//________________________________________________________________________
void AliAnalysisTaskCombinHF::ConfigureMultiplicityPools(Int_t nPools, Double_t*  multLimits)
{
  // sets the pools for event mizing in zvertex
  if(fMultPoolLims) delete [] fMultPoolLims;
  fNMultPools=nPools;
  fNMultPoolsLimSize=nPools+1;
  fMultPoolLims = new Double_t[fNMultPoolsLimSize];
  for(Int_t ib=0; ib<nPools+1; ib++) fMultPoolLims[ib]=multLimits[ib];
  return;  
}
//________________________________________________________________________
void AliAnalysisTaskCombinHF::UserCreateOutputObjects()
{
  // Create the output container
  //
  if(fDebug > 1) printf("AnalysisTaskCombinHF::UserCreateOutputObjects() \n");
  
  fOutput = new TList();
  fOutput->SetOwner();
  fOutput->SetName("OutputHistos");
  
  fHistNEvents = new TH1F("hNEvents", "number of events ",9,-0.5,8.5);
  fHistNEvents->GetXaxis()->SetBinLabel(1,"nEventsAnal");
  fHistNEvents->GetXaxis()->SetBinLabel(2,"n. passing IsEvSelected");
  fHistNEvents->GetXaxis()->SetBinLabel(3,"n. rejected due to trigger");
  fHistNEvents->GetXaxis()->SetBinLabel(4,"n. rejected due to phys sel");
  fHistNEvents->GetXaxis()->SetBinLabel(5,"n. rejected due to not reco vertex");
  fHistNEvents->GetXaxis()->SetBinLabel(6,"n. rejected for contr vertex");
  fHistNEvents->GetXaxis()->SetBinLabel(7,"n. rejected for vertex out of accept");
  fHistNEvents->GetXaxis()->SetBinLabel(8,"n. rejected for pileup events");
  fHistNEvents->GetXaxis()->SetBinLabel(9,"no. of out centrality events");
  
  fHistNEvents->GetXaxis()->SetNdivisions(1,kFALSE);
  fHistNEvents->Sumw2();
  fHistNEvents->SetMinimum(0);
  fOutput->Add(fHistNEvents);
  
  fHistTrackStatus  = new TH1F("hTrackStatus", "",8,-0.5,7.5);
  fHistTrackStatus->GetXaxis()->SetBinLabel(1,"Not OK");
  fHistTrackStatus->GetXaxis()->SetBinLabel(2,"Track OK");
  fHistTrackStatus->GetXaxis()->SetBinLabel(3,"Kaon, Not OK");
  fHistTrackStatus->GetXaxis()->SetBinLabel(4,"Kaon OK");
  fHistTrackStatus->GetXaxis()->SetBinLabel(5,"Pion, Not OK");
  fHistTrackStatus->GetXaxis()->SetBinLabel(6,"Pion OK");
  fHistTrackStatus->GetXaxis()->SetBinLabel(7,"Kaon||Pion, Not OK");
  fHistTrackStatus->GetXaxis()->SetBinLabel(8,"Kaon||Pion OK");
  fHistTrackStatus->GetXaxis()->SetNdivisions(1,kFALSE);
  fHistTrackStatus->Sumw2();
  fHistTrackStatus->SetMinimum(0);
  fOutput->Add(fHistTrackStatus);
  
  Int_t nPtBins = (Int_t)(fMaxPt/fPtBinWidth+0.001);
  Double_t maxPt=fPtBinWidth*nPtBins;

  if(fReadMC){
    
    fHistCheckOrigin=new TH1F("hCheckOrigin","",7,-1.5,5.5);
    fHistCheckOrigin->Sumw2();
    fHistCheckOrigin->SetMinimum(0);
    fOutput->Add(fHistCheckOrigin);
    
    fHistCheckOriginSel=new TH1F("hCheckOriginSel","",7,-1.5,5.5);
    fHistCheckOriginSel->Sumw2();
    fHistCheckOriginSel->SetMinimum(0);
    fOutput->Add(fHistCheckOriginSel);
    
    fHistCheckDecChan=new TH1F("hCheckDecChan","",7,-2.5,4.5);
    fHistCheckDecChan->Sumw2();
    fHistCheckDecChan->SetMinimum(0);
    fOutput->Add(fHistCheckDecChan);
    
    fHistCheckDecChanAcc=new TH1F("hCheckDecChanAcc","",7,-2.5,4.5);
    fHistCheckDecChanAcc->Sumw2();
    fHistCheckDecChanAcc->SetMinimum(0);
    fOutput->Add(fHistCheckDecChanAcc);
    
    fPtVsYVsMultGen= new TH3F("hPtVsYVsMultGen","",nPtBins,0.,maxPt,20,-1.,1.,200,fMinMultiplicity,fMaxMultiplicity);
    fPtVsYVsMultGen->Sumw2();
    fPtVsYVsMultGen->SetMinimum(0);
    fOutput->Add(fPtVsYVsMultGen);
    
    fPtVsYVsMultGenLargeAcc= new TH3F("hPtVsYVsMultGenLargeAcc","",nPtBins,0.,maxPt,20,-1.,1.,200,fMinMultiplicity,fMaxMultiplicity);
    fPtVsYVsMultGenLargeAcc->Sumw2();
    fPtVsYVsMultGenLargeAcc->SetMinimum(0);
    fOutput->Add(fPtVsYVsMultGenLargeAcc);
    
    fPtVsYVsMultGenLimAcc= new TH3F("hPtVsYVsMultGenLimAcc","",nPtBins,0.,maxPt,20,-1.,1.,200,fMinMultiplicity,fMaxMultiplicity);
    fPtVsYVsMultGenLimAcc->Sumw2();
    fPtVsYVsMultGenLimAcc->SetMinimum(0);
    fOutput->Add(fPtVsYVsMultGenLimAcc);
    
    fPtVsYVsMultGenAcc= new TH3F("hPtVsYVsMultGenAcc","",nPtBins,0.,maxPt,20,-1.,1.,200,fMinMultiplicity,fMaxMultiplicity);
    fPtVsYVsMultGenAcc->Sumw2();
    fPtVsYVsMultGenAcc->SetMinimum(0);
    fOutput->Add(fPtVsYVsMultGenAcc);
    
    fPtVsYVsMultReco= new TH3F("hPtVsYVsMultReco","",nPtBins,0.,maxPt,20,-1.,1.,200,fMinMultiplicity,fMaxMultiplicity);
    fPtVsYVsMultReco->Sumw2();
    fPtVsYVsMultReco->SetMinimum(0);
    fOutput->Add(fPtVsYVsMultReco);
  }
  
  
  Int_t nMassBins=static_cast<Int_t>(fMaxMass*1000.-fMinMass*1000.);
  Double_t maxm=fMinMass+nMassBins*0.001;
  fMassVsPtVsY=new TH3F("hMassVsPtVsY","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
  fMassVsPtVsY->Sumw2();
  fMassVsPtVsY->SetMinimum(0);
  fOutput->Add(fMassVsPtVsY);
  
  fMassVsPtVsYRot=new TH3F("hMassVsPtVsYRot","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
  fMassVsPtVsYRot->Sumw2();
  fMassVsPtVsYRot->SetMinimum(0);
  fOutput->Add(fMassVsPtVsYRot);
  
  if(fMeson==kDzero){
    fMassVsPtVsYLSpp=new TH3F("hMassVsPtVsYLSpp","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
    fMassVsPtVsYLSpp->Sumw2();
    fMassVsPtVsYLSpp->SetMinimum(0);
    fOutput->Add(fMassVsPtVsYLSpp);
    fMassVsPtVsYLSmm=new TH3F("hMassVsPtVsYLSmm","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
    fMassVsPtVsYLSmm->Sumw2();
    fMassVsPtVsYLSmm->SetMinimum(0);
    fOutput->Add(fMassVsPtVsYLSmm);
  }
  
  fMassVsPtVsYSig=new TH3F("hMassVsPtVsYSig","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
  fMassVsPtVsYSig->Sumw2();
  fMassVsPtVsYSig->SetMinimum(0);
  fOutput->Add(fMassVsPtVsYSig);
  
  fMassVsPtVsYRefl=new TH3F("hMassVsPtVsYRefl","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
  fMassVsPtVsYRefl->Sumw2();
  fMassVsPtVsYRefl->SetMinimum(0);
  fOutput->Add(fMassVsPtVsYRefl);
  
  fMassVsPtVsYBkg=new TH3F("hMassVsPtVsYBkg","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
  fMassVsPtVsYBkg->Sumw2();
  fMassVsPtVsYBkg->SetMinimum(0);
  fOutput->Add(fMassVsPtVsYBkg);
  
  fNSelected=new TH1F("hNSelected","",100,-0.5,99.5);
  fNSelected->Sumw2();
  fNSelected->SetMinimum(0);
  fOutput->Add(fNSelected);
  
  fNormRotated=new TH1F("hNormRotated","",11,-0.5,10.5);
  fNormRotated->Sumw2();
  fNormRotated->SetMinimum(0);
  fOutput->Add(fNormRotated);
  
  fDeltaMass=new TH1F("hDeltaMass","",100,-0.4,0.4);
  fDeltaMass->Sumw2();
  fDeltaMass->SetMinimum(0);
  fOutput->Add(fDeltaMass);
  
  Int_t binSparseDMassRot[5]={nMassBins,100,24,40,20};
  Double_t edgeLowSparseDMassRot[5]={fMinMass,-0.4,0.,-4.,0};
  Double_t edgeHighSparseDMassRot[5]={maxm,0.4,12.,4.,3.14};
  fDeltaMassFullAnalysis=new THnSparseF("fDeltaMassFullAnalysis","fDeltaMassFullAnalysis;inv mass (GeV/c);#Delta inv mass (GeV/c) ; p_{T}^{D} (GeV/c); #Delta p_{T} (GeV/c); daughter angle (2prongs) (rad);",5,binSparseDMassRot,edgeLowSparseDMassRot,edgeHighSparseDMassRot);
  fOutput->Add(fDeltaMassFullAnalysis);
  
  fMassVsPtVsYME=new TH3F("hMassVsPtVsYME","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
  fMassVsPtVsYME->Sumw2();
  fMassVsPtVsYME->SetMinimum(0);
  fOutput->Add(fMassVsPtVsYME);

  fMassVsPtVsYMELSpp=new TH3F("hMassVsPtVsYMELSpp","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
  fMassVsPtVsYMELSpp->Sumw2();
  fMassVsPtVsYMELSpp->SetMinimum(0);
  fOutput->Add(fMassVsPtVsYMELSpp);

  fMassVsPtVsYMELSmm=new TH3F("hMassVsPtVsYMELSmm","",nMassBins,fMinMass,maxm,nPtBins,0.,maxPt,20,-1.,1.);
  fMassVsPtVsYMELSmm->Sumw2();
  fMassVsPtVsYMELSmm->SetMinimum(0);
  fOutput->Add(fMassVsPtVsYMELSmm);

  fNOfPools=fNzVertPools*fNMultPools;
  if(!fzVertPoolLims || !fMultPoolLims) fNOfPools=1;
  if(fDoEventMixing==2) fNOfPools=1;
  if(fNOfPools>1 && fzVertPoolLims && fMultPoolLims){
    fEventsPerPool=new TH2F("hEventsPerPool","hEventsPerPool",fNzVertPools,fzVertPoolLims,fNMultPools,fMultPoolLims);
    fMixingsPerPool=new TH2F("hMixingsPerPool","hMixingsPerPool",fNzVertPools,fzVertPoolLims,fNMultPools,fMultPoolLims);
  }else{
    fEventsPerPool=new TH2F("hEventsPerPool","hEventsPerPool",1,-10.,10.,1,-0.5,2000.5);
    fMixingsPerPool=new TH2F("hMixingsPerPool","hMixingsPerPool",1,-10.,10.,1,-0.5,2000.5);
  }
  fEventsPerPool->Sumw2();
  fEventsPerPool->SetMinimum(0);
  fOutput->Add(fEventsPerPool);
  fMixingsPerPool->Sumw2();
  fMixingsPerPool->SetMinimum(0);
  fOutput->Add(fMixingsPerPool);

  //Counter for Normalization
  fCounter = new AliNormalizationCounter("NormalizationCounter");
  fCounter->Init();
  
  fKaonTracks = new TObjArray();
  fPionTracks=new TObjArray();
  fKaonTracks->SetOwner();
  fPionTracks->SetOwner();

  fEventBuffer = new TTree*[fNOfPools];
  for(Int_t i=0; i<fNOfPools; i++){
    fEventBuffer[i]=new TTree(Form("EventBuffer_%d",i), "Temporary buffer for event mixing");
    fEventBuffer[i]->Branch("zVertex", &fVtxZ);
    fEventBuffer[i]->Branch("multiplicity", &fMultiplicity);
    fEventBuffer[i]->Branch("eventInfo", "TObjString",&fEventInfo);
    fEventBuffer[i]->Branch("karray", "TObjArray", &fKaonTracks);
    fEventBuffer[i]->Branch("parray", "TObjArray", &fPionTracks);
  }

  PostData(1,fOutput);
  PostData(2,fCounter);
}

//________________________________________________________________________
void AliAnalysisTaskCombinHF::UserExec(Option_t */*option*/){
  //Build the 3-track combinatorics (+-+ and -+-) for D+->Kpipi decays
  
  AliAODEvent *aod = dynamic_cast<AliAODEvent*> (InputEvent());
  if(!aod && AODEvent() && IsStandardAOD()) {
    // In case there is an AOD handler writing a standard AOD, use the AOD
    // event in memory rather than the input (ESD) event.
    aod = dynamic_cast<AliAODEvent*> (AODEvent());
  }
  if(!aod){
    printf("AliAnalysisTaskCombinHF::UserExec: AOD not found!\n");
    return;
  }
  
  // fix for temporary bug in ESDfilter
  // the AODs with null vertex pointer didn't pass the PhysSel
  if(!aod->GetPrimaryVertex() || TMath::Abs(aod->GetMagneticField())<0.001) return;
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler *inputHandler=(AliInputEventHandler*)mgr->GetInputEventHandler();
  AliPIDResponse *pidResp=inputHandler->GetPIDResponse();
  fPidHF->SetPidResponse(pidResp);
  
  
  fHistNEvents->Fill(0); // count event
  // Post the data already here
  PostData(1,fOutput);
  
  fCounter->StoreEvent(aod,fAnalysisCuts,fReadMC);
  
  Bool_t isEvSel=fAnalysisCuts->IsEventSelected(aod);
  if(fAnalysisCuts->IsEventRejectedDueToTrigger() || fAnalysisCuts->IsEventRejectedDuePhysicsSelection()){
    if(fAnalysisCuts->IsEventRejectedDueToTrigger()) fHistNEvents->Fill(2);
    if(fAnalysisCuts->IsEventRejectedDuePhysicsSelection()) fHistNEvents->Fill(3);
  }else{
    if(fAnalysisCuts->IsEventRejectedDueToCentrality()){
      fHistNEvents->Fill(8);
    }else{
      if(fAnalysisCuts->IsEventRejectedDueToNotRecoVertex() || fAnalysisCuts->IsEventRejectedDueToVertexContributors()){
	if(fAnalysisCuts->IsEventRejectedDueToNotRecoVertex())fHistNEvents->Fill(4);
	if(fAnalysisCuts->IsEventRejectedDueToVertexContributors())fHistNEvents->Fill(5);
      }else{
	if(fAnalysisCuts->IsEventRejectedDueToZVertexOutsideFiducialRegion())fHistNEvents->Fill(6);
	else if(fAnalysisCuts->IsEventRejectedDueToPileup())fHistNEvents->Fill(7);
      }
    }
  }

  
  if(!isEvSel)return;
  
  fHistNEvents->Fill(1);
  
  TClonesArray *arrayMC=0;
  AliAODMCHeader *mcHeader=0;
  if(fReadMC){
    arrayMC =  (TClonesArray*)aod->GetList()->FindObject(AliAODMCParticle::StdBranchName());
    if(!arrayMC) {
      printf("AliAnalysisTaskCombinHF::UserExec: MC particles branch not found!\n");
      return;
    }
    
    // load MC header
    mcHeader =  (AliAODMCHeader*)aod->GetList()->FindObject(AliAODMCHeader::StdBranchName());
    if(!mcHeader) {
      printf("AliAnalysisTaskCombinHF::UserExec: MC header branch not found!\n");
      return;
    }
    FillGenHistos(arrayMC);
  }

  Int_t ntracks=aod->GetNumberOfTracks();
  fVtxZ = aod->GetPrimaryVertex()->GetZ();
  fMultiplicity = AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-1.,1.); 

  // select and flag tracks
  UChar_t* status = new UChar_t[ntracks];
  for(Int_t iTr=0; iTr<ntracks; iTr++){
    status[iTr]=0;
    AliAODTrack* track=dynamic_cast<AliAODTrack*>(aod->GetTrack(iTr));
    if(!track) AliFatal("Not a standard AOD");
    if(IsTrackSelected(track)) status[iTr]+=1;
    
    // PID
    if (fPIDstrategy == knSigma) {
      // nsigma PID
      if(IsKaon(track)) status[iTr]+=2;
      if(IsPion(track)) status[iTr]+=4;
    }
    else if (fPIDstrategy == kBayesianMaxProb || fPIDstrategy == kBayesianThres) {
      // Bayesian PID
      Double_t *weights = new Double_t[AliPID::kSPECIES];
      fPidHF->GetPidCombined()->ComputeProbabilities(track, fPidHF->GetPidResponse(), weights);
      if (fPIDstrategy == kBayesianMaxProb) {
        if (TMath::MaxElement(AliPID::kSPECIES, weights) == weights[AliPID::kKaon]) status[iTr] += 2;
        if (TMath::MaxElement(AliPID::kSPECIES, weights) == weights[AliPID::kPion]) status[iTr] += 4;
      }
      if (fPIDstrategy == kBayesianThres) {
        if (weights[AliPID::kKaon] > fBayesThresKaon) status[iTr] += 2;
        if (weights[AliPID::kPion] > fBayesThresPion) status[iTr] += 4;
      }
      delete[] weights;
    }
    
    fHistTrackStatus->Fill(status[iTr]);
  }
  
  // build the combinatorics
  Int_t nSelected=0;
  Int_t nFiltered=0;
  Double_t dummypos[3]={0.,0.,0.};
  AliAODVertex* v2=new AliAODVertex(dummypos,999.,-1,2);
  AliAODVertex* v3=new AliAODVertex(dummypos,999.,-1,3);
  // dummy values of track impact parameter, needed to build an AliAODRecoDecay object
  Double_t d02[2]={0.,0.};
  Double_t d03[3]={0.,0.,0.};
  AliAODRecoDecay* tmpRD2 = new AliAODRecoDecay(0x0,2,0,d02);
  AliAODRecoDecay* tmpRD3 = new AliAODRecoDecay(0x0,3,1,d03);
  UInt_t pdg0[2]={321,211};
  UInt_t pdgp[3]={321,211,211};
  //  UInt_t pdgs[3]={321,321,211};
  Double_t tmpp[3];
  Double_t px[3],py[3],pz[3];
  Int_t dgLabels[3];
  fKaonTracks->Delete();
  fPionTracks->Delete();
 
  for(Int_t iTr1=0; iTr1<ntracks; iTr1++){
    AliAODTrack* trK=dynamic_cast<AliAODTrack*>(aod->GetTrack(iTr1));
    if(!trK) AliFatal("Not a standard AOD");
    if((status[iTr1] & 1)==0) continue;
    if(fDoEventMixing>0){
      if(status[iTr1] & 2) fKaonTracks->AddLast(new TLorentzVector(trK->Px(),trK->Py(),trK->Pz(),trK->Charge()));
      if(status[iTr1] & 4) fPionTracks->AddLast(new TLorentzVector(trK->Px(),trK->Py(),trK->Pz(),trK->Charge()));
    }
    if((status[iTr1] & 2)==0) continue;
    Int_t chargeK=trK->Charge();
    trK->GetPxPyPz(tmpp);
    px[0] = tmpp[0];
    py[0] = tmpp[1];
    pz[0] = tmpp[2];
    dgLabels[0]=trK->GetLabel();
    for(Int_t iTr2=0; iTr2<ntracks; iTr2++){
      if((status[iTr2] & 1)==0) continue;
      if((status[iTr2] & 4)==0) continue;
      if(iTr1==iTr2) continue;
      AliAODTrack* trPi1=dynamic_cast<AliAODTrack*>(aod->GetTrack(iTr2));
      if(!trPi1) AliFatal("Not a standard AOD");
      Int_t chargePi1=trPi1->Charge();
      trPi1->GetPxPyPz(tmpp);
      px[1] = tmpp[0];
      py[1] = tmpp[1];
      pz[1] = tmpp[2];
      dgLabels[1]=trPi1->GetLabel();
      if(chargePi1==chargeK){
        if(fMeson==kDzero) FillLSHistos(421,2,tmpRD2,px,py,pz,pdg0,chargePi1);
        continue;
      }
      if(fMeson==kDzero){
        nFiltered++;
        v2->AddDaughter(trK);
        v2->AddDaughter(trPi1);
        tmpRD2->SetSecondaryVtx(v2);
        Bool_t ok=FillHistos(421,2,tmpRD2,px,py,pz,pdg0,arrayMC,dgLabels);
        v2->RemoveDaughters();
        if(ok) nSelected++;
      }else{
        for(Int_t iTr3=iTr2+1; iTr3<ntracks; iTr3++){
          if((status[iTr3] & 1)==0) continue;
          if((status[iTr3] & 4)==0) continue;
          if(iTr1==iTr3) continue;
          AliAODTrack* trPi2=dynamic_cast<AliAODTrack*>(aod->GetTrack(iTr3));
          if(!trPi2) AliFatal("Not a standard AOD");
          Int_t chargePi2=trPi2->Charge();
          if(chargePi2==chargeK) continue;
          nFiltered++;
          trPi2->GetPxPyPz(tmpp);
          px[2] = tmpp[0];
          py[2] = tmpp[1];
          pz[2] = tmpp[2];
          dgLabels[2]=trPi2->GetLabel();
          v3->AddDaughter(trK);
          v3->AddDaughter(trPi1);
          v3->AddDaughter(trPi2);
          tmpRD3->SetSecondaryVtx(v3);
          Bool_t ok=FillHistos(411,3,tmpRD3,px,py,pz,pdgp,arrayMC,dgLabels);
          v3->RemoveDaughters();
          if(ok) nSelected++;
        }
      }
    }
  }
  
  delete [] status;
  delete v2;
  delete v3;
  delete tmpRD2;
  delete tmpRD3;
  
  fNSelected->Fill(nSelected);
  
  fCounter->StoreCandidates(aod,nFiltered,kTRUE);
  fCounter->StoreCandidates(aod,nSelected,kFALSE);
  fEventInfo->SetString(Form("Ev%d_esd%d_Pi%d_K%d",mgr->GetNcalls(),((AliAODHeader*)aod->GetHeader())->GetEventNumberESDFile(),fPionTracks->GetEntries(),fKaonTracks->GetEntries()));
  if(fDoEventMixing==1){
    Int_t ind=GetPoolIndex(fVtxZ,fMultiplicity);
    if(ind>=0 && ind<fNOfPools){
      fEventsPerPool->Fill(fVtxZ,fMultiplicity);
      fEventBuffer[ind]->Fill();
      if(fEventBuffer[ind]->GetEntries() >= fNumberOfEventsForMixing){
	fMixingsPerPool->Fill(fVtxZ,fMultiplicity);
	  DoMixingWithPools(ind);
	  ResetPool(ind);
      }
    }
  }else if(fDoEventMixing==2){ // mix with cuts, no pools
      fEventBuffer[0]->Fill();
  }
  PostData(1,fOutput);
  PostData(2,fCounter);
  
  return;
}

//________________________________________________________________________
void AliAnalysisTaskCombinHF::FillLSHistos(Int_t pdgD,Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t *pdgdau, Int_t charge){
  // Fill histos for LS candidates
  
  tmpRD->SetPxPyPzProngs(nProngs,px,py,pz);
  Double_t pt = tmpRD->Pt();
  Double_t minv2 = tmpRD->InvMass2(nProngs,pdgdau);
  if(minv2>fMinMass*fMinMass && minv2<fMaxMass*fMaxMass){
    Double_t rapid = tmpRD->Y(pdgD);
    if(fAnalysisCuts->IsInFiducialAcceptance(pt,rapid)){
      if(charge>0) fMassVsPtVsYLSpp->Fill(TMath::Sqrt(minv2),pt,rapid);
      else fMassVsPtVsYLSmm->Fill(TMath::Sqrt(minv2),pt,rapid);
    }
  }
  return;
}

//________________________________________________________________________
void AliAnalysisTaskCombinHF::FillGenHistos(TClonesArray* arrayMC){
  // Fill histos with generated quantities
  Int_t totPart=arrayMC->GetEntriesFast();
  Int_t thePDG=411;
  Int_t nProng=3;
  if(fMeson==kDzero){
    thePDG=421;
    nProng=2;
  }
  for(Int_t ip=0; ip<totPart; ip++){
    AliAODMCParticle *part = (AliAODMCParticle*)arrayMC->At(ip);
    if(TMath::Abs(part->GetPdgCode())==thePDG){
      Int_t orig=AliVertexingHFUtils::CheckOrigin(arrayMC,part,fGoUpToQuark);
      fHistCheckOrigin->Fill(orig);
      if(fPromptFeeddown==kFeeddown && orig!=5) continue;
      else if(fPromptFeeddown==kPrompt && orig!=4) continue;
      else if(fPromptFeeddown==kBoth && orig<4) continue;
      fHistCheckOriginSel->Fill(orig);
      Int_t deca=0;
      Bool_t isGoodDecay=kFALSE;
      Int_t labDau[4]={-1,-1,-1,-1};
      if(fMeson==kDzero){
        deca=AliVertexingHFUtils::CheckD0Decay(arrayMC,part,labDau);
        if(part->GetNDaughters()!=2) continue;
        if(deca==1) isGoodDecay=kTRUE;
      }else if(fMeson==kDplus){
        deca=AliVertexingHFUtils::CheckDplusDecay(arrayMC,part,labDau);
        if(deca>0) isGoodDecay=kTRUE;
      }
      fHistCheckDecChan->Fill(deca);
      if(labDau[0]==-1){
        //	printf(Form("Meson %d Label of daughters not filled correctly -- %d\n",fMeson,isGoodDecay));
        continue; //protection against unfilled array of labels
      }
      Bool_t isInAcc=CheckAcceptance(arrayMC,nProng,labDau);
      if(isInAcc) fHistCheckDecChanAcc->Fill(deca);
      if(isGoodDecay){
        Double_t ptgen=part->Pt();
        Double_t ygen=part->Y();
	if(fAnalysisCuts->IsInFiducialAcceptance(ptgen,ygen)){
	  fPtVsYVsMultGen->Fill(ptgen,ygen,fMultiplicity);
	  if(TMath::Abs(ygen)<0.5) fPtVsYVsMultGenLimAcc->Fill(ptgen,ygen,fMultiplicity);
	  if(isInAcc) fPtVsYVsMultGenAcc->Fill(ptgen,ygen,fMultiplicity);
	}
        if(TMath::Abs(ygen)<0.9) fPtVsYVsMultGenLargeAcc->Fill(ptgen,ygen,fMultiplicity);
      }
    }
  }
}

//________________________________________________________________________
Bool_t AliAnalysisTaskCombinHF::FillHistos(Int_t pdgD,Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t *pdgdau, TClonesArray *arrayMC, Int_t* dgLabels){
  // Fill histos for candidates with proper charge sign
  
  Bool_t accept=kFALSE;
  
  tmpRD->SetPxPyPzProngs(nProngs,px,py,pz);
  Double_t pt = tmpRD->Pt();
  Double_t minv2 = tmpRD->InvMass2(nProngs,pdgdau);
  Double_t mass=TMath::Sqrt(minv2);
  
  if(minv2>fMinMass*fMinMass && minv2<fMaxMass*fMaxMass){
    Double_t rapid = tmpRD->Y(pdgD);
    if(fAnalysisCuts->IsInFiducialAcceptance(pt,rapid)){
      fMassVsPtVsY->Fill(mass,pt,rapid);
      accept=kTRUE;
      if(fReadMC){
        Int_t signPdg[3]={0,0,0};
        for(Int_t iii=0; iii<nProngs; iii++) signPdg[iii]=pdgdau[iii];
        Int_t labD = tmpRD->MatchToMC(pdgD,arrayMC,nProngs,signPdg);
        if(labD>=0){
          AliAODMCParticle* part = dynamic_cast<AliAODMCParticle*>(arrayMC->At(TMath::Abs(dgLabels[0])));
          if(part){
            Int_t orig=AliVertexingHFUtils::CheckOrigin(arrayMC,part,fGoUpToQuark);
            if((fPromptFeeddown==kFeeddown && orig==5)|| (fPromptFeeddown==kPrompt && orig==4) || (fPromptFeeddown==kBoth && orig>=4)) {
              
              Int_t pdgCode = TMath::Abs( part->GetPdgCode() );
              if(pdgCode==321){
                fMassVsPtVsYSig->Fill(mass,pt,rapid);
                AliAODMCParticle* dmes =  dynamic_cast<AliAODMCParticle*>(arrayMC->At(labD));
                fPtVsYVsMultReco->Fill(dmes->Pt(),dmes->Y(),fMultiplicity);
              }else{
                fMassVsPtVsYRefl->Fill(mass,pt,rapid);
              }
            }
          }
        }else{
          fMassVsPtVsYBkg->Fill(mass,pt,rapid);
        }
      }
    }
  }
  
  Int_t nRotated=0;
  Double_t massRot=0;// calculated later only if candidate is acceptable
  Double_t angleProngXY;
  if(TMath::Abs(pdgD)==421)angleProngXY=TMath::ACos((px[0]*px[1]+py[0]*py[1])/TMath::Sqrt((px[0]*px[0]+py[0]*py[0])*(px[1]*px[1]+py[1]*py[1])));
  else {
    angleProngXY=TMath::ACos(((px[0]+px[1])*px[2]+(py[0]+py[1])*py[2])/TMath::Sqrt(((px[0]+px[1])*(px[0]+px[1])+(py[0]+py[1])*(py[0]+py[1]))*(px[2]*px[2]+py[2]*py[2])));
  }
  Double_t ptOrig=pt;
  
  
  Double_t rotStep=(fMaxAngleForRot-fMinAngleForRot)/(fNRotations-1); // -1 is to ensure that the last rotation is done with angle=fMaxAngleForRot
  Double_t rotStep3=(fMaxAngleForRot3-fMinAngleForRot3)/(fNRotations-1); // -1 is to ensure that the last rotation is done with angle=fMaxAngleForRot
  
  for(Int_t irot=0; irot<fNRotations; irot++){
    Double_t phirot=fMinAngleForRot+rotStep*irot;
    Double_t tmpx=px[0];
    Double_t tmpy=py[0];
    Double_t tmpx2=px[2];
    Double_t tmpy2=py[2];
    px[0]=tmpx*TMath::Cos(phirot)-tmpy*TMath::Sin(phirot);
    py[0]=tmpx*TMath::Sin(phirot)+tmpy*TMath::Cos(phirot);
    if(pdgD==411 || pdgD==431){
      Double_t phirot2=fMinAngleForRot3+rotStep3*irot;
      px[2]=tmpx*TMath::Cos(phirot2)-tmpy*TMath::Sin(phirot2);
      py[2]=tmpx*TMath::Sin(phirot2)+tmpy*TMath::Cos(phirot2);
    }
    tmpRD->SetPxPyPzProngs(nProngs,px,py,pz);
    pt = tmpRD->Pt();
    minv2 = tmpRD->InvMass2(nProngs,pdgdau);
    if(minv2>fMinMass*fMinMass && minv2<fMaxMass*fMaxMass){
      Double_t rapid = tmpRD->Y(pdgD);
      if(fAnalysisCuts->IsInFiducialAcceptance(pt,rapid)){
        massRot=TMath::Sqrt(minv2);
        fMassVsPtVsYRot->Fill(massRot,pt,rapid);
        nRotated++;
        fDeltaMass->Fill(massRot-mass);
        if(fFullAnalysis){
          Double_t pointRot[5]={mass,massRot-mass,ptOrig,pt-ptOrig,angleProngXY};
          fDeltaMassFullAnalysis->Fill(pointRot);
        }
      }
    }
    px[0]=tmpx;
    py[0]=tmpy;
    if(pdgD==411 || pdgD==431){
      px[2]=tmpx2;
      py[2]=tmpy2;
    }
  }
  fNormRotated->Fill(nRotated);
  
  return accept;
  
}
//________________________________________________________________________
void AliAnalysisTaskCombinHF::FillMEHistos(Int_t pdgD,Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t *pdgdau){
  // Fill histos for candidates in MixedEvents
    
  tmpRD->SetPxPyPzProngs(nProngs,px,py,pz);
  Double_t pt = tmpRD->Pt();
  Double_t minv2 = tmpRD->InvMass2(nProngs,pdgdau);
  Double_t mass=TMath::Sqrt(minv2);

  if(minv2>fMinMass*fMinMass && minv2<fMaxMass*fMaxMass){
    Double_t rapid = tmpRD->Y(pdgD);
    if(fAnalysisCuts->IsInFiducialAcceptance(pt,rapid)){
      fMassVsPtVsYME->Fill(mass,pt,rapid);
    }
  }
  return;
}
//________________________________________________________________________
void AliAnalysisTaskCombinHF::FillMEHistosLS(Int_t pdgD,Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t *pdgdau, Int_t charge){
  // Fill histos for candidates in MixedEvents
    
  tmpRD->SetPxPyPzProngs(nProngs,px,py,pz);
  Double_t pt = tmpRD->Pt();
  Double_t minv2 = tmpRD->InvMass2(nProngs,pdgdau);
  Double_t mass=TMath::Sqrt(minv2);

  if(minv2>fMinMass*fMinMass && minv2<fMaxMass*fMaxMass){
    Double_t rapid = tmpRD->Y(pdgD);
    if(fAnalysisCuts->IsInFiducialAcceptance(pt,rapid)){
      if(charge>0) fMassVsPtVsYMELSpp->Fill(mass,pt,rapid);
      if(charge<0) fMassVsPtVsYMELSmm->Fill(mass,pt,rapid);
    }
  }
  return;
}
//________________________________________________________________________
Bool_t AliAnalysisTaskCombinHF::IsTrackSelected(AliAODTrack* track){
  // track selection cuts
  
  if(track->Charge()==0) return kFALSE;
  if(track->GetID()<0&&!fKeepNegID)return kFALSE;
  if(!(track->TestFilterMask(fFilterMask))) return kFALSE;
  if(!SelectAODTrack(track,fTrackCutsAll)) return kFALSE;
  return kTRUE;
}

//________________________________________________________________________
Bool_t AliAnalysisTaskCombinHF::IsKaon(AliAODTrack* track){
  // kaon selection cuts
  
  if(!fPidHF) return kTRUE;
  Int_t isKaon=fPidHF->MakeRawPid(track,AliPID::kKaon);
  Double_t mom=track->P();
  if(SelectAODTrack(track,fTrackCutsKaon)) {
    if(isKaon>=1)    return kTRUE;
    if(isKaon<=-1) return kFALSE;
    switch(fPIDselCaseZero){// isKaon=0
      case 0:
      {
        return kTRUE;// always accept
      }
        break;
      case 1:
      {
        if(isKaon>=0 && track->P()>fmaxPforIDKaon)return kTRUE;// accept only if in a compatibility band starting from p=fmaxPforIDKaon
      }
        break;
      case 2:
      {
        if(track->P()>fmaxPforIDKaon)return kTRUE;
        AliPIDResponse *pidResp=fPidHF->GetPidResponse();// more elaborated strategy: asymmetric cuts, with fix momenta and nsigma ranges for the moment
        Double_t nsigma=pidResp->NumberOfSigmasTPC(track,AliPID::kKaon);
        if(nsigma>-2.&& nsigma<3. && mom<0.6)isKaon=1;
        else if(nsigma>-1.&& nsigma<3.&& mom<0.8)isKaon=1;
        if(isKaon==1)return kTRUE;
      }
        break;
      default:
      {
        AliWarning(Form("WRONG CASE OF PID STRATEGY SELECTED: %d (can range from 0 to 2)",fPIDselCaseZero));
        return kFALSE;// actually case 0 could be set as the default and return kTRUE
      }
    }
  }
  
  return kFALSE;
}
//_______________________________________________________________________
Bool_t AliAnalysisTaskCombinHF::IsPion(AliAODTrack* track){
  // pion selection cuts
  
  if(!fPidHF) return kTRUE;
  Int_t isPion=fPidHF->MakeRawPid(track,AliPID::kPion);
  Double_t mom=track->P();
  if(SelectAODTrack(track,fTrackCutsPion)) {
    if(isPion>=1)    return kTRUE;
    if(isPion<=-1) return kFALSE;
    switch(fPIDselCaseZero){// isPion=0
      case 0:
      {
        return kTRUE;// always accept
      }
        break;
      case 1:
      {
        if(track->P()>fmaxPforIDPion)return kTRUE;// accept only if in a compatibility band starting from p=fmaxPforIDPion
      }
        break;
      case 2:
      {
        // more elaborated strategy: asymmetric cuts, with fix momenta and nsigma ranges for the moment
        if(track->P()>fmaxPforIDPion)return kTRUE;
        AliPIDResponse *pidResp=fPidHF->GetPidResponse();
        Double_t nsigma=pidResp->NumberOfSigmasTPC(track,AliPID::kPion);
        if(nsigma<2.&& nsigma>-3. && mom<0.6)isPion=1;
        else if(nsigma<1. && nsigma> -3. && mom<0.8)isPion=1;
        if(isPion==1)return kTRUE;
      }
        break;
      default:
      {
        AliWarning(Form("WRONG CASE OF PID STRATEGY SELECTED: %d (can range from 0 to 2)",fPIDselCaseZero));
        return kFALSE;// actually case 0 could be set as the default and return kTRUE
      }
    }
  }
  
  return kFALSE;
}

//________________________________________________________________________
Bool_t AliAnalysisTaskCombinHF::SelectAODTrack(AliAODTrack *track, AliESDtrackCuts *cuts){
  // AOD track selection
  
  if(!cuts) return kTRUE;
  
  AliESDtrack esdTrack(track);
  // set the TPC cluster info
  esdTrack.SetTPCClusterMap(track->GetTPCClusterMap());
  esdTrack.SetTPCSharedMap(track->GetTPCSharedMap());
  esdTrack.SetTPCPointsF(track->GetTPCNclsF());
  if(!cuts->IsSelected(&esdTrack)) return kFALSE;
  
  return kTRUE;
}

//_________________________________________________________________
Bool_t AliAnalysisTaskCombinHF::CheckAcceptance(TClonesArray* arrayMC,Int_t nProng, Int_t *labDau){
  // check if the decay products are in the good eta and pt range
  for (Int_t iProng = 0; iProng<nProng; iProng++){
    AliAODMCParticle* mcPartDaughter=dynamic_cast<AliAODMCParticle*>(arrayMC->At(labDau[iProng]));
    if(!mcPartDaughter) return kFALSE;
    Double_t eta = mcPartDaughter->Eta();
    Double_t pt = mcPartDaughter->Pt();
    if (TMath::Abs(eta) > fEtaAccCut || pt < fPtAccCut) return kFALSE;
  }
  return kTRUE;
}
//_________________________________________________________________
Int_t AliAnalysisTaskCombinHF::GetPoolIndex(Double_t zvert, Double_t mult){
  // check in which of the pools the current event falls
  if(!fzVertPoolLims || !fMultPoolLims) return 0;
  Int_t theBinZ=TMath::BinarySearch(fNzVertPoolsLimSize,fzVertPoolLims,zvert);
  if(theBinZ<0 || theBinZ>=fNzVertPoolsLimSize) return -1;
  Int_t theBinM=TMath::BinarySearch(fNMultPoolsLimSize,fMultPoolLims,mult);
  if(theBinM<0 || theBinM>=fNMultPoolsLimSize) return -1;
  return fNMultPools*theBinZ+theBinM;
}
//_________________________________________________________________
void AliAnalysisTaskCombinHF::ResetPool(Int_t poolIndex){
  // delete the contets of the pool
  if(poolIndex<0 || poolIndex>=fNOfPools) return;
  delete fEventBuffer[poolIndex];
  fEventBuffer[poolIndex]=new TTree(Form("EventBuffer_%d",poolIndex), "Temporary buffer for event mixing");
  fEventBuffer[poolIndex]->Branch("zVertex", &fVtxZ);
  fEventBuffer[poolIndex]->Branch("multiplicity", &fMultiplicity);
  fEventBuffer[poolIndex]->Branch("eventInfo", "TObjString",&fEventInfo);
  fEventBuffer[poolIndex]->Branch("karray", "TObjArray", &fKaonTracks);
  fEventBuffer[poolIndex]->Branch("parray", "TObjArray", &fPionTracks);
  return;
}
//_________________________________________________________________
Bool_t AliAnalysisTaskCombinHF::CanBeMixed(Double_t zv1, Double_t zv2, Double_t mult1, Double_t mult2){
  // check mixing
  if(TMath::Abs(zv2-zv1)>fMaxzVertDistForMix) return kFALSE;
  if(TMath::Abs(mult2-mult1)>fMaxMultDiffForMix) return kFALSE;
  return kTRUE;
}
//_________________________________________________________________
void AliAnalysisTaskCombinHF::DoMixingWithCuts(){
  // perform mixed event analysis

  if(fDoEventMixing==0) return;
  Int_t nEvents=fEventBuffer[0]->GetEntries();
  if(fDebug > 1) printf("AnalysisTaskCombinHF::DoMixingWithCuts Start Event Mixing of %d events\n",nEvents);

  TObjArray* karray=0x0;
  TObjArray* parray=0x0;
  Double_t zVertex,mult;
  TObjString* eventInfo=0x0;
  fEventBuffer[0]->SetBranchAddress("karray", &karray);
  fEventBuffer[0]->SetBranchAddress("parray", &parray);
  fEventBuffer[0]->SetBranchAddress("eventInfo",&eventInfo);
  fEventBuffer[0]->SetBranchAddress("zVertex", &zVertex);
  fEventBuffer[0]->SetBranchAddress("multiplicity", &mult);
  Double_t d02[2]={0.,0.};
  Double_t d03[3]={0.,0.,0.};
  AliAODRecoDecay* tmpRD2 = new AliAODRecoDecay(0x0,2,0,d02);
  AliAODRecoDecay* tmpRD3 = new AliAODRecoDecay(0x0,3,1,d03);
  UInt_t pdg0[2]={321,211};
  //  UInt_t pdgp[3]={321,211,211};
  Double_t px[3],py[3],pz[3];
  Int_t evId1,esdId1,nk1,np1;
  Int_t evId2,esdId2,nk2,np2;

  for(Int_t iEv1=0; iEv1<nEvents; iEv1++){
    fEventBuffer[0]->GetEvent(iEv1);
    TObjArray* karray1=(TObjArray*)karray->Clone();
    Double_t zVertex1=zVertex;
    Double_t mult1=mult;
    Int_t nKaons=karray1->GetEntries();
    Int_t nPionsForCheck=parray->GetEntries();
    sscanf((eventInfo->String()).Data(),"Ev%d_esd%d_Pi%d_K%d",&evId1,&esdId1,&np1,&nk1);
    if(nk1!=nKaons || np1!=nPionsForCheck){ 
      printf("AnalysisTaskCombinHF::DoMixingWithCuts ERROR: read event does not match to the stored one\n");
      delete karray1;
      continue;
    }
    for(Int_t iEv2=0; iEv2<fNumberOfEventsForMixing; iEv2++){
      Int_t iToMix=iEv1+iEv2+1;
      if(iEv1>=(nEvents-fNumberOfEventsForMixing)) iToMix=iEv1-iEv2-1;
      if(iToMix<0) continue;
      if(iToMix==iEv1) continue;
      if(iToMix<iEv1) continue;
      fEventBuffer[0]->GetEvent(iToMix);
      Double_t zVertex2=zVertex;
      Double_t mult2=mult;
      if(TMath::Abs(zVertex2-zVertex1)<0.0001 && TMath::Abs(mult2-mult1)<0.001){
	printf("AnalysisTaskCombinHF::DoMixingWithCuts ERROR: same event in mixing??? %d %d   %f %f  %f %f\n",iEv1,iEv2,zVertex1,zVertex2,mult1,mult2);
	continue;
      }
      TObjArray* parray2=(TObjArray*)parray->Clone();
      Int_t nPions=parray2->GetEntries();
      Int_t nKaonsForCheck=karray->GetEntries();
      sscanf((eventInfo->String()).Data(),"Ev%d_esd%d_Pi%d_K%d",&evId2,&esdId2,&np2,&nk2);
      if(nk2!=nKaonsForCheck || np2!=nPions){ 
	printf("AnalysisTaskCombinHF::DoMixingWithCuts ERROR: read event does not match to the stored one\n");
	delete parray2;
	continue;
      }
      if(evId2==evId1 && esdId2==esdId1){
 	printf("AnalysisTaskCombinHF::DoMixingWithCuts ERROR: same event in mixing??? %d %d   nK=%d %d  nPi=%d %d\n",evId1,evId2,nKaons,nKaonsForCheck,nPionsForCheck,nPions);
	delete parray2;
	continue;
      }
      if(CanBeMixed(zVertex1,zVertex2,mult1,mult2)){
	for(Int_t iTr1=0; iTr1<nKaons; iTr1++){
	  TLorentzVector* trK=(TLorentzVector*)karray1->At(iTr1);
	  Double_t chargeK=trK->T();
	  px[0] = trK->Px();
	  py[0] = trK->Py();
	  pz[0] = trK->Pz();
	  for(Int_t iTr2=0; iTr2<nPions; iTr2++){
	    TLorentzVector* trPi1=(TLorentzVector*)parray2->At(iTr2);
	    Double_t chargePi1=trPi1->T();
	    px[1] = trPi1->Px();
	    py[1] = trPi1->Py();
	    pz[1] = trPi1->Pz();
	    if(fMeson==kDzero && chargePi1*chargeK<0){
	      FillMEHistos(421,2,tmpRD2,px,py,pz,pdg0);
	    }	  
	    if(fMeson==kDzero && chargePi1*chargeK>0){
	      FillMEHistosLS(421,2,tmpRD2,px,py,pz,pdg0,(Int_t)chargePi1);
	    }
	  }
	}
      }
      delete parray2;
    }
    delete karray1;
  }
  delete tmpRD2;
  delete tmpRD3;
}
//_________________________________________________________________
void AliAnalysisTaskCombinHF::DoMixingWithPools(Int_t poolIndex){
  // perform mixed event analysis

  if(fDoEventMixing==0) return;
  if(poolIndex<0 || poolIndex>fNzVertPools*fNMultPools) return;

  Int_t nEvents=fEventBuffer[poolIndex]->GetEntries();
  if(fDebug > 1) printf("AliAnalysisTaskCombinHF::DoMixingWithPools Start Event Mixing of %d events\n",nEvents);
  TObjArray* karray=0x0;
  TObjArray* parray=0x0;
  Double_t zVertex,mult;
  TObjString* eventInfo=0x0;
  fEventBuffer[poolIndex]->SetBranchAddress("karray", &karray);
  fEventBuffer[poolIndex]->SetBranchAddress("parray", &parray);
  fEventBuffer[poolIndex]->SetBranchAddress("eventInfo",&eventInfo);
  fEventBuffer[poolIndex]->SetBranchAddress("zVertex", &zVertex);
  fEventBuffer[poolIndex]->SetBranchAddress("multiplicity", &mult);

  // dummy values of track impact parameter, needed to build an AliAODRecoDecay object
  Double_t d02[2]={0.,0.};
  Double_t d03[3]={0.,0.,0.};
  AliAODRecoDecay* tmpRD2 = new AliAODRecoDecay(0x0,2,0,d02);
  AliAODRecoDecay* tmpRD3 = new AliAODRecoDecay(0x0,3,1,d03);
  UInt_t pdg0[2]={321,211};
  UInt_t pdgp[3]={321,211,211};
  Double_t px[3],py[3],pz[3];
  Int_t evId1,esdId1,nk1,np1;
  Int_t evId2,esdId2,nk2,np2;

  for(Int_t iEv1=0; iEv1<nEvents; iEv1++){
    fEventBuffer[poolIndex]->GetEvent(iEv1);
    TObjArray* karray1=(TObjArray*)karray->Clone();
    Double_t zVertex1=zVertex;
    Double_t mult1=mult;
    Int_t nKaons=karray1->GetEntries();
    Int_t nPionsForCheck=parray->GetEntries();
    sscanf((eventInfo->String()).Data(),"Ev%d_esd%d_Pi%d_K%d",&evId1,&esdId1,&np1,&nk1);
    if(nk1!=nKaons || np1!=nPionsForCheck){ 
      printf("AliAnalysisTaskCombinHF::DoMixingWithPools ERROR: read event does not match to the stored one\n");
      delete karray1;
      continue;
    }
    for(Int_t iEv2=0; iEv2<nEvents; iEv2++){
      if(iEv2==iEv1) continue;
      fEventBuffer[poolIndex]->GetEvent(iEv2);
      Double_t zVertex2=zVertex;
      Double_t mult2=mult;
      if(TMath::Abs(zVertex2-zVertex1)<0.0001 && TMath::Abs(mult2-mult1)<0.001){
	printf("AliAnalysisTaskCombinHF::DoMixingWithPools ERROR: same event in mixing??? %d %d   %f %f  %f %f\n",iEv1,iEv2,zVertex1,zVertex2,mult1,mult2);
	continue;
      }
      TObjArray* parray2=(TObjArray*)parray->Clone();
      Int_t nPions=parray2->GetEntries();
      Int_t nKaonsForCheck=karray->GetEntries();
      sscanf((eventInfo->String()).Data(),"Ev%d_esd%d_Pi%d_K%d",&evId2,&esdId2,&np2,&nk2);
      if(nk2!=nKaonsForCheck || np2!=nPions){ 
	printf("AliAnalysisTaskCombinHF::DoMixingWithPools ERROR: read event does not match to the stored one\n");
	delete parray2;
	continue;
      }
      if(evId2==evId1 && esdId2==esdId1){
 	printf("AliAnalysisTaskCombinHF::DoMixingWithPools ERROR: same event in mixing??? %d %d   nK=%d %d  nPi=%d %d\n",evId1,evId2,nKaons,nKaonsForCheck,nPionsForCheck,nPions);
	delete parray2;
	continue;
      }     
      TObjArray* parray3=0x0;
      Int_t nPions3=0;
      if(fMeson!=kDzero){
	Int_t iEv3=iEv2+1;
	if(iEv3==iEv1) iEv3=iEv2+2;
	if(iEv3>=nEvents) iEv3=iEv2-3;
	if(nEvents==2) iEv3=iEv1;
	if(iEv3<0) iEv3=iEv2-1;
	fEventBuffer[poolIndex]->GetEvent(iEv3);
	parray3=(TObjArray*)parray->Clone();
	nPions3=parray3->GetEntries();
      }
      for(Int_t iTr1=0; iTr1<nKaons; iTr1++){
	TLorentzVector* trK=(TLorentzVector*)karray1->At(iTr1);
	Double_t chargeK=trK->T();
	px[0] = trK->Px();
	py[0] = trK->Py();
	pz[0] = trK->Pz();
	for(Int_t iTr2=0; iTr2<nPions; iTr2++){
	  TLorentzVector* trPi1=(TLorentzVector*)parray2->At(iTr2);
	  Double_t chargePi1=trPi1->T();
	  px[1] = trPi1->Px();
	  py[1] = trPi1->Py();
	  pz[1] = trPi1->Pz();
	  if(chargePi1*chargeK<0){
	    if(fMeson==kDzero){
	      FillMEHistos(421,2,tmpRD2,px,py,pz,pdg0);
	    }else{
	      if(parray3){
		for(Int_t iTr3=iTr2+1; iTr3<nPions3; iTr3++){
		  TLorentzVector* trPi2=(TLorentzVector*)parray3->At(iTr3);
		  Double_t chargePi2=trPi2->T();
		  px[2] = trPi2->Px();
		  py[2] = trPi2->Py();
		  pz[2] = trPi2->Pz();
		  if(chargePi2*chargeK<0){
		    FillMEHistos(411,3,tmpRD3,px,py,pz,pdgp);
		  }
		}
	      }
	    }
	  }else if(chargePi1*chargeK>0){
	    if(fMeson==kDzero) FillMEHistosLS(421,2,tmpRD2,px,py,pz,pdg0,(Int_t)chargePi1);
	  }
	}
      }
      delete parray3;
      delete parray2;
    }
    delete karray1;
  }
  delete tmpRD2;
  delete tmpRD3;
}
//_________________________________________________________________
void AliAnalysisTaskCombinHF::FinishTaskOutput()
{
  // perform mixed event analysis
  if(fDoEventMixing==0) return;
  printf("AliAnalysisTaskCombinHF: FinishTaskOutput\n");

  if(fDoEventMixing==1){
    for(Int_t i=0; i<fNOfPools; i++){
      Int_t nEvents=fEventBuffer[i]->GetEntries();
      if(nEvents>1) DoMixingWithPools(i);	  
    }
  }else if(fDoEventMixing==2){
    DoMixingWithCuts();
  }
}
//_________________________________________________________________
void AliAnalysisTaskCombinHF::Terminate(Option_t */*option*/)
{
  // Terminate analysis
  //
  if(fDebug > 1) printf("AliAnalysisTaskCombinHF: Terminate() \n");
  fOutput = dynamic_cast<TList*> (GetOutputData(1));
  if (!fOutput) {
    printf("ERROR: fOutput not available\n");
    return;
  }
  fHistNEvents = dynamic_cast<TH1F*>(fOutput->FindObject("hNEvents"));
  if(fHistNEvents){
    printf("Number of analyzed events = %d\n",(Int_t)fHistNEvents->GetBinContent(2));
  }else{
    printf("ERROR: fHistNEvents not available\n");
    return;
  }
  return;
}

 AliAnalysisTaskCombinHF.cxx:1
 AliAnalysisTaskCombinHF.cxx:2
 AliAnalysisTaskCombinHF.cxx:3
 AliAnalysisTaskCombinHF.cxx:4
 AliAnalysisTaskCombinHF.cxx:5
 AliAnalysisTaskCombinHF.cxx:6
 AliAnalysisTaskCombinHF.cxx:7
 AliAnalysisTaskCombinHF.cxx:8
 AliAnalysisTaskCombinHF.cxx:9
 AliAnalysisTaskCombinHF.cxx:10
 AliAnalysisTaskCombinHF.cxx:11
 AliAnalysisTaskCombinHF.cxx:12
 AliAnalysisTaskCombinHF.cxx:13
 AliAnalysisTaskCombinHF.cxx:14
 AliAnalysisTaskCombinHF.cxx:15
 AliAnalysisTaskCombinHF.cxx:16
 AliAnalysisTaskCombinHF.cxx:17
 AliAnalysisTaskCombinHF.cxx:18
 AliAnalysisTaskCombinHF.cxx:19
 AliAnalysisTaskCombinHF.cxx:20
 AliAnalysisTaskCombinHF.cxx:21
 AliAnalysisTaskCombinHF.cxx:22
 AliAnalysisTaskCombinHF.cxx:23
 AliAnalysisTaskCombinHF.cxx:24
 AliAnalysisTaskCombinHF.cxx:25
 AliAnalysisTaskCombinHF.cxx:26
 AliAnalysisTaskCombinHF.cxx:27
 AliAnalysisTaskCombinHF.cxx:28
 AliAnalysisTaskCombinHF.cxx:29
 AliAnalysisTaskCombinHF.cxx:30
 AliAnalysisTaskCombinHF.cxx:31
 AliAnalysisTaskCombinHF.cxx:32
 AliAnalysisTaskCombinHF.cxx:33
 AliAnalysisTaskCombinHF.cxx:34
 AliAnalysisTaskCombinHF.cxx:35
 AliAnalysisTaskCombinHF.cxx:36
 AliAnalysisTaskCombinHF.cxx:37
 AliAnalysisTaskCombinHF.cxx:38
 AliAnalysisTaskCombinHF.cxx:39
 AliAnalysisTaskCombinHF.cxx:40
 AliAnalysisTaskCombinHF.cxx:41
 AliAnalysisTaskCombinHF.cxx:42
 AliAnalysisTaskCombinHF.cxx:43
 AliAnalysisTaskCombinHF.cxx:44
 AliAnalysisTaskCombinHF.cxx:45
 AliAnalysisTaskCombinHF.cxx:46
 AliAnalysisTaskCombinHF.cxx:47
 AliAnalysisTaskCombinHF.cxx:48
 AliAnalysisTaskCombinHF.cxx:49
 AliAnalysisTaskCombinHF.cxx:50
 AliAnalysisTaskCombinHF.cxx:51
 AliAnalysisTaskCombinHF.cxx:52
 AliAnalysisTaskCombinHF.cxx:53
 AliAnalysisTaskCombinHF.cxx:54
 AliAnalysisTaskCombinHF.cxx:55
 AliAnalysisTaskCombinHF.cxx:56
 AliAnalysisTaskCombinHF.cxx:57
 AliAnalysisTaskCombinHF.cxx:58
 AliAnalysisTaskCombinHF.cxx:59
 AliAnalysisTaskCombinHF.cxx:60
 AliAnalysisTaskCombinHF.cxx:61
 AliAnalysisTaskCombinHF.cxx:62
 AliAnalysisTaskCombinHF.cxx:63
 AliAnalysisTaskCombinHF.cxx:64
 AliAnalysisTaskCombinHF.cxx:65
 AliAnalysisTaskCombinHF.cxx:66
 AliAnalysisTaskCombinHF.cxx:67
 AliAnalysisTaskCombinHF.cxx:68
 AliAnalysisTaskCombinHF.cxx:69
 AliAnalysisTaskCombinHF.cxx:70
 AliAnalysisTaskCombinHF.cxx:71
 AliAnalysisTaskCombinHF.cxx:72
 AliAnalysisTaskCombinHF.cxx:73
 AliAnalysisTaskCombinHF.cxx:74
 AliAnalysisTaskCombinHF.cxx:75
 AliAnalysisTaskCombinHF.cxx:76
 AliAnalysisTaskCombinHF.cxx:77
 AliAnalysisTaskCombinHF.cxx:78
 AliAnalysisTaskCombinHF.cxx:79
 AliAnalysisTaskCombinHF.cxx:80
 AliAnalysisTaskCombinHF.cxx:81
 AliAnalysisTaskCombinHF.cxx:82
 AliAnalysisTaskCombinHF.cxx:83
 AliAnalysisTaskCombinHF.cxx:84
 AliAnalysisTaskCombinHF.cxx:85
 AliAnalysisTaskCombinHF.cxx:86
 AliAnalysisTaskCombinHF.cxx:87
 AliAnalysisTaskCombinHF.cxx:88
 AliAnalysisTaskCombinHF.cxx:89
 AliAnalysisTaskCombinHF.cxx:90
 AliAnalysisTaskCombinHF.cxx:91
 AliAnalysisTaskCombinHF.cxx:92
 AliAnalysisTaskCombinHF.cxx:93
 AliAnalysisTaskCombinHF.cxx:94
 AliAnalysisTaskCombinHF.cxx:95
 AliAnalysisTaskCombinHF.cxx:96
 AliAnalysisTaskCombinHF.cxx:97
 AliAnalysisTaskCombinHF.cxx:98
 AliAnalysisTaskCombinHF.cxx:99
 AliAnalysisTaskCombinHF.cxx:100
 AliAnalysisTaskCombinHF.cxx:101
 AliAnalysisTaskCombinHF.cxx:102
 AliAnalysisTaskCombinHF.cxx:103
 AliAnalysisTaskCombinHF.cxx:104
 AliAnalysisTaskCombinHF.cxx:105
 AliAnalysisTaskCombinHF.cxx:106
 AliAnalysisTaskCombinHF.cxx:107
 AliAnalysisTaskCombinHF.cxx:108
 AliAnalysisTaskCombinHF.cxx:109
 AliAnalysisTaskCombinHF.cxx:110
 AliAnalysisTaskCombinHF.cxx:111
 AliAnalysisTaskCombinHF.cxx:112
 AliAnalysisTaskCombinHF.cxx:113
 AliAnalysisTaskCombinHF.cxx:114
 AliAnalysisTaskCombinHF.cxx:115
 AliAnalysisTaskCombinHF.cxx:116
 AliAnalysisTaskCombinHF.cxx:117
 AliAnalysisTaskCombinHF.cxx:118
 AliAnalysisTaskCombinHF.cxx:119
 AliAnalysisTaskCombinHF.cxx:120
 AliAnalysisTaskCombinHF.cxx:121
 AliAnalysisTaskCombinHF.cxx:122
 AliAnalysisTaskCombinHF.cxx:123
 AliAnalysisTaskCombinHF.cxx:124
 AliAnalysisTaskCombinHF.cxx:125
 AliAnalysisTaskCombinHF.cxx:126
 AliAnalysisTaskCombinHF.cxx:127
 AliAnalysisTaskCombinHF.cxx:128
 AliAnalysisTaskCombinHF.cxx:129
 AliAnalysisTaskCombinHF.cxx:130
 AliAnalysisTaskCombinHF.cxx:131
 AliAnalysisTaskCombinHF.cxx:132
 AliAnalysisTaskCombinHF.cxx:133
 AliAnalysisTaskCombinHF.cxx:134
 AliAnalysisTaskCombinHF.cxx:135
 AliAnalysisTaskCombinHF.cxx:136
 AliAnalysisTaskCombinHF.cxx:137
 AliAnalysisTaskCombinHF.cxx:138
 AliAnalysisTaskCombinHF.cxx:139
 AliAnalysisTaskCombinHF.cxx:140
 AliAnalysisTaskCombinHF.cxx:141
 AliAnalysisTaskCombinHF.cxx:142
 AliAnalysisTaskCombinHF.cxx:143
 AliAnalysisTaskCombinHF.cxx:144
 AliAnalysisTaskCombinHF.cxx:145
 AliAnalysisTaskCombinHF.cxx:146
 AliAnalysisTaskCombinHF.cxx:147
 AliAnalysisTaskCombinHF.cxx:148
 AliAnalysisTaskCombinHF.cxx:149
 AliAnalysisTaskCombinHF.cxx:150
 AliAnalysisTaskCombinHF.cxx:151
 AliAnalysisTaskCombinHF.cxx:152
 AliAnalysisTaskCombinHF.cxx:153
 AliAnalysisTaskCombinHF.cxx:154
 AliAnalysisTaskCombinHF.cxx:155
 AliAnalysisTaskCombinHF.cxx:156
 AliAnalysisTaskCombinHF.cxx:157
 AliAnalysisTaskCombinHF.cxx:158
 AliAnalysisTaskCombinHF.cxx:159
 AliAnalysisTaskCombinHF.cxx:160
 AliAnalysisTaskCombinHF.cxx:161
 AliAnalysisTaskCombinHF.cxx:162
 AliAnalysisTaskCombinHF.cxx:163
 AliAnalysisTaskCombinHF.cxx:164
 AliAnalysisTaskCombinHF.cxx:165
 AliAnalysisTaskCombinHF.cxx:166
 AliAnalysisTaskCombinHF.cxx:167
 AliAnalysisTaskCombinHF.cxx:168
 AliAnalysisTaskCombinHF.cxx:169
 AliAnalysisTaskCombinHF.cxx:170
 AliAnalysisTaskCombinHF.cxx:171
 AliAnalysisTaskCombinHF.cxx:172
 AliAnalysisTaskCombinHF.cxx:173
 AliAnalysisTaskCombinHF.cxx:174
 AliAnalysisTaskCombinHF.cxx:175
 AliAnalysisTaskCombinHF.cxx:176
 AliAnalysisTaskCombinHF.cxx:177
 AliAnalysisTaskCombinHF.cxx:178
 AliAnalysisTaskCombinHF.cxx:179
 AliAnalysisTaskCombinHF.cxx:180
 AliAnalysisTaskCombinHF.cxx:181
 AliAnalysisTaskCombinHF.cxx:182
 AliAnalysisTaskCombinHF.cxx:183
 AliAnalysisTaskCombinHF.cxx:184
 AliAnalysisTaskCombinHF.cxx:185
 AliAnalysisTaskCombinHF.cxx:186
 AliAnalysisTaskCombinHF.cxx:187
 AliAnalysisTaskCombinHF.cxx:188
 AliAnalysisTaskCombinHF.cxx:189
 AliAnalysisTaskCombinHF.cxx:190
 AliAnalysisTaskCombinHF.cxx:191
 AliAnalysisTaskCombinHF.cxx:192
 AliAnalysisTaskCombinHF.cxx:193
 AliAnalysisTaskCombinHF.cxx:194
 AliAnalysisTaskCombinHF.cxx:195
 AliAnalysisTaskCombinHF.cxx:196
 AliAnalysisTaskCombinHF.cxx:197
 AliAnalysisTaskCombinHF.cxx:198
 AliAnalysisTaskCombinHF.cxx:199
 AliAnalysisTaskCombinHF.cxx:200
 AliAnalysisTaskCombinHF.cxx:201
 AliAnalysisTaskCombinHF.cxx:202
 AliAnalysisTaskCombinHF.cxx:203
 AliAnalysisTaskCombinHF.cxx:204
 AliAnalysisTaskCombinHF.cxx:205
 AliAnalysisTaskCombinHF.cxx:206
 AliAnalysisTaskCombinHF.cxx:207
 AliAnalysisTaskCombinHF.cxx:208
 AliAnalysisTaskCombinHF.cxx:209
 AliAnalysisTaskCombinHF.cxx:210
 AliAnalysisTaskCombinHF.cxx:211
 AliAnalysisTaskCombinHF.cxx:212
 AliAnalysisTaskCombinHF.cxx:213
 AliAnalysisTaskCombinHF.cxx:214
 AliAnalysisTaskCombinHF.cxx:215
 AliAnalysisTaskCombinHF.cxx:216
 AliAnalysisTaskCombinHF.cxx:217
 AliAnalysisTaskCombinHF.cxx:218
 AliAnalysisTaskCombinHF.cxx:219
 AliAnalysisTaskCombinHF.cxx:220
 AliAnalysisTaskCombinHF.cxx:221
 AliAnalysisTaskCombinHF.cxx:222
 AliAnalysisTaskCombinHF.cxx:223
 AliAnalysisTaskCombinHF.cxx:224
 AliAnalysisTaskCombinHF.cxx:225
 AliAnalysisTaskCombinHF.cxx:226
 AliAnalysisTaskCombinHF.cxx:227
 AliAnalysisTaskCombinHF.cxx:228
 AliAnalysisTaskCombinHF.cxx:229
 AliAnalysisTaskCombinHF.cxx:230
 AliAnalysisTaskCombinHF.cxx:231
 AliAnalysisTaskCombinHF.cxx:232
 AliAnalysisTaskCombinHF.cxx:233
 AliAnalysisTaskCombinHF.cxx:234
 AliAnalysisTaskCombinHF.cxx:235
 AliAnalysisTaskCombinHF.cxx:236
 AliAnalysisTaskCombinHF.cxx:237
 AliAnalysisTaskCombinHF.cxx:238
 AliAnalysisTaskCombinHF.cxx:239
 AliAnalysisTaskCombinHF.cxx:240
 AliAnalysisTaskCombinHF.cxx:241
 AliAnalysisTaskCombinHF.cxx:242
 AliAnalysisTaskCombinHF.cxx:243
 AliAnalysisTaskCombinHF.cxx:244
 AliAnalysisTaskCombinHF.cxx:245
 AliAnalysisTaskCombinHF.cxx:246
 AliAnalysisTaskCombinHF.cxx:247
 AliAnalysisTaskCombinHF.cxx:248
 AliAnalysisTaskCombinHF.cxx:249
 AliAnalysisTaskCombinHF.cxx:250
 AliAnalysisTaskCombinHF.cxx:251
 AliAnalysisTaskCombinHF.cxx:252
 AliAnalysisTaskCombinHF.cxx:253
 AliAnalysisTaskCombinHF.cxx:254
 AliAnalysisTaskCombinHF.cxx:255
 AliAnalysisTaskCombinHF.cxx:256
 AliAnalysisTaskCombinHF.cxx:257
 AliAnalysisTaskCombinHF.cxx:258
 AliAnalysisTaskCombinHF.cxx:259
 AliAnalysisTaskCombinHF.cxx:260
 AliAnalysisTaskCombinHF.cxx:261
 AliAnalysisTaskCombinHF.cxx:262
 AliAnalysisTaskCombinHF.cxx:263
 AliAnalysisTaskCombinHF.cxx:264
 AliAnalysisTaskCombinHF.cxx:265
 AliAnalysisTaskCombinHF.cxx:266
 AliAnalysisTaskCombinHF.cxx:267
 AliAnalysisTaskCombinHF.cxx:268
 AliAnalysisTaskCombinHF.cxx:269
 AliAnalysisTaskCombinHF.cxx:270
 AliAnalysisTaskCombinHF.cxx:271
 AliAnalysisTaskCombinHF.cxx:272
 AliAnalysisTaskCombinHF.cxx:273
 AliAnalysisTaskCombinHF.cxx:274
 AliAnalysisTaskCombinHF.cxx:275
 AliAnalysisTaskCombinHF.cxx:276
 AliAnalysisTaskCombinHF.cxx:277
 AliAnalysisTaskCombinHF.cxx:278
 AliAnalysisTaskCombinHF.cxx:279
 AliAnalysisTaskCombinHF.cxx:280
 AliAnalysisTaskCombinHF.cxx:281
 AliAnalysisTaskCombinHF.cxx:282
 AliAnalysisTaskCombinHF.cxx:283
 AliAnalysisTaskCombinHF.cxx:284
 AliAnalysisTaskCombinHF.cxx:285
 AliAnalysisTaskCombinHF.cxx:286
 AliAnalysisTaskCombinHF.cxx:287
 AliAnalysisTaskCombinHF.cxx:288
 AliAnalysisTaskCombinHF.cxx:289
 AliAnalysisTaskCombinHF.cxx:290
 AliAnalysisTaskCombinHF.cxx:291
 AliAnalysisTaskCombinHF.cxx:292
 AliAnalysisTaskCombinHF.cxx:293
 AliAnalysisTaskCombinHF.cxx:294
 AliAnalysisTaskCombinHF.cxx:295
 AliAnalysisTaskCombinHF.cxx:296
 AliAnalysisTaskCombinHF.cxx:297
 AliAnalysisTaskCombinHF.cxx:298
 AliAnalysisTaskCombinHF.cxx:299
 AliAnalysisTaskCombinHF.cxx:300
 AliAnalysisTaskCombinHF.cxx:301
 AliAnalysisTaskCombinHF.cxx:302
 AliAnalysisTaskCombinHF.cxx:303
 AliAnalysisTaskCombinHF.cxx:304
 AliAnalysisTaskCombinHF.cxx:305
 AliAnalysisTaskCombinHF.cxx:306
 AliAnalysisTaskCombinHF.cxx:307
 AliAnalysisTaskCombinHF.cxx:308
 AliAnalysisTaskCombinHF.cxx:309
 AliAnalysisTaskCombinHF.cxx:310
 AliAnalysisTaskCombinHF.cxx:311
 AliAnalysisTaskCombinHF.cxx:312
 AliAnalysisTaskCombinHF.cxx:313
 AliAnalysisTaskCombinHF.cxx:314
 AliAnalysisTaskCombinHF.cxx:315
 AliAnalysisTaskCombinHF.cxx:316
 AliAnalysisTaskCombinHF.cxx:317
 AliAnalysisTaskCombinHF.cxx:318
 AliAnalysisTaskCombinHF.cxx:319
 AliAnalysisTaskCombinHF.cxx:320
 AliAnalysisTaskCombinHF.cxx:321
 AliAnalysisTaskCombinHF.cxx:322
 AliAnalysisTaskCombinHF.cxx:323
 AliAnalysisTaskCombinHF.cxx:324
 AliAnalysisTaskCombinHF.cxx:325
 AliAnalysisTaskCombinHF.cxx:326
 AliAnalysisTaskCombinHF.cxx:327
 AliAnalysisTaskCombinHF.cxx:328
 AliAnalysisTaskCombinHF.cxx:329
 AliAnalysisTaskCombinHF.cxx:330
 AliAnalysisTaskCombinHF.cxx:331
 AliAnalysisTaskCombinHF.cxx:332
 AliAnalysisTaskCombinHF.cxx:333
 AliAnalysisTaskCombinHF.cxx:334
 AliAnalysisTaskCombinHF.cxx:335
 AliAnalysisTaskCombinHF.cxx:336
 AliAnalysisTaskCombinHF.cxx:337
 AliAnalysisTaskCombinHF.cxx:338
 AliAnalysisTaskCombinHF.cxx:339
 AliAnalysisTaskCombinHF.cxx:340
 AliAnalysisTaskCombinHF.cxx:341
 AliAnalysisTaskCombinHF.cxx:342
 AliAnalysisTaskCombinHF.cxx:343
 AliAnalysisTaskCombinHF.cxx:344
 AliAnalysisTaskCombinHF.cxx:345
 AliAnalysisTaskCombinHF.cxx:346
 AliAnalysisTaskCombinHF.cxx:347
 AliAnalysisTaskCombinHF.cxx:348
 AliAnalysisTaskCombinHF.cxx:349
 AliAnalysisTaskCombinHF.cxx:350
 AliAnalysisTaskCombinHF.cxx:351
 AliAnalysisTaskCombinHF.cxx:352
 AliAnalysisTaskCombinHF.cxx:353
 AliAnalysisTaskCombinHF.cxx:354
 AliAnalysisTaskCombinHF.cxx:355
 AliAnalysisTaskCombinHF.cxx:356
 AliAnalysisTaskCombinHF.cxx:357
 AliAnalysisTaskCombinHF.cxx:358
 AliAnalysisTaskCombinHF.cxx:359
 AliAnalysisTaskCombinHF.cxx:360
 AliAnalysisTaskCombinHF.cxx:361
 AliAnalysisTaskCombinHF.cxx:362
 AliAnalysisTaskCombinHF.cxx:363
 AliAnalysisTaskCombinHF.cxx:364
 AliAnalysisTaskCombinHF.cxx:365
 AliAnalysisTaskCombinHF.cxx:366
 AliAnalysisTaskCombinHF.cxx:367
 AliAnalysisTaskCombinHF.cxx:368
 AliAnalysisTaskCombinHF.cxx:369
 AliAnalysisTaskCombinHF.cxx:370
 AliAnalysisTaskCombinHF.cxx:371
 AliAnalysisTaskCombinHF.cxx:372
 AliAnalysisTaskCombinHF.cxx:373
 AliAnalysisTaskCombinHF.cxx:374
 AliAnalysisTaskCombinHF.cxx:375
 AliAnalysisTaskCombinHF.cxx:376
 AliAnalysisTaskCombinHF.cxx:377
 AliAnalysisTaskCombinHF.cxx:378
 AliAnalysisTaskCombinHF.cxx:379
 AliAnalysisTaskCombinHF.cxx:380
 AliAnalysisTaskCombinHF.cxx:381
 AliAnalysisTaskCombinHF.cxx:382
 AliAnalysisTaskCombinHF.cxx:383
 AliAnalysisTaskCombinHF.cxx:384
 AliAnalysisTaskCombinHF.cxx:385
 AliAnalysisTaskCombinHF.cxx:386
 AliAnalysisTaskCombinHF.cxx:387
 AliAnalysisTaskCombinHF.cxx:388
 AliAnalysisTaskCombinHF.cxx:389
 AliAnalysisTaskCombinHF.cxx:390
 AliAnalysisTaskCombinHF.cxx:391
 AliAnalysisTaskCombinHF.cxx:392
 AliAnalysisTaskCombinHF.cxx:393
 AliAnalysisTaskCombinHF.cxx:394
 AliAnalysisTaskCombinHF.cxx:395
 AliAnalysisTaskCombinHF.cxx:396
 AliAnalysisTaskCombinHF.cxx:397
 AliAnalysisTaskCombinHF.cxx:398
 AliAnalysisTaskCombinHF.cxx:399
 AliAnalysisTaskCombinHF.cxx:400
 AliAnalysisTaskCombinHF.cxx:401
 AliAnalysisTaskCombinHF.cxx:402
 AliAnalysisTaskCombinHF.cxx:403
 AliAnalysisTaskCombinHF.cxx:404
 AliAnalysisTaskCombinHF.cxx:405
 AliAnalysisTaskCombinHF.cxx:406
 AliAnalysisTaskCombinHF.cxx:407
 AliAnalysisTaskCombinHF.cxx:408
 AliAnalysisTaskCombinHF.cxx:409
 AliAnalysisTaskCombinHF.cxx:410
 AliAnalysisTaskCombinHF.cxx:411
 AliAnalysisTaskCombinHF.cxx:412
 AliAnalysisTaskCombinHF.cxx:413
 AliAnalysisTaskCombinHF.cxx:414
 AliAnalysisTaskCombinHF.cxx:415
 AliAnalysisTaskCombinHF.cxx:416
 AliAnalysisTaskCombinHF.cxx:417
 AliAnalysisTaskCombinHF.cxx:418
 AliAnalysisTaskCombinHF.cxx:419
 AliAnalysisTaskCombinHF.cxx:420
 AliAnalysisTaskCombinHF.cxx:421
 AliAnalysisTaskCombinHF.cxx:422
 AliAnalysisTaskCombinHF.cxx:423
 AliAnalysisTaskCombinHF.cxx:424
 AliAnalysisTaskCombinHF.cxx:425
 AliAnalysisTaskCombinHF.cxx:426
 AliAnalysisTaskCombinHF.cxx:427
 AliAnalysisTaskCombinHF.cxx:428
 AliAnalysisTaskCombinHF.cxx:429
 AliAnalysisTaskCombinHF.cxx:430
 AliAnalysisTaskCombinHF.cxx:431
 AliAnalysisTaskCombinHF.cxx:432
 AliAnalysisTaskCombinHF.cxx:433
 AliAnalysisTaskCombinHF.cxx:434
 AliAnalysisTaskCombinHF.cxx:435
 AliAnalysisTaskCombinHF.cxx:436
 AliAnalysisTaskCombinHF.cxx:437
 AliAnalysisTaskCombinHF.cxx:438
 AliAnalysisTaskCombinHF.cxx:439
 AliAnalysisTaskCombinHF.cxx:440
 AliAnalysisTaskCombinHF.cxx:441
 AliAnalysisTaskCombinHF.cxx:442
 AliAnalysisTaskCombinHF.cxx:443
 AliAnalysisTaskCombinHF.cxx:444
 AliAnalysisTaskCombinHF.cxx:445
 AliAnalysisTaskCombinHF.cxx:446
 AliAnalysisTaskCombinHF.cxx:447
 AliAnalysisTaskCombinHF.cxx:448
 AliAnalysisTaskCombinHF.cxx:449
 AliAnalysisTaskCombinHF.cxx:450
 AliAnalysisTaskCombinHF.cxx:451
 AliAnalysisTaskCombinHF.cxx:452
 AliAnalysisTaskCombinHF.cxx:453
 AliAnalysisTaskCombinHF.cxx:454
 AliAnalysisTaskCombinHF.cxx:455
 AliAnalysisTaskCombinHF.cxx:456
 AliAnalysisTaskCombinHF.cxx:457
 AliAnalysisTaskCombinHF.cxx:458
 AliAnalysisTaskCombinHF.cxx:459
 AliAnalysisTaskCombinHF.cxx:460
 AliAnalysisTaskCombinHF.cxx:461
 AliAnalysisTaskCombinHF.cxx:462
 AliAnalysisTaskCombinHF.cxx:463
 AliAnalysisTaskCombinHF.cxx:464
 AliAnalysisTaskCombinHF.cxx:465
 AliAnalysisTaskCombinHF.cxx:466
 AliAnalysisTaskCombinHF.cxx:467
 AliAnalysisTaskCombinHF.cxx:468
 AliAnalysisTaskCombinHF.cxx:469
 AliAnalysisTaskCombinHF.cxx:470
 AliAnalysisTaskCombinHF.cxx:471
 AliAnalysisTaskCombinHF.cxx:472
 AliAnalysisTaskCombinHF.cxx:473
 AliAnalysisTaskCombinHF.cxx:474
 AliAnalysisTaskCombinHF.cxx:475
 AliAnalysisTaskCombinHF.cxx:476
 AliAnalysisTaskCombinHF.cxx:477
 AliAnalysisTaskCombinHF.cxx:478
 AliAnalysisTaskCombinHF.cxx:479
 AliAnalysisTaskCombinHF.cxx:480
 AliAnalysisTaskCombinHF.cxx:481
 AliAnalysisTaskCombinHF.cxx:482
 AliAnalysisTaskCombinHF.cxx:483
 AliAnalysisTaskCombinHF.cxx:484
 AliAnalysisTaskCombinHF.cxx:485
 AliAnalysisTaskCombinHF.cxx:486
 AliAnalysisTaskCombinHF.cxx:487
 AliAnalysisTaskCombinHF.cxx:488
 AliAnalysisTaskCombinHF.cxx:489
 AliAnalysisTaskCombinHF.cxx:490
 AliAnalysisTaskCombinHF.cxx:491
 AliAnalysisTaskCombinHF.cxx:492
 AliAnalysisTaskCombinHF.cxx:493
 AliAnalysisTaskCombinHF.cxx:494
 AliAnalysisTaskCombinHF.cxx:495
 AliAnalysisTaskCombinHF.cxx:496
 AliAnalysisTaskCombinHF.cxx:497
 AliAnalysisTaskCombinHF.cxx:498
 AliAnalysisTaskCombinHF.cxx:499
 AliAnalysisTaskCombinHF.cxx:500
 AliAnalysisTaskCombinHF.cxx:501
 AliAnalysisTaskCombinHF.cxx:502
 AliAnalysisTaskCombinHF.cxx:503
 AliAnalysisTaskCombinHF.cxx:504
 AliAnalysisTaskCombinHF.cxx:505
 AliAnalysisTaskCombinHF.cxx:506
 AliAnalysisTaskCombinHF.cxx:507
 AliAnalysisTaskCombinHF.cxx:508
 AliAnalysisTaskCombinHF.cxx:509
 AliAnalysisTaskCombinHF.cxx:510
 AliAnalysisTaskCombinHF.cxx:511
 AliAnalysisTaskCombinHF.cxx:512
 AliAnalysisTaskCombinHF.cxx:513
 AliAnalysisTaskCombinHF.cxx:514
 AliAnalysisTaskCombinHF.cxx:515
 AliAnalysisTaskCombinHF.cxx:516
 AliAnalysisTaskCombinHF.cxx:517
 AliAnalysisTaskCombinHF.cxx:518
 AliAnalysisTaskCombinHF.cxx:519
 AliAnalysisTaskCombinHF.cxx:520
 AliAnalysisTaskCombinHF.cxx:521
 AliAnalysisTaskCombinHF.cxx:522
 AliAnalysisTaskCombinHF.cxx:523
 AliAnalysisTaskCombinHF.cxx:524
 AliAnalysisTaskCombinHF.cxx:525
 AliAnalysisTaskCombinHF.cxx:526
 AliAnalysisTaskCombinHF.cxx:527
 AliAnalysisTaskCombinHF.cxx:528
 AliAnalysisTaskCombinHF.cxx:529
 AliAnalysisTaskCombinHF.cxx:530
 AliAnalysisTaskCombinHF.cxx:531
 AliAnalysisTaskCombinHF.cxx:532
 AliAnalysisTaskCombinHF.cxx:533
 AliAnalysisTaskCombinHF.cxx:534
 AliAnalysisTaskCombinHF.cxx:535
 AliAnalysisTaskCombinHF.cxx:536
 AliAnalysisTaskCombinHF.cxx:537
 AliAnalysisTaskCombinHF.cxx:538
 AliAnalysisTaskCombinHF.cxx:539
 AliAnalysisTaskCombinHF.cxx:540
 AliAnalysisTaskCombinHF.cxx:541
 AliAnalysisTaskCombinHF.cxx:542
 AliAnalysisTaskCombinHF.cxx:543
 AliAnalysisTaskCombinHF.cxx:544
 AliAnalysisTaskCombinHF.cxx:545
 AliAnalysisTaskCombinHF.cxx:546
 AliAnalysisTaskCombinHF.cxx:547
 AliAnalysisTaskCombinHF.cxx:548
 AliAnalysisTaskCombinHF.cxx:549
 AliAnalysisTaskCombinHF.cxx:550
 AliAnalysisTaskCombinHF.cxx:551
 AliAnalysisTaskCombinHF.cxx:552
 AliAnalysisTaskCombinHF.cxx:553
 AliAnalysisTaskCombinHF.cxx:554
 AliAnalysisTaskCombinHF.cxx:555
 AliAnalysisTaskCombinHF.cxx:556
 AliAnalysisTaskCombinHF.cxx:557
 AliAnalysisTaskCombinHF.cxx:558
 AliAnalysisTaskCombinHF.cxx:559
 AliAnalysisTaskCombinHF.cxx:560
 AliAnalysisTaskCombinHF.cxx:561
 AliAnalysisTaskCombinHF.cxx:562
 AliAnalysisTaskCombinHF.cxx:563
 AliAnalysisTaskCombinHF.cxx:564
 AliAnalysisTaskCombinHF.cxx:565
 AliAnalysisTaskCombinHF.cxx:566
 AliAnalysisTaskCombinHF.cxx:567
 AliAnalysisTaskCombinHF.cxx:568
 AliAnalysisTaskCombinHF.cxx:569
 AliAnalysisTaskCombinHF.cxx:570
 AliAnalysisTaskCombinHF.cxx:571
 AliAnalysisTaskCombinHF.cxx:572
 AliAnalysisTaskCombinHF.cxx:573
 AliAnalysisTaskCombinHF.cxx:574
 AliAnalysisTaskCombinHF.cxx:575
 AliAnalysisTaskCombinHF.cxx:576
 AliAnalysisTaskCombinHF.cxx:577
 AliAnalysisTaskCombinHF.cxx:578
 AliAnalysisTaskCombinHF.cxx:579
 AliAnalysisTaskCombinHF.cxx:580
 AliAnalysisTaskCombinHF.cxx:581
 AliAnalysisTaskCombinHF.cxx:582
 AliAnalysisTaskCombinHF.cxx:583
 AliAnalysisTaskCombinHF.cxx:584
 AliAnalysisTaskCombinHF.cxx:585
 AliAnalysisTaskCombinHF.cxx:586
 AliAnalysisTaskCombinHF.cxx:587
 AliAnalysisTaskCombinHF.cxx:588
 AliAnalysisTaskCombinHF.cxx:589
 AliAnalysisTaskCombinHF.cxx:590
 AliAnalysisTaskCombinHF.cxx:591
 AliAnalysisTaskCombinHF.cxx:592
 AliAnalysisTaskCombinHF.cxx:593
 AliAnalysisTaskCombinHF.cxx:594
 AliAnalysisTaskCombinHF.cxx:595
 AliAnalysisTaskCombinHF.cxx:596
 AliAnalysisTaskCombinHF.cxx:597
 AliAnalysisTaskCombinHF.cxx:598
 AliAnalysisTaskCombinHF.cxx:599
 AliAnalysisTaskCombinHF.cxx:600
 AliAnalysisTaskCombinHF.cxx:601
 AliAnalysisTaskCombinHF.cxx:602
 AliAnalysisTaskCombinHF.cxx:603
 AliAnalysisTaskCombinHF.cxx:604
 AliAnalysisTaskCombinHF.cxx:605
 AliAnalysisTaskCombinHF.cxx:606
 AliAnalysisTaskCombinHF.cxx:607
 AliAnalysisTaskCombinHF.cxx:608
 AliAnalysisTaskCombinHF.cxx:609
 AliAnalysisTaskCombinHF.cxx:610
 AliAnalysisTaskCombinHF.cxx:611
 AliAnalysisTaskCombinHF.cxx:612
 AliAnalysisTaskCombinHF.cxx:613
 AliAnalysisTaskCombinHF.cxx:614
 AliAnalysisTaskCombinHF.cxx:615
 AliAnalysisTaskCombinHF.cxx:616
 AliAnalysisTaskCombinHF.cxx:617
 AliAnalysisTaskCombinHF.cxx:618
 AliAnalysisTaskCombinHF.cxx:619
 AliAnalysisTaskCombinHF.cxx:620
 AliAnalysisTaskCombinHF.cxx:621
 AliAnalysisTaskCombinHF.cxx:622
 AliAnalysisTaskCombinHF.cxx:623
 AliAnalysisTaskCombinHF.cxx:624
 AliAnalysisTaskCombinHF.cxx:625
 AliAnalysisTaskCombinHF.cxx:626
 AliAnalysisTaskCombinHF.cxx:627
 AliAnalysisTaskCombinHF.cxx:628
 AliAnalysisTaskCombinHF.cxx:629
 AliAnalysisTaskCombinHF.cxx:630
 AliAnalysisTaskCombinHF.cxx:631
 AliAnalysisTaskCombinHF.cxx:632
 AliAnalysisTaskCombinHF.cxx:633
 AliAnalysisTaskCombinHF.cxx:634
 AliAnalysisTaskCombinHF.cxx:635
 AliAnalysisTaskCombinHF.cxx:636
 AliAnalysisTaskCombinHF.cxx:637
 AliAnalysisTaskCombinHF.cxx:638
 AliAnalysisTaskCombinHF.cxx:639
 AliAnalysisTaskCombinHF.cxx:640
 AliAnalysisTaskCombinHF.cxx:641
 AliAnalysisTaskCombinHF.cxx:642
 AliAnalysisTaskCombinHF.cxx:643
 AliAnalysisTaskCombinHF.cxx:644
 AliAnalysisTaskCombinHF.cxx:645
 AliAnalysisTaskCombinHF.cxx:646
 AliAnalysisTaskCombinHF.cxx:647
 AliAnalysisTaskCombinHF.cxx:648
 AliAnalysisTaskCombinHF.cxx:649
 AliAnalysisTaskCombinHF.cxx:650
 AliAnalysisTaskCombinHF.cxx:651
 AliAnalysisTaskCombinHF.cxx:652
 AliAnalysisTaskCombinHF.cxx:653
 AliAnalysisTaskCombinHF.cxx:654
 AliAnalysisTaskCombinHF.cxx:655
 AliAnalysisTaskCombinHF.cxx:656
 AliAnalysisTaskCombinHF.cxx:657
 AliAnalysisTaskCombinHF.cxx:658
 AliAnalysisTaskCombinHF.cxx:659
 AliAnalysisTaskCombinHF.cxx:660
 AliAnalysisTaskCombinHF.cxx:661
 AliAnalysisTaskCombinHF.cxx:662
 AliAnalysisTaskCombinHF.cxx:663
 AliAnalysisTaskCombinHF.cxx:664
 AliAnalysisTaskCombinHF.cxx:665
 AliAnalysisTaskCombinHF.cxx:666
 AliAnalysisTaskCombinHF.cxx:667
 AliAnalysisTaskCombinHF.cxx:668
 AliAnalysisTaskCombinHF.cxx:669
 AliAnalysisTaskCombinHF.cxx:670
 AliAnalysisTaskCombinHF.cxx:671
 AliAnalysisTaskCombinHF.cxx:672
 AliAnalysisTaskCombinHF.cxx:673
 AliAnalysisTaskCombinHF.cxx:674
 AliAnalysisTaskCombinHF.cxx:675
 AliAnalysisTaskCombinHF.cxx:676
 AliAnalysisTaskCombinHF.cxx:677
 AliAnalysisTaskCombinHF.cxx:678
 AliAnalysisTaskCombinHF.cxx:679
 AliAnalysisTaskCombinHF.cxx:680
 AliAnalysisTaskCombinHF.cxx:681
 AliAnalysisTaskCombinHF.cxx:682
 AliAnalysisTaskCombinHF.cxx:683
 AliAnalysisTaskCombinHF.cxx:684
 AliAnalysisTaskCombinHF.cxx:685
 AliAnalysisTaskCombinHF.cxx:686
 AliAnalysisTaskCombinHF.cxx:687
 AliAnalysisTaskCombinHF.cxx:688
 AliAnalysisTaskCombinHF.cxx:689
 AliAnalysisTaskCombinHF.cxx:690
 AliAnalysisTaskCombinHF.cxx:691
 AliAnalysisTaskCombinHF.cxx:692
 AliAnalysisTaskCombinHF.cxx:693
 AliAnalysisTaskCombinHF.cxx:694
 AliAnalysisTaskCombinHF.cxx:695
 AliAnalysisTaskCombinHF.cxx:696
 AliAnalysisTaskCombinHF.cxx:697
 AliAnalysisTaskCombinHF.cxx:698
 AliAnalysisTaskCombinHF.cxx:699
 AliAnalysisTaskCombinHF.cxx:700
 AliAnalysisTaskCombinHF.cxx:701
 AliAnalysisTaskCombinHF.cxx:702
 AliAnalysisTaskCombinHF.cxx:703
 AliAnalysisTaskCombinHF.cxx:704
 AliAnalysisTaskCombinHF.cxx:705
 AliAnalysisTaskCombinHF.cxx:706
 AliAnalysisTaskCombinHF.cxx:707
 AliAnalysisTaskCombinHF.cxx:708
 AliAnalysisTaskCombinHF.cxx:709
 AliAnalysisTaskCombinHF.cxx:710
 AliAnalysisTaskCombinHF.cxx:711
 AliAnalysisTaskCombinHF.cxx:712
 AliAnalysisTaskCombinHF.cxx:713
 AliAnalysisTaskCombinHF.cxx:714
 AliAnalysisTaskCombinHF.cxx:715
 AliAnalysisTaskCombinHF.cxx:716
 AliAnalysisTaskCombinHF.cxx:717
 AliAnalysisTaskCombinHF.cxx:718
 AliAnalysisTaskCombinHF.cxx:719
 AliAnalysisTaskCombinHF.cxx:720
 AliAnalysisTaskCombinHF.cxx:721
 AliAnalysisTaskCombinHF.cxx:722
 AliAnalysisTaskCombinHF.cxx:723
 AliAnalysisTaskCombinHF.cxx:724
 AliAnalysisTaskCombinHF.cxx:725
 AliAnalysisTaskCombinHF.cxx:726
 AliAnalysisTaskCombinHF.cxx:727
 AliAnalysisTaskCombinHF.cxx:728
 AliAnalysisTaskCombinHF.cxx:729
 AliAnalysisTaskCombinHF.cxx:730
 AliAnalysisTaskCombinHF.cxx:731
 AliAnalysisTaskCombinHF.cxx:732
 AliAnalysisTaskCombinHF.cxx:733
 AliAnalysisTaskCombinHF.cxx:734
 AliAnalysisTaskCombinHF.cxx:735
 AliAnalysisTaskCombinHF.cxx:736
 AliAnalysisTaskCombinHF.cxx:737
 AliAnalysisTaskCombinHF.cxx:738
 AliAnalysisTaskCombinHF.cxx:739
 AliAnalysisTaskCombinHF.cxx:740
 AliAnalysisTaskCombinHF.cxx:741
 AliAnalysisTaskCombinHF.cxx:742
 AliAnalysisTaskCombinHF.cxx:743
 AliAnalysisTaskCombinHF.cxx:744
 AliAnalysisTaskCombinHF.cxx:745
 AliAnalysisTaskCombinHF.cxx:746
 AliAnalysisTaskCombinHF.cxx:747
 AliAnalysisTaskCombinHF.cxx:748
 AliAnalysisTaskCombinHF.cxx:749
 AliAnalysisTaskCombinHF.cxx:750
 AliAnalysisTaskCombinHF.cxx:751
 AliAnalysisTaskCombinHF.cxx:752
 AliAnalysisTaskCombinHF.cxx:753
 AliAnalysisTaskCombinHF.cxx:754
 AliAnalysisTaskCombinHF.cxx:755
 AliAnalysisTaskCombinHF.cxx:756
 AliAnalysisTaskCombinHF.cxx:757
 AliAnalysisTaskCombinHF.cxx:758
 AliAnalysisTaskCombinHF.cxx:759
 AliAnalysisTaskCombinHF.cxx:760
 AliAnalysisTaskCombinHF.cxx:761
 AliAnalysisTaskCombinHF.cxx:762
 AliAnalysisTaskCombinHF.cxx:763
 AliAnalysisTaskCombinHF.cxx:764
 AliAnalysisTaskCombinHF.cxx:765
 AliAnalysisTaskCombinHF.cxx:766
 AliAnalysisTaskCombinHF.cxx:767
 AliAnalysisTaskCombinHF.cxx:768
 AliAnalysisTaskCombinHF.cxx:769
 AliAnalysisTaskCombinHF.cxx:770
 AliAnalysisTaskCombinHF.cxx:771
 AliAnalysisTaskCombinHF.cxx:772
 AliAnalysisTaskCombinHF.cxx:773
 AliAnalysisTaskCombinHF.cxx:774
 AliAnalysisTaskCombinHF.cxx:775
 AliAnalysisTaskCombinHF.cxx:776
 AliAnalysisTaskCombinHF.cxx:777
 AliAnalysisTaskCombinHF.cxx:778
 AliAnalysisTaskCombinHF.cxx:779
 AliAnalysisTaskCombinHF.cxx:780
 AliAnalysisTaskCombinHF.cxx:781
 AliAnalysisTaskCombinHF.cxx:782
 AliAnalysisTaskCombinHF.cxx:783
 AliAnalysisTaskCombinHF.cxx:784
 AliAnalysisTaskCombinHF.cxx:785
 AliAnalysisTaskCombinHF.cxx:786
 AliAnalysisTaskCombinHF.cxx:787
 AliAnalysisTaskCombinHF.cxx:788
 AliAnalysisTaskCombinHF.cxx:789
 AliAnalysisTaskCombinHF.cxx:790
 AliAnalysisTaskCombinHF.cxx:791
 AliAnalysisTaskCombinHF.cxx:792
 AliAnalysisTaskCombinHF.cxx:793
 AliAnalysisTaskCombinHF.cxx:794
 AliAnalysisTaskCombinHF.cxx:795
 AliAnalysisTaskCombinHF.cxx:796
 AliAnalysisTaskCombinHF.cxx:797
 AliAnalysisTaskCombinHF.cxx:798
 AliAnalysisTaskCombinHF.cxx:799
 AliAnalysisTaskCombinHF.cxx:800
 AliAnalysisTaskCombinHF.cxx:801
 AliAnalysisTaskCombinHF.cxx:802
 AliAnalysisTaskCombinHF.cxx:803
 AliAnalysisTaskCombinHF.cxx:804
 AliAnalysisTaskCombinHF.cxx:805
 AliAnalysisTaskCombinHF.cxx:806
 AliAnalysisTaskCombinHF.cxx:807
 AliAnalysisTaskCombinHF.cxx:808
 AliAnalysisTaskCombinHF.cxx:809
 AliAnalysisTaskCombinHF.cxx:810
 AliAnalysisTaskCombinHF.cxx:811
 AliAnalysisTaskCombinHF.cxx:812
 AliAnalysisTaskCombinHF.cxx:813
 AliAnalysisTaskCombinHF.cxx:814
 AliAnalysisTaskCombinHF.cxx:815
 AliAnalysisTaskCombinHF.cxx:816
 AliAnalysisTaskCombinHF.cxx:817
 AliAnalysisTaskCombinHF.cxx:818
 AliAnalysisTaskCombinHF.cxx:819
 AliAnalysisTaskCombinHF.cxx:820
 AliAnalysisTaskCombinHF.cxx:821
 AliAnalysisTaskCombinHF.cxx:822
 AliAnalysisTaskCombinHF.cxx:823
 AliAnalysisTaskCombinHF.cxx:824
 AliAnalysisTaskCombinHF.cxx:825
 AliAnalysisTaskCombinHF.cxx:826
 AliAnalysisTaskCombinHF.cxx:827
 AliAnalysisTaskCombinHF.cxx:828
 AliAnalysisTaskCombinHF.cxx:829
 AliAnalysisTaskCombinHF.cxx:830
 AliAnalysisTaskCombinHF.cxx:831
 AliAnalysisTaskCombinHF.cxx:832
 AliAnalysisTaskCombinHF.cxx:833
 AliAnalysisTaskCombinHF.cxx:834
 AliAnalysisTaskCombinHF.cxx:835
 AliAnalysisTaskCombinHF.cxx:836
 AliAnalysisTaskCombinHF.cxx:837
 AliAnalysisTaskCombinHF.cxx:838
 AliAnalysisTaskCombinHF.cxx:839
 AliAnalysisTaskCombinHF.cxx:840
 AliAnalysisTaskCombinHF.cxx:841
 AliAnalysisTaskCombinHF.cxx:842
 AliAnalysisTaskCombinHF.cxx:843
 AliAnalysisTaskCombinHF.cxx:844
 AliAnalysisTaskCombinHF.cxx:845
 AliAnalysisTaskCombinHF.cxx:846
 AliAnalysisTaskCombinHF.cxx:847
 AliAnalysisTaskCombinHF.cxx:848
 AliAnalysisTaskCombinHF.cxx:849
 AliAnalysisTaskCombinHF.cxx:850
 AliAnalysisTaskCombinHF.cxx:851
 AliAnalysisTaskCombinHF.cxx:852
 AliAnalysisTaskCombinHF.cxx:853
 AliAnalysisTaskCombinHF.cxx:854
 AliAnalysisTaskCombinHF.cxx:855
 AliAnalysisTaskCombinHF.cxx:856
 AliAnalysisTaskCombinHF.cxx:857
 AliAnalysisTaskCombinHF.cxx:858
 AliAnalysisTaskCombinHF.cxx:859
 AliAnalysisTaskCombinHF.cxx:860
 AliAnalysisTaskCombinHF.cxx:861
 AliAnalysisTaskCombinHF.cxx:862
 AliAnalysisTaskCombinHF.cxx:863
 AliAnalysisTaskCombinHF.cxx:864
 AliAnalysisTaskCombinHF.cxx:865
 AliAnalysisTaskCombinHF.cxx:866
 AliAnalysisTaskCombinHF.cxx:867
 AliAnalysisTaskCombinHF.cxx:868
 AliAnalysisTaskCombinHF.cxx:869
 AliAnalysisTaskCombinHF.cxx:870
 AliAnalysisTaskCombinHF.cxx:871
 AliAnalysisTaskCombinHF.cxx:872
 AliAnalysisTaskCombinHF.cxx:873
 AliAnalysisTaskCombinHF.cxx:874
 AliAnalysisTaskCombinHF.cxx:875
 AliAnalysisTaskCombinHF.cxx:876
 AliAnalysisTaskCombinHF.cxx:877
 AliAnalysisTaskCombinHF.cxx:878
 AliAnalysisTaskCombinHF.cxx:879
 AliAnalysisTaskCombinHF.cxx:880
 AliAnalysisTaskCombinHF.cxx:881
 AliAnalysisTaskCombinHF.cxx:882
 AliAnalysisTaskCombinHF.cxx:883
 AliAnalysisTaskCombinHF.cxx:884
 AliAnalysisTaskCombinHF.cxx:885
 AliAnalysisTaskCombinHF.cxx:886
 AliAnalysisTaskCombinHF.cxx:887
 AliAnalysisTaskCombinHF.cxx:888
 AliAnalysisTaskCombinHF.cxx:889
 AliAnalysisTaskCombinHF.cxx:890
 AliAnalysisTaskCombinHF.cxx:891
 AliAnalysisTaskCombinHF.cxx:892
 AliAnalysisTaskCombinHF.cxx:893
 AliAnalysisTaskCombinHF.cxx:894
 AliAnalysisTaskCombinHF.cxx:895
 AliAnalysisTaskCombinHF.cxx:896
 AliAnalysisTaskCombinHF.cxx:897
 AliAnalysisTaskCombinHF.cxx:898
 AliAnalysisTaskCombinHF.cxx:899
 AliAnalysisTaskCombinHF.cxx:900
 AliAnalysisTaskCombinHF.cxx:901
 AliAnalysisTaskCombinHF.cxx:902
 AliAnalysisTaskCombinHF.cxx:903
 AliAnalysisTaskCombinHF.cxx:904
 AliAnalysisTaskCombinHF.cxx:905
 AliAnalysisTaskCombinHF.cxx:906
 AliAnalysisTaskCombinHF.cxx:907
 AliAnalysisTaskCombinHF.cxx:908
 AliAnalysisTaskCombinHF.cxx:909
 AliAnalysisTaskCombinHF.cxx:910
 AliAnalysisTaskCombinHF.cxx:911
 AliAnalysisTaskCombinHF.cxx:912
 AliAnalysisTaskCombinHF.cxx:913
 AliAnalysisTaskCombinHF.cxx:914
 AliAnalysisTaskCombinHF.cxx:915
 AliAnalysisTaskCombinHF.cxx:916
 AliAnalysisTaskCombinHF.cxx:917
 AliAnalysisTaskCombinHF.cxx:918
 AliAnalysisTaskCombinHF.cxx:919
 AliAnalysisTaskCombinHF.cxx:920
 AliAnalysisTaskCombinHF.cxx:921
 AliAnalysisTaskCombinHF.cxx:922
 AliAnalysisTaskCombinHF.cxx:923
 AliAnalysisTaskCombinHF.cxx:924
 AliAnalysisTaskCombinHF.cxx:925
 AliAnalysisTaskCombinHF.cxx:926
 AliAnalysisTaskCombinHF.cxx:927
 AliAnalysisTaskCombinHF.cxx:928
 AliAnalysisTaskCombinHF.cxx:929
 AliAnalysisTaskCombinHF.cxx:930
 AliAnalysisTaskCombinHF.cxx:931
 AliAnalysisTaskCombinHF.cxx:932
 AliAnalysisTaskCombinHF.cxx:933
 AliAnalysisTaskCombinHF.cxx:934
 AliAnalysisTaskCombinHF.cxx:935
 AliAnalysisTaskCombinHF.cxx:936
 AliAnalysisTaskCombinHF.cxx:937
 AliAnalysisTaskCombinHF.cxx:938
 AliAnalysisTaskCombinHF.cxx:939
 AliAnalysisTaskCombinHF.cxx:940
 AliAnalysisTaskCombinHF.cxx:941
 AliAnalysisTaskCombinHF.cxx:942
 AliAnalysisTaskCombinHF.cxx:943
 AliAnalysisTaskCombinHF.cxx:944
 AliAnalysisTaskCombinHF.cxx:945
 AliAnalysisTaskCombinHF.cxx:946
 AliAnalysisTaskCombinHF.cxx:947
 AliAnalysisTaskCombinHF.cxx:948
 AliAnalysisTaskCombinHF.cxx:949
 AliAnalysisTaskCombinHF.cxx:950
 AliAnalysisTaskCombinHF.cxx:951
 AliAnalysisTaskCombinHF.cxx:952
 AliAnalysisTaskCombinHF.cxx:953
 AliAnalysisTaskCombinHF.cxx:954
 AliAnalysisTaskCombinHF.cxx:955
 AliAnalysisTaskCombinHF.cxx:956
 AliAnalysisTaskCombinHF.cxx:957
 AliAnalysisTaskCombinHF.cxx:958
 AliAnalysisTaskCombinHF.cxx:959
 AliAnalysisTaskCombinHF.cxx:960
 AliAnalysisTaskCombinHF.cxx:961
 AliAnalysisTaskCombinHF.cxx:962
 AliAnalysisTaskCombinHF.cxx:963
 AliAnalysisTaskCombinHF.cxx:964
 AliAnalysisTaskCombinHF.cxx:965
 AliAnalysisTaskCombinHF.cxx:966
 AliAnalysisTaskCombinHF.cxx:967
 AliAnalysisTaskCombinHF.cxx:968
 AliAnalysisTaskCombinHF.cxx:969
 AliAnalysisTaskCombinHF.cxx:970
 AliAnalysisTaskCombinHF.cxx:971
 AliAnalysisTaskCombinHF.cxx:972
 AliAnalysisTaskCombinHF.cxx:973
 AliAnalysisTaskCombinHF.cxx:974
 AliAnalysisTaskCombinHF.cxx:975
 AliAnalysisTaskCombinHF.cxx:976
 AliAnalysisTaskCombinHF.cxx:977
 AliAnalysisTaskCombinHF.cxx:978
 AliAnalysisTaskCombinHF.cxx:979
 AliAnalysisTaskCombinHF.cxx:980
 AliAnalysisTaskCombinHF.cxx:981
 AliAnalysisTaskCombinHF.cxx:982
 AliAnalysisTaskCombinHF.cxx:983
 AliAnalysisTaskCombinHF.cxx:984
 AliAnalysisTaskCombinHF.cxx:985
 AliAnalysisTaskCombinHF.cxx:986
 AliAnalysisTaskCombinHF.cxx:987
 AliAnalysisTaskCombinHF.cxx:988
 AliAnalysisTaskCombinHF.cxx:989
 AliAnalysisTaskCombinHF.cxx:990
 AliAnalysisTaskCombinHF.cxx:991
 AliAnalysisTaskCombinHF.cxx:992
 AliAnalysisTaskCombinHF.cxx:993
 AliAnalysisTaskCombinHF.cxx:994
 AliAnalysisTaskCombinHF.cxx:995
 AliAnalysisTaskCombinHF.cxx:996
 AliAnalysisTaskCombinHF.cxx:997
 AliAnalysisTaskCombinHF.cxx:998
 AliAnalysisTaskCombinHF.cxx:999
 AliAnalysisTaskCombinHF.cxx:1000
 AliAnalysisTaskCombinHF.cxx:1001
 AliAnalysisTaskCombinHF.cxx:1002
 AliAnalysisTaskCombinHF.cxx:1003
 AliAnalysisTaskCombinHF.cxx:1004
 AliAnalysisTaskCombinHF.cxx:1005
 AliAnalysisTaskCombinHF.cxx:1006
 AliAnalysisTaskCombinHF.cxx:1007
 AliAnalysisTaskCombinHF.cxx:1008
 AliAnalysisTaskCombinHF.cxx:1009
 AliAnalysisTaskCombinHF.cxx:1010
 AliAnalysisTaskCombinHF.cxx:1011
 AliAnalysisTaskCombinHF.cxx:1012
 AliAnalysisTaskCombinHF.cxx:1013
 AliAnalysisTaskCombinHF.cxx:1014
 AliAnalysisTaskCombinHF.cxx:1015
 AliAnalysisTaskCombinHF.cxx:1016
 AliAnalysisTaskCombinHF.cxx:1017
 AliAnalysisTaskCombinHF.cxx:1018
 AliAnalysisTaskCombinHF.cxx:1019
 AliAnalysisTaskCombinHF.cxx:1020
 AliAnalysisTaskCombinHF.cxx:1021
 AliAnalysisTaskCombinHF.cxx:1022
 AliAnalysisTaskCombinHF.cxx:1023
 AliAnalysisTaskCombinHF.cxx:1024
 AliAnalysisTaskCombinHF.cxx:1025
 AliAnalysisTaskCombinHF.cxx:1026
 AliAnalysisTaskCombinHF.cxx:1027
 AliAnalysisTaskCombinHF.cxx:1028
 AliAnalysisTaskCombinHF.cxx:1029
 AliAnalysisTaskCombinHF.cxx:1030
 AliAnalysisTaskCombinHF.cxx:1031
 AliAnalysisTaskCombinHF.cxx:1032
 AliAnalysisTaskCombinHF.cxx:1033
 AliAnalysisTaskCombinHF.cxx:1034
 AliAnalysisTaskCombinHF.cxx:1035
 AliAnalysisTaskCombinHF.cxx:1036
 AliAnalysisTaskCombinHF.cxx:1037
 AliAnalysisTaskCombinHF.cxx:1038
 AliAnalysisTaskCombinHF.cxx:1039
 AliAnalysisTaskCombinHF.cxx:1040
 AliAnalysisTaskCombinHF.cxx:1041
 AliAnalysisTaskCombinHF.cxx:1042
 AliAnalysisTaskCombinHF.cxx:1043
 AliAnalysisTaskCombinHF.cxx:1044
 AliAnalysisTaskCombinHF.cxx:1045
 AliAnalysisTaskCombinHF.cxx:1046
 AliAnalysisTaskCombinHF.cxx:1047
 AliAnalysisTaskCombinHF.cxx:1048
 AliAnalysisTaskCombinHF.cxx:1049
 AliAnalysisTaskCombinHF.cxx:1050
 AliAnalysisTaskCombinHF.cxx:1051
 AliAnalysisTaskCombinHF.cxx:1052
 AliAnalysisTaskCombinHF.cxx:1053
 AliAnalysisTaskCombinHF.cxx:1054
 AliAnalysisTaskCombinHF.cxx:1055
 AliAnalysisTaskCombinHF.cxx:1056
 AliAnalysisTaskCombinHF.cxx:1057
 AliAnalysisTaskCombinHF.cxx:1058
 AliAnalysisTaskCombinHF.cxx:1059
 AliAnalysisTaskCombinHF.cxx:1060
 AliAnalysisTaskCombinHF.cxx:1061
 AliAnalysisTaskCombinHF.cxx:1062
 AliAnalysisTaskCombinHF.cxx:1063
 AliAnalysisTaskCombinHF.cxx:1064
 AliAnalysisTaskCombinHF.cxx:1065
 AliAnalysisTaskCombinHF.cxx:1066
 AliAnalysisTaskCombinHF.cxx:1067
 AliAnalysisTaskCombinHF.cxx:1068
 AliAnalysisTaskCombinHF.cxx:1069
 AliAnalysisTaskCombinHF.cxx:1070
 AliAnalysisTaskCombinHF.cxx:1071
 AliAnalysisTaskCombinHF.cxx:1072
 AliAnalysisTaskCombinHF.cxx:1073
 AliAnalysisTaskCombinHF.cxx:1074
 AliAnalysisTaskCombinHF.cxx:1075
 AliAnalysisTaskCombinHF.cxx:1076
 AliAnalysisTaskCombinHF.cxx:1077
 AliAnalysisTaskCombinHF.cxx:1078
 AliAnalysisTaskCombinHF.cxx:1079
 AliAnalysisTaskCombinHF.cxx:1080
 AliAnalysisTaskCombinHF.cxx:1081
 AliAnalysisTaskCombinHF.cxx:1082
 AliAnalysisTaskCombinHF.cxx:1083
 AliAnalysisTaskCombinHF.cxx:1084
 AliAnalysisTaskCombinHF.cxx:1085
 AliAnalysisTaskCombinHF.cxx:1086
 AliAnalysisTaskCombinHF.cxx:1087
 AliAnalysisTaskCombinHF.cxx:1088
 AliAnalysisTaskCombinHF.cxx:1089
 AliAnalysisTaskCombinHF.cxx:1090
 AliAnalysisTaskCombinHF.cxx:1091
 AliAnalysisTaskCombinHF.cxx:1092
 AliAnalysisTaskCombinHF.cxx:1093
 AliAnalysisTaskCombinHF.cxx:1094
 AliAnalysisTaskCombinHF.cxx:1095
 AliAnalysisTaskCombinHF.cxx:1096
 AliAnalysisTaskCombinHF.cxx:1097
 AliAnalysisTaskCombinHF.cxx:1098
 AliAnalysisTaskCombinHF.cxx:1099
 AliAnalysisTaskCombinHF.cxx:1100
 AliAnalysisTaskCombinHF.cxx:1101
 AliAnalysisTaskCombinHF.cxx:1102
 AliAnalysisTaskCombinHF.cxx:1103
 AliAnalysisTaskCombinHF.cxx:1104
 AliAnalysisTaskCombinHF.cxx:1105
 AliAnalysisTaskCombinHF.cxx:1106
 AliAnalysisTaskCombinHF.cxx:1107
 AliAnalysisTaskCombinHF.cxx:1108
 AliAnalysisTaskCombinHF.cxx:1109
 AliAnalysisTaskCombinHF.cxx:1110
 AliAnalysisTaskCombinHF.cxx:1111
 AliAnalysisTaskCombinHF.cxx:1112
 AliAnalysisTaskCombinHF.cxx:1113
 AliAnalysisTaskCombinHF.cxx:1114
 AliAnalysisTaskCombinHF.cxx:1115
 AliAnalysisTaskCombinHF.cxx:1116
 AliAnalysisTaskCombinHF.cxx:1117
 AliAnalysisTaskCombinHF.cxx:1118
 AliAnalysisTaskCombinHF.cxx:1119
 AliAnalysisTaskCombinHF.cxx:1120
 AliAnalysisTaskCombinHF.cxx:1121
 AliAnalysisTaskCombinHF.cxx:1122
 AliAnalysisTaskCombinHF.cxx:1123
 AliAnalysisTaskCombinHF.cxx:1124
 AliAnalysisTaskCombinHF.cxx:1125
 AliAnalysisTaskCombinHF.cxx:1126
 AliAnalysisTaskCombinHF.cxx:1127
 AliAnalysisTaskCombinHF.cxx:1128
 AliAnalysisTaskCombinHF.cxx:1129
 AliAnalysisTaskCombinHF.cxx:1130
 AliAnalysisTaskCombinHF.cxx:1131
 AliAnalysisTaskCombinHF.cxx:1132
 AliAnalysisTaskCombinHF.cxx:1133
 AliAnalysisTaskCombinHF.cxx:1134
 AliAnalysisTaskCombinHF.cxx:1135
 AliAnalysisTaskCombinHF.cxx:1136
 AliAnalysisTaskCombinHF.cxx:1137
 AliAnalysisTaskCombinHF.cxx:1138
 AliAnalysisTaskCombinHF.cxx:1139
 AliAnalysisTaskCombinHF.cxx:1140
 AliAnalysisTaskCombinHF.cxx:1141
 AliAnalysisTaskCombinHF.cxx:1142
 AliAnalysisTaskCombinHF.cxx:1143
 AliAnalysisTaskCombinHF.cxx:1144
 AliAnalysisTaskCombinHF.cxx:1145
 AliAnalysisTaskCombinHF.cxx:1146
 AliAnalysisTaskCombinHF.cxx:1147
 AliAnalysisTaskCombinHF.cxx:1148
 AliAnalysisTaskCombinHF.cxx:1149
 AliAnalysisTaskCombinHF.cxx:1150
 AliAnalysisTaskCombinHF.cxx:1151
 AliAnalysisTaskCombinHF.cxx:1152
 AliAnalysisTaskCombinHF.cxx:1153
 AliAnalysisTaskCombinHF.cxx:1154
 AliAnalysisTaskCombinHF.cxx:1155
 AliAnalysisTaskCombinHF.cxx:1156
 AliAnalysisTaskCombinHF.cxx:1157
 AliAnalysisTaskCombinHF.cxx:1158
 AliAnalysisTaskCombinHF.cxx:1159
 AliAnalysisTaskCombinHF.cxx:1160
 AliAnalysisTaskCombinHF.cxx:1161
 AliAnalysisTaskCombinHF.cxx:1162
 AliAnalysisTaskCombinHF.cxx:1163
 AliAnalysisTaskCombinHF.cxx:1164
 AliAnalysisTaskCombinHF.cxx:1165
 AliAnalysisTaskCombinHF.cxx:1166
 AliAnalysisTaskCombinHF.cxx:1167
 AliAnalysisTaskCombinHF.cxx:1168
 AliAnalysisTaskCombinHF.cxx:1169
 AliAnalysisTaskCombinHF.cxx:1170
 AliAnalysisTaskCombinHF.cxx:1171
 AliAnalysisTaskCombinHF.cxx:1172
 AliAnalysisTaskCombinHF.cxx:1173
 AliAnalysisTaskCombinHF.cxx:1174
 AliAnalysisTaskCombinHF.cxx:1175
 AliAnalysisTaskCombinHF.cxx:1176
 AliAnalysisTaskCombinHF.cxx:1177
 AliAnalysisTaskCombinHF.cxx:1178
 AliAnalysisTaskCombinHF.cxx:1179
 AliAnalysisTaskCombinHF.cxx:1180
 AliAnalysisTaskCombinHF.cxx:1181
 AliAnalysisTaskCombinHF.cxx:1182
 AliAnalysisTaskCombinHF.cxx:1183
 AliAnalysisTaskCombinHF.cxx:1184
 AliAnalysisTaskCombinHF.cxx:1185
 AliAnalysisTaskCombinHF.cxx:1186
 AliAnalysisTaskCombinHF.cxx:1187
 AliAnalysisTaskCombinHF.cxx:1188
 AliAnalysisTaskCombinHF.cxx:1189
 AliAnalysisTaskCombinHF.cxx:1190
 AliAnalysisTaskCombinHF.cxx:1191
 AliAnalysisTaskCombinHF.cxx:1192
 AliAnalysisTaskCombinHF.cxx:1193
 AliAnalysisTaskCombinHF.cxx:1194
 AliAnalysisTaskCombinHF.cxx:1195
 AliAnalysisTaskCombinHF.cxx:1196
 AliAnalysisTaskCombinHF.cxx:1197
 AliAnalysisTaskCombinHF.cxx:1198
 AliAnalysisTaskCombinHF.cxx:1199
 AliAnalysisTaskCombinHF.cxx:1200
 AliAnalysisTaskCombinHF.cxx:1201
 AliAnalysisTaskCombinHF.cxx:1202
 AliAnalysisTaskCombinHF.cxx:1203
 AliAnalysisTaskCombinHF.cxx:1204
 AliAnalysisTaskCombinHF.cxx:1205
 AliAnalysisTaskCombinHF.cxx:1206
 AliAnalysisTaskCombinHF.cxx:1207
 AliAnalysisTaskCombinHF.cxx:1208
 AliAnalysisTaskCombinHF.cxx:1209
 AliAnalysisTaskCombinHF.cxx:1210
 AliAnalysisTaskCombinHF.cxx:1211
 AliAnalysisTaskCombinHF.cxx:1212
 AliAnalysisTaskCombinHF.cxx:1213
 AliAnalysisTaskCombinHF.cxx:1214
 AliAnalysisTaskCombinHF.cxx:1215
 AliAnalysisTaskCombinHF.cxx:1216
 AliAnalysisTaskCombinHF.cxx:1217
 AliAnalysisTaskCombinHF.cxx:1218
 AliAnalysisTaskCombinHF.cxx:1219
 AliAnalysisTaskCombinHF.cxx:1220
 AliAnalysisTaskCombinHF.cxx:1221
 AliAnalysisTaskCombinHF.cxx:1222
 AliAnalysisTaskCombinHF.cxx:1223
 AliAnalysisTaskCombinHF.cxx:1224
 AliAnalysisTaskCombinHF.cxx:1225
 AliAnalysisTaskCombinHF.cxx:1226
 AliAnalysisTaskCombinHF.cxx:1227
 AliAnalysisTaskCombinHF.cxx:1228
 AliAnalysisTaskCombinHF.cxx:1229
 AliAnalysisTaskCombinHF.cxx:1230
 AliAnalysisTaskCombinHF.cxx:1231
 AliAnalysisTaskCombinHF.cxx:1232
 AliAnalysisTaskCombinHF.cxx:1233
 AliAnalysisTaskCombinHF.cxx:1234
 AliAnalysisTaskCombinHF.cxx:1235
 AliAnalysisTaskCombinHF.cxx:1236
 AliAnalysisTaskCombinHF.cxx:1237
 AliAnalysisTaskCombinHF.cxx:1238
 AliAnalysisTaskCombinHF.cxx:1239
 AliAnalysisTaskCombinHF.cxx:1240
 AliAnalysisTaskCombinHF.cxx:1241
 AliAnalysisTaskCombinHF.cxx:1242
 AliAnalysisTaskCombinHF.cxx:1243
 AliAnalysisTaskCombinHF.cxx:1244
 AliAnalysisTaskCombinHF.cxx:1245
 AliAnalysisTaskCombinHF.cxx:1246
 AliAnalysisTaskCombinHF.cxx:1247
 AliAnalysisTaskCombinHF.cxx:1248
 AliAnalysisTaskCombinHF.cxx:1249
 AliAnalysisTaskCombinHF.cxx:1250
 AliAnalysisTaskCombinHF.cxx:1251
 AliAnalysisTaskCombinHF.cxx:1252
 AliAnalysisTaskCombinHF.cxx:1253
 AliAnalysisTaskCombinHF.cxx:1254
 AliAnalysisTaskCombinHF.cxx:1255
 AliAnalysisTaskCombinHF.cxx:1256
 AliAnalysisTaskCombinHF.cxx:1257
 AliAnalysisTaskCombinHF.cxx:1258
 AliAnalysisTaskCombinHF.cxx:1259
 AliAnalysisTaskCombinHF.cxx:1260
 AliAnalysisTaskCombinHF.cxx:1261
 AliAnalysisTaskCombinHF.cxx:1262
 AliAnalysisTaskCombinHF.cxx:1263
 AliAnalysisTaskCombinHF.cxx:1264
 AliAnalysisTaskCombinHF.cxx:1265
 AliAnalysisTaskCombinHF.cxx:1266
 AliAnalysisTaskCombinHF.cxx:1267
 AliAnalysisTaskCombinHF.cxx:1268
 AliAnalysisTaskCombinHF.cxx:1269
 AliAnalysisTaskCombinHF.cxx:1270
 AliAnalysisTaskCombinHF.cxx:1271
 AliAnalysisTaskCombinHF.cxx:1272
 AliAnalysisTaskCombinHF.cxx:1273
 AliAnalysisTaskCombinHF.cxx:1274
 AliAnalysisTaskCombinHF.cxx:1275
 AliAnalysisTaskCombinHF.cxx:1276
 AliAnalysisTaskCombinHF.cxx:1277
 AliAnalysisTaskCombinHF.cxx:1278
 AliAnalysisTaskCombinHF.cxx:1279
 AliAnalysisTaskCombinHF.cxx:1280
 AliAnalysisTaskCombinHF.cxx:1281
 AliAnalysisTaskCombinHF.cxx:1282
 AliAnalysisTaskCombinHF.cxx:1283
 AliAnalysisTaskCombinHF.cxx:1284
 AliAnalysisTaskCombinHF.cxx:1285
 AliAnalysisTaskCombinHF.cxx:1286
 AliAnalysisTaskCombinHF.cxx:1287
 AliAnalysisTaskCombinHF.cxx:1288
 AliAnalysisTaskCombinHF.cxx:1289
 AliAnalysisTaskCombinHF.cxx:1290
 AliAnalysisTaskCombinHF.cxx:1291
 AliAnalysisTaskCombinHF.cxx:1292
 AliAnalysisTaskCombinHF.cxx:1293
 AliAnalysisTaskCombinHF.cxx:1294
 AliAnalysisTaskCombinHF.cxx:1295
 AliAnalysisTaskCombinHF.cxx:1296
 AliAnalysisTaskCombinHF.cxx:1297
 AliAnalysisTaskCombinHF.cxx:1298
 AliAnalysisTaskCombinHF.cxx:1299
 AliAnalysisTaskCombinHF.cxx:1300
 AliAnalysisTaskCombinHF.cxx:1301
 AliAnalysisTaskCombinHF.cxx:1302
 AliAnalysisTaskCombinHF.cxx:1303
 AliAnalysisTaskCombinHF.cxx:1304
 AliAnalysisTaskCombinHF.cxx:1305
 AliAnalysisTaskCombinHF.cxx:1306
 AliAnalysisTaskCombinHF.cxx:1307
 AliAnalysisTaskCombinHF.cxx:1308
 AliAnalysisTaskCombinHF.cxx:1309
 AliAnalysisTaskCombinHF.cxx:1310
 AliAnalysisTaskCombinHF.cxx:1311
 AliAnalysisTaskCombinHF.cxx:1312
 AliAnalysisTaskCombinHF.cxx:1313
 AliAnalysisTaskCombinHF.cxx:1314
 AliAnalysisTaskCombinHF.cxx:1315
 AliAnalysisTaskCombinHF.cxx:1316
 AliAnalysisTaskCombinHF.cxx:1317
 AliAnalysisTaskCombinHF.cxx:1318
 AliAnalysisTaskCombinHF.cxx:1319
 AliAnalysisTaskCombinHF.cxx:1320
 AliAnalysisTaskCombinHF.cxx:1321
 AliAnalysisTaskCombinHF.cxx:1322
 AliAnalysisTaskCombinHF.cxx:1323
 AliAnalysisTaskCombinHF.cxx:1324
 AliAnalysisTaskCombinHF.cxx:1325
 AliAnalysisTaskCombinHF.cxx:1326
 AliAnalysisTaskCombinHF.cxx:1327
 AliAnalysisTaskCombinHF.cxx:1328
 AliAnalysisTaskCombinHF.cxx:1329
 AliAnalysisTaskCombinHF.cxx:1330