From 475afe2ca56106b400794f0946c4597f355565df Mon Sep 17 00:00:00 2001 From: belikov Date: Wed, 5 Nov 2014 10:14:14 +0100 Subject: [PATCH] Correct treatment of tracks with pTPrimaryVertex(vtx); Float_t t=h->InteractionTime(); UShort_t *idx=new UShort_t[np]; - Int_t ntrk=FindContributors(t,stack,idx); - if (ntrk < nMin) {delete[] idx; continue;} + Int_t ntrk=0; + if (!FindContributors(t,stack,idx,ntrk)) {delete[] idx; continue;} AliESDVertex *vertex=new ((*refs)[nv]) AliESDVertex(); vertex->SetXv(vtx[0]); vertex->SetYv(vtx[1]); @@ -444,7 +444,7 @@ Int_t GoodPileupVertices(const Char_t *dir) { return 0; } -Int_t FindContributors(Float_t tz, AliStack *stack, UShort_t *idx) { +Bool_t FindContributors(Float_t tz, AliStack *stack, UShort_t *idx, Int_t &n) { Int_t ntrk=0; Int_t np=stack->GetNtrack(); for (Int_t i=0; iGetPDG(); if (!partPDG) continue; if (TMath::Abs(partPDG->Charge())<1e-10) continue; - if (part->Pt() < pTmin) continue; Float_t dt=0.5*(tz-part->T())/(tz+part->T()); if (TMath::Abs(dt)>1e-5) continue; - idx[ntrk]=i; - ntrk++; + idx[n++]=i; + if (part->Pt() > pTmin) ntrk++; } - return ntrk; + return (ntrk