Index: trunk/MagicSoft/Mars/mhflux/MAlphaFitter.cc
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MAlphaFitter.cc	(revision 5957)
+++ trunk/MagicSoft/Mars/mhflux/MAlphaFitter.cc	(revision 5971)
@@ -493,2 +493,48 @@
     }
 }
+
+Int_t MAlphaFitter::ReadEnv(const TEnv &env, TString prefix, Bool_t print)
+{
+    Bool_t rc = kFALSE;
+
+    //void SetScaleUser(Float_t scale)       { fScaleUser = scale; fScaleMode=kUserScale; }
+    //void SetScaleMode(ScaleMode_t mode)    { fScaleMode    = mode; }
+
+    if (IsEnvDefined(env, prefix, "SignalIntegralMax", print))
+    {
+        SetSignalIntegralMax(GetEnvValue(env, prefix, "SignalIntegralMax", fSigInt));
+        rc = kTRUE;
+    }
+    if (IsEnvDefined(env, prefix, "SignalFitMax", print))
+    {
+        SetSignalIntegralMax(GetEnvValue(env, prefix, "SignalFitMax", fSigMax));
+        rc = kTRUE;
+    }
+    if (IsEnvDefined(env, prefix, "BackgroundFitMax", print))
+    {
+        SetBackgroundFitMax(GetEnvValue(env, prefix, "BackgroundFitMax", fBgMax));
+        rc = kTRUE;
+    }
+    if (IsEnvDefined(env, prefix, "BackgroundFitMin", print))
+    {
+        SetBackgroundFitMin(GetEnvValue(env, prefix, "BackgroundFitMin", fBgMin));
+        rc = kTRUE;
+    }
+    if (IsEnvDefined(env, prefix, "ScaleMin", print))
+    {
+        SetScaleMin(GetEnvValue(env, prefix, "ScaleMin", fScaleMin));
+        rc = kTRUE;
+    }
+    if (IsEnvDefined(env, prefix, "ScaleMax", print))
+    {
+        SetScaleMax(GetEnvValue(env, prefix, "ScaleMax", fScaleMax));
+        rc = kTRUE;
+    }
+    if (IsEnvDefined(env, prefix, "PolynomOrder", print))
+    {
+        SetPolynomOrder(GetEnvValue(env, prefix, "PolynomOrder", fPolynomOrder));
+        rc = kTRUE;
+    }
+
+    return rc;
+}
Index: trunk/MagicSoft/Mars/mhflux/MAlphaFitter.h
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MAlphaFitter.h	(revision 5957)
+++ trunk/MagicSoft/Mars/mhflux/MAlphaFitter.h	(revision 5971)
@@ -94,5 +94,5 @@
     void SetScaleMin(Float_t s)            { fScaleMin     = s; }
     void SetScaleMax(Float_t s)            { fScaleMax     = s; }
-    void SetPolynomOrder(Int_t s)          { fPolynomOrder = s; delete fFunc; fFunc=new TF1 ("", Form("gaus(0) + pol%d(3)", s));
+    void SetPolynomOrder(Int_t s)          { if (s==fPolynomOrder) return; fPolynomOrder = s; delete fFunc; fFunc=new TF1 ("", Form("gaus(0) + pol%d(3)", s));
         gROOT->GetListOfFunctions()->Remove(fFunc);
         fFunc->SetName("Dummy");
@@ -155,4 +155,6 @@
     Double_t Scale(TH1D &off, const TH1D &on) const;
 
+    Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print=kFALSE);
+
     ClassDef(MAlphaFitter, 1)
 };
Index: trunk/MagicSoft/Mars/mhflux/MHFalseSource.cc
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHFalseSource.cc	(revision 5957)
+++ trunk/MagicSoft/Mars/mhflux/MHFalseSource.cc	(revision 5971)
@@ -260,9 +260,9 @@
     else
     {
-        MBinning binsa;
-        binsa.SetEdges(18, 0, 90);
+        MBinning binsa(18, 0, 90);
+        binsa.SetEdges(*plist, "BinningAlpha");
 
         const MBinning *bins = (MBinning*)plist->FindObject("BinningFalseSource");
-        if (!bins)
+        if (!bins || bins->IsDefault())
         {
             const Float_t r = (geom ? geom->GetMaxRadius()/3 : 200)*fMm2Deg;
