From 4539449a281613320da1ae9478ce00b98de0bd87 Mon Sep 17 00:00:00 2001 From: belikov Date: Fri, 24 Oct 2008 17:04:54 +0000 Subject: [PATCH] Restoring the lost part of code (A. Dainese) --- STEER/AliVertexerTracks.cxx | 41 ++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/STEER/AliVertexerTracks.cxx b/STEER/AliVertexerTracks.cxx index 5633121323d..5d6fb463788 100644 --- a/STEER/AliVertexerTracks.cxx +++ b/STEER/AliVertexerTracks.cxx @@ -163,22 +163,35 @@ AliESDVertex* AliVertexerTracks::FindPrimaryVertex(const AliVEvent *vEvent) // loop on tracks for(Int_t i=0; iGetTrack(i); + // check tracks to skip + Bool_t skipThis = kFALSE; + for(Int_t j=0; jGetID()==fTrksToSkip[j]) { + AliDebug(1,Form("skipping track: %d",i)); + skipThis = kTRUE; + } + } + if(skipThis) continue; - if(fITSrefit && !(track->GetStatus()&AliESDtrack::kITSrefit)) continue; - - // check number of clusters in ITS - Int_t ncls0=0; - for(Int_t l=0;l<6;l++) if(TESTBIT(track->GetITSClusterMap(),l)) ncls0++; - if(fMode==0 && ncls0 < fMinClusters) continue; - - if(!inputAOD) { - Double_t x,p[5],cov[15]; + if(!inputAOD) { // ESD AliESDtrack* esdt = (AliESDtrack*)track; if(esdt->GetNcls(fMode) < fMinClusters) continue; - esdt->GetExternalParameters(x,p); - esdt->GetExternalCovariance(cov); - t = new AliExternalTrackParam(x,esdt->GetAlpha(),p,cov); - } else { + if(fMode==0) { // ITS mode + if(fITSrefit && !(esdt->GetStatus()&AliESDtrack::kITSrefit)) continue; + Double_t x,p[5],cov[15]; + esdt->GetExternalParameters(x,p); + esdt->GetExternalCovariance(cov); + t = new AliExternalTrackParam(x,esdt->GetAlpha(),p,cov); + } else if(fMode==1) { // TPC mode + t = (AliExternalTrackParam*)esdt->GetTPCInnerParam(); + if(!t) continue; + Double_t radius = 2.8; //something less than the beam pipe radius + if(!PropagateTrackTo(t,radius)) continue; + } + } else { // AOD (only ITS mode) + Int_t ncls0=0; + for(Int_t l=0;l<6;l++) if(TESTBIT(track->GetITSClusterMap(),l)) ncls0++; + if(ncls0 < fMinClusters) continue; t = new AliExternalTrackParam(track); } trkArrayOrig.AddLast(t); @@ -189,7 +202,7 @@ AliESDVertex* AliVertexerTracks::FindPrimaryVertex(const AliVEvent *vEvent) // call method that will reconstruct the vertex FindPrimaryVertex(&trkArrayOrig,idOrig); - trkArrayOrig.Delete(); + if(fMode==0) trkArrayOrig.Delete(); delete [] idOrig; idOrig=NULL; if(f) { -- 2.43.0