Index: trunk/MagicSoft/Mars/mhbase/MBinning.cc
===================================================================
--- trunk/MagicSoft/Mars/mhbase/MBinning.cc	(revision 5713)
+++ trunk/MagicSoft/Mars/mhbase/MBinning.cc	(revision 5803)
@@ -48,4 +48,6 @@
 #include "MLogManip.h"
 
+#include "MParList.h"
+
 #include "MH.h"
 
@@ -85,4 +87,20 @@
 
     SetEdges(nbins, lo, hi, opt);
+}
+
+// --------------------------------------------------------------------------
+//
+// Search in the parameter list for the binning with name "name". If found,
+// set the edges and title accordingly. Default is name of object.
+// return kTRUE if object found, kFALSE otherwise.
+//
+Bool_t MBinning::SetEdges(const MParList &list, const char *name)
+{
+    MBinning *bins = (MBinning*)list.FindObject(name ? name : fName.Data(), "MBinning");
+    if (!bins)
+        return kFALSE;
+
+    SetEdges(*bins);
+    return kTRUE;
 }
 
Index: trunk/MagicSoft/Mars/mhbase/MBinning.h
===================================================================
--- trunk/MagicSoft/Mars/mhbase/MBinning.h	(revision 5713)
+++ trunk/MagicSoft/Mars/mhbase/MBinning.h	(revision 5803)
@@ -12,4 +12,6 @@
 class TH1;
 class TAxis;
+
+class MParList;
 
 class MBinning : public MParContainer
@@ -52,6 +54,7 @@
     }
 
+    Bool_t SetEdges(const MParList &list, const char *name=0);
     void SetEdges(const TAxis &axe);
-    void SetEdges(const MBinning &bins) { SetEdges(bins.fEdges); fType = bins.fType; }
+    void SetEdges(const MBinning &bins) { SetEdges(bins.fEdges); fType = bins.fType; fTitle = bins.fTitle; }
     void SetEdges(const TH1 &h, const Char_t axis='x');
     void SetEdges(const Int_t nbins, const Axis_t lo, Axis_t up);
