Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 866)
+++ trunk/MagicSoft/Mars/Changelog	(revision 867)
@@ -1,3 +1,52 @@
                                                                   -*-*- END -*-*-
+
+ 2001/07/13: Thomas Bretz
+
+   * mbase/MEvtLoop.[h,cc]:
+     - Added a result value to Eventloop to be able to detect if the
+       execution was successfull
+     - changes postProcess to return the return value from 
+       MTaskList::PostProcess
+     
+   * mbase/MParList.cc:
+     - FindCreateObj removes now a 'dot' from the end of an indexed
+       object name like "Events;7."
+     
+   * mbase/MReadTree.cc:
+     - small changes to the output
+
+   * mbase/MTask.[h,cc]:
+     - added Preprocessed flag. This enables the tasklist to only postprocess
+       already preprocessed tasks
+
+   * mbase/MTaskList.cc:
+     - don't postprocess non preprocessed tasks
+   
+   * mhist/MHMcCollectionArea.cc:
+     - added descriptions to histrograms
+     - changed names of histograms
+     - added drawing of canvas to Draw-functions
+
+   * mhist/MHMcEnergy.[h,cc]:
+     - added variables to store the calculated result
+     - changed names and titles of histogram
+     - added axis titles to histogram
+     - moved result calculation into fit-function
+
+   * mmontecarlo/MMcCollectionAreaCalc.cc:
+     - added name of input container to be able to process another
+       container than "MMcTrig"
+
+   * mmontecarlo/MMcThresholdCalc.cc:
+     - removed trailing dot from container name creation
+   
+   * mhist/MMcThresholdCalc.cc:
+     - removed a wrong '.' behind the number when processing more than
+       one trigger condition
+
+   * mraw/MRawRunHeader.cc:
+     - added "Monte Carlo Data" as runtype
+
+
 
  2001/07/10: Thomas Bretz
Index: trunk/MagicSoft/Mars/mbase/MEvtLoop.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MEvtLoop.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mbase/MEvtLoop.cc	(revision 867)
@@ -105,8 +105,5 @@
 
     if (fLog != &gLog)
-    {
         fParList ->SetLogStream(fLog);
-        fTaskList->SetLogStream(fLog);
-    }
 
     //
@@ -180,5 +177,4 @@
         << " --> " << (maxcnt<0?dummy:maxcnt)/clock.CpuTime() << " Events/s"
         << endl << endl;
-
 }
 
@@ -188,24 +184,27 @@
 //  for developers use only!
 //
-void MEvtLoop::PostProcess() const
+Bool_t MEvtLoop::PostProcess() const
 {
     //
     //  execute the post process of all tasks
     //
-    fTaskList->PostProcess();
-}
-
-// --------------------------------------------------------------------------
-//
-// See class description above.
-//
-void MEvtLoop::Eventloop(Int_t maxcnt, const char *tlist)
-{
-    if (!PreProcess(tlist))
-        return;
-
-    Process(maxcnt);
-
-    PostProcess();
-}
-
+    return fTaskList->PostProcess();
+}
+
+// --------------------------------------------------------------------------
+//
+//  See class description above.
+//
+Bool_t MEvtLoop::Eventloop(Int_t maxcnt, const char *tlist)
+{
+    Bool_t rc = PreProcess();
+
+    if (rc)
+        Process(maxcnt);
+
+    if (!PostProcess())
+        return kFALSE;
+
+    return rc;
+}
+
Index: trunk/MagicSoft/Mars/mbase/MEvtLoop.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MEvtLoop.h	(revision 866)
+++ trunk/MagicSoft/Mars/mbase/MEvtLoop.h	(revision 867)
@@ -35,7 +35,7 @@
     Bool_t PreProcess(const char *tlist="MTaskList");
     void   Process(Int_t maxcnt) const;
-    void   PostProcess() const;
+    Bool_t PostProcess() const;
 
-    void Eventloop(Int_t maxcnt=-1, const char *tlist="MTaskList");
+    Bool_t Eventloop(Int_t maxcnt=-1, const char *tlist="MTaskList");
 
     ClassDef(MEvtLoop, 0) // Class to execute the tasks in a tasklist
Index: trunk/MagicSoft/Mars/mbase/MParList.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MParList.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mbase/MParList.cc	(revision 867)
@@ -199,5 +199,6 @@
 //  after the last appearance of a semicolon is stripped to get the
 //  Name of the Class. Normally this is used to number your objects.
-//  "Name;1", "Name;2", ...
+//  "Name;1", "Name;2", ... If a semicolon is detected leading dots
+//  are stripped from the object-name (eg. "name;5.")
 //
 MParContainer *MParList::FindCreateObj(const char *classname, const char *objname)
@@ -223,6 +224,18 @@
     const char *semicolon = strrchr(cname, ';');
 
+    TString oname(objname);
+
     if (semicolon)
+    {
         cname.Remove(semicolon-cname);
+
+        //
+        // Remove leading dots from objectname (eg. "MMcTrig;5.")
+        //
+        Int_t sz = oname.Sizeof()-2;
+
+        while (sz>=0 && oname[sz]=='.')
+            oname.Remove(sz--);
+    }
 
     //
@@ -230,5 +243,5 @@
     // in the List. If we can find one we are done.
     //
-    MParContainer *pcont = (MParContainer*)FindObject(objname);
+    MParContainer *pcont = (MParContainer*)FindObject(oname);
 
     if (pcont)
@@ -238,5 +251,5 @@
     // if object is not existing in the list try to create one
     //
-    *fLog << dbginf << "Object '" << objname << "' of type '" << cname << "' not found... creating." << endl;
+    *fLog << dbginf << "Object '" << oname << "' of type '" << cname << "' not found... creating." << endl;
 
     //
@@ -263,5 +276,5 @@
     // set the new object name of the object
     //
-    pcont->SetName(objname);
+    pcont->SetName(oname);
 
     //
Index: trunk/MagicSoft/Mars/mbase/MReadTree.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MReadTree.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mbase/MReadTree.cc	(revision 867)
@@ -173,5 +173,5 @@
             // we cannot proceed reading this branch
             //
-            *fLog << "MReadTree::PreProcess - Warning: Class '" << name << "' not existing in dictionary. Branch skipped." << endl;
+            *fLog << dbginf << "Warning: Class '" << name << "' not existing in dictionary. Branch skipped." << endl;
             continue;
         }
Index: trunk/MagicSoft/Mars/mbase/MTask.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MTask.h	(revision 866)
+++ trunk/MagicSoft/Mars/mbase/MTask.h	(revision 867)
@@ -22,6 +22,8 @@
     const MFilter *fFilter;
 
+    Bool_t fIsPreprocessed; // Indicates the success of the PreProcessing (set by MTaskList)
+
 public:
-    MTask() : fFilter(NULL) {}
+    MTask() : fFilter(NULL), fIsPreprocessed(kFALSE) {}
     ~MTask()
     {
@@ -30,4 +32,7 @@
     const MFilter *GetFilter() const { return fFilter; }
     void SetFilter(const MFilter *filter) { fFilter=filter; }
+
+    Bool_t IsPreprocessed() const { return fIsPreprocessed; }
+    void SetIsPreprocessed(Bool_t state=kTRUE) { fIsPreprocessed = state; }
 
     virtual Bool_t PreProcess(MParList *pList);
Index: trunk/MagicSoft/Mars/mbase/MTaskList.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MTaskList.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mbase/MTaskList.cc	(revision 867)
@@ -193,4 +193,6 @@
         if (!task->PreProcess(fParList))
             return kFALSE;
+
+        task->SetIsPreprocessed();
     }
 
@@ -307,4 +309,7 @@
     while ( (task=(MTask*)Next()) )
     {
+        if (!task->IsPreprocessed())
+            continue;
+
         *fLog << task->GetName() << "... " << flush;
 
Index: trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.cc	(revision 867)
@@ -26,6 +26,6 @@
 #include "MHMcCollectionArea.h" 
 
-#include <MLog.h>
-#include <TH2.h> 
+#include <TH2.h>
+#include <TCanvas.h>
 
 ClassImp(MHMcCollectionArea);
@@ -49,14 +49,25 @@
 
 
-    fHistAll = new TH2D("collAreaAll", "all showers - Radius vs log(E) distribution",
+    fHistAll = new TH2D("All Events", "All showers - Radius vs log(E) distribution",
                         50, 0., 5.,
                         50, 0., 500.);
 
-    fHistSel = new TH2D("collAreaSel", "selected showers - Radius vs log(E) distribution",
+    fHistAll->SetXTitle("log(E/GeV)");
+    fHistAll->SetYTitle("r/m");
+    fHistAll->SetZTitle("N");
+
+    fHistSel = new TH2D("Selected Events", "Selected showers - Radius vs log(E) distribution",
                         50, 0., 5.,
                         50, 0., 500.);
 
-    fHistCol = new TH1D("collArea", "Collection Area",
+    fHistSel->SetXTitle("log(E/GeV)");
+    fHistSel->SetYTitle("r/m");
+    fHistSel->SetYTitle("N");
+
+    fHistCol = new TH1D("Area", "Collection Area vs. log(E)",
                         50, 0., 5.);
+
+    fHistCol->SetXTitle("log(E/GeV)");
+    fHistCol->SetYTitle("A/m^2");
 }
 
@@ -78,17 +89,32 @@
 }
 
-void MHMcCollectionArea::DrawAll()
+void MHMcCollectionArea::DrawAll(Option_t* option)
 {
-    fHistAll->Draw();
+    TCanvas *c=new TCanvas(fHistAll->GetName(), fHistAll->GetTitle());
+
+    fHistSel->Draw(option);
+
+    c->Modified();
+    c->Update();
 }
 
-void MHMcCollectionArea::DrawSel()
+void MHMcCollectionArea::DrawSel(Option_t* option)
 {
-    fHistSel->Draw();
+    TCanvas *c=new TCanvas(fHistSel->GetName(), fHistSel->GetTitle());
+
+    fHistSel->Draw(option);
+
+    c->Modified();
+    c->Update();
 }
 
 void MHMcCollectionArea::Draw(Option_t* option)
 {
+    TCanvas *c=new TCanvas(fHistCol->GetName(), fHistCol->GetTitle());
+
     fHistCol->Draw(option);
+
+    c->Modified();
+    c->Update();
 }
 
Index: trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.h	(revision 866)
+++ trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.h	(revision 867)
@@ -21,19 +21,22 @@
 {
 private:
-    TH2D  *fHistAll ; //! all simulated showers
-    TH2D  *fHistSel ; //! the selected showers
-    TH1D  *fHistCol ; //  the collection area
+    TH2D *fHistAll; //! all simulated showers
+    TH2D *fHistSel; //! the selected showers
+
+    TH1D *fHistCol; //  the collection area
 
 public:
 
-    MHMcCollectionArea(const char *name=NULL, const char *title=NULL) ;
-    ~MHMcCollectionArea() ;
+    MHMcCollectionArea(const char *name=NULL, const char *title=NULL);
+    ~MHMcCollectionArea();
 
-    void FillAll(Float_t log10E, Float_t radius) ;
-    void FillSel(Float_t log10E, Float_t radius) ;
-    void DrawAll() ;
-    void DrawSel() ;
-    void Draw(Option_t* option = "") ;
-    void CalcEfficiency() ;
+    void FillAll(Float_t log10E, Float_t radius);
+    void FillSel(Float_t log10E, Float_t radius);
+
+    void DrawAll(Option_t *option = "");
+    void DrawSel(Option_t *option = "");
+    void Draw   (Option_t *option = "");
+
+    void CalcEfficiency();
 
     ClassDef(MHMcCollectionArea, 1)  //  Data Container to calculate Collection Area
Index: trunk/MagicSoft/Mars/mhist/MHMcEnergies.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHMcEnergies.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mhist/MHMcEnergies.cc	(revision 867)
@@ -66,4 +66,5 @@
     delete fHists;
 }
+
 // --------------------------------------------------------------------------
 //
Index: trunk/MagicSoft/Mars/mhist/MHMcEnergy.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHMcEnergy.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mhist/MHMcEnergy.cc	(revision 867)
@@ -51,23 +51,22 @@
 
     if (idx>0)
-        sprintf(aux+10, ";%i", idx);
+        sprintf(aux+strlen(aux), ";%i", idx);
+
     *fName  = name  ? name  : aux;
-    *fTitle = title ? title : "Container for a MC energy histogram" ;
+    *fTitle = title ? title : "Container for an energy distribution histogram" ;
 
-    //  - we initialize the histogram and the gaus function
+    //  - we initialize the histogram
     //  - we have to give diferent names for the diferent histograms because
     //    root don't allow us to have diferent histograms with the same name
 
-    strcpy(aux, "fLogEnergy");
+    char text[256];
+    sprintf(text, "Energy Distribution for trigger condition #%i", idx);
+
+    strcpy(aux, "log(E)");
     if (idx>0)
-        sprintf(aux+10, ";%i", idx);
-    fLogEner = new TF1(aux, "gaus", 1., 3.);
-
-    strcpy(aux, "hLogEnergy");
-    if (idx>0)
-        sprintf(aux+10, ";%i", idx);
-    hLogEner = new TH1F(aux, "", 40, 0.5, 4.5);
-    hLogEner->SetXTitle("log(E) [GeV]");
-    hLogEner->SetYTitle("dN/dE");
+        sprintf(aux+strlen(aux), " #%i", idx);
+    fHist = new TH1F(aux, text, 40, 0.5, 4.5);
+    fHist->SetXTitle("log(E/GeV)");
+    fHist->SetYTitle("dN/dE");
 }
 
@@ -78,6 +77,5 @@
 MHMcEnergy::~MHMcEnergy()
 {
-    delete hLogEner;
-    delete fLogEner;
+    delete fHist;
 }
 
@@ -88,5 +86,5 @@
 void MHMcEnergy::Fill(Float_t log10E, Float_t w)
 {
-    hLogEner->Fill(log10E, w);
+    fHist->Fill(log10E, w);
 }
 
@@ -101,5 +99,12 @@
     // Q: quiet mode
     //
-    hLogEner->Fit(fLogEner->GetName(), "Q0", "", xxmin, xxmax);
+    fHist->Fit("gaus", "Q0", "", xxmin, xxmax);
+
+    TF1 *result = fHist->GetFunction("gaus");
+
+    fThreshold    = CalcThreshold(result);
+    fThresholdErr = CalcThresholdErr(result);
+    fGaussPeak    = CalcGaussPeak(result);
+    fGaussSigma   = CalcGaussSigma(result);
 }
 
@@ -110,19 +115,21 @@
 void MHMcEnergy::Draw(Option_t *option)
 {
-    char text[50];
-    sprintf(text, "Energy Threshold = %4.1f +- %4.1f GeV",
-            GetThreshold(), GetThresholdErr());
+    char text[256];
 
-    const Float_t min = hLogEner->GetMinimum();
-    const Float_t max = hLogEner->GetMaximum();
+    const Float_t min = fHist->GetMinimum();
+    const Float_t max = fHist->GetMaximum();
     const Float_t sum = min+max;
 
-    TCanvas *c=new TCanvas("Energy Distribution","Energy distribution for triggered events");
+    TCanvas *c=new TCanvas(fHist->GetName(), fHist->GetTitle());
 
-    hLogEner->Draw(option);
+    fHist->Draw(option);
+
+    sprintf(text, "Energy Threshold = %4.1f +- %4.1f GeV",
+            fThreshold, fThresholdErr);
 
     TPaveLabel* label = new TPaveLabel(2.2, 0.75*sum, 4.4, 0.90*sum, text);
     label->SetFillColor(10);
     label->SetTextSize(0.3);
+    label->SetBit(kCanDelete);
     label->Draw();
 
@@ -137,5 +144,5 @@
 void MHMcEnergy::SetNumBins(Int_t nbins)
 {
-    hLogEner->SetBins(nbins, 0.5, 4.5);
+    fHist->SetBins(nbins, 0.5, 4.5);
 }
 // --------------------------------------------------------------------------
@@ -145,5 +152,5 @@
 void MHMcEnergy::Print(Option_t*)
 {
-    cout << "Threshold: " << GetThreshold() << " +- " << GetThresholdErr() << endl;
+    cout << "Threshold: " << fThreshold << " +- " << fThresholdErr << endl;
 }
 
@@ -152,7 +159,7 @@
 //  Return the threshold
 //
-Float_t MHMcEnergy::GetThreshold() const
+Float_t MHMcEnergy::CalcThreshold(TF1 *gauss)
 {
-    const Float_t p1 = fLogEner->GetParameter(1);
+    const Float_t p1 = gauss->GetParameter(1);
 
     return pow(10, p1);
@@ -163,9 +170,9 @@
 // Return the error of the threshold.
 //
-Float_t MHMcEnergy::GetThresholdErr() const
+Float_t MHMcEnergy::CalcThresholdErr(TF1 *gauss)
 {
     const Float_t lg10  = log(10);
-    const Float_t p1    = fLogEner->GetParameter(1);
-    const Float_t p1err = fLogEner->GetParError(1);
+    const Float_t p1    = gauss->GetParameter(1);
+    const Float_t p1err = gauss->GetParError(1);
 
     // The error has into accuont the error in the fit
@@ -177,7 +184,7 @@
 // Return the peak of the fitted gaussan function.
 //
-Float_t MHMcEnergy::GetGaussPeak() const
+Float_t MHMcEnergy::CalcGaussPeak(TF1 *gauss)
 {
-    return fLogEner->GetParameter(1);
+    return gauss->GetParameter(1);
 }
 
@@ -186,7 +193,7 @@
 // Return the sigma of the fitted gaussan function.
 //
-Float_t MHMcEnergy::GetGaussSigma() const
+Float_t MHMcEnergy::CalcGaussSigma(TF1 *gauss)
 {
-    return fLogEner->GetParameter(2);
+    return gauss->GetParameter(2);
 }
 
Index: trunk/MagicSoft/Mars/mhist/MHMcEnergy.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHMcEnergy.h	(revision 866)
+++ trunk/MagicSoft/Mars/mhist/MHMcEnergy.h	(revision 867)
@@ -16,6 +16,16 @@
 private:
 
-    TH1F *hLogEner;  // histogram with the logarith of the energy
-    TF1  *fLogEner;  // gausian function to fit the histogram
+    TH1F *fHist;  // histogram with the logarith of the energy
+
+    Float_t fThreshold;
+    Float_t fThresholdErr;
+    Float_t fGaussPeak;
+    Float_t fGaussSigma;
+
+    Float_t CalcThreshold(TF1 *gauss);
+    Float_t CalcThresholdErr(TF1 *gauss);
+
+    Float_t CalcGaussPeak(TF1 *gauss);
+    Float_t CalcGaussSigma(TF1 *gauss);
 
 public:
@@ -24,9 +34,9 @@
     ~MHMcEnergy();
 
-    Float_t GetThreshold() const;
-    Float_t GetThresholdErr() const;
+    Float_t GetThreshold() const { return fThreshold; }
+    Float_t GetThresholdErr() const { return fThresholdErr; }
 
-    Float_t GetGaussPeak() const;
-    Float_t GetGaussSigma() const;
+    Float_t GetGaussPeak() const { return fGaussPeak; }
+    Float_t GetGaussSigma() const { return fGaussSigma; };
 
     void Fill(Float_t log10E, Float_t w);
Index: trunk/MagicSoft/Mars/mmontecarlo/MMcCollectionAreaCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mmontecarlo/MMcCollectionAreaCalc.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mmontecarlo/MMcCollectionAreaCalc.cc	(revision 867)
@@ -36,10 +36,13 @@
 #include "MHMcCollectionArea.h"
 
-ClassImp(MMcCollectionAreaCalc)
+ClassImp(MMcCollectionAreaCalc);
 
-MMcCollectionAreaCalc::MMcCollectionAreaCalc (const char *name, const char *title)
+MMcCollectionAreaCalc::MMcCollectionAreaCalc(const char *input,
+                                             const char *name, const char *title)
 {
     *fName  = name  ? name  : "MMcCollectionAreaCalc";
-    *fTitle = title ? title : "Task to calc the collection area ";
+    *fTitle = title ? title : "Task to calculate the collection area";
+
+    fObjName = input ? input : "MMcTrig";
 } 
 
@@ -55,8 +58,8 @@
     }
 
-    fMcTrig = (MMcTrig*)pList->FindObject("MMcTrig");
+    fMcTrig = (MMcTrig*)pList->FindObject(fObjName);
     if (!fMcTrig)
     {
-        *fLog << dbginf << "MMcTrig not found... exit." << endl;
+        *fLog << dbginf << fObjName << " not found... exit." << endl;
         return kFALSE;
     }
@@ -84,5 +87,5 @@
 }
 
-Bool_t MMcCollectionAreaCalc::PostProcess () 
+Bool_t MMcCollectionAreaCalc::PostProcess()
 { 
     //
Index: trunk/MagicSoft/Mars/mmontecarlo/MMcCollectionAreaCalc.h
===================================================================
--- trunk/MagicSoft/Mars/mmontecarlo/MMcCollectionAreaCalc.h	(revision 866)
+++ trunk/MagicSoft/Mars/mmontecarlo/MMcCollectionAreaCalc.h	(revision 867)
@@ -19,10 +19,13 @@
     MHMcCollectionArea *fCollArea;
 
+    TString fObjName;
+
 public:
-    MMcCollectionAreaCalc(const char *name=NULL, const char *title=NULL);
+    MMcCollectionAreaCalc(const char *input=NULL,
+                          const char *name=NULL, const char *title=NULL);
 
     Bool_t PreProcess(MParList *pList);
-    Bool_t Process() ;
-    Bool_t PostProcess() ;
+    Bool_t Process();
+    Bool_t PostProcess();
 
     ClassDef(MMcCollectionAreaCalc, 0) // Task to calculate the collection area histogram
Index: trunk/MagicSoft/Mars/mmontecarlo/MMcThresholdCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mmontecarlo/MMcThresholdCalc.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mmontecarlo/MMcThresholdCalc.cc	(revision 867)
@@ -110,5 +110,5 @@
     {
         if (fDimension>1)
-            sprintf(auxname+7, ";%i.", i+1);
+            sprintf(auxname+7, ";%i", i+1);
 
         fMcTrig[i] = (MMcTrig*)pList->FindObject(auxname);
Index: trunk/MagicSoft/Mars/mmontecarlo/Makefile
===================================================================
--- trunk/MagicSoft/Mars/mmontecarlo/Makefile	(revision 866)
+++ trunk/MagicSoft/Mars/mmontecarlo/Makefile	(revision 867)
@@ -33,5 +33,5 @@
 SRCS    = $(SRCFILES)
 HEADERS = $(SRCFILES:.cc=.h)
-OBJS    = $(SRCFILES:.cc=.o) 
+OBJS    = $(SRCFILES:.cc=.o)
 
 ############################################################
Index: trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 866)
+++ trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 867)
@@ -141,4 +141,7 @@
         *fLog << "Calibration";
         break;
+    case 256:
+        *fLog << "Monte Carlo Data";
+        break;
     }
     *fLog << ")" << endl;
