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 "AliAnalysisTaskExtractV0pPb.h"

//debugging purposes
#include "TObjectTable.h"

ClassImp(AliAnalysisTaskExtractV0pPb)

AliAnalysisTaskExtractV0pPb::AliAnalysisTaskExtractV0pPb() 
  : AliAnalysisTaskSE(), fListHistV0(0), fTree(0), fTreeEvents(0), fPIDResponse(0),
  fTPCdEdxSelection ( kTRUE ),
//------------------------------------------------
// Initialize 
	fTreeVariableChi2V0(0),
	fTreeVariableDcaV0Daughters(0),
	fTreeVariableDcaV0ToPrimVertex(0),
	fTreeVariableDcaPosToPrimVertex(0),
	fTreeVariableDcaNegToPrimVertex(0),
  fTreeVariableDCAV0ToPrimVertex(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),
	fTreeVariableCentrality(0),

//Event Tree
  fTreeEventsCentrality(0), 

//------------------------------------------------
// HISTOGRAMS
// --- Filled on an Event-by-event basis
//------------------------------------------------
  //V0A Centrality
  fHistCentralityProcessed(0),
  fHistCentralityTrigEvt(0),
  fHistCentralityHasVtx(0),
  fHistCentralityVtxZ(0)
{
  // Dummy Constructor
}

AliAnalysisTaskExtractV0pPb::AliAnalysisTaskExtractV0pPb(const char *name) 
  : AliAnalysisTaskSE(name), fListHistV0(0), fTree(0), fTreeEvents(0), fPIDResponse(0),
  fTPCdEdxSelection ( kTRUE ),
//------------------------------------------------
// Initialize 
	fTreeVariableChi2V0(0),
	fTreeVariableDcaV0Daughters(0),
	fTreeVariableDcaV0ToPrimVertex(0),
	fTreeVariableDcaPosToPrimVertex(0),
	fTreeVariableDcaNegToPrimVertex(0),
  fTreeVariableDCAV0ToPrimVertex(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),
	fTreeVariableCentrality(0),

//Event Tree
  fTreeEventsCentrality(0), 

//------------------------------------------------
// HISTOGRAMS
// --- Filled on an Event-by-event basis
//------------------------------------------------
  //V0A Centrality
  fHistCentralityProcessed(0),
  fHistCentralityTrigEvt(0),
  fHistCentralityHasVtx(0),
  fHistCentralityVtxZ(0)
{
  // Output slot #0 writes into a TList container (Lambda Histos and fTree)
   DefineOutput(1, TList::Class());
   DefineOutput(2, TTree::Class());
   DefineOutput(3, TTree::Class());
}


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

   if (fListHistV0){
      delete fListHistV0;
      fListHistV0 = 0x0;
   }
   if (fTree){
      delete fTree;
      fTree = 0x0;
   }
   if (fTreeEvents){
      delete fTreeEvents;
      fTreeEvents = 0x0;
   }
}



//________________________________________________________________________
void AliAnalysisTaskExtractV0pPb::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");
/* 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("fTreeVariableDCAV0ToPrimVertex",&fTreeVariableDCAV0ToPrimVertex,"fTreeVariableDCAV0ToPrimVertex/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("fTreeVariableCentrality",&fTreeVariableCentrality,"fTreeVariableCentrality/F");
//------------------------------------------------
/*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");
  
//------------------------------------------------
// fTreeEvents Branch definitions
//------------------------------------------------

   fTreeEvents = new TTree("fTreeEvents","Events");
/*01*/	fTreeEvents->Branch("fTreeEventsCentrality",&fTreeEventsCentrality,"fTreeEventsCentrality/F");

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

  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
  fPIDResponse = inputHandler->GetPIDResponse();

//------------------------------------------------
// 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

//------------------------------------------------
// V0A Centrality Histograms
//------------------------------------------------

  //Default V0A Centrality (if PbPb) 
   if(! fHistCentralityProcessed) {
      fHistCentralityProcessed = new TH1F("fHistCentralityProcessed", 
         "All processed Events;V0A Centrality;Events", 
         200, 0, 100); 		
      fListHistV0->Add(fHistCentralityProcessed);
   }
   if(! fHistCentralityTrigEvt) {
      fHistCentralityTrigEvt = new TH1F("fHistCentralityTrigEvt", 
         "PS selected Events;V0A Centrality;Events", 
         200, 0, 100); 		
      fListHistV0->Add(fHistCentralityTrigEvt);
   }
   if(! fHistCentralityHasVtx) {
      fHistCentralityHasVtx = new TH1F("fHistCentralityHasVtx", 
         "Events having Vertex;V0A Centrality;Events", 
         200, 0, 100); 		
      fListHistV0->Add(fHistCentralityHasVtx);
   }
   if(! fHistCentralityVtxZ) {
      fHistCentralityVtxZ = new TH1F("fHistCentralityVtxZ", 
         "Vertex |z|<10cm;V0A Centrality;Events", 
         200, 0, 100); 		
      fListHistV0->Add(fHistCentralityVtxZ);
   }
 
   //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);
   PostData(3, fTreeEvents);

}// end UserCreateOutputObjects


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

   //AliAODEvent *lAODevent = 0x0;

   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;
   }
  
   //REVISED multiplicity estimator after 'multiplicity day' (2011)
   Float_t lMultiplicity = -100;
   fTreeVariableCentrality = -100;

   //---> If this is a nuclear collision, then go nuclear on "multiplicity" variable...
   //---> Warning: Experimental
   AliCentrality* centrality;
   centrality = lESDevent->GetCentrality();
   if (centrality->GetQuality()>1) {
     PostData(1, fListHistV0);
     PostData(2, fTree);
     PostData(3, fTreeEvents);
     return;
   }
   lMultiplicity = centrality->GetCentralityPercentile( "V0A" );


   //Set variable for filling tree afterwards!
   //---> Always V0A
  fTreeVariableCentrality = lMultiplicity;
  fTreeEventsCentrality = lMultiplicity;
 
  fHistCentralityProcessed->Fill ( fTreeVariableCentrality );


//------------------------------------------------
// Physics Selection
//------------------------------------------------
  
  // new method
  UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
  Bool_t isSelected = 0;
  isSelected = (maskIsSelected & AliVEvent::kINT7) == AliVEvent::kINT7;
  
  //Trigger Selection for kINT7
  if ( !isSelected ) {
    PostData(1, fListHistV0);
    PostData(2, fTree);
    PostData(3, fTreeEvents);
    return;
  }
  
//------------------------------------------------
// After Trigger Selection
//------------------------------------------------

  fHistCentralityTrigEvt -> Fill( fTreeVariableCentrality );
  
//------------------------------------------------
// 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();

  //------------------------------------------------
  // 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(fHasVertex == kFALSE) {
    AliWarning("Pb / | PV does not satisfy selection criteria!");
    PostData(1, fListHistV0);
    PostData(2, fTree);
    PostData(3, fTreeEvents);
    return;
  }

  fHistCentralityHasVtx -> Fill ( fTreeVariableCentrality );
  
  //17 April Fix: Always do primary vertex Z selection, after pA vertex selection from Roberto
  if(TMath::Abs(lBestPrimaryVtxPos[2]) > 10.0) {
    AliWarning("Pb / | pPb case | Z position of Best Prim Vtx | > 10.0 cm ... return !");
    PostData(1, fListHistV0);
    PostData(2, fTree);
    PostData(3, fTreeEvents);
    return;
  }
  
  fHistCentralityVtxZ -> Fill ( fTreeVariableCentrality );  
  lMagneticField = lESDevent->GetMagneticField( );

  //Fill Event Tree: Analysis Selection Level
  fTreeEvents->Fill(); 

//------------------------------------------------
// MAIN LAMBDA LOOP STARTS HERE
//------------------------------------------------

//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;

      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]);

      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 ) ) 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 ) 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]);
      fTreeVariableDCAV0ToPrimVertex=lV0CosineOfPointingAngle;
      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 ){
       //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 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);
  PostData(3, fTreeEvents);
}

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