]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
apply dca_xy cut on global tracks, not hybrid without spd
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 24 Jan 2013 14:11:21 +0000 (14:11 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 24 Jan 2013 14:11:21 +0000 (14:11 +0000)
PWG/CaloTrackCorrBase/AliCaloTrackReader.cxx

index 222ae710fe49c00189037e5bc54983bf5c2008be..0e6394c6c1adb134587f8840848e26a48763d480 100755 (executable)
@@ -1159,6 +1159,8 @@ void AliCaloTrackReader::FillInputCTS()
     
     nstatus++;
     
+    Float_t dcaTPC =-999;
+    
     if     (fDataType==kESD)
     {
       AliESDtrack* esdTrack = dynamic_cast<AliESDtrack*> (track);
@@ -1231,6 +1233,10 @@ void AliCaloTrackReader::FillInputCTS()
         
         if (fDebug > 2 ) printf("AliCaloTrackReader::FillInputCTS(): \t accepted track! \n");
         
+        //In case of AODs, TPC tracks cannot be propagated back to primary vertex,
+        // info stored here
+        dcaTPC = aodtrack->DCA();
+        
         track->GetPxPyPz(pTrack) ;
         
       } // aod track exists
@@ -1262,31 +1268,18 @@ void AliCaloTrackReader::FillInputCTS()
                 
     if(fUseTrackDCACut)
     {
-      //In case of AODs, TPC tracks cannot be propagated back to primary vertex,
-      // info stored
-      AliAODTrack * aodTrack = dynamic_cast<AliAODTrack*>(track);
-      
-      Float_t dcaTPC =-999;
-      Bool_t  okDCA    = kFALSE;
-      if(aodTrack)
-      {
-        dcaTPC = aodTrack->DCA();
-        //vtxBC   = aodTrack->GetProdVertex()->GetBC();
-        if(dcaTPC!=-999)
-        {
-          okDCA = AcceptDCA(momentum.Pt(),dcaTPC);
-          if(!okDCA) continue ;
-        }
-      }
-      
       //normal way to get the dca, cut on dca_xy
       if(dcaTPC==-999)
       {
         Double_t dca[2]   = {1e6,1e6};
         Double_t covar[3] = {1e6,1e6,1e6};
-        okDCA = track->PropagateToDCA(fInputEvent->GetPrimaryVertex(),bz,100.,dca,covar);
-       if( okDCA) okDCA = AcceptDCA(momentum.Pt(),dca[0]);
-       if(!okDCA) continue ;
+        Bool_t okDCA = track->PropagateToDCA(fInputEvent->GetPrimaryVertex(),bz,100.,dca,covar);
+        if( okDCA) okDCA = AcceptDCA(momentum.Pt(),dca[0]);
+        if(!okDCA)
+        {
+          //printf("AliCaloTrackReader::FillInputCTS() - Reject track pt %2.2f, dca_xy %2.4f, BC %d\n",momentum.Pt(),dca[0],trackBC);
+          continue ;
+        }
       }
     }// DCA cuts