Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 2515)
+++ trunk/MagicSoft/Mars/Changelog	(revision 2516)
@@ -3,4 +3,21 @@
 
                                                  -*-*- END OF LINE -*-*-
+ 2003/11/15: Thomas Bretz, Abelardo Moralejo
+
+   * mhist/MH.h: 
+     - added fSerialNumber data member 
+
+   * mhist/MFillH.cc:
+     - distribute serial number to the MH object to be filled
+
+   * mranforest/MHRanForest.cc, mhist/MHHadronness.cc:
+     - added serial number to the MMcEvt container (does nothing unless
+       SetSerialNumber has been called for the corresponding MFillH)
+       This is intended to allow the use of Random Forest with MC
+       multi-telescope files.
+
+   * NEWS: 
+     - updated.
+
  2003/11/14: Abelardo Moralejo
 
Index: trunk/MagicSoft/Mars/NEWS
===================================================================
--- trunk/MagicSoft/Mars/NEWS	(revision 2515)
+++ trunk/MagicSoft/Mars/NEWS	(revision 2516)
@@ -2,5 +2,7 @@
  *** Version <cvs>
 
-
+   - adapted Random Forest classes to allow the use with MC
+     multi-telescope files which can be produced with the coming
+     camera version 0.7.
 
  *** Version 0.8.2 (2003/11/10)
Index: trunk/MagicSoft/Mars/mhist/MFillH.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MFillH.cc	(revision 2515)
+++ trunk/MagicSoft/Mars/mhist/MFillH.cc	(revision 2516)
@@ -436,4 +436,5 @@
     // Now we have the histogram container available. Try to Setup Fill.
     //
+    fH->SetSerialNumber(GetSerialNumber());
     if (!fH->SetupFill(pList))
     {
Index: trunk/MagicSoft/Mars/mhist/MH.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MH.h	(revision 2515)
+++ trunk/MagicSoft/Mars/mhist/MH.h	(revision 2516)
@@ -19,6 +19,16 @@
 class MH : public MParContainer
 {
+private:
+    Byte_t fSerialNumber;
+
 public:
     MH(const char *name=NULL, const char *title=NULL);
+
+
+    virtual void SetSerialNumber(Byte_t num) { fSerialNumber = num; }
+    Byte_t  GetSerialNumber() const { return fSerialNumber; }
+    TString AddSerialNumber(const char *str) const { TString s(str); if (fSerialNumber==0) return s; s += ";"; s += fSerialNumber; return s; }
+    TString AddSerialNumber(const TString &str) const { return AddSerialNumber((const char*)str); }
+
 
     Bool_t OverwritesDraw(TClass *cls=NULL) const;
@@ -84,5 +94,5 @@
     static TObject *FindObjectInPad(const char *name, TVirtualPad *pad=NULL);
 
-    ClassDef(MH, 0) //A base class for Mars histograms
+    ClassDef(MH, 1) //A base class for Mars histograms
 };
 
Index: trunk/MagicSoft/Mars/mhist/MHHadronness.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHHadronness.cc	(revision 2515)
+++ trunk/MagicSoft/Mars/mhist/MHHadronness.cc	(revision 2516)
@@ -154,8 +154,10 @@
     if (!fMatrix)
     {
-        fMcEvt = (MMcEvt*)plist->FindObject("MMcEvt");
+        fMcEvt = (MMcEvt*)plist->FindObject(AddSerialNumber("MMcEvt"));
         if (!fMcEvt)
         {
-            *fLog << err << dbginf << "MMcEvt not found... aborting." << endl;
+	    TString str = AddSerialNumber("MMcEvt");
+	    str += " not found... aborting.";
+           *fLog << err << dbginf << str << endl;
             return kFALSE;
         }
@@ -563,5 +565,9 @@
 
     fMatrix = mat;
-    fMap = fMatrix->AddColumn("MMcEvt.fPartId");
+
+    TString str = AddSerialNumber("MMcEvt");
+    str += ".fPartId";
+
+    fMap = fMatrix->AddColumn(str);
 }
 
Index: trunk/MagicSoft/Mars/mranforest/MHRanForest.cc
===================================================================
--- trunk/MagicSoft/Mars/mranforest/MHRanForest.cc	(revision 2515)
+++ trunk/MagicSoft/Mars/mranforest/MHRanForest.cc	(revision 2516)
@@ -87,8 +87,10 @@
 Bool_t MHRanForest::SetupFill(const MParList *plist)
 {
-    fMcEvt = (MMcEvt*)plist->FindObject("MMcEvt");
+    fMcEvt = (MMcEvt*)plist->FindObject(AddSerialNumber("MMcEvt"));
     if (!fMcEvt)
     {
-        *fLog << err << dbginf << "MMcEvt not found... aborting." << endl;
+	TString str =  AddSerialNumber("MMcEvt");
+	str += " not found... aborting.";
+        *fLog << err << dbginf << str << endl;
         return kFALSE;
     }
