Index: trunk/MagicSoft/Mars/mhist/MHFalseSource.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHFalseSource.cc	(revision 3576)
+++ trunk/MagicSoft/Mars/mhist/MHFalseSource.cc	(revision 3577)
@@ -257,34 +257,19 @@
 //
 //  calculates the significance according to Li & Ma
-//  ApJ 272 (1983) 317
-//
-//    s: total number of events in signal region
-//
-//    Double_t fGamma;   // Nbg = Non - gamma * Noff
-//  - the effective number of background events (fNoff), and fGamma :
-//
-//    fGamma = b / fNoff;
-//    fGamma = fdNbg / sqrt(fNoff);
-//    fGamma = fdNbg*fdNbg / fNbg;
-//    fNoff  =  b*b  / (fdNbg*fdNbg);
-//     Double_t fNbg;     // number of background events in signal region
-//    b = fNOff *fGamma;
-/*
-Double_t MHFindSignificance::SignificanceLiMa(Double_t non, Double_t noff, Double_t gamma)
-{
-    if (gamma <= 0.0  ||  non <= 0.0  ||  noff <= 0.0)
-    {
-        *siglima = 0.0;
-        return kFALSE;
-    }
-
-    Double_t help1 = TMath::Log( (gamma+1)*s  / (gamma*(s+noff)) );
-    Double_t help2 = TMath::Log( (gamma+1)*noff / (       s+noff ) );
-
-    Double_t siglima = TMath::Sqrt((s*help1+noff*help2)*2);
-
-    return non<gamma*noff ? -siglima : siglima;
-}
-*/
+//  ApJ 272 (1983) 317, Formula 17
+//
+Double_t MHFalseSource::SignificanceLiMa(Double_t s, Double_t b, Double_t alpha)
+{
+    if (s+b<=0)
+        return 0;
+
+    const Double_t k = s/(s+b);
+
+    const Double_t a = s*TMath::Log(k*(alpha+1)/alpha);
+    const Double_t b = b*TMath::Log(k*(alpha+1)      );
+
+    return TMath::Sqrt((a+b)*2);
+}
+
 // --------------------------------------------------------------------------
 //
