ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

//-----------------------------------------------------------------------
// Class for HF corrections as a function of many variables
// 6 Steps introduced: MC, MC Acc, Reco, Reco Acc, Reco Acc + ITS Cl, 
// Reco Acc + ITS Cl + PPR cuts
// 12 variables used: pt, y, cosThetaStar, ptPi, ptK, ct,
// dca, d0Pi, d0K, d0Pixd0K, cosPointingAngle, phi
//
//-----------------------------------------------------------------------
// Author : C. Zampolli, CERN
//          D. Caffarri, Univ & INFN Padova  caffarri@pd.infn.it
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// Base class for HF Unfolding (pt and eta)
// correlation matrix filled at Acceptance and PPR level
// Author: A.Grelli ,  Utrecht - agrelli@uu.nl
//----------------------------------------------------------------------- 
#include <TCanvas.h>
#include <TParticle.h>
#include <TDatabasePDG.h>
#include <TProfile.h>
#include <TH1I.h>
#include <TStyle.h>
#include <TFile.h>
#include <TF1.h>

#include "AliCFTaskVertexingHF.h"
#include "AliStack.h"
#include "AliMCEvent.h"
#include "AliCFManager.h"
#include "AliCFContainer.h"
#include "AliLog.h"
#include "AliInputEventHandler.h"
#include "AliAnalysisManager.h"
#include "AliAODHandler.h"
#include "AliAODEvent.h"
#include "AliAODRecoDecay.h"
#include "AliAODRecoDecayHF.h"
#include "AliAODRecoDecayHF2Prong.h"
#include "AliAODRecoDecayHF3Prong.h"
#include "AliAODRecoDecayHF4Prong.h"
#include "AliAODRecoCascadeHF.h"
#include "AliAODMCParticle.h"
#include "AliAODMCHeader.h"
#include "AliESDtrack.h"
#include "TChain.h"
#include "THnSparse.h"
#include "TH2D.h"
#include "AliESDtrackCuts.h"
#include "AliRDHFCuts.h"
#include "AliRDHFCutsD0toKpi.h"
#include "AliRDHFCutsDplustoKpipi.h"
#include "AliRDHFCutsDStartoKpipi.h"
#include "AliRDHFCutsDstoKKpi.h"
#include "AliRDHFCutsLctopKpi.h"
#include "AliRDHFCutsD0toKpipipi.h"
#include "AliRDHFCutsLctoV0.h"
#include "AliCFVertexingHF2Prong.h"
#include "AliCFVertexingHF3Prong.h"
#include "AliCFVertexingHFCascade.h"
#include "AliCFVertexingHFLctoV0bachelor.h"
#include "AliCFVertexingHF.h"
#include "AliVertexingHFUtils.h"
#include "AliAnalysisDataSlot.h"
#include "AliAnalysisDataContainer.h"
#include "AliPIDResponse.h"

//__________________________________________________________________________
AliCFTaskVertexingHF::AliCFTaskVertexingHF() :
  AliAnalysisTaskSE(),
  fCFManager(0x0),
  fHistEventsProcessed(0x0),
  fCorrelation(0x0),
  fListProfiles(0),
  fCountMC(0),
  fCountAcc(0),
  fCountVertex(0),
  fCountRefit(0),
  fCountReco(0),
  fCountRecoAcc(0),
  fCountRecoITSClusters(0),
  fCountRecoPPR(0),
  fCountRecoPID(0),
  fEvents(0),
  fDecayChannel(0),
  fFillFromGenerated(kFALSE),
  fOriginDselection(0),
  fAcceptanceUnf(kTRUE),
  fCuts(0),
  fUseWeight(kFALSE),
  fWeight(1.),
  fUseFlatPtWeight(kFALSE),
  fUseZWeight(kFALSE),
  fUseNchWeight(kFALSE),
  fUseTrackletsWeight(kFALSE),
  fUseMultRatioAsWeight(kFALSE),
  fNvar(0),
  fPartName(""),
  fDauNames(""),
  fSign(2),
  fCentralitySelection(kTRUE),
  fFakeSelection(0),
  fRejectIfNoQuark(kTRUE),	
  fUseMCVertex(kFALSE),
  fDsOption(1),
  fGenDsOption(3),
  fConfiguration(kCheetah), // by default, setting the fast configuration
  fFuncWeight(0x0),
  fHistoPtWeight(0x0),
  fHistoMeasNch(0x0),
  fHistoMCNch(0x0),
  fResonantDecay(0),
  fLctoV0bachelorOption(1),
  fGenLctoV0bachelorOption(0),
  fUseSelectionBit(kTRUE),
  fPDGcode(0),
  fMultiplicityEstimator(kNtrk10),
  fRefMult(9.26),
  fZvtxCorrectedNtrkEstimator(kFALSE),
  fIsPPData(kFALSE),
  fIsPPbData(kFALSE),
  fUseAdditionalCuts(kFALSE),
  fUseCutsForTMVA(kFALSE),
  fUseCascadeTaskForLctoV0bachelor(kFALSE),
  fCutOnMomConservation(0.00001)
{
  //
  //Default ctor
  //
  for(Int_t i=0; i<4; i++) fMultEstimatorAvg[i]=0;
}
//___________________________________________________________________________
AliCFTaskVertexingHF::AliCFTaskVertexingHF(const Char_t* name, AliRDHFCuts* cuts, TF1* func) :
  AliAnalysisTaskSE(name),
  fCFManager(0x0),
  fHistEventsProcessed(0x0),
  fCorrelation(0x0),
  fListProfiles(0),
  fCountMC(0),
  fCountAcc(0),
  fCountVertex(0),
  fCountRefit(0),
  fCountReco(0),
  fCountRecoAcc(0),
  fCountRecoITSClusters(0),
  fCountRecoPPR(0),
  fCountRecoPID(0),
  fEvents(0),
  fDecayChannel(0),
  fFillFromGenerated(kFALSE),
  fOriginDselection(0),
  fAcceptanceUnf(kTRUE),
  fCuts(cuts), 
  fUseWeight(kFALSE),
  fWeight(1.),
  fUseFlatPtWeight(kFALSE),
  fUseZWeight(kFALSE),
  fUseNchWeight(kFALSE),
  fUseTrackletsWeight(kFALSE),
  fUseMultRatioAsWeight(kFALSE),
  fNvar(0),
  fPartName(""),
  fDauNames(""),
  fSign(2), 
  fCentralitySelection(kTRUE),
  fFakeSelection(0),
  fRejectIfNoQuark(kTRUE),
  fUseMCVertex(kFALSE),
  fDsOption(1),
  fGenDsOption(3),
  fConfiguration(kCheetah),  // by default, setting the fast configuration
  fFuncWeight(func),
  fHistoPtWeight(0x0),
  fHistoMeasNch(0x0),
  fHistoMCNch(0x0),
  fResonantDecay(0),
  fLctoV0bachelorOption(1),
  fGenLctoV0bachelorOption(0),
  fUseSelectionBit(kTRUE),
  fPDGcode(0),
  fMultiplicityEstimator(kNtrk10),
  fRefMult(9.26),
  fZvtxCorrectedNtrkEstimator(kFALSE),
  fIsPPData(kFALSE),
  fIsPPbData(kFALSE),
  fUseAdditionalCuts(kFALSE),
  fUseCutsForTMVA(kFALSE),
  fUseCascadeTaskForLctoV0bachelor(kFALSE),
  fCutOnMomConservation(0.00001)
{
  //
  // Constructor. Initialization of Inputs and Outputs
  //
  /*
    DefineInput(0) and DefineOutput(0)
    are taken care of by AliAnalysisTaskSE constructor
  */
  DefineOutput(1,TH1I::Class());
  DefineOutput(2,AliCFContainer::Class());
  DefineOutput(3,THnSparseD::Class());
  DefineOutput(4,AliRDHFCuts::Class());
  for(Int_t i=0; i<4; i++) fMultEstimatorAvg[i]=0;
  DefineOutput(5,TList::Class()); // slot #5 keeps the zvtx Ntrakclets correction profiles
	
  fCuts->PrintAll();
}

//___________________________________________________________________________
AliCFTaskVertexingHF& AliCFTaskVertexingHF::operator=(const AliCFTaskVertexingHF& c) 
{
  //
  // Assignment operator
  //
  if (this!=&c) {
    AliAnalysisTaskSE::operator=(c) ;
    fCFManager  = c.fCFManager;
    fHistEventsProcessed = c.fHistEventsProcessed;
    fCuts = c.fCuts;
    fFuncWeight = c.fFuncWeight;
    fHistoPtWeight = c.fHistoPtWeight;
    fHistoMeasNch = c.fHistoMeasNch;
    fHistoMCNch = c.fHistoMCNch;
    for(Int_t i=0; i<4; i++) fMultEstimatorAvg[i]=c.fMultEstimatorAvg[i];
  }
  return *this;
}

//___________________________________________________________________________
AliCFTaskVertexingHF::AliCFTaskVertexingHF(const AliCFTaskVertexingHF& c) :
  AliAnalysisTaskSE(c),
  fCFManager(c.fCFManager),
  fHistEventsProcessed(c.fHistEventsProcessed),
  fCorrelation(c.fCorrelation),
  fListProfiles(c.fListProfiles),
  fCountMC(c.fCountMC),
  fCountAcc(c.fCountAcc),
  fCountVertex(c.fCountVertex),
  fCountRefit(c.fCountRefit),
  fCountReco(c.fCountReco),
  fCountRecoAcc(c.fCountRecoAcc),
  fCountRecoITSClusters(c.fCountRecoITSClusters),
  fCountRecoPPR(c.fCountRecoPPR),
  fCountRecoPID(c.fCountRecoPID),
  fEvents(c.fEvents),
  fDecayChannel(c.fDecayChannel),
  fFillFromGenerated(c.fFillFromGenerated),
  fOriginDselection(c.fOriginDselection),
  fAcceptanceUnf(c.fAcceptanceUnf),
  fCuts(c.fCuts),
  fUseWeight(c.fUseWeight),
  fWeight(c.fWeight),
  fUseFlatPtWeight(c.fUseFlatPtWeight),
  fUseZWeight(c.fUseZWeight),
  fUseNchWeight(c.fUseNchWeight),
  fUseTrackletsWeight(c.fUseTrackletsWeight),
  fUseMultRatioAsWeight(c.fUseMultRatioAsWeight),
  fNvar(c.fNvar),
  fPartName(c.fPartName),
  fDauNames(c.fDauNames),
  fSign(c.fSign),
  fCentralitySelection(c.fCentralitySelection),
  fFakeSelection(c.fFakeSelection),
  fRejectIfNoQuark(c.fRejectIfNoQuark),
  fUseMCVertex(c.fUseMCVertex),
  fDsOption(c.fDsOption),
  fGenDsOption(c.fGenDsOption),
  fConfiguration(c.fConfiguration),
  fFuncWeight(c.fFuncWeight),
  fHistoPtWeight(c.fHistoPtWeight),
  fHistoMeasNch(c.fHistoMeasNch),
  fHistoMCNch(c.fHistoMCNch),
  fResonantDecay(c.fResonantDecay),
  fLctoV0bachelorOption(c.fLctoV0bachelorOption),
  fGenLctoV0bachelorOption(c.fGenLctoV0bachelorOption),
  fUseSelectionBit(c.fUseSelectionBit),
  fPDGcode(c.fPDGcode),
  fMultiplicityEstimator(c.fMultiplicityEstimator),
  fRefMult(c.fRefMult),
  fZvtxCorrectedNtrkEstimator(c.fZvtxCorrectedNtrkEstimator),
  fIsPPData(c.fIsPPData),
  fIsPPbData(c.fIsPPbData),
  fUseAdditionalCuts(c.fUseAdditionalCuts),
  fUseCutsForTMVA(c.fUseCutsForTMVA),
  fUseCascadeTaskForLctoV0bachelor(c.fUseCascadeTaskForLctoV0bachelor),
  fCutOnMomConservation(c.fCutOnMomConservation)
{
  //
  // Copy Constructor
  //
  for(Int_t i=0; i<4; i++) fMultEstimatorAvg[i]=c.fMultEstimatorAvg[i];
}

//___________________________________________________________________________
AliCFTaskVertexingHF::~AliCFTaskVertexingHF() 
{
  //
  //destructor
  //
  if (fCFManager)           delete fCFManager ;
  if (fHistEventsProcessed) delete fHistEventsProcessed ;
  if (fCorrelation)	  delete fCorrelation ;
  if (fListProfiles)        delete fListProfiles;
  if (fCuts)                delete fCuts;
  if (fFuncWeight)          delete fFuncWeight;
  if (fHistoPtWeight)       delete fHistoPtWeight;
  if (fHistoMeasNch)        delete fHistoMeasNch;
  if (fHistoMCNch)          delete fHistoMCNch;
  for(Int_t i=0; i<4; i++) { if(fMultEstimatorAvg[i]) delete fMultEstimatorAvg[i]; }
}

//_________________________________________________________________________-
void AliCFTaskVertexingHF::Init()
{
  //
  // Initialization
  //
	
  if (fDebug>1) printf("AliCFTaskVertexingHF::Init()");
  if(fUseWeight && fUseZWeight) { AliFatal("Can not use at the same time pt and z-vtx weights, please choose"); return; }
  if(fUseWeight && fUseNchWeight) { AliInfo("Beware, using at the same time pt and Nch weights, please check"); }
  if(fUseNchWeight && !fHistoMCNch) { AliFatal("Need to pass the MC Nch distribution to use Nch weights"); return; }
  if(fUseNchWeight && !fHistoMeasNch) CreateMeasuredNchHisto();

  AliRDHFCuts *copyfCuts = 0x0;
  if (!fCuts){
    AliFatal("No cuts defined - Exiting...");
    return;
  }

  switch (fDecayChannel){
  case 2:{
    fPDGcode = 421;
    copyfCuts = new AliRDHFCutsD0toKpi(*(static_cast<AliRDHFCutsD0toKpi*>(fCuts)));
    switch (fConfiguration) {
    case kSnail:  // slow configuration: all variables in
      fNvar = 16;
      break;
    case kCheetah:// fast configuration: only pt_candidate, y, phi, ct, fake, z_vtx, centrality, multiplicity will be filled
      fNvar = 8;
      break;
    }
    fPartName="D0";
    fDauNames="K+pi";
    break;
  }
  case 21:{ 
    fPDGcode = 413;
    copyfCuts = new AliRDHFCutsDStartoKpipi(*(static_cast<AliRDHFCutsDStartoKpipi*>(fCuts)));
    switch (fConfiguration) {
    case kSnail:  // slow configuration: all variables in
      fNvar = 16;
      break;
    case kCheetah:// fast configuration: only pt_candidate, y, phi, ct, fake, z_vtx, centrality, multiplicity will be filled
      fNvar = 8;
      break;
    }			
    fPartName="Dstar";
    fDauNames="K+pi+pi";
    break;
  }
  case 22:{
    fPDGcode = 4122;
    copyfCuts = new AliRDHFCutsLctoV0(*(static_cast<AliRDHFCutsLctoV0*>(fCuts)));
    switch (fConfiguration) {
    case kSnail:  // slow configuration: all variables in
      fNvar = 16;
      break;
    case kCheetah:// fast configuration: only pt_candidate, y, phi, ct, fake, z_vtx, centrality, multiplicity will be filled
      fNvar = 8;
      break;
    }			
    fPartName="Lambdac";
    fDauNames="V0+bachelor";
    break;
  }
  case 31:{
    fPDGcode = 411;
    copyfCuts = new AliRDHFCutsDplustoKpipi(*(static_cast<AliRDHFCutsDplustoKpipi*>(fCuts)));
    switch (fConfiguration) {
    case kSnail:  // slow configuration: all variables in
      fNvar = 14;
      break;
    case kCheetah:// fast configuration: only pt_candidate, y, phi, ct, fake, z_vtx, centrality, multiplicity will be filled
      fNvar = 8;
      break;
    }			
    fPartName="Dplus";
    fDauNames="K+pi+pi";
    break;
  }
  case 32:{
    fPDGcode = 4122;
    copyfCuts = new AliRDHFCutsLctopKpi(*(static_cast<AliRDHFCutsLctopKpi*>(fCuts)));
    switch (fConfiguration) {
    case kSnail:  // slow configuration: all variables in
      fNvar = 18;
      break;
    case kCheetah:// fast configuration: only pt_candidate, y, phi, ct, fake, z_vtx, centrality, multiplicity will be filled
      fNvar = 8;
      break;
    }			
    fPartName="Lambdac";
    fDauNames="p+K+pi";
    break;
  }
  case 33:{
    fPDGcode = 431;
    copyfCuts = new AliRDHFCutsDstoKKpi(*(static_cast<AliRDHFCutsDstoKKpi*>(fCuts)));
    switch (fConfiguration) {
    case kSnail:  // slow configuration: all variables in
      fNvar = 14;
      break;
    case kCheetah:// fast configuration: only pt_candidate, y, phi, ct, fake, z_vtx, centrality, multiplicity will be filled
      fNvar = 8;
      break;
    }			
    fPartName="Ds";
    fDauNames="K+K+pi";
    break;
  }
  case 4:{
    fPDGcode = 421;
    copyfCuts = new AliRDHFCutsD0toKpipipi(*(static_cast<AliRDHFCutsD0toKpipipi*>(fCuts)));
    switch (fConfiguration) {
    case kSnail:  // slow configuration: all variables in
      fNvar = 16;
      break;
    case kCheetah:// fast configuration: only pt_candidate, y, phi, ct, fake, z_vtx, centrality, multiplicity will be filled
      fNvar = 8;
      break;
    }			
    fPartName="D0";
    fDauNames="K+pi+pi+pi";
    break;
  }
  default:
    AliFatal("The decay channel MUST be defined according to AliCFVertexing::DecayChannel - Exiting...");
    break;
  }  
	
  const char* nameoutput=GetOutputSlot(4)->GetContainer()->GetName();
  if (copyfCuts){
    copyfCuts->SetName(nameoutput);
		
    //Post the data
    PostData(4, copyfCuts);
  }
  else{
    AliFatal("Failing initializing AliRDHFCuts object - Exiting...");
  }

  fListProfiles = new TList();
  fListProfiles->SetOwner();
  TString period[4];
  Int_t nProfiles=4;
  
  if (fIsPPbData) { //if pPb, use only two estimator histos
     period[0] = "LHC13b"; period[1] = "LHC13c";
     nProfiles = 2;
  } else {        // else assume pp (four histos for LHC10)
     period[0] = "LHC10b"; period[1] = "LHC10c"; period[2] = "LHC10d"; period[3] = "LHC10e";
     nProfiles = 4;
  }

  for(Int_t i=0; i<nProfiles; i++){
    if(fMultEstimatorAvg[i]){
      TProfile* hprof=new TProfile(*fMultEstimatorAvg[i]);
      hprof->SetName(Form("ProfileTrkVsZvtx%s\n",period[i].Data()));
      fListProfiles->Add(hprof);
    }
  }

  // Save also the weight functions or histograms
  if(fFuncWeight) fListProfiles->Add(fFuncWeight);
  if(fHistoPtWeight) fListProfiles->Add(fHistoPtWeight);
  if(fHistoMeasNch) fListProfiles->Add(fHistoMeasNch);
  if(fHistoMCNch) fListProfiles->Add(fHistoMCNch);

  PostData(5,fListProfiles);
	
  return;
}

//_________________________________________________
void AliCFTaskVertexingHF::UserExec(Option_t *)
{
  //
  // Main loop function
  //
	
  PostData(1,fHistEventsProcessed) ;
  PostData(2,fCFManager->GetParticleContainer()) ;
  PostData(3,fCorrelation) ;	

  AliDebug(3,Form("*** Processing event %d\n", fEvents));

  if (fFillFromGenerated){
    AliWarning("Flag to fill container with generated value ON ---> dca, d0pi, d0K, d0xd0, cosPointingAngle will be set as dummy!");
  }
	
  if (!fInputEvent) {
    Error("UserExec","NO EVENT FOUND!");
    return;
  }
	
  AliAODEvent* aodEvent = dynamic_cast<AliAODEvent*>(fInputEvent);
	
  TClonesArray *arrayBranch=0;
	
  if(!aodEvent && 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.    
    aodEvent = dynamic_cast<AliAODEvent*> (AODEvent());
    // in this case the braches in the deltaAOD (AliAOD.VertexingHF.root)
    // have to taken from the AOD event hold by the AliAODExtension
    AliAODHandler* aodHandler = (AliAODHandler*) 
      ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
    if(aodHandler->GetExtensions()) {
      AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject("AliAOD.VertexingHF.root");
      AliAODEvent *aodFromExt = ext->GetAOD();
			
      switch (fDecayChannel){
      case 2:{
	arrayBranch=(TClonesArray*)aodFromExt->GetList()->FindObject("D0toKpi");
	break;
      }
      case 21:{ 
	arrayBranch=(TClonesArray*)aodFromExt->GetList()->FindObject("Dstar");
	break;
      }
      case 22:{
	arrayBranch=(TClonesArray*)aodFromExt->GetList()->FindObject("CascadesHF");
	break;
      }
      case 31:
      case 32:
      case 33:{
	arrayBranch=(TClonesArray*)aodFromExt->GetList()->FindObject("Charm3Prong");
	break;
      }
      case 4:{
	arrayBranch=(TClonesArray*)aodFromExt->GetList()->FindObject("Charm4Prong");
	break;
      }
      default:
	break;
      }
    }
  } 
  else {
    switch (fDecayChannel){
    case 2:{
      arrayBranch=(TClonesArray*)aodEvent->GetList()->FindObject("D0toKpi");
      break;
    }
    case 21:{ 
      arrayBranch=(TClonesArray*)aodEvent->GetList()->FindObject("Dstar");
      break;
    }
    case 22:{
      arrayBranch=(TClonesArray*)aodEvent->GetList()->FindObject("CascadesHF");
      break;
    }
    case 31:
    case 32:
    case 33:{
      arrayBranch=(TClonesArray*)aodEvent->GetList()->FindObject("Charm3Prong");
      break;
    }
    case 4:{
      arrayBranch=(TClonesArray*)aodEvent->GetList()->FindObject("Charm4Prong");
      break;
    }
    default:
      break;
    }
  }

  AliAODVertex *aodVtx = (AliAODVertex*)aodEvent->GetPrimaryVertex();
  if (!aodVtx) {
    AliDebug(3, "The event was skipped due to missing vertex");
    return;
  }

  if (!arrayBranch) {
    AliError("Could not find array of HF vertices");
    return;
  }
	
  fEvents++;

  fCFManager->SetRecEventInfo(aodEvent);
  fCFManager->SetMCEventInfo(aodEvent);
	
  //******** DEFINE number of variables of the container***** for now set at 13, in the future in the config macro.
	
  //loop on the MC event
	
  TClonesArray* mcArray = dynamic_cast<TClonesArray*>(aodEvent->FindListObject(AliAODMCParticle::StdBranchName()));
  if (!mcArray) {
    AliError("Could not find Monte-Carlo in AOD");
    return;
  }
  Int_t icountMC = 0;
  Int_t icountAcc = 0;
  Int_t icountReco = 0;
  Int_t icountVertex = 0;
  Int_t icountRefit = 0;
  Int_t icountRecoAcc = 0;
  Int_t icountRecoITSClusters = 0;
  Int_t icountRecoPPR = 0;
  Int_t icountRecoPID = 0;
  Int_t cquarks = 0;
		
  AliAODMCHeader *mcHeader = dynamic_cast<AliAODMCHeader*>(aodEvent->GetList()->FindObject(AliAODMCHeader::StdBranchName()));
  if (!mcHeader) {
    AliError("Could not find MC Header in AOD");
    return;
  }

  fHistEventsProcessed->Fill(0.5);

  Double_t* containerInput = new Double_t[fNvar];
  Double_t* containerInputMC = new Double_t[fNvar]; 
	
       
  AliCFVertexingHF* cfVtxHF=0x0;
  switch (fDecayChannel){
  case 2:{
    cfVtxHF = new AliCFVertexingHF2Prong(mcArray, fOriginDselection);
    break;
  }
  case 21:{ 
    cfVtxHF = new AliCFVertexingHFCascade(mcArray, fOriginDselection);
    ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGcascade(413);
    ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGbachelor(211);
    ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGneutrDaugh(421);
    ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGneutrDaughForMC(421);
    ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGneutrDaughPositive(211);
    ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGneutrDaughNegative(321);
    ((AliCFVertexingHFCascade*)cfVtxHF)->SetPrimaryVertex(aodVtx);
    break;
  }
  case 22:{
    // Lc ->  K0S+proton
    if (fUseCascadeTaskForLctoV0bachelor){
      cfVtxHF = new AliCFVertexingHFCascade(mcArray, fOriginDselection);
      ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGcascade(4122);
      ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGbachelor(2212);
      ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGneutrDaugh(310);
      ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGneutrDaughForMC(311);
      ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGneutrDaughPositive(211);
      ((AliCFVertexingHFCascade*)cfVtxHF)->SetPDGneutrDaughNegative(211);
      ((AliCFVertexingHFCascade*)cfVtxHF)->SetPrimaryVertex(aodVtx);
      ((AliCFVertexingHFCascade*)cfVtxHF)->SetCutOnMomConservation(fCutOnMomConservation);
      if (fUseAdditionalCuts) ((AliCFVertexingHFCascade*)cfVtxHF)->SetUseCutsForTMVA(fUseCutsForTMVA);
    }
    else {
      cfVtxHF = new AliCFVertexingHFLctoV0bachelor(mcArray, fOriginDselection,fGenLctoV0bachelorOption);
    }
    break;
  }
  case 31:
    //	case 32:
  case 33:{
    cfVtxHF = new AliCFVertexingHF3Prong(mcArray, fOriginDselection, fDecayChannel); 
    if(fDecayChannel==33){
      ((AliCFVertexingHF3Prong*)cfVtxHF)->SetGeneratedDsOption(fGenDsOption);
    }
    break;
  }
  case 32:{
    cfVtxHF = new AliCFVertexingHF3Prong(mcArray, fOriginDselection, fDecayChannel,fResonantDecay); 
  }
  case 4:{
    //cfVtxHF = new AliCFVertexingHF4Prong(mcArray, originDselection);  // not there yet
    break;
  }
  default:
    break;
  }
  if (!cfVtxHF){
    AliError("No AliCFVertexingHF initialized");
    delete[] containerInput;
    delete[] containerInputMC;
    return;
  }
	
  Double_t zPrimVertex = aodVtx ->GetZ();
  Double_t zMCVertex = mcHeader->GetVtxZ();
  Int_t runnumber = aodEvent->GetRunNumber();

  // Multiplicity definition with tracklets
  Double_t nTracklets = 0;
  Int_t nTrackletsEta10 = static_cast<Int_t>(AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aodEvent,-1.,1.));
  Int_t nTrackletsEta16 = static_cast<Int_t>(AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aodEvent,-1.6,1.6));
  nTracklets = (Double_t)nTrackletsEta10;
  if(fMultiplicityEstimator==kNtrk10to16) { nTracklets = (Double_t)(nTrackletsEta16 - nTrackletsEta10); }

  // Apply the Ntracklets z-vtx data driven correction
  if(fZvtxCorrectedNtrkEstimator) {
    TProfile* estimatorAvg = GetEstimatorHistogram(aodEvent);
    if(estimatorAvg) {
      Int_t nTrackletsEta10Corr = static_cast<Int_t>(AliVertexingHFUtils::GetCorrectedNtracklets(estimatorAvg,nTrackletsEta10,zPrimVertex,fRefMult)); 
      Int_t nTrackletsEta16Corr = static_cast<Int_t>(AliVertexingHFUtils::GetCorrectedNtracklets(estimatorAvg,nTrackletsEta16,zPrimVertex,fRefMult)); 
      nTracklets = (Double_t)nTrackletsEta10Corr;
      if(fMultiplicityEstimator==kNtrk10to16) { nTracklets = (Double_t)(nTrackletsEta16Corr - nTrackletsEta10Corr); }
    }
  }


  fWeight=1.;
  if(fUseZWeight) fWeight *= GetZWeight(zMCVertex,runnumber);
  if(fUseNchWeight){
    Int_t nChargedMCPhysicalPrimary=AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(mcArray,-1.0,1.0);
    if(!fUseTrackletsWeight) fWeight *= GetNchWeight(nChargedMCPhysicalPrimary);
    else fWeight *= GetNchWeight(static_cast<Int_t>(nTracklets));
    AliDebug(2,Form("Using Nch weights, Mult=%d Weight=%f\n",nChargedMCPhysicalPrimary,fWeight));
  }
  Double_t eventWeight=fWeight;

  if (TMath::Abs(zMCVertex) > fCuts->GetMaxVtxZ()){
    AliDebug(3,Form("z coordinate of MC vertex = %f, it was required to be within [-%f, +%f], skipping event", zMCVertex, fCuts->GetMaxVtxZ(), fCuts->GetMaxVtxZ()));
    delete[] containerInput;
    delete[] containerInputMC;
    delete cfVtxHF;
    return;
  }

  if(aodEvent->GetTriggerMask()==0 && 
     (runnumber>=195344 && runnumber<=195677)){
    AliDebug(3,"Event rejected because of null trigger mask");
    delete[] containerInput;
    delete[] containerInputMC;
    delete cfVtxHF;
    return;
  }

  AliESDtrackCuts** trackCuts = new AliESDtrackCuts*[cfVtxHF->GetNProngs()];
  if (fDecayChannel == 21){
    // for the D*, setting the third element of the array of the track cuts to those for the soft pion
    for (Int_t iProng = 0; iProng<cfVtxHF->GetNProngs()-1; iProng++){
      trackCuts[iProng]=fCuts->GetTrackCuts();
    }
    trackCuts[2] = fCuts->GetTrackCutsSoftPi();
  }
  else if (fDecayChannel == 22) {
    // for the Lc->V0+bachelor, setting the second and third elements of the array of the track cuts to those for the V0 daughters
    trackCuts[0]=fCuts->GetTrackCuts();
    trackCuts[1]=fCuts->GetTrackCutsV0daughters();
    trackCuts[2]=fCuts->GetTrackCutsV0daughters();
  }
  else {
    for (Int_t iProng = 0; iProng<cfVtxHF->GetNProngs(); iProng++){
      trackCuts[iProng]=fCuts->GetTrackCuts();
    }
  }

  //General settings: vertex, feed down and fill reco container with generated values.  			
  cfVtxHF->SetRecoPrimVertex(zPrimVertex);
  cfVtxHF->SetMCPrimaryVertex(zMCVertex);
  cfVtxHF->SetFillFromGenerated(fFillFromGenerated);
  cfVtxHF->SetNVar(fNvar);
  cfVtxHF->SetFakeSelection(fFakeSelection);
  cfVtxHF->SetRejectCandidateIfNotFromQuark(fRejectIfNoQuark);
  cfVtxHF->SetConfiguration(fConfiguration);

  // switch-off the trigger class selection (doesn't work for MC)
  fCuts->SetTriggerClass("");

  // MC vertex, to be used, in case, for pp
  if (fUseMCVertex) fCuts->SetUseMCVertex(); 

  if (fCentralitySelection){ // keep only the requested centrality

    if(fCuts->IsEventSelectedInCentrality(aodEvent)!=0) {
      delete[] containerInput;
      delete[] containerInputMC;
      delete [] trackCuts;
      delete cfVtxHF;
      return;
    }    
  }  else { // keep all centralities
    fCuts->SetMinCentrality(0.);
    fCuts->SetMaxCentrality(100.);
  }
	
  Float_t centValue = 0.;
  if(!fIsPPData) centValue = fCuts->GetCentrality(aodEvent);
  cfVtxHF->SetCentralityValue(centValue);  
	
  // multiplicity estimator with VZERO
  Double_t vzeroMult=0;
  AliAODVZERO *vzeroAOD = (AliAODVZERO*)aodEvent->GetVZEROData();
  if(vzeroAOD) vzeroMult = vzeroAOD->GetMTotV0A() +  vzeroAOD->GetMTotV0C();

  Double_t multiplicity = nTracklets; // set to the Ntracklet estimator
  if(fMultiplicityEstimator==kVZERO) { multiplicity = vzeroMult; }

  cfVtxHF->SetMultiplicity(multiplicity);

  //  printf("Multiplicity estimator %d, value %2.2f\n",fMultiplicityEstimator,multiplicity);
	
  for (Int_t iPart=0; iPart<mcArray->GetEntriesFast(); iPart++) { 
    AliAODMCParticle* mcPart = dynamic_cast<AliAODMCParticle*>(mcArray->At(iPart));
    if (!mcPart){
      AliError("Failed casting particle from MC array!, Skipping particle");
      continue;
    }

    //counting c quarks
    cquarks += cfVtxHF->MCcquarkCounting(mcPart);

    // check the MC-level cuts, must be the desidered particle
    if (!fCFManager->CheckParticleCuts(0, mcPart)) {
      AliDebug(2,"Check the MC-level cuts - not desidered particle");
      continue;  // 0 stands for MC level
    }
    else {
      AliDebug(3, Form("\n\n---> COOL! we found a particle (particle %d)!!! with PDG code = %d \n\n", iPart, mcPart->GetPdgCode()));
    }
    cfVtxHF->SetMCCandidateParam(iPart);


    if (!(cfVtxHF->SetLabelArray())){
      AliDebug(2,Form("Impossible to set the label array for particle %d (decaychannel = %d)", iPart, fDecayChannel));
      continue;
    }		   

    //check the candiate family at MC level
    if (!(cfVtxHF->CheckMCPartFamily(mcPart, mcArray))) {
      AliDebug(2,Form("Check on the family wrong for particle %d!!! (decaychannel = %d)", iPart, fDecayChannel));
      continue;
    }
    else{
      AliDebug(2,Form("Check on the family OK for particle %d!!! (decaychannel = %d)", iPart, fDecayChannel));
    }
		
    //Fill the MC container
    Bool_t mcContainerFilled = cfVtxHF -> FillMCContainer(containerInputMC);
    AliDebug(2, Form("particle = %d mcContainerFilled = %d", iPart, mcContainerFilled));
    if (mcContainerFilled) {
      if (fUseWeight){
	if (fHistoPtWeight) { // using an histogram as weight function
	  AliDebug(2,"Using Histogram as Pt weight function");
	  fWeight = eventWeight*GetPtWeightFromHistogram(containerInputMC[0]);
	}
	else if (fFuncWeight){ // using user-defined function
	  AliDebug(2,"Using function");
	  fWeight = eventWeight*fFuncWeight->Eval(containerInputMC[0]);				     
	}
	else{ // using FONLL
	  AliDebug(2,"Using FONLL");
	  fWeight = eventWeight*GetWeight(containerInputMC[0]);
	}
	AliDebug(2,Form("pt = %f, weight = %f",containerInputMC[0], fWeight));
      }
      if (!fCuts->IsInFiducialAcceptance(containerInputMC[0],containerInputMC[1])) {
	AliDebug(3, Form("Not in limited acceptance, containerInputMC[0] = %f, containerInputMC[1] = %f", containerInputMC[0], containerInputMC[1]));
	continue;
      }
      else{
	AliDebug(3, Form("YES!! in limited acceptance, containerInputMC[0] = %f, containerInputMC[1] = %f", containerInputMC[0],containerInputMC[1]));
      }

      //MC Limited Acceptance
      if (TMath::Abs(containerInputMC[1]) < 0.5) {
	fCFManager->GetParticleContainer()->Fill(containerInputMC,kStepGeneratedLimAcc, fWeight);
	AliDebug(3,"MC Lim Acc container filled\n");
      }
			
      //MC 
      fCFManager->GetParticleContainer()->Fill(containerInputMC, kStepGenerated, fWeight);
      icountMC++;
      AliDebug(3,"MC container filled \n");
			
      // MC in acceptance
      // check the MC-Acceptance level cuts
      // since standard CF functions are not applicable, using Kine Cuts on daughters
      Bool_t mcAccepStep = cfVtxHF-> MCAcceptanceStep();
      if (mcAccepStep){	
	fCFManager->GetParticleContainer()->Fill(containerInputMC,kStepAcceptance, fWeight);
	AliDebug(3,"MC acceptance cut passed\n");
	icountAcc++;
				
	//MC Vertex step
	if (fCuts->IsEventSelected(aodEvent)){
	  // filling the container if the vertex is ok
	  fCFManager->GetParticleContainer()->Fill(containerInputMC,kStepVertex, fWeight) ;
	  AliDebug(3,"Vertex cut passed and container filled\n");
	  icountVertex++;
					
	  //mc Refit requirement	
	  Bool_t mcRefitStep = cfVtxHF->MCRefitStep(aodEvent, &trackCuts[0]);
	  if (mcRefitStep){
	    fCFManager->GetParticleContainer()->Fill(containerInputMC,kStepRefit, fWeight);
	    AliDebug(3,"MC Refit cut passed and container filled\n");
	    icountRefit++;
	  }
	  else{
	    AliDebug(3,"MC Refit cut not passed\n");
	    continue;
	  }					
	}
	else{
	  AliDebug (3, "MC vertex step not passed\n");
	  continue;
	}
      }
      else{
	AliDebug (3, "MC in acceptance step not passed\n");
	continue;
      }			
    }
    else {
      AliDebug (3, "MC container not filled\n");
    }
  }
	
  if (cquarks<2) AliDebug(2,Form("Event with %d c-quarks", cquarks));
  AliDebug(2,Form("Found %i MC particles that are %s!!",icountMC,fPartName.Data()));
  AliDebug(2,Form("Found %i MC particles that are %s and satisfy Acc cuts!!",icountAcc,fPartName.Data()));
  AliDebug(2,Form("Found %i MC particles that are %s and satisfy Vertex cuts!!",icountVertex,fPartName.Data()));
  AliDebug(2,Form("Found %i MC particles that are %s and satisfy Refit cuts!!",icountRefit,fPartName.Data()));

  // Now go to rec level
  fCountMC += icountMC;
  fCountAcc += icountAcc;
  fCountVertex+= icountVertex;
  fCountRefit+= icountRefit;

  AliDebug(2,Form("Found %d vertices for decay channel %d",arrayBranch->GetEntriesFast(),fDecayChannel));
	
  for(Int_t iCandid = 0; iCandid<arrayBranch->GetEntriesFast();iCandid++){
    AliAODRecoDecayHF* charmCandidate=0x0;
    switch (fDecayChannel){
    case 2:{
      charmCandidate = (AliAODRecoDecayHF2Prong*)arrayBranch->At(iCandid);
      break;
    }
    case 21:
    case 22:{
      charmCandidate = (AliAODRecoCascadeHF*)arrayBranch->At(iCandid);
      break;
    }
    case 31:
    case 32:
    case 33:{
      charmCandidate = (AliAODRecoDecayHF3Prong*)arrayBranch->At(iCandid);
      break;
    }
    case 4:{
      charmCandidate = (AliAODRecoDecayHF4Prong*)arrayBranch->At(iCandid);
      break;
    }
    default:
      break;
    }
		
    Bool_t unsetvtx=kFALSE;
    if(!charmCandidate->GetOwnPrimaryVtx()) {
      charmCandidate->SetOwnPrimaryVtx(aodVtx); // needed to compute all variables
      unsetvtx=kTRUE;
    }
		
    Bool_t signAssociation = cfVtxHF->SetRecoCandidateParam((AliAODRecoDecayHF*)charmCandidate);
    if (!signAssociation){
      if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
      continue;
    }

    Int_t isPartOrAntipart = cfVtxHF->CheckReflexion(fSign);
    if (isPartOrAntipart == 0){
      AliDebug(2, Form("The candidate pdg code doesn't match the requirement set in the task (fSign = %d)",fSign));
      if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
      continue;
    }

    AliDebug(3,Form("iCandid=%d - signAssociation=%d, isPartOrAntipart=%d",iCandid, signAssociation, isPartOrAntipart));

    Bool_t recoContFilled = cfVtxHF->FillRecoContainer(containerInput);
    AliDebug(3, Form("CF task: RecoContFilled for candidate %d is %d", iCandid, (Int_t)recoContFilled));
    if (recoContFilled){

      // weight according to pt
      if (fUseWeight){
	if (fHistoPtWeight) {
	  AliDebug(2,"Using Histogram as Pt weight function");
	  fWeight = eventWeight*GetPtWeightFromHistogram(containerInput[0]);
	}
	else if (fFuncWeight){ // using user-defined function
	  AliDebug(2, "Using function");
	  fWeight = eventWeight*fFuncWeight->Eval(containerInput[0]);
	}
	else{ // using FONLL
	  AliDebug(2, "Using FONLL");
	  fWeight = eventWeight*GetWeight(containerInput[0]);
	}
	AliDebug(2, Form("pt = %f, weight = %f",containerInput[0], fWeight));
      }

      if (!fCuts->IsInFiducialAcceptance(containerInput[0],containerInput[1])){
	if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
	continue;
      }		
      //Reco Step
      Bool_t recoStep = cfVtxHF->RecoStep();
      if (recoStep) AliDebug(2, Form("particle = %d --> CF task: Reco step for candidate %d is %d", iCandid, iCandid, (Int_t)recoStep));
      Bool_t vtxCheck = fCuts->IsEventSelected(aodEvent);
			

      // Selection on the filtering bit
      Bool_t isBitSelected = kTRUE;
      if(fDecayChannel==2) {
	if(fUseSelectionBit && !charmCandidate->HasSelectionBit(AliRDHFCuts::kD0toKpiCuts)) isBitSelected = kFALSE;
      }else if(fDecayChannel==31){
	if(fUseSelectionBit && !charmCandidate->HasSelectionBit(AliRDHFCuts::kDplusCuts)) isBitSelected = kFALSE;
      }else if(fDecayChannel==33){
	if(fUseSelectionBit && !charmCandidate->HasSelectionBit(AliRDHFCuts::kDsCuts)) isBitSelected = kFALSE;
      }
      if(!isBitSelected){
	if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
	continue;
      }


      if (recoStep && recoContFilled && vtxCheck){
	fCFManager->GetParticleContainer()->Fill(containerInput,kStepReconstructed, fWeight) ;   
	icountReco++;
	AliDebug(3,"Reco step  passed and container filled\n");
			  			  
	//Reco in the acceptance -- take care of UNFOLDING!!!!
	Bool_t recoAcceptanceStep = cfVtxHF->RecoAcceptStep(&trackCuts[0]);
	if (recoAcceptanceStep) {
	  fCFManager->GetParticleContainer()->Fill(containerInput,kStepRecoAcceptance, fWeight) ;
	  icountRecoAcc++; 
	  AliDebug(3,"Reco acceptance cut passed and container filled\n");
				  
	  if(fAcceptanceUnf){
	    Double_t fill[4]; //fill response matrix
	    Bool_t bUnfolding = cfVtxHF -> FillUnfoldingMatrix(fPDGcode,fill);
	    if (bUnfolding) fCorrelation->Fill(fill);
	  }
					
	  //Number of ITS cluster requirements	
	  Int_t recoITSnCluster = fCuts->IsSelected(charmCandidate, AliRDHFCuts::kTracks);
	  if (recoITSnCluster){
	    fCFManager->GetParticleContainer()->Fill(containerInput,kStepRecoITSClusters, fWeight) ;
	    icountRecoITSClusters++;   
	    AliDebug(3,"Reco n ITS cluster cut passed and container filled\n");
						
	    Bool_t iscutsusingpid = fCuts->GetIsUsePID(); 
	    Int_t recoAnalysisCuts = -1, recoPidSelection = -1;
	    fCuts->SetUsePID(kFALSE);
	    recoAnalysisCuts = fCuts->IsSelected(charmCandidate, AliRDHFCuts::kCandidate, aodEvent);

	    if (fDecayChannel==33){ // Ds case, where more possibilities are considered
	      Bool_t keepDs=ProcessDs(recoAnalysisCuts);
	      if(keepDs) recoAnalysisCuts=3;
	    }
	    else if (fDecayChannel==22){ // Lc->V0+bachelor case, where more possibilities are considered
	      Bool_t keepLctoV0bachelor = ProcessLctoV0Bachelor(recoAnalysisCuts);
	      if (keepLctoV0bachelor) recoAnalysisCuts=3;
	      AliAnalysisManager *man = AliAnalysisManager::GetAnalysisManager();
	      AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
	      AliPIDResponse* pidResponse = inputHandler->GetPIDResponse();
	      if (fUseAdditionalCuts){
		if (!((AliCFVertexingHFCascade*)cfVtxHF)->CheckAdditionalCuts(pidResponse)) recoAnalysisCuts = -1;
	      }
	    }					    

	    fCuts->SetUsePID(iscutsusingpid); //restoring usage of the PID from the cuts object	
	    Bool_t tempAn=(recoAnalysisCuts == 3 || recoAnalysisCuts == isPartOrAntipart);
	    if (fDecayChannel == 22) tempAn = (recoAnalysisCuts == 3);
	    if (fDecayChannel == 32) tempAn=(recoAnalysisCuts >0 || recoAnalysisCuts == isPartOrAntipart);
                                                
	    if (tempAn){
	      fCFManager->GetParticleContainer()->Fill(containerInput, kStepRecoPPR, fWeight);
	      icountRecoPPR++;
	      AliDebug(3,"Reco Analysis cuts passed and container filled \n");
	      //pid selection
	      //recoPidSelection = fCuts->IsSelected(charmCandidate, AliRDHFCuts::kPID);
	      //if((fCuts->CombineSelectionLevels(3,recoAnalysisCuts,recoPidSelection)==isPartOrAntipart)||(fCuts->CombineSelectionLevels(3,recoAnalysisCuts,recoPidSelection)==3)){
	      recoPidSelection = fCuts->IsSelected(charmCandidate, AliRDHFCuts::kCandidate, aodEvent);

	      if (fDecayChannel==33){ // Ds case, where more possibilities are considered
		Bool_t keepDs=ProcessDs(recoPidSelection);
		if(keepDs) recoPidSelection=3;							  
	      } else if (fDecayChannel==22){ // Lc->V0+bachelor case, where more possibilities are considered
		Bool_t keepLctoV0bachelor=ProcessLctoV0Bachelor(recoPidSelection);
		if (keepLctoV0bachelor) recoPidSelection=3;
	      }

	      Bool_t tempPid=(recoPidSelection == 3 || recoPidSelection == isPartOrAntipart);
	      if (fDecayChannel == 22) tempPid = (recoPidSelection == 3);
	      if (fDecayChannel == 32) tempPid=(recoPidSelection >0 || recoPidSelection == isPartOrAntipart);

	      if (tempPid){
		Double_t weigPID = 1.;
		if (fDecayChannel == 2){ // D0 with Bayesian PID using weights
		  if(((AliRDHFCutsD0toKpi*)fCuts)->GetCombPID() && (((AliRDHFCutsD0toKpi*)fCuts)->GetBayesianStrategy() == AliRDHFCutsD0toKpi::kBayesWeight || ((AliRDHFCutsD0toKpi*)fCuts)->GetBayesianStrategy() == AliRDHFCutsD0toKpi::kBayesWeightNoFilter)){
		    if (isPartOrAntipart == 1){
		      weigPID = ((AliRDHFCutsD0toKpi*)fCuts)->GetWeightsNegative()[AliPID::kKaon] * ((AliRDHFCutsD0toKpi*)fCuts)->GetWeightsPositive()[AliPID::kPion];
		    }else if (isPartOrAntipart == 2){
		      weigPID = ((AliRDHFCutsD0toKpi*)fCuts)->GetWeightsPositive()[AliPID::kKaon] * ((AliRDHFCutsD0toKpi*)fCuts)->GetWeightsNegative()[AliPID::kPion];
		    }
		    if ((weigPID  < 0) || (weigPID > 1)) weigPID = 0.;
		  }
		}else if (fDecayChannel == 33){ // Ds with Bayesian PID using weights
		  if(((AliRDHFCutsDstoKKpi*)fCuts)->GetPidOption()==AliRDHFCutsDstoKKpi::kBayesianWeights){
		    Int_t labDau0=((AliAODTrack*)charmCandidate->GetDaughter(0))->GetLabel();
		    AliAODMCParticle* firstDau=(AliAODMCParticle*)mcArray->UncheckedAt(TMath::Abs(labDau0));
		    if(firstDau){
		      Int_t pdgCode0=TMath::Abs(firstDau->GetPdgCode());
		      if(pdgCode0==321){
			weigPID=((AliRDHFCutsDstoKKpi*)fCuts)->GetWeightForKKpi();
		      }else if(pdgCode0==211){
			weigPID=((AliRDHFCutsDstoKKpi*)fCuts)->GetWeightForpiKK();
		      }
		      if ((weigPID  < 0) || (weigPID > 1)) weigPID = 0.;
		    }else{
		      weigPID=0.;
		    }
		  }
		}
		fCFManager->GetParticleContainer()->Fill(containerInput, kStepRecoPID, fWeight*weigPID);
		icountRecoPID++;
		AliDebug(3,"Reco PID cuts passed and container filled \n");
		if(!fAcceptanceUnf){
		  Double_t fill[4]; //fill response matrix
		  Bool_t bUnfolding = cfVtxHF -> FillUnfoldingMatrix(fPDGcode,fill);
		  if (bUnfolding) fCorrelation->Fill(fill);
		}
	      }
	      else {
		AliDebug(3, "Analysis Cuts step not passed \n");
		if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
		continue;
	      }
	    }
	    else {
	      AliDebug(3, "PID selection not passed \n");
	      if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
	      continue;
	    }
	  }
	  else{
	    AliDebug(3, "Number of ITS cluster step not passed\n");
	    if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
	    continue;
	  }
	}
	else{
	  AliDebug(3, "Reco acceptance step not passed\n");
	  if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
	  continue;
	}
      }
      else {
	AliDebug(3, "Reco step not passed\n");
	if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
	continue;
      }
    }
		
    if(unsetvtx) charmCandidate->UnsetOwnPrimaryVtx();
  } // end loop on candidate
		
  fCountReco+= icountReco;
  fCountRecoAcc+= icountRecoAcc;
  fCountRecoITSClusters+= icountRecoITSClusters;
  fCountRecoPPR+= icountRecoPPR;
  fCountRecoPID+= icountRecoPID;
	
  fHistEventsProcessed->Fill(1.5);

  delete[] containerInput;
  delete[] containerInputMC;
  delete cfVtxHF;
  if (trackCuts){
    //	for (Int_t i=0; i<cfVtxHF->GetNProngs(); i++){
    //		delete [] trackCuts[i];
    //	}
    delete [] trackCuts;
  }


}

//___________________________________________________________________________
void AliCFTaskVertexingHF::Terminate(Option_t*)
{
  // The Terminate() function is the last function to be called during
  // a query. It always runs on the client, it can be used to present
  // the results graphically or save the results to file.
	
  AliAnalysisTaskSE::Terminate();

  AliInfo(Form("Found %i MC particles that are %s in MC, in %d events",fCountMC,fPartName.Data(),fEvents));
  AliInfo(Form("Found %i MC particles that are %s in MC and satisfy Acc cuts, in %d events",fCountAcc,fPartName.Data(),fEvents));
  AliInfo(Form("Found %i MC particles that are %s in MC and satisfy Acc cuts, and satisfy Vertex requirement in %d events",fCountVertex,fPartName.Data(),fEvents));
  AliInfo(Form("Found %i MC particles that are %s in MC and satisfy Acc cuts, and satisfy ITS+TPC refit requirementin %d events",fCountRefit,fPartName.Data(),fEvents));
  AliInfo(Form("Found %i reco %s that are decaying in %s, in %d events",fCountReco,fPartName.Data(),fDauNames.Data(),fEvents));
  AliInfo(Form("Among the above, found %i reco %s that are decaying in %s and are in the requested acceptance, in %d events",fCountRecoAcc,fPartName.Data(),fDauNames.Data(),fEvents));
  AliInfo(Form("Among the above, found %i reco %s that are decaying in %s and have at least 5 clusters in ITS, in %d events",fCountRecoITSClusters,fPartName.Data(),fDauNames.Data(),fEvents));
  AliInfo(Form("Among the above, found %i reco %s that are decaying in %s and satisfy PPR cuts, in %d events",fCountRecoPPR,fPartName.Data(),fDauNames.Data(),fEvents));
  AliInfo(Form("Among the above, found %i reco %s that are decaying in %s and satisfy PPR+PID cuts, in %d events",fCountRecoPID,fPartName.Data(),fDauNames.Data(),fEvents));
	
  // draw some example plots....
  AliCFContainer *cont= dynamic_cast<AliCFContainer*> (GetOutputData(2));
  if(!cont) {
    printf("CONTAINER NOT FOUND\n");
    return;
  }
  // projecting the containers to obtain histograms
  // first argument = variable, second argument = step

  TH1D** h = new TH1D*[3]; 
  Int_t nvarToPlot = 0;
  if (fConfiguration == kSnail){
    //h = new TH1D[3][12];
    for (Int_t ih = 0; ih<3; ih++){
      if(fDecayChannel==22){
	nvarToPlot = 16;
      } else {
	nvarToPlot = 12;
      }
      h[ih] = new TH1D[nvarToPlot];
    }
    for(Int_t iC=1;iC<nvarToPlot; iC++){ 
      // MC-level
      h[0][iC] =   *(cont->ShowProjection(iC,0));
      // MC-Acceptance level
      h[1][iC] =   *(cont->ShowProjection(iC,1));
      // Reco-level
      h[2][iC] =   *(cont->ShowProjection(iC,4));
    }
  }
  else {
    //h = new TH1D[3][12];
    nvarToPlot = 8;
    for (Int_t ih = 0; ih<3; ih++){
      h[ih] = new TH1D[nvarToPlot];
    }
    for(Int_t iC=0;iC<nvarToPlot; iC++){ 
      // MC-level
      h[0][iC] =   *(cont->ShowProjection(iC,0));
      // MC-Acceptance level
      h[1][iC] =   *(cont->ShowProjection(iC,1));
      // Reco-level
      h[2][iC] =   *(cont->ShowProjection(iC,4));
    }	
  }
  TString* titles;
  //Int_t nvarToPlot = 0;
  if (fConfiguration == kSnail){
    if(fDecayChannel==31){
      //nvarToPlot = 12;
      titles = new TString[nvarToPlot];
      titles[0]="pT_Dplus (GeV/c)";
      titles[1]="rapidity";
      titles[2]="phi (rad)";
      titles[3]="cT (#mum)";
      titles[4]="cosPointingAngle";
      titles[5]="pT_1 (GeV/c)";
      titles[6]="pT_2 (GeV/c)";
      titles[7]="pT_3 (GeV/c)";
      titles[8]="d0_1 (#mum)";
      titles[9]="d0_2 (#mum)";
      titles[10]="d0_3 (#mum)";
      titles[11]="zVertex (cm)";
    } else if (fDecayChannel==22) {
      //nvarToPlot = 16;
      titles = new TString[nvarToPlot];
      titles[0]="p_{T}(#Lambda_{c}) [GeV/c]";
      titles[1]="y(#Lambda_{c})";
      titles[2]="#varphi(#Lambda_{c}) [rad]";
      titles[3]="onTheFlyStatusV0";
      titles[4]="z_{vtx} [cm]";
      titles[5]="centrality";
      titles[6]="fake";
      titles[7]="multiplicity";
      //titles[8]="pT(bachelor) [GeV/c]";
      titles[8]="p(bachelor) [GeV/c]";
      titles[9]="p_{T}(V0) [GeV/c]";
      titles[10]="y(V0)";
      titles[11]="#varphi(V0) [rad]";
      titles[12]="m_{inv}(#pi^{+}#pi^{+}) [GeV/c^{2}]";
      titles[13]="dcaV0 (nSigma)";
      titles[14]="cosine pointing angle (V0)";
      titles[15]="cosine pointing angle (#Lambda_{c})";
      //titles[16]="c#tauV0 (#mum)";
      //titles[17]="c#tau (#mum)";
    } else {
      //nvarToPlot = 12;
      titles = new TString[nvarToPlot];
      titles[0]="pT_D0 (GeV/c)";
      titles[1]="rapidity";
      titles[2]="cosThetaStar";
      titles[3]="pT_pi (GeV/c)";
      titles[4]="pT_K (Gev/c)";
      titles[5]="cT (#mum)";
      titles[6]="dca (#mum)";
      titles[7]="d0_pi (#mum)";
      titles[8]="d0_K (#mum)";
      titles[9]="d0xd0 (#mum^2)";
      titles[10]="cosPointingAngle";
      titles[11]="phi (rad)";
    }
  }
  else {
    //nvarToPlot = 8;
    titles = new TString[nvarToPlot];
    if (fDecayChannel==22) {
      titles[0]="p_{T}(#Lambda_{c}) [GeV/c]";
      titles[1]="y(#Lambda_{c})";
      titles[2]="#varphi(#Lambda_{c}) [rad]";
      titles[3]="onTheFlyStatusV0";
      titles[4]="z_{vtx} [cm]";
      titles[5]="centrality";
      titles[6]="fake";
      titles[7]="multiplicity";
    } else {
      titles[0]="pT_candidate (GeV/c)";
      titles[1]="rapidity";
      titles[2]="cT (#mum)";
      titles[3]="phi";
      titles[4]="z_{vtx}";
      titles[5]="centrality";
      titles[6]="fake";
      titles[7]="multiplicity";
    }
  }

  Int_t markers[16]={20,24,21,25,27,28,
		     20,24,21,25,27,28,
		     20,24,21,25};
  Int_t colors[3]={2,8,4};
  for(Int_t iC=0;iC<nvarToPlot; iC++){ 
    for(Int_t iStep=0;iStep<3;iStep++){
      h[iStep][iC].SetTitle(titles[iC].Data());
      h[iStep][iC].GetXaxis()->SetTitle(titles[iC].Data());
      Double_t maxh=h[iStep][iC].GetMaximum();
      h[iStep][iC].GetYaxis()->SetRangeUser(0,maxh*1.2);
      h[iStep][iC].SetMarkerStyle(markers[iC]);
      h[iStep][iC].SetMarkerColor(colors[iStep]);	    
    }
  }
	
  gStyle->SetCanvasColor(0);
  gStyle->SetFrameFillColor(0);
  gStyle->SetTitleFillColor(0);
  gStyle->SetStatColor(0);
	
  // drawing in 2 separate canvas for a matter of clearity
  TCanvas * c1 =new TCanvas(Form("c1New_%d",fDecayChannel),"Vars 0, 1, 2, 3",1100,1200);
  c1->Divide(3,4);
  Int_t iPad=1;
  for(Int_t iVar=0; iVar<4; iVar++){
    c1->cd(iPad++);
    h[0][iVar].DrawCopy("p");
    c1->cd(iPad++);
    h[1][iVar].DrawCopy("p");
    c1->cd(iPad++);
    h[2][iVar].DrawCopy("p");
  }
	
  TCanvas * c2 =new TCanvas(Form("c2New_%d",fDecayChannel),"Vars 4, 5, 6, 7",1100,1200);
  c2->Divide(3,4);
  iPad=1;
  for(Int_t iVar=4; iVar<8; iVar++){
    c2->cd(iPad++);
    h[0][iVar].DrawCopy("p");
    c2->cd(iPad++);
    h[1][iVar].DrawCopy("p");
    c2->cd(iPad++);
    h[2][iVar].DrawCopy("p");
  }

  if (fConfiguration == kSnail){
    TCanvas * c3 =new TCanvas(Form("c3New_%d",fDecayChannel),"Vars 8, 9, 10, 11",1100,1200);
    c3->Divide(3,4);
    iPad=1;
    for(Int_t iVar=8; iVar<12; iVar++){
      c3->cd(iPad++);
      h[0][iVar].DrawCopy("p");
      c3->cd(iPad++);
      h[1][iVar].DrawCopy("p");
      c3->cd(iPad++);
      h[2][iVar].DrawCopy("p");
    }
    if (fDecayChannel==22) {
      TCanvas * c4 =new TCanvas(Form("c4New_%d",fDecayChannel),"Vars 12, 13, 14, 15",1100,1200);
      c4->Divide(3,4);
      iPad=1;
      for(Int_t iVar=12; iVar<16; iVar++){
	c4->cd(iPad++);
	h[0][iVar].DrawCopy("p");
	c4->cd(iPad++);
	h[1][iVar].DrawCopy("p");
	c4->cd(iPad++);
	h[2][iVar].DrawCopy("p");
      }
    }
  }

  /*
    THnSparseD* hcorr = dynamic_cast<THnSparseD*> (GetOutputData(3));
	
    TH2D* corr1 = hcorr->Projection(0,2);
    TH2D* corr2 = hcorr->Projection(1,3);
	
    TCanvas * c7 =new TCanvas(Form("c7New_%d",fDecayChannel),"",800,400);
    c7->Divide(2,1);
    c7->cd(1);
    corr1->DrawCopy("text");
    c7->cd(2);
    corr2->DrawCopy("text");
  */
  TFile* file_projection = new TFile("CFtaskHFprojectionNew.root","RECREATE");
	
  //	corr1->Write();
  //	corr2->Write();
	
  for(Int_t iC=0;iC<nvarToPlot; iC++){ 
    for(Int_t iStep=0;iStep<3;iStep++){
      h[iStep][iC].Write(Form("Step%d_%s",iStep,titles[iC].Data()));
    }
  }
  file_projection->Close();
  for (Int_t ih = 0; ih<3; ih++) delete [] h[ih];
  delete [] h;
  delete [] titles;
	
}

//___________________________________________________________________________
void AliCFTaskVertexingHF::UserCreateOutputObjects() 
{
  //HERE ONE CAN CREATE OUTPUT OBJECTS, IN PARTICULAR IF THE OBJECT PARAMETERS DON'T NEED
  //TO BE SET BEFORE THE EXECUTION OF THE TASK
  //
  Info("UserCreateOutputObjects","CreateOutputObjects of task %s\n", GetName());

  //slot #1
  OpenFile(1);
  const char* nameoutput=GetOutputSlot(1)->GetContainer()->GetName();
  fHistEventsProcessed = new TH1I(nameoutput,"",2,0,2) ;
  fHistEventsProcessed->GetXaxis()->SetBinLabel(1,"Events processed (all)");
  fHistEventsProcessed->GetXaxis()->SetBinLabel(2,"Events analyzed (after selection)");

  PostData(1,fHistEventsProcessed) ;
  PostData(2,fCFManager->GetParticleContainer()) ;
  PostData(3,fCorrelation) ;

}


//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL276overLHC12a17a(){
  // ad-hoc weight function from ratio of 
  // pt spectra from FONLL 2.76 TeV and
  // pt spectra from MC production LHC12a17a (PYTHIA Perugia0 with pthard bins)
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","[0]+[1]*TMath::Exp(-[2]*x)",0.,50.);
  fFuncWeight->SetParameter(0,4.63891e-02);
  fFuncWeight->SetParameter(1,1.51674e+01);
  fFuncWeight->SetParameter(2,4.09941e-01);
  fUseWeight=kTRUE;
}
//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromDataPbPb276overLHC12a17a(){
  // ad-hoc weight function from ratio of 
  // D0 pt spectra in PbPb 2011 0-10% centrality and
 // pt spectra from MC production LHC12a17a (PYTHIA Perugia0 with pthard bins)
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","[0]+[1]/TMath::Power(x,[2])",0.05,50.);
  fFuncWeight->SetParameter(0,1.43116e-02);
  fFuncWeight->SetParameter(1,4.37758e+02);
  fFuncWeight->SetParameter(2,3.08583);
  fUseWeight=kTRUE;
}

//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL276overLHC12a17b(){
  // weight function from the ratio of the LHC12a17b MC
  // and FONLL calculations for pp data
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x)",0.15,50.);
  fFuncWeight->SetParameters(1.92381e+01, 5.05055e+00, 1.05314e+01, 2.5, 1.88214e-03, 3.44871e+00, -9.74325e-02, 1.97671e+00, -3.21278e-01);
  fUseWeight=kTRUE;
}

//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL276andBAMPSoverLHC12a17b(){
  // weight function from the ratio of the LHC12a17b MC
  // and FONLL calculations for pp data
  // corrected by the BAMPS Raa calculation for 30-50% CC
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x)",0.15,50.);
  fFuncWeight->SetParameters(6.10443e+00, 1.53487e+00, 1.99474e+00, 2.5, 5.51172e-03, 5.86590e+00, -5.46963e-01, 9.41201e-02, -1.64323e-01);
  fUseWeight=kTRUE;
}

//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL5overLHC13d3(){
  // weight function from the ratio of the LHC13d3 MC
  // and FONLL calculations for pp data
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x)",0.15,30.);
  fFuncWeight->SetParameters(2.94999e+00,3.47032e+00,2.81278e+00,2.5,1.93370e-02,3.86865e+00,-1.54113e-01,8.86944e-02,2.56267e-02);
  fUseWeight=kTRUE;
}

//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL7overLHC10f6a(){
  // weight function from the ratio of the LHC10f6a MC
  // and FONLL calculations for pp data
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x)",0.15,40.);
  fFuncWeight->SetParameters(2.41522e+01,4.92146e+00,6.72495e+00,2.5,6.15361e-03,4.78995e+00,-4.29135e-01,3.99421e-01,-1.57220e-02);
  fUseWeight=kTRUE;
}

//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL7overLHC12a12(){
  // weight function from the ratio of the LHC12a12 MC
  // and FONLL calculations for pp data
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x+[9])",0.15,50.);
  fFuncWeight->SetParameters(1.31497e+01,3.30503e+00,3.45594e+00,2.5,2.28642e-02,1.42372e+00,2.32892e-04,5.21986e-02,-2.14236e-01,3.86200e+00);
  fUseWeight=kTRUE;
}

//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL7overLHC12a12bis(){
  // weight function from the ratio of the LHC12a12bis MC
  // and FONLL calculations for pp data
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x+[9])",0.15,50.);
  fFuncWeight->SetParameters(6.54519e+00,2.74007e+00,2.48325e+00,2.5,1.61113e-01,-5.32546e-01,-3.75916e-04,2.38189e-01,-2.17561e-01,2.35975e+00);
  fUseWeight=kTRUE;
}

//_________________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL7overLHC13e2fix(){
  // weight function from the ratio of the LHC13e2fix MC
  // and FONLL calculations for pp data
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x+[9])",0.15,50.);
  fFuncWeight->SetParameters(1.85862e+01,2.48171e+00,3.39356e+00,2.5,1.70426e-02,2.28453e+00,-4.57749e-02,5.84585e-02,-3.19719e-01,4.16789e+00);
  fUseWeight=kTRUE;
}

//________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL5overLHC10f6a(){
  // weight function from the ratio of the LHC10f6a MC
  // and FONLL calculations for pp data
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x)",0.15,40.);
  fFuncWeight->SetParameters(2.77730e+01,4.78942e+00,7.45378e+00,2.5,9.86255e-02,2.30120e+00,-4.16435e-01,3.43770e-01,-2.29380e-02);
  fUseWeight=kTRUE;
}

//________________________________________________________________
void AliCFTaskVertexingHF::SetPtWeightsFromFONLL276overLHC10f6a(){
  // weight function from the ratio of the LHC10f6a MC
  // and FONLL calculations for pp data
  if(fFuncWeight) delete fFuncWeight;
  fFuncWeight=new TF1("funcWeight","([0]*x)/TMath::Power([2],(1+TMath::Power([3],x/[1])))+[4]*TMath::Exp([5]+[6]*x)+[7]*TMath::Exp([8]*x+[9])",0.15,40.);
  fFuncWeight->SetParameters(1.34412e+01,3.20068e+00,5.14481e+00,2.5,7.59405e-04,7.51821e+00,-3.93811e-01,2.16849e-02,-3.37768e-02,2.40308e+00);
  fUseWeight=kTRUE;
}

//_________________________________________________________________________
Double_t AliCFTaskVertexingHF::GetWeight(Float_t pt)
{
  //
  // calculating the weight to fill the container
  //
	
  // FNOLL central:
  // p0 = 1.63297e-01 --> 0.322643
  // p1 = 2.96275e+00
  // p2 = 2.30301e+00
  // p3 = 2.50000e+00

  // PYTHIA
  // p0 = 1.85906e-01 --> 0.36609
  // p1 = 1.94635e+00
  // p2 = 1.40463e+00
  // p3 = 2.50000e+00

  Double_t func1[4] = {0.322643,2.96275,2.30301,2.5};
  Double_t func2[4] = {0.36609,1.94635,1.40463,2.5};

  Double_t dndpt_func1 = dNdptFit(pt,func1);
  if(fUseFlatPtWeight) dndpt_func1 = 1./30.;
  Double_t dndpt_func2 = dNdptFit(pt,func2);
  AliDebug(2,Form("pt = %f, FONLL = %f, Pythia = %f, ratio = %f",pt,dndpt_func1,dndpt_func2,dndpt_func1/dndpt_func2));
  return dndpt_func1/dndpt_func2;
}

//__________________________________________________________________________________________________
Double_t AliCFTaskVertexingHF::dNdptFit(Float_t pt, Double_t* par)
{	
  // 
  // calculating dNdpt
  //
	
  Double_t denom =  TMath::Power((pt/par[1]), par[3] );
  Double_t dNdpt = par[0]*pt/TMath::Power(1.+denom, par[2]);
	
  return dNdpt;
}

//_________________________________________________________________________
Double_t AliCFTaskVertexingHF::GetPtWeightFromHistogram(Float_t pt)
{
  //
  // Using an histogram as weight function
  //  weight = 0 in the range outside the function
  //
  Double_t weight = 0.0;
  Int_t histoNbins = fHistoPtWeight->GetNbinsX();
  Int_t histobin = fHistoPtWeight->FindBin(pt);
  if( (histobin>0) && (histobin<=histoNbins) ) {
    weight = fHistoPtWeight->GetBinContent(histobin);
  }

  return weight;
}

//__________________________________________________________________________________________________
Double_t AliCFTaskVertexingHF::GetZWeight(Float_t z, Int_t runnumber){
  //
  //  calculating the z-vtx weight for the given run range
  //
  
  if(runnumber>146824 || runnumber<146803) return 1.0;

  Double_t func1[3] = {1.0, -0.5, 6.5 };
  Double_t func2[3] = {1.0, -0.5, 5.5 };

  Double_t dzFunc1 = DodzFit(z,func1);
  Double_t dzFunc2 = DodzFit(z,func2);

  return dzFunc1/dzFunc2;
}

//__________________________________________________________________________________________________
Double_t AliCFTaskVertexingHF::DodzFit(Float_t z, Double_t* par) {

  //
  // Gaussian z-vtx shape 
  //
  //gaussian = [0]/TMath::Sqrt(2.*TMath::Pi())/[2]*exp[-(x-[1])*(x-[1])/(2*[2]*[2])]

  Double_t value =  par[0]/TMath::Sqrt(2.*TMath::Pi())/par[2]*TMath::Exp(-(z-par[1])*(z-par[1])/2./par[2]/par[2]);

  return value;
}
//__________________________________________________________________________________________________
Double_t AliCFTaskVertexingHF::GetNchWeight(Int_t nch){
  //
  //  calculates the Nch weight using the measured and generateed Nch distributions
  //
  if(nch<=0) return 0.;
  if(!fHistoMeasNch || !fHistoMCNch) { AliError("Input histos to evaluate Nch weights missing"); return 0.; }
  Double_t pMeas=fHistoMeasNch->GetBinContent(fHistoMeasNch->FindBin(nch));
  Double_t pMC=fHistoMCNch->GetBinContent(fHistoMCNch->FindBin(nch));
  Double_t weight = pMC>0 ? pMeas/pMC : 0.;
  if(fUseMultRatioAsWeight)  weight = pMC;
  return weight;
}
//__________________________________________________________________________________________________
void AliCFTaskVertexingHF::CreateMeasuredNchHisto(){
  // creates historgam with measured multiplcity distribution in pp 7 TeV collisions (from Eur. Phys. J. C (2010) 68: 345–354)
  //
  // for Nch  > 70 the points were obtained with a double NBD distribution fit
  // TF1 *fit1 = new TF1("fit1","[0]*(TMath::Gamma(x+[1])/(TMath::Gamma(x+1)*TMath::Gamma([1])))*(TMath::Power(([2]/[1]),x))*(TMath::Power((1+([2]/[1])),-x-[1]))"); fit1->SetParameter(0,1.);// normalization constant
  // fit1->SetParameter(1,1.63); // k parameter
  // fit1->SetParameter(2,12.8); // mean multiplicity
  //
  Double_t nchbins[82]={0.50,1.50,2.50,3.50,4.50,5.50,6.50,7.50,8.50,9.50,
			10.50,11.50,12.50,13.50,14.50,15.50,16.50,17.50,18.50,19.50,
			20.50,21.50,22.50,23.50,24.50,25.50,26.50,27.50,28.50,29.50,
			30.50,31.50,32.50,33.50,34.50,35.50,36.50,37.50,38.50,39.50,
			40.50,41.50,42.50,43.50,44.50,45.50,46.50,47.50,48.50,49.50,
			50.50,51.50,52.50,53.50,54.50,55.50,56.50,57.50,58.50,59.50,
			60.50,62.50,64.50,66.50,68.50,70.50,72.50,74.50,76.50,78.50,
			80.50,82.50,84.50,86.50,88.50,90.50,92.50,94.50,96.50,98.50, 
			100.50,102.50};
  Double_t pch[81]={0.062011,0.072943,0.070771,0.067245,0.062834,0.057383,0.051499,0.04591,0.041109,0.036954,
		    0.03359,0.030729,0.028539,0.026575,0.024653,0.0229,0.021325,0.019768,0.018561,0.017187,
		    0.01604,0.014836,0.013726,0.012576,0.011481,0.010393,0.009502,0.008776,0.008024,0.007452,
		    0.006851,0.006428,0.00594,0.005515,0.005102,0.00469,0.004162,0.003811,0.003389,0.003071,
		    0.002708,0.002422,0.002184,0.001968,0.00186,0.00165,0.001577,0.001387,0.001254,0.001118,
		    0.001037,0.000942,0.000823,0.000736,0.000654,0.000579,0.000512,0.00049,0.00045,0.000355,
		    0.000296,0.000265,0.000193,0.00016,0.000126,0.0000851, 0.0000676,0.0000537,0.0000426, 0.0000338,
		    0.0000268,0.0000213,0.0000166,0.0000133,0.0000106,0.00000837,0.00000662, 0.00000524,0.00000414, 0.00000327,
		    0.00000258};

  if(fHistoMeasNch) delete fHistoMeasNch;
  fHistoMeasNch=new TH1F("hMeaseNch","",81,nchbins);
  for(Int_t i=0; i<81; i++){
    fHistoMeasNch->SetBinContent(i+1,pch[i]);
    fHistoMeasNch->SetBinError(i+1,0.);
  }
}

//__________________________________________________________________________________________________
Bool_t AliCFTaskVertexingHF::ProcessDs(Int_t recoAnalysisCuts) const{
  // processes output of Ds is selected
  Bool_t keep=kFALSE;
  if(recoAnalysisCuts > 0){
    Int_t isKKpi=recoAnalysisCuts&1;
    Int_t ispiKK=recoAnalysisCuts&2;
    Int_t isPhiKKpi=recoAnalysisCuts&4;
    Int_t isPhipiKK=recoAnalysisCuts&8;
    Int_t isK0starKKpi=recoAnalysisCuts&16;
    Int_t isK0starpiKK=recoAnalysisCuts&32;
    if(fDsOption==1){
      if(isKKpi && isPhiKKpi) keep=kTRUE;
      if(ispiKK && isPhipiKK) keep=kTRUE;
    }
    else if(fDsOption==2){
      if(isKKpi && isK0starKKpi) keep=kTRUE;
      if(ispiKK && isK0starpiKK) keep=kTRUE;
    }
    else if(fDsOption==3)keep=kTRUE;
  }
  return keep;
}
//__________________________________________________________________________________________________
Bool_t AliCFTaskVertexingHF::ProcessLctoV0Bachelor(Int_t recoAnalysisCuts) const{

  // processes output of Lc->V0+bnachelor is selected

  Bool_t keep=kFALSE;

  if (recoAnalysisCuts > 0){

    Int_t isK0Sp = recoAnalysisCuts&1;
    Int_t isLambdaBarpi = recoAnalysisCuts&2;
    Int_t isLambdapi = recoAnalysisCuts&4;

    if(fLctoV0bachelorOption == 1){
      if(isK0Sp) keep=kTRUE;
    }
    else if(fLctoV0bachelorOption == 2){
      if(isLambdaBarpi) keep=kTRUE;
    }
    else if(fLctoV0bachelorOption == 4){
      if(isLambdapi) keep=kTRUE;
    }
    else if(fLctoV0bachelorOption == 7) {
      if (isK0Sp || isLambdaBarpi || isLambdapi) keep=kTRUE;
    }
  }
  return keep;
}

//____________________________________________________________________________
TProfile* AliCFTaskVertexingHF::GetEstimatorHistogram(const AliVEvent* event){
  // Get Estimator Histogram from period event->GetRunNumber();
  //
  // If you select SPD tracklets in |eta|<1 you should use type == 1
  //

  Int_t runNo  = event->GetRunNumber();
  Int_t period = -1;   // pp:  0-LHC10b, 1-LHC10c, 2-LHC10d, 3-LHC10e
                       // pPb: 0-LHC13b, 1-LHC13c

  if (fIsPPbData) {    // setting run numbers for LHC13 if pPb
      if (runNo>195343 && runNo<195484) period = 0;
      if (runNo>195528 && runNo<195678) period = 1;
      if (period<0 || period>1) return 0;
  } else {             //else assume pp 2010                 
      if(runNo>114930 && runNo<117223) period = 0;
      if(runNo>119158 && runNo<120830) period = 1;
      if(runNo>122373 && runNo<126438) period = 2;
      if(runNo>127711 && runNo<130841) period = 3;
      if(period<0 || period>3) return 0;
  }

  return fMultEstimatorAvg[period];
}
 AliCFTaskVertexingHF.cxx:1
 AliCFTaskVertexingHF.cxx:2
 AliCFTaskVertexingHF.cxx:3
 AliCFTaskVertexingHF.cxx:4
 AliCFTaskVertexingHF.cxx:5
 AliCFTaskVertexingHF.cxx:6
 AliCFTaskVertexingHF.cxx:7
 AliCFTaskVertexingHF.cxx:8
 AliCFTaskVertexingHF.cxx:9
 AliCFTaskVertexingHF.cxx:10
 AliCFTaskVertexingHF.cxx:11
 AliCFTaskVertexingHF.cxx:12
 AliCFTaskVertexingHF.cxx:13
 AliCFTaskVertexingHF.cxx:14
 AliCFTaskVertexingHF.cxx:15
 AliCFTaskVertexingHF.cxx:16
 AliCFTaskVertexingHF.cxx:17
 AliCFTaskVertexingHF.cxx:18
 AliCFTaskVertexingHF.cxx:19
 AliCFTaskVertexingHF.cxx:20
 AliCFTaskVertexingHF.cxx:21
 AliCFTaskVertexingHF.cxx:22
 AliCFTaskVertexingHF.cxx:23
 AliCFTaskVertexingHF.cxx:24
 AliCFTaskVertexingHF.cxx:25
 AliCFTaskVertexingHF.cxx:26
 AliCFTaskVertexingHF.cxx:27
 AliCFTaskVertexingHF.cxx:28
 AliCFTaskVertexingHF.cxx:29
 AliCFTaskVertexingHF.cxx:30
 AliCFTaskVertexingHF.cxx:31
 AliCFTaskVertexingHF.cxx:32
 AliCFTaskVertexingHF.cxx:33
 AliCFTaskVertexingHF.cxx:34
 AliCFTaskVertexingHF.cxx:35
 AliCFTaskVertexingHF.cxx:36
 AliCFTaskVertexingHF.cxx:37
 AliCFTaskVertexingHF.cxx:38
 AliCFTaskVertexingHF.cxx:39
 AliCFTaskVertexingHF.cxx:40
 AliCFTaskVertexingHF.cxx:41
 AliCFTaskVertexingHF.cxx:42
 AliCFTaskVertexingHF.cxx:43
 AliCFTaskVertexingHF.cxx:44
 AliCFTaskVertexingHF.cxx:45
 AliCFTaskVertexingHF.cxx:46
 AliCFTaskVertexingHF.cxx:47
 AliCFTaskVertexingHF.cxx:48
 AliCFTaskVertexingHF.cxx:49
 AliCFTaskVertexingHF.cxx:50
 AliCFTaskVertexingHF.cxx:51
 AliCFTaskVertexingHF.cxx:52
 AliCFTaskVertexingHF.cxx:53
 AliCFTaskVertexingHF.cxx:54
 AliCFTaskVertexingHF.cxx:55
 AliCFTaskVertexingHF.cxx:56
 AliCFTaskVertexingHF.cxx:57
 AliCFTaskVertexingHF.cxx:58
 AliCFTaskVertexingHF.cxx:59
 AliCFTaskVertexingHF.cxx:60
 AliCFTaskVertexingHF.cxx:61
 AliCFTaskVertexingHF.cxx:62
 AliCFTaskVertexingHF.cxx:63
 AliCFTaskVertexingHF.cxx:64
 AliCFTaskVertexingHF.cxx:65
 AliCFTaskVertexingHF.cxx:66
 AliCFTaskVertexingHF.cxx:67
 AliCFTaskVertexingHF.cxx:68
 AliCFTaskVertexingHF.cxx:69
 AliCFTaskVertexingHF.cxx:70
 AliCFTaskVertexingHF.cxx:71
 AliCFTaskVertexingHF.cxx:72
 AliCFTaskVertexingHF.cxx:73
 AliCFTaskVertexingHF.cxx:74
 AliCFTaskVertexingHF.cxx:75
 AliCFTaskVertexingHF.cxx:76
 AliCFTaskVertexingHF.cxx:77
 AliCFTaskVertexingHF.cxx:78
 AliCFTaskVertexingHF.cxx:79
 AliCFTaskVertexingHF.cxx:80
 AliCFTaskVertexingHF.cxx:81
 AliCFTaskVertexingHF.cxx:82
 AliCFTaskVertexingHF.cxx:83
 AliCFTaskVertexingHF.cxx:84
 AliCFTaskVertexingHF.cxx:85
 AliCFTaskVertexingHF.cxx:86
 AliCFTaskVertexingHF.cxx:87
 AliCFTaskVertexingHF.cxx:88
 AliCFTaskVertexingHF.cxx:89
 AliCFTaskVertexingHF.cxx:90
 AliCFTaskVertexingHF.cxx:91
 AliCFTaskVertexingHF.cxx:92
 AliCFTaskVertexingHF.cxx:93
 AliCFTaskVertexingHF.cxx:94
 AliCFTaskVertexingHF.cxx:95
 AliCFTaskVertexingHF.cxx:96
 AliCFTaskVertexingHF.cxx:97
 AliCFTaskVertexingHF.cxx:98
 AliCFTaskVertexingHF.cxx:99
 AliCFTaskVertexingHF.cxx:100
 AliCFTaskVertexingHF.cxx:101
 AliCFTaskVertexingHF.cxx:102
 AliCFTaskVertexingHF.cxx:103
 AliCFTaskVertexingHF.cxx:104
 AliCFTaskVertexingHF.cxx:105
 AliCFTaskVertexingHF.cxx:106
 AliCFTaskVertexingHF.cxx:107
 AliCFTaskVertexingHF.cxx:108
 AliCFTaskVertexingHF.cxx:109
 AliCFTaskVertexingHF.cxx:110
 AliCFTaskVertexingHF.cxx:111
 AliCFTaskVertexingHF.cxx:112
 AliCFTaskVertexingHF.cxx:113
 AliCFTaskVertexingHF.cxx:114
 AliCFTaskVertexingHF.cxx:115
 AliCFTaskVertexingHF.cxx:116
 AliCFTaskVertexingHF.cxx:117
 AliCFTaskVertexingHF.cxx:118
 AliCFTaskVertexingHF.cxx:119
 AliCFTaskVertexingHF.cxx:120
 AliCFTaskVertexingHF.cxx:121
 AliCFTaskVertexingHF.cxx:122
 AliCFTaskVertexingHF.cxx:123
 AliCFTaskVertexingHF.cxx:124
 AliCFTaskVertexingHF.cxx:125
 AliCFTaskVertexingHF.cxx:126
 AliCFTaskVertexingHF.cxx:127
 AliCFTaskVertexingHF.cxx:128
 AliCFTaskVertexingHF.cxx:129
 AliCFTaskVertexingHF.cxx:130
 AliCFTaskVertexingHF.cxx:131
 AliCFTaskVertexingHF.cxx:132
 AliCFTaskVertexingHF.cxx:133
 AliCFTaskVertexingHF.cxx:134
 AliCFTaskVertexingHF.cxx:135
 AliCFTaskVertexingHF.cxx:136
 AliCFTaskVertexingHF.cxx:137
 AliCFTaskVertexingHF.cxx:138
 AliCFTaskVertexingHF.cxx:139
 AliCFTaskVertexingHF.cxx:140
 AliCFTaskVertexingHF.cxx:141
 AliCFTaskVertexingHF.cxx:142
 AliCFTaskVertexingHF.cxx:143
 AliCFTaskVertexingHF.cxx:144
 AliCFTaskVertexingHF.cxx:145
 AliCFTaskVertexingHF.cxx:146
 AliCFTaskVertexingHF.cxx:147
 AliCFTaskVertexingHF.cxx:148
 AliCFTaskVertexingHF.cxx:149
 AliCFTaskVertexingHF.cxx:150
 AliCFTaskVertexingHF.cxx:151
 AliCFTaskVertexingHF.cxx:152
 AliCFTaskVertexingHF.cxx:153
 AliCFTaskVertexingHF.cxx:154
 AliCFTaskVertexingHF.cxx:155
 AliCFTaskVertexingHF.cxx:156
 AliCFTaskVertexingHF.cxx:157
 AliCFTaskVertexingHF.cxx:158
 AliCFTaskVertexingHF.cxx:159
 AliCFTaskVertexingHF.cxx:160
 AliCFTaskVertexingHF.cxx:161
 AliCFTaskVertexingHF.cxx:162
 AliCFTaskVertexingHF.cxx:163
 AliCFTaskVertexingHF.cxx:164
 AliCFTaskVertexingHF.cxx:165
 AliCFTaskVertexingHF.cxx:166
 AliCFTaskVertexingHF.cxx:167
 AliCFTaskVertexingHF.cxx:168
 AliCFTaskVertexingHF.cxx:169
 AliCFTaskVertexingHF.cxx:170
 AliCFTaskVertexingHF.cxx:171
 AliCFTaskVertexingHF.cxx:172
 AliCFTaskVertexingHF.cxx:173
 AliCFTaskVertexingHF.cxx:174
 AliCFTaskVertexingHF.cxx:175
 AliCFTaskVertexingHF.cxx:176
 AliCFTaskVertexingHF.cxx:177
 AliCFTaskVertexingHF.cxx:178
 AliCFTaskVertexingHF.cxx:179
 AliCFTaskVertexingHF.cxx:180
 AliCFTaskVertexingHF.cxx:181
 AliCFTaskVertexingHF.cxx:182
 AliCFTaskVertexingHF.cxx:183
 AliCFTaskVertexingHF.cxx:184
 AliCFTaskVertexingHF.cxx:185
 AliCFTaskVertexingHF.cxx:186
 AliCFTaskVertexingHF.cxx:187
 AliCFTaskVertexingHF.cxx:188
 AliCFTaskVertexingHF.cxx:189
 AliCFTaskVertexingHF.cxx:190
 AliCFTaskVertexingHF.cxx:191
 AliCFTaskVertexingHF.cxx:192
 AliCFTaskVertexingHF.cxx:193
 AliCFTaskVertexingHF.cxx:194
 AliCFTaskVertexingHF.cxx:195
 AliCFTaskVertexingHF.cxx:196
 AliCFTaskVertexingHF.cxx:197
 AliCFTaskVertexingHF.cxx:198
 AliCFTaskVertexingHF.cxx:199
 AliCFTaskVertexingHF.cxx:200
 AliCFTaskVertexingHF.cxx:201
 AliCFTaskVertexingHF.cxx:202
 AliCFTaskVertexingHF.cxx:203
 AliCFTaskVertexingHF.cxx:204
 AliCFTaskVertexingHF.cxx:205
 AliCFTaskVertexingHF.cxx:206
 AliCFTaskVertexingHF.cxx:207
 AliCFTaskVertexingHF.cxx:208
 AliCFTaskVertexingHF.cxx:209
 AliCFTaskVertexingHF.cxx:210
 AliCFTaskVertexingHF.cxx:211
 AliCFTaskVertexingHF.cxx:212
 AliCFTaskVertexingHF.cxx:213
 AliCFTaskVertexingHF.cxx:214
 AliCFTaskVertexingHF.cxx:215
 AliCFTaskVertexingHF.cxx:216
 AliCFTaskVertexingHF.cxx:217
 AliCFTaskVertexingHF.cxx:218
 AliCFTaskVertexingHF.cxx:219
 AliCFTaskVertexingHF.cxx:220
 AliCFTaskVertexingHF.cxx:221
 AliCFTaskVertexingHF.cxx:222
 AliCFTaskVertexingHF.cxx:223
 AliCFTaskVertexingHF.cxx:224
 AliCFTaskVertexingHF.cxx:225
 AliCFTaskVertexingHF.cxx:226
 AliCFTaskVertexingHF.cxx:227
 AliCFTaskVertexingHF.cxx:228
 AliCFTaskVertexingHF.cxx:229
 AliCFTaskVertexingHF.cxx:230
 AliCFTaskVertexingHF.cxx:231
 AliCFTaskVertexingHF.cxx:232
 AliCFTaskVertexingHF.cxx:233
 AliCFTaskVertexingHF.cxx:234
 AliCFTaskVertexingHF.cxx:235
 AliCFTaskVertexingHF.cxx:236
 AliCFTaskVertexingHF.cxx:237
 AliCFTaskVertexingHF.cxx:238
 AliCFTaskVertexingHF.cxx:239
 AliCFTaskVertexingHF.cxx:240
 AliCFTaskVertexingHF.cxx:241
 AliCFTaskVertexingHF.cxx:242
 AliCFTaskVertexingHF.cxx:243
 AliCFTaskVertexingHF.cxx:244
 AliCFTaskVertexingHF.cxx:245
 AliCFTaskVertexingHF.cxx:246
 AliCFTaskVertexingHF.cxx:247
 AliCFTaskVertexingHF.cxx:248
 AliCFTaskVertexingHF.cxx:249
 AliCFTaskVertexingHF.cxx:250
 AliCFTaskVertexingHF.cxx:251
 AliCFTaskVertexingHF.cxx:252
 AliCFTaskVertexingHF.cxx:253
 AliCFTaskVertexingHF.cxx:254
 AliCFTaskVertexingHF.cxx:255
 AliCFTaskVertexingHF.cxx:256
 AliCFTaskVertexingHF.cxx:257
 AliCFTaskVertexingHF.cxx:258
 AliCFTaskVertexingHF.cxx:259
 AliCFTaskVertexingHF.cxx:260
 AliCFTaskVertexingHF.cxx:261
 AliCFTaskVertexingHF.cxx:262
 AliCFTaskVertexingHF.cxx:263
 AliCFTaskVertexingHF.cxx:264
 AliCFTaskVertexingHF.cxx:265
 AliCFTaskVertexingHF.cxx:266
 AliCFTaskVertexingHF.cxx:267
 AliCFTaskVertexingHF.cxx:268
 AliCFTaskVertexingHF.cxx:269
 AliCFTaskVertexingHF.cxx:270
 AliCFTaskVertexingHF.cxx:271
 AliCFTaskVertexingHF.cxx:272
 AliCFTaskVertexingHF.cxx:273
 AliCFTaskVertexingHF.cxx:274
 AliCFTaskVertexingHF.cxx:275
 AliCFTaskVertexingHF.cxx:276
 AliCFTaskVertexingHF.cxx:277
 AliCFTaskVertexingHF.cxx:278
 AliCFTaskVertexingHF.cxx:279
 AliCFTaskVertexingHF.cxx:280
 AliCFTaskVertexingHF.cxx:281
 AliCFTaskVertexingHF.cxx:282
 AliCFTaskVertexingHF.cxx:283
 AliCFTaskVertexingHF.cxx:284
 AliCFTaskVertexingHF.cxx:285
 AliCFTaskVertexingHF.cxx:286
 AliCFTaskVertexingHF.cxx:287
 AliCFTaskVertexingHF.cxx:288
 AliCFTaskVertexingHF.cxx:289
 AliCFTaskVertexingHF.cxx:290
 AliCFTaskVertexingHF.cxx:291
 AliCFTaskVertexingHF.cxx:292
 AliCFTaskVertexingHF.cxx:293
 AliCFTaskVertexingHF.cxx:294
 AliCFTaskVertexingHF.cxx:295
 AliCFTaskVertexingHF.cxx:296
 AliCFTaskVertexingHF.cxx:297
 AliCFTaskVertexingHF.cxx:298
 AliCFTaskVertexingHF.cxx:299
 AliCFTaskVertexingHF.cxx:300
 AliCFTaskVertexingHF.cxx:301
 AliCFTaskVertexingHF.cxx:302
 AliCFTaskVertexingHF.cxx:303
 AliCFTaskVertexingHF.cxx:304
 AliCFTaskVertexingHF.cxx:305
 AliCFTaskVertexingHF.cxx:306
 AliCFTaskVertexingHF.cxx:307
 AliCFTaskVertexingHF.cxx:308
 AliCFTaskVertexingHF.cxx:309
 AliCFTaskVertexingHF.cxx:310
 AliCFTaskVertexingHF.cxx:311
 AliCFTaskVertexingHF.cxx:312
 AliCFTaskVertexingHF.cxx:313
 AliCFTaskVertexingHF.cxx:314
 AliCFTaskVertexingHF.cxx:315
 AliCFTaskVertexingHF.cxx:316
 AliCFTaskVertexingHF.cxx:317
 AliCFTaskVertexingHF.cxx:318
 AliCFTaskVertexingHF.cxx:319
 AliCFTaskVertexingHF.cxx:320
 AliCFTaskVertexingHF.cxx:321
 AliCFTaskVertexingHF.cxx:322
 AliCFTaskVertexingHF.cxx:323
 AliCFTaskVertexingHF.cxx:324
 AliCFTaskVertexingHF.cxx:325
 AliCFTaskVertexingHF.cxx:326
 AliCFTaskVertexingHF.cxx:327
 AliCFTaskVertexingHF.cxx:328
 AliCFTaskVertexingHF.cxx:329
 AliCFTaskVertexingHF.cxx:330
 AliCFTaskVertexingHF.cxx:331
 AliCFTaskVertexingHF.cxx:332
 AliCFTaskVertexingHF.cxx:333
 AliCFTaskVertexingHF.cxx:334
 AliCFTaskVertexingHF.cxx:335
 AliCFTaskVertexingHF.cxx:336
 AliCFTaskVertexingHF.cxx:337
 AliCFTaskVertexingHF.cxx:338
 AliCFTaskVertexingHF.cxx:339
 AliCFTaskVertexingHF.cxx:340
 AliCFTaskVertexingHF.cxx:341
 AliCFTaskVertexingHF.cxx:342
 AliCFTaskVertexingHF.cxx:343
 AliCFTaskVertexingHF.cxx:344
 AliCFTaskVertexingHF.cxx:345
 AliCFTaskVertexingHF.cxx:346
 AliCFTaskVertexingHF.cxx:347
 AliCFTaskVertexingHF.cxx:348
 AliCFTaskVertexingHF.cxx:349
 AliCFTaskVertexingHF.cxx:350
 AliCFTaskVertexingHF.cxx:351
 AliCFTaskVertexingHF.cxx:352
 AliCFTaskVertexingHF.cxx:353
 AliCFTaskVertexingHF.cxx:354
 AliCFTaskVertexingHF.cxx:355
 AliCFTaskVertexingHF.cxx:356
 AliCFTaskVertexingHF.cxx:357
 AliCFTaskVertexingHF.cxx:358
 AliCFTaskVertexingHF.cxx:359
 AliCFTaskVertexingHF.cxx:360
 AliCFTaskVertexingHF.cxx:361
 AliCFTaskVertexingHF.cxx:362
 AliCFTaskVertexingHF.cxx:363
 AliCFTaskVertexingHF.cxx:364
 AliCFTaskVertexingHF.cxx:365
 AliCFTaskVertexingHF.cxx:366
 AliCFTaskVertexingHF.cxx:367
 AliCFTaskVertexingHF.cxx:368
 AliCFTaskVertexingHF.cxx:369
 AliCFTaskVertexingHF.cxx:370
 AliCFTaskVertexingHF.cxx:371
 AliCFTaskVertexingHF.cxx:372
 AliCFTaskVertexingHF.cxx:373
 AliCFTaskVertexingHF.cxx:374
 AliCFTaskVertexingHF.cxx:375
 AliCFTaskVertexingHF.cxx:376
 AliCFTaskVertexingHF.cxx:377
 AliCFTaskVertexingHF.cxx:378
 AliCFTaskVertexingHF.cxx:379
 AliCFTaskVertexingHF.cxx:380
 AliCFTaskVertexingHF.cxx:381
 AliCFTaskVertexingHF.cxx:382
 AliCFTaskVertexingHF.cxx:383
 AliCFTaskVertexingHF.cxx:384
 AliCFTaskVertexingHF.cxx:385
 AliCFTaskVertexingHF.cxx:386
 AliCFTaskVertexingHF.cxx:387
 AliCFTaskVertexingHF.cxx:388
 AliCFTaskVertexingHF.cxx:389
 AliCFTaskVertexingHF.cxx:390
 AliCFTaskVertexingHF.cxx:391
 AliCFTaskVertexingHF.cxx:392
 AliCFTaskVertexingHF.cxx:393
 AliCFTaskVertexingHF.cxx:394
 AliCFTaskVertexingHF.cxx:395
 AliCFTaskVertexingHF.cxx:396
 AliCFTaskVertexingHF.cxx:397
 AliCFTaskVertexingHF.cxx:398
 AliCFTaskVertexingHF.cxx:399
 AliCFTaskVertexingHF.cxx:400
 AliCFTaskVertexingHF.cxx:401
 AliCFTaskVertexingHF.cxx:402
 AliCFTaskVertexingHF.cxx:403
 AliCFTaskVertexingHF.cxx:404
 AliCFTaskVertexingHF.cxx:405
 AliCFTaskVertexingHF.cxx:406
 AliCFTaskVertexingHF.cxx:407
 AliCFTaskVertexingHF.cxx:408
 AliCFTaskVertexingHF.cxx:409
 AliCFTaskVertexingHF.cxx:410
 AliCFTaskVertexingHF.cxx:411
 AliCFTaskVertexingHF.cxx:412
 AliCFTaskVertexingHF.cxx:413
 AliCFTaskVertexingHF.cxx:414
 AliCFTaskVertexingHF.cxx:415
 AliCFTaskVertexingHF.cxx:416
 AliCFTaskVertexingHF.cxx:417
 AliCFTaskVertexingHF.cxx:418
 AliCFTaskVertexingHF.cxx:419
 AliCFTaskVertexingHF.cxx:420
 AliCFTaskVertexingHF.cxx:421
 AliCFTaskVertexingHF.cxx:422
 AliCFTaskVertexingHF.cxx:423
 AliCFTaskVertexingHF.cxx:424
 AliCFTaskVertexingHF.cxx:425
 AliCFTaskVertexingHF.cxx:426
 AliCFTaskVertexingHF.cxx:427
 AliCFTaskVertexingHF.cxx:428
 AliCFTaskVertexingHF.cxx:429
 AliCFTaskVertexingHF.cxx:430
 AliCFTaskVertexingHF.cxx:431
 AliCFTaskVertexingHF.cxx:432
 AliCFTaskVertexingHF.cxx:433
 AliCFTaskVertexingHF.cxx:434
 AliCFTaskVertexingHF.cxx:435
 AliCFTaskVertexingHF.cxx:436
 AliCFTaskVertexingHF.cxx:437
 AliCFTaskVertexingHF.cxx:438
 AliCFTaskVertexingHF.cxx:439
 AliCFTaskVertexingHF.cxx:440
 AliCFTaskVertexingHF.cxx:441
 AliCFTaskVertexingHF.cxx:442
 AliCFTaskVertexingHF.cxx:443
 AliCFTaskVertexingHF.cxx:444
 AliCFTaskVertexingHF.cxx:445
 AliCFTaskVertexingHF.cxx:446
 AliCFTaskVertexingHF.cxx:447
 AliCFTaskVertexingHF.cxx:448
 AliCFTaskVertexingHF.cxx:449
 AliCFTaskVertexingHF.cxx:450
 AliCFTaskVertexingHF.cxx:451
 AliCFTaskVertexingHF.cxx:452
 AliCFTaskVertexingHF.cxx:453
 AliCFTaskVertexingHF.cxx:454
 AliCFTaskVertexingHF.cxx:455
 AliCFTaskVertexingHF.cxx:456
 AliCFTaskVertexingHF.cxx:457
 AliCFTaskVertexingHF.cxx:458
 AliCFTaskVertexingHF.cxx:459
 AliCFTaskVertexingHF.cxx:460
 AliCFTaskVertexingHF.cxx:461
 AliCFTaskVertexingHF.cxx:462
 AliCFTaskVertexingHF.cxx:463
 AliCFTaskVertexingHF.cxx:464
 AliCFTaskVertexingHF.cxx:465
 AliCFTaskVertexingHF.cxx:466
 AliCFTaskVertexingHF.cxx:467
 AliCFTaskVertexingHF.cxx:468
 AliCFTaskVertexingHF.cxx:469
 AliCFTaskVertexingHF.cxx:470
 AliCFTaskVertexingHF.cxx:471
 AliCFTaskVertexingHF.cxx:472
 AliCFTaskVertexingHF.cxx:473
 AliCFTaskVertexingHF.cxx:474
 AliCFTaskVertexingHF.cxx:475
 AliCFTaskVertexingHF.cxx:476
 AliCFTaskVertexingHF.cxx:477
 AliCFTaskVertexingHF.cxx:478
 AliCFTaskVertexingHF.cxx:479
 AliCFTaskVertexingHF.cxx:480
 AliCFTaskVertexingHF.cxx:481
 AliCFTaskVertexingHF.cxx:482
 AliCFTaskVertexingHF.cxx:483
 AliCFTaskVertexingHF.cxx:484
 AliCFTaskVertexingHF.cxx:485
 AliCFTaskVertexingHF.cxx:486
 AliCFTaskVertexingHF.cxx:487
 AliCFTaskVertexingHF.cxx:488
 AliCFTaskVertexingHF.cxx:489
 AliCFTaskVertexingHF.cxx:490
 AliCFTaskVertexingHF.cxx:491
 AliCFTaskVertexingHF.cxx:492
 AliCFTaskVertexingHF.cxx:493
 AliCFTaskVertexingHF.cxx:494
 AliCFTaskVertexingHF.cxx:495
 AliCFTaskVertexingHF.cxx:496
 AliCFTaskVertexingHF.cxx:497
 AliCFTaskVertexingHF.cxx:498
 AliCFTaskVertexingHF.cxx:499
 AliCFTaskVertexingHF.cxx:500
 AliCFTaskVertexingHF.cxx:501
 AliCFTaskVertexingHF.cxx:502
 AliCFTaskVertexingHF.cxx:503
 AliCFTaskVertexingHF.cxx:504
 AliCFTaskVertexingHF.cxx:505
 AliCFTaskVertexingHF.cxx:506
 AliCFTaskVertexingHF.cxx:507
 AliCFTaskVertexingHF.cxx:508
 AliCFTaskVertexingHF.cxx:509
 AliCFTaskVertexingHF.cxx:510
 AliCFTaskVertexingHF.cxx:511
 AliCFTaskVertexingHF.cxx:512
 AliCFTaskVertexingHF.cxx:513
 AliCFTaskVertexingHF.cxx:514
 AliCFTaskVertexingHF.cxx:515
 AliCFTaskVertexingHF.cxx:516
 AliCFTaskVertexingHF.cxx:517
 AliCFTaskVertexingHF.cxx:518
 AliCFTaskVertexingHF.cxx:519
 AliCFTaskVertexingHF.cxx:520
 AliCFTaskVertexingHF.cxx:521
 AliCFTaskVertexingHF.cxx:522
 AliCFTaskVertexingHF.cxx:523
 AliCFTaskVertexingHF.cxx:524
 AliCFTaskVertexingHF.cxx:525
 AliCFTaskVertexingHF.cxx:526
 AliCFTaskVertexingHF.cxx:527
 AliCFTaskVertexingHF.cxx:528
 AliCFTaskVertexingHF.cxx:529
 AliCFTaskVertexingHF.cxx:530
 AliCFTaskVertexingHF.cxx:531
 AliCFTaskVertexingHF.cxx:532
 AliCFTaskVertexingHF.cxx:533
 AliCFTaskVertexingHF.cxx:534
 AliCFTaskVertexingHF.cxx:535
 AliCFTaskVertexingHF.cxx:536
 AliCFTaskVertexingHF.cxx:537
 AliCFTaskVertexingHF.cxx:538
 AliCFTaskVertexingHF.cxx:539
 AliCFTaskVertexingHF.cxx:540
 AliCFTaskVertexingHF.cxx:541
 AliCFTaskVertexingHF.cxx:542
 AliCFTaskVertexingHF.cxx:543
 AliCFTaskVertexingHF.cxx:544
 AliCFTaskVertexingHF.cxx:545
 AliCFTaskVertexingHF.cxx:546
 AliCFTaskVertexingHF.cxx:547
 AliCFTaskVertexingHF.cxx:548
 AliCFTaskVertexingHF.cxx:549
 AliCFTaskVertexingHF.cxx:550
 AliCFTaskVertexingHF.cxx:551
 AliCFTaskVertexingHF.cxx:552
 AliCFTaskVertexingHF.cxx:553
 AliCFTaskVertexingHF.cxx:554
 AliCFTaskVertexingHF.cxx:555
 AliCFTaskVertexingHF.cxx:556
 AliCFTaskVertexingHF.cxx:557
 AliCFTaskVertexingHF.cxx:558
 AliCFTaskVertexingHF.cxx:559
 AliCFTaskVertexingHF.cxx:560
 AliCFTaskVertexingHF.cxx:561
 AliCFTaskVertexingHF.cxx:562
 AliCFTaskVertexingHF.cxx:563
 AliCFTaskVertexingHF.cxx:564
 AliCFTaskVertexingHF.cxx:565
 AliCFTaskVertexingHF.cxx:566
 AliCFTaskVertexingHF.cxx:567
 AliCFTaskVertexingHF.cxx:568
 AliCFTaskVertexingHF.cxx:569
 AliCFTaskVertexingHF.cxx:570
 AliCFTaskVertexingHF.cxx:571
 AliCFTaskVertexingHF.cxx:572
 AliCFTaskVertexingHF.cxx:573
 AliCFTaskVertexingHF.cxx:574
 AliCFTaskVertexingHF.cxx:575
 AliCFTaskVertexingHF.cxx:576
 AliCFTaskVertexingHF.cxx:577
 AliCFTaskVertexingHF.cxx:578
 AliCFTaskVertexingHF.cxx:579
 AliCFTaskVertexingHF.cxx:580
 AliCFTaskVertexingHF.cxx:581
 AliCFTaskVertexingHF.cxx:582
 AliCFTaskVertexingHF.cxx:583
 AliCFTaskVertexingHF.cxx:584
 AliCFTaskVertexingHF.cxx:585
 AliCFTaskVertexingHF.cxx:586
 AliCFTaskVertexingHF.cxx:587
 AliCFTaskVertexingHF.cxx:588
 AliCFTaskVertexingHF.cxx:589
 AliCFTaskVertexingHF.cxx:590
 AliCFTaskVertexingHF.cxx:591
 AliCFTaskVertexingHF.cxx:592
 AliCFTaskVertexingHF.cxx:593
 AliCFTaskVertexingHF.cxx:594
 AliCFTaskVertexingHF.cxx:595
 AliCFTaskVertexingHF.cxx:596
 AliCFTaskVertexingHF.cxx:597
 AliCFTaskVertexingHF.cxx:598
 AliCFTaskVertexingHF.cxx:599
 AliCFTaskVertexingHF.cxx:600
 AliCFTaskVertexingHF.cxx:601
 AliCFTaskVertexingHF.cxx:602
 AliCFTaskVertexingHF.cxx:603
 AliCFTaskVertexingHF.cxx:604
 AliCFTaskVertexingHF.cxx:605
 AliCFTaskVertexingHF.cxx:606
 AliCFTaskVertexingHF.cxx:607
 AliCFTaskVertexingHF.cxx:608
 AliCFTaskVertexingHF.cxx:609
 AliCFTaskVertexingHF.cxx:610
 AliCFTaskVertexingHF.cxx:611
 AliCFTaskVertexingHF.cxx:612
 AliCFTaskVertexingHF.cxx:613
 AliCFTaskVertexingHF.cxx:614
 AliCFTaskVertexingHF.cxx:615
 AliCFTaskVertexingHF.cxx:616
 AliCFTaskVertexingHF.cxx:617
 AliCFTaskVertexingHF.cxx:618
 AliCFTaskVertexingHF.cxx:619
 AliCFTaskVertexingHF.cxx:620
 AliCFTaskVertexingHF.cxx:621
 AliCFTaskVertexingHF.cxx:622
 AliCFTaskVertexingHF.cxx:623
 AliCFTaskVertexingHF.cxx:624
 AliCFTaskVertexingHF.cxx:625
 AliCFTaskVertexingHF.cxx:626
 AliCFTaskVertexingHF.cxx:627
 AliCFTaskVertexingHF.cxx:628
 AliCFTaskVertexingHF.cxx:629
 AliCFTaskVertexingHF.cxx:630
 AliCFTaskVertexingHF.cxx:631
 AliCFTaskVertexingHF.cxx:632
 AliCFTaskVertexingHF.cxx:633
 AliCFTaskVertexingHF.cxx:634
 AliCFTaskVertexingHF.cxx:635
 AliCFTaskVertexingHF.cxx:636
 AliCFTaskVertexingHF.cxx:637
 AliCFTaskVertexingHF.cxx:638
 AliCFTaskVertexingHF.cxx:639
 AliCFTaskVertexingHF.cxx:640
 AliCFTaskVertexingHF.cxx:641
 AliCFTaskVertexingHF.cxx:642
 AliCFTaskVertexingHF.cxx:643
 AliCFTaskVertexingHF.cxx:644
 AliCFTaskVertexingHF.cxx:645
 AliCFTaskVertexingHF.cxx:646
 AliCFTaskVertexingHF.cxx:647
 AliCFTaskVertexingHF.cxx:648
 AliCFTaskVertexingHF.cxx:649
 AliCFTaskVertexingHF.cxx:650
 AliCFTaskVertexingHF.cxx:651
 AliCFTaskVertexingHF.cxx:652
 AliCFTaskVertexingHF.cxx:653
 AliCFTaskVertexingHF.cxx:654
 AliCFTaskVertexingHF.cxx:655
 AliCFTaskVertexingHF.cxx:656
 AliCFTaskVertexingHF.cxx:657
 AliCFTaskVertexingHF.cxx:658
 AliCFTaskVertexingHF.cxx:659
 AliCFTaskVertexingHF.cxx:660
 AliCFTaskVertexingHF.cxx:661
 AliCFTaskVertexingHF.cxx:662
 AliCFTaskVertexingHF.cxx:663
 AliCFTaskVertexingHF.cxx:664
 AliCFTaskVertexingHF.cxx:665
 AliCFTaskVertexingHF.cxx:666
 AliCFTaskVertexingHF.cxx:667
 AliCFTaskVertexingHF.cxx:668
 AliCFTaskVertexingHF.cxx:669
 AliCFTaskVertexingHF.cxx:670
 AliCFTaskVertexingHF.cxx:671
 AliCFTaskVertexingHF.cxx:672
 AliCFTaskVertexingHF.cxx:673
 AliCFTaskVertexingHF.cxx:674
 AliCFTaskVertexingHF.cxx:675
 AliCFTaskVertexingHF.cxx:676
 AliCFTaskVertexingHF.cxx:677
 AliCFTaskVertexingHF.cxx:678
 AliCFTaskVertexingHF.cxx:679
 AliCFTaskVertexingHF.cxx:680
 AliCFTaskVertexingHF.cxx:681
 AliCFTaskVertexingHF.cxx:682
 AliCFTaskVertexingHF.cxx:683
 AliCFTaskVertexingHF.cxx:684
 AliCFTaskVertexingHF.cxx:685
 AliCFTaskVertexingHF.cxx:686
 AliCFTaskVertexingHF.cxx:687
 AliCFTaskVertexingHF.cxx:688
 AliCFTaskVertexingHF.cxx:689
 AliCFTaskVertexingHF.cxx:690
 AliCFTaskVertexingHF.cxx:691
 AliCFTaskVertexingHF.cxx:692
 AliCFTaskVertexingHF.cxx:693
 AliCFTaskVertexingHF.cxx:694
 AliCFTaskVertexingHF.cxx:695
 AliCFTaskVertexingHF.cxx:696
 AliCFTaskVertexingHF.cxx:697
 AliCFTaskVertexingHF.cxx:698
 AliCFTaskVertexingHF.cxx:699
 AliCFTaskVertexingHF.cxx:700
 AliCFTaskVertexingHF.cxx:701
 AliCFTaskVertexingHF.cxx:702
 AliCFTaskVertexingHF.cxx:703
 AliCFTaskVertexingHF.cxx:704
 AliCFTaskVertexingHF.cxx:705
 AliCFTaskVertexingHF.cxx:706
 AliCFTaskVertexingHF.cxx:707
 AliCFTaskVertexingHF.cxx:708
 AliCFTaskVertexingHF.cxx:709
 AliCFTaskVertexingHF.cxx:710
 AliCFTaskVertexingHF.cxx:711
 AliCFTaskVertexingHF.cxx:712
 AliCFTaskVertexingHF.cxx:713
 AliCFTaskVertexingHF.cxx:714
 AliCFTaskVertexingHF.cxx:715
 AliCFTaskVertexingHF.cxx:716
 AliCFTaskVertexingHF.cxx:717
 AliCFTaskVertexingHF.cxx:718
 AliCFTaskVertexingHF.cxx:719
 AliCFTaskVertexingHF.cxx:720
 AliCFTaskVertexingHF.cxx:721
 AliCFTaskVertexingHF.cxx:722
 AliCFTaskVertexingHF.cxx:723
 AliCFTaskVertexingHF.cxx:724
 AliCFTaskVertexingHF.cxx:725
 AliCFTaskVertexingHF.cxx:726
 AliCFTaskVertexingHF.cxx:727
 AliCFTaskVertexingHF.cxx:728
 AliCFTaskVertexingHF.cxx:729
 AliCFTaskVertexingHF.cxx:730
 AliCFTaskVertexingHF.cxx:731
 AliCFTaskVertexingHF.cxx:732
 AliCFTaskVertexingHF.cxx:733
 AliCFTaskVertexingHF.cxx:734
 AliCFTaskVertexingHF.cxx:735
 AliCFTaskVertexingHF.cxx:736
 AliCFTaskVertexingHF.cxx:737
 AliCFTaskVertexingHF.cxx:738
 AliCFTaskVertexingHF.cxx:739
 AliCFTaskVertexingHF.cxx:740
 AliCFTaskVertexingHF.cxx:741
 AliCFTaskVertexingHF.cxx:742
 AliCFTaskVertexingHF.cxx:743
 AliCFTaskVertexingHF.cxx:744
 AliCFTaskVertexingHF.cxx:745
 AliCFTaskVertexingHF.cxx:746
 AliCFTaskVertexingHF.cxx:747
 AliCFTaskVertexingHF.cxx:748
 AliCFTaskVertexingHF.cxx:749
 AliCFTaskVertexingHF.cxx:750
 AliCFTaskVertexingHF.cxx:751
 AliCFTaskVertexingHF.cxx:752
 AliCFTaskVertexingHF.cxx:753
 AliCFTaskVertexingHF.cxx:754
 AliCFTaskVertexingHF.cxx:755
 AliCFTaskVertexingHF.cxx:756
 AliCFTaskVertexingHF.cxx:757
 AliCFTaskVertexingHF.cxx:758
 AliCFTaskVertexingHF.cxx:759
 AliCFTaskVertexingHF.cxx:760
 AliCFTaskVertexingHF.cxx:761
 AliCFTaskVertexingHF.cxx:762
 AliCFTaskVertexingHF.cxx:763
 AliCFTaskVertexingHF.cxx:764
 AliCFTaskVertexingHF.cxx:765
 AliCFTaskVertexingHF.cxx:766
 AliCFTaskVertexingHF.cxx:767
 AliCFTaskVertexingHF.cxx:768
 AliCFTaskVertexingHF.cxx:769
 AliCFTaskVertexingHF.cxx:770
 AliCFTaskVertexingHF.cxx:771
 AliCFTaskVertexingHF.cxx:772
 AliCFTaskVertexingHF.cxx:773
 AliCFTaskVertexingHF.cxx:774
 AliCFTaskVertexingHF.cxx:775
 AliCFTaskVertexingHF.cxx:776
 AliCFTaskVertexingHF.cxx:777
 AliCFTaskVertexingHF.cxx:778
 AliCFTaskVertexingHF.cxx:779
 AliCFTaskVertexingHF.cxx:780
 AliCFTaskVertexingHF.cxx:781
 AliCFTaskVertexingHF.cxx:782
 AliCFTaskVertexingHF.cxx:783
 AliCFTaskVertexingHF.cxx:784
 AliCFTaskVertexingHF.cxx:785
 AliCFTaskVertexingHF.cxx:786
 AliCFTaskVertexingHF.cxx:787
 AliCFTaskVertexingHF.cxx:788
 AliCFTaskVertexingHF.cxx:789
 AliCFTaskVertexingHF.cxx:790
 AliCFTaskVertexingHF.cxx:791
 AliCFTaskVertexingHF.cxx:792
 AliCFTaskVertexingHF.cxx:793
 AliCFTaskVertexingHF.cxx:794
 AliCFTaskVertexingHF.cxx:795
 AliCFTaskVertexingHF.cxx:796
 AliCFTaskVertexingHF.cxx:797
 AliCFTaskVertexingHF.cxx:798
 AliCFTaskVertexingHF.cxx:799
 AliCFTaskVertexingHF.cxx:800
 AliCFTaskVertexingHF.cxx:801
 AliCFTaskVertexingHF.cxx:802
 AliCFTaskVertexingHF.cxx:803
 AliCFTaskVertexingHF.cxx:804
 AliCFTaskVertexingHF.cxx:805
 AliCFTaskVertexingHF.cxx:806
 AliCFTaskVertexingHF.cxx:807
 AliCFTaskVertexingHF.cxx:808
 AliCFTaskVertexingHF.cxx:809
 AliCFTaskVertexingHF.cxx:810
 AliCFTaskVertexingHF.cxx:811
 AliCFTaskVertexingHF.cxx:812
 AliCFTaskVertexingHF.cxx:813
 AliCFTaskVertexingHF.cxx:814
 AliCFTaskVertexingHF.cxx:815
 AliCFTaskVertexingHF.cxx:816
 AliCFTaskVertexingHF.cxx:817
 AliCFTaskVertexingHF.cxx:818
 AliCFTaskVertexingHF.cxx:819
 AliCFTaskVertexingHF.cxx:820
 AliCFTaskVertexingHF.cxx:821
 AliCFTaskVertexingHF.cxx:822
 AliCFTaskVertexingHF.cxx:823
 AliCFTaskVertexingHF.cxx:824
 AliCFTaskVertexingHF.cxx:825
 AliCFTaskVertexingHF.cxx:826
 AliCFTaskVertexingHF.cxx:827
 AliCFTaskVertexingHF.cxx:828
 AliCFTaskVertexingHF.cxx:829
 AliCFTaskVertexingHF.cxx:830
 AliCFTaskVertexingHF.cxx:831
 AliCFTaskVertexingHF.cxx:832
 AliCFTaskVertexingHF.cxx:833
 AliCFTaskVertexingHF.cxx:834
 AliCFTaskVertexingHF.cxx:835
 AliCFTaskVertexingHF.cxx:836
 AliCFTaskVertexingHF.cxx:837
 AliCFTaskVertexingHF.cxx:838
 AliCFTaskVertexingHF.cxx:839
 AliCFTaskVertexingHF.cxx:840
 AliCFTaskVertexingHF.cxx:841
 AliCFTaskVertexingHF.cxx:842
 AliCFTaskVertexingHF.cxx:843
 AliCFTaskVertexingHF.cxx:844
 AliCFTaskVertexingHF.cxx:845
 AliCFTaskVertexingHF.cxx:846
 AliCFTaskVertexingHF.cxx:847
 AliCFTaskVertexingHF.cxx:848
 AliCFTaskVertexingHF.cxx:849
 AliCFTaskVertexingHF.cxx:850
 AliCFTaskVertexingHF.cxx:851
 AliCFTaskVertexingHF.cxx:852
 AliCFTaskVertexingHF.cxx:853
 AliCFTaskVertexingHF.cxx:854
 AliCFTaskVertexingHF.cxx:855
 AliCFTaskVertexingHF.cxx:856
 AliCFTaskVertexingHF.cxx:857
 AliCFTaskVertexingHF.cxx:858
 AliCFTaskVertexingHF.cxx:859
 AliCFTaskVertexingHF.cxx:860
 AliCFTaskVertexingHF.cxx:861
 AliCFTaskVertexingHF.cxx:862
 AliCFTaskVertexingHF.cxx:863
 AliCFTaskVertexingHF.cxx:864
 AliCFTaskVertexingHF.cxx:865
 AliCFTaskVertexingHF.cxx:866
 AliCFTaskVertexingHF.cxx:867
 AliCFTaskVertexingHF.cxx:868
 AliCFTaskVertexingHF.cxx:869
 AliCFTaskVertexingHF.cxx:870
 AliCFTaskVertexingHF.cxx:871
 AliCFTaskVertexingHF.cxx:872
 AliCFTaskVertexingHF.cxx:873
 AliCFTaskVertexingHF.cxx:874
 AliCFTaskVertexingHF.cxx:875
 AliCFTaskVertexingHF.cxx:876
 AliCFTaskVertexingHF.cxx:877
 AliCFTaskVertexingHF.cxx:878
 AliCFTaskVertexingHF.cxx:879
 AliCFTaskVertexingHF.cxx:880
 AliCFTaskVertexingHF.cxx:881
 AliCFTaskVertexingHF.cxx:882
 AliCFTaskVertexingHF.cxx:883
 AliCFTaskVertexingHF.cxx:884
 AliCFTaskVertexingHF.cxx:885
 AliCFTaskVertexingHF.cxx:886
 AliCFTaskVertexingHF.cxx:887
 AliCFTaskVertexingHF.cxx:888
 AliCFTaskVertexingHF.cxx:889
 AliCFTaskVertexingHF.cxx:890
 AliCFTaskVertexingHF.cxx:891
 AliCFTaskVertexingHF.cxx:892
 AliCFTaskVertexingHF.cxx:893
 AliCFTaskVertexingHF.cxx:894
 AliCFTaskVertexingHF.cxx:895
 AliCFTaskVertexingHF.cxx:896
 AliCFTaskVertexingHF.cxx:897
 AliCFTaskVertexingHF.cxx:898
 AliCFTaskVertexingHF.cxx:899
 AliCFTaskVertexingHF.cxx:900
 AliCFTaskVertexingHF.cxx:901
 AliCFTaskVertexingHF.cxx:902
 AliCFTaskVertexingHF.cxx:903
 AliCFTaskVertexingHF.cxx:904
 AliCFTaskVertexingHF.cxx:905
 AliCFTaskVertexingHF.cxx:906
 AliCFTaskVertexingHF.cxx:907
 AliCFTaskVertexingHF.cxx:908
 AliCFTaskVertexingHF.cxx:909
 AliCFTaskVertexingHF.cxx:910
 AliCFTaskVertexingHF.cxx:911
 AliCFTaskVertexingHF.cxx:912
 AliCFTaskVertexingHF.cxx:913
 AliCFTaskVertexingHF.cxx:914
 AliCFTaskVertexingHF.cxx:915
 AliCFTaskVertexingHF.cxx:916
 AliCFTaskVertexingHF.cxx:917
 AliCFTaskVertexingHF.cxx:918
 AliCFTaskVertexingHF.cxx:919
 AliCFTaskVertexingHF.cxx:920
 AliCFTaskVertexingHF.cxx:921
 AliCFTaskVertexingHF.cxx:922
 AliCFTaskVertexingHF.cxx:923
 AliCFTaskVertexingHF.cxx:924
 AliCFTaskVertexingHF.cxx:925
 AliCFTaskVertexingHF.cxx:926
 AliCFTaskVertexingHF.cxx:927
 AliCFTaskVertexingHF.cxx:928
 AliCFTaskVertexingHF.cxx:929
 AliCFTaskVertexingHF.cxx:930
 AliCFTaskVertexingHF.cxx:931
 AliCFTaskVertexingHF.cxx:932
 AliCFTaskVertexingHF.cxx:933
 AliCFTaskVertexingHF.cxx:934
 AliCFTaskVertexingHF.cxx:935
 AliCFTaskVertexingHF.cxx:936
 AliCFTaskVertexingHF.cxx:937
 AliCFTaskVertexingHF.cxx:938
 AliCFTaskVertexingHF.cxx:939
 AliCFTaskVertexingHF.cxx:940
 AliCFTaskVertexingHF.cxx:941
 AliCFTaskVertexingHF.cxx:942
 AliCFTaskVertexingHF.cxx:943
 AliCFTaskVertexingHF.cxx:944
 AliCFTaskVertexingHF.cxx:945
 AliCFTaskVertexingHF.cxx:946
 AliCFTaskVertexingHF.cxx:947
 AliCFTaskVertexingHF.cxx:948
 AliCFTaskVertexingHF.cxx:949
 AliCFTaskVertexingHF.cxx:950
 AliCFTaskVertexingHF.cxx:951
 AliCFTaskVertexingHF.cxx:952
 AliCFTaskVertexingHF.cxx:953
 AliCFTaskVertexingHF.cxx:954
 AliCFTaskVertexingHF.cxx:955
 AliCFTaskVertexingHF.cxx:956
 AliCFTaskVertexingHF.cxx:957
 AliCFTaskVertexingHF.cxx:958
 AliCFTaskVertexingHF.cxx:959
 AliCFTaskVertexingHF.cxx:960
 AliCFTaskVertexingHF.cxx:961
 AliCFTaskVertexingHF.cxx:962
 AliCFTaskVertexingHF.cxx:963
 AliCFTaskVertexingHF.cxx:964
 AliCFTaskVertexingHF.cxx:965
 AliCFTaskVertexingHF.cxx:966
 AliCFTaskVertexingHF.cxx:967
 AliCFTaskVertexingHF.cxx:968
 AliCFTaskVertexingHF.cxx:969
 AliCFTaskVertexingHF.cxx:970
 AliCFTaskVertexingHF.cxx:971
 AliCFTaskVertexingHF.cxx:972
 AliCFTaskVertexingHF.cxx:973
 AliCFTaskVertexingHF.cxx:974
 AliCFTaskVertexingHF.cxx:975
 AliCFTaskVertexingHF.cxx:976
 AliCFTaskVertexingHF.cxx:977
 AliCFTaskVertexingHF.cxx:978
 AliCFTaskVertexingHF.cxx:979
 AliCFTaskVertexingHF.cxx:980
 AliCFTaskVertexingHF.cxx:981
 AliCFTaskVertexingHF.cxx:982
 AliCFTaskVertexingHF.cxx:983
 AliCFTaskVertexingHF.cxx:984
 AliCFTaskVertexingHF.cxx:985
 AliCFTaskVertexingHF.cxx:986
 AliCFTaskVertexingHF.cxx:987
 AliCFTaskVertexingHF.cxx:988
 AliCFTaskVertexingHF.cxx:989
 AliCFTaskVertexingHF.cxx:990
 AliCFTaskVertexingHF.cxx:991
 AliCFTaskVertexingHF.cxx:992
 AliCFTaskVertexingHF.cxx:993
 AliCFTaskVertexingHF.cxx:994
 AliCFTaskVertexingHF.cxx:995
 AliCFTaskVertexingHF.cxx:996
 AliCFTaskVertexingHF.cxx:997
 AliCFTaskVertexingHF.cxx:998
 AliCFTaskVertexingHF.cxx:999
 AliCFTaskVertexingHF.cxx:1000
 AliCFTaskVertexingHF.cxx:1001
 AliCFTaskVertexingHF.cxx:1002
 AliCFTaskVertexingHF.cxx:1003
 AliCFTaskVertexingHF.cxx:1004
 AliCFTaskVertexingHF.cxx:1005
 AliCFTaskVertexingHF.cxx:1006
 AliCFTaskVertexingHF.cxx:1007
 AliCFTaskVertexingHF.cxx:1008
 AliCFTaskVertexingHF.cxx:1009
 AliCFTaskVertexingHF.cxx:1010
 AliCFTaskVertexingHF.cxx:1011
 AliCFTaskVertexingHF.cxx:1012
 AliCFTaskVertexingHF.cxx:1013
 AliCFTaskVertexingHF.cxx:1014
 AliCFTaskVertexingHF.cxx:1015
 AliCFTaskVertexingHF.cxx:1016
 AliCFTaskVertexingHF.cxx:1017
 AliCFTaskVertexingHF.cxx:1018
 AliCFTaskVertexingHF.cxx:1019
 AliCFTaskVertexingHF.cxx:1020
 AliCFTaskVertexingHF.cxx:1021
 AliCFTaskVertexingHF.cxx:1022
 AliCFTaskVertexingHF.cxx:1023
 AliCFTaskVertexingHF.cxx:1024
 AliCFTaskVertexingHF.cxx:1025
 AliCFTaskVertexingHF.cxx:1026
 AliCFTaskVertexingHF.cxx:1027
 AliCFTaskVertexingHF.cxx:1028
 AliCFTaskVertexingHF.cxx:1029
 AliCFTaskVertexingHF.cxx:1030
 AliCFTaskVertexingHF.cxx:1031
 AliCFTaskVertexingHF.cxx:1032
 AliCFTaskVertexingHF.cxx:1033
 AliCFTaskVertexingHF.cxx:1034
 AliCFTaskVertexingHF.cxx:1035
 AliCFTaskVertexingHF.cxx:1036
 AliCFTaskVertexingHF.cxx:1037
 AliCFTaskVertexingHF.cxx:1038
 AliCFTaskVertexingHF.cxx:1039
 AliCFTaskVertexingHF.cxx:1040
 AliCFTaskVertexingHF.cxx:1041
 AliCFTaskVertexingHF.cxx:1042
 AliCFTaskVertexingHF.cxx:1043
 AliCFTaskVertexingHF.cxx:1044
 AliCFTaskVertexingHF.cxx:1045
 AliCFTaskVertexingHF.cxx:1046
 AliCFTaskVertexingHF.cxx:1047
 AliCFTaskVertexingHF.cxx:1048
 AliCFTaskVertexingHF.cxx:1049
 AliCFTaskVertexingHF.cxx:1050
 AliCFTaskVertexingHF.cxx:1051
 AliCFTaskVertexingHF.cxx:1052
 AliCFTaskVertexingHF.cxx:1053
 AliCFTaskVertexingHF.cxx:1054
 AliCFTaskVertexingHF.cxx:1055
 AliCFTaskVertexingHF.cxx:1056
 AliCFTaskVertexingHF.cxx:1057
 AliCFTaskVertexingHF.cxx:1058
 AliCFTaskVertexingHF.cxx:1059
 AliCFTaskVertexingHF.cxx:1060
 AliCFTaskVertexingHF.cxx:1061
 AliCFTaskVertexingHF.cxx:1062
 AliCFTaskVertexingHF.cxx:1063
 AliCFTaskVertexingHF.cxx:1064
 AliCFTaskVertexingHF.cxx:1065
 AliCFTaskVertexingHF.cxx:1066
 AliCFTaskVertexingHF.cxx:1067
 AliCFTaskVertexingHF.cxx:1068
 AliCFTaskVertexingHF.cxx:1069
 AliCFTaskVertexingHF.cxx:1070
 AliCFTaskVertexingHF.cxx:1071
 AliCFTaskVertexingHF.cxx:1072
 AliCFTaskVertexingHF.cxx:1073
 AliCFTaskVertexingHF.cxx:1074
 AliCFTaskVertexingHF.cxx:1075
 AliCFTaskVertexingHF.cxx:1076
 AliCFTaskVertexingHF.cxx:1077
 AliCFTaskVertexingHF.cxx:1078
 AliCFTaskVertexingHF.cxx:1079
 AliCFTaskVertexingHF.cxx:1080
 AliCFTaskVertexingHF.cxx:1081
 AliCFTaskVertexingHF.cxx:1082
 AliCFTaskVertexingHF.cxx:1083
 AliCFTaskVertexingHF.cxx:1084
 AliCFTaskVertexingHF.cxx:1085
 AliCFTaskVertexingHF.cxx:1086
 AliCFTaskVertexingHF.cxx:1087
 AliCFTaskVertexingHF.cxx:1088
 AliCFTaskVertexingHF.cxx:1089
 AliCFTaskVertexingHF.cxx:1090
 AliCFTaskVertexingHF.cxx:1091
 AliCFTaskVertexingHF.cxx:1092
 AliCFTaskVertexingHF.cxx:1093
 AliCFTaskVertexingHF.cxx:1094
 AliCFTaskVertexingHF.cxx:1095
 AliCFTaskVertexingHF.cxx:1096
 AliCFTaskVertexingHF.cxx:1097
 AliCFTaskVertexingHF.cxx:1098
 AliCFTaskVertexingHF.cxx:1099
 AliCFTaskVertexingHF.cxx:1100
 AliCFTaskVertexingHF.cxx:1101
 AliCFTaskVertexingHF.cxx:1102
 AliCFTaskVertexingHF.cxx:1103
 AliCFTaskVertexingHF.cxx:1104
 AliCFTaskVertexingHF.cxx:1105
 AliCFTaskVertexingHF.cxx:1106
 AliCFTaskVertexingHF.cxx:1107
 AliCFTaskVertexingHF.cxx:1108
 AliCFTaskVertexingHF.cxx:1109
 AliCFTaskVertexingHF.cxx:1110
 AliCFTaskVertexingHF.cxx:1111
 AliCFTaskVertexingHF.cxx:1112
 AliCFTaskVertexingHF.cxx:1113
 AliCFTaskVertexingHF.cxx:1114
 AliCFTaskVertexingHF.cxx:1115
 AliCFTaskVertexingHF.cxx:1116
 AliCFTaskVertexingHF.cxx:1117
 AliCFTaskVertexingHF.cxx:1118
 AliCFTaskVertexingHF.cxx:1119
 AliCFTaskVertexingHF.cxx:1120
 AliCFTaskVertexingHF.cxx:1121
 AliCFTaskVertexingHF.cxx:1122
 AliCFTaskVertexingHF.cxx:1123
 AliCFTaskVertexingHF.cxx:1124
 AliCFTaskVertexingHF.cxx:1125
 AliCFTaskVertexingHF.cxx:1126
 AliCFTaskVertexingHF.cxx:1127
 AliCFTaskVertexingHF.cxx:1128
 AliCFTaskVertexingHF.cxx:1129
 AliCFTaskVertexingHF.cxx:1130
 AliCFTaskVertexingHF.cxx:1131
 AliCFTaskVertexingHF.cxx:1132
 AliCFTaskVertexingHF.cxx:1133
 AliCFTaskVertexingHF.cxx:1134
 AliCFTaskVertexingHF.cxx:1135
 AliCFTaskVertexingHF.cxx:1136
 AliCFTaskVertexingHF.cxx:1137
 AliCFTaskVertexingHF.cxx:1138
 AliCFTaskVertexingHF.cxx:1139
 AliCFTaskVertexingHF.cxx:1140
 AliCFTaskVertexingHF.cxx:1141
 AliCFTaskVertexingHF.cxx:1142
 AliCFTaskVertexingHF.cxx:1143
 AliCFTaskVertexingHF.cxx:1144
 AliCFTaskVertexingHF.cxx:1145
 AliCFTaskVertexingHF.cxx:1146
 AliCFTaskVertexingHF.cxx:1147
 AliCFTaskVertexingHF.cxx:1148
 AliCFTaskVertexingHF.cxx:1149
 AliCFTaskVertexingHF.cxx:1150
 AliCFTaskVertexingHF.cxx:1151
 AliCFTaskVertexingHF.cxx:1152
 AliCFTaskVertexingHF.cxx:1153
 AliCFTaskVertexingHF.cxx:1154
 AliCFTaskVertexingHF.cxx:1155
 AliCFTaskVertexingHF.cxx:1156
 AliCFTaskVertexingHF.cxx:1157
 AliCFTaskVertexingHF.cxx:1158
 AliCFTaskVertexingHF.cxx:1159
 AliCFTaskVertexingHF.cxx:1160
 AliCFTaskVertexingHF.cxx:1161
 AliCFTaskVertexingHF.cxx:1162
 AliCFTaskVertexingHF.cxx:1163
 AliCFTaskVertexingHF.cxx:1164
 AliCFTaskVertexingHF.cxx:1165
 AliCFTaskVertexingHF.cxx:1166
 AliCFTaskVertexingHF.cxx:1167
 AliCFTaskVertexingHF.cxx:1168
 AliCFTaskVertexingHF.cxx:1169
 AliCFTaskVertexingHF.cxx:1170
 AliCFTaskVertexingHF.cxx:1171
 AliCFTaskVertexingHF.cxx:1172
 AliCFTaskVertexingHF.cxx:1173
 AliCFTaskVertexingHF.cxx:1174
 AliCFTaskVertexingHF.cxx:1175
 AliCFTaskVertexingHF.cxx:1176
 AliCFTaskVertexingHF.cxx:1177
 AliCFTaskVertexingHF.cxx:1178
 AliCFTaskVertexingHF.cxx:1179
 AliCFTaskVertexingHF.cxx:1180
 AliCFTaskVertexingHF.cxx:1181
 AliCFTaskVertexingHF.cxx:1182
 AliCFTaskVertexingHF.cxx:1183
 AliCFTaskVertexingHF.cxx:1184
 AliCFTaskVertexingHF.cxx:1185
 AliCFTaskVertexingHF.cxx:1186
 AliCFTaskVertexingHF.cxx:1187
 AliCFTaskVertexingHF.cxx:1188
 AliCFTaskVertexingHF.cxx:1189
 AliCFTaskVertexingHF.cxx:1190
 AliCFTaskVertexingHF.cxx:1191
 AliCFTaskVertexingHF.cxx:1192
 AliCFTaskVertexingHF.cxx:1193
 AliCFTaskVertexingHF.cxx:1194
 AliCFTaskVertexingHF.cxx:1195
 AliCFTaskVertexingHF.cxx:1196
 AliCFTaskVertexingHF.cxx:1197
 AliCFTaskVertexingHF.cxx:1198
 AliCFTaskVertexingHF.cxx:1199
 AliCFTaskVertexingHF.cxx:1200
 AliCFTaskVertexingHF.cxx:1201
 AliCFTaskVertexingHF.cxx:1202
 AliCFTaskVertexingHF.cxx:1203
 AliCFTaskVertexingHF.cxx:1204
 AliCFTaskVertexingHF.cxx:1205
 AliCFTaskVertexingHF.cxx:1206
 AliCFTaskVertexingHF.cxx:1207
 AliCFTaskVertexingHF.cxx:1208
 AliCFTaskVertexingHF.cxx:1209
 AliCFTaskVertexingHF.cxx:1210
 AliCFTaskVertexingHF.cxx:1211
 AliCFTaskVertexingHF.cxx:1212
 AliCFTaskVertexingHF.cxx:1213
 AliCFTaskVertexingHF.cxx:1214
 AliCFTaskVertexingHF.cxx:1215
 AliCFTaskVertexingHF.cxx:1216
 AliCFTaskVertexingHF.cxx:1217
 AliCFTaskVertexingHF.cxx:1218
 AliCFTaskVertexingHF.cxx:1219
 AliCFTaskVertexingHF.cxx:1220
 AliCFTaskVertexingHF.cxx:1221
 AliCFTaskVertexingHF.cxx:1222
 AliCFTaskVertexingHF.cxx:1223
 AliCFTaskVertexingHF.cxx:1224
 AliCFTaskVertexingHF.cxx:1225
 AliCFTaskVertexingHF.cxx:1226
 AliCFTaskVertexingHF.cxx:1227
 AliCFTaskVertexingHF.cxx:1228
 AliCFTaskVertexingHF.cxx:1229
 AliCFTaskVertexingHF.cxx:1230
 AliCFTaskVertexingHF.cxx:1231
 AliCFTaskVertexingHF.cxx:1232
 AliCFTaskVertexingHF.cxx:1233
 AliCFTaskVertexingHF.cxx:1234
 AliCFTaskVertexingHF.cxx:1235
 AliCFTaskVertexingHF.cxx:1236
 AliCFTaskVertexingHF.cxx:1237
 AliCFTaskVertexingHF.cxx:1238
 AliCFTaskVertexingHF.cxx:1239
 AliCFTaskVertexingHF.cxx:1240
 AliCFTaskVertexingHF.cxx:1241
 AliCFTaskVertexingHF.cxx:1242
 AliCFTaskVertexingHF.cxx:1243
 AliCFTaskVertexingHF.cxx:1244
 AliCFTaskVertexingHF.cxx:1245
 AliCFTaskVertexingHF.cxx:1246
 AliCFTaskVertexingHF.cxx:1247
 AliCFTaskVertexingHF.cxx:1248
 AliCFTaskVertexingHF.cxx:1249
 AliCFTaskVertexingHF.cxx:1250
 AliCFTaskVertexingHF.cxx:1251
 AliCFTaskVertexingHF.cxx:1252
 AliCFTaskVertexingHF.cxx:1253
 AliCFTaskVertexingHF.cxx:1254
 AliCFTaskVertexingHF.cxx:1255
 AliCFTaskVertexingHF.cxx:1256
 AliCFTaskVertexingHF.cxx:1257
 AliCFTaskVertexingHF.cxx:1258
 AliCFTaskVertexingHF.cxx:1259
 AliCFTaskVertexingHF.cxx:1260
 AliCFTaskVertexingHF.cxx:1261
 AliCFTaskVertexingHF.cxx:1262
 AliCFTaskVertexingHF.cxx:1263
 AliCFTaskVertexingHF.cxx:1264
 AliCFTaskVertexingHF.cxx:1265
 AliCFTaskVertexingHF.cxx:1266
 AliCFTaskVertexingHF.cxx:1267
 AliCFTaskVertexingHF.cxx:1268
 AliCFTaskVertexingHF.cxx:1269
 AliCFTaskVertexingHF.cxx:1270
 AliCFTaskVertexingHF.cxx:1271
 AliCFTaskVertexingHF.cxx:1272
 AliCFTaskVertexingHF.cxx:1273
 AliCFTaskVertexingHF.cxx:1274
 AliCFTaskVertexingHF.cxx:1275
 AliCFTaskVertexingHF.cxx:1276
 AliCFTaskVertexingHF.cxx:1277
 AliCFTaskVertexingHF.cxx:1278
 AliCFTaskVertexingHF.cxx:1279
 AliCFTaskVertexingHF.cxx:1280
 AliCFTaskVertexingHF.cxx:1281
 AliCFTaskVertexingHF.cxx:1282
 AliCFTaskVertexingHF.cxx:1283
 AliCFTaskVertexingHF.cxx:1284
 AliCFTaskVertexingHF.cxx:1285
 AliCFTaskVertexingHF.cxx:1286
 AliCFTaskVertexingHF.cxx:1287
 AliCFTaskVertexingHF.cxx:1288
 AliCFTaskVertexingHF.cxx:1289
 AliCFTaskVertexingHF.cxx:1290
 AliCFTaskVertexingHF.cxx:1291
 AliCFTaskVertexingHF.cxx:1292
 AliCFTaskVertexingHF.cxx:1293
 AliCFTaskVertexingHF.cxx:1294
 AliCFTaskVertexingHF.cxx:1295
 AliCFTaskVertexingHF.cxx:1296
 AliCFTaskVertexingHF.cxx:1297
 AliCFTaskVertexingHF.cxx:1298
 AliCFTaskVertexingHF.cxx:1299
 AliCFTaskVertexingHF.cxx:1300
 AliCFTaskVertexingHF.cxx:1301
 AliCFTaskVertexingHF.cxx:1302
 AliCFTaskVertexingHF.cxx:1303
 AliCFTaskVertexingHF.cxx:1304
 AliCFTaskVertexingHF.cxx:1305
 AliCFTaskVertexingHF.cxx:1306
 AliCFTaskVertexingHF.cxx:1307
 AliCFTaskVertexingHF.cxx:1308
 AliCFTaskVertexingHF.cxx:1309
 AliCFTaskVertexingHF.cxx:1310
 AliCFTaskVertexingHF.cxx:1311
 AliCFTaskVertexingHF.cxx:1312
 AliCFTaskVertexingHF.cxx:1313
 AliCFTaskVertexingHF.cxx:1314
 AliCFTaskVertexingHF.cxx:1315
 AliCFTaskVertexingHF.cxx:1316
 AliCFTaskVertexingHF.cxx:1317
 AliCFTaskVertexingHF.cxx:1318
 AliCFTaskVertexingHF.cxx:1319
 AliCFTaskVertexingHF.cxx:1320
 AliCFTaskVertexingHF.cxx:1321
 AliCFTaskVertexingHF.cxx:1322
 AliCFTaskVertexingHF.cxx:1323
 AliCFTaskVertexingHF.cxx:1324
 AliCFTaskVertexingHF.cxx:1325
 AliCFTaskVertexingHF.cxx:1326
 AliCFTaskVertexingHF.cxx:1327
 AliCFTaskVertexingHF.cxx:1328
 AliCFTaskVertexingHF.cxx:1329
 AliCFTaskVertexingHF.cxx:1330
 AliCFTaskVertexingHF.cxx:1331
 AliCFTaskVertexingHF.cxx:1332
 AliCFTaskVertexingHF.cxx:1333
 AliCFTaskVertexingHF.cxx:1334
 AliCFTaskVertexingHF.cxx:1335
 AliCFTaskVertexingHF.cxx:1336
 AliCFTaskVertexingHF.cxx:1337
 AliCFTaskVertexingHF.cxx:1338
 AliCFTaskVertexingHF.cxx:1339
 AliCFTaskVertexingHF.cxx:1340
 AliCFTaskVertexingHF.cxx:1341
 AliCFTaskVertexingHF.cxx:1342
 AliCFTaskVertexingHF.cxx:1343
 AliCFTaskVertexingHF.cxx:1344
 AliCFTaskVertexingHF.cxx:1345
 AliCFTaskVertexingHF.cxx:1346
 AliCFTaskVertexingHF.cxx:1347
 AliCFTaskVertexingHF.cxx:1348
 AliCFTaskVertexingHF.cxx:1349
 AliCFTaskVertexingHF.cxx:1350
 AliCFTaskVertexingHF.cxx:1351
 AliCFTaskVertexingHF.cxx:1352
 AliCFTaskVertexingHF.cxx:1353
 AliCFTaskVertexingHF.cxx:1354
 AliCFTaskVertexingHF.cxx:1355
 AliCFTaskVertexingHF.cxx:1356
 AliCFTaskVertexingHF.cxx:1357
 AliCFTaskVertexingHF.cxx:1358
 AliCFTaskVertexingHF.cxx:1359
 AliCFTaskVertexingHF.cxx:1360
 AliCFTaskVertexingHF.cxx:1361
 AliCFTaskVertexingHF.cxx:1362
 AliCFTaskVertexingHF.cxx:1363
 AliCFTaskVertexingHF.cxx:1364
 AliCFTaskVertexingHF.cxx:1365
 AliCFTaskVertexingHF.cxx:1366
 AliCFTaskVertexingHF.cxx:1367
 AliCFTaskVertexingHF.cxx:1368
 AliCFTaskVertexingHF.cxx:1369
 AliCFTaskVertexingHF.cxx:1370
 AliCFTaskVertexingHF.cxx:1371
 AliCFTaskVertexingHF.cxx:1372
 AliCFTaskVertexingHF.cxx:1373
 AliCFTaskVertexingHF.cxx:1374
 AliCFTaskVertexingHF.cxx:1375
 AliCFTaskVertexingHF.cxx:1376
 AliCFTaskVertexingHF.cxx:1377
 AliCFTaskVertexingHF.cxx:1378
 AliCFTaskVertexingHF.cxx:1379
 AliCFTaskVertexingHF.cxx:1380
 AliCFTaskVertexingHF.cxx:1381
 AliCFTaskVertexingHF.cxx:1382
 AliCFTaskVertexingHF.cxx:1383
 AliCFTaskVertexingHF.cxx:1384
 AliCFTaskVertexingHF.cxx:1385
 AliCFTaskVertexingHF.cxx:1386
 AliCFTaskVertexingHF.cxx:1387
 AliCFTaskVertexingHF.cxx:1388
 AliCFTaskVertexingHF.cxx:1389
 AliCFTaskVertexingHF.cxx:1390
 AliCFTaskVertexingHF.cxx:1391
 AliCFTaskVertexingHF.cxx:1392
 AliCFTaskVertexingHF.cxx:1393
 AliCFTaskVertexingHF.cxx:1394
 AliCFTaskVertexingHF.cxx:1395
 AliCFTaskVertexingHF.cxx:1396
 AliCFTaskVertexingHF.cxx:1397
 AliCFTaskVertexingHF.cxx:1398
 AliCFTaskVertexingHF.cxx:1399
 AliCFTaskVertexingHF.cxx:1400
 AliCFTaskVertexingHF.cxx:1401
 AliCFTaskVertexingHF.cxx:1402
 AliCFTaskVertexingHF.cxx:1403
 AliCFTaskVertexingHF.cxx:1404
 AliCFTaskVertexingHF.cxx:1405
 AliCFTaskVertexingHF.cxx:1406
 AliCFTaskVertexingHF.cxx:1407
 AliCFTaskVertexingHF.cxx:1408
 AliCFTaskVertexingHF.cxx:1409
 AliCFTaskVertexingHF.cxx:1410
 AliCFTaskVertexingHF.cxx:1411
 AliCFTaskVertexingHF.cxx:1412
 AliCFTaskVertexingHF.cxx:1413
 AliCFTaskVertexingHF.cxx:1414
 AliCFTaskVertexingHF.cxx:1415
 AliCFTaskVertexingHF.cxx:1416
 AliCFTaskVertexingHF.cxx:1417
 AliCFTaskVertexingHF.cxx:1418
 AliCFTaskVertexingHF.cxx:1419
 AliCFTaskVertexingHF.cxx:1420
 AliCFTaskVertexingHF.cxx:1421
 AliCFTaskVertexingHF.cxx:1422
 AliCFTaskVertexingHF.cxx:1423
 AliCFTaskVertexingHF.cxx:1424
 AliCFTaskVertexingHF.cxx:1425
 AliCFTaskVertexingHF.cxx:1426
 AliCFTaskVertexingHF.cxx:1427
 AliCFTaskVertexingHF.cxx:1428
 AliCFTaskVertexingHF.cxx:1429
 AliCFTaskVertexingHF.cxx:1430
 AliCFTaskVertexingHF.cxx:1431
 AliCFTaskVertexingHF.cxx:1432
 AliCFTaskVertexingHF.cxx:1433
 AliCFTaskVertexingHF.cxx:1434
 AliCFTaskVertexingHF.cxx:1435
 AliCFTaskVertexingHF.cxx:1436
 AliCFTaskVertexingHF.cxx:1437
 AliCFTaskVertexingHF.cxx:1438
 AliCFTaskVertexingHF.cxx:1439
 AliCFTaskVertexingHF.cxx:1440
 AliCFTaskVertexingHF.cxx:1441
 AliCFTaskVertexingHF.cxx:1442
 AliCFTaskVertexingHF.cxx:1443
 AliCFTaskVertexingHF.cxx:1444
 AliCFTaskVertexingHF.cxx:1445
 AliCFTaskVertexingHF.cxx:1446
 AliCFTaskVertexingHF.cxx:1447
 AliCFTaskVertexingHF.cxx:1448
 AliCFTaskVertexingHF.cxx:1449
 AliCFTaskVertexingHF.cxx:1450
 AliCFTaskVertexingHF.cxx:1451
 AliCFTaskVertexingHF.cxx:1452
 AliCFTaskVertexingHF.cxx:1453
 AliCFTaskVertexingHF.cxx:1454
 AliCFTaskVertexingHF.cxx:1455
 AliCFTaskVertexingHF.cxx:1456
 AliCFTaskVertexingHF.cxx:1457
 AliCFTaskVertexingHF.cxx:1458
 AliCFTaskVertexingHF.cxx:1459
 AliCFTaskVertexingHF.cxx:1460
 AliCFTaskVertexingHF.cxx:1461
 AliCFTaskVertexingHF.cxx:1462
 AliCFTaskVertexingHF.cxx:1463
 AliCFTaskVertexingHF.cxx:1464
 AliCFTaskVertexingHF.cxx:1465
 AliCFTaskVertexingHF.cxx:1466
 AliCFTaskVertexingHF.cxx:1467
 AliCFTaskVertexingHF.cxx:1468
 AliCFTaskVertexingHF.cxx:1469
 AliCFTaskVertexingHF.cxx:1470
 AliCFTaskVertexingHF.cxx:1471
 AliCFTaskVertexingHF.cxx:1472
 AliCFTaskVertexingHF.cxx:1473
 AliCFTaskVertexingHF.cxx:1474
 AliCFTaskVertexingHF.cxx:1475
 AliCFTaskVertexingHF.cxx:1476
 AliCFTaskVertexingHF.cxx:1477
 AliCFTaskVertexingHF.cxx:1478
 AliCFTaskVertexingHF.cxx:1479
 AliCFTaskVertexingHF.cxx:1480
 AliCFTaskVertexingHF.cxx:1481
 AliCFTaskVertexingHF.cxx:1482
 AliCFTaskVertexingHF.cxx:1483
 AliCFTaskVertexingHF.cxx:1484
 AliCFTaskVertexingHF.cxx:1485
 AliCFTaskVertexingHF.cxx:1486
 AliCFTaskVertexingHF.cxx:1487
 AliCFTaskVertexingHF.cxx:1488
 AliCFTaskVertexingHF.cxx:1489
 AliCFTaskVertexingHF.cxx:1490
 AliCFTaskVertexingHF.cxx:1491
 AliCFTaskVertexingHF.cxx:1492
 AliCFTaskVertexingHF.cxx:1493
 AliCFTaskVertexingHF.cxx:1494
 AliCFTaskVertexingHF.cxx:1495
 AliCFTaskVertexingHF.cxx:1496
 AliCFTaskVertexingHF.cxx:1497
 AliCFTaskVertexingHF.cxx:1498
 AliCFTaskVertexingHF.cxx:1499
 AliCFTaskVertexingHF.cxx:1500
 AliCFTaskVertexingHF.cxx:1501
 AliCFTaskVertexingHF.cxx:1502
 AliCFTaskVertexingHF.cxx:1503
 AliCFTaskVertexingHF.cxx:1504
 AliCFTaskVertexingHF.cxx:1505
 AliCFTaskVertexingHF.cxx:1506
 AliCFTaskVertexingHF.cxx:1507
 AliCFTaskVertexingHF.cxx:1508
 AliCFTaskVertexingHF.cxx:1509
 AliCFTaskVertexingHF.cxx:1510
 AliCFTaskVertexingHF.cxx:1511
 AliCFTaskVertexingHF.cxx:1512
 AliCFTaskVertexingHF.cxx:1513
 AliCFTaskVertexingHF.cxx:1514
 AliCFTaskVertexingHF.cxx:1515
 AliCFTaskVertexingHF.cxx:1516
 AliCFTaskVertexingHF.cxx:1517
 AliCFTaskVertexingHF.cxx:1518
 AliCFTaskVertexingHF.cxx:1519
 AliCFTaskVertexingHF.cxx:1520
 AliCFTaskVertexingHF.cxx:1521
 AliCFTaskVertexingHF.cxx:1522
 AliCFTaskVertexingHF.cxx:1523
 AliCFTaskVertexingHF.cxx:1524
 AliCFTaskVertexingHF.cxx:1525
 AliCFTaskVertexingHF.cxx:1526
 AliCFTaskVertexingHF.cxx:1527
 AliCFTaskVertexingHF.cxx:1528
 AliCFTaskVertexingHF.cxx:1529
 AliCFTaskVertexingHF.cxx:1530
 AliCFTaskVertexingHF.cxx:1531
 AliCFTaskVertexingHF.cxx:1532
 AliCFTaskVertexingHF.cxx:1533
 AliCFTaskVertexingHF.cxx:1534
 AliCFTaskVertexingHF.cxx:1535
 AliCFTaskVertexingHF.cxx:1536
 AliCFTaskVertexingHF.cxx:1537
 AliCFTaskVertexingHF.cxx:1538
 AliCFTaskVertexingHF.cxx:1539
 AliCFTaskVertexingHF.cxx:1540
 AliCFTaskVertexingHF.cxx:1541
 AliCFTaskVertexingHF.cxx:1542
 AliCFTaskVertexingHF.cxx:1543
 AliCFTaskVertexingHF.cxx:1544
 AliCFTaskVertexingHF.cxx:1545
 AliCFTaskVertexingHF.cxx:1546
 AliCFTaskVertexingHF.cxx:1547
 AliCFTaskVertexingHF.cxx:1548
 AliCFTaskVertexingHF.cxx:1549
 AliCFTaskVertexingHF.cxx:1550
 AliCFTaskVertexingHF.cxx:1551
 AliCFTaskVertexingHF.cxx:1552
 AliCFTaskVertexingHF.cxx:1553
 AliCFTaskVertexingHF.cxx:1554
 AliCFTaskVertexingHF.cxx:1555
 AliCFTaskVertexingHF.cxx:1556
 AliCFTaskVertexingHF.cxx:1557
 AliCFTaskVertexingHF.cxx:1558
 AliCFTaskVertexingHF.cxx:1559
 AliCFTaskVertexingHF.cxx:1560
 AliCFTaskVertexingHF.cxx:1561
 AliCFTaskVertexingHF.cxx:1562
 AliCFTaskVertexingHF.cxx:1563
 AliCFTaskVertexingHF.cxx:1564
 AliCFTaskVertexingHF.cxx:1565
 AliCFTaskVertexingHF.cxx:1566
 AliCFTaskVertexingHF.cxx:1567
 AliCFTaskVertexingHF.cxx:1568
 AliCFTaskVertexingHF.cxx:1569
 AliCFTaskVertexingHF.cxx:1570
 AliCFTaskVertexingHF.cxx:1571
 AliCFTaskVertexingHF.cxx:1572
 AliCFTaskVertexingHF.cxx:1573
 AliCFTaskVertexingHF.cxx:1574
 AliCFTaskVertexingHF.cxx:1575
 AliCFTaskVertexingHF.cxx:1576
 AliCFTaskVertexingHF.cxx:1577
 AliCFTaskVertexingHF.cxx:1578
 AliCFTaskVertexingHF.cxx:1579
 AliCFTaskVertexingHF.cxx:1580
 AliCFTaskVertexingHF.cxx:1581
 AliCFTaskVertexingHF.cxx:1582
 AliCFTaskVertexingHF.cxx:1583
 AliCFTaskVertexingHF.cxx:1584
 AliCFTaskVertexingHF.cxx:1585
 AliCFTaskVertexingHF.cxx:1586
 AliCFTaskVertexingHF.cxx:1587
 AliCFTaskVertexingHF.cxx:1588
 AliCFTaskVertexingHF.cxx:1589
 AliCFTaskVertexingHF.cxx:1590
 AliCFTaskVertexingHF.cxx:1591
 AliCFTaskVertexingHF.cxx:1592
 AliCFTaskVertexingHF.cxx:1593
 AliCFTaskVertexingHF.cxx:1594
 AliCFTaskVertexingHF.cxx:1595
 AliCFTaskVertexingHF.cxx:1596
 AliCFTaskVertexingHF.cxx:1597
 AliCFTaskVertexingHF.cxx:1598
 AliCFTaskVertexingHF.cxx:1599
 AliCFTaskVertexingHF.cxx:1600
 AliCFTaskVertexingHF.cxx:1601
 AliCFTaskVertexingHF.cxx:1602
 AliCFTaskVertexingHF.cxx:1603
 AliCFTaskVertexingHF.cxx:1604
 AliCFTaskVertexingHF.cxx:1605
 AliCFTaskVertexingHF.cxx:1606
 AliCFTaskVertexingHF.cxx:1607
 AliCFTaskVertexingHF.cxx:1608
 AliCFTaskVertexingHF.cxx:1609
 AliCFTaskVertexingHF.cxx:1610
 AliCFTaskVertexingHF.cxx:1611
 AliCFTaskVertexingHF.cxx:1612
 AliCFTaskVertexingHF.cxx:1613
 AliCFTaskVertexingHF.cxx:1614
 AliCFTaskVertexingHF.cxx:1615
 AliCFTaskVertexingHF.cxx:1616
 AliCFTaskVertexingHF.cxx:1617
 AliCFTaskVertexingHF.cxx:1618
 AliCFTaskVertexingHF.cxx:1619
 AliCFTaskVertexingHF.cxx:1620
 AliCFTaskVertexingHF.cxx:1621
 AliCFTaskVertexingHF.cxx:1622
 AliCFTaskVertexingHF.cxx:1623
 AliCFTaskVertexingHF.cxx:1624
 AliCFTaskVertexingHF.cxx:1625
 AliCFTaskVertexingHF.cxx:1626
 AliCFTaskVertexingHF.cxx:1627
 AliCFTaskVertexingHF.cxx:1628
 AliCFTaskVertexingHF.cxx:1629
 AliCFTaskVertexingHF.cxx:1630
 AliCFTaskVertexingHF.cxx:1631
 AliCFTaskVertexingHF.cxx:1632
 AliCFTaskVertexingHF.cxx:1633
 AliCFTaskVertexingHF.cxx:1634
 AliCFTaskVertexingHF.cxx:1635
 AliCFTaskVertexingHF.cxx:1636
 AliCFTaskVertexingHF.cxx:1637
 AliCFTaskVertexingHF.cxx:1638
 AliCFTaskVertexingHF.cxx:1639
 AliCFTaskVertexingHF.cxx:1640
 AliCFTaskVertexingHF.cxx:1641
 AliCFTaskVertexingHF.cxx:1642
 AliCFTaskVertexingHF.cxx:1643
 AliCFTaskVertexingHF.cxx:1644
 AliCFTaskVertexingHF.cxx:1645
 AliCFTaskVertexingHF.cxx:1646
 AliCFTaskVertexingHF.cxx:1647
 AliCFTaskVertexingHF.cxx:1648
 AliCFTaskVertexingHF.cxx:1649
 AliCFTaskVertexingHF.cxx:1650
 AliCFTaskVertexingHF.cxx:1651
 AliCFTaskVertexingHF.cxx:1652
 AliCFTaskVertexingHF.cxx:1653
 AliCFTaskVertexingHF.cxx:1654
 AliCFTaskVertexingHF.cxx:1655
 AliCFTaskVertexingHF.cxx:1656
 AliCFTaskVertexingHF.cxx:1657
 AliCFTaskVertexingHF.cxx:1658
 AliCFTaskVertexingHF.cxx:1659
 AliCFTaskVertexingHF.cxx:1660
 AliCFTaskVertexingHF.cxx:1661
 AliCFTaskVertexingHF.cxx:1662
 AliCFTaskVertexingHF.cxx:1663
 AliCFTaskVertexingHF.cxx:1664
 AliCFTaskVertexingHF.cxx:1665
 AliCFTaskVertexingHF.cxx:1666
 AliCFTaskVertexingHF.cxx:1667
 AliCFTaskVertexingHF.cxx:1668
 AliCFTaskVertexingHF.cxx:1669
 AliCFTaskVertexingHF.cxx:1670
 AliCFTaskVertexingHF.cxx:1671
 AliCFTaskVertexingHF.cxx:1672
 AliCFTaskVertexingHF.cxx:1673
 AliCFTaskVertexingHF.cxx:1674
 AliCFTaskVertexingHF.cxx:1675
 AliCFTaskVertexingHF.cxx:1676
 AliCFTaskVertexingHF.cxx:1677
 AliCFTaskVertexingHF.cxx:1678
 AliCFTaskVertexingHF.cxx:1679
 AliCFTaskVertexingHF.cxx:1680
 AliCFTaskVertexingHF.cxx:1681
 AliCFTaskVertexingHF.cxx:1682
 AliCFTaskVertexingHF.cxx:1683
 AliCFTaskVertexingHF.cxx:1684
 AliCFTaskVertexingHF.cxx:1685
 AliCFTaskVertexingHF.cxx:1686
 AliCFTaskVertexingHF.cxx:1687
 AliCFTaskVertexingHF.cxx:1688
 AliCFTaskVertexingHF.cxx:1689
 AliCFTaskVertexingHF.cxx:1690
 AliCFTaskVertexingHF.cxx:1691
 AliCFTaskVertexingHF.cxx:1692
 AliCFTaskVertexingHF.cxx:1693
 AliCFTaskVertexingHF.cxx:1694
 AliCFTaskVertexingHF.cxx:1695
 AliCFTaskVertexingHF.cxx:1696
 AliCFTaskVertexingHF.cxx:1697
 AliCFTaskVertexingHF.cxx:1698
 AliCFTaskVertexingHF.cxx:1699
 AliCFTaskVertexingHF.cxx:1700
 AliCFTaskVertexingHF.cxx:1701
 AliCFTaskVertexingHF.cxx:1702
 AliCFTaskVertexingHF.cxx:1703
 AliCFTaskVertexingHF.cxx:1704
 AliCFTaskVertexingHF.cxx:1705
 AliCFTaskVertexingHF.cxx:1706
 AliCFTaskVertexingHF.cxx:1707
 AliCFTaskVertexingHF.cxx:1708
 AliCFTaskVertexingHF.cxx:1709
 AliCFTaskVertexingHF.cxx:1710
 AliCFTaskVertexingHF.cxx:1711
 AliCFTaskVertexingHF.cxx:1712
 AliCFTaskVertexingHF.cxx:1713
 AliCFTaskVertexingHF.cxx:1714
 AliCFTaskVertexingHF.cxx:1715
 AliCFTaskVertexingHF.cxx:1716
 AliCFTaskVertexingHF.cxx:1717
 AliCFTaskVertexingHF.cxx:1718
 AliCFTaskVertexingHF.cxx:1719
 AliCFTaskVertexingHF.cxx:1720
 AliCFTaskVertexingHF.cxx:1721
 AliCFTaskVertexingHF.cxx:1722
 AliCFTaskVertexingHF.cxx:1723
 AliCFTaskVertexingHF.cxx:1724
 AliCFTaskVertexingHF.cxx:1725
 AliCFTaskVertexingHF.cxx:1726
 AliCFTaskVertexingHF.cxx:1727
 AliCFTaskVertexingHF.cxx:1728
 AliCFTaskVertexingHF.cxx:1729
 AliCFTaskVertexingHF.cxx:1730
 AliCFTaskVertexingHF.cxx:1731
 AliCFTaskVertexingHF.cxx:1732
 AliCFTaskVertexingHF.cxx:1733
 AliCFTaskVertexingHF.cxx:1734
 AliCFTaskVertexingHF.cxx:1735
 AliCFTaskVertexingHF.cxx:1736
 AliCFTaskVertexingHF.cxx:1737
 AliCFTaskVertexingHF.cxx:1738
 AliCFTaskVertexingHF.cxx:1739
 AliCFTaskVertexingHF.cxx:1740
 AliCFTaskVertexingHF.cxx:1741
 AliCFTaskVertexingHF.cxx:1742
 AliCFTaskVertexingHF.cxx:1743
 AliCFTaskVertexingHF.cxx:1744
 AliCFTaskVertexingHF.cxx:1745
 AliCFTaskVertexingHF.cxx:1746
 AliCFTaskVertexingHF.cxx:1747
 AliCFTaskVertexingHF.cxx:1748
 AliCFTaskVertexingHF.cxx:1749
 AliCFTaskVertexingHF.cxx:1750
 AliCFTaskVertexingHF.cxx:1751
 AliCFTaskVertexingHF.cxx:1752
 AliCFTaskVertexingHF.cxx:1753
 AliCFTaskVertexingHF.cxx:1754
 AliCFTaskVertexingHF.cxx:1755
 AliCFTaskVertexingHF.cxx:1756
 AliCFTaskVertexingHF.cxx:1757
 AliCFTaskVertexingHF.cxx:1758
 AliCFTaskVertexingHF.cxx:1759
 AliCFTaskVertexingHF.cxx:1760
 AliCFTaskVertexingHF.cxx:1761
 AliCFTaskVertexingHF.cxx:1762
 AliCFTaskVertexingHF.cxx:1763
 AliCFTaskVertexingHF.cxx:1764
 AliCFTaskVertexingHF.cxx:1765
 AliCFTaskVertexingHF.cxx:1766
 AliCFTaskVertexingHF.cxx:1767
 AliCFTaskVertexingHF.cxx:1768
 AliCFTaskVertexingHF.cxx:1769
 AliCFTaskVertexingHF.cxx:1770
 AliCFTaskVertexingHF.cxx:1771
 AliCFTaskVertexingHF.cxx:1772
 AliCFTaskVertexingHF.cxx:1773
 AliCFTaskVertexingHF.cxx:1774
 AliCFTaskVertexingHF.cxx:1775
 AliCFTaskVertexingHF.cxx:1776
 AliCFTaskVertexingHF.cxx:1777
 AliCFTaskVertexingHF.cxx:1778
 AliCFTaskVertexingHF.cxx:1779
 AliCFTaskVertexingHF.cxx:1780
 AliCFTaskVertexingHF.cxx:1781
 AliCFTaskVertexingHF.cxx:1782
 AliCFTaskVertexingHF.cxx:1783
 AliCFTaskVertexingHF.cxx:1784
 AliCFTaskVertexingHF.cxx:1785
 AliCFTaskVertexingHF.cxx:1786
 AliCFTaskVertexingHF.cxx:1787
 AliCFTaskVertexingHF.cxx:1788
 AliCFTaskVertexingHF.cxx:1789
 AliCFTaskVertexingHF.cxx:1790
 AliCFTaskVertexingHF.cxx:1791
 AliCFTaskVertexingHF.cxx:1792
 AliCFTaskVertexingHF.cxx:1793
 AliCFTaskVertexingHF.cxx:1794
 AliCFTaskVertexingHF.cxx:1795
 AliCFTaskVertexingHF.cxx:1796
 AliCFTaskVertexingHF.cxx:1797
 AliCFTaskVertexingHF.cxx:1798
 AliCFTaskVertexingHF.cxx:1799
 AliCFTaskVertexingHF.cxx:1800
 AliCFTaskVertexingHF.cxx:1801
 AliCFTaskVertexingHF.cxx:1802