Index: trunk/MagicSoft/Mars/mhflux/MHAlpha.cc
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 8787)
+++ trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 8879)
@@ -884,5 +884,5 @@
 }
 
-void MHAlpha::DrawNicePlot(Bool_t newc, const char *title, const char *watermark)
+void MHAlpha::DrawNicePlot(Bool_t newc, const char *title, const char *watermark, Int_t binlo, Int_t binhi)
 {
     if (!newc && !fDisplay)
@@ -909,5 +909,5 @@
 
     // Get on-data
-    TH1D *hon = (TH1D*)fHist.ProjectionZ("Proj", -1, 9999, -1, 9999, "E");
+    TH1D *hon = (TH1D*)fHist.ProjectionZ("Proj", -1, 9999, binlo, binhi, "E");
     hon->SetDirectory(NULL);
     hon->SetBit(kCanDelete);
@@ -921,5 +921,5 @@
     if (fOffData)
     {
-        hoff = (TH1D*)fOffData->ProjectionZ("ProjOff", -1, 9999, -1, 9999, "E");
+        hoff = (TH1D*)fOffData->ProjectionZ("ProjOff", -1, 9999, binlo, binhi, "E");
         hoff->SetDirectory(NULL);
         hoff->SetBit(kCanDelete);
@@ -947,5 +947,7 @@
 
     // scale off-data
-    fFit.Scale(*hoff, *hon);
+
+    MAlphaFitter fit(fFit);
+    fit.ScaleAndFit(*hon, hoff);
 
     hon->SetMinimum(0);
@@ -971,6 +973,18 @@
     text.SetTextSize(0.07);
     text.SetTextAngle(2.5);
-    if (watermark)
-        text.DrawLatex(0.45, 0.2, watermark);
+
+    TString wm(watermark);
+    if (binlo>=1 || binhi<hon->GetNbinsX())
+    {
+        wm += wm.IsNull() ? "(" : " (";
+        if (binlo>=1)
+            wm += Form("%.1fGeV", fHist.GetYaxis()->GetBinLowEdge(binlo));
+        wm += "-";
+        if (binhi<hon->GetNbinsX())
+            wm += Form("%.1fGeV", fHist.GetYaxis()->GetBinLowEdge(binhi+1));
+        wm += ")";
+    }
+    if (!wm.IsNull())
+        text.DrawLatex(0.45, 0.2, wm);
     //enum { kTextNDC = BIT(14) };
 
@@ -995,10 +1009,10 @@
     //        fFit.GetSignificance(), fFit.GetScaleFactor(), fFit.GetGausSigma());
     sprintf(txt, "Significance %.1f\\sigma,  off-scale %.2f",
-            fFit.GetSignificance(), fFit.GetScaleFactor());
+            fit.GetSignificance(), fit.GetScaleFactor());
     ptxt = pave->AddText(txt);
     ptxt->SetTextAlign(23);
 
     sprintf(txt, "%.1f excess events,  %.1f background events",
-            fFit.GetEventsExcess(), fFit.GetEventsBackground());
+            fit.GetEventsExcess(), fit.GetEventsBackground());
     ptxt = pave->AddText(txt);
     ptxt->SetTextAlign(23);
Index: trunk/MagicSoft/Mars/mhflux/MHAlpha.h
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHAlpha.h	(revision 8787)
+++ trunk/MagicSoft/Mars/mhflux/MHAlpha.h	(revision 8879)
@@ -139,6 +139,6 @@
     }
 
-    void DrawNicePlot(const char *title="MAGIC Telescope observation", const char *watermark="preliminary") { DrawNicePlot(kTRUE, title, watermark); } //*MENU*
-    void DrawNicePlot(Bool_t newc, const char *title=0, const char *watermark=0);
+    void DrawNicePlot(const char *title="MAGIC Telescope observation", const char *watermark="preliminary", Int_t binlo=-1, Int_t binhi=9999) { DrawNicePlot(kTRUE, title, watermark, binlo, binhi); } //*MENU*
+    void DrawNicePlot(Bool_t newc, const char *title=0, const char *watermark=0, Int_t binlo=-1, Int_t binhi=9999);
     void DrawAll() { DrawAll(kTRUE); } //*MENU*
     void DrawAll(Bool_t newc);
