#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"
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)
{
fRandom = new TRandom3(0);
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)
{
fRandom = new TRandom3(0);
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()
{
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()
{
AliAnalysisManager* man = AliAnalysisManager::GetAnalysisManager();
AliInputEventHandler* inputHandler = dynamic_cast<AliInputEventHandler*>(man->GetInputEventHandler());
if (!inputHandler) {
AliFatal("Input handler needed");
fPIDResponse = 0x0;
return;
}
fPIDResponse = inputHandler->GetPIDResponse();
if (!fPIDResponse)
AliError("PIDResponse object was not created");
fV0KineCuts = new AliESDv0KineCuts;
fV0KineCuts->SetGammaCutChi2NDF(5.);
Float_t gammaProdVertexRadiusCuts[2] = { 3.0, 45. };
fV0KineCuts->SetGammaCutVertexR(&gammaProdVertexRadiusCuts[0]);
fAnaUtils = new AliAnalysisUtils();
fAnaUtils->SetMaxVtxZ(fZvtxCutEvent);
}
void AliAnalysisTaskPIDV0base::UserExec(Option_t *)
{
}
void AliAnalysisTaskPIDV0base::Terminate(const Option_t *)
{
}
Double_t AliAnalysisTaskPIDV0base::GetPhiPrime(Double_t phi, Double_t magField, Int_t charge) const
{
if(magField < 0)
phi = TMath::TwoPi() - phi;
if(charge < 0)
phi = TMath::TwoPi() - phi;
phi += TMath::Pi() / 18.0;
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
{
if (trackPt < 2.0)
return kTRUE;
Double_t phiPrime = GetPhiPrime(trackPhi, magField, trackCharge);
if (phiPrime < fPhiCutHigh->Eval(trackPt) && phiPrime > fPhiCutLow->Eval(trackPt))
return kFALSE;
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
{
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)
return kFALSE;
}
return kTRUE;
}
const AliVVertex* primaryVertex = 0x0;
if (aod) {
primaryVertex = dynamic_cast<const AliVVertex*>(aod->GetPrimaryVertex());
if (!primaryVertex || primaryVertex->GetNContributors() <= 0)
return kFALSE;
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) {
primaryVertex = dynamic_cast<const AliVVertex*>(esd->GetPrimaryVertexSPD());
if (!primaryVertex || primaryVertex->GetNContributors() <= 0)
return kFALSE;
}
}
if (doVtxZcut) {
if (TMath::Abs(primaryVertex->GetZ()) > fZvtxCutEvent)
return kFALSE;
}
return kTRUE;
}
Bool_t AliAnalysisTaskPIDV0base::GetIsPileUp(AliVEvent* event, AliAnalysisTaskPIDV0base::PileUpRejectionType pileUpRejectionType) const
{
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)
{
if (!event)
event = dynamic_cast<AliESDEvent *>(InputEvent());
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);
}
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;
for (Int_t iv0 = 0; iv0 < event->GetNumberOfV0s(); iv0++) {
AliESDv0* v0 = (AliESDv0*)event->GetV0(iv0);
if (!v0)
continue;
if (v0->GetOnFlyStatus())
continue;
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();
Int_t iTrackN = v0->GetNindex();
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;
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()
{
delete fV0tags;
fV0tags = 0;
delete fV0motherIndex;
fV0motherIndex = 0;
fNumTagsStored = 0;
}
Char_t AliAnalysisTaskPIDV0base::GetV0tag(Int_t trackIndex) const
{
if (trackIndex < 0 || trackIndex >= fNumTagsStored || !fV0tags)
return -99;
return fV0tags[trackIndex];
}
Int_t AliAnalysisTaskPIDV0base::GetV0motherIndex(Int_t trackIndex) const
{
if (!fStoreMotherIndex || trackIndex < 0 || trackIndex >= fNumTagsStored || !fV0motherIndex)
return -99;
return fV0motherIndex[trackIndex];
}
Bool_t AliAnalysisTaskPIDV0base::TPCCutMIGeo(const AliVTrack* track, const AliVEvent* evt, TTreeStream* streamer)
{
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)
{
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