Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 8135)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 8136)
@@ -55,4 +55,7 @@
    * datacenter/macros/plotoptical.C:
      - added
+
+   * mhalpha/MHAlpha.[h,cc]:
+     - added the DrawNicePlot feature
 
 
Index: /trunk/MagicSoft/Mars/NEWS
===================================================================
--- /trunk/MagicSoft/Mars/NEWS	(revision 8135)
+++ /trunk/MagicSoft/Mars/NEWS	(revision 8136)
@@ -8,5 +8,5 @@
      websites. 
 
-   - database: Order by is now working also on printtable.php and when 
+   - database: Order-by is now working also on printtable.php and when 
      group-by is chosen. 
 
@@ -33,4 +33,11 @@
      over all possible set of weights. This also gives correct numbers
      for the lo-gains which were totally wrong before.
+
+   - ganymed: To get a nice Theta-Sq plot (instead of the all-information
+     debug plot displayed as a standard plot) use the context menu
+     somewhere between the two upper plots, click on "DrawNicePlot"
+     and enjoy the result. (It is the same context menu which contains
+     the "DrawAll" option)
+     PLEASE ALWAYS USE THIS PLOT FOR ANY KIND OF PRESENTATION!
 
 
Index: /trunk/MagicSoft/Mars/mhflux/MHAlpha.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 8135)
+++ /trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 8136)
@@ -885,4 +885,123 @@
 }
 
+void MHAlpha::DrawNicePlot(Bool_t newc, const char *title)
+{
+    if (!newc && !fDisplay)
+        return;
+
+    if (!fOffData)
+        return;
+
+    // Open and setup canvas/pad
+    TCanvas &c = newc ? *new TCanvas : fDisplay->AddTab("ThetsSq");
+
+    c.SetBorderMode(0);
+    c.SetFrameBorderMode(0);
+    c.SetFillColor(kWhite);
+
+    c.SetLeftMargin(0.12);
+    c.SetRightMargin(0.01);
+    c.SetBottomMargin(0.16);
+    c.SetTopMargin(0.18);
+
+    c.SetGridy();
+
+    gStyle->SetOptStat(0);
+
+    // Get on-data
+    TH1D *hon = (TH1D*)fHist.ProjectionZ("Proj", -1, 9999, -1, 9999, "E");
+    hon->SetDirectory(NULL);
+    hon->SetBit(kCanDelete);
+    hon->SetMarkerSize(0);
+    hon->SetLineWidth(2);
+    hon->SetLineColor(kBlack);
+    hon->SetMarkerColor(kBlack);
+
+    // Get off-data
+    TH1D *hoff = 0;
+    if (fOffData)
+    {
+        hoff = (TH1D*)fOffData->ProjectionZ("ProjOff", -1, 9999, -1, 9999, "E");
+        hoff->SetDirectory(NULL);
+        hoff->SetBit(kCanDelete);
+        hoff->SetFillColor(17);
+        hoff->SetMarkerSize(0);
+        hoff->SetLineColor(kBlack);
+        hoff->SetMarkerColor(kBlack);
+    }
+
+    // Setup plot which is drawn first
+    TH1D *h = hoff ? hoff : hon;
+    h->GetXaxis()->SetLabelSize(0.06);
+    h->GetXaxis()->SetTitleSize(0.06);
+    h->GetXaxis()->SetTitleOffset(0.95);
+    h->GetYaxis()->SetLabelSize(0.06);
+    h->GetYaxis()->SetTitleSize(0.06);
+    h->GetYaxis()->CenterTitle();
+    h->SetYTitle("Counts");
+    h->SetTitleSize(0.07);
+    h->SetTitle("");
+
+    const Double_t imax = fFit.GetSignalIntegralMax();
+    if (imax<1)
+        h->GetXaxis()->SetRangeUser(0, 0.6*0.6);
+
+    // scale off-data
+    fFit.Scale(*hoff, *hon);
+
+    hon->SetMinimum(0);
+    hoff->SetMinimum(0);
+
+    // draw data
+    if (hoff)
+    {
+        hoff->SetMaximum(TMath::Max(hon->GetMaximum(),hoff->GetMaximum())*1.1);
+        hoff->Draw("bar");
+        hon->Draw("same");
+    }
+    else
+    {
+        hon->SetMaximum();
+        hon->Draw();
+    }
+
+    // draw a preliminary tag
+    TLatex text;
+    text.SetTextColor(kWhite);
+    text.SetBit(TLatex::kTextNDC);
+    text.SetTextSize(0.07);
+    text.SetTextAngle(2.5);
+    text.DrawLatex(0.45, 0.2, "preliminary");
+    //enum { kTextNDC = BIT(14) };
+
+    // draw line showing cut
+    TLine line;
+    line.SetLineColor(14);
+    line.SetLineStyle(7);
+    line.DrawLine(imax, 0, imax, h->GetMaximum());
+
+    // Add a title above the plot
+    TPaveText *pave=new TPaveText(0.12, 0.83, 0.99, 0.975, "blNDC");
+    pave->SetBorderSize(1);
+    pave->SetLabel(title);
+
+    char txt[1000];
+    TText *ptxt;
+    sprintf(txt, " ");
+    ptxt = pave->AddText(txt);
+    ptxt->SetTextAlign(23);
+
+    sprintf(txt, "Significance %.1f\\sigma,  off-scale %.2f  (\\omega=%.2f\\circ)",
+            fFit.GetSignificance(), fFit.GetScaleFactor(), fFit.GetGausSigma());
+    ptxt = pave->AddText(txt);
+    ptxt->SetTextAlign(23);
+
+    sprintf(txt, "%.1f excess events,  %.1f background events",
+            fFit.GetEventsExcess(), fFit.GetEventsBackground());
+    ptxt = pave->AddText(txt);
+    ptxt->SetTextAlign(23);
+    pave->SetBit(kCanDelete);
+    pave->Draw();
+}
 
 Bool_t MHAlpha::Finalize()
Index: /trunk/MagicSoft/Mars/mhflux/MHAlpha.h
===================================================================
--- /trunk/MagicSoft/Mars/mhflux/MHAlpha.h	(revision 8135)
+++ /trunk/MagicSoft/Mars/mhflux/MHAlpha.h	(revision 8136)
@@ -132,4 +132,6 @@
     void ForceUsingSize(Bool_t b=kTRUE) { fForceUsingSize=b; }
 
+    void DrawNicePlot(const char *title="MAGIC Telescope observation") { DrawNicePlot(kTRUE, title); } //*MENU*
+    void DrawNicePlot(Bool_t newc, const char *title=0);
     void DrawAll() { DrawAll(kTRUE); } //*MENU*
     void DrawAll(Bool_t newc);
