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

// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//
// Modified version of AliAnalysisTaskCheckCascade.cxx.
// This is a 'hybrid' output version, in that it uses a classic TTree
// ROOT object to store the candidates, plus a couple of histograms filled on
// a per-event basis for storing variables too numerous to put in a tree. 
//
// --- Added bits of code for checking V0s 
//      (from AliAnalysisTaskCheckStrange.cxx)
//
//  --- Algorithm Description 
//   1. Perform Physics Selection
//   2. Perform Primary Vertex |z|<10cm selection
//   3. Perform Primary Vertex NoTPCOnly vertexing selection (>0 contrib.)
//   4. Perform Pileup Rejection
//   5. Analysis Loops: 
//    5a. Fill TTree object with V0 information, candidates
//
//  Please Report Any Bugs! 
//
//   --- David Dobrigkeit Chinellato
//        (david.chinellato@gmail.com)
//
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

class TTree;
class TParticle;
class TVector3;

//class AliMCEventHandler;
//class AliMCEvent;
//class AliStack;

class AliESDVertex;
class AliAODVertex;
class AliESDv0;
class AliAODv0;

#include <Riostream.h>
#include "TList.h"
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "THnSparse.h"
#include "TVector3.h"
#include "TCanvas.h"
#include "TMath.h"
#include "TLegend.h"
#include "AliLog.h"
#include "AliCentrality.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliV0vertexer.h"
#include "AliCascadeVertexer.h"
#include "AliESDpid.h"
#include "AliESDtrack.h"
#include "AliESDtrackCuts.h"
#include "AliInputEventHandler.h"
#include "AliAnalysisManager.h"
#include "AliMCEventHandler.h"

#include "AliCFContainer.h"
#include "AliMultiplicity.h"

#include "AliESDcascade.h"
#include "AliAODcascade.h"
#include "AliESDUtils.h"
#include "AliESDHeader.h"

#include "AliAnalysisUtils.h"
#include "AliAnalysisTaskExtractV0.h"

//debugging purposes
#include "TObjectTable.h"

ClassImp(AliAnalysisTaskExtractV0)

AliAnalysisTaskExtractV0::AliAnalysisTaskExtractV0() 
  : AliAnalysisTaskSE(), fListHistV0(0), fTree(0), fPIDResponse(0),fESDtrackCuts(0), fUtils(0),
  fkIsNuclear     ( kFALSE ), 
  fkSwitchINT7    ( kFALSE ),
  fkUseOnTheFly   ( kFALSE ),
  fkTakeAllTracks ( kFALSE ),
  fCentralityEstimator("V0M"),
  fkLightWeight   ( kFALSE ),
  fkFastOnly      ( "" ),
  fkpAVertexSelection( kFALSE ),
  fkRunV0Vertexer ( kFALSE ),
  fkRejectPileup  ( kTRUE ),
  fkSpecialExecution( kFALSE ),
  fkSkipTrigger   ( kFALSE ),
  fTPCdEdxSelection ( kTRUE ),
  fEtaRefMult ( 0.5 ),
//------------------------------------------------
// Initialize 
	fTreeVariableChi2V0(0),
	fTreeVariableDcaV0Daughters(0),
	fTreeVariableDcaV0ToPrimVertex(0),
	fTreeVariableDcaPosToPrimVertex(0),
	fTreeVariableDcaNegToPrimVertex(0),
	fTreeVariableV0CosineOfPointingAngle(0),
	fTreeVariableV0Radius(0),
	fTreeVariablePt(0),
	fTreeVariableRapK0Short(0),
	fTreeVariableRapLambda(0),
	fTreeVariableInvMassK0s(0),
	fTreeVariableInvMassLambda(0),
	fTreeVariableInvMassAntiLambda(0),
	fTreeVariableAlphaV0(0),
	fTreeVariablePtArmV0(0),
	fTreeVariableNegTotMomentum(0),
	fTreeVariablePosTotMomentum(0),
	fTreeVariableNegdEdxSig(0),
	fTreeVariablePosdEdxSig(0),
	fTreeVariableNegEta(0),
	fTreeVariablePosEta(0),

	fTreeVariableNSigmasPosProton(0),
	fTreeVariableNSigmasPosPion(0),
	fTreeVariableNSigmasNegProton(0),
	fTreeVariableNSigmasNegPion(0),
	
	fTreeVariableDistOverTotMom(0),
	fTreeVariableLeastNbrCrossedRows(0),
	fTreeVariableLeastRatioCrossedRowsOverFindable(0),
	fTreeVariableMultiplicity(0),
	fTreeVariableMultiplicityV0A(0),
	fTreeVariableMultiplicityZNA(0),
	fTreeVariableMultiplicityTRK(0),
	fTreeVariableMultiplicitySPD(0),
  
  fTreeVariableRunNumber(0),
  fTreeVariableEventNumber(0),
  
  fTreeVariableV0x(0),
  fTreeVariableV0y(0),
  fTreeVariableV0z(0),

  fTreeVariableV0Px(0),
  fTreeVariableV0Py(0),
  fTreeVariableV0Pz(0),

  fTreeVariablePVx(0),
  fTreeVariablePVy(0),
  fTreeVariablePVz(0),

  fTreeVariableNegTrackStatus(0),
  fTreeVariablePosTrackStatus(0),

  fTreeVariableNegTPCSignal(0),
  fTreeVariablePosTPCSignal(0),
  fTreeVariableNegInnerP(0),
  fTreeVariablePosInnerP(0),

  fTreeVariableNegPx(0),
  fTreeVariableNegPy(0),
  fTreeVariableNegPz(0),
  fTreeVariablePosPx(0),
  fTreeVariablePosPy(0),
  fTreeVariablePosPz(0),


//------------------------------------------------
// HISTOGRAMS
// --- Filled on an Event-by-event basis
//------------------------------------------------
   fHistV0MultiplicityBeforeTrigSel(0),
   fHistV0MultiplicityForTrigEvt(0),
   fHistV0MultiplicityForSelEvt(0),
   fHistV0MultiplicityForSelEvtNoTPCOnly(0),
   fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup(0),
   fHistMultiplicityBeforeTrigSel(0),
   fHistMultiplicityForTrigEvt(0),
   fHistMultiplicity(0),
   fHistMultiplicityNoTPCOnly(0),
   fHistMultiplicityNoTPCOnlyNoPileup(0),

//V0A Centrality
fHistMultiplicityV0ABeforeTrigSel(0),
fHistMultiplicityV0AForTrigEvt(0),
fHistMultiplicityV0A(0),
fHistMultiplicityV0ANoTPCOnly(0),
fHistMultiplicityV0ANoTPCOnlyNoPileup(0),

//ZNA Centrality
fHistMultiplicityZNABeforeTrigSel(0),
fHistMultiplicityZNAForTrigEvt(0),
fHistMultiplicityZNA(0),
fHistMultiplicityZNANoTPCOnly(0),
fHistMultiplicityZNANoTPCOnlyNoPileup(0),

//TRK Centrality
fHistMultiplicityTRKBeforeTrigSel(0),
fHistMultiplicityTRKForTrigEvt(0),
fHistMultiplicityTRK(0),
fHistMultiplicityTRKNoTPCOnly(0),
fHistMultiplicityTRKNoTPCOnlyNoPileup(0),

//SPD Centrality
fHistMultiplicitySPDBeforeTrigSel(0),
fHistMultiplicitySPDForTrigEvt(0),
fHistMultiplicitySPD(0),
fHistMultiplicitySPDNoTPCOnly(0),
fHistMultiplicitySPDNoTPCOnlyNoPileup(0),

  //Raw Data for Vertex Z position estimator change
	f2dHistMultiplicityVsVertexZBeforeTrigSel(0),
	f2dHistMultiplicityVsVertexZForTrigEvt(0),
	f2dHistMultiplicityVsVertexZ(0),
	f2dHistMultiplicityVsVertexZNoTPCOnly(0),
	f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup(0),

   fHistPVx(0),
   fHistPVy(0),
   fHistPVz(0),
   fHistPVxAnalysis(0),
   fHistPVyAnalysis(0),
   fHistPVzAnalysis(0),
   fHistSwappedV0Counter(0)
{
  // Dummy Constructor
  for(Int_t iV0selIdx   = 0; iV0selIdx   < 7; iV0selIdx++   ) { fV0Sels          [iV0selIdx   ] = -1.; }
}

AliAnalysisTaskExtractV0::AliAnalysisTaskExtractV0(const char *name) 
  : AliAnalysisTaskSE(name), fListHistV0(0), fTree(0), fPIDResponse(0),fESDtrackCuts(0), fUtils(0),
  fkIsNuclear     ( kFALSE ), 
  fkSwitchINT7    ( kFALSE ),
  fkUseOnTheFly   ( kFALSE ),
  fkTakeAllTracks ( kFALSE ),
  fCentralityEstimator("V0M"),
  fkLightWeight   ( kFALSE ),
  fkFastOnly      ( "" ),
  fkpAVertexSelection( kFALSE ),
  fkRunV0Vertexer ( kFALSE ),
  fkRejectPileup  ( kTRUE ),
  fkSpecialExecution( kFALSE ),
  fkSkipTrigger   ( kFALSE ),
  fTPCdEdxSelection ( kTRUE ),
  fEtaRefMult ( 0.5 ),
//------------------------------------------------
// Initialize 
	fTreeVariableChi2V0(0),
	fTreeVariableDcaV0Daughters(0),
	fTreeVariableDcaV0ToPrimVertex(0),
	fTreeVariableDcaPosToPrimVertex(0),
	fTreeVariableDcaNegToPrimVertex(0),
	fTreeVariableV0CosineOfPointingAngle(0),
	fTreeVariableV0Radius(0),
	fTreeVariablePt(0),
	fTreeVariableRapK0Short(0),
	fTreeVariableRapLambda(0),
	fTreeVariableInvMassK0s(0),
	fTreeVariableInvMassLambda(0),
	fTreeVariableInvMassAntiLambda(0),
	fTreeVariableAlphaV0(0),
	fTreeVariablePtArmV0(0),
	fTreeVariableNegTotMomentum(0),
	fTreeVariablePosTotMomentum(0),
	fTreeVariableNegdEdxSig(0),
	fTreeVariablePosdEdxSig(0),
	fTreeVariableNegEta(0),
	fTreeVariablePosEta(0),

	fTreeVariableNSigmasPosProton(0),
	fTreeVariableNSigmasPosPion(0),
	fTreeVariableNSigmasNegProton(0),
	fTreeVariableNSigmasNegPion(0),
	
	fTreeVariableDistOverTotMom(0),
	fTreeVariableLeastNbrCrossedRows(0),
	fTreeVariableLeastRatioCrossedRowsOverFindable(0),
	fTreeVariableMultiplicity(0),
  fTreeVariableMultiplicityV0A(0),
  fTreeVariableMultiplicityZNA(0),
  fTreeVariableMultiplicityTRK(0),
  fTreeVariableMultiplicitySPD(0),

  fTreeVariableRunNumber(0),
  fTreeVariableEventNumber(0),
  
  fTreeVariableV0x(0),
  fTreeVariableV0y(0),
  fTreeVariableV0z(0),

  fTreeVariableV0Px(0),
  fTreeVariableV0Py(0),
  fTreeVariableV0Pz(0),

  fTreeVariablePVx(0),
  fTreeVariablePVy(0),
  fTreeVariablePVz(0),

  fTreeVariableNegTrackStatus(0),
  fTreeVariablePosTrackStatus(0),

  fTreeVariableNegTPCSignal(0),
  fTreeVariablePosTPCSignal(0),
  fTreeVariableNegInnerP(0),
  fTreeVariablePosInnerP(0),

  fTreeVariableNegPx(0),
  fTreeVariableNegPy(0),
  fTreeVariableNegPz(0),
  fTreeVariablePosPx(0),
  fTreeVariablePosPy(0),
  fTreeVariablePosPz(0),

//------------------------------------------------
// HISTOGRAMS
// --- Filled on an Event-by-event basis
//------------------------------------------------
   fHistV0MultiplicityBeforeTrigSel(0),
   fHistV0MultiplicityForTrigEvt(0),
   fHistV0MultiplicityForSelEvt(0),
   fHistV0MultiplicityForSelEvtNoTPCOnly(0),
   fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup(0),
   fHistMultiplicityBeforeTrigSel(0),
   fHistMultiplicityForTrigEvt(0),
   fHistMultiplicity(0),
   fHistMultiplicityNoTPCOnly(0),
   fHistMultiplicityNoTPCOnlyNoPileup(0),


//V0A Centrality
fHistMultiplicityV0ABeforeTrigSel(0),
fHistMultiplicityV0AForTrigEvt(0),
fHistMultiplicityV0A(0),
fHistMultiplicityV0ANoTPCOnly(0),
fHistMultiplicityV0ANoTPCOnlyNoPileup(0),

//ZNA Centrality
fHistMultiplicityZNABeforeTrigSel(0),
fHistMultiplicityZNAForTrigEvt(0),
fHistMultiplicityZNA(0),
fHistMultiplicityZNANoTPCOnly(0),
fHistMultiplicityZNANoTPCOnlyNoPileup(0),

//TRK Centrality
fHistMultiplicityTRKBeforeTrigSel(0),
fHistMultiplicityTRKForTrigEvt(0),
fHistMultiplicityTRK(0),
fHistMultiplicityTRKNoTPCOnly(0),
fHistMultiplicityTRKNoTPCOnlyNoPileup(0),

//SPD Centrality
fHistMultiplicitySPDBeforeTrigSel(0),
fHistMultiplicitySPDForTrigEvt(0),
fHistMultiplicitySPD(0),
fHistMultiplicitySPDNoTPCOnly(0),
fHistMultiplicitySPDNoTPCOnlyNoPileup(0),

  //Raw Data for Vertex Z position estimator change
	f2dHistMultiplicityVsVertexZBeforeTrigSel(0),
	f2dHistMultiplicityVsVertexZForTrigEvt(0),
	f2dHistMultiplicityVsVertexZ(0),
	f2dHistMultiplicityVsVertexZNoTPCOnly(0),
	f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup(0),

   fHistPVx(0),
   fHistPVy(0),
   fHistPVz(0),
   fHistPVxAnalysis(0),
   fHistPVyAnalysis(0),
   fHistPVzAnalysis(0),
   fHistSwappedV0Counter(0)
{
  // Constructor
  // Set Loose cuts or not here...
  // REALLY LOOSE? Be careful when attempting to run over PbPb if fkRunV0Vertexer is set! 
  fV0Sels[0] =  33.  ;  // max allowed chi2
  fV0Sels[1] =   0.02;  // min allowed impact parameter for the 1st daughter (LHC09a4 : 0.05)
  fV0Sels[2] =   0.02;  // min allowed impact parameter for the 2nd daughter (LHC09a4 : 0.05)
  fV0Sels[3] =   2.0 ;  // max allowed DCA between the daughter tracks       (LHC09a4 : 0.5)
  fV0Sels[4] =   0.95;  // min allowed cosine of V0's pointing angle         (LHC09a4 : 0.99)
  fV0Sels[5] =   0.5 ;  // min radius of the fiducial volume                 (LHC09a4 : 0.2)
  fV0Sels[6] = 200.  ;  // max radius of the fiducial volume                 (LHC09a4 : 100.0)
  
  // Output slot #0 writes into a TList container (Lambda Histos and fTree)
   DefineOutput(1, TList::Class());
   DefineOutput(2, TTree::Class());
}


AliAnalysisTaskExtractV0::~AliAnalysisTaskExtractV0()
{
//------------------------------------------------
// DESTRUCTOR
//------------------------------------------------

   if (fListHistV0){
      delete fListHistV0;
      fListHistV0 = 0x0;
   }
   if (fTree){
      delete fTree;
      fTree = 0x0;
   }
    //cleanup esd track cuts object too...
   if (fESDtrackCuts){
    delete fESDtrackCuts;
    fESDtrackCuts = 0x0; 
  }
  if (fUtils){
    delete fUtils;
    fUtils = 0x0;
  }

}



//________________________________________________________________________
void AliAnalysisTaskExtractV0::UserCreateOutputObjects()
{

   //Create File-resident Tree, please.
   OpenFile(2);
   // Called once
   fTree = new TTree("fTree","V0Candidates");

//------------------------------------------------
// fTree Branch definitions
//------------------------------------------------

//-----------BASIC-INFO---------------------------
/* 1*/  fTree->Branch("fTreeVariableChi2V0",&fTreeVariableChi2V0,"fTreeVariableChi2V0/F");
/* 2*/  fTree->Branch("fTreeVariableDcaV0Daughters",&fTreeVariableDcaV0Daughters,"fTreeVariableDcaV0Daughters/F");
/* 2*/  fTree->Branch("fTreeVariableDcaV0ToPrimVertex",&fTreeVariableDcaV0ToPrimVertex,"fTreeVariableDcaV0ToPrimVertex/F");
/* 3*/	fTree->Branch("fTreeVariableDcaPosToPrimVertex",&fTreeVariableDcaPosToPrimVertex,"fTreeVariableDcaPosToPrimVertex/F");
/* 4*/	fTree->Branch("fTreeVariableDcaNegToPrimVertex",&fTreeVariableDcaNegToPrimVertex,"fTreeVariableDcaNegToPrimVertex/F");
/* 5*/	fTree->Branch("fTreeVariableV0Radius",&fTreeVariableV0Radius,"fTreeVariableV0Radius/F");
/* 6*/	fTree->Branch("fTreeVariablePt",&fTreeVariablePt,"fTreeVariablePt/F");
/* 7*/	fTree->Branch("fTreeVariableRapK0Short",&fTreeVariableRapK0Short,"fTreeVariableRapK0Short/F");
/* 8*/	fTree->Branch("fTreeVariableRapLambda",&fTreeVariableRapLambda,"fTreeVariableRapLambda/F");
/* 9*/	fTree->Branch("fTreeVariableInvMassK0s",&fTreeVariableInvMassK0s,"fTreeVariableInvMassK0s/F");
/*10*/	fTree->Branch("fTreeVariableInvMassLambda",&fTreeVariableInvMassLambda,"fTreeVariableInvMassLambda/F");
/*11*/	fTree->Branch("fTreeVariableInvMassAntiLambda",&fTreeVariableInvMassAntiLambda,"fTreeVariableInvMassAntiLambda/F");
/*12*/	fTree->Branch("fTreeVariableV0CosineOfPointingAngle",&fTreeVariableV0CosineOfPointingAngle,"fTreeVariableV0CosineOfPointingAngle/F");
/*13*/	fTree->Branch("fTreeVariableAlphaV0",&fTreeVariableAlphaV0,"fTreeVariableAlphaV0/F");
/*14*/	fTree->Branch("fTreeVariablePtArmV0",&fTreeVariablePtArmV0,"fTreeVariablePtArmV0/F");
/*15*/	fTree->Branch("fTreeVariableLeastNbrCrossedRows",&fTreeVariableLeastNbrCrossedRows,"fTreeVariableLeastNbrCrossedRows/I");
/*16*/	fTree->Branch("fTreeVariableLeastRatioCrossedRowsOverFindable",&fTreeVariableLeastRatioCrossedRowsOverFindable,"fTreeVariableLeastRatioCrossedRowsOverFindable/F");
//-----------MULTIPLICITY-INFO--------------------
/*17*/	fTree->Branch("fTreeVariableMultiplicity",&fTreeVariableMultiplicity,"fTreeVariableMultiplicity/I");
  /*17*/	fTree->Branch("fTreeVariableMultiplicityV0A",&fTreeVariableMultiplicityV0A,"fTreeVariableMultiplicityV0A/I");
  /*17*/	fTree->Branch("fTreeVariableMultiplicityZNA",&fTreeVariableMultiplicityZNA,"fTreeVariableMultiplicityZNA/I");
  /*17*/	fTree->Branch("fTreeVariableMultiplicityTRK",&fTreeVariableMultiplicityTRK,"fTreeVariableMultiplicityTRK/I");
  /*17*/	fTree->Branch("fTreeVariableMultiplicitySPD",&fTreeVariableMultiplicitySPD,"fTreeVariableMultiplicitySPD/I");
//------------------------------------------------
/*18*/	fTree->Branch("fTreeVariableDistOverTotMom",&fTreeVariableDistOverTotMom,"fTreeVariableDistOverTotMom/F");
/*19*/	fTree->Branch("fTreeVariableNSigmasPosProton",&fTreeVariableNSigmasPosProton,"fTreeVariableNSigmasPosProton/F");
/*20*/	fTree->Branch("fTreeVariableNSigmasPosPion",&fTreeVariableNSigmasPosPion,"fTreeVariableNSigmasPosPion/F");
/*21*/	fTree->Branch("fTreeVariableNSigmasNegProton",&fTreeVariableNSigmasNegProton,"fTreeVariableNSigmasNegProton/F");
/*22*/	fTree->Branch("fTreeVariableNSigmasNegPion",&fTreeVariableNSigmasNegPion,"fTreeVariableNSigmasNegPion/F");
/*23*/	fTree->Branch("fTreeVariableNegEta",&fTreeVariableNegEta,"fTreeVariableNegEta/F");
/*24*/	fTree->Branch("fTreeVariablePosEta",&fTreeVariablePosEta,"fTreeVariablePosEta/F");
/*25*/	fTree->Branch("fTreeVariableRunNumber",&fTreeVariableRunNumber,"fTreeVariableRunNumber/I");
/*26*/	fTree->Branch("fTreeVariableEventNumber",&fTreeVariableEventNumber,"fTreeVariableEventNumber/l");
  
  if( fkLightWeight == kFALSE ){
//-----------FOR CTAU DEBUGGING: Full Phase Space + Decay Position Info 
        fTree->Branch("fTreeVariablePVx",&fTreeVariablePVx,"fTreeVariablePVx/F");
        fTree->Branch("fTreeVariablePVy",&fTreeVariablePVy,"fTreeVariablePVy/F");
        fTree->Branch("fTreeVariablePVz",&fTreeVariablePVz,"fTreeVariablePVz/F");

        fTree->Branch("fTreeVariableV0x",&fTreeVariableV0x,"fTreeVariableV0x/F");
        fTree->Branch("fTreeVariableV0y",&fTreeVariableV0y,"fTreeVariableV0y/F");
        fTree->Branch("fTreeVariableV0z",&fTreeVariableV0z,"fTreeVariableV0z/F");

        fTree->Branch("fTreeVariableV0Px",&fTreeVariableV0Px,"fTreeVariableV0Px/F");
        fTree->Branch("fTreeVariableV0Py",&fTreeVariableV0Py,"fTreeVariableV0Py/F");
        fTree->Branch("fTreeVariableV0Pz",&fTreeVariableV0Pz,"fTreeVariableV0Pz/F");
  
        fTree->Branch("fTreeVariableNegTrackStatus",&fTreeVariableNegTrackStatus,"fTreeVariableNegTrackStatus/l");
        fTree->Branch("fTreeVariablePosTrackStatus",&fTreeVariablePosTrackStatus,"fTreeVariablePosTrackStatus/l");
  }

//------------------------------------------------
// Particle Identification Setup
//------------------------------------------------

  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
  fPIDResponse = inputHandler->GetPIDResponse();
  
  // Multiplicity
  
  if(! fESDtrackCuts ){
    fESDtrackCuts = new AliESDtrackCuts();
  }
  if(! fUtils ){
    fUtils = new AliAnalysisUtils();
  }

//------------------------------------------------
// V0 Multiplicity Histograms
//------------------------------------------------

   // Create histograms
   //Create File-resident Tree, please.
   OpenFile(1);

   fListHistV0 = new TList();
   fListHistV0->SetOwner();  // See http://root.cern.ch/root/html/TCollection.html#TCollection:SetOwner

   if(! fHistV0MultiplicityBeforeTrigSel) {
      fHistV0MultiplicityBeforeTrigSel = new TH1F("fHistV0MultiplicityBeforeTrigSel", 
         "V0s per event (before Trig. Sel.);Nbr of V0s/Evt;Events", 
         25, 0, 25);
      fListHistV0->Add(fHistV0MultiplicityBeforeTrigSel);
   }
           
   if(! fHistV0MultiplicityForTrigEvt) {
      fHistV0MultiplicityForTrigEvt = new TH1F("fHistV0MultiplicityForTrigEvt", 
         "V0s per event (for triggered evt);Nbr of V0s/Evt;Events", 
         25, 0, 25);
      fListHistV0->Add(fHistV0MultiplicityForTrigEvt);
   }

   if(! fHistV0MultiplicityForSelEvt) {
      fHistV0MultiplicityForSelEvt = new TH1F("fHistV0MultiplicityForSelEvt", 
         "V0s per event;Nbr of V0s/Evt;Events", 
         25, 0, 25);
      fListHistV0->Add(fHistV0MultiplicityForSelEvt);
   }

   if(! fHistV0MultiplicityForSelEvtNoTPCOnly) {
      fHistV0MultiplicityForSelEvtNoTPCOnly = new TH1F("fHistV0MultiplicityForSelEvtNoTPCOnly", 
         "V0s per event;Nbr of V0s/Evt;Events", 
         25, 0, 25);
      fListHistV0->Add(fHistV0MultiplicityForSelEvtNoTPCOnly);
   }

   if(! fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup) {
      fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup = new TH1F("fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup", 
         "V0s per event;Nbr of V0s/Evt;Events", 
         25, 0, 25);
      fListHistV0->Add(fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup);
   }

//------------------------------------------------
// Track Multiplicity Histograms
//------------------------------------------------

  //Default V0M Centrality (if PbPb) 
   if(! fHistMultiplicityBeforeTrigSel) {
      fHistMultiplicityBeforeTrigSel = new TH1F("fHistMultiplicityBeforeTrigSel", 
         "Tracks per event;Nbr of Tracks;Events", 
         200, 0, 200); 		
      fListHistV0->Add(fHistMultiplicityBeforeTrigSel);
   }
   if(! fHistMultiplicityForTrigEvt) {
      fHistMultiplicityForTrigEvt = new TH1F("fHistMultiplicityForTrigEvt", 
         "Tracks per event;Nbr of Tracks;Events", 
         200, 0, 200); 		
      fListHistV0->Add(fHistMultiplicityForTrigEvt);
   }
   if(! fHistMultiplicity) {
      fHistMultiplicity = new TH1F("fHistMultiplicity", 
         "Tracks per event;Nbr of Tracks;Events", 
         200, 0, 200); 		
      fListHistV0->Add(fHistMultiplicity);
   }
   if(! fHistMultiplicityNoTPCOnly) {
      fHistMultiplicityNoTPCOnly = new TH1F("fHistMultiplicityNoTPCOnly", 
         "Tracks per event;Nbr of Tracks;Events", 
         200, 0, 200); 		
      fListHistV0->Add(fHistMultiplicityNoTPCOnly);
   }
   if(! fHistMultiplicityNoTPCOnlyNoPileup) {
      fHistMultiplicityNoTPCOnlyNoPileup = new TH1F("fHistMultiplicityNoTPCOnlyNoPileup", 
         "Tracks per event;Nbr of Tracks;Events", 
         200, 0, 200); 		
      fListHistV0->Add(fHistMultiplicityNoTPCOnlyNoPileup);
   }
  
  //V0A Centrality (if PbPb / pPb)
  if(! fHistMultiplicityV0ABeforeTrigSel) {
    fHistMultiplicityV0ABeforeTrigSel = new TH1F("fHistMultiplicityV0ABeforeTrigSel",
                                              "Centrality Distribution: V0A;V0A Centrality;Events",
                                              200, 0, 200);
    fListHistV0->Add(fHistMultiplicityV0ABeforeTrigSel);
  }
  if(! fHistMultiplicityV0AForTrigEvt) {
    fHistMultiplicityV0AForTrigEvt = new TH1F("fHistMultiplicityV0AForTrigEvt",
                                              "Centrality Distribution: V0A;V0A Centrality;Events",
                                           200, 0, 200);
    fListHistV0->Add(fHistMultiplicityV0AForTrigEvt);
  }
  if(! fHistMultiplicityV0A) {
    fHistMultiplicityV0A = new TH1F("fHistMultiplicityV0A",
                                              "Centrality Distribution: V0A;V0A Centrality;Events",
                                 200, 0, 200);
    fListHistV0->Add(fHistMultiplicityV0A);
  }
  if(! fHistMultiplicityV0ANoTPCOnly) {
    fHistMultiplicityV0ANoTPCOnly = new TH1F("fHistMultiplicityV0ANoTPCOnly",
                                              "Centrality Distribution: V0A;V0A Centrality;Events",
                                          200, 0, 200);
    fListHistV0->Add(fHistMultiplicityV0ANoTPCOnly);
  }
  if(! fHistMultiplicityV0ANoTPCOnlyNoPileup) {
    fHistMultiplicityV0ANoTPCOnlyNoPileup = new TH1F("fHistMultiplicityV0ANoTPCOnlyNoPileup",
                                              "Centrality Distribution: V0A;V0A Centrality;Events",
                                                  200, 0, 200); 		
    fListHistV0->Add(fHistMultiplicityV0ANoTPCOnlyNoPileup);
  }
  
  //ZNA Centrality (if PbPb / pPb)
  if(! fHistMultiplicityZNABeforeTrigSel) {
    fHistMultiplicityZNABeforeTrigSel = new TH1F("fHistMultiplicityZNABeforeTrigSel",
                                                 "Centrality Distribution: ZNA;ZNA Centrality;Events",
                                                 200, 0, 200);
    fListHistV0->Add(fHistMultiplicityZNABeforeTrigSel);
  }
  if(! fHistMultiplicityZNAForTrigEvt) {
    fHistMultiplicityZNAForTrigEvt = new TH1F("fHistMultiplicityZNAForTrigEvt",
                                              "Centrality Distribution: ZNA;ZNA Centrality;Events",
                                              200, 0, 200);
    fListHistV0->Add(fHistMultiplicityZNAForTrigEvt);
  }
  if(! fHistMultiplicityZNA) {
    fHistMultiplicityZNA = new TH1F("fHistMultiplicityZNA",
                                    "Centrality Distribution: ZNA;ZNA Centrality;Events",
                                    200, 0, 200);
    fListHistV0->Add(fHistMultiplicityZNA);
  }
  if(! fHistMultiplicityZNANoTPCOnly) {
    fHistMultiplicityZNANoTPCOnly = new TH1F("fHistMultiplicityZNANoTPCOnly",
                                             "Centrality Distribution: ZNA;ZNA Centrality;Events",
                                             200, 0, 200);
    fListHistV0->Add(fHistMultiplicityZNANoTPCOnly);
  }
  if(! fHistMultiplicityZNANoTPCOnlyNoPileup) {
    fHistMultiplicityZNANoTPCOnlyNoPileup = new TH1F("fHistMultiplicityZNANoTPCOnlyNoPileup",
                                                     "Centrality Distribution: ZNA;ZNA Centrality;Events",
                                                     200, 0, 200);
    fListHistV0->Add(fHistMultiplicityZNANoTPCOnlyNoPileup);
  }
  
  //TRK Centrality (if PbPb / pPb)
  if(! fHistMultiplicityTRKBeforeTrigSel) {
    fHistMultiplicityTRKBeforeTrigSel = new TH1F("fHistMultiplicityTRKBeforeTrigSel",
                                                 "Centrality Distribution: TRK;TRK Centrality;Events",
                                                 200, 0, 200);
    fListHistV0->Add(fHistMultiplicityTRKBeforeTrigSel);
  }
  if(! fHistMultiplicityTRKForTrigEvt) {
    fHistMultiplicityTRKForTrigEvt = new TH1F("fHistMultiplicityTRKForTrigEvt",
                                              "Centrality Distribution: TRK;TRK Centrality;Events",
                                              200, 0, 200);
    fListHistV0->Add(fHistMultiplicityTRKForTrigEvt);
  }
  if(! fHistMultiplicityTRK) {
    fHistMultiplicityTRK = new TH1F("fHistMultiplicityTRK",
                                    "Centrality Distribution: TRK;TRK Centrality;Events",
                                    200, 0, 200);
    fListHistV0->Add(fHistMultiplicityTRK);
  }
  if(! fHistMultiplicityTRKNoTPCOnly) {
    fHistMultiplicityTRKNoTPCOnly = new TH1F("fHistMultiplicityTRKNoTPCOnly",
                                             "Centrality Distribution: TRK;TRK Centrality;Events",
                                             200, 0, 200);
    fListHistV0->Add(fHistMultiplicityTRKNoTPCOnly);
  }
  if(! fHistMultiplicityTRKNoTPCOnlyNoPileup) {
    fHistMultiplicityTRKNoTPCOnlyNoPileup = new TH1F("fHistMultiplicityTRKNoTPCOnlyNoPileup",
                                                     "Centrality Distribution: TRK;TRK Centrality;Events",
                                                     200, 0, 200);
    fListHistV0->Add(fHistMultiplicityTRKNoTPCOnlyNoPileup);
  }
  
  //SPD Centrality (if PbPb / pPb)
  if(! fHistMultiplicitySPDBeforeTrigSel) {
    fHistMultiplicitySPDBeforeTrigSel = new TH1F("fHistMultiplicitySPDBeforeTrigSel",
                                                 "Centrality Distribution: SPD;SPD Centrality;Events",
                                                 200, 0, 200);
    fListHistV0->Add(fHistMultiplicitySPDBeforeTrigSel);
  }
  if(! fHistMultiplicitySPDForTrigEvt) {
    fHistMultiplicitySPDForTrigEvt = new TH1F("fHistMultiplicitySPDForTrigEvt",
                                              "Centrality Distribution: SPD;SPD Centrality;Events",
                                              200, 0, 200);
    fListHistV0->Add(fHistMultiplicitySPDForTrigEvt);
  }
  if(! fHistMultiplicitySPD) {
    fHistMultiplicitySPD = new TH1F("fHistMultiplicitySPD",
                                    "Centrality Distribution: SPD;SPD Centrality;Events",
                                    200, 0, 200);
    fListHistV0->Add(fHistMultiplicitySPD);
  }
  if(! fHistMultiplicitySPDNoTPCOnly) {
    fHistMultiplicitySPDNoTPCOnly = new TH1F("fHistMultiplicitySPDNoTPCOnly",
                                             "Centrality Distribution: SPD;SPD Centrality;Events",
                                             200, 0, 200);
    fListHistV0->Add(fHistMultiplicitySPDNoTPCOnly);
  }
  if(! fHistMultiplicitySPDNoTPCOnlyNoPileup) {
    fHistMultiplicitySPDNoTPCOnlyNoPileup = new TH1F("fHistMultiplicitySPDNoTPCOnlyNoPileup",
                                                     "Centrality Distribution: SPD;SPD Centrality;Events",
                                                     200, 0, 200);
    fListHistV0->Add(fHistMultiplicitySPDNoTPCOnlyNoPileup);
  }
  
  //Raw Data for Vertex Z position estimator change
	//TH2F    *f2dHistMultiplicityVsVertexZBeforeTrigSel; 	        //! multiplicity distribution    
	//TH2F    *f2dHistMultiplicityVsVertexZForTrigEvt;  		        //! multiplicity distribution
	//TH2F    *f2dHistMultiplicityVsVertexZ;     					        //! multiplicity distribution
	//TH2F    *f2dHistMultiplicityVsVertexZNoTPCOnly;			        //! multiplicity distribution
	//TH2F    *f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup;			//! multiplicity distribution

   if(! f2dHistMultiplicityVsVertexZBeforeTrigSel) {
      f2dHistMultiplicityVsVertexZBeforeTrigSel = new TH2F("f2dHistMultiplicityVsVertexZBeforeTrigSel", 
         "Tracks per event", 200, 0, 200,400, -20, 20); 		
      fListHistV0->Add(f2dHistMultiplicityVsVertexZBeforeTrigSel);
   }
   if(! f2dHistMultiplicityVsVertexZForTrigEvt) {
      f2dHistMultiplicityVsVertexZForTrigEvt = new TH2F("f2dHistMultiplicityVsVertexZForTrigEvt", 
         "Tracks per event", 200, 0, 200, 400, -20, 20); 		
      fListHistV0->Add(f2dHistMultiplicityVsVertexZForTrigEvt);
   }
   if(! f2dHistMultiplicityVsVertexZ) {
      f2dHistMultiplicityVsVertexZ = new TH2F("f2dHistMultiplicityVsVertexZ", 
         "Tracks per event", 200, 0, 200, 400, -20, 20); 		
      fListHistV0->Add(f2dHistMultiplicityVsVertexZ);
   }
   if(! f2dHistMultiplicityVsVertexZNoTPCOnly) {
      f2dHistMultiplicityVsVertexZNoTPCOnly = new TH2F("f2dHistMultiplicityVsVertexZNoTPCOnly", 
         "Tracks per event", 200, 0, 200, 400, -20, 20); 		
      fListHistV0->Add(f2dHistMultiplicityVsVertexZNoTPCOnly);
   }
   if(! f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup) {
      f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup = new TH2F("f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup", 
         "Tracks per event", 200, 0, 200, 400, -20, 20); 		
      fListHistV0->Add(f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup);
   }

//-----------------------------------------------------

   if(! fHistPVx) {
      fHistPVx = new TH1F("fHistPVx", 
         "PV x position;Nbr of Evts;x", 
         2000, -0.5, 0.5); 		
      fListHistV0->Add(fHistPVx);
   }
   if(! fHistPVy) {
      fHistPVy = new TH1F("fHistPVy", 
         "PV y position;Nbr of Evts;y", 
         2000, -0.5, 0.5); 		
      fListHistV0->Add(fHistPVy);
   }
   if(! fHistPVz) {
      fHistPVz = new TH1F("fHistPVz", 
         "PV z position;Nbr of Evts;z", 
         400, -20, 20); 		
      fListHistV0->Add(fHistPVz);
   }
   if(! fHistPVxAnalysis) {
      fHistPVxAnalysis = new TH1F("fHistPVxAnalysis", 
         "PV x position;Nbr of Evts;x", 
         2000, -0.5, 0.5);		
      fListHistV0->Add(fHistPVxAnalysis);
   }
   if(! fHistPVyAnalysis) {
      fHistPVyAnalysis = new TH1F("fHistPVyAnalysis", 
         "PV y position;Nbr of Evts;y", 
         2000, -0.5, 0.5);		
      fListHistV0->Add(fHistPVyAnalysis);
   }
   if(! fHistPVzAnalysis) {
      fHistPVzAnalysis = new TH1F("fHistPVzAnalysis", 
         "PV z position;Nbr of Evts;z", 
         400, -20, 20); 		
      fListHistV0->Add(fHistPVzAnalysis);
   }
   if(! fHistSwappedV0Counter) {
      fHistSwappedV0Counter = new TH1F("fHistSwappedV0Counter", 
         "Swap or not histo;Swapped (1) or not (0); count", 
         2, 0, 2); 		
      fListHistV0->Add(fHistSwappedV0Counter);
   }
  
   //Regular output: Histograms
   PostData(1, fListHistV0);
   //TTree Object: Saved to base directory. Should cache to disk while saving. 
   //(Important to avoid excessive memory usage, particularly when merging)
   PostData(2, fTree);

}// end UserCreateOutputObjects


//________________________________________________________________________
void AliAnalysisTaskExtractV0::UserExec(Option_t *) 
{
   // Main loop
   // Called for each event
   //gObjectTable->Print();
   AliESDEvent *lESDevent = 0x0;

   //AliAODEvent *lAODevent = 0x0;
   Int_t    nV0s                        = -1;

   Double_t lTrkgPrimaryVtxPos[3]          = {-100.0, -100.0, -100.0};
   Double_t lBestPrimaryVtxPos[3]          = {-100.0, -100.0, -100.0};
   Double_t lMagneticField                 = -10.;
	
   // Connect to the InputEvent	
   // After these lines, we should have an ESD/AOD event + the number of cascades in it.

   // Appropriate for ESD analysis! 
		
   lESDevent = dynamic_cast<AliESDEvent*>( InputEvent() );
   if (!lESDevent) {
      AliWarning("ERROR: lESDevent not available \n");
      return;
   }
  
  //------------------------------------------------
  // Rerun V0 vertexer, if asked for
  // --- WARNING: Be careful when using in PbPb
  //------------------------------------------------
  if( fkRunV0Vertexer ){
    lESDevent->ResetV0s();
    AliV0vertexer lV0vtxer;
    lV0vtxer.SetDefaultCuts(fV0Sels);
    lV0vtxer.Tracks2V0vertices(lESDevent);
  }
  
   fTreeVariableRunNumber = lESDevent->GetRunNumber();
   fTreeVariableEventNumber =  
    ( ( ((ULong64_t)lESDevent->GetPeriodNumber() ) << 36 ) |
      ( ((ULong64_t)lESDevent->GetOrbitNumber () ) << 12 ) |
        ((ULong64_t)lESDevent->GetBunchCrossNumber() )  );

   //REVISED multiplicity estimator after 'multiplicity day' (2011)
   Int_t lMultiplicity = -100;
   Int_t lMultiplicityV0A = -100;
   Int_t lMultiplicityZNA = -100;
   Int_t lMultiplicityTRK = -100;
   Int_t lMultiplicitySPD = -100;  

   if(fkIsNuclear == kFALSE) lMultiplicity = fESDtrackCuts->GetReferenceMultiplicity(lESDevent, AliESDtrackCuts::kTrackletsITSTPC,fEtaRefMult);

   //---> If this is a nuclear collision, then go nuclear on "multiplicity" variable...
   //---> Warning: Experimental
   if(fkIsNuclear == kTRUE){ 
      AliCentrality* centrality;
      centrality = lESDevent->GetCentrality();
      lMultiplicity = ( ( Int_t ) ( centrality->GetCentralityPercentile(   fCentralityEstimator.Data() ) ) );
      lMultiplicityV0A = ( ( Int_t ) ( centrality->GetCentralityPercentile(   "V0A" ) ) );
      lMultiplicityZNA = ( ( Int_t ) ( centrality->GetCentralityPercentile(   "ZNA" ) ) );
      lMultiplicityTRK = ( ( Int_t ) ( centrality->GetCentralityPercentile(   "TRK" ) ) );
      lMultiplicitySPD = ( ( Int_t ) ( centrality->GetCentralityPercentile(   "CL1" ) ) );
      if (centrality->GetQuality()>1) {
        PostData(1, fListHistV0);
        PostData(2, fTree);
        return;
      }
   }

   //Set variable for filling tree afterwards!
   //---> pp case......: GetReferenceMultiplicity
   //---> Pb-Pb case...: Centrality by V0M
  fTreeVariableMultiplicity = lMultiplicity;
  fTreeVariableMultiplicityV0A = lMultiplicityV0A;
  fTreeVariableMultiplicityZNA = lMultiplicityZNA;
  fTreeVariableMultiplicityTRK = lMultiplicityTRK;
  fTreeVariableMultiplicitySPD = lMultiplicitySPD;
  
  fHistMultiplicityBeforeTrigSel->Fill ( lMultiplicity );
  fHistMultiplicityV0ABeforeTrigSel->Fill ( lMultiplicityV0A );
  fHistMultiplicityZNABeforeTrigSel->Fill ( lMultiplicityZNA );
  fHistMultiplicityTRKBeforeTrigSel->Fill ( lMultiplicityTRK );
  fHistMultiplicitySPDBeforeTrigSel->Fill ( lMultiplicitySPD );
  
  fHistV0MultiplicityBeforeTrigSel->Fill ( lESDevent->GetNumberOfV0s() );

//------------------------------------------------
// Physics Selection
//------------------------------------------------
  
  // new method
  UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
  Bool_t isSelected = 0;
  Bool_t isSelectedExtra = kTRUE; //extra sel, default YES
  isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
  
  if( fkSkipTrigger == kFALSE ){
    //pA triggering: CINT7
    if( fkSwitchINT7 ) isSelected = (maskIsSelected & AliVEvent::kINT7) == AliVEvent::kINT7;
    
    //Extra selection applies if with/without SDD is to be dealth with
    if( fkFastOnly == "kFastOnly"){
      //If not kFastOnly, isSelectedExtra will be kFALSE; procedure will reject it
      isSelectedExtra = (maskIsSelected & AliVEvent::kFastOnly) == AliVEvent::kFastOnly;
    }
    if( fkFastOnly == "NotkFastOnly"){
      //If not kFastOnly, isSelectedExtra will be kTRUE; procedure will accept it
      isSelectedExtra = !( (maskIsSelected & AliVEvent::kFastOnly) == AliVEvent::kFastOnly );
    }
    
    //Standard Min-Bias Selection
    if ( !isSelected ) {
      PostData(1, fListHistV0);
      PostData(2, fTree);
      return;
    }
    //Check if goes through extra selections
    //isSelectedExtra will be true in case -> fkFastOnly==""
    //isSelectedExtra will be true in case -> fkFastOnly=="kFastOnly"    && bit kFastOnly ON
    //isSelectedExtra will be true in case -> fkFastOnly=="NotkFastOnly" && bit kFastOnly OFF
    if ( !isSelectedExtra ) {
      PostData(1, fListHistV0);
      PostData(2, fTree);
      return;
    }
  }
  
//------------------------------------------------
// After Trigger Selection
//------------------------------------------------

	nV0s = lESDevent->GetNumberOfV0s();

  fHistV0MultiplicityForTrigEvt     ->Fill( nV0s       );
  fHistMultiplicityForTrigEvt       ->Fill( lMultiplicity  );
  fHistMultiplicityV0AForTrigEvt       ->Fill( lMultiplicityV0A  );
  fHistMultiplicityZNAForTrigEvt       ->Fill( lMultiplicityZNA  );
  fHistMultiplicityTRKForTrigEvt       ->Fill( lMultiplicityTRK  );
  fHistMultiplicitySPDForTrigEvt       ->Fill( lMultiplicitySPD  );
  
//------------------------------------------------
// Getting: Primary Vertex + MagField Info
//------------------------------------------------

	const AliESDVertex *lPrimaryTrackingESDVtx = lESDevent->GetPrimaryVertexTracks();
	// get the vtx stored in ESD found with tracks
	lPrimaryTrackingESDVtx->GetXYZ( lTrkgPrimaryVtxPos );
        
	const AliESDVertex *lPrimaryBestESDVtx = lESDevent->GetPrimaryVertex();	
  // get the best primary vertex available for the event
	// As done in AliCascadeVertexer, we keep the one which is the best one available.
	// between : Tracking vertex > SPD vertex > TPC vertex > default SPD vertex
	// This one will be used for next calculations (DCA essentially)
   lPrimaryBestESDVtx->GetXYZ( lBestPrimaryVtxPos );

   Double_t tPrimaryVtxPosition[3];
   const AliVVertex *primaryVtx = lESDevent->GetPrimaryVertex();
   tPrimaryVtxPosition[0] = primaryVtx->GetX();
   tPrimaryVtxPosition[1] = primaryVtx->GetY();
   tPrimaryVtxPosition[2] = primaryVtx->GetZ();
   fHistPVx->Fill( tPrimaryVtxPosition[0] );
   fHistPVy->Fill( tPrimaryVtxPosition[1] );
   fHistPVz->Fill( tPrimaryVtxPosition[2] );

   f2dHistMultiplicityVsVertexZForTrigEvt->Fill( lMultiplicity, tPrimaryVtxPosition[2] );

  //------------------------------------------------
  // Primary Vertex Requirements Section:
  //  ---> pp and PbPb: Only requires |z|<10cm
  //  ---> pPb: all requirements checked at this stage
  //------------------------------------------------
  
  //Roberto's PV selection criteria, implemented 17th April 2013
  
  /* vertex selection */
  Bool_t fHasVertex = kFALSE;
  
  const AliESDVertex *vertex = lESDevent->GetPrimaryVertexTracks();
  if (vertex->GetNContributors() < 1) {
    vertex = lESDevent->GetPrimaryVertexSPD();
    if (vertex->GetNContributors() < 1) fHasVertex = kFALSE;
    else fHasVertex = kTRUE;
    TString vtxTyp = vertex->GetTitle();
    Double_t cov[6]={0};
    vertex->GetCovarianceMatrix(cov);
    Double_t zRes = TMath::Sqrt(cov[5]);
    if (vtxTyp.Contains("vertexer:Z") && (zRes>0.25)) fHasVertex = kFALSE;
  }
  else fHasVertex = kTRUE;
  
  //Is First event in chunk rejection: Still present!
  if(fkpAVertexSelection==kTRUE && fHasVertex == kFALSE) {
    AliWarning("Pb / | PV does not satisfy selection criteria!");
    PostData(1, fListHistV0);
    PostData(2, fTree);
    return;
  }
  
  //Is First event in chunk rejection: Still present!
  if(fkpAVertexSelection==kTRUE && fUtils->IsFirstEventInChunk(lESDevent)) {
    AliWarning("Pb / | This is the first event in the chunk!");
    PostData(1, fListHistV0);
    PostData(2, fTree);
    return;
  }
  
  //17 April Fix: Always do primary vertex Z selection, after pA vertex selection from Roberto
  if(TMath::Abs(lBestPrimaryVtxPos[2]) > 10.0) {
    if( !fkpAVertexSelection ) AliWarning("Pb / | Z position of Best Prim Vtx | > 10.0 cm ... return !");
    if( fkpAVertexSelection )  AliWarning("Pb / | pPb case | Z position of Best Prim Vtx | > 10.0 cm ... return !");
    PostData(1, fListHistV0);
    PostData(2, fTree);
    return;
  }
  
  f2dHistMultiplicityVsVertexZ->Fill( lMultiplicity, tPrimaryVtxPosition[2] );
  
  lMagneticField = lESDevent->GetMagneticField( );
  fHistV0MultiplicityForSelEvt ->Fill( nV0s );
  fHistMultiplicity->Fill(lMultiplicity);
  fHistMultiplicityV0A->Fill(lMultiplicityV0A);
  fHistMultiplicityZNA->Fill(lMultiplicityZNA);
  fHistMultiplicityTRK->Fill(lMultiplicityTRK);
  fHistMultiplicitySPD->Fill(lMultiplicitySPD);

//------------------------------------------------
// Only look at events with well-established PV
//------------------------------------------------
	
   const AliESDVertex *lPrimaryTrackingESDVtxCheck = lESDevent->GetPrimaryVertexTracks();
   const AliESDVertex *lPrimarySPDVtx = lESDevent->GetPrimaryVertexSPD();
   if (!lPrimarySPDVtx->GetStatus() && !lPrimaryTrackingESDVtxCheck->GetStatus() && fkpAVertexSelection==kFALSE ){
      AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
      PostData(1, fListHistV0);
      PostData(2, fTree);
      return;
   }


   f2dHistMultiplicityVsVertexZNoTPCOnly->Fill( lMultiplicity, tPrimaryVtxPosition[2] );
  fHistV0MultiplicityForSelEvtNoTPCOnly ->Fill( nV0s );
  fHistMultiplicityNoTPCOnly->Fill(lMultiplicity);
  fHistMultiplicityV0ANoTPCOnly->Fill(lMultiplicityV0A);
  fHistMultiplicityZNANoTPCOnly->Fill(lMultiplicityZNA);
  fHistMultiplicityTRKNoTPCOnly->Fill(lMultiplicityTRK);
  fHistMultiplicitySPDNoTPCOnly->Fill(lMultiplicitySPD);

//------------------------------------------------
// Pileup Rejection
//------------------------------------------------

   // FIXME : quality selection regarding pile-up rejection 
   if(lESDevent->IsPileupFromSPD() && !fkIsNuclear && fkRejectPileup){// minContributors=3, minZdist=0.8, nSigmaZdist=3., nSigmaDiamXY=2., nSigmaDiamZ=5.  -> see http://alisoft.cern.ch/viewvc/trunk/STEER/AliESDEvent.h?root=AliRoot&r1=41914&r2=42199&pathrev=42199
      PostData(1, fListHistV0);
      PostData(2, fTree); 
      return;
   }

  f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup->Fill( lMultiplicity, tPrimaryVtxPosition[2] );
  fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup ->Fill( nV0s );
  fHistMultiplicityNoTPCOnlyNoPileup->Fill(lMultiplicity);
  fHistMultiplicityV0ANoTPCOnlyNoPileup->Fill(lMultiplicityV0A);
  fHistMultiplicityZNANoTPCOnlyNoPileup->Fill(lMultiplicityZNA);
  fHistMultiplicityTRKNoTPCOnlyNoPileup->Fill(lMultiplicityTRK);
  fHistMultiplicitySPDNoTPCOnlyNoPileup->Fill(lMultiplicitySPD);
  
//------------------------------------------------
// MAIN LAMBDA LOOP STARTS HERE
//------------------------------------------------

   if( ! (lESDevent->GetPrimaryVertex()->IsFromVertexerZ() )	 ){ 
      fHistPVxAnalysis->Fill( tPrimaryVtxPosition[0] );
      fHistPVyAnalysis->Fill( tPrimaryVtxPosition[1] );
      fHistPVzAnalysis->Fill( tPrimaryVtxPosition[2] );
   }

  fTreeVariablePVx = tPrimaryVtxPosition[0];
  fTreeVariablePVy = tPrimaryVtxPosition[1];
  fTreeVariablePVz = tPrimaryVtxPosition[2];

//Variable definition
   Int_t    lOnFlyStatus = 0;// nv0sOn = 0, nv0sOff = 0;
   Double_t lChi2V0 = 0;
   Double_t lDcaV0Daughters = 0, lDcaV0ToPrimVertex = 0;
   Double_t lDcaPosToPrimVertex = 0, lDcaNegToPrimVertex = 0;
   Double_t lV0CosineOfPointingAngle = 0;
   Double_t lV0Radius = 0, lPt = 0;
   Double_t lRapK0Short = 0, lRapLambda = 0;
   Double_t lInvMassK0s = 0, lInvMassLambda = 0, lInvMassAntiLambda = 0;
   Double_t lAlphaV0 = 0, lPtArmV0 = 0;

   Double_t fMinV0Pt = 0; 
   Double_t fMaxV0Pt = 100; 

   Int_t nv0s = 0;
   nv0s = lESDevent->GetNumberOfV0s();

   //for (Int_t iV0 = 0; iV0 < nv0s; iV0++) 
   for (Int_t iV0 = 0; iV0 < nv0s; iV0++) //extra-crazy test
   {// This is the begining of the V0 loop
      AliESDv0 *v0 = ((AliESDEvent*)lESDevent)->GetV0(iV0);
      if (!v0) continue;

      //---> Fix On-the-Fly candidates, count how many swapped
      if( v0->GetParamN()->Charge() > 0 && v0->GetParamP()->Charge() < 0 ){
        fHistSwappedV0Counter -> Fill( 1 );
      }else{
        fHistSwappedV0Counter -> Fill( 0 ); 
      }
      if ( fkUseOnTheFly ) CheckChargeV0(v0); 

      Double_t tDecayVertexV0[3]; v0->GetXYZ(tDecayVertexV0[0],tDecayVertexV0[1],tDecayVertexV0[2]); 

      Double_t tV0mom[3];
      v0->GetPxPyPz( tV0mom[0],tV0mom[1],tV0mom[2] ); 
      Double_t lV0TotalMomentum = TMath::Sqrt(
      tV0mom[0]*tV0mom[0]+tV0mom[1]*tV0mom[1]+tV0mom[2]*tV0mom[2] );

      lV0Radius = TMath::Sqrt(tDecayVertexV0[0]*tDecayVertexV0[0]+tDecayVertexV0[1]*tDecayVertexV0[1]);

      //Set Variables for later filling
      fTreeVariableV0x = tDecayVertexV0[0];
      fTreeVariableV0y = tDecayVertexV0[1];
      fTreeVariableV0z = tDecayVertexV0[2];

      //Set Variables for later filling
      fTreeVariableV0Px = tV0mom[0];
      fTreeVariableV0Py = tV0mom[1];
      fTreeVariableV0Pz = tV0mom[2];

      lPt = v0->Pt();
      lRapK0Short = v0->RapK0Short();
      lRapLambda  = v0->RapLambda();
      if ((lPt<fMinV0Pt)||(fMaxV0Pt<lPt)) continue;

      UInt_t lKeyPos = (UInt_t)TMath::Abs(v0->GetPindex());
      UInt_t lKeyNeg = (UInt_t)TMath::Abs(v0->GetNindex());

      Double_t lMomPos[3]; v0->GetPPxPyPz(lMomPos[0],lMomPos[1],lMomPos[2]);
      Double_t lMomNeg[3]; v0->GetNPxPyPz(lMomNeg[0],lMomNeg[1],lMomNeg[2]);

      AliESDtrack *pTrack=((AliESDEvent*)lESDevent)->GetTrack(lKeyPos);
      AliESDtrack *nTrack=((AliESDEvent*)lESDevent)->GetTrack(lKeyNeg);
      if (!pTrack || !nTrack) {
         Printf("ERROR: Could not retreive one of the daughter track");
         continue;
      }

      //Daughter Eta for Eta selection, afterwards
      fTreeVariableNegEta = nTrack->Eta();
      fTreeVariablePosEta = pTrack->Eta();

      // Filter like-sign V0 (next: add counter and distribution)
      if ( pTrack->GetSign() == nTrack->GetSign()){
         continue;
      } 

      //________________________________________________________________________
      // Track quality cuts 
      Float_t lPosTrackCrossedRows = pTrack->GetTPCClusterInfo(2,1);
      Float_t lNegTrackCrossedRows = nTrack->GetTPCClusterInfo(2,1);
      fTreeVariableLeastNbrCrossedRows = (Int_t) lPosTrackCrossedRows;
      if( lNegTrackCrossedRows < fTreeVariableLeastNbrCrossedRows )
         fTreeVariableLeastNbrCrossedRows = (Int_t) lNegTrackCrossedRows;

      // TPC refit condition (done during reconstruction for Offline but not for On-the-fly)
      if( !(pTrack->GetStatus() & AliESDtrack::kTPCrefit)) continue;
      if( !(nTrack->GetStatus() & AliESDtrack::kTPCrefit)) continue;
     
      //Get status flags
      fTreeVariablePosTrackStatus = pTrack->GetStatus();
      fTreeVariableNegTrackStatus = nTrack->GetStatus();
     
      if ( ( ( ( pTrack->GetTPCClusterInfo(2,1) ) < 70 ) || ( ( nTrack->GetTPCClusterInfo(2,1) ) < 70 ) )&&(fkTakeAllTracks==kFALSE) ) continue;
	
      //GetKinkIndex condition
      if( pTrack->GetKinkIndex(0)>0 || nTrack->GetKinkIndex(0)>0 ) continue;

      //Findable clusters > 0 condition
      if( pTrack->GetTPCNclsF()<=0 || nTrack->GetTPCNclsF()<=0 ) continue;

      //Compute ratio Crossed Rows / Findable clusters
      //Note: above test avoids division by zero! 
      Float_t lPosTrackCrossedRowsOverFindable = lPosTrackCrossedRows / ((double)(pTrack->GetTPCNclsF())); 
      Float_t lNegTrackCrossedRowsOverFindable = lNegTrackCrossedRows / ((double)(nTrack->GetTPCNclsF())); 

      fTreeVariableLeastRatioCrossedRowsOverFindable = lPosTrackCrossedRowsOverFindable;
      if( lNegTrackCrossedRowsOverFindable < fTreeVariableLeastRatioCrossedRowsOverFindable )
         fTreeVariableLeastRatioCrossedRowsOverFindable = lNegTrackCrossedRowsOverFindable;

      //Lowest Cut Level for Ratio Crossed Rows / Findable = 0.8, set here
      if ( (fTreeVariableLeastRatioCrossedRowsOverFindable < 0.8)&&(fkTakeAllTracks==kFALSE) ) continue;

      //End track Quality Cuts
      //________________________________________________________________________

      lDcaPosToPrimVertex = TMath::Abs(pTrack->GetD(tPrimaryVtxPosition[0],
							tPrimaryVtxPosition[1],
							lMagneticField) );

      lDcaNegToPrimVertex = TMath::Abs(nTrack->GetD(tPrimaryVtxPosition[0],
							tPrimaryVtxPosition[1],
							lMagneticField) );

      lOnFlyStatus = v0->GetOnFlyStatus();
      lChi2V0 = v0->GetChi2V0();
      lDcaV0Daughters = v0->GetDcaV0Daughters();
      lDcaV0ToPrimVertex = v0->GetD(tPrimaryVtxPosition[0],tPrimaryVtxPosition[1],tPrimaryVtxPosition[2]);
      lV0CosineOfPointingAngle = v0->GetV0CosineOfPointingAngle(tPrimaryVtxPosition[0],tPrimaryVtxPosition[1],tPrimaryVtxPosition[2]);
      fTreeVariableV0CosineOfPointingAngle=lV0CosineOfPointingAngle;

      // Getting invariant mass infos directly from ESD
      v0->ChangeMassHypothesis(310);
      lInvMassK0s = v0->GetEffMass();
      v0->ChangeMassHypothesis(3122);
      lInvMassLambda = v0->GetEffMass();
      v0->ChangeMassHypothesis(-3122);
      lInvMassAntiLambda = v0->GetEffMass();
      lAlphaV0 = v0->AlphaV0();
      lPtArmV0 = v0->PtArmV0();

      fTreeVariablePt = v0->Pt();
      fTreeVariableChi2V0 = lChi2V0; 
      fTreeVariableDcaV0ToPrimVertex = lDcaV0ToPrimVertex;
      fTreeVariableDcaV0Daughters = lDcaV0Daughters;
      fTreeVariableV0CosineOfPointingAngle = lV0CosineOfPointingAngle; 
      fTreeVariableV0Radius = lV0Radius;
      fTreeVariableDcaPosToPrimVertex = lDcaPosToPrimVertex;
      fTreeVariableDcaNegToPrimVertex = lDcaNegToPrimVertex;
      fTreeVariableInvMassK0s = lInvMassK0s;
      fTreeVariableInvMassLambda = lInvMassLambda;
      fTreeVariableInvMassAntiLambda = lInvMassAntiLambda;
      fTreeVariableRapK0Short = lRapK0Short;
      fTreeVariableRapLambda = lRapLambda;
      fTreeVariableAlphaV0 = lAlphaV0;
      fTreeVariablePtArmV0 = lPtArmV0;

      //Official means of acquiring N-sigmas 
      fTreeVariableNSigmasPosProton = fPIDResponse->NumberOfSigmasTPC( pTrack, AliPID::kProton );
      fTreeVariableNSigmasPosPion   = fPIDResponse->NumberOfSigmasTPC( pTrack, AliPID::kPion );
      fTreeVariableNSigmasNegProton = fPIDResponse->NumberOfSigmasTPC( nTrack, AliPID::kProton );
      fTreeVariableNSigmasNegPion   = fPIDResponse->NumberOfSigmasTPC( nTrack, AliPID::kPion );

//This requires an Invariant Mass Hypothesis afterwards
      fTreeVariableDistOverTotMom = TMath::Sqrt(
						TMath::Power( tDecayVertexV0[0] - lBestPrimaryVtxPos[0] , 2) +
						TMath::Power( tDecayVertexV0[1] - lBestPrimaryVtxPos[1] , 2) +
						TMath::Power( tDecayVertexV0[2] - lBestPrimaryVtxPos[2] , 2)
					);
      fTreeVariableDistOverTotMom /= (lV0TotalMomentum+1e-10); //avoid division by zero, to be sure

//------------------------------------------------
// Fill Tree! 
//------------------------------------------------
     
     // The conditionals are meant to decrease excessive
     // memory usage!
     
     //First Selection: Reject OnFly
     if( (lOnFlyStatus == 0 && fkUseOnTheFly == kFALSE) || (lOnFlyStatus != 0 && fkUseOnTheFly == kTRUE ) ){
       //Second Selection: rough 20-sigma band, parametric.
       //K0Short: Enough to parametrize peak broadening with linear function.
       Double_t lUpperLimitK0Short = (5.63707e-01) + (1.14979e-02)*fTreeVariablePt;
       Double_t lLowerLimitK0Short = (4.30006e-01) - (1.10029e-02)*fTreeVariablePt;
       //Lambda: Linear (for higher pt) plus exponential (for low-pt broadening)
       //[0]+[1]*x+[2]*TMath::Exp(-[3]*x)
       Double_t lUpperLimitLambda = (1.13688e+00) + (5.27838e-03)*fTreeVariablePt + (8.42220e-02)*TMath::Exp(-(3.80595e+00)*fTreeVariablePt);
       Double_t lLowerLimitLambda = (1.09501e+00) - (5.23272e-03)*fTreeVariablePt - (7.52690e-02)*TMath::Exp(-(3.46339e+00)*fTreeVariablePt);
       //Do Selection
       if( (fTreeVariableInvMassLambda     < lUpperLimitLambda  && fTreeVariableInvMassLambda     > lLowerLimitLambda     ) ||
          (fTreeVariableInvMassAntiLambda < lUpperLimitLambda  && fTreeVariableInvMassAntiLambda > lLowerLimitLambda     ) ||
          (fTreeVariableInvMassK0s        < lUpperLimitK0Short && fTreeVariableInvMassK0s        > lLowerLimitK0Short    ) ){
         //Pre-selection in case this is AA...
         if( fkIsNuclear == kFALSE ) fTree->Fill();
         if( fkIsNuclear == kTRUE){
           //If this is a nuclear collision___________________
           // ... pre-filter with TPC, daughter eta selection
           if( (fTreeVariableInvMassLambda     < lUpperLimitLambda  && fTreeVariableInvMassLambda     > lLowerLimitLambda
                && ( fTPCdEdxSelection==kFALSE ||( fTPCdEdxSelection==kTRUE && TMath::Abs(fTreeVariableNSigmasPosProton) < 6.0 && TMath::Abs(fTreeVariableNSigmasNegPion) < 6.0 ) ) ) ||
              (fTreeVariableInvMassAntiLambda < lUpperLimitLambda  && fTreeVariableInvMassAntiLambda > lLowerLimitLambda
                && ( fTPCdEdxSelection==kFALSE ||( fTPCdEdxSelection==kTRUE && TMath::Abs(fTreeVariableNSigmasNegProton) < 6.0 && TMath::Abs(fTreeVariableNSigmasPosPion) < 6.0 ) ) ) ||
              (fTreeVariableInvMassK0s        < lUpperLimitK0Short && fTreeVariableInvMassK0s        > lLowerLimitK0Short
                && ( fTPCdEdxSelection==kFALSE ||( fTPCdEdxSelection==kTRUE && TMath::Abs(fTreeVariableNSigmasNegPion)   < 6.0 && TMath::Abs(fTreeVariableNSigmasPosPion) < 6.0 ) ) ) ){
                //insane test
                if ( TMath::Abs(fTreeVariableNegEta)<0.8 && TMath::Abs(fTreeVariablePosEta)<0.8) fTree->Fill();
              }
         }//end nuclear_____________________________________
       }
     }

//------------------------------------------------
// Fill tree over.
//------------------------------------------------

   }// This is the end of the V0 loop
  
  // Post output data.
    PostData(1, fListHistV0);
    PostData(2, fTree);


}

//________________________________________________________________________
void AliAnalysisTaskExtractV0::Terminate(Option_t *)
{
   // Draw result to the screen
   // Called once at the end of the query
   // This will draw the V0 candidate multiplicity, whose 
   // number of entries corresponds to the number of triggered events. 
   TList *cRetrievedList = 0x0;
   cRetrievedList = (TList*)GetOutputData(1);
   if(!cRetrievedList){
      Printf("ERROR - AliAnalysisTaskExtractV0 : ouput data container list not available\n");
      return;
   }		
   fHistV0MultiplicityForTrigEvt = dynamic_cast<TH1F*> (  cRetrievedList->FindObject("fHistV0MultiplicityForTrigEvt")  );
   if (!fHistV0MultiplicityForTrigEvt) {
      Printf("ERROR - AliAnalysisTaskExtractV0 : fHistV0MultiplicityForTrigEvt not available");
      return;
   }
   TCanvas *canCheck = new TCanvas("AliAnalysisTaskExtractV0","V0 Multiplicity",10,10,510,510);
   canCheck->cd(1)->SetLogy();
   fHistV0MultiplicityForTrigEvt->SetMarkerStyle(22);
   fHistV0MultiplicityForTrigEvt->DrawCopy("E");
}

//________________________________________________________________________
void AliAnalysisTaskExtractV0::CheckChargeV0(AliESDv0 *v0)
{
   // This function checks charge of negative and positive daughter tracks. 
   // If incorrectly defined (onfly vertexer), swaps out. 
   if( v0->GetParamN()->Charge() > 0 && v0->GetParamP()->Charge() < 0 ){
      //V0 daughter track swapping is required! Note: everything is swapped here... P->N, N->P
      Long_t lCorrectNidx = v0->GetPindex();
      Long_t lCorrectPidx = v0->GetNindex();
      Double32_t	lCorrectNmom[3];
      Double32_t	lCorrectPmom[3];
      v0->GetPPxPyPz( lCorrectNmom[0], lCorrectNmom[1], lCorrectNmom[2] );
      v0->GetNPxPyPz( lCorrectPmom[0], lCorrectPmom[1], lCorrectPmom[2] );

      AliExternalTrackParam	lCorrectParamN(
        v0->GetParamP()->GetX() , 
        v0->GetParamP()->GetAlpha() , 
        v0->GetParamP()->GetParameter() , 
        v0->GetParamP()->GetCovariance() 
      );
      AliExternalTrackParam	lCorrectParamP(
        v0->GetParamN()->GetX() , 
        v0->GetParamN()->GetAlpha() , 
        v0->GetParamN()->GetParameter() , 
        v0->GetParamN()->GetCovariance() 
      );
      lCorrectParamN.SetMostProbablePt( v0->GetParamP()->GetMostProbablePt() );
      lCorrectParamP.SetMostProbablePt( v0->GetParamN()->GetMostProbablePt() );

      //Get Variables___________________________________________________
      Double_t lDcaV0Daughters = v0 -> GetDcaV0Daughters();
      Double_t lCosPALocal     = v0 -> GetV0CosineOfPointingAngle(); 
      Bool_t lOnFlyStatusLocal = v0 -> GetOnFlyStatus();

      //Create Replacement Object_______________________________________
      AliESDv0 *v0correct = new AliESDv0(lCorrectParamN,lCorrectNidx,lCorrectParamP,lCorrectPidx);
      v0correct->SetDcaV0Daughters          ( lDcaV0Daughters   );
      v0correct->SetV0CosineOfPointingAngle ( lCosPALocal       );
      v0correct->ChangeMassHypothesis       ( kK0Short          );
      v0correct->SetOnFlyStatus             ( lOnFlyStatusLocal );

      //Reverse Cluster info..._________________________________________
      v0correct->SetClusters( v0->GetClusters( 1 ), v0->GetClusters ( 0 ) );

      *v0 = *v0correct;
      //Proper cleanup..._______________________________________________
      v0correct->Delete();
      v0correct = 0x0;

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