]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
AODtrack cloning before PropagateBack
authorfnoferin <fnoferin@cern.ch>
Mon, 10 Feb 2014 09:04:48 +0000 (10:04 +0100)
committerfnoferin <fnoferin@cern.ch>
Mon, 10 Feb 2014 09:04:48 +0000 (10:04 +0100)
PWG/FLOW/Tasks/AliAnalysisTaskVnV0.cxx

index cbe3c6fa21fce81c0055ce7e90f5722dde4db2ad..95c24aa2067ce086f5076cc708f5e9a875fc727e 100644 (file)
@@ -1085,8 +1085,14 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
        
       Double_t b[2] = {-99., -99.};
       Double_t bCov[3] = {-99., -99., -99.};
-      if (!aodTrack->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov))
+
+
+      AliAODTrack *param = new AliAODTrack(*aodTrack);
+      if (!param->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov)){
+       if(param) delete param;
        continue;
+      }
+      if(param) delete param;
            
       if ((TMath::Abs(b[0]) > 3.0) || (TMath::Abs(b[1]) > 2.4))
        continue;
@@ -1218,8 +1224,13 @@ void AliAnalysisTaskVnV0::Analyze(AliAODEvent* aodEvent, Float_t v0Centr)
 
       Double_t b[2] = {-99., -99.};
       Double_t bCov[3] = {-99., -99., -99.};
-      if (!aodTrack->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov))
+
+      AliAODTrack *param = new AliAODTrack(*aodTrack);
+      if (!param->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov)){
+       if(param) delete param;
        continue;
+      }
+      if(param) delete param;
            
       if (!fFillDCA && ((TMath::Abs(b[0]) > 3.0) || (TMath::Abs(b[1]) > 2.4)))
        continue;
@@ -2149,8 +2160,13 @@ void AliAnalysisTaskVnV0::SelectK0s(){
 
     Double_t b[2] = {-99., -99.};
     Double_t bCov[3] = {-99., -99., -99.};
-    if (!aodTrack->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov))
+
+    AliAODTrack *param = new AliAODTrack(*aodTrack);
+    if (!param->PropagateToDCA(fOutputAOD->GetPrimaryVertex(), fOutputAOD->GetMagneticField(), 100., b, bCov)){
+      if(param) delete param;
       continue;
+    }
+    if(param) delete param;
     
     if(TMath::Abs(b[0]) < 0.5/aodTrack->Pt()) continue;