Index: trunk/MagicSoft/Mars/mhist/MHFalseSource.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHFalseSource.cc	(revision 3589)
+++ trunk/MagicSoft/Mars/mhist/MHFalseSource.cc	(revision 3590)
@@ -148,6 +148,6 @@
     fHist.SetName("Alpha");
     fHist.SetTitle("3D-plot of Alpha vs x, y");
-    fHist.SetXTitle("x [\\circ]");
-    fHist.SetYTitle("y [\\circ]");
+    fHist.SetXTitle("y [\\circ]");
+    fHist.SetYTitle("x [\\circ]");
     fHist.SetZTitle("\\alpha [\\circ]");
 }
@@ -223,6 +223,6 @@
     if (fUseMmScale)
     {
-        fHist.SetXTitle("x [mm]");
-        fHist.SetYTitle("y [mm]");
+        fHist.SetXTitle("y [mm]");
+        fHist.SetYTitle("x [mm]");
 
         fHist.Scale(1./fMm2Deg);
@@ -230,6 +230,6 @@
     else
     {
-        fHist.SetXTitle("x [\\circ]");
-        fHist.SetYTitle("y [\\circ]");
+        fHist.SetXTitle("y [\\circ]");
+        fHist.SetYTitle("x [\\circ]");
 
         fHist.Scale(1./fMm2Deg);
@@ -281,6 +281,6 @@
         fUseMmScale = kFALSE;
 
-        fHist.SetXTitle("x [\\circ]");
-        fHist.SetYTitle("y [\\circ]");
+        fHist.SetXTitle("y [\\circ]");
+        fHist.SetYTitle("x [\\circ]");
     }
 
@@ -340,11 +340,11 @@
     hsrc.SetSrcPos(&src);
 
-    const Int_t nx = fHist.GetNbinsX();
-    const Int_t ny = fHist.GetNbinsY();
-
+    // This is because a 3D histogram x and y are exchanged...
+    const Int_t nx = fHist.GetNbinsY();
+    const Int_t ny = fHist.GetNbinsX();
     Axis_t cx[nx];
     Axis_t cy[ny];
-    fHist.GetXaxis()->GetCenter(cx);
-    fHist.GetYaxis()->GetCenter(cy);
+    fHist.GetYaxis()->GetCenter(cx);
+    fHist.GetXaxis()->GetCenter(cy);
 
     for (int ix=0; ix<nx; ix++)
@@ -371,5 +371,7 @@
 
             const Double_t alpha = hsrc.GetAlpha();
-            fHist.Fill(cx[ix], cy[iy], TMath::Abs(alpha), w);
+
+            // This is because a 3D histogram x and y are exchanged...
+            fHist.Fill(cy[iy], cx[ix], TMath::Abs(alpha), w);
         }
     }
@@ -502,11 +504,11 @@
         if ((h1 = (TH1D*)gPad->FindObject("Alpha")))
         {
-            //h1->Reset();
-
-            const Double_t x = fHist.GetXaxis()->GetBinCenter(maxx);
-            const Double_t y = fHist.GetYaxis()->GetBinCenter(maxy);
+            const Double_t x = h4->GetXaxis()->GetBinCenter(maxx);
+            const Double_t y = h4->GetYaxis()->GetBinCenter(maxy);
             const Double_t s = h4->GetBinContent(max);
 
-            TH1 *h = fHist.ProjectionZ("Alpha", maxx, maxx, maxy, maxy);
+            // This is because a 3D histogram x and y are vice versa
+            // Than for their projections
+            TH1 *h = fHist.ProjectionZ("Alpha", maxy, maxy, maxx, maxx);
             h->SetTitle(Form("Distribution of \\alpha for x=%.2f y=%.2f (\\sigma_{max}=%.1f)", x, y, s));
         }
@@ -545,6 +547,6 @@
     TH1 *h2 = fHist.Project3D("xy_off");
     h2->SetDirectory(NULL);
-    h2->SetXTitle(fHist.GetXaxis()->GetTitle());
-    h2->SetYTitle(fHist.GetYaxis()->GetTitle());
+    h2->SetXTitle(fHist.GetYaxis()->GetTitle());
+    h2->SetYTitle(fHist.GetXaxis()->GetTitle());
     h2->Draw("colz");
     h2->SetBit(kCanDelete);
@@ -556,6 +558,6 @@
     fHist.GetZaxis()->SetRange(0,9999);
     h3->SetDirectory(NULL);
-    h3->SetXTitle(fHist.GetXaxis()->GetTitle());
-    h3->SetYTitle(fHist.GetYaxis()->GetTitle());
+    h3->SetXTitle(fHist.GetYaxis()->GetTitle());
+    h3->SetYTitle(fHist.GetXaxis()->GetTitle());
     h3->Draw("colz");
     h3->SetBit(kCanDelete);
@@ -568,6 +570,6 @@
     h4->SetTitle("Significance");
     h4->SetDirectory(NULL);
-    h4->SetXTitle(fHist.GetXaxis()->GetTitle());
-    h4->SetYTitle(fHist.GetYaxis()->GetTitle());
+    h4->SetXTitle(fHist.GetYaxis()->GetTitle());
+    h4->SetYTitle(fHist.GetXaxis()->GetTitle());
     h4->Draw("colz");
     h4->SetBit(kCanDelete);
@@ -671,7 +673,7 @@
     hists->SetNameTitle("Excess",     Form("Number of excess events for \\alpha<%.0f\\circ", sigint));
     histb->SetNameTitle("Background", Form("Number of background events for \\alpha<%.0f\\circ", sigint));
-    hist->SetXTitle(fHist.GetXaxis()->GetTitle());
-    hists->SetXTitle(fHist.GetXaxis()->GetTitle());
-    histb->SetXTitle(fHist.GetXaxis()->GetTitle());
+    hist->SetXTitle(fHist.GetYaxis()->GetTitle());
+    hists->SetXTitle(fHist.GetYaxis()->GetTitle());
+    histb->SetXTitle(fHist.GetYaxis()->GetTitle());
     hist->SetYTitle(fHist.GetXaxis()->GetTitle());
     hists->SetYTitle(fHist.GetXaxis()->GetTitle());
@@ -700,6 +702,6 @@
     func.SetParLimits(3, -1, 1);
 
-    const Int_t nx = fHist.GetXaxis()->GetNbins();
-    const Int_t ny = fHist.GetYaxis()->GetNbins();
+    const Int_t nx = hist->GetXaxis()->GetNbins();
+    const Int_t ny = hist->GetYaxis()->GetNbins();
     const Int_t nr = nx*nx+ny*ny;
 
@@ -724,5 +726,7 @@
         for (int iy=1; iy<=ny; iy++)
         {
-            h = fHist.ProjectionZ("AlphaFit", ix, ix, iy, iy);
+            // This is because a 3D histogram x and y are vice versa
+            // Than for their projections
+            h = fHist.ProjectionZ("AlphaFit", iy, iy, ix, ix);
 
             const Double_t alpha0 = h->GetBinContent(1);
@@ -808,4 +812,5 @@
             const Double_t sig = Significance(s, b);
 
+            // This is because a 3D histogram x and y are exchanged...
             const Int_t n = hist->GetBin(ix, iy);
             hists->SetBinContent(n, s-b);
@@ -886,8 +891,8 @@
     {
         const char *title = Form(" \\alpha for x=%.2f y=%.2f (\\sigma_{max}=%.1f) ",
-                                 fHist.GetXaxis()->GetBinCenter(maxx),
-                                 fHist.GetYaxis()->GetBinCenter(maxy), maxs);
-
-        TH1 *result = fHist.ProjectionZ("AlphaFit", maxx, maxx, maxy, maxy);
+                                 hist->GetXaxis()->GetBinCenter(maxx),
+                                 hist->GetYaxis()->GetBinCenter(maxy), maxs);
+
+        TH1 *result = fHist.ProjectionZ("AlphaFit", maxy, maxy, maxx, maxx);
         result->SetDirectory(NULL);
         result->SetNameTitle("Result \\alpha", title);
