+//_____________________________________________________________________________
+Bool_t AliReconstruction::CleanESD(AliESDEvent *esd){
+ //
+ // Remove the data which are not needed for the physics analysis.
+ //
+
+ AliInfo("Cleaning the ESD...");
+
+ const AliESDVertex *vertex=esd->GetVertex();
+ Double_t vz=vertex->GetZv();
+
+ Int_t nTracks=esd->GetNumberOfTracks();
+ for (Int_t i=0; i<nTracks; i++) {
+ AliESDtrack *track=esd->GetTrack(i);
+
+ Float_t xy,z; track->GetImpactParameters(xy,z);
+ if (TMath::Abs(xy) < 50.) continue;
+ if (vertex->GetStatus())
+ if (TMath::Abs(vz-z) < 5.) continue;
+
+ esd->RemoveTrack(i);
+ }
+
+ return kTRUE;
+}
+