X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDonlineTrackMatching.cxx;h=fb509e84866ee3e8e5d9434b2b99a17d348e4f14;hb=0ca38d56b341026bf8f514f93cfee2c16bcc099e;hp=c6e2de164a24bd90e9f4755af782e43a70989dfd;hpb=bf7cfc8822d988e842942dd8af2a69cd20215816;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDonlineTrackMatching.cxx b/TRD/AliTRDonlineTrackMatching.cxx index c6e2de164a2..fb509e84866 100644 --- a/TRD/AliTRDonlineTrackMatching.cxx +++ b/TRD/AliTRDonlineTrackMatching.cxx @@ -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,