added CountAcceptedTracks function
[u/mrichter/AliRoot.git] / PWG0 / esdTrackCuts / AliESDtrackCuts.cxx
index 4b1fe182caf890a91490779215a33815254edf22..98ead8e1349c800487d0af42dabdb4851fbb2958 100644 (file)
@@ -304,6 +304,7 @@ AliESDtrackCuts::AcceptTrack(AliESDtrack* esdTrack) {
   if (bRes[0]!=0 && bRes[1]!=0) {
     Float_t d = TMath::Sqrt(TMath::Power(b[0]/bRes[0],2) + TMath::Power(b[1]/bRes[1],2));
     nSigmaToVertex = d;//TMath::Sqrt(2)*(TMath::ErfInverse(1 - TMath::Exp(0.5*(-d*d))));
   if (bRes[0]!=0 && bRes[1]!=0) {
     Float_t d = TMath::Sqrt(TMath::Power(b[0]/bRes[0],2) + TMath::Power(b[1]/bRes[1],2));
     nSigmaToVertex = d;//TMath::Sqrt(2)*(TMath::ErfInverse(1 - TMath::Exp(0.5*(-d*d))));
+    // JF solution: nSigmaToVertex = TMath::ErfInverse(TMath::Sqrt(2.0/TMath::Pi()) * TMath::Erf(d / TMath::Sqrt(2))) * TMath::Sqrt(2);
   }
 
   // getting the kinematic variables of the track 
   }
 
   // getting the kinematic variables of the track 
@@ -463,11 +464,11 @@ AliESDtrackCuts::GetAcceptedTracks(AliESD* esd)
   //
 
   TObjArray* acceptedTracks = new TObjArray();
   //
 
   TObjArray* acceptedTracks = new TObjArray();
-  
+
   // loop over esd tracks
   for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
     AliESDtrack* track = esd->GetTrack(iTrack);
   // loop over esd tracks
   for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
     AliESDtrack* track = esd->GetTrack(iTrack);
-    
+
     if (AcceptTrack(track))
       acceptedTracks->Add(track);
   }
     if (AcceptTrack(track))
       acceptedTracks->Add(track);
   }
@@ -475,6 +476,27 @@ AliESDtrackCuts::GetAcceptedTracks(AliESD* esd)
   return acceptedTracks;
 }
 
   return acceptedTracks;
 }
 
+//____________________________________________________________________
+Int_t
+AliESDtrackCuts::CountAcceptedTracks(AliESD* esd)
+{
+  //
+  // returns an the number of tracks that pass the cuts
+  //
+
+  Int_t count = 0;
+
+  // loop over esd tracks
+  for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
+    AliESDtrack* track = esd->GetTrack(iTrack);
+
+    if (AcceptTrack(track))
+      count++;
+  }
+
+  return count;
+}
+
 //____________________________________________________________________
  void AliESDtrackCuts::DefineHistograms(Int_t color) {
    // 
 //____________________________________________________________________
  void AliESDtrackCuts::DefineHistograms(Int_t color) {
    //