Index: trunk/MagicSoft/Mars/mreport/MReportHelp.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportHelp.cc	(revision 9005)
+++ trunk/MagicSoft/Mars/mreport/MReportHelp.cc	(revision 9026)
@@ -58,47 +58,12 @@
 MReportHelp::MReportHelp(const char *name, MLog *fLog) : fReport(NULL), fNumReports(0), fNumSkipped(0)
 {
-    TClass *cls = gROOT->GetClass(name);
-    Int_t rc = 0;
-    if (!cls)
-        rc =1;
-    else
-    {
-        if (!cls->Property())
-            rc = 5;
-        if (!cls->Size())
-            rc = 4;
-        if (!cls->IsLoaded())
-            rc = 3;
-        if (!cls->HasDefaultConstructor())
-            rc = 2;
-    }
-
-    if (rc)
-    {
-        *fLog << err << dbginf << "Cannot create new instance of class '" << name << "': ";
-        switch (rc)
-        {
-        case 1:
-            *fLog << "gROOT->GetClass() returned NULL." << endl;
-            return;
-        case 2:
-            *fLog << "no default constructor." << endl;
-            return;
-        case 3:
-            *fLog << "not loaded." << endl;
-            return;
-        case 4:
-            *fLog << "zero size." << endl;
-            return;
-        case 5:
-            *fLog << "no property." << endl;
-            return;
-        }
-    }
-
     //
     // create the parameter container of the the given class type
     //
-    fReport = (MReport*)cls->New();
+    *fLog << err;
+    TClass *cls = MParList::GetClass(name, fLog);
+
+    if (cls && cls->InheritsFrom(MReport::Class()))
+        fReport = static_cast<MReport*>(cls->New());
 }
 
