#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)
{
}
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)
{
DefineOutput(1,TList::Class());
DefineOutput(2,AliNormalizationCounter::Class());
}
AliAnalysisTaskCombinHF::~AliAnalysisTaskCombinHF()
{
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)
{
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)
{
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()
{
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);
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 *){
AliAODEvent *aod = dynamic_cast<AliAODEvent*> (InputEvent());
if(!aod && AODEvent() && IsStandardAOD()) {
aod = dynamic_cast<AliAODEvent*> (AODEvent());
}
if(!aod){
printf("AliAnalysisTaskCombinHF::UserExec: AOD not found!\n");
return;
}
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);
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;
}
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.);
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;
if (fPIDstrategy == knSigma) {
if(IsKaon(track)) status[iTr]+=2;
if(IsPion(track)) status[iTr]+=4;
}
else if (fPIDstrategy == kBayesianMaxProb || fPIDstrategy == kBayesianThres) {
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]);
}
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);
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 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){
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){
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){
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){
continue;
}
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){
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;
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);
Double_t rotStep3=(fMaxAngleForRot3-fMinAngleForRot3)/(fNRotations-1);
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){
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){
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){
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){
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){
case 0:
{
return kTRUE;
}
break;
case 1:
{
if(isKaon>=0 && track->P()>fmaxPforIDKaon)return kTRUE;
}
break;
case 2:
{
if(track->P()>fmaxPforIDKaon)return kTRUE;
AliPIDResponse *pidResp=fPidHF->GetPidResponse();
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;
}
}
}
return kFALSE;
}
Bool_t AliAnalysisTaskCombinHF::IsPion(AliAODTrack* track){
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){
case 0:
{
return kTRUE;
}
break;
case 1:
{
if(track->P()>fmaxPforIDPion)return kTRUE;
}
break;
case 2:
{
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;
}
}
}
return kFALSE;
}
Bool_t AliAnalysisTaskCombinHF::SelectAODTrack(AliAODTrack *track, AliESDtrackCuts *cuts){
if(!cuts) return kTRUE;
AliESDtrack esdTrack(track);
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){
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){
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){
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){
if(TMath::Abs(zv2-zv1)>fMaxzVertDistForMix) return kFALSE;
if(TMath::Abs(mult2-mult1)>fMaxMultDiffForMix) return kFALSE;
return kTRUE;
}
void AliAnalysisTaskCombinHF::DoMixingWithCuts(){
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};
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){
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);
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()
{
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 *)
{
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