Fix bug in length calculation
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Jul 2007 10:19:36 +0000 (10:19 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Jul 2007 10:19:36 +0000 (10:19 +0000)
TRD/AliTRDpidESD.cxx

index d1f43ea..1744285 100644 (file)
@@ -263,13 +263,13 @@ Bool_t AliTRDpidESD::RecalculateTrackSegmentKine(AliESDtrack *esd, Int_t plan, F
                mom    = op->GetP();
                s      = op->GetSnp();
                t      = op->GetTgl();
-         length /= TMath::Sqrt((1. - s*s) / (1. - t*t));
+               if (s < 1.) length /= TMath::Sqrt((1. - s*s) / (1. + t*t));
                return kFALSE;
        }
        mom        = param->GetP();
        s = param->GetSnp();
        t = param->GetTgl();
-       length    /= TMath::Sqrt((1. - s*s) / (1. - t*t));
+       if (s < 1.) length    /= TMath::Sqrt((1. - s*s) / (1. + t*t));
 
        // check if track is crossing tracking sector by propagating to chamber exit- maybe is too much :)
        Double_t alpha = param->GetAlpha();