ROOT logo
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisDataContainer.h"
#include "AliESDEvent.h"
#include "AliESDtrackCuts.h"
#include "AliStack.h"
#include "AliCentrality.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliHeader.h"
#include "AliGenCocktailEventHeader.h"
#include "AliGenEventHeader.h"
#include "AliGenerator.h"
#include "AliVertexingHFUtils.h"
#include "AliMultiplicity.h"
#include <TParticle.h>
#include <TSystem.h>
#include <TTree.h>
#include <TNtuple.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <TChain.h>
#include "AliESDInputHandlerRP.h"
#include "AliAnalysisTaskCheckHFMCProd.h"

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

/* $Id$ */ 

//*************************************************************************
// Implementation of class AliAnalysisTaskCheckHFMCProd
// AliAnalysisTask to check MC production at ESD+Kine level
// 
//
// Authors: F. Prino, prino@to.infn.it
//          
//*************************************************************************

ClassImp(AliAnalysisTaskCheckHFMCProd)
//______________________________________________________________________________
AliAnalysisTaskCheckHFMCProd::AliAnalysisTaskCheckHFMCProd() : AliAnalysisTaskSE("HFMCChecks"), 
  fOutput(0),
  fHistoNEvents(0),
  fHistoPhysPrim(0),
  fHistoTracks(0),
  fHistoSelTracks(0),
  fHistoTracklets(0),
  fHistoTrackletsEta1(0),
  fHistoPtPhysPrim(0),
  fHistoEtaPhysPrim(0),
  fHistoSPD3DVtxX(0),
  fHistoSPD3DVtxY(0),
  fHistoSPD3DVtxZ(0),
  fHistoSPDZVtxX(0),
  fHistoSPDZVtxY(0),
  fHistoSPDZVtxZ(0),
  fHistoTRKVtxX(0),
  fHistoTRKVtxY(0),
  fHistoTRKVtxZ(0),
  fHistoNcharmed(0),
  fHistoNbVsNc(0),
  fHistOriginPrompt(0),
  fHistOriginFeeddown(0),
  fHistMotherID(0),
  fHistDSpecies(0),
  fHistBSpecies(0),
  fHistLcDecayChan(0),
  fHistNcollHFtype(0),
  fHistEtaPhiPtGenEle(0),
  fHistEtaPhiPtGenPi(0),
  fHistEtaPhiPtGenK(0),
  fHistEtaPhiPtGenPro(0),
  fHistEtaPhiPtRecEle(0),
  fHistEtaPhiPtRecPi(0),
  fHistEtaPhiPtRecK(0),
  fHistEtaPhiPtRecPro(0),
  fSearchUpToQuark(kFALSE),
  fSystem(0),
  fESDtrackCuts(0x0),
  fReadMC(kTRUE)
{
  //
  DefineInput(0, TChain::Class());
  DefineOutput(1, TList::Class());
}


//___________________________________________________________________________
AliAnalysisTaskCheckHFMCProd::~AliAnalysisTaskCheckHFMCProd(){
  //
  if (AliAnalysisManager::GetAnalysisManager()->IsProofMode()) return;
  if (fOutput) {
    delete fOutput;
    fOutput = 0;
  }
  delete fESDtrackCuts;

}
   
//___________________________________________________________________________
void AliAnalysisTaskCheckHFMCProd::UserCreateOutputObjects() {
  // create output histos

  fOutput = new TList();
  fOutput->SetOwner();
  fOutput->SetName("OutputHistos");

  fHistoNEvents = new TH1F("hNEvents", "Number of processed events",3,-0.5,2.5);
  fHistoNEvents->Sumw2();
  fHistoNEvents->SetMinimum(0);
  fOutput->Add(fHistoNEvents);

  Double_t maxMult=100.;
  if(fSystem==1) maxMult=10000.;
  if(fSystem==2) maxMult=500.;
  fHistoPhysPrim = new TH1F("hPhysPrim","",100,-0.5,maxMult-0.5);
  fHistoPhysPrim->Sumw2();
  fOutput->Add(fHistoPhysPrim);
  fHistoTracks = new TH1F("hTracks","",100,-0.5,maxMult*2-0.5);
  fHistoTracks->Sumw2();
  fOutput->Add(fHistoTracks);
  fHistoSelTracks = new TH1F("hSelTracks","",100,-0.5,maxMult-0.5);
  fHistoSelTracks->Sumw2();
  fOutput->Add(fHistoSelTracks);
  fHistoTracklets = new TH1F("hTracklets","",100,-0.5,maxMult-0.5);
  fHistoTracklets->Sumw2();
  fOutput->Add(fHistoTracklets);
  fHistoTrackletsEta1 = new TH1F("hTrackletsEta1","",100,-0.5,maxMult-0.5);
  fHistoTrackletsEta1->Sumw2();
  fOutput->Add(fHistoTrackletsEta1);
  fHistoPtPhysPrim = new TH1F("hPtPhysPrim","",100,0.,20.);
  fHistoPtPhysPrim->Sumw2();
  fOutput->Add(fHistoPtPhysPrim);
  fHistoEtaPhysPrim = new TH1F("hEtaPhysPrim","",100,-10.,10.);
  fHistoEtaPhysPrim->Sumw2();
  fOutput->Add(fHistoEtaPhysPrim);

  fHistoSPD3DVtxX = new TH1F("hSPD3DvX","",100,-1.,1.);
  fHistoSPD3DVtxX->Sumw2();
  fOutput->Add(fHistoSPD3DVtxX);
  fHistoSPD3DVtxY = new TH1F("hSPD3DvY","",100,-1.,1.);
  fHistoSPD3DVtxY->Sumw2();
  fOutput->Add(fHistoSPD3DVtxY);
  fHistoSPD3DVtxZ = new TH1F("hSPD3DvZ","",100,-15.,15.);
  fHistoSPD3DVtxZ->Sumw2();
  fOutput->Add(fHistoSPD3DVtxZ);

  fHistoSPDZVtxX = new TH1F("hSPDZvX","",100,-1.,1.);
  fHistoSPDZVtxX->Sumw2();
  fOutput->Add(fHistoSPDZVtxX);
  fHistoSPDZVtxY = new TH1F("hSPDZvY","",100,-1.,1.);
  fHistoSPDZVtxY->Sumw2();
  fOutput->Add(fHistoSPDZVtxY);
  fHistoSPDZVtxZ = new TH1F("hSPDZvZ","",100,-15.,15.);
  fHistoSPDZVtxZ->Sumw2();
  fOutput->Add(fHistoSPDZVtxZ);


  fHistoTRKVtxX = new TH1F("hTRKvX","",100,-1.,1.);
  fHistoTRKVtxX->Sumw2();
  fOutput->Add(fHistoTRKVtxX);
  fHistoTRKVtxY = new TH1F("hTRKvY","",100,-1.,1.);
  fHistoTRKVtxY->Sumw2();
  fOutput->Add(fHistoTRKVtxY);
  fHistoTRKVtxZ = new TH1F("hTRKvZ","",100,-15.,15.);
  fHistoTRKVtxZ->Sumw2();
  fOutput->Add(fHistoTRKVtxZ);

  Int_t nBinscb=11;
  if(fSystem==1) nBinscb=200;
  if(fSystem==2) nBinscb=21;
  Double_t maxncn=nBinscb-0.5;
  fHistoNcharmed = new TH2F("hncharmed","",100,-0.5,maxMult-0.5,nBinscb,-0.5,maxncn);
  fHistoNcharmed->Sumw2();
  fOutput->Add(fHistoNcharmed);
  fHistoNbVsNc = new TH2F("hnbvsnc","",nBinscb,-0.5,maxncn,nBinscb,-0.5,maxncn);
  fHistoNbVsNc->Sumw2();
  fOutput->Add(fHistoNbVsNc);

  fHistYPtPrompt[0] = new TH2F("hyptD0prompt","D0 - Prompt",40,0.,40.,20,-2.,2.);
  fHistYPtPrompt[1] = new TH2F("hyptDplusprompt","Dplus - Prompt",40,0.,40.,20,-2.,2.);
  fHistYPtPrompt[2] = new TH2F("hyptDstarprompt","Dstar - Prompt",40,0.,40.,20,-2.,2.);
  fHistYPtPrompt[3] = new TH2F("hyptDsprompt","Ds - Prompt",40,0.,40.,20,-2.,2.);
  fHistYPtPrompt[4] = new TH2F("hyptLcprompt","Lc - Prompt",40,0.,40.,20,-2.,2.);

  fHistBYPtAllDecay[0] = new TH2F("hyptB0AllDecay","B0 - All",40,0.,40.,40,-2.,2.);
  fHistBYPtAllDecay[1] = new TH2F("hyptBplusAllDecay","Bplus - All",40,0.,40.,40,-2.,2.);
  fHistBYPtAllDecay[2] = new TH2F("hyptBstarAllDecay","Bstar - All",40,0.,40.,40,-2.,2.);
  fHistBYPtAllDecay[3] = new TH2F("hyptBsAllDecay","Bs - All",40,0.,40.,40,-2.,2.);
  fHistBYPtAllDecay[4] = new TH2F("hyptLbAllDecay","LB - All",40,0.,40.,40,-2.,2.);

  fHistYPtAllDecay[0] = new TH2F("hyptD0AllDecay","D0 - All",40,0.,40.,40,-2.,2.);
  fHistYPtAllDecay[1] = new TH2F("hyptDplusAllDecay","Dplus - All",40,0.,40.,40,-2.,2.);
  fHistYPtAllDecay[2] = new TH2F("hyptDstarAllDecay","Dstar - All",40,0.,40.,40,-2.,2.);
  fHistYPtAllDecay[3] = new TH2F("hyptDsAllDecay","Ds - All",40,0.,40.,40,-2.,2.);
  fHistYPtAllDecay[4] = new TH2F("hyptLcAllDecay","Lc - All",40,0.,40.,40,-2.,2.);

  fHistYPtPromptAllDecay[0] = new TH2F("hyptD0promptAllDecay","D0 - Prompt",40,0.,40.,40,-2.,2.);
  fHistYPtPromptAllDecay[1] = new TH2F("hyptDpluspromptAllDecay","Dplus - Prompt",40,0.,40.,40,-2.,2.);
  fHistYPtPromptAllDecay[2] = new TH2F("hyptDstarpromptAllDecay","Dstar - Prompt",40,0.,40.,40,-2.,2.);
  fHistYPtPromptAllDecay[3] = new TH2F("hyptDspromptAllDecay","Ds - Prompt",40,0.,40.,40,-2.,2.);
  fHistYPtPromptAllDecay[4] = new TH2F("hyptLcpromptAllDecay","Lc - Prompt",40,0.,40.,40,-2.,2.);

  fHistYPtFeeddownAllDecay[0] = new TH2F("hyptD0feeddownAllDecay","D0 - FromB",40,0.,40.,40,-2.,2.);
  fHistYPtFeeddownAllDecay[1] = new TH2F("hyptDplusfeeddownAllDecay","Dplus - FromB",40,0.,40.,40,-2.,2.);
  fHistYPtFeeddownAllDecay[2] = new TH2F("hyptDstarfeeddownAllDecay","Dstar - FromB",40,0.,40.,40,-2.,2.);
  fHistYPtFeeddownAllDecay[3] = new TH2F("hyptDsfeeddownAllDecay","Ds - FromB",40,0.,40.,40,-2.,2.);
  fHistYPtFeeddownAllDecay[4] = new TH2F("hyptLcfeeddownAllDecay","Lc - FromB",40,0.,40.,40,-2.,2.);


  fHistYPtFeeddown[0] = new TH2F("hyptD0feeddown","D0 - Feeddown",40,0.,40.,20,-2.,2.);
  fHistYPtFeeddown[1] = new TH2F("hyptDplusfeeddown","Dplus - Feeddown",40,0.,40.,20,-2.,2.);
  fHistYPtFeeddown[2] = new TH2F("hyptDstarfeedown","Dstar - Feeddown",40,0.,40.,20,-2.,2.);
  fHistYPtFeeddown[3] = new TH2F("hyptDsfeedown","Ds - Feeddown",40,0.,40.,20,-2.,2.);
  fHistYPtFeeddown[4] = new TH2F("hyptLcfeedown","Lc - Feeddown",40,0.,40.,20,-2.,2.);

  for(Int_t ih=0; ih<5; ih++){
    fHistBYPtAllDecay[ih]->Sumw2();
    fHistBYPtAllDecay[ih]->SetMinimum(0);
    fOutput->Add(fHistBYPtAllDecay[ih]);
    fHistYPtAllDecay[ih]->Sumw2();
    fHistYPtAllDecay[ih]->SetMinimum(0);
    fOutput->Add(fHistYPtAllDecay[ih]);
    fHistYPtPromptAllDecay[ih]->Sumw2();
    fHistYPtPromptAllDecay[ih]->SetMinimum(0);
    fOutput->Add(fHistYPtPromptAllDecay[ih]);
    fHistYPtFeeddownAllDecay[ih]->Sumw2();
    fHistYPtFeeddownAllDecay[ih]->SetMinimum(0);
    fOutput->Add(fHistYPtFeeddownAllDecay[ih]);
    fHistYPtPrompt[ih]->Sumw2();
    fHistYPtPrompt[ih]->SetMinimum(0);
    fOutput->Add(fHistYPtPrompt[ih]);
    fHistYPtFeeddown[ih]->Sumw2();
    fHistYPtFeeddown[ih]->SetMinimum(0);
    fOutput->Add(fHistYPtFeeddown[ih]);
  }

  fHistYPtD0byDecChannel[0] = new TH2F("hyptD02","D0 - 2prong",40,0.,40.,20,-2.,2.);
  fHistYPtD0byDecChannel[1] = new TH2F("hyptD04","D0 - 4prong",40,0.,40.,20,-2.,2.);
  fHistYPtDplusbyDecChannel[0] = new TH2F("hyptDplusnonreson","Dplus - non reson",40,0.,40.,20,-2.,2.);
  fHistYPtDplusbyDecChannel[1] = new TH2F("hyptDplusreson","Dplus - reson via K0*",40,0.,40.,20,-2.,2.);
  fHistYPtDplusbyDecChannel[2] = new TH2F("hyptDplusKKpi","Dplus -> KKpi",40,0.,40.,20,-2.,2.);
  fHistYPtDsbyDecChannel[0] = new TH2F("hyptDsphi","Ds - vis Phi",40,0.,40.,20,-2.,2.);
  fHistYPtDsbyDecChannel[1] = new TH2F("hyptDsk0st","Ds - via k0*",40,0.,40.,20,-2.,2.);

  for(Int_t ih=0; ih<2; ih++){

    fHistYPtD0byDecChannel[ih]->Sumw2();
    fHistYPtD0byDecChannel[ih]->SetMinimum(0);
    fOutput->Add(fHistYPtD0byDecChannel[ih]);
    fHistYPtDplusbyDecChannel[ih]->Sumw2();
    fHistYPtDplusbyDecChannel[ih]->SetMinimum(0);
    fOutput->Add(fHistYPtDplusbyDecChannel[ih]);
    fHistYPtDsbyDecChannel[ih]->Sumw2();
    fHistYPtDsbyDecChannel[ih]->SetMinimum(0);
    fOutput->Add(fHistYPtDsbyDecChannel[ih]);
  }
  fHistYPtDplusbyDecChannel[2]->Sumw2();
  fHistYPtDplusbyDecChannel[2]->SetMinimum(0);
  fOutput->Add(fHistYPtDplusbyDecChannel[2]);

  fHistOriginPrompt=new TH1F("hOriginPrompt","",100,0.,0.5);
  fHistOriginPrompt->Sumw2();
  fHistOriginPrompt->SetMinimum(0);
  fOutput->Add(fHistOriginPrompt);
  fHistOriginFeeddown=new TH1F("hOriginFeeddown","",100,0.,0.5);
  fHistOriginFeeddown->Sumw2();
  fHistOriginFeeddown->SetMinimum(0);
  fOutput->Add(fHistOriginFeeddown);
  fHistMotherID=new TH1F("hMotherID","",1000,-1.5,998.5);
  fHistMotherID->SetMinimum(0);
  fOutput->Add(fHistMotherID);
  fHistDSpecies=new TH1F("hDSpecies","",10,-0.5,9.5);
  fHistDSpecies->GetXaxis()->SetBinLabel(1,"D0");
  fHistDSpecies->GetXaxis()->SetBinLabel(2,"D0bar");
  fHistDSpecies->GetXaxis()->SetBinLabel(3,"D+");
  fHistDSpecies->GetXaxis()->SetBinLabel(4,"D-");
  fHistDSpecies->GetXaxis()->SetBinLabel(5,"D*+");
  fHistDSpecies->GetXaxis()->SetBinLabel(6,"D*-");
  fHistDSpecies->GetXaxis()->SetBinLabel(7,"Ds+");
  fHistDSpecies->GetXaxis()->SetBinLabel(8,"Ds-");
  fHistDSpecies->GetXaxis()->SetBinLabel(9,"Lc+");
  fHistDSpecies->GetXaxis()->SetBinLabel(10,"Lc-");
  fHistDSpecies->SetMinimum(0);
  fOutput->Add(fHistDSpecies);
  fHistBSpecies=new TH1F("hBSpecies","",10,-0.5,9.5);
  fHistBSpecies->GetXaxis()->SetBinLabel(1,"B0");
  fHistBSpecies->GetXaxis()->SetBinLabel(2,"B0bar");
  fHistBSpecies->GetXaxis()->SetBinLabel(3,"B+");
  fHistBSpecies->GetXaxis()->SetBinLabel(4,"B-");
  fHistBSpecies->GetXaxis()->SetBinLabel(5,"B*+");
  fHistBSpecies->GetXaxis()->SetBinLabel(6,"B*-");
  fHistBSpecies->GetXaxis()->SetBinLabel(7,"Bs+");
  fHistBSpecies->GetXaxis()->SetBinLabel(8,"Bs-");
  fHistBSpecies->GetXaxis()->SetBinLabel(9,"Lb+");
  fHistBSpecies->GetXaxis()->SetBinLabel(10,"Lb-");
  fHistBSpecies->SetMinimum(0);
  fOutput->Add(fHistBSpecies);
  fHistLcDecayChan=new TH1F("hLcDecayChan","",9,-2.5,6.5);
  fHistLcDecayChan->GetXaxis()->SetBinLabel(1,"Violates p cons");
  fHistLcDecayChan->GetXaxis()->SetBinLabel(2,"Other decay");
  fHistLcDecayChan->GetXaxis()->SetBinLabel(3,"Error");
  fHistLcDecayChan->GetXaxis()->SetBinLabel(4,"pK#pi non res");
  fHistLcDecayChan->GetXaxis()->SetBinLabel(5,"pK#pi via K*0");
  fHistLcDecayChan->GetXaxis()->SetBinLabel(6,"pK#pi via #Delta++");
  fHistLcDecayChan->GetXaxis()->SetBinLabel(7,"pK#pi via #Lambda1520");
  fHistLcDecayChan->GetXaxis()->SetBinLabel(8,"pK0s#rightarrowp#pi#pi");
  fHistLcDecayChan->GetXaxis()->SetBinLabel(9,"#pi#Lambda#rightarrowp#pi#pi");
  fHistLcDecayChan->SetMinimum(0);
  fOutput->Add(fHistLcDecayChan);

  fHistNcollHFtype=new TH2F("hNcollHFtype","",5,-1.5,3.5,30,-0.5,29.5);
  fOutput->Add(fHistNcollHFtype);

  Double_t binseta[11]={-1.0,-0.8,-0.6,-0.4,-0.2,0.,0.2,0.4,0.6,0.8,1.0};
  const Int_t nBinsPhi=40;
  Double_t binsphi[nBinsPhi+1];
  for(Int_t ib=0; ib<=nBinsPhi; ib++) binsphi[ib]=ib*TMath::Pi()/20.;
  const Int_t nBinsPt=24;  
  Double_t binspt[nBinsPt+1]={0.,0.10,0.15,0.2,0.25,
			      0.3,0.4,0.5,0.6,0.7,
			      0.8,0.9,1.,1.25,1.5,
			      1.75,2.,2.5,3.,4.,
			      5.,7.5,10.,15.,20.};

   fHistEtaPhiPtGenEle=new TH3F("hEtaPhiPtGenEle","",10,binseta,nBinsPhi,binsphi,nBinsPt,binspt);
  fOutput->Add(fHistEtaPhiPtGenEle);
  fHistEtaPhiPtGenPi=new TH3F("hEtaPhiPtGenPi","",10,binseta,nBinsPhi,binsphi,nBinsPt,binspt);
  fOutput->Add(fHistEtaPhiPtGenPi);
  fHistEtaPhiPtGenK=new TH3F("hEtaPhiPtGenK","",10,binseta,nBinsPhi,binsphi,nBinsPt,binspt);
  fOutput->Add(fHistEtaPhiPtGenK);
  fHistEtaPhiPtGenPro=new TH3F("hEtaPhiPtGenPro","",10,binseta,nBinsPhi,binsphi,nBinsPt,binspt);
  fOutput->Add(fHistEtaPhiPtGenPro);


  fHistEtaPhiPtRecEle=new TH3F("hEtaPhiPtRecEle","",10,binseta,nBinsPhi,binsphi,nBinsPt,binspt);
  fOutput->Add(fHistEtaPhiPtRecEle);
  fHistEtaPhiPtRecPi=new TH3F("hEtaPhiPtRecPi","",10,binseta,nBinsPhi,binsphi,nBinsPt,binspt);
  fOutput->Add(fHistEtaPhiPtRecPi);
  fHistEtaPhiPtRecK=new TH3F("hEtaPhiPtRecK","",10,binseta,nBinsPhi,binsphi,nBinsPt,binspt);
  fOutput->Add(fHistEtaPhiPtRecK);
  fHistEtaPhiPtRecPro=new TH3F("hEtaPhiPtRecPro","",10,binseta,nBinsPhi,binsphi,nBinsPt,binspt);
  fOutput->Add(fHistEtaPhiPtRecPro);

 

  PostData(1,fOutput);

}
//______________________________________________________________________________
void AliAnalysisTaskCheckHFMCProd::UserExec(Option_t *)
{
  //

  AliESDEvent *esd = (AliESDEvent*) (InputEvent());


  if(!esd) {
    printf("AliAnalysisTaskSDDRP::Exec(): bad ESD\n");
    return;
  } 

  fHistoNEvents->Fill(0);

  if(!fESDtrackCuts){
    Int_t year=2011;
    if(esd->GetRunNumber()<=139517) year=2010;
    if(year==2010) fESDtrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE);
    else fESDtrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE); 
    fESDtrackCuts->SetMaxDCAToVertexXY(2.4);
    fESDtrackCuts->SetMaxDCAToVertexZ(3.2);
    fESDtrackCuts->SetDCAToVertex2D(kTRUE);
    fESDtrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
					    AliESDtrackCuts::kAny);
  }

  Int_t nTracks=esd->GetNumberOfTracks();
  fHistoTracks->Fill(nTracks);
  Int_t nSelTracks=0;
  for(Int_t it=0; it<nTracks; it++){
    AliESDtrack* tr=esd->GetTrack(it);
    UInt_t status=tr->GetStatus();
    if(!(status&AliESDtrack::kITSrefit)) continue;
    if(!(status&AliESDtrack::kTPCin)) continue;
    nSelTracks++;
  }
  fHistoSelTracks->Fill(nSelTracks);

  const AliMultiplicity* mult=esd->GetMultiplicity();
  Int_t nTracklets=mult->GetNumberOfTracklets();
  Int_t nTracklets1=0;
  for(Int_t it=0; it<nTracklets; it++){
    Double_t eta=TMath::Abs(mult->GetEta(it));
    if(eta<1) nTracklets1++;
  }
  fHistoTracklets->Fill(nTracklets);
  fHistoTrackletsEta1->Fill(nTracklets1);
  
  const AliESDVertex *spdv=esd->GetVertex();
  if(spdv && spdv->IsFromVertexer3D()){
    fHistoSPD3DVtxX->Fill(spdv->GetX());
    fHistoSPD3DVtxY->Fill(spdv->GetY());
    fHistoSPD3DVtxZ->Fill(spdv->GetZ());
  }
  if(spdv && spdv->IsFromVertexerZ()){
    fHistoSPDZVtxX->Fill(spdv->GetX());
    fHistoSPDZVtxY->Fill(spdv->GetY());
    fHistoSPDZVtxZ->Fill(spdv->GetZ());
  }
  const AliESDVertex *trkv=esd->GetPrimaryVertex();
  if(trkv && trkv->GetNContributors()>1){
    fHistoTRKVtxX->Fill(trkv->GetX());
    fHistoTRKVtxY->Fill(trkv->GetY());
    fHistoTRKVtxZ->Fill(trkv->GetZ());
  }

  AliStack* stack=0;
  if(fReadMC){
    AliMCEventHandler* eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
    if (!eventHandler) {
      Printf("ERROR: Could not retrieve MC event handler");
      return;
    }
    AliMCEvent* mcEvent = eventHandler->MCEvent();
    if (!mcEvent) {
      Printf("ERROR: Could not retrieve MC event");
      return;
    }
    stack = mcEvent->Stack();
    if (!stack) {
      Printf("ERROR: stack not available");
      return;
    }
    const AliVVertex* mcVert=mcEvent->GetPrimaryVertex();
    if(!mcVert){
      Printf("ERROR: generated vertex not available");
      return;
    }
    if(TMath::Abs(mcVert->GetZ())>10) return;

    //    const AliHeader* h=(AliHeader*)mcEvent->GetHeader();
    //    cout<<h<<endl;
    TString genname=mcEvent->GenEventHeader()->ClassName();
    Int_t nColl=-1;
    Int_t typeHF=-1;
    TList* lgen=0x0;
    if(genname.Contains("CocktailEventHeader")){
      AliGenCocktailEventHeader *cockhead=(AliGenCocktailEventHeader*)mcEvent->GenEventHeader();
      lgen=cockhead->GetHeaders();
      for(Int_t ig=0; ig<lgen->GetEntries(); ig++){
	AliGenerator* gen=(AliGenerator*)lgen->At(ig);
	TString title=gen->GetName();
	if(title.Contains("bchadr")) typeHF=1;
	else if(title.Contains("chadr")) typeHF=0;
	else if(title.Contains("bele")) typeHF=3;
 	else if(title.Contains("cele")) typeHF=2;
      }
      nColl=lgen->GetEntries();
      fHistNcollHFtype->Fill(typeHF,nColl);
    }else{
      TString genTitle=mcEvent->GenEventHeader()->GetTitle();
      if(genTitle.Contains("bchadr")) typeHF=1;
      else if(genTitle.Contains("chadr")) typeHF=0;
      else if(genTitle.Contains("bele")) typeHF=3;
      else if(genTitle.Contains("cele")) typeHF=2;
      fHistNcollHFtype->Fill(typeHF,1.);
    }
    Int_t nParticles=stack->GetNtrack();
    Double_t dNchdy = 0.;
    Int_t nb = 0, nc=0;
    Int_t nCharmed=0;
    Int_t nPhysPrim=0;
    for (Int_t i=0;i<nParticles;i++){
      TParticle* part = (TParticle*)stack->Particle(i);
      Int_t absPdg=TMath::Abs(part->GetPdgCode());
      Int_t pdg=part->GetPdgCode();
      if(absPdg==4) nc++;
      if(absPdg==5) nb++;
      if(stack->IsPhysicalPrimary(i)){
	Double_t eta=part->Eta();
	fHistoEtaPhysPrim->Fill(eta);
	if(absPdg==11) fHistEtaPhiPtGenEle->Fill(eta,part->Phi(),part->Pt());
	else if(absPdg==211) fHistEtaPhiPtGenPi->Fill(eta,part->Phi(),part->Pt());
	else if(absPdg==321) fHistEtaPhiPtGenK->Fill(eta,part->Phi(),part->Pt());
	else if(absPdg==2212) fHistEtaPhiPtGenPro->Fill(eta,part->Phi(),part->Pt());
	
	if(TMath::Abs(eta)<0.5){
	  dNchdy+=0.6666;   // 2/3 for the ratio charged/all
	  nPhysPrim++;
	}
	if(TMath::Abs(eta)<0.9){
	  fHistoPtPhysPrim->Fill(part->Pt());
	}
      }
      Float_t rapid=-999.;
      if (part->Energy() != TMath::Abs(part->Pz())){
	rapid=0.5*TMath::Log((part->Energy()+part->Pz())/(part->Energy()-part->Pz()));
      }

       
      Int_t iPart=-1;
      Int_t iType=0;
      Int_t iSpecies=-1;
      Int_t dummy[4];
      if(absPdg==421){
	iSpecies=0;
	iType=AliVertexingHFUtils::CheckD0Decay(stack,i,dummy); 
	if(iType>0) iPart=0;	
      }
      else if(absPdg==411){
	iSpecies=1;
	iType=AliVertexingHFUtils::CheckDplusDecay(stack,i,dummy);
	if(iType<0){
	  Int_t iTypeKKpi=AliVertexingHFUtils::CheckDplusKKpiDecay(stack,i,dummy);
	  if(iTypeKKpi>0) iType=3;
	}
	if(iType>0) iPart=1;
      }
      else if(absPdg==413){
	iSpecies=2;
	iType=AliVertexingHFUtils::CheckDstarDecay(stack,i,dummy);
	if(iType>0) iPart=2;
      }
      else if(absPdg==431){
	iSpecies=3;
	iType=AliVertexingHFUtils::CheckDsDecay(stack,i,dummy);
	if(iType==1 || iType==2) iPart=3;
      }
      else if(absPdg==4122){
	iSpecies=4;
	iType=AliVertexingHFUtils::CheckLcpKpiDecay(stack,i,dummy);
	if(iType<0){
	  Int_t iTypeV0=AliVertexingHFUtils::CheckLcV0bachelorDecay(stack,i,dummy);
	  if(iTypeV0==1) iType=5;
	  if(iTypeV0==2) iType=6;
	}
	fHistLcDecayChan->Fill(iType);
	if(iType>=0) iPart=4;
      }
      if(iSpecies>=0) fHistYPtAllDecay[iSpecies]->Fill(part->Pt(),rapid);

      // check beauty mesons
      if(absPdg==511) fHistBYPtAllDecay[0]->Fill(part->Pt(),rapid);
      else if(absPdg==521) fHistBYPtAllDecay[1]->Fill(part->Pt(),rapid);
      else if(absPdg==513) fHistBYPtAllDecay[2]->Fill(part->Pt(),rapid);
      else if(absPdg==531) fHistBYPtAllDecay[3]->Fill(part->Pt(),rapid);
      else if(absPdg==5122) fHistBYPtAllDecay[4]->Fill(part->Pt(),rapid);

      if(pdg==511) fHistBSpecies->Fill(0);
      else if(pdg==-511) fHistBSpecies->Fill(1);
      else if(pdg==521) fHistBSpecies->Fill(2);
      else if(pdg==-521) fHistBSpecies->Fill(3);
      else if(pdg==513) fHistBSpecies->Fill(4);
      else if(pdg==-513) fHistBSpecies->Fill(5);
      else if(pdg==531) fHistBSpecies->Fill(6);
      else if(pdg==-531) fHistBSpecies->Fill(7);
      else if(pdg==5122) fHistBSpecies->Fill(8);
      else if(pdg==-5122) fHistBSpecies->Fill(9);

     if(iSpecies<0) continue; // not a charm meson

      if(pdg==421) fHistDSpecies->Fill(0);
      else if(pdg==-421) fHistDSpecies->Fill(1);
      else if(pdg==411) fHistDSpecies->Fill(2);
      else if(pdg==-411) fHistDSpecies->Fill(3);
      else if(pdg==413) fHistDSpecies->Fill(4);
      else if(pdg==-413) fHistDSpecies->Fill(5);
      else if(pdg==431) fHistDSpecies->Fill(6);
      else if(pdg==-431) fHistDSpecies->Fill(7);
      else if(pdg==4122) fHistDSpecies->Fill(8);
      else if(pdg==-4122) fHistDSpecies->Fill(9);

      Double_t distx=part->Vx()-mcVert->GetX();
      Double_t disty=part->Vy()-mcVert->GetY();
      Double_t distz=part->Vz()-mcVert->GetZ();
      Double_t distToVert=TMath::Sqrt(distx*distx+disty*disty+distz*distz);
      fHistMotherID->Fill(part->GetFirstMother());
      Int_t iFromB=AliVertexingHFUtils::CheckOrigin(stack,part,fSearchUpToQuark);
      if(iFromB==4){
	fHistYPtPromptAllDecay[iSpecies]->Fill(part->Pt(),rapid);
	fHistOriginPrompt->Fill(distToVert);
      }
      else if(iFromB==5){
	fHistYPtFeeddownAllDecay[iSpecies]->Fill(part->Pt(),rapid);
	fHistOriginFeeddown->Fill(distToVert);
      }

      if(iPart<0) continue;
      if(iType<0) continue;
      nCharmed++;
      if(iPart==0 && iType>0 && iType<=2){
	fHistYPtD0byDecChannel[iType-1]->Fill(part->Pt(),rapid);
      }else if(iPart==1 && iType>0 && iType<=3){
	fHistYPtDplusbyDecChannel[iType-1]->Fill(part->Pt(),rapid);
      }else if(iPart==3 &&  iType>0 && iType<=2){
	fHistYPtDsbyDecChannel[iType-1]->Fill(part->Pt(),rapid);
      }
      
      if(iFromB==4 && iPart>=0 && iPart<5) fHistYPtPrompt[iPart]->Fill(part->Pt(),rapid);
      else if(iFromB==5 && iPart>=0 && iPart<5) fHistYPtFeeddown[iPart]->Fill(part->Pt(),rapid);      
    }

    for(Int_t i=0; i<nTracks; i++){
      AliESDtrack* track=esd->GetTrack(i);
      if(fESDtrackCuts->AcceptTrack(track)){
	Int_t label=TMath::Abs(track->GetLabel());
	if(stack->IsPhysicalPrimary(label)){
	  TParticle* part = (TParticle*)stack->Particle(label);
	  Int_t absPdg=TMath::Abs(part->GetPdgCode());
	  Double_t eta=part->Eta();
	  if(absPdg==11) fHistEtaPhiPtRecEle->Fill(eta,part->Phi(),part->Pt());
	  else if(absPdg==211) fHistEtaPhiPtRecPi->Fill(eta,part->Phi(),part->Pt());
	  else if(absPdg==321) fHistEtaPhiPtRecK->Fill(eta,part->Phi(),part->Pt());
	  else if(absPdg==2212) fHistEtaPhiPtRecPro->Fill(eta,part->Phi(),part->Pt());      
	}
      }
    }
    fHistoNcharmed->Fill(dNchdy,nCharmed);
    fHistoNbVsNc->Fill(nc,nb);
    fHistoPhysPrim->Fill(nPhysPrim);
  }

  PostData(1,fOutput);
  
}
//______________________________________________________________________________
void AliAnalysisTaskCheckHFMCProd::Terminate(Option_t */*option*/)
{
  // Terminate analysis
  fOutput = dynamic_cast<TList*> (GetOutputData(1));
  if (!fOutput) {     
    printf("ERROR: fOutput not available\n");
    return;
  }

  return;
}




//______________________________________________________________________________
Int_t AliAnalysisTaskCheckHFMCProd::CheckLcDecay(Int_t labLc, AliStack* stack) const{
  if(labLc<0) return -1;
  TParticle* dp = (TParticle*)stack->Particle(labLc);
  Int_t pdgdp=dp->GetPdgCode();
  Int_t nDau=dp->GetNDaughters();

  if(nDau==3){
    Int_t nKaons=0;
    Int_t nPions=0;
    Int_t nProtons=0;
    for(Int_t iDau=dp->GetFirstDaughter(); iDau<=dp->GetLastDaughter(); iDau++){
      if(iDau<0) return -1;
      TParticle* dau=(TParticle*)stack->Particle(iDau);
      Int_t pdgdau=dau->GetPdgCode();
      if(TMath::Abs(pdgdau)==321){
	if(pdgdp>0 && pdgdau>0) return -1;
	if(pdgdp<0 && pdgdau<0) return -1;
	nKaons++;
      }else if(TMath::Abs(pdgdau)==211){
	if(pdgdp<0 && pdgdau>0) return -1;
	if(pdgdp>0 && pdgdau<0) return -1;
	nPions++;
      }else if(TMath::Abs(pdgdau)==2212){
	if(pdgdp<0 && pdgdau>0) return -1;
	if(pdgdp>0 && pdgdau<0) return -1;
	nProtons++;
      }else{
	return -1;
      }
    }
    if(nPions!=1) return -1;
    if(nKaons!=1) return -1;
    if(nProtons!=1) return -1;
    for(Int_t iDau=dp->GetFirstDaughter(); iDau<=dp->GetLastDaughter(); iDau++){
      if(iDau<0) return -1;
    }
    return 0;
  }

  if(nDau==2){
    Int_t nKaons=0;
    Int_t nPions=0;
    Int_t nProtons=0;
    for(Int_t iDau=dp->GetFirstDaughter(); iDau<=dp->GetLastDaughter(); iDau++){
      if(iDau<0) return -1;
      TParticle* dau=(TParticle*)stack->Particle(iDau);
      Int_t pdgdau=dau->GetPdgCode();
      if(TMath::Abs(pdgdau)==313 || TMath::Abs(pdgdau)==3124 || TMath::Abs(pdgdau)==2224
	 || TMath::Abs(pdgdau)==3122 || TMath::Abs(pdgdau)==311){
	Int_t nDauRes=dau->GetNDaughters();
	if(nDauRes!=2)  return -1;
	for(Int_t resDau=dau->GetFirstDaughter(); resDau<=dau->GetLastDaughter(); resDau++){
	  if(resDau<0) return -1;
	  TParticle* resdau=(TParticle*)stack->Particle(resDau);
	  Int_t pdgresdau=resdau->GetPdgCode();
	  if(TMath::Abs(pdgresdau)==321){
	    if(pdgdp>0 && pdgresdau>0) return -1;
	    if(pdgdp<0 && pdgresdau<0) return -1;
	    nKaons++;
	  }
	  if(TMath::Abs(pdgresdau)==211){
	    if(pdgdp<0 && pdgresdau>0) return -1;
	    if(pdgdp>0 && pdgresdau<0) return -1;
	    nPions++;
	  }
	  if(TMath::Abs(pdgresdau)==2212){
	    if(pdgdp<0 && pdgresdau>0) return -1;
	    if(pdgdp>0 && pdgresdau<0) return -1;
	    nProtons++;
	  }
	}
      }else if(TMath::Abs(pdgdau)==321){
	if(pdgdp>0 && pdgdau>0) return -1;
	if(pdgdp<0 && pdgdau<0) return -1;
	nKaons++;
      }else if(TMath::Abs(pdgdau)==211){
	if(pdgdp<0 && pdgdau>0) return -1;
	if(pdgdp>0 && pdgdau<0) return -1;
	nPions++;
      }else if(TMath::Abs(pdgdau)==2212){
	if(pdgdp<0 && pdgdau>0) return -1;
	if(pdgdp>0 && pdgdau<0) return -1;
	nProtons++;
      }else{
	return -1;
      }
    }
    if(nPions!=1) return -1;
    if(nKaons!=1) return -1;
    if(nProtons!=1) return -1;
    for(Int_t iDau=dp->GetFirstDaughter(); iDau<=dp->GetLastDaughter(); iDau++){
      if(iDau<0) return -1;
    }
    return 1;
  } 
  return -1;
}

 AliAnalysisTaskCheckHFMCProd.cxx:1
 AliAnalysisTaskCheckHFMCProd.cxx:2
 AliAnalysisTaskCheckHFMCProd.cxx:3
 AliAnalysisTaskCheckHFMCProd.cxx:4
 AliAnalysisTaskCheckHFMCProd.cxx:5
 AliAnalysisTaskCheckHFMCProd.cxx:6
 AliAnalysisTaskCheckHFMCProd.cxx:7
 AliAnalysisTaskCheckHFMCProd.cxx:8
 AliAnalysisTaskCheckHFMCProd.cxx:9
 AliAnalysisTaskCheckHFMCProd.cxx:10
 AliAnalysisTaskCheckHFMCProd.cxx:11
 AliAnalysisTaskCheckHFMCProd.cxx:12
 AliAnalysisTaskCheckHFMCProd.cxx:13
 AliAnalysisTaskCheckHFMCProd.cxx:14
 AliAnalysisTaskCheckHFMCProd.cxx:15
 AliAnalysisTaskCheckHFMCProd.cxx:16
 AliAnalysisTaskCheckHFMCProd.cxx:17
 AliAnalysisTaskCheckHFMCProd.cxx:18
 AliAnalysisTaskCheckHFMCProd.cxx:19
 AliAnalysisTaskCheckHFMCProd.cxx:20
 AliAnalysisTaskCheckHFMCProd.cxx:21
 AliAnalysisTaskCheckHFMCProd.cxx:22
 AliAnalysisTaskCheckHFMCProd.cxx:23
 AliAnalysisTaskCheckHFMCProd.cxx:24
 AliAnalysisTaskCheckHFMCProd.cxx:25
 AliAnalysisTaskCheckHFMCProd.cxx:26
 AliAnalysisTaskCheckHFMCProd.cxx:27
 AliAnalysisTaskCheckHFMCProd.cxx:28
 AliAnalysisTaskCheckHFMCProd.cxx:29
 AliAnalysisTaskCheckHFMCProd.cxx:30
 AliAnalysisTaskCheckHFMCProd.cxx:31
 AliAnalysisTaskCheckHFMCProd.cxx:32
 AliAnalysisTaskCheckHFMCProd.cxx:33
 AliAnalysisTaskCheckHFMCProd.cxx:34
 AliAnalysisTaskCheckHFMCProd.cxx:35
 AliAnalysisTaskCheckHFMCProd.cxx:36
 AliAnalysisTaskCheckHFMCProd.cxx:37
 AliAnalysisTaskCheckHFMCProd.cxx:38
 AliAnalysisTaskCheckHFMCProd.cxx:39
 AliAnalysisTaskCheckHFMCProd.cxx:40
 AliAnalysisTaskCheckHFMCProd.cxx:41
 AliAnalysisTaskCheckHFMCProd.cxx:42
 AliAnalysisTaskCheckHFMCProd.cxx:43
 AliAnalysisTaskCheckHFMCProd.cxx:44
 AliAnalysisTaskCheckHFMCProd.cxx:45
 AliAnalysisTaskCheckHFMCProd.cxx:46
 AliAnalysisTaskCheckHFMCProd.cxx:47
 AliAnalysisTaskCheckHFMCProd.cxx:48
 AliAnalysisTaskCheckHFMCProd.cxx:49
 AliAnalysisTaskCheckHFMCProd.cxx:50
 AliAnalysisTaskCheckHFMCProd.cxx:51
 AliAnalysisTaskCheckHFMCProd.cxx:52
 AliAnalysisTaskCheckHFMCProd.cxx:53
 AliAnalysisTaskCheckHFMCProd.cxx:54
 AliAnalysisTaskCheckHFMCProd.cxx:55
 AliAnalysisTaskCheckHFMCProd.cxx:56
 AliAnalysisTaskCheckHFMCProd.cxx:57
 AliAnalysisTaskCheckHFMCProd.cxx:58
 AliAnalysisTaskCheckHFMCProd.cxx:59
 AliAnalysisTaskCheckHFMCProd.cxx:60
 AliAnalysisTaskCheckHFMCProd.cxx:61
 AliAnalysisTaskCheckHFMCProd.cxx:62
 AliAnalysisTaskCheckHFMCProd.cxx:63
 AliAnalysisTaskCheckHFMCProd.cxx:64
 AliAnalysisTaskCheckHFMCProd.cxx:65
 AliAnalysisTaskCheckHFMCProd.cxx:66
 AliAnalysisTaskCheckHFMCProd.cxx:67
 AliAnalysisTaskCheckHFMCProd.cxx:68
 AliAnalysisTaskCheckHFMCProd.cxx:69
 AliAnalysisTaskCheckHFMCProd.cxx:70
 AliAnalysisTaskCheckHFMCProd.cxx:71
 AliAnalysisTaskCheckHFMCProd.cxx:72
 AliAnalysisTaskCheckHFMCProd.cxx:73
 AliAnalysisTaskCheckHFMCProd.cxx:74
 AliAnalysisTaskCheckHFMCProd.cxx:75
 AliAnalysisTaskCheckHFMCProd.cxx:76
 AliAnalysisTaskCheckHFMCProd.cxx:77
 AliAnalysisTaskCheckHFMCProd.cxx:78
 AliAnalysisTaskCheckHFMCProd.cxx:79
 AliAnalysisTaskCheckHFMCProd.cxx:80
 AliAnalysisTaskCheckHFMCProd.cxx:81
 AliAnalysisTaskCheckHFMCProd.cxx:82
 AliAnalysisTaskCheckHFMCProd.cxx:83
 AliAnalysisTaskCheckHFMCProd.cxx:84
 AliAnalysisTaskCheckHFMCProd.cxx:85
 AliAnalysisTaskCheckHFMCProd.cxx:86
 AliAnalysisTaskCheckHFMCProd.cxx:87
 AliAnalysisTaskCheckHFMCProd.cxx:88
 AliAnalysisTaskCheckHFMCProd.cxx:89
 AliAnalysisTaskCheckHFMCProd.cxx:90
 AliAnalysisTaskCheckHFMCProd.cxx:91
 AliAnalysisTaskCheckHFMCProd.cxx:92
 AliAnalysisTaskCheckHFMCProd.cxx:93
 AliAnalysisTaskCheckHFMCProd.cxx:94
 AliAnalysisTaskCheckHFMCProd.cxx:95
 AliAnalysisTaskCheckHFMCProd.cxx:96
 AliAnalysisTaskCheckHFMCProd.cxx:97
 AliAnalysisTaskCheckHFMCProd.cxx:98
 AliAnalysisTaskCheckHFMCProd.cxx:99
 AliAnalysisTaskCheckHFMCProd.cxx:100
 AliAnalysisTaskCheckHFMCProd.cxx:101
 AliAnalysisTaskCheckHFMCProd.cxx:102
 AliAnalysisTaskCheckHFMCProd.cxx:103
 AliAnalysisTaskCheckHFMCProd.cxx:104
 AliAnalysisTaskCheckHFMCProd.cxx:105
 AliAnalysisTaskCheckHFMCProd.cxx:106
 AliAnalysisTaskCheckHFMCProd.cxx:107
 AliAnalysisTaskCheckHFMCProd.cxx:108
 AliAnalysisTaskCheckHFMCProd.cxx:109
 AliAnalysisTaskCheckHFMCProd.cxx:110
 AliAnalysisTaskCheckHFMCProd.cxx:111
 AliAnalysisTaskCheckHFMCProd.cxx:112
 AliAnalysisTaskCheckHFMCProd.cxx:113
 AliAnalysisTaskCheckHFMCProd.cxx:114
 AliAnalysisTaskCheckHFMCProd.cxx:115
 AliAnalysisTaskCheckHFMCProd.cxx:116
 AliAnalysisTaskCheckHFMCProd.cxx:117
 AliAnalysisTaskCheckHFMCProd.cxx:118
 AliAnalysisTaskCheckHFMCProd.cxx:119
 AliAnalysisTaskCheckHFMCProd.cxx:120
 AliAnalysisTaskCheckHFMCProd.cxx:121
 AliAnalysisTaskCheckHFMCProd.cxx:122
 AliAnalysisTaskCheckHFMCProd.cxx:123
 AliAnalysisTaskCheckHFMCProd.cxx:124
 AliAnalysisTaskCheckHFMCProd.cxx:125
 AliAnalysisTaskCheckHFMCProd.cxx:126
 AliAnalysisTaskCheckHFMCProd.cxx:127
 AliAnalysisTaskCheckHFMCProd.cxx:128
 AliAnalysisTaskCheckHFMCProd.cxx:129
 AliAnalysisTaskCheckHFMCProd.cxx:130
 AliAnalysisTaskCheckHFMCProd.cxx:131
 AliAnalysisTaskCheckHFMCProd.cxx:132
 AliAnalysisTaskCheckHFMCProd.cxx:133
 AliAnalysisTaskCheckHFMCProd.cxx:134
 AliAnalysisTaskCheckHFMCProd.cxx:135
 AliAnalysisTaskCheckHFMCProd.cxx:136
 AliAnalysisTaskCheckHFMCProd.cxx:137
 AliAnalysisTaskCheckHFMCProd.cxx:138
 AliAnalysisTaskCheckHFMCProd.cxx:139
 AliAnalysisTaskCheckHFMCProd.cxx:140
 AliAnalysisTaskCheckHFMCProd.cxx:141
 AliAnalysisTaskCheckHFMCProd.cxx:142
 AliAnalysisTaskCheckHFMCProd.cxx:143
 AliAnalysisTaskCheckHFMCProd.cxx:144
 AliAnalysisTaskCheckHFMCProd.cxx:145
 AliAnalysisTaskCheckHFMCProd.cxx:146
 AliAnalysisTaskCheckHFMCProd.cxx:147
 AliAnalysisTaskCheckHFMCProd.cxx:148
 AliAnalysisTaskCheckHFMCProd.cxx:149
 AliAnalysisTaskCheckHFMCProd.cxx:150
 AliAnalysisTaskCheckHFMCProd.cxx:151
 AliAnalysisTaskCheckHFMCProd.cxx:152
 AliAnalysisTaskCheckHFMCProd.cxx:153
 AliAnalysisTaskCheckHFMCProd.cxx:154
 AliAnalysisTaskCheckHFMCProd.cxx:155
 AliAnalysisTaskCheckHFMCProd.cxx:156
 AliAnalysisTaskCheckHFMCProd.cxx:157
 AliAnalysisTaskCheckHFMCProd.cxx:158
 AliAnalysisTaskCheckHFMCProd.cxx:159
 AliAnalysisTaskCheckHFMCProd.cxx:160
 AliAnalysisTaskCheckHFMCProd.cxx:161
 AliAnalysisTaskCheckHFMCProd.cxx:162
 AliAnalysisTaskCheckHFMCProd.cxx:163
 AliAnalysisTaskCheckHFMCProd.cxx:164
 AliAnalysisTaskCheckHFMCProd.cxx:165
 AliAnalysisTaskCheckHFMCProd.cxx:166
 AliAnalysisTaskCheckHFMCProd.cxx:167
 AliAnalysisTaskCheckHFMCProd.cxx:168
 AliAnalysisTaskCheckHFMCProd.cxx:169
 AliAnalysisTaskCheckHFMCProd.cxx:170
 AliAnalysisTaskCheckHFMCProd.cxx:171
 AliAnalysisTaskCheckHFMCProd.cxx:172
 AliAnalysisTaskCheckHFMCProd.cxx:173
 AliAnalysisTaskCheckHFMCProd.cxx:174
 AliAnalysisTaskCheckHFMCProd.cxx:175
 AliAnalysisTaskCheckHFMCProd.cxx:176
 AliAnalysisTaskCheckHFMCProd.cxx:177
 AliAnalysisTaskCheckHFMCProd.cxx:178
 AliAnalysisTaskCheckHFMCProd.cxx:179
 AliAnalysisTaskCheckHFMCProd.cxx:180
 AliAnalysisTaskCheckHFMCProd.cxx:181
 AliAnalysisTaskCheckHFMCProd.cxx:182
 AliAnalysisTaskCheckHFMCProd.cxx:183
 AliAnalysisTaskCheckHFMCProd.cxx:184
 AliAnalysisTaskCheckHFMCProd.cxx:185
 AliAnalysisTaskCheckHFMCProd.cxx:186
 AliAnalysisTaskCheckHFMCProd.cxx:187
 AliAnalysisTaskCheckHFMCProd.cxx:188
 AliAnalysisTaskCheckHFMCProd.cxx:189
 AliAnalysisTaskCheckHFMCProd.cxx:190
 AliAnalysisTaskCheckHFMCProd.cxx:191
 AliAnalysisTaskCheckHFMCProd.cxx:192
 AliAnalysisTaskCheckHFMCProd.cxx:193
 AliAnalysisTaskCheckHFMCProd.cxx:194
 AliAnalysisTaskCheckHFMCProd.cxx:195
 AliAnalysisTaskCheckHFMCProd.cxx:196
 AliAnalysisTaskCheckHFMCProd.cxx:197
 AliAnalysisTaskCheckHFMCProd.cxx:198
 AliAnalysisTaskCheckHFMCProd.cxx:199
 AliAnalysisTaskCheckHFMCProd.cxx:200
 AliAnalysisTaskCheckHFMCProd.cxx:201
 AliAnalysisTaskCheckHFMCProd.cxx:202
 AliAnalysisTaskCheckHFMCProd.cxx:203
 AliAnalysisTaskCheckHFMCProd.cxx:204
 AliAnalysisTaskCheckHFMCProd.cxx:205
 AliAnalysisTaskCheckHFMCProd.cxx:206
 AliAnalysisTaskCheckHFMCProd.cxx:207
 AliAnalysisTaskCheckHFMCProd.cxx:208
 AliAnalysisTaskCheckHFMCProd.cxx:209
 AliAnalysisTaskCheckHFMCProd.cxx:210
 AliAnalysisTaskCheckHFMCProd.cxx:211
 AliAnalysisTaskCheckHFMCProd.cxx:212
 AliAnalysisTaskCheckHFMCProd.cxx:213
 AliAnalysisTaskCheckHFMCProd.cxx:214
 AliAnalysisTaskCheckHFMCProd.cxx:215
 AliAnalysisTaskCheckHFMCProd.cxx:216
 AliAnalysisTaskCheckHFMCProd.cxx:217
 AliAnalysisTaskCheckHFMCProd.cxx:218
 AliAnalysisTaskCheckHFMCProd.cxx:219
 AliAnalysisTaskCheckHFMCProd.cxx:220
 AliAnalysisTaskCheckHFMCProd.cxx:221
 AliAnalysisTaskCheckHFMCProd.cxx:222
 AliAnalysisTaskCheckHFMCProd.cxx:223
 AliAnalysisTaskCheckHFMCProd.cxx:224
 AliAnalysisTaskCheckHFMCProd.cxx:225
 AliAnalysisTaskCheckHFMCProd.cxx:226
 AliAnalysisTaskCheckHFMCProd.cxx:227
 AliAnalysisTaskCheckHFMCProd.cxx:228
 AliAnalysisTaskCheckHFMCProd.cxx:229
 AliAnalysisTaskCheckHFMCProd.cxx:230
 AliAnalysisTaskCheckHFMCProd.cxx:231
 AliAnalysisTaskCheckHFMCProd.cxx:232
 AliAnalysisTaskCheckHFMCProd.cxx:233
 AliAnalysisTaskCheckHFMCProd.cxx:234
 AliAnalysisTaskCheckHFMCProd.cxx:235
 AliAnalysisTaskCheckHFMCProd.cxx:236
 AliAnalysisTaskCheckHFMCProd.cxx:237
 AliAnalysisTaskCheckHFMCProd.cxx:238
 AliAnalysisTaskCheckHFMCProd.cxx:239
 AliAnalysisTaskCheckHFMCProd.cxx:240
 AliAnalysisTaskCheckHFMCProd.cxx:241
 AliAnalysisTaskCheckHFMCProd.cxx:242
 AliAnalysisTaskCheckHFMCProd.cxx:243
 AliAnalysisTaskCheckHFMCProd.cxx:244
 AliAnalysisTaskCheckHFMCProd.cxx:245
 AliAnalysisTaskCheckHFMCProd.cxx:246
 AliAnalysisTaskCheckHFMCProd.cxx:247
 AliAnalysisTaskCheckHFMCProd.cxx:248
 AliAnalysisTaskCheckHFMCProd.cxx:249
 AliAnalysisTaskCheckHFMCProd.cxx:250
 AliAnalysisTaskCheckHFMCProd.cxx:251
 AliAnalysisTaskCheckHFMCProd.cxx:252
 AliAnalysisTaskCheckHFMCProd.cxx:253
 AliAnalysisTaskCheckHFMCProd.cxx:254
 AliAnalysisTaskCheckHFMCProd.cxx:255
 AliAnalysisTaskCheckHFMCProd.cxx:256
 AliAnalysisTaskCheckHFMCProd.cxx:257
 AliAnalysisTaskCheckHFMCProd.cxx:258
 AliAnalysisTaskCheckHFMCProd.cxx:259
 AliAnalysisTaskCheckHFMCProd.cxx:260
 AliAnalysisTaskCheckHFMCProd.cxx:261
 AliAnalysisTaskCheckHFMCProd.cxx:262
 AliAnalysisTaskCheckHFMCProd.cxx:263
 AliAnalysisTaskCheckHFMCProd.cxx:264
 AliAnalysisTaskCheckHFMCProd.cxx:265
 AliAnalysisTaskCheckHFMCProd.cxx:266
 AliAnalysisTaskCheckHFMCProd.cxx:267
 AliAnalysisTaskCheckHFMCProd.cxx:268
 AliAnalysisTaskCheckHFMCProd.cxx:269
 AliAnalysisTaskCheckHFMCProd.cxx:270
 AliAnalysisTaskCheckHFMCProd.cxx:271
 AliAnalysisTaskCheckHFMCProd.cxx:272
 AliAnalysisTaskCheckHFMCProd.cxx:273
 AliAnalysisTaskCheckHFMCProd.cxx:274
 AliAnalysisTaskCheckHFMCProd.cxx:275
 AliAnalysisTaskCheckHFMCProd.cxx:276
 AliAnalysisTaskCheckHFMCProd.cxx:277
 AliAnalysisTaskCheckHFMCProd.cxx:278
 AliAnalysisTaskCheckHFMCProd.cxx:279
 AliAnalysisTaskCheckHFMCProd.cxx:280
 AliAnalysisTaskCheckHFMCProd.cxx:281
 AliAnalysisTaskCheckHFMCProd.cxx:282
 AliAnalysisTaskCheckHFMCProd.cxx:283
 AliAnalysisTaskCheckHFMCProd.cxx:284
 AliAnalysisTaskCheckHFMCProd.cxx:285
 AliAnalysisTaskCheckHFMCProd.cxx:286
 AliAnalysisTaskCheckHFMCProd.cxx:287
 AliAnalysisTaskCheckHFMCProd.cxx:288
 AliAnalysisTaskCheckHFMCProd.cxx:289
 AliAnalysisTaskCheckHFMCProd.cxx:290
 AliAnalysisTaskCheckHFMCProd.cxx:291
 AliAnalysisTaskCheckHFMCProd.cxx:292
 AliAnalysisTaskCheckHFMCProd.cxx:293
 AliAnalysisTaskCheckHFMCProd.cxx:294
 AliAnalysisTaskCheckHFMCProd.cxx:295
 AliAnalysisTaskCheckHFMCProd.cxx:296
 AliAnalysisTaskCheckHFMCProd.cxx:297
 AliAnalysisTaskCheckHFMCProd.cxx:298
 AliAnalysisTaskCheckHFMCProd.cxx:299
 AliAnalysisTaskCheckHFMCProd.cxx:300
 AliAnalysisTaskCheckHFMCProd.cxx:301
 AliAnalysisTaskCheckHFMCProd.cxx:302
 AliAnalysisTaskCheckHFMCProd.cxx:303
 AliAnalysisTaskCheckHFMCProd.cxx:304
 AliAnalysisTaskCheckHFMCProd.cxx:305
 AliAnalysisTaskCheckHFMCProd.cxx:306
 AliAnalysisTaskCheckHFMCProd.cxx:307
 AliAnalysisTaskCheckHFMCProd.cxx:308
 AliAnalysisTaskCheckHFMCProd.cxx:309
 AliAnalysisTaskCheckHFMCProd.cxx:310
 AliAnalysisTaskCheckHFMCProd.cxx:311
 AliAnalysisTaskCheckHFMCProd.cxx:312
 AliAnalysisTaskCheckHFMCProd.cxx:313
 AliAnalysisTaskCheckHFMCProd.cxx:314
 AliAnalysisTaskCheckHFMCProd.cxx:315
 AliAnalysisTaskCheckHFMCProd.cxx:316
 AliAnalysisTaskCheckHFMCProd.cxx:317
 AliAnalysisTaskCheckHFMCProd.cxx:318
 AliAnalysisTaskCheckHFMCProd.cxx:319
 AliAnalysisTaskCheckHFMCProd.cxx:320
 AliAnalysisTaskCheckHFMCProd.cxx:321
 AliAnalysisTaskCheckHFMCProd.cxx:322
 AliAnalysisTaskCheckHFMCProd.cxx:323
 AliAnalysisTaskCheckHFMCProd.cxx:324
 AliAnalysisTaskCheckHFMCProd.cxx:325
 AliAnalysisTaskCheckHFMCProd.cxx:326
 AliAnalysisTaskCheckHFMCProd.cxx:327
 AliAnalysisTaskCheckHFMCProd.cxx:328
 AliAnalysisTaskCheckHFMCProd.cxx:329
 AliAnalysisTaskCheckHFMCProd.cxx:330
 AliAnalysisTaskCheckHFMCProd.cxx:331
 AliAnalysisTaskCheckHFMCProd.cxx:332
 AliAnalysisTaskCheckHFMCProd.cxx:333
 AliAnalysisTaskCheckHFMCProd.cxx:334
 AliAnalysisTaskCheckHFMCProd.cxx:335
 AliAnalysisTaskCheckHFMCProd.cxx:336
 AliAnalysisTaskCheckHFMCProd.cxx:337
 AliAnalysisTaskCheckHFMCProd.cxx:338
 AliAnalysisTaskCheckHFMCProd.cxx:339
 AliAnalysisTaskCheckHFMCProd.cxx:340
 AliAnalysisTaskCheckHFMCProd.cxx:341
 AliAnalysisTaskCheckHFMCProd.cxx:342
 AliAnalysisTaskCheckHFMCProd.cxx:343
 AliAnalysisTaskCheckHFMCProd.cxx:344
 AliAnalysisTaskCheckHFMCProd.cxx:345
 AliAnalysisTaskCheckHFMCProd.cxx:346
 AliAnalysisTaskCheckHFMCProd.cxx:347
 AliAnalysisTaskCheckHFMCProd.cxx:348
 AliAnalysisTaskCheckHFMCProd.cxx:349
 AliAnalysisTaskCheckHFMCProd.cxx:350
 AliAnalysisTaskCheckHFMCProd.cxx:351
 AliAnalysisTaskCheckHFMCProd.cxx:352
 AliAnalysisTaskCheckHFMCProd.cxx:353
 AliAnalysisTaskCheckHFMCProd.cxx:354
 AliAnalysisTaskCheckHFMCProd.cxx:355
 AliAnalysisTaskCheckHFMCProd.cxx:356
 AliAnalysisTaskCheckHFMCProd.cxx:357
 AliAnalysisTaskCheckHFMCProd.cxx:358
 AliAnalysisTaskCheckHFMCProd.cxx:359
 AliAnalysisTaskCheckHFMCProd.cxx:360
 AliAnalysisTaskCheckHFMCProd.cxx:361
 AliAnalysisTaskCheckHFMCProd.cxx:362
 AliAnalysisTaskCheckHFMCProd.cxx:363
 AliAnalysisTaskCheckHFMCProd.cxx:364
 AliAnalysisTaskCheckHFMCProd.cxx:365
 AliAnalysisTaskCheckHFMCProd.cxx:366
 AliAnalysisTaskCheckHFMCProd.cxx:367
 AliAnalysisTaskCheckHFMCProd.cxx:368
 AliAnalysisTaskCheckHFMCProd.cxx:369
 AliAnalysisTaskCheckHFMCProd.cxx:370
 AliAnalysisTaskCheckHFMCProd.cxx:371
 AliAnalysisTaskCheckHFMCProd.cxx:372
 AliAnalysisTaskCheckHFMCProd.cxx:373
 AliAnalysisTaskCheckHFMCProd.cxx:374
 AliAnalysisTaskCheckHFMCProd.cxx:375
 AliAnalysisTaskCheckHFMCProd.cxx:376
 AliAnalysisTaskCheckHFMCProd.cxx:377
 AliAnalysisTaskCheckHFMCProd.cxx:378
 AliAnalysisTaskCheckHFMCProd.cxx:379
 AliAnalysisTaskCheckHFMCProd.cxx:380
 AliAnalysisTaskCheckHFMCProd.cxx:381
 AliAnalysisTaskCheckHFMCProd.cxx:382
 AliAnalysisTaskCheckHFMCProd.cxx:383
 AliAnalysisTaskCheckHFMCProd.cxx:384
 AliAnalysisTaskCheckHFMCProd.cxx:385
 AliAnalysisTaskCheckHFMCProd.cxx:386
 AliAnalysisTaskCheckHFMCProd.cxx:387
 AliAnalysisTaskCheckHFMCProd.cxx:388
 AliAnalysisTaskCheckHFMCProd.cxx:389
 AliAnalysisTaskCheckHFMCProd.cxx:390
 AliAnalysisTaskCheckHFMCProd.cxx:391
 AliAnalysisTaskCheckHFMCProd.cxx:392
 AliAnalysisTaskCheckHFMCProd.cxx:393
 AliAnalysisTaskCheckHFMCProd.cxx:394
 AliAnalysisTaskCheckHFMCProd.cxx:395
 AliAnalysisTaskCheckHFMCProd.cxx:396
 AliAnalysisTaskCheckHFMCProd.cxx:397
 AliAnalysisTaskCheckHFMCProd.cxx:398
 AliAnalysisTaskCheckHFMCProd.cxx:399
 AliAnalysisTaskCheckHFMCProd.cxx:400
 AliAnalysisTaskCheckHFMCProd.cxx:401
 AliAnalysisTaskCheckHFMCProd.cxx:402
 AliAnalysisTaskCheckHFMCProd.cxx:403
 AliAnalysisTaskCheckHFMCProd.cxx:404
 AliAnalysisTaskCheckHFMCProd.cxx:405
 AliAnalysisTaskCheckHFMCProd.cxx:406
 AliAnalysisTaskCheckHFMCProd.cxx:407
 AliAnalysisTaskCheckHFMCProd.cxx:408
 AliAnalysisTaskCheckHFMCProd.cxx:409
 AliAnalysisTaskCheckHFMCProd.cxx:410
 AliAnalysisTaskCheckHFMCProd.cxx:411
 AliAnalysisTaskCheckHFMCProd.cxx:412
 AliAnalysisTaskCheckHFMCProd.cxx:413
 AliAnalysisTaskCheckHFMCProd.cxx:414
 AliAnalysisTaskCheckHFMCProd.cxx:415
 AliAnalysisTaskCheckHFMCProd.cxx:416
 AliAnalysisTaskCheckHFMCProd.cxx:417
 AliAnalysisTaskCheckHFMCProd.cxx:418
 AliAnalysisTaskCheckHFMCProd.cxx:419
 AliAnalysisTaskCheckHFMCProd.cxx:420
 AliAnalysisTaskCheckHFMCProd.cxx:421
 AliAnalysisTaskCheckHFMCProd.cxx:422
 AliAnalysisTaskCheckHFMCProd.cxx:423
 AliAnalysisTaskCheckHFMCProd.cxx:424
 AliAnalysisTaskCheckHFMCProd.cxx:425
 AliAnalysisTaskCheckHFMCProd.cxx:426
 AliAnalysisTaskCheckHFMCProd.cxx:427
 AliAnalysisTaskCheckHFMCProd.cxx:428
 AliAnalysisTaskCheckHFMCProd.cxx:429
 AliAnalysisTaskCheckHFMCProd.cxx:430
 AliAnalysisTaskCheckHFMCProd.cxx:431
 AliAnalysisTaskCheckHFMCProd.cxx:432
 AliAnalysisTaskCheckHFMCProd.cxx:433
 AliAnalysisTaskCheckHFMCProd.cxx:434
 AliAnalysisTaskCheckHFMCProd.cxx:435
 AliAnalysisTaskCheckHFMCProd.cxx:436
 AliAnalysisTaskCheckHFMCProd.cxx:437
 AliAnalysisTaskCheckHFMCProd.cxx:438
 AliAnalysisTaskCheckHFMCProd.cxx:439
 AliAnalysisTaskCheckHFMCProd.cxx:440
 AliAnalysisTaskCheckHFMCProd.cxx:441
 AliAnalysisTaskCheckHFMCProd.cxx:442
 AliAnalysisTaskCheckHFMCProd.cxx:443
 AliAnalysisTaskCheckHFMCProd.cxx:444
 AliAnalysisTaskCheckHFMCProd.cxx:445
 AliAnalysisTaskCheckHFMCProd.cxx:446
 AliAnalysisTaskCheckHFMCProd.cxx:447
 AliAnalysisTaskCheckHFMCProd.cxx:448
 AliAnalysisTaskCheckHFMCProd.cxx:449
 AliAnalysisTaskCheckHFMCProd.cxx:450
 AliAnalysisTaskCheckHFMCProd.cxx:451
 AliAnalysisTaskCheckHFMCProd.cxx:452
 AliAnalysisTaskCheckHFMCProd.cxx:453
 AliAnalysisTaskCheckHFMCProd.cxx:454
 AliAnalysisTaskCheckHFMCProd.cxx:455
 AliAnalysisTaskCheckHFMCProd.cxx:456
 AliAnalysisTaskCheckHFMCProd.cxx:457
 AliAnalysisTaskCheckHFMCProd.cxx:458
 AliAnalysisTaskCheckHFMCProd.cxx:459
 AliAnalysisTaskCheckHFMCProd.cxx:460
 AliAnalysisTaskCheckHFMCProd.cxx:461
 AliAnalysisTaskCheckHFMCProd.cxx:462
 AliAnalysisTaskCheckHFMCProd.cxx:463
 AliAnalysisTaskCheckHFMCProd.cxx:464
 AliAnalysisTaskCheckHFMCProd.cxx:465
 AliAnalysisTaskCheckHFMCProd.cxx:466
 AliAnalysisTaskCheckHFMCProd.cxx:467
 AliAnalysisTaskCheckHFMCProd.cxx:468
 AliAnalysisTaskCheckHFMCProd.cxx:469
 AliAnalysisTaskCheckHFMCProd.cxx:470
 AliAnalysisTaskCheckHFMCProd.cxx:471
 AliAnalysisTaskCheckHFMCProd.cxx:472
 AliAnalysisTaskCheckHFMCProd.cxx:473
 AliAnalysisTaskCheckHFMCProd.cxx:474
 AliAnalysisTaskCheckHFMCProd.cxx:475
 AliAnalysisTaskCheckHFMCProd.cxx:476
 AliAnalysisTaskCheckHFMCProd.cxx:477
 AliAnalysisTaskCheckHFMCProd.cxx:478
 AliAnalysisTaskCheckHFMCProd.cxx:479
 AliAnalysisTaskCheckHFMCProd.cxx:480
 AliAnalysisTaskCheckHFMCProd.cxx:481
 AliAnalysisTaskCheckHFMCProd.cxx:482
 AliAnalysisTaskCheckHFMCProd.cxx:483
 AliAnalysisTaskCheckHFMCProd.cxx:484
 AliAnalysisTaskCheckHFMCProd.cxx:485
 AliAnalysisTaskCheckHFMCProd.cxx:486
 AliAnalysisTaskCheckHFMCProd.cxx:487
 AliAnalysisTaskCheckHFMCProd.cxx:488
 AliAnalysisTaskCheckHFMCProd.cxx:489
 AliAnalysisTaskCheckHFMCProd.cxx:490
 AliAnalysisTaskCheckHFMCProd.cxx:491
 AliAnalysisTaskCheckHFMCProd.cxx:492
 AliAnalysisTaskCheckHFMCProd.cxx:493
 AliAnalysisTaskCheckHFMCProd.cxx:494
 AliAnalysisTaskCheckHFMCProd.cxx:495
 AliAnalysisTaskCheckHFMCProd.cxx:496
 AliAnalysisTaskCheckHFMCProd.cxx:497
 AliAnalysisTaskCheckHFMCProd.cxx:498
 AliAnalysisTaskCheckHFMCProd.cxx:499
 AliAnalysisTaskCheckHFMCProd.cxx:500
 AliAnalysisTaskCheckHFMCProd.cxx:501
 AliAnalysisTaskCheckHFMCProd.cxx:502
 AliAnalysisTaskCheckHFMCProd.cxx:503
 AliAnalysisTaskCheckHFMCProd.cxx:504
 AliAnalysisTaskCheckHFMCProd.cxx:505
 AliAnalysisTaskCheckHFMCProd.cxx:506
 AliAnalysisTaskCheckHFMCProd.cxx:507
 AliAnalysisTaskCheckHFMCProd.cxx:508
 AliAnalysisTaskCheckHFMCProd.cxx:509
 AliAnalysisTaskCheckHFMCProd.cxx:510
 AliAnalysisTaskCheckHFMCProd.cxx:511
 AliAnalysisTaskCheckHFMCProd.cxx:512
 AliAnalysisTaskCheckHFMCProd.cxx:513
 AliAnalysisTaskCheckHFMCProd.cxx:514
 AliAnalysisTaskCheckHFMCProd.cxx:515
 AliAnalysisTaskCheckHFMCProd.cxx:516
 AliAnalysisTaskCheckHFMCProd.cxx:517
 AliAnalysisTaskCheckHFMCProd.cxx:518
 AliAnalysisTaskCheckHFMCProd.cxx:519
 AliAnalysisTaskCheckHFMCProd.cxx:520
 AliAnalysisTaskCheckHFMCProd.cxx:521
 AliAnalysisTaskCheckHFMCProd.cxx:522
 AliAnalysisTaskCheckHFMCProd.cxx:523
 AliAnalysisTaskCheckHFMCProd.cxx:524
 AliAnalysisTaskCheckHFMCProd.cxx:525
 AliAnalysisTaskCheckHFMCProd.cxx:526
 AliAnalysisTaskCheckHFMCProd.cxx:527
 AliAnalysisTaskCheckHFMCProd.cxx:528
 AliAnalysisTaskCheckHFMCProd.cxx:529
 AliAnalysisTaskCheckHFMCProd.cxx:530
 AliAnalysisTaskCheckHFMCProd.cxx:531
 AliAnalysisTaskCheckHFMCProd.cxx:532
 AliAnalysisTaskCheckHFMCProd.cxx:533
 AliAnalysisTaskCheckHFMCProd.cxx:534
 AliAnalysisTaskCheckHFMCProd.cxx:535
 AliAnalysisTaskCheckHFMCProd.cxx:536
 AliAnalysisTaskCheckHFMCProd.cxx:537
 AliAnalysisTaskCheckHFMCProd.cxx:538
 AliAnalysisTaskCheckHFMCProd.cxx:539
 AliAnalysisTaskCheckHFMCProd.cxx:540
 AliAnalysisTaskCheckHFMCProd.cxx:541
 AliAnalysisTaskCheckHFMCProd.cxx:542
 AliAnalysisTaskCheckHFMCProd.cxx:543
 AliAnalysisTaskCheckHFMCProd.cxx:544
 AliAnalysisTaskCheckHFMCProd.cxx:545
 AliAnalysisTaskCheckHFMCProd.cxx:546
 AliAnalysisTaskCheckHFMCProd.cxx:547
 AliAnalysisTaskCheckHFMCProd.cxx:548
 AliAnalysisTaskCheckHFMCProd.cxx:549
 AliAnalysisTaskCheckHFMCProd.cxx:550
 AliAnalysisTaskCheckHFMCProd.cxx:551
 AliAnalysisTaskCheckHFMCProd.cxx:552
 AliAnalysisTaskCheckHFMCProd.cxx:553
 AliAnalysisTaskCheckHFMCProd.cxx:554
 AliAnalysisTaskCheckHFMCProd.cxx:555
 AliAnalysisTaskCheckHFMCProd.cxx:556
 AliAnalysisTaskCheckHFMCProd.cxx:557
 AliAnalysisTaskCheckHFMCProd.cxx:558
 AliAnalysisTaskCheckHFMCProd.cxx:559
 AliAnalysisTaskCheckHFMCProd.cxx:560
 AliAnalysisTaskCheckHFMCProd.cxx:561
 AliAnalysisTaskCheckHFMCProd.cxx:562
 AliAnalysisTaskCheckHFMCProd.cxx:563
 AliAnalysisTaskCheckHFMCProd.cxx:564
 AliAnalysisTaskCheckHFMCProd.cxx:565
 AliAnalysisTaskCheckHFMCProd.cxx:566
 AliAnalysisTaskCheckHFMCProd.cxx:567
 AliAnalysisTaskCheckHFMCProd.cxx:568
 AliAnalysisTaskCheckHFMCProd.cxx:569
 AliAnalysisTaskCheckHFMCProd.cxx:570
 AliAnalysisTaskCheckHFMCProd.cxx:571
 AliAnalysisTaskCheckHFMCProd.cxx:572
 AliAnalysisTaskCheckHFMCProd.cxx:573
 AliAnalysisTaskCheckHFMCProd.cxx:574
 AliAnalysisTaskCheckHFMCProd.cxx:575
 AliAnalysisTaskCheckHFMCProd.cxx:576
 AliAnalysisTaskCheckHFMCProd.cxx:577
 AliAnalysisTaskCheckHFMCProd.cxx:578
 AliAnalysisTaskCheckHFMCProd.cxx:579
 AliAnalysisTaskCheckHFMCProd.cxx:580
 AliAnalysisTaskCheckHFMCProd.cxx:581
 AliAnalysisTaskCheckHFMCProd.cxx:582
 AliAnalysisTaskCheckHFMCProd.cxx:583
 AliAnalysisTaskCheckHFMCProd.cxx:584
 AliAnalysisTaskCheckHFMCProd.cxx:585
 AliAnalysisTaskCheckHFMCProd.cxx:586
 AliAnalysisTaskCheckHFMCProd.cxx:587
 AliAnalysisTaskCheckHFMCProd.cxx:588
 AliAnalysisTaskCheckHFMCProd.cxx:589
 AliAnalysisTaskCheckHFMCProd.cxx:590
 AliAnalysisTaskCheckHFMCProd.cxx:591
 AliAnalysisTaskCheckHFMCProd.cxx:592
 AliAnalysisTaskCheckHFMCProd.cxx:593
 AliAnalysisTaskCheckHFMCProd.cxx:594
 AliAnalysisTaskCheckHFMCProd.cxx:595
 AliAnalysisTaskCheckHFMCProd.cxx:596
 AliAnalysisTaskCheckHFMCProd.cxx:597
 AliAnalysisTaskCheckHFMCProd.cxx:598
 AliAnalysisTaskCheckHFMCProd.cxx:599
 AliAnalysisTaskCheckHFMCProd.cxx:600
 AliAnalysisTaskCheckHFMCProd.cxx:601
 AliAnalysisTaskCheckHFMCProd.cxx:602
 AliAnalysisTaskCheckHFMCProd.cxx:603
 AliAnalysisTaskCheckHFMCProd.cxx:604
 AliAnalysisTaskCheckHFMCProd.cxx:605
 AliAnalysisTaskCheckHFMCProd.cxx:606
 AliAnalysisTaskCheckHFMCProd.cxx:607
 AliAnalysisTaskCheckHFMCProd.cxx:608
 AliAnalysisTaskCheckHFMCProd.cxx:609
 AliAnalysisTaskCheckHFMCProd.cxx:610
 AliAnalysisTaskCheckHFMCProd.cxx:611
 AliAnalysisTaskCheckHFMCProd.cxx:612
 AliAnalysisTaskCheckHFMCProd.cxx:613
 AliAnalysisTaskCheckHFMCProd.cxx:614
 AliAnalysisTaskCheckHFMCProd.cxx:615
 AliAnalysisTaskCheckHFMCProd.cxx:616
 AliAnalysisTaskCheckHFMCProd.cxx:617
 AliAnalysisTaskCheckHFMCProd.cxx:618
 AliAnalysisTaskCheckHFMCProd.cxx:619
 AliAnalysisTaskCheckHFMCProd.cxx:620
 AliAnalysisTaskCheckHFMCProd.cxx:621
 AliAnalysisTaskCheckHFMCProd.cxx:622
 AliAnalysisTaskCheckHFMCProd.cxx:623
 AliAnalysisTaskCheckHFMCProd.cxx:624
 AliAnalysisTaskCheckHFMCProd.cxx:625
 AliAnalysisTaskCheckHFMCProd.cxx:626
 AliAnalysisTaskCheckHFMCProd.cxx:627
 AliAnalysisTaskCheckHFMCProd.cxx:628
 AliAnalysisTaskCheckHFMCProd.cxx:629
 AliAnalysisTaskCheckHFMCProd.cxx:630
 AliAnalysisTaskCheckHFMCProd.cxx:631
 AliAnalysisTaskCheckHFMCProd.cxx:632
 AliAnalysisTaskCheckHFMCProd.cxx:633
 AliAnalysisTaskCheckHFMCProd.cxx:634
 AliAnalysisTaskCheckHFMCProd.cxx:635
 AliAnalysisTaskCheckHFMCProd.cxx:636
 AliAnalysisTaskCheckHFMCProd.cxx:637
 AliAnalysisTaskCheckHFMCProd.cxx:638
 AliAnalysisTaskCheckHFMCProd.cxx:639
 AliAnalysisTaskCheckHFMCProd.cxx:640
 AliAnalysisTaskCheckHFMCProd.cxx:641
 AliAnalysisTaskCheckHFMCProd.cxx:642
 AliAnalysisTaskCheckHFMCProd.cxx:643
 AliAnalysisTaskCheckHFMCProd.cxx:644
 AliAnalysisTaskCheckHFMCProd.cxx:645
 AliAnalysisTaskCheckHFMCProd.cxx:646
 AliAnalysisTaskCheckHFMCProd.cxx:647
 AliAnalysisTaskCheckHFMCProd.cxx:648
 AliAnalysisTaskCheckHFMCProd.cxx:649
 AliAnalysisTaskCheckHFMCProd.cxx:650
 AliAnalysisTaskCheckHFMCProd.cxx:651
 AliAnalysisTaskCheckHFMCProd.cxx:652
 AliAnalysisTaskCheckHFMCProd.cxx:653
 AliAnalysisTaskCheckHFMCProd.cxx:654
 AliAnalysisTaskCheckHFMCProd.cxx:655
 AliAnalysisTaskCheckHFMCProd.cxx:656
 AliAnalysisTaskCheckHFMCProd.cxx:657
 AliAnalysisTaskCheckHFMCProd.cxx:658
 AliAnalysisTaskCheckHFMCProd.cxx:659
 AliAnalysisTaskCheckHFMCProd.cxx:660
 AliAnalysisTaskCheckHFMCProd.cxx:661
 AliAnalysisTaskCheckHFMCProd.cxx:662
 AliAnalysisTaskCheckHFMCProd.cxx:663
 AliAnalysisTaskCheckHFMCProd.cxx:664
 AliAnalysisTaskCheckHFMCProd.cxx:665
 AliAnalysisTaskCheckHFMCProd.cxx:666
 AliAnalysisTaskCheckHFMCProd.cxx:667
 AliAnalysisTaskCheckHFMCProd.cxx:668
 AliAnalysisTaskCheckHFMCProd.cxx:669
 AliAnalysisTaskCheckHFMCProd.cxx:670
 AliAnalysisTaskCheckHFMCProd.cxx:671
 AliAnalysisTaskCheckHFMCProd.cxx:672
 AliAnalysisTaskCheckHFMCProd.cxx:673
 AliAnalysisTaskCheckHFMCProd.cxx:674
 AliAnalysisTaskCheckHFMCProd.cxx:675
 AliAnalysisTaskCheckHFMCProd.cxx:676
 AliAnalysisTaskCheckHFMCProd.cxx:677
 AliAnalysisTaskCheckHFMCProd.cxx:678
 AliAnalysisTaskCheckHFMCProd.cxx:679
 AliAnalysisTaskCheckHFMCProd.cxx:680
 AliAnalysisTaskCheckHFMCProd.cxx:681
 AliAnalysisTaskCheckHFMCProd.cxx:682
 AliAnalysisTaskCheckHFMCProd.cxx:683
 AliAnalysisTaskCheckHFMCProd.cxx:684
 AliAnalysisTaskCheckHFMCProd.cxx:685
 AliAnalysisTaskCheckHFMCProd.cxx:686
 AliAnalysisTaskCheckHFMCProd.cxx:687
 AliAnalysisTaskCheckHFMCProd.cxx:688
 AliAnalysisTaskCheckHFMCProd.cxx:689
 AliAnalysisTaskCheckHFMCProd.cxx:690
 AliAnalysisTaskCheckHFMCProd.cxx:691
 AliAnalysisTaskCheckHFMCProd.cxx:692
 AliAnalysisTaskCheckHFMCProd.cxx:693
 AliAnalysisTaskCheckHFMCProd.cxx:694
 AliAnalysisTaskCheckHFMCProd.cxx:695
 AliAnalysisTaskCheckHFMCProd.cxx:696
 AliAnalysisTaskCheckHFMCProd.cxx:697
 AliAnalysisTaskCheckHFMCProd.cxx:698
 AliAnalysisTaskCheckHFMCProd.cxx:699
 AliAnalysisTaskCheckHFMCProd.cxx:700
 AliAnalysisTaskCheckHFMCProd.cxx:701
 AliAnalysisTaskCheckHFMCProd.cxx:702
 AliAnalysisTaskCheckHFMCProd.cxx:703
 AliAnalysisTaskCheckHFMCProd.cxx:704
 AliAnalysisTaskCheckHFMCProd.cxx:705
 AliAnalysisTaskCheckHFMCProd.cxx:706
 AliAnalysisTaskCheckHFMCProd.cxx:707
 AliAnalysisTaskCheckHFMCProd.cxx:708
 AliAnalysisTaskCheckHFMCProd.cxx:709
 AliAnalysisTaskCheckHFMCProd.cxx:710
 AliAnalysisTaskCheckHFMCProd.cxx:711
 AliAnalysisTaskCheckHFMCProd.cxx:712
 AliAnalysisTaskCheckHFMCProd.cxx:713
 AliAnalysisTaskCheckHFMCProd.cxx:714
 AliAnalysisTaskCheckHFMCProd.cxx:715
 AliAnalysisTaskCheckHFMCProd.cxx:716
 AliAnalysisTaskCheckHFMCProd.cxx:717
 AliAnalysisTaskCheckHFMCProd.cxx:718
 AliAnalysisTaskCheckHFMCProd.cxx:719
 AliAnalysisTaskCheckHFMCProd.cxx:720
 AliAnalysisTaskCheckHFMCProd.cxx:721
 AliAnalysisTaskCheckHFMCProd.cxx:722
 AliAnalysisTaskCheckHFMCProd.cxx:723
 AliAnalysisTaskCheckHFMCProd.cxx:724
 AliAnalysisTaskCheckHFMCProd.cxx:725
 AliAnalysisTaskCheckHFMCProd.cxx:726
 AliAnalysisTaskCheckHFMCProd.cxx:727
 AliAnalysisTaskCheckHFMCProd.cxx:728
 AliAnalysisTaskCheckHFMCProd.cxx:729
 AliAnalysisTaskCheckHFMCProd.cxx:730
 AliAnalysisTaskCheckHFMCProd.cxx:731
 AliAnalysisTaskCheckHFMCProd.cxx:732
 AliAnalysisTaskCheckHFMCProd.cxx:733
 AliAnalysisTaskCheckHFMCProd.cxx:734
 AliAnalysisTaskCheckHFMCProd.cxx:735
 AliAnalysisTaskCheckHFMCProd.cxx:736
 AliAnalysisTaskCheckHFMCProd.cxx:737
 AliAnalysisTaskCheckHFMCProd.cxx:738
 AliAnalysisTaskCheckHFMCProd.cxx:739
 AliAnalysisTaskCheckHFMCProd.cxx:740
 AliAnalysisTaskCheckHFMCProd.cxx:741
 AliAnalysisTaskCheckHFMCProd.cxx:742
 AliAnalysisTaskCheckHFMCProd.cxx:743
 AliAnalysisTaskCheckHFMCProd.cxx:744
 AliAnalysisTaskCheckHFMCProd.cxx:745
 AliAnalysisTaskCheckHFMCProd.cxx:746
 AliAnalysisTaskCheckHFMCProd.cxx:747
 AliAnalysisTaskCheckHFMCProd.cxx:748
 AliAnalysisTaskCheckHFMCProd.cxx:749
 AliAnalysisTaskCheckHFMCProd.cxx:750
 AliAnalysisTaskCheckHFMCProd.cxx:751
 AliAnalysisTaskCheckHFMCProd.cxx:752
 AliAnalysisTaskCheckHFMCProd.cxx:753
 AliAnalysisTaskCheckHFMCProd.cxx:754