+//---------------------------------------------------------------------------
+void AliVertexerTracks::TooFewTracks(const AliESD* esdEvent) {
+//
+// When the number of tracks is < fMinTracks
+//
+
+ // deal with vertices not found
+ Double_t pos[3],err[3];
+ Int_t ncontr=0;
+ pos[0] = fNominalPos[0];
+ err[0] = fNominalSigma[0];
+ pos[1] = fNominalPos[1];
+ err[1] = fNominalSigma[1];
+ pos[2] = esdEvent->GetVertex()->GetZv();
+ err[2] = esdEvent->GetVertex()->GetZRes();
+ if(err[0]>1. && esdEvent->GetVertex()->GetNContributors()<=0)
+ ncontr = -1; // (x,y,z) = (0,0,0)
+ if(err[0]>1. && esdEvent->GetVertex()->GetNContributors()>0)
+ ncontr = -2; // (x,y,z) = (0,0,z_fromSPD)
+ if(err[0]<1. && esdEvent->GetVertex()->GetNContributors()<=0)
+ ncontr = -3; // (x,y,z) = (x_mean,y_mean,0)
+ if(err[0]<1. && esdEvent->GetVertex()->GetNContributors()>0)
+ ncontr = -4; // (x,y,z) = (x_mean,y_mean,z_fromSPD)
+ fCurrentVertex = 0;
+ fCurrentVertex = new AliESDVertex(pos,err);
+ fCurrentVertex->SetNContributors(ncontr);
+
+ Double_t tp[3];
+ esdEvent->GetVertex()->GetTruePos(tp);
+ fCurrentVertex->SetTruePos(tp);
+ fCurrentVertex->SetTitle("VertexerTracksWithConstraint");
+ if(ncontr==-1||ncontr==-2)
+ fCurrentVertex->SetTitle("VertexerTracksNoConstraint");
+
+ return;
+}