fZCut(zcut),
fUsedClusters(),
fUsedLines(),
- fVertices()
+ fVertices(NULL)
#ifdef MC_CHECK
,fGoodLines(0),fGoodLinesPhi(0),fParticleId(0)
#endif
fNoVertices=0;
FindTracklets();
if(fNoLines<2) {
- fVertices.push_back(AliESDVertex());
+ //fVertices.push_back(AliESDVertex());
return;// AliESDVertex();
}
fUsedLines[i3]=fNoClusters;
current->GetVertex(p);
}
- //cout << "Ballo la ula" << endl;
}
++fNoClusters;
//cout << endl;
}
}
+ fVertices=new AliESDVertex[fNoClusters];
for(Int_t i0=fNoClusters-1;i0>=0; --i0) {
AliITSUClusterLines *clu0 = (AliITSUClusterLines*)fLinesClusters.At(i0);
Int_t size=clu0->GetSize();
clu0->GetVertex(p0);
clu0->GetCovMatrix(cov);
if((p0[0]*p0[0]+p0[1]*p0[1])<1.98*1.98) {
- fVertices.push_back(AliESDVertex(p0,cov,99999.,size));
+ fVertices[fNoVertices++]=AliESDVertex(p0,cov,99999.,size);
}
}
- fNoVertices=fVertices.size();
return;// AliVertexerTracks::TrackletVertexFinder(&fLines,0);
}
SortClusters();
FindVerticesForCurrentEvent();
- return &fVertices[0];
+ if(fNoVertices<1) return NULL;
+ return new AliESDVertex(fVertices[0]);
}
//_____________________________________________________________________________________________
delete []fUsedLines;
}
+ delete[] fVertices;
+
fLinesPhi=0;
fLines.Clear();
fLinesClusters.Clear();
- fVertices.clear();
#ifdef MC_CHECK
fGoodLines=0;
virtual ~AliITSUVertexer();
// Public methods
- virtual AliESDVertex* GetAllVertices(Int_t& nVert) const { nVert=fNoVertices; return (AliESDVertex*)&fVertices[0]; };
+ virtual AliESDVertex* GetAllVertices(Int_t& nVert) const { nVert=fNoVertices; return fVertices; };
virtual AliESDVertex* FindVertexForCurrentEvent(TTree *);
virtual void PrintStatus() const;
Double_t fZCut; // cut on deltatheta for cluster matching among first two layers and the third one
Bool_t *fUsedClusters[3]; // flag for used clusters in tracklet formation
Short_t *fUsedLines; // flag for used lines
- vector<AliESDVertex> fVertices; // array of vertices
+ AliESDVertex *fVertices; // array of vertices
#ifdef MC_CHECK
// MC truth methods