Double_t x10=p0[0]-x0[0];
Double_t y10=p0[1]-x0[1];
Double_t z10=p0[2]-x0[2];
- return ((x10*x10+y10*y10+z10*z10)*(x12*x12+y12*y12+z12*z12)-(x10*x12+y10*y12+z10*z12)*(x10*x12+y10*y12+z10*z12))/(x12*x12+y12*y12+z12*z12);
+ // return ((x10*x10+y10*y10+z10*z10)*(x12*x12+y12*y12+z12*z12)-(x10*x12+y10*y12+z10*z12)*(x10*x12+y10*y12+z10*z12))/(x12*x12+y12*y12+z12*z12);
+
+ return ((y10*z12-z10*y12)*(y10*z12-z10*y12)+
+ (z10*x12-x10*z12)*(z10*x12-x10*z12)+
+ (x10*y12-y10*x12)*(x10*y12-y10*x12))
+ /(x12*x12+y12*y12+z12*z12);
+
}
//---------------------------------------------------------------------------
void AliVertexerTracks::OneTrackVertFinder()
TMatrixD sumWi(TMatrixD::kInverted,vV);
TMatrixD sumWiri(sumWi,TMatrixD::kMult,rv);
- Int_t nUsedTrks = inVtx->GetNContributors();
+ Int_t nUsedTrks = inVtx->GetNIndices();
Double_t chi2 = inVtx->GetChi2();
AliExternalTrackParam *track = 0;
AliESDVertex *outVtx = new AliESDVertex(position,cov,chi2,nUsedTrks);
outVtx->SetTitle(inVtx->GetTitle());
UShort_t *inindices = inVtx->GetIndices();
- Int_t nIndices = outVtx->GetNContributors()-1;
+ Int_t nIndices = nUsedTrks;
UShort_t *outindices = new UShort_t[nIndices];
Int_t j=0;
for(Int_t k=0; k<inVtx->GetNIndices(); k++) {
AliExternalTrackParam *track1;
Double_t field=GetFieldkG();
const Int_t knacc = (Int_t)fTrkArraySel.GetEntriesFast();
- TClonesArray *linarray = new TClonesArray("AliStrLine",1000);
- TClonesArray &lines = *linarray;
+ static TClonesArray linarray("AliStrLine",knacc);
for(Int_t i=0; i<knacc; i++){
track1 = (AliExternalTrackParam*)fTrkArraySel.At(i);
Double_t alpha=track1->GetAlpha();
iel++;
}
}
- new(lines[i]) AliStrLine(pos,sigmasq,wmat,dir);
+ new(linarray[i]) AliStrLine(pos,sigmasq,wmat,dir);
}
- fVert=TrackletVertexFinder(linarray,optUseWeights);
- linarray->Delete();
- delete linarray;
+ fVert=TrackletVertexFinder(&linarray,optUseWeights);
+ linarray.Clear("C");
}
//---------------------------------------------------------------------------
AliESDVertex AliVertexerTracks::TrackletVertexFinder(TClonesArray *lines, Int_t optUseWeights)
return fCurrentVertex;
}
//--------------------------------------------------------------------------
-