Index: /trunk/MagicSoft/Mars/macros/CT1Hillas.C
===================================================================
--- /trunk/MagicSoft/Mars/macros/CT1Hillas.C	(revision 904)
+++ /trunk/MagicSoft/Mars/macros/CT1Hillas.C	(revision 905)
@@ -58,5 +58,6 @@
     //
     MEvtLoop evtloop;
-    evtloop.SetParList(&plist);
+    if (!evtloop.SetParList(&plist))
+        return;
 
     //
Index: /trunk/MagicSoft/Mars/macros/getCollArea.C
===================================================================
--- /trunk/MagicSoft/Mars/macros/getCollArea.C	(revision 904)
+++ /trunk/MagicSoft/Mars/macros/getCollArea.C	(revision 905)
@@ -44,5 +44,6 @@
     // Start to loop over all events
     //
-    magic.Eventloop();
+    if (!magic.Eventloop())
+        return;
 
     //
Index: /trunk/MagicSoft/Mars/macros/getRate.C
===================================================================
--- /trunk/MagicSoft/Mars/macros/getRate.C	(revision 904)
+++ /trunk/MagicSoft/Mars/macros/getRate.C	(revision 905)
@@ -30,29 +30,16 @@
     parlist.AddToList(&tasklist);
 
-    if (dim==0){
-      MHMcRate *rate = new MHMcRate();
-      parlist.AddToList(rate);
-    }
-    if (dim<0){
-      char *name = new char[8];
-      name="MHMcRate";
-      char *auxname = new char[8+7];
-      strcpy(auxname, name);
-      sprintf(auxname+8, ";%d", -dim);
-      MHMcRate *ratem = new MHMcRate(auxname);
-      parlist.AddToList(ratem);
-    }
-    else{ 
-      MHMcRate **ratep = new MHMcRate *[dim];
-      char *name = new char[8];
-      name="MHMcRate";
-      char *auxname = new char[8+7];
-      strcpy(auxname, name);
-      for(int i=0;i<dim;i++){
-	sprintf(auxname+8, ";%d", i+1);
-	ratep[i] = new MHMcRate(auxname);
-	parlist.AddToList(ratep[i]);
-      }
-    }
+    TObjArray *hists = new TObjArray(MParList::CreateObjList("MHMcRate", dim));
+
+    //
+    // Check if the list really contains the right number of histograms
+    //
+    if (hists->GetEntriesFast() != dim)
+        return;
+
+    //
+    // Add the histograms to the paramater list.
+    //
+    parlist.AddToList(hists);
 
     //
@@ -67,5 +54,5 @@
 
     Float_t BgR[10]={660,4,0,0,0,0,0,0,0,0};
-    cout<<dim<<endl;
+    cout << "Number of Trigger conditions: " << dim << endl;
 
     MMcTriggerRateCalc rate(dim, 14, BgR, 100000, 2.75, 10.91e-2);
Index: /trunk/MagicSoft/Mars/macros/merpp.C
===================================================================
--- /trunk/MagicSoft/Mars/macros/merpp.C	(revision 904)
+++ /trunk/MagicSoft/Mars/macros/merpp.C	(revision 905)
@@ -13,5 +13,5 @@
 /////////////////////////////////////////////////////////////////////////////
 
-int merpp()
+void merpp()
 {
     //
@@ -56,6 +56,4 @@
     //
     magic.Eventloop();
-
-    return 0;
 }
 
Index: /trunk/MagicSoft/Mars/mbase/MParList.cc
===================================================================
--- /trunk/MagicSoft/Mars/mbase/MParList.cc	(revision 904)
+++ /trunk/MagicSoft/Mars/mbase/MParList.cc	(revision 905)
@@ -101,5 +101,5 @@
 // --------------------------------------------------------------------------
 //
-//  Add an Container to the list.
+//  Add a single container to the list.
 //
 //  If 'where' is given, the object will be added after this.
Index: /trunk/MagicSoft/Mars/mhist/HistLinkDef.h
===================================================================
--- /trunk/MagicSoft/Mars/mhist/HistLinkDef.h	(revision 904)
+++ /trunk/MagicSoft/Mars/mhist/HistLinkDef.h	(revision 905)
@@ -12,4 +12,5 @@
 #pragma link C++ class MHMcEnergy;
 #pragma link C++ class MHMcCollectionArea;
+
 #pragma link C++ class MHMcRate;
 
