]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
DCA calculation aupdated
authorlmilano <lmilano@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 May 2012 21:44:27 +0000 (21:44 +0000)
committerlmilano <lmilano@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 May 2012 21:44:27 +0000 (21:44 +0000)
PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraAOD.cxx
PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODPID.cxx

index 53ed2319ccbf62179efb2ff30c233eccfcb45a30..0abd9f5c5a3125affcd1f819ae319b39ef11356a 100644 (file)
@@ -140,13 +140,15 @@ void AliAnalysisTaskSpectraAOD::UserExec(Option_t *)
     // if ((qPos>fTrackCuts->GetQvecMin() && qPos<fTrackCuts->GetQvecMax() && track->Eta()<0) || (qNeg>fTrackCuts->GetQvecMin() && qNeg<fTrackCuts->GetQvecMax() && track->Eta()>=0)){\r
     \r
     //calculate DCA for AOD track\r
-    //Double_t d[2], covd[3];\r
-    // AliAODTrack* track_clone=(AliAODTrack*)track->Clone("track_clone"); // need to clone because PropagateToDCA updates the track parameters\r
-    // Bool_t isDCA = track_clone->PropagateToDCA(fAOD->GetPrimaryVertex(),fAOD->GetMagneticField(),9999.,d,covd);\r
-    // delete track_clone;\r
-    // if(!isDCA)d[0]=-999;\r
     Double_t dca=track->DCA();\r
-    \r
+    if(dca==-999.){// track->DCA() does not work in old AOD production\r
+      Double_t d[2], covd[3];\r
+      AliAODTrack* track_clone=(AliAODTrack*)track->Clone("track_clone"); // need to clone because PropagateToDCA updates the track parameters\r
+      Bool_t isDCA = track_clone->PropagateToDCA(fAOD->GetPrimaryVertex(),fAOD->GetMagneticField(),9999.,d,covd);\r
+      delete track_clone;\r
+      if(!isDCA)d[0]=-999.;\r
+      dca=d[0];\r
+    }\r
     fHistMan->GetPtHistogram(kHistPtRec)->Fill(track->Pt(),dca);  // PT histo\r
     \r
     // get identity and charge\r
index cc4a7210f17ad44032fb3fd21a6a853358f4a2ac..7ad54c5ff1d0777a16a27e42d93f80f73d0e3534 100644 (file)
@@ -160,6 +160,7 @@ Int_t AliSpectraAODPID::GetParticleSpecie(AliAODTrack      * trk, AliSpectraAODT
   }
 
   // guess the particle based on the smaller nsigma
+  if( ( nsigmaKaon==nsigmaPion ) && ( nsigmaKaon==nsigmaProton )) return kSpUndefined;//if is the default value for the three
   if( ( nsigmaKaon   < nsigmaPion ) && ( nsigmaKaon < nsigmaProton ) && (nsigmaKaon   < fNSigmaPID)) return kSpKaon;
   if( ( nsigmaPion   < nsigmaKaon ) && ( nsigmaPion < nsigmaProton ) && (nsigmaPion   < fNSigmaPID)) return kSpPion;
   if( ( nsigmaProton < nsigmaKaon ) && ( nsigmaProton < nsigmaPion ) && (nsigmaProton < fNSigmaPID)) return kSpProton;