ROOT logo
#include "TChain.h"
#include "TF1.h"
#include "TRandom3.h"

#include "AliMCParticle.h"

#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"

#include "AliVEvent.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliMCEvent.h"
#include "AliESDInputHandler.h"
#include "AliInputEventHandler.h"
#include "AliVTrack.h"
#include "AliExternalTrackParam.h"
#include "AliVVertex.h"
#include "AliAnalysisFilter.h"
#include "AliPID.h"
#include "AliPIDResponse.h"
#include "AliESDv0KineCuts.h"
#include "AliESDv0.h"

#include "AliAnalysisTaskPIDV0base.h"

/*
This class is a base class for all other
analysis tasks that use V0's.
It provides basics for V0 identification.
In addition, some further basic functions are provided.

Class written by Benjamin Hess.
Contact: bhess@cern.ch
*/

ClassImp(AliAnalysisTaskPIDV0base)

Double_t AliAnalysisTaskPIDV0base::fgCutGeo = 1.;   
Double_t AliAnalysisTaskPIDV0base::fgCutNcr = 0.85; 
Double_t AliAnalysisTaskPIDV0base::fgCutNcl = 0.7;  

UShort_t AliAnalysisTaskPIDV0base::fgCutPureNcl = 60;

//________________________________________________________________________
AliAnalysisTaskPIDV0base::AliAnalysisTaskPIDV0base()
  : AliAnalysisTaskSE()
  , fEvent(0x0)
  , fESD(0x0)
  , fMC(0x0)
  , fPIDResponse(0x0)
  , fV0KineCuts(0x0)
  , fAnaUtils(0x0)
  , fIsPbpOrpPb(kFALSE)
  , fUsePhiCut(kFALSE)
  , fTPCcutType(kNoCut)
  , fZvtxCutEvent(10.0)
  , fEtaCut(0.9)
  , fPhiCutLow(0x0)
  , fPhiCutHigh(0x0)
  , fRandom(0x0)
  , fTrackFilter(0x0)
  , fNumTagsStored(0)
  , fV0tags(0x0)
  , fStoreMotherIndex(kFALSE)
  , fV0motherIndex(0x0)
{
  // default Constructor
  
  fRandom = new TRandom3(0); // 0 means random seed


  // Question: Is this the right place to initialize these functions?
  // Will it work on proof? i.e. will they be streamed to the workers?
  // Also one should add getters and setters
  fPhiCutLow  = new TF1("StdPhiCutLow",  "0.1/x/x+pi/18.0-0.025", 0, 100);
  fPhiCutHigh = new TF1("StandardPhiCutHigh", "0.12/x+pi/18.0+0.035", 0, 100);
}

//________________________________________________________________________
AliAnalysisTaskPIDV0base::AliAnalysisTaskPIDV0base(const char *name)
  : AliAnalysisTaskSE(name)
  , fEvent(0x0)
  , fESD(0x0)
  , fMC(0x0)
  , fPIDResponse(0x0)
  , fV0KineCuts(0x0)
  , fAnaUtils(0x0)
  , fIsPbpOrpPb(kFALSE)
  , fUsePhiCut(kFALSE)
  , fTPCcutType(kNoCut)
  , fZvtxCutEvent(10.0)
  , fEtaCut(0.9)
  , fPhiCutLow(0x0)
  , fPhiCutHigh(0x0)
  , fRandom(0x0)
  , fTrackFilter(0x0)
  , fNumTagsStored(0)
  , fV0tags(0x0)
  , fStoreMotherIndex(kFALSE)
  , fV0motherIndex(0x0)
{
  // Constructor
  
  fRandom = new TRandom3(0); // 0 means random seed

  
  // Question: Is this the right place to initialize these functions?
  // Will it work on proof? i.e. will they be streamed to the workers?
  // Also one should add getters and setters
  fPhiCutLow  = new TF1("StdPhiCutLow",  "0.1/x/x+pi/18.0-0.025", 0, 100);
  fPhiCutHigh = new TF1("StandardPhiCutHigh", "0.12/x+pi/18.0+0.035", 0, 100);

  DefineInput (0, TChain::Class());
  DefineOutput(0,  TTree::Class());
}


//________________________________________________________________________
AliAnalysisTaskPIDV0base::~AliAnalysisTaskPIDV0base()
{
  // dtor
  
  delete fPhiCutLow;
  fPhiCutLow = 0;
  
  delete fPhiCutHigh;
  fPhiCutHigh = 0;
  
  delete fTrackFilter;
  fTrackFilter = 0;
  
  delete fRandom;
  fRandom = 0;
  
  delete fV0KineCuts;
  fV0KineCuts = 0;
  
  delete fV0tags;
  fV0tags = 0;
  fNumTagsStored = 0;
  
  delete fV0motherIndex;
  fV0motherIndex = 0;
  
  delete fAnaUtils;
  fAnaUtils = 0;
}


//________________________________________________________________________
void AliAnalysisTaskPIDV0base::UserCreateOutputObjects()
{
  // Create histograms
  // Called once
  
  // Input hander
  AliAnalysisManager* man = AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler* inputHandler = dynamic_cast<AliInputEventHandler*>(man->GetInputEventHandler());
  
  if (!inputHandler) {
    AliFatal("Input handler needed");
    fPIDResponse = 0x0;
    
    return;
  }

  // PID response object
  fPIDResponse = inputHandler->GetPIDResponse();
  if (!fPIDResponse)
    AliError("PIDResponse object was not created");
  
  // V0 Kine cuts 
  fV0KineCuts = new AliESDv0KineCuts;
  fV0KineCuts->SetGammaCutChi2NDF(5.);
  // Only accept V0el with prod. radius within 45 cm -> PID will by systematically biased for larger values!
  Float_t gammaProdVertexRadiusCuts[2] = { 3.0, 45. }; 
  fV0KineCuts->SetGammaCutVertexR(&gammaProdVertexRadiusCuts[0]);
  
  // Default analysis utils
  fAnaUtils = new AliAnalysisUtils();
  
  // Not used yet, but to be save, forward vertex z cut to analysis utils object
  fAnaUtils->SetMaxVtxZ(fZvtxCutEvent);
}


//________________________________________________________________________
void AliAnalysisTaskPIDV0base::UserExec(Option_t *)
{
  // Main loop
  // Called for each event
}      

//________________________________________________________________________
void AliAnalysisTaskPIDV0base::Terminate(const Option_t *)
{
  // Called once at the end of the query
}


//_____________________________________________________________________________
Double_t AliAnalysisTaskPIDV0base::GetPhiPrime(Double_t phi, Double_t magField, Int_t charge) const
{
  // Get phiPrime which is the cut variable to reject high pT tracks near edges

  if(magField < 0)    // for negatve polarity field
    phi = TMath::TwoPi() - phi;
    
  if(charge < 0) // for negatve charge
    phi = TMath::TwoPi() - phi;
  
  phi += TMath::Pi() / 18.0; // to center gap in the middle
  phi = fmod(phi, TMath::Pi() / 9.0);
  return phi;
}


//______________________________________________________________________________
Bool_t AliAnalysisTaskPIDV0base::PhiPrimeCut(Double_t trackPt, Double_t trackPhi, Short_t trackCharge, Double_t magField) const
{
  // Apply phi' cut to given track parameters
  
  if (trackPt < 2.0)
    return kTRUE;
  
  Double_t phiPrime = GetPhiPrime(trackPhi, magField, trackCharge);
  
  if (phiPrime < fPhiCutHigh->Eval(trackPt) && phiPrime > fPhiCutLow->Eval(trackPt))
    return kFALSE; // reject track
    
    return kTRUE;
}


//______________________________________________________________________________
Bool_t AliAnalysisTaskPIDV0base::PhiPrimeCut(const AliVTrack* track, Double_t magField) const
{
  return PhiPrimeCut(track->Pt(), track->Phi(), track->Charge(), magField);
}


//______________________________________________________________________________
Bool_t AliAnalysisTaskPIDV0base::GetVertexIsOk(AliVEvent* event, Bool_t doVtxZcut) const
{
  // Check whether vertex ful-fills quality requirements.
  // Apply cut on z-position of vertex if doVtxZcut = kTRUE.
  
  AliAODEvent* aod = 0x0;
  AliESDEvent* esd = 0x0;
  
  aod = dynamic_cast<AliAODEvent*>(event);
  if (!aod) {
    esd = dynamic_cast<AliESDEvent*>(event);
    
    if (!esd) {
      AliError("Event seems to be neither AOD nor ESD!");
      return kFALSE;
    }
  }
    
  if (fIsPbpOrpPb) {
    const AliVVertex* trkVtx = (aod ? dynamic_cast<const AliVVertex*>(aod->GetPrimaryVertex()) :
                                      dynamic_cast<const AliVVertex*>(esd->GetPrimaryVertex()));
      
    if (!trkVtx || trkVtx->GetNContributors() <= 0)
      return kFALSE;
      
    TString vtxTtl = trkVtx->GetTitle();
    if (!vtxTtl.Contains("VertexerTracks"))
      return kFALSE;
      
    Float_t zvtx = trkVtx->GetZ();
    const AliVVertex* spdVtx = (aod ? dynamic_cast<const AliVVertex*>(aod->GetPrimaryVertexSPD()) :
                                      dynamic_cast<const AliVVertex*>(esd->GetPrimaryVertexSPD()));
    if (spdVtx->GetNContributors() <= 0)
      return kFALSE;
      
    TString vtxTyp = spdVtx->GetTitle();
    Double_t cov[6] = {0};
    spdVtx->GetCovarianceMatrix(cov);
    Double_t zRes = TMath::Sqrt(cov[5]);
    if (vtxTyp.Contains("vertexer:Z") && (zRes > 0.25))
      return kFALSE;
      
    if (TMath::Abs(spdVtx->GetZ() - trkVtx->GetZ()) > 0.5)
      return kFALSE;
    
    if (doVtxZcut) {
      if (TMath::Abs(zvtx) > fZvtxCutEvent) //Default: 10 cm
        return kFALSE;
    }
      
    return kTRUE;
  }
    
  
  // pp and PbPb
  const AliVVertex* primaryVertex = 0x0;
  if (aod) {
    primaryVertex = dynamic_cast<const AliVVertex*>(aod->GetPrimaryVertex());
    if (!primaryVertex || primaryVertex->GetNContributors() <= 0) 
      return kFALSE;
    
    // Reject TPC vertices
    TString primVtxTitle(primaryVertex->GetTitle());
    if (primVtxTitle.Contains("TPCVertex",TString::kIgnoreCase))
      return kFALSE;
  }
  else {
    primaryVertex = dynamic_cast<const AliVVertex*>(esd->GetPrimaryVertexTracks());
    if (!primaryVertex)
      return kFALSE;
    
    if (primaryVertex->GetNContributors() <= 0) {
      // Try SPD vertex
      primaryVertex = dynamic_cast<const AliVVertex*>(esd->GetPrimaryVertexSPD());
      if (!primaryVertex || primaryVertex->GetNContributors() <= 0) 
        return kFALSE;
    }
  }
  
  if (doVtxZcut) {
    if (TMath::Abs(primaryVertex->GetZ()) > fZvtxCutEvent) //Default: 10 cm
      return kFALSE;
  }
  
  return kTRUE;
}


//______________________________________________________________________________
Bool_t AliAnalysisTaskPIDV0base::GetIsPileUp(AliVEvent* event, AliAnalysisTaskPIDV0base::PileUpRejectionType pileUpRejectionType) const
{
  // Check whether event is a pile-up event according to current AnalysisUtils object.
  // If rejection type is kPileUpRejectionOff, kFALSE is returned.
  // In case of errors, the error is displayed and kTRUE is returned.
  
  if (pileUpRejectionType == kPileUpRejectionOff)
    return kFALSE;
  
  if (!event) {
    AliError("No event!");
    return kTRUE;
  }
  
  if (!fAnaUtils) {
    AliError("AnalysisUtils object not available!");
    return kTRUE;
  }
  
  if (pileUpRejectionType == kPileUpRejectionSPD)
    return fAnaUtils->IsPileUpSPD(event);
  else if (pileUpRejectionType == kPileUpRejectionMV)
    return fAnaUtils->IsPileUpMV(event);
  
  return kTRUE;
}


//______________________________________________________________________________
void AliAnalysisTaskPIDV0base::FillV0PIDlist(AliESDEvent* event)
{
  //
  // Fill the PID tag list
  //

  // If no event forwarded as parameter (default), cast current input event.
  // Dynamic cast to ESD events (DO NOTHING for AOD events)
  if (!event)
    event = dynamic_cast<AliESDEvent *>(InputEvent());
  
  // If this fails, do nothing
  if (!event) {
    AliError("Failed to retrieve ESD event. No V0's processed (only works for ESDs by now).");
    return;
  }
  
  if (!fV0KineCuts) {
    AliError("V0KineCuts not available!");
    return;
  }
  
  TString beamType(event->GetBeamType());
  
  if (beamType.CompareTo("Pb-Pb") == 0 || beamType.CompareTo("A-A") == 0) {
    fV0KineCuts->SetMode(AliESDv0KineCuts::kPurity, AliESDv0KineCuts::kPbPb);
  }
  else {
    fV0KineCuts->SetMode(AliESDv0KineCuts::kPurity, AliESDv0KineCuts::kPP); 
  }

  // V0 selection
  // set event
  fV0KineCuts->SetEvent(event);

  const Int_t numTracks = event->GetNumberOfTracks();
  fV0tags = new Char_t[numTracks];
  for (Int_t i = 0; i < numTracks; i++)
    fV0tags[i] = 0;
  
  if (fStoreMotherIndex)  {
    fV0motherIndex = new Int_t[numTracks];
    for (Int_t i = 0; i < numTracks; i++)
      fV0motherIndex[i] = -1;
  }
  
  fNumTagsStored = numTracks;
  
  // loop over V0 particles
  for (Int_t iv0 = 0; iv0 < event->GetNumberOfV0s(); iv0++) {
    AliESDv0* v0 = (AliESDv0*)event->GetV0(iv0);
 
    if (!v0)
      continue;
    
    // Reject onFly V0's <-> Only take V0's from offline V0 finder
    if (v0->GetOnFlyStatus())
      continue; 
  
    // Get the particle selection 
    Bool_t foundV0 = kFALSE;
    Int_t pdgV0 = 0, pdgP = 0, pdgN = 0;

    foundV0 = fV0KineCuts->ProcessV0(v0, pdgV0, pdgP, pdgN);
    if (!foundV0)
      continue;
    
    Int_t iTrackP = v0->GetPindex();  // positive track
    Int_t iTrackN = v0->GetNindex();  // negative track

    
    // Fill the Object arrays
    // positive particles
    if (pdgP == -11) {
      fV0tags[iTrackP] = 14;
    }
    else if (pdgP == 211) {
      fV0tags[iTrackP] = 15;
    }
    else if(pdgP == 2212) {
      fV0tags[iTrackP] = 16;
    }
    
    if (fStoreMotherIndex)
      fV0motherIndex[iTrackP] = iv0;

    // negative particles
    if( pdgN == 11){
      fV0tags[iTrackN] = -14;
    }
    else if( pdgN == -211){
      fV0tags[iTrackN] = -15;
    }
    else if( pdgN == -2212){
      fV0tags[iTrackN] = -16;
    }
    
    if (fStoreMotherIndex)
      fV0motherIndex[iTrackN] = iv0;
  }
}


//______________________________________________________________________________
void AliAnalysisTaskPIDV0base::ClearV0PIDlist()
{
  //
  // Clear the PID tag list
  //

  delete fV0tags;
  fV0tags = 0;
  
  delete fV0motherIndex;
  fV0motherIndex = 0;
  
  fNumTagsStored = 0;
}


//______________________________________________________________________________
Char_t AliAnalysisTaskPIDV0base::GetV0tag(Int_t trackIndex) const
{
  //
  // Get the tag for the corresponding trackIndex. Returns -99 in case of invalid index/tag list.
  //
  
  if (trackIndex < 0 || trackIndex >= fNumTagsStored || !fV0tags)
    return -99;
  
  return fV0tags[trackIndex];
}


//______________________________________________________________________________
Int_t AliAnalysisTaskPIDV0base::GetV0motherIndex(Int_t trackIndex) const
{
  //
  // Get the index of the V0 mother for the corresponding trackIndex. Returns -99 in case of invalid index/mother index list.
  //
  
  if (!fStoreMotherIndex || trackIndex < 0 || trackIndex >= fNumTagsStored || !fV0motherIndex)
    return -99;
  
  return fV0motherIndex[trackIndex];
}


//________________________________________________________________________
Bool_t AliAnalysisTaskPIDV0base::TPCCutMIGeo(const AliVTrack* track, const AliVEvent* evt, TTreeStream* streamer)
{
  //
  // TPC Cut MIGeo
  //

  if (!track || !evt)
    return kFALSE;
  
  const Short_t sign = track->Charge();
  Double_t xyz[50];
  Double_t pxpypz[50];
  Double_t cv[100];

  track->GetXYZ(xyz);
  track->GetPxPyPz(pxpypz);

  AliExternalTrackParam* par = new AliExternalTrackParam(xyz, pxpypz, cv, sign);
  const AliESDtrack dummy;

  const Double_t magField = evt->GetMagneticField();
  Double_t varGeom = dummy.GetLengthInActiveZone(par, 3, 236, magField, 0, 0);
  Double_t varNcr  = track->GetTPCClusterInfo(3, 1);
  Double_t varNcls = track->GetTPCsignalN();

  const Double_t varEval = 130. - 5. * TMath::Abs(1. / track->Pt());
  Bool_t cutGeom   = varGeom > fgCutGeo * varEval;
  Bool_t cutNcr    = varNcr  > fgCutNcr * varEval;
  Bool_t cutNcls   = varNcls > fgCutNcl * varEval;

  Bool_t kout = cutGeom && cutNcr && cutNcls;

  if (streamer) {
    Double_t dedx = track->GetTPCsignal();

    (*streamer)<<"tree"<<
      "param.="<< par<<
      "varGeom="<<varGeom<<
      "varNcr="<<varNcr<<
      "varNcls="<<varNcls<<
      
      "cutGeom="<<cutGeom<<
      "cutNcr="<<cutNcr<<
      "cutNcls="<<cutNcls<<
      
      "kout="<<kout<<
      "dedx="<<dedx<<
      
      "\n";
  }
  
  delete par;
  
  return kout;
}


//________________________________________________________________________
Bool_t AliAnalysisTaskPIDV0base::TPCnclCut(const AliVTrack* track)
{
  //
  // TPC Cut on TPCsignalN() only
  //

  if (!track)
    return kFALSE;
  
  return (track->GetTPCsignalN() >= fgCutPureNcl);
}
 AliAnalysisTaskPIDV0base.cxx:1
 AliAnalysisTaskPIDV0base.cxx:2
 AliAnalysisTaskPIDV0base.cxx:3
 AliAnalysisTaskPIDV0base.cxx:4
 AliAnalysisTaskPIDV0base.cxx:5
 AliAnalysisTaskPIDV0base.cxx:6
 AliAnalysisTaskPIDV0base.cxx:7
 AliAnalysisTaskPIDV0base.cxx:8
 AliAnalysisTaskPIDV0base.cxx:9
 AliAnalysisTaskPIDV0base.cxx:10
 AliAnalysisTaskPIDV0base.cxx:11
 AliAnalysisTaskPIDV0base.cxx:12
 AliAnalysisTaskPIDV0base.cxx:13
 AliAnalysisTaskPIDV0base.cxx:14
 AliAnalysisTaskPIDV0base.cxx:15
 AliAnalysisTaskPIDV0base.cxx:16
 AliAnalysisTaskPIDV0base.cxx:17
 AliAnalysisTaskPIDV0base.cxx:18
 AliAnalysisTaskPIDV0base.cxx:19
 AliAnalysisTaskPIDV0base.cxx:20
 AliAnalysisTaskPIDV0base.cxx:21
 AliAnalysisTaskPIDV0base.cxx:22
 AliAnalysisTaskPIDV0base.cxx:23
 AliAnalysisTaskPIDV0base.cxx:24
 AliAnalysisTaskPIDV0base.cxx:25
 AliAnalysisTaskPIDV0base.cxx:26
 AliAnalysisTaskPIDV0base.cxx:27
 AliAnalysisTaskPIDV0base.cxx:28
 AliAnalysisTaskPIDV0base.cxx:29
 AliAnalysisTaskPIDV0base.cxx:30
 AliAnalysisTaskPIDV0base.cxx:31
 AliAnalysisTaskPIDV0base.cxx:32
 AliAnalysisTaskPIDV0base.cxx:33
 AliAnalysisTaskPIDV0base.cxx:34
 AliAnalysisTaskPIDV0base.cxx:35
 AliAnalysisTaskPIDV0base.cxx:36
 AliAnalysisTaskPIDV0base.cxx:37
 AliAnalysisTaskPIDV0base.cxx:38
 AliAnalysisTaskPIDV0base.cxx:39
 AliAnalysisTaskPIDV0base.cxx:40
 AliAnalysisTaskPIDV0base.cxx:41
 AliAnalysisTaskPIDV0base.cxx:42
 AliAnalysisTaskPIDV0base.cxx:43
 AliAnalysisTaskPIDV0base.cxx:44
 AliAnalysisTaskPIDV0base.cxx:45
 AliAnalysisTaskPIDV0base.cxx:46
 AliAnalysisTaskPIDV0base.cxx:47
 AliAnalysisTaskPIDV0base.cxx:48
 AliAnalysisTaskPIDV0base.cxx:49
 AliAnalysisTaskPIDV0base.cxx:50
 AliAnalysisTaskPIDV0base.cxx:51
 AliAnalysisTaskPIDV0base.cxx:52
 AliAnalysisTaskPIDV0base.cxx:53
 AliAnalysisTaskPIDV0base.cxx:54
 AliAnalysisTaskPIDV0base.cxx:55
 AliAnalysisTaskPIDV0base.cxx:56
 AliAnalysisTaskPIDV0base.cxx:57
 AliAnalysisTaskPIDV0base.cxx:58
 AliAnalysisTaskPIDV0base.cxx:59
 AliAnalysisTaskPIDV0base.cxx:60
 AliAnalysisTaskPIDV0base.cxx:61
 AliAnalysisTaskPIDV0base.cxx:62
 AliAnalysisTaskPIDV0base.cxx:63
 AliAnalysisTaskPIDV0base.cxx:64
 AliAnalysisTaskPIDV0base.cxx:65
 AliAnalysisTaskPIDV0base.cxx:66
 AliAnalysisTaskPIDV0base.cxx:67
 AliAnalysisTaskPIDV0base.cxx:68
 AliAnalysisTaskPIDV0base.cxx:69
 AliAnalysisTaskPIDV0base.cxx:70
 AliAnalysisTaskPIDV0base.cxx:71
 AliAnalysisTaskPIDV0base.cxx:72
 AliAnalysisTaskPIDV0base.cxx:73
 AliAnalysisTaskPIDV0base.cxx:74
 AliAnalysisTaskPIDV0base.cxx:75
 AliAnalysisTaskPIDV0base.cxx:76
 AliAnalysisTaskPIDV0base.cxx:77
 AliAnalysisTaskPIDV0base.cxx:78
 AliAnalysisTaskPIDV0base.cxx:79
 AliAnalysisTaskPIDV0base.cxx:80
 AliAnalysisTaskPIDV0base.cxx:81
 AliAnalysisTaskPIDV0base.cxx:82
 AliAnalysisTaskPIDV0base.cxx:83
 AliAnalysisTaskPIDV0base.cxx:84
 AliAnalysisTaskPIDV0base.cxx:85
 AliAnalysisTaskPIDV0base.cxx:86
 AliAnalysisTaskPIDV0base.cxx:87
 AliAnalysisTaskPIDV0base.cxx:88
 AliAnalysisTaskPIDV0base.cxx:89
 AliAnalysisTaskPIDV0base.cxx:90
 AliAnalysisTaskPIDV0base.cxx:91
 AliAnalysisTaskPIDV0base.cxx:92
 AliAnalysisTaskPIDV0base.cxx:93
 AliAnalysisTaskPIDV0base.cxx:94
 AliAnalysisTaskPIDV0base.cxx:95
 AliAnalysisTaskPIDV0base.cxx:96
 AliAnalysisTaskPIDV0base.cxx:97
 AliAnalysisTaskPIDV0base.cxx:98
 AliAnalysisTaskPIDV0base.cxx:99
 AliAnalysisTaskPIDV0base.cxx:100
 AliAnalysisTaskPIDV0base.cxx:101
 AliAnalysisTaskPIDV0base.cxx:102
 AliAnalysisTaskPIDV0base.cxx:103
 AliAnalysisTaskPIDV0base.cxx:104
 AliAnalysisTaskPIDV0base.cxx:105
 AliAnalysisTaskPIDV0base.cxx:106
 AliAnalysisTaskPIDV0base.cxx:107
 AliAnalysisTaskPIDV0base.cxx:108
 AliAnalysisTaskPIDV0base.cxx:109
 AliAnalysisTaskPIDV0base.cxx:110
 AliAnalysisTaskPIDV0base.cxx:111
 AliAnalysisTaskPIDV0base.cxx:112
 AliAnalysisTaskPIDV0base.cxx:113
 AliAnalysisTaskPIDV0base.cxx:114
 AliAnalysisTaskPIDV0base.cxx:115
 AliAnalysisTaskPIDV0base.cxx:116
 AliAnalysisTaskPIDV0base.cxx:117
 AliAnalysisTaskPIDV0base.cxx:118
 AliAnalysisTaskPIDV0base.cxx:119
 AliAnalysisTaskPIDV0base.cxx:120
 AliAnalysisTaskPIDV0base.cxx:121
 AliAnalysisTaskPIDV0base.cxx:122
 AliAnalysisTaskPIDV0base.cxx:123
 AliAnalysisTaskPIDV0base.cxx:124
 AliAnalysisTaskPIDV0base.cxx:125
 AliAnalysisTaskPIDV0base.cxx:126
 AliAnalysisTaskPIDV0base.cxx:127
 AliAnalysisTaskPIDV0base.cxx:128
 AliAnalysisTaskPIDV0base.cxx:129
 AliAnalysisTaskPIDV0base.cxx:130
 AliAnalysisTaskPIDV0base.cxx:131
 AliAnalysisTaskPIDV0base.cxx:132
 AliAnalysisTaskPIDV0base.cxx:133
 AliAnalysisTaskPIDV0base.cxx:134
 AliAnalysisTaskPIDV0base.cxx:135
 AliAnalysisTaskPIDV0base.cxx:136
 AliAnalysisTaskPIDV0base.cxx:137
 AliAnalysisTaskPIDV0base.cxx:138
 AliAnalysisTaskPIDV0base.cxx:139
 AliAnalysisTaskPIDV0base.cxx:140
 AliAnalysisTaskPIDV0base.cxx:141
 AliAnalysisTaskPIDV0base.cxx:142
 AliAnalysisTaskPIDV0base.cxx:143
 AliAnalysisTaskPIDV0base.cxx:144
 AliAnalysisTaskPIDV0base.cxx:145
 AliAnalysisTaskPIDV0base.cxx:146
 AliAnalysisTaskPIDV0base.cxx:147
 AliAnalysisTaskPIDV0base.cxx:148
 AliAnalysisTaskPIDV0base.cxx:149
 AliAnalysisTaskPIDV0base.cxx:150
 AliAnalysisTaskPIDV0base.cxx:151
 AliAnalysisTaskPIDV0base.cxx:152
 AliAnalysisTaskPIDV0base.cxx:153
 AliAnalysisTaskPIDV0base.cxx:154
 AliAnalysisTaskPIDV0base.cxx:155
 AliAnalysisTaskPIDV0base.cxx:156
 AliAnalysisTaskPIDV0base.cxx:157
 AliAnalysisTaskPIDV0base.cxx:158
 AliAnalysisTaskPIDV0base.cxx:159
 AliAnalysisTaskPIDV0base.cxx:160
 AliAnalysisTaskPIDV0base.cxx:161
 AliAnalysisTaskPIDV0base.cxx:162
 AliAnalysisTaskPIDV0base.cxx:163
 AliAnalysisTaskPIDV0base.cxx:164
 AliAnalysisTaskPIDV0base.cxx:165
 AliAnalysisTaskPIDV0base.cxx:166
 AliAnalysisTaskPIDV0base.cxx:167
 AliAnalysisTaskPIDV0base.cxx:168
 AliAnalysisTaskPIDV0base.cxx:169
 AliAnalysisTaskPIDV0base.cxx:170
 AliAnalysisTaskPIDV0base.cxx:171
 AliAnalysisTaskPIDV0base.cxx:172
 AliAnalysisTaskPIDV0base.cxx:173
 AliAnalysisTaskPIDV0base.cxx:174
 AliAnalysisTaskPIDV0base.cxx:175
 AliAnalysisTaskPIDV0base.cxx:176
 AliAnalysisTaskPIDV0base.cxx:177
 AliAnalysisTaskPIDV0base.cxx:178
 AliAnalysisTaskPIDV0base.cxx:179
 AliAnalysisTaskPIDV0base.cxx:180
 AliAnalysisTaskPIDV0base.cxx:181
 AliAnalysisTaskPIDV0base.cxx:182
 AliAnalysisTaskPIDV0base.cxx:183
 AliAnalysisTaskPIDV0base.cxx:184
 AliAnalysisTaskPIDV0base.cxx:185
 AliAnalysisTaskPIDV0base.cxx:186
 AliAnalysisTaskPIDV0base.cxx:187
 AliAnalysisTaskPIDV0base.cxx:188
 AliAnalysisTaskPIDV0base.cxx:189
 AliAnalysisTaskPIDV0base.cxx:190
 AliAnalysisTaskPIDV0base.cxx:191
 AliAnalysisTaskPIDV0base.cxx:192
 AliAnalysisTaskPIDV0base.cxx:193
 AliAnalysisTaskPIDV0base.cxx:194
 AliAnalysisTaskPIDV0base.cxx:195
 AliAnalysisTaskPIDV0base.cxx:196
 AliAnalysisTaskPIDV0base.cxx:197
 AliAnalysisTaskPIDV0base.cxx:198
 AliAnalysisTaskPIDV0base.cxx:199
 AliAnalysisTaskPIDV0base.cxx:200
 AliAnalysisTaskPIDV0base.cxx:201
 AliAnalysisTaskPIDV0base.cxx:202
 AliAnalysisTaskPIDV0base.cxx:203
 AliAnalysisTaskPIDV0base.cxx:204
 AliAnalysisTaskPIDV0base.cxx:205
 AliAnalysisTaskPIDV0base.cxx:206
 AliAnalysisTaskPIDV0base.cxx:207
 AliAnalysisTaskPIDV0base.cxx:208
 AliAnalysisTaskPIDV0base.cxx:209
 AliAnalysisTaskPIDV0base.cxx:210
 AliAnalysisTaskPIDV0base.cxx:211
 AliAnalysisTaskPIDV0base.cxx:212
 AliAnalysisTaskPIDV0base.cxx:213
 AliAnalysisTaskPIDV0base.cxx:214
 AliAnalysisTaskPIDV0base.cxx:215
 AliAnalysisTaskPIDV0base.cxx:216
 AliAnalysisTaskPIDV0base.cxx:217
 AliAnalysisTaskPIDV0base.cxx:218
 AliAnalysisTaskPIDV0base.cxx:219
 AliAnalysisTaskPIDV0base.cxx:220
 AliAnalysisTaskPIDV0base.cxx:221
 AliAnalysisTaskPIDV0base.cxx:222
 AliAnalysisTaskPIDV0base.cxx:223
 AliAnalysisTaskPIDV0base.cxx:224
 AliAnalysisTaskPIDV0base.cxx:225
 AliAnalysisTaskPIDV0base.cxx:226
 AliAnalysisTaskPIDV0base.cxx:227
 AliAnalysisTaskPIDV0base.cxx:228
 AliAnalysisTaskPIDV0base.cxx:229
 AliAnalysisTaskPIDV0base.cxx:230
 AliAnalysisTaskPIDV0base.cxx:231
 AliAnalysisTaskPIDV0base.cxx:232
 AliAnalysisTaskPIDV0base.cxx:233
 AliAnalysisTaskPIDV0base.cxx:234
 AliAnalysisTaskPIDV0base.cxx:235
 AliAnalysisTaskPIDV0base.cxx:236
 AliAnalysisTaskPIDV0base.cxx:237
 AliAnalysisTaskPIDV0base.cxx:238
 AliAnalysisTaskPIDV0base.cxx:239
 AliAnalysisTaskPIDV0base.cxx:240
 AliAnalysisTaskPIDV0base.cxx:241
 AliAnalysisTaskPIDV0base.cxx:242
 AliAnalysisTaskPIDV0base.cxx:243
 AliAnalysisTaskPIDV0base.cxx:244
 AliAnalysisTaskPIDV0base.cxx:245
 AliAnalysisTaskPIDV0base.cxx:246
 AliAnalysisTaskPIDV0base.cxx:247
 AliAnalysisTaskPIDV0base.cxx:248
 AliAnalysisTaskPIDV0base.cxx:249
 AliAnalysisTaskPIDV0base.cxx:250
 AliAnalysisTaskPIDV0base.cxx:251
 AliAnalysisTaskPIDV0base.cxx:252
 AliAnalysisTaskPIDV0base.cxx:253
 AliAnalysisTaskPIDV0base.cxx:254
 AliAnalysisTaskPIDV0base.cxx:255
 AliAnalysisTaskPIDV0base.cxx:256
 AliAnalysisTaskPIDV0base.cxx:257
 AliAnalysisTaskPIDV0base.cxx:258
 AliAnalysisTaskPIDV0base.cxx:259
 AliAnalysisTaskPIDV0base.cxx:260
 AliAnalysisTaskPIDV0base.cxx:261
 AliAnalysisTaskPIDV0base.cxx:262
 AliAnalysisTaskPIDV0base.cxx:263
 AliAnalysisTaskPIDV0base.cxx:264
 AliAnalysisTaskPIDV0base.cxx:265
 AliAnalysisTaskPIDV0base.cxx:266
 AliAnalysisTaskPIDV0base.cxx:267
 AliAnalysisTaskPIDV0base.cxx:268
 AliAnalysisTaskPIDV0base.cxx:269
 AliAnalysisTaskPIDV0base.cxx:270
 AliAnalysisTaskPIDV0base.cxx:271
 AliAnalysisTaskPIDV0base.cxx:272
 AliAnalysisTaskPIDV0base.cxx:273
 AliAnalysisTaskPIDV0base.cxx:274
 AliAnalysisTaskPIDV0base.cxx:275
 AliAnalysisTaskPIDV0base.cxx:276
 AliAnalysisTaskPIDV0base.cxx:277
 AliAnalysisTaskPIDV0base.cxx:278
 AliAnalysisTaskPIDV0base.cxx:279
 AliAnalysisTaskPIDV0base.cxx:280
 AliAnalysisTaskPIDV0base.cxx:281
 AliAnalysisTaskPIDV0base.cxx:282
 AliAnalysisTaskPIDV0base.cxx:283
 AliAnalysisTaskPIDV0base.cxx:284
 AliAnalysisTaskPIDV0base.cxx:285
 AliAnalysisTaskPIDV0base.cxx:286
 AliAnalysisTaskPIDV0base.cxx:287
 AliAnalysisTaskPIDV0base.cxx:288
 AliAnalysisTaskPIDV0base.cxx:289
 AliAnalysisTaskPIDV0base.cxx:290
 AliAnalysisTaskPIDV0base.cxx:291
 AliAnalysisTaskPIDV0base.cxx:292
 AliAnalysisTaskPIDV0base.cxx:293
 AliAnalysisTaskPIDV0base.cxx:294
 AliAnalysisTaskPIDV0base.cxx:295
 AliAnalysisTaskPIDV0base.cxx:296
 AliAnalysisTaskPIDV0base.cxx:297
 AliAnalysisTaskPIDV0base.cxx:298
 AliAnalysisTaskPIDV0base.cxx:299
 AliAnalysisTaskPIDV0base.cxx:300
 AliAnalysisTaskPIDV0base.cxx:301
 AliAnalysisTaskPIDV0base.cxx:302
 AliAnalysisTaskPIDV0base.cxx:303
 AliAnalysisTaskPIDV0base.cxx:304
 AliAnalysisTaskPIDV0base.cxx:305
 AliAnalysisTaskPIDV0base.cxx:306
 AliAnalysisTaskPIDV0base.cxx:307
 AliAnalysisTaskPIDV0base.cxx:308
 AliAnalysisTaskPIDV0base.cxx:309
 AliAnalysisTaskPIDV0base.cxx:310
 AliAnalysisTaskPIDV0base.cxx:311
 AliAnalysisTaskPIDV0base.cxx:312
 AliAnalysisTaskPIDV0base.cxx:313
 AliAnalysisTaskPIDV0base.cxx:314
 AliAnalysisTaskPIDV0base.cxx:315
 AliAnalysisTaskPIDV0base.cxx:316
 AliAnalysisTaskPIDV0base.cxx:317
 AliAnalysisTaskPIDV0base.cxx:318
 AliAnalysisTaskPIDV0base.cxx:319
 AliAnalysisTaskPIDV0base.cxx:320
 AliAnalysisTaskPIDV0base.cxx:321
 AliAnalysisTaskPIDV0base.cxx:322
 AliAnalysisTaskPIDV0base.cxx:323
 AliAnalysisTaskPIDV0base.cxx:324
 AliAnalysisTaskPIDV0base.cxx:325
 AliAnalysisTaskPIDV0base.cxx:326
 AliAnalysisTaskPIDV0base.cxx:327
 AliAnalysisTaskPIDV0base.cxx:328
 AliAnalysisTaskPIDV0base.cxx:329
 AliAnalysisTaskPIDV0base.cxx:330
 AliAnalysisTaskPIDV0base.cxx:331
 AliAnalysisTaskPIDV0base.cxx:332
 AliAnalysisTaskPIDV0base.cxx:333
 AliAnalysisTaskPIDV0base.cxx:334
 AliAnalysisTaskPIDV0base.cxx:335
 AliAnalysisTaskPIDV0base.cxx:336
 AliAnalysisTaskPIDV0base.cxx:337
 AliAnalysisTaskPIDV0base.cxx:338
 AliAnalysisTaskPIDV0base.cxx:339
 AliAnalysisTaskPIDV0base.cxx:340
 AliAnalysisTaskPIDV0base.cxx:341
 AliAnalysisTaskPIDV0base.cxx:342
 AliAnalysisTaskPIDV0base.cxx:343
 AliAnalysisTaskPIDV0base.cxx:344
 AliAnalysisTaskPIDV0base.cxx:345
 AliAnalysisTaskPIDV0base.cxx:346
 AliAnalysisTaskPIDV0base.cxx:347
 AliAnalysisTaskPIDV0base.cxx:348
 AliAnalysisTaskPIDV0base.cxx:349
 AliAnalysisTaskPIDV0base.cxx:350
 AliAnalysisTaskPIDV0base.cxx:351
 AliAnalysisTaskPIDV0base.cxx:352
 AliAnalysisTaskPIDV0base.cxx:353
 AliAnalysisTaskPIDV0base.cxx:354
 AliAnalysisTaskPIDV0base.cxx:355
 AliAnalysisTaskPIDV0base.cxx:356
 AliAnalysisTaskPIDV0base.cxx:357
 AliAnalysisTaskPIDV0base.cxx:358
 AliAnalysisTaskPIDV0base.cxx:359
 AliAnalysisTaskPIDV0base.cxx:360
 AliAnalysisTaskPIDV0base.cxx:361
 AliAnalysisTaskPIDV0base.cxx:362
 AliAnalysisTaskPIDV0base.cxx:363
 AliAnalysisTaskPIDV0base.cxx:364
 AliAnalysisTaskPIDV0base.cxx:365
 AliAnalysisTaskPIDV0base.cxx:366
 AliAnalysisTaskPIDV0base.cxx:367
 AliAnalysisTaskPIDV0base.cxx:368
 AliAnalysisTaskPIDV0base.cxx:369
 AliAnalysisTaskPIDV0base.cxx:370
 AliAnalysisTaskPIDV0base.cxx:371
 AliAnalysisTaskPIDV0base.cxx:372
 AliAnalysisTaskPIDV0base.cxx:373
 AliAnalysisTaskPIDV0base.cxx:374
 AliAnalysisTaskPIDV0base.cxx:375
 AliAnalysisTaskPIDV0base.cxx:376
 AliAnalysisTaskPIDV0base.cxx:377
 AliAnalysisTaskPIDV0base.cxx:378
 AliAnalysisTaskPIDV0base.cxx:379
 AliAnalysisTaskPIDV0base.cxx:380
 AliAnalysisTaskPIDV0base.cxx:381
 AliAnalysisTaskPIDV0base.cxx:382
 AliAnalysisTaskPIDV0base.cxx:383
 AliAnalysisTaskPIDV0base.cxx:384
 AliAnalysisTaskPIDV0base.cxx:385
 AliAnalysisTaskPIDV0base.cxx:386
 AliAnalysisTaskPIDV0base.cxx:387
 AliAnalysisTaskPIDV0base.cxx:388
 AliAnalysisTaskPIDV0base.cxx:389
 AliAnalysisTaskPIDV0base.cxx:390
 AliAnalysisTaskPIDV0base.cxx:391
 AliAnalysisTaskPIDV0base.cxx:392
 AliAnalysisTaskPIDV0base.cxx:393
 AliAnalysisTaskPIDV0base.cxx:394
 AliAnalysisTaskPIDV0base.cxx:395
 AliAnalysisTaskPIDV0base.cxx:396
 AliAnalysisTaskPIDV0base.cxx:397
 AliAnalysisTaskPIDV0base.cxx:398
 AliAnalysisTaskPIDV0base.cxx:399
 AliAnalysisTaskPIDV0base.cxx:400
 AliAnalysisTaskPIDV0base.cxx:401
 AliAnalysisTaskPIDV0base.cxx:402
 AliAnalysisTaskPIDV0base.cxx:403
 AliAnalysisTaskPIDV0base.cxx:404
 AliAnalysisTaskPIDV0base.cxx:405
 AliAnalysisTaskPIDV0base.cxx:406
 AliAnalysisTaskPIDV0base.cxx:407
 AliAnalysisTaskPIDV0base.cxx:408
 AliAnalysisTaskPIDV0base.cxx:409
 AliAnalysisTaskPIDV0base.cxx:410
 AliAnalysisTaskPIDV0base.cxx:411
 AliAnalysisTaskPIDV0base.cxx:412
 AliAnalysisTaskPIDV0base.cxx:413
 AliAnalysisTaskPIDV0base.cxx:414
 AliAnalysisTaskPIDV0base.cxx:415
 AliAnalysisTaskPIDV0base.cxx:416
 AliAnalysisTaskPIDV0base.cxx:417
 AliAnalysisTaskPIDV0base.cxx:418
 AliAnalysisTaskPIDV0base.cxx:419
 AliAnalysisTaskPIDV0base.cxx:420
 AliAnalysisTaskPIDV0base.cxx:421
 AliAnalysisTaskPIDV0base.cxx:422
 AliAnalysisTaskPIDV0base.cxx:423
 AliAnalysisTaskPIDV0base.cxx:424
 AliAnalysisTaskPIDV0base.cxx:425
 AliAnalysisTaskPIDV0base.cxx:426
 AliAnalysisTaskPIDV0base.cxx:427
 AliAnalysisTaskPIDV0base.cxx:428
 AliAnalysisTaskPIDV0base.cxx:429
 AliAnalysisTaskPIDV0base.cxx:430
 AliAnalysisTaskPIDV0base.cxx:431
 AliAnalysisTaskPIDV0base.cxx:432
 AliAnalysisTaskPIDV0base.cxx:433
 AliAnalysisTaskPIDV0base.cxx:434
 AliAnalysisTaskPIDV0base.cxx:435
 AliAnalysisTaskPIDV0base.cxx:436
 AliAnalysisTaskPIDV0base.cxx:437
 AliAnalysisTaskPIDV0base.cxx:438
 AliAnalysisTaskPIDV0base.cxx:439
 AliAnalysisTaskPIDV0base.cxx:440
 AliAnalysisTaskPIDV0base.cxx:441
 AliAnalysisTaskPIDV0base.cxx:442
 AliAnalysisTaskPIDV0base.cxx:443
 AliAnalysisTaskPIDV0base.cxx:444
 AliAnalysisTaskPIDV0base.cxx:445
 AliAnalysisTaskPIDV0base.cxx:446
 AliAnalysisTaskPIDV0base.cxx:447
 AliAnalysisTaskPIDV0base.cxx:448
 AliAnalysisTaskPIDV0base.cxx:449
 AliAnalysisTaskPIDV0base.cxx:450
 AliAnalysisTaskPIDV0base.cxx:451
 AliAnalysisTaskPIDV0base.cxx:452
 AliAnalysisTaskPIDV0base.cxx:453
 AliAnalysisTaskPIDV0base.cxx:454
 AliAnalysisTaskPIDV0base.cxx:455
 AliAnalysisTaskPIDV0base.cxx:456
 AliAnalysisTaskPIDV0base.cxx:457
 AliAnalysisTaskPIDV0base.cxx:458
 AliAnalysisTaskPIDV0base.cxx:459
 AliAnalysisTaskPIDV0base.cxx:460
 AliAnalysisTaskPIDV0base.cxx:461
 AliAnalysisTaskPIDV0base.cxx:462
 AliAnalysisTaskPIDV0base.cxx:463
 AliAnalysisTaskPIDV0base.cxx:464
 AliAnalysisTaskPIDV0base.cxx:465
 AliAnalysisTaskPIDV0base.cxx:466
 AliAnalysisTaskPIDV0base.cxx:467
 AliAnalysisTaskPIDV0base.cxx:468
 AliAnalysisTaskPIDV0base.cxx:469
 AliAnalysisTaskPIDV0base.cxx:470
 AliAnalysisTaskPIDV0base.cxx:471
 AliAnalysisTaskPIDV0base.cxx:472
 AliAnalysisTaskPIDV0base.cxx:473
 AliAnalysisTaskPIDV0base.cxx:474
 AliAnalysisTaskPIDV0base.cxx:475
 AliAnalysisTaskPIDV0base.cxx:476
 AliAnalysisTaskPIDV0base.cxx:477
 AliAnalysisTaskPIDV0base.cxx:478
 AliAnalysisTaskPIDV0base.cxx:479
 AliAnalysisTaskPIDV0base.cxx:480
 AliAnalysisTaskPIDV0base.cxx:481
 AliAnalysisTaskPIDV0base.cxx:482
 AliAnalysisTaskPIDV0base.cxx:483
 AliAnalysisTaskPIDV0base.cxx:484
 AliAnalysisTaskPIDV0base.cxx:485
 AliAnalysisTaskPIDV0base.cxx:486
 AliAnalysisTaskPIDV0base.cxx:487
 AliAnalysisTaskPIDV0base.cxx:488
 AliAnalysisTaskPIDV0base.cxx:489
 AliAnalysisTaskPIDV0base.cxx:490
 AliAnalysisTaskPIDV0base.cxx:491
 AliAnalysisTaskPIDV0base.cxx:492
 AliAnalysisTaskPIDV0base.cxx:493
 AliAnalysisTaskPIDV0base.cxx:494
 AliAnalysisTaskPIDV0base.cxx:495
 AliAnalysisTaskPIDV0base.cxx:496
 AliAnalysisTaskPIDV0base.cxx:497
 AliAnalysisTaskPIDV0base.cxx:498
 AliAnalysisTaskPIDV0base.cxx:499
 AliAnalysisTaskPIDV0base.cxx:500
 AliAnalysisTaskPIDV0base.cxx:501
 AliAnalysisTaskPIDV0base.cxx:502
 AliAnalysisTaskPIDV0base.cxx:503
 AliAnalysisTaskPIDV0base.cxx:504
 AliAnalysisTaskPIDV0base.cxx:505
 AliAnalysisTaskPIDV0base.cxx:506
 AliAnalysisTaskPIDV0base.cxx:507
 AliAnalysisTaskPIDV0base.cxx:508
 AliAnalysisTaskPIDV0base.cxx:509
 AliAnalysisTaskPIDV0base.cxx:510
 AliAnalysisTaskPIDV0base.cxx:511
 AliAnalysisTaskPIDV0base.cxx:512
 AliAnalysisTaskPIDV0base.cxx:513
 AliAnalysisTaskPIDV0base.cxx:514
 AliAnalysisTaskPIDV0base.cxx:515
 AliAnalysisTaskPIDV0base.cxx:516
 AliAnalysisTaskPIDV0base.cxx:517
 AliAnalysisTaskPIDV0base.cxx:518
 AliAnalysisTaskPIDV0base.cxx:519
 AliAnalysisTaskPIDV0base.cxx:520
 AliAnalysisTaskPIDV0base.cxx:521
 AliAnalysisTaskPIDV0base.cxx:522
 AliAnalysisTaskPIDV0base.cxx:523
 AliAnalysisTaskPIDV0base.cxx:524
 AliAnalysisTaskPIDV0base.cxx:525
 AliAnalysisTaskPIDV0base.cxx:526
 AliAnalysisTaskPIDV0base.cxx:527
 AliAnalysisTaskPIDV0base.cxx:528
 AliAnalysisTaskPIDV0base.cxx:529
 AliAnalysisTaskPIDV0base.cxx:530
 AliAnalysisTaskPIDV0base.cxx:531
 AliAnalysisTaskPIDV0base.cxx:532
 AliAnalysisTaskPIDV0base.cxx:533
 AliAnalysisTaskPIDV0base.cxx:534
 AliAnalysisTaskPIDV0base.cxx:535
 AliAnalysisTaskPIDV0base.cxx:536
 AliAnalysisTaskPIDV0base.cxx:537
 AliAnalysisTaskPIDV0base.cxx:538
 AliAnalysisTaskPIDV0base.cxx:539
 AliAnalysisTaskPIDV0base.cxx:540
 AliAnalysisTaskPIDV0base.cxx:541
 AliAnalysisTaskPIDV0base.cxx:542
 AliAnalysisTaskPIDV0base.cxx:543
 AliAnalysisTaskPIDV0base.cxx:544
 AliAnalysisTaskPIDV0base.cxx:545
 AliAnalysisTaskPIDV0base.cxx:546
 AliAnalysisTaskPIDV0base.cxx:547
 AliAnalysisTaskPIDV0base.cxx:548
 AliAnalysisTaskPIDV0base.cxx:549
 AliAnalysisTaskPIDV0base.cxx:550
 AliAnalysisTaskPIDV0base.cxx:551
 AliAnalysisTaskPIDV0base.cxx:552
 AliAnalysisTaskPIDV0base.cxx:553
 AliAnalysisTaskPIDV0base.cxx:554
 AliAnalysisTaskPIDV0base.cxx:555
 AliAnalysisTaskPIDV0base.cxx:556
 AliAnalysisTaskPIDV0base.cxx:557
 AliAnalysisTaskPIDV0base.cxx:558
 AliAnalysisTaskPIDV0base.cxx:559
 AliAnalysisTaskPIDV0base.cxx:560
 AliAnalysisTaskPIDV0base.cxx:561
 AliAnalysisTaskPIDV0base.cxx:562
 AliAnalysisTaskPIDV0base.cxx:563
 AliAnalysisTaskPIDV0base.cxx:564
 AliAnalysisTaskPIDV0base.cxx:565
 AliAnalysisTaskPIDV0base.cxx:566
 AliAnalysisTaskPIDV0base.cxx:567
 AliAnalysisTaskPIDV0base.cxx:568
 AliAnalysisTaskPIDV0base.cxx:569
 AliAnalysisTaskPIDV0base.cxx:570
 AliAnalysisTaskPIDV0base.cxx:571
 AliAnalysisTaskPIDV0base.cxx:572
 AliAnalysisTaskPIDV0base.cxx:573
 AliAnalysisTaskPIDV0base.cxx:574
 AliAnalysisTaskPIDV0base.cxx:575
 AliAnalysisTaskPIDV0base.cxx:576
 AliAnalysisTaskPIDV0base.cxx:577
 AliAnalysisTaskPIDV0base.cxx:578
 AliAnalysisTaskPIDV0base.cxx:579