Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 3596)
+++ trunk/MagicSoft/Mars/Changelog	(revision 3597)
@@ -18,4 +18,11 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2004/03/24: Thomas Bretz
+
+   * mbase/MMath.cc:
+     - now SignificanceLiMa returns 0 in case sum==0
+
+
 
  2004/03/23: Thomas Bretz
Index: trunk/MagicSoft/Mars/mbase/MMath.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MMath.cc	(revision 3596)
+++ trunk/MagicSoft/Mars/mbase/MMath.cc	(revision 3597)
@@ -59,5 +59,6 @@
 //  alpha = t_on/t_off;  // t: observation time
 //
-//  Returns -1 if calculation failed...
+//  Returns -1 if sum<0 or alpha<0 or the argument of sqrt<0
+//  Returns  0 if s+b==0
 //
 Double_t MMath::SignificanceLiMa(Double_t s, Double_t b, Double_t alpha)
@@ -65,5 +66,8 @@
     const Double_t sum = s+b;
 
-    if (sum<=0 || alpha<=0)
+    if (sum==0)
+        return 0;
+
+    if (sum<0 || alpha<=0)
         return -1;
 
@@ -71,4 +75,4 @@
     const Double_t m = b*TMath::Log(b/sum*(alpha+1)      );
 
-    return TMath::Sqrt((l+m)*2);
+    return l+m<0 ? -1 : TMath::Sqrt((l+m)*2);
 }
Index: trunk/MagicSoft/Mars/mhist/MHFalseSource.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHFalseSource.cc	(revision 3596)
+++ trunk/MagicSoft/Mars/mhist/MHFalseSource.cc	(revision 3597)
@@ -148,6 +148,6 @@
     fHist.SetName("Alpha");
     fHist.SetTitle("3D-plot of Alpha vs x, y");
-    fHist.SetXTitle("y [\\circ]");
-    fHist.SetYTitle("x [\\circ]");
+    fHist.SetXTitle("x [\\circ]");
+    fHist.SetYTitle("y [\\circ]");
     fHist.SetZTitle("\\alpha [\\circ]");
 }
@@ -223,6 +223,6 @@
     if (fUseMmScale)
     {
-        fHist.SetXTitle("y [mm]");
-        fHist.SetYTitle("x [mm]");
+        fHist.SetXTitle("x [mm]");
+        fHist.SetYTitle("y [mm]");
 
         fHist.Scale(1./fMm2Deg);
@@ -230,6 +230,6 @@
     else
     {
-        fHist.SetXTitle("y [\\circ]");
-        fHist.SetYTitle("x [\\circ]");
+        fHist.SetXTitle("x [\\circ]");
+        fHist.SetYTitle("y [\\circ]");
 
         fHist.Scale(1./fMm2Deg);
@@ -263,6 +263,6 @@
 Double_t MHFalseSource::SignificanceLiMa(Double_t s, Double_t b, Double_t alpha)
 {
-    Double_t lima = MMath::SignificanceLiMa(s, b);
-    return lima<0 ? MMath::Significance(s, b) : lima;
+    const Double_t lima = MMath::SignificanceLiMa(s, b);
+    return lima<0 ? 0 : lima;
 }
 
@@ -282,6 +282,6 @@
         fUseMmScale = kFALSE;
 
-        fHist.SetXTitle("y [\\circ]");
-        fHist.SetYTitle("x [\\circ]");
+        fHist.SetXTitle("x [\\circ]");
+        fHist.SetYTitle("y [\\circ]");
     }
 
@@ -474,9 +474,10 @@
         const Int_t nx = h4->GetXaxis()->GetNbins();
         const Int_t ny = h4->GetYaxis()->GetNbins();
+        const Int_t nr = nx*nx + ny*ny;
 
         Int_t maxx=nx/2;
         Int_t maxy=ny/2;
 
-        Int_t max = h4->GetBin(maxx, maxy);
+        Int_t max = h4->GetBin(nx, ny);
 
         for (int ix=0; ix<nx; ix++)
@@ -492,5 +493,5 @@
                 h4->SetBinContent(n, sig);
 
-                if (sig>h4->GetBinContent(max) && sig!=0)
+                if (sig>h4->GetBinContent(max) && sig>0 && ix*ix+iy*iy<nr*nr/9)
                 {
                     max = n;
@@ -501,5 +502,5 @@
 
         padsave->cd(1);
-        if ((h1 = (TH1D*)gPad->FindObject("Alpha")))
+        if ((h1 = (TH1D*)gPad->FindObject("Alpha")) && max>0)
         {
             const Double_t x = h4->GetXaxis()->GetBinCenter(maxx);
Index: trunk/MagicSoft/Mars/mhist/MHFalseSource.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHFalseSource.h	(revision 3596)
+++ trunk/MagicSoft/Mars/mhist/MHFalseSource.h	(revision 3597)
@@ -51,5 +51,5 @@
     TH1 *GetHistByName(const TString name) { return &fHist; }
 
-    void FitSignificance(Float_t sigint=15, Float_t sigmax=35, Float_t bgmin=40, Float_t bgmax=80, Byte_t polynom=2); //*MENU*
+    void FitSignificance(Float_t sigint=15, Float_t sigmax=70, Float_t bgmin=40, Float_t bgmax=70, Byte_t polynom=1); //*MENU*
     void FitSignificanceStd() { FitSignificance(); } //*MENU*
 
