]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDonlineTrackMatching.cxx
Ensure vacuum inside the beam pipe for upgrade (Mario)
[u/mrichter/AliRoot.git] / TRD / AliTRDonlineTrackMatching.cxx
index c6e2de164a24bd90e9f4755af782e43a70989dfd..fb509e84866ee3e8e5d9434b2b99a17d348e4f14 100644 (file)
@@ -180,7 +180,7 @@ Bool_t AliTRDonlineTrackMatching::StackToTrack(const AliExternalTrackParam *trac
   layersWithTracklet = 0;
 
   UInt_t stackHits[fgkTrdStacks];
-  Double_t x[3];
+  Double_t x[3] = { 0. };
   memset(stackHits, 0, fgkTrdStacks*sizeof(UInt_t));
 
 #ifdef TRD_TM_DEBUG
@@ -189,16 +189,17 @@ Bool_t AliTRDonlineTrackMatching::StackToTrack(const AliExternalTrackParam *trac
 
   Double_t r = fgkSaveInnerRadius;
   while (r < fgkSaveOuterRadius){
-    track->GetXYZAt(r, magFieldinKiloGauss, x);
-    stack = EstimateStack(x);
-    if (stack >= 0){
-      stackHits[stack]++;
-      if (stackHits[stack] > 16) // experimental
-       break;
+    if (track->GetXYZAt(r, magFieldinKiloGauss, x)) {
+      stack = EstimateStack(x);
+      if (stack >= 0){
+       stackHits[stack]++;
+       if (stackHits[stack] > 16) // experimental
+         break;
 #ifdef TRD_TM_DEBUG
-      printf(" r=%.3fcm  %.2f/%.2f  -  %d hits for stack %d  S%02d-%d   (mag=%.1f)\n",
-            r, x[0], x[1], stackHits[stack], stack, stack/5, stack%5, magFieldinKiloGauss);
+       printf(" r=%.3fcm  %.2f/%.2f  -  %d hits for stack %d  S%02d-%d   (mag=%.1f)\n",
+              r, x[0], x[1], stackHits[stack], stack, stack/5, stack%5, magFieldinKiloGauss);
 #endif
+      }
     }
     r += 1.;
   }
@@ -480,6 +481,10 @@ Bool_t AliTRDonlineTrackMatching::ProcessEvent(AliESDEvent *esdEvent, Bool_t upd
        (trdTrack->GetLabel() != label))
       continue;
 
+    if ((trdTrack->GetSector() < 0) || (trdTrack->GetSector() > 17) ||
+       (trdTrack->GetStack() < 0) || (trdTrack->GetStack() > 4))
+      continue;
+
     stack = TrdSecSiLsi(trdTrack->GetSector(), trdTrack->GetStack());
     trdPt = (esdEvent->GetMagneticField() > 0.) ? (-1.*trdTrack->Pt()) : trdTrack->Pt();
     matchTrack = NULL;
@@ -529,6 +534,9 @@ Bool_t AliTRDonlineTrackMatching::ProcessEvent(AliESDEvent *esdEvent, Bool_t upd
     }
 
     if ((matchTrack) && (matchRating >= fMinMatchRating)){
+      AliDebug(1, Form("S%02d-%d  trd %d - esd %d   match!    pt:  %.2f  %.2f",
+                      trdTrack->GetSector(), trdTrack->GetStack(), iTrdTrack, matchEsdTrackIndexInStack,
+                      trdPt, matchTrack->GetSignedPt()));
 #ifdef TRD_TM_DEBUG
       printf("#TRACKMATCHING  S%02d-%d  trd %d - esd %d   match!    pt:  %.2f  %.2f\n",
             trdTrack->GetSector(), trdTrack->GetStack(), iTrdTrack, matchEsdTrackIndexInStack,