]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
DeltaPhi function corrected; Additional checks in GetKStar
authorskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 8 Jun 2004 08:51:47 +0000 (08:51 +0000)
committerskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 8 Jun 2004 08:51:47 +0000 (08:51 +0000)
HBTAN/AliHBTPair.cxx
HBTAN/AliHBTPair.h

index cda72337e4e971cd321d3feb341fd45b6f5a6ca5..5f4055eedf094bcd0e21f7d19a63ee55996857f3 100644 (file)
@@ -327,6 +327,19 @@ Double_t AliHBTPair::GetKStar()
 
     Double_t ptrans = fPxSum*fPxSum + fPySum*fPySum;
     Double_t mtrans = fESum*fESum - fPzSum*fPzSum;
+    if (ptrans > mtrans)
+     {
+       Error("GetKStar","Tranverse momentum bigger than transverse mass. Not normal for on-shell particles");
+       Error("GetKStar","Particle1:");
+       fPart1->Print();
+       Error("GetKStar","Particle2:");
+       fPart2->Print();
+       Error("GetKStar","");
+       
+       fKStar = 10e5;
+       fKStarNotCalc = kFALSE;
+       return fKStar;
+     }
     Double_t pinv =   TMath::Sqrt(mtrans - ptrans);
 
     Double_t q = (fPart1->GetMass()*fPart1->GetMass() - fPart2->GetMass()*fPart2->GetMass())/pinv;
@@ -336,10 +349,14 @@ Double_t AliHBTPair::GetKStar()
     q = q*q - fQInvL;
     if ( q < 0)
      {
-        Info("GetKStar","q = %f",q);
-        fPart1->Print();
-        fPart2->Print();
-        q = TMath::Abs(q);
+       Info("GetKStar","Sqrt of negative number q = %f",q);
+       Error("GetKStar","Particle1:");
+       fPart1->Print();
+       Error("GetKStar","Particle2:");
+       fPart2->Print();
+       fKStar = 10e5;
+       fKStarNotCalc = kFALSE;
+       return fKStar;
      }
      
     q = TMath::Sqrt(q);
index 4f82aa5557e1dd6ace91f290bbb8e0950cd17266..61c686f8f16791a949d156d9f99147d67a24d467 100644 (file)
@@ -283,15 +283,30 @@ Double_t AliHBTPair::GetDeltaPz()
 inline 
 Double_t AliHBTPair::GetDeltaPhi()
  {
-   //returns difference of Pz
-   return fPart1->Phi()-fPart2->Phi();
+   //returns difference of Phi
+   Double_t phi1 = fPart1->Phi();
+   Double_t phi2 = fPart2->Phi();
+   Double_t diff = phi1-phi2;
+   if (TMath::Abs(diff) > TMath::Pi())
+    {
+      if (phi1 > TMath::Pi())
+       {
+         phi1-=TMath::Pi();
+       }
+      else
+       {
+         phi2-=TMath::Pi();
+       }
+      diff = phi1-phi2; 
+    }
+   return diff;
  }
 /****************************************************************/
 
 inline 
 Double_t AliHBTPair::GetDeltaTheta()
  {
-   //returns difference of Pz
+   //returns difference of Theta
    return fPart1->Theta()-fPart2->Theta();
  }
 /****************************************************************/