Index: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 5307)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 5308)
@@ -321,11 +321,11 @@
     readreal.AddFiles(iter);
 
-    MReadMarsFile read("Events");
-    read.DisableAutoScheme();
+    //MReadMarsFile read("Events");
+    //read.DisableAutoScheme();
     MRawFileRead rawread(NULL);
     if (IsDataCheck())
         rawread.AddFiles(iter);
     else
-        read.AddFiles(iter);
+        readreal.AddFiles(iter);
 
     MGeomApply             apply; // Only necessary to create geometry
@@ -435,5 +435,5 @@
 
     // Now setup main tasklist
-    tlist.AddToList(IsDataCheck() ? (MTask*)&rawread : (MTask*)&read);
+    tlist.AddToList(IsDataCheck() ? (MTask*)&rawread : (MTask*)&readreal);
     tlist.AddToList(&tlist2, IsDataCheck()?"All":"Events");
     if (!IsDataCheck())
Index: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.h	(revision 5307)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.h	(revision 5308)
@@ -19,7 +19,14 @@
 {
 private:
+    Bool_t fIsDataCheck;
+
+    Bool_t CheckEnvLocal();
+
     Bool_t WriteResult();
     Bool_t ReadCalibration(TObjArray &o, MBadPixelsCam &bpix,
                            MTask* &ext1, MTask* &ext2, TString &geom) const;
+
+    Bool_t IsDataCheck() const { return fIsDataCheck; }
+    void SetDataCheck(Bool_t b) { fIsDataCheck = b; }
 
 public:
Index: trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 5307)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 5308)
@@ -218,5 +218,14 @@
   SetNoStorage         ( kFALSE );
   SetHistsStorage      ( kFALSE );
-
+}
+
+void MJCalibration::DrawTab(MParList &plist, const char *cont, const char *name, Option_t *opt)
+{
+    TObject *obj = plist.FindObject(cont);
+    if (!obj)
+        return;
+
+    fDisplay->AddTab(name);
+    obj->DrawClone(opt);
 }
 
@@ -264,7 +273,20 @@
 void MJCalibration::DisplayResult(MParList &plist)
 {
-
     if (!fDisplay)
         return;
+
+    TString drawoption = "nonew ";
+    if (fDisplayType == kDataCheckDisplay)
+        drawoption += "datacheck";
+    if (fDisplayType == kFullDisplay)
+        drawoption += "all";
+
+    if (IsUsePINDiode())
+        DrawTab(plist, "MHCalibrationChargePINDiode",       "PINDiode",  drawoption);
+    if (IsUseBlindPixel())
+        DrawTab(plist, "MHCalibrationChargeChargeBlindCam", "BlindPix",  drawoption);
+    if (IsRelTimes())
+        DrawTab(plist, "MHCalibrationRelTimeCam",           "RelTime",   drawoption);
+    DrawTab(plist, "MHCalibrationChargeCam",                "Charge",    drawoption);
 
     //
@@ -325,17 +347,17 @@
 
     if (IsIntensity())
-      {
+    {
         cam    = (MCalibrationChargeCam*) fIntensCalibCam.GetCam();
         qecam  = (MCalibrationQECam*)     fIntensQECam.GetCam();
         relcam = (MCalibrationRelTimeCam*)fIntensRelTimeCam.GetCam();
         badcam = (MBadPixelsCam*)         fIntensBadCam.GetCam();
-      }
+    }
     else
-      {
+    {
         cam    = &fCalibrationCam;
         qecam  = &fQECam;
         relcam = &fRelTimeCam;
         badcam = &fBadPixels;
-      }
+    }
     
     // Fitted charge means and sigmas
@@ -478,5 +500,5 @@
     {
       
-      TCanvas &c1 = fDisplay->AddTab("Fit.Charge");
+      TCanvas &c1 = fDisplay->AddTab("FitCharge");
       c1.Divide(3, 3);
       
@@ -713,5 +735,5 @@
       // ARRIVAL TIMES
       // 
-      TCanvas &c3 = fDisplay->AddTab("ArrivalTimes");
+      TCanvas &c3 = fDisplay->AddTab("AbsTimes");
       c3.Divide(2,3);
       
@@ -922,5 +944,5 @@
       if (IsRelTimes())
         {
-          TCanvas &c5 = fDisplay->AddTab("Rel. Times");
+          TCanvas &c5 = fDisplay->AddTab("RelTimes");
           c5.Divide(2,3);
           
@@ -997,5 +1019,5 @@
         
         // Charges
-        TCanvas &c11 = fDisplay->AddTab("Fit.Charge");
+        TCanvas &c11 = fDisplay->AddTab("FitCharge");
         c11.Divide(2, 4);
         
@@ -1004,5 +1026,5 @@
         
         // Reduced Sigmas
-        TCanvas &c12 = fDisplay->AddTab("Red.Sigma");
+        TCanvas &c12 = fDisplay->AddTab("RedSigma");
         c12.Divide(2,4);
         
@@ -1045,5 +1067,5 @@
         
         // Abs. Times
-        TCanvas &c16 = fDisplay->AddTab("Abs. Times");
+        TCanvas &c16 = fDisplay->AddTab("AbsTimes");
         c16.Divide(2,3);
         
@@ -1054,5 +1076,5 @@
         {
             // Rel. Times
-            TCanvas &c17 = fDisplay->AddTab("Rel. Times");
+            TCanvas &c17 = fDisplay->AddTab("RelTimes");
             c17.Divide(2,4);
 
@@ -1075,5 +1097,5 @@
 
         // Charges
-        TCanvas &c21 = fDisplay->AddTab("Fit.Charge");
+        TCanvas &c21 = fDisplay->AddTab("FitCharge");
         c21.Divide(2, 4);
 
@@ -1082,5 +1104,5 @@
 
         // Reduced Sigmas
-        TCanvas &c23 = fDisplay->AddTab("Red.Sigma");
+        TCanvas &c23 = fDisplay->AddTab("RedSigma");
         c23.Divide(2,4);
 
@@ -1142,5 +1164,5 @@
         
         // Abs. Times
-        TCanvas &c30 = fDisplay->AddTab("Abs. Times");
+        TCanvas &c30 = fDisplay->AddTab("AbsTimes");
         c30.Divide(2,3);
         
@@ -1151,5 +1173,5 @@
         {
             // Rel. Times
-            TCanvas &c31 = fDisplay->AddTab("Rel. Times");
+            TCanvas &c31 = fDisplay->AddTab("RelTimes");
             c31.Divide(3,5);
             
@@ -1159,5 +1181,5 @@
 
             // Time Defects
-            TCanvas &c32 = fDisplay->AddTab("Time Def.");
+            TCanvas &c32 = fDisplay->AddTab("DefTime");
             c32.Divide(2,2);
             
@@ -1318,5 +1340,5 @@
 //   MJCalibration.Display: full, datacheck, normal
 //   MJCalibration.RelTimeCalibration: yes,no
-//   MJCalibration.Datacheck: yes,no
+//   MJCalibration.DataCheck: yes,no
 //   MJCalibration.Debug: yes,no
 //   MJCalibration.Intensity: yes,no
@@ -1339,5 +1361,5 @@
     SetRelTimeCalibration(GetEnv("RelTimeCalibration", IsRelTimes()));
     SetIntensity(GetEnv("IntensityCalibration", IsIntensity()));
-    SetDataCheck(GetEnv("Datacheck", IsDataCheck()));
+    SetDataCheck(GetEnv("DataCheck", IsDataCheck()));
     SetDebug(GetEnv("Debug", IsDebug()));
 
@@ -1496,5 +1518,5 @@
     if (fSequence.IsValid())
     {
-        const Int_t n0 = fSequence.SetupCalRuns(iter, fPathData, IsDataCheck());
+        const Int_t n0 = fSequence.SetupCalRuns(iter, fPathData, "C", IsDataCheck());
         const Int_t n1 = fSequence.GetNumCalRuns();
         if (n0==0)
@@ -1522,5 +1544,5 @@
     //
     if (IsIntensity())
-      {
+    {
         plist.AddToList(&fIntensQECam);
         plist.AddToList(&fIntensCalibCam);
@@ -1529,7 +1551,7 @@
         plist.AddToList(&fIntensRelTimeCam);
         plist.AddToList(&fIntensBadCam);
-      }
+    }
     else
-      {
+    {
         plist.AddToList(&fQECam);
         plist.AddToList(&fCalibrationCam);
@@ -1537,5 +1559,5 @@
         plist.AddToList(&fCalibrationPINDiode);
         plist.AddToList(&fRelTimeCam);
-      }
+    }
 
     //
@@ -1548,5 +1570,5 @@
     plist.AddToList(&blindcam);
     if (IsRelTimes())
-      plist.AddToList(&reltimecam);
+        plist.AddToList(&reltimecam);
     //
     // Data Reading tasks
@@ -1602,10 +1624,16 @@
     MFillH fillcam("MHCalibrationChargeCam",      "MExtractedSignalCam",        "FillChargeCam");
     MFillH filltme("MHCalibrationRelTimeCam",     "MArrivalTimeCam",            "FillRelTime");
-    fillpin.SetNameTab("PINDiode");
-    fillbnd.SetNameTab("BlindPix");
-    fillcam.SetNameTab("Charge");
-    filltme.SetNameTab("RelTimes");
-  
-    TString drawoption;
+    fillpin.SetBit(MFillH::kDoNotDisplay);
+    fillbnd.SetBit(MFillH::kDoNotDisplay);
+    fillcam.SetBit(MFillH::kDoNotDisplay);
+    filltme.SetBit(MFillH::kDoNotDisplay);
+/*
+
+     fillpin.SetNameTab("PINDiode");
+     fillbnd.SetNameTab("BlindPix");
+     fillcam.SetNameTab("Charge");
+     filltme.SetNameTab("RelTimes");
+
+     TString drawoption;
 
     if (fDisplayType == kDataCheckDisplay)
@@ -1618,5 +1646,5 @@
     fillpin.SetDrawOption(drawoption.Data());
     filltme.SetDrawOption(drawoption.Data());
-
+  */
     //
     // Apply a filter against cosmics
@@ -1699,46 +1727,4 @@
     tlist.PrintStatistics();
 
-    //
-    // The next lines are necessary in order to avoid that
-    // the last entry drawn by MFillH gets deleted again from
-    // the display. No idea where this comes from...
-    //
-    // FIND THE REASON! THE NEXT CHANGE SOMEBODY DOES MIGHT RESULT
-    // IN __YOUR__ WORKAROUN NOT WORKING IF IT IS NOT CLEANLY DONE!
-    //
-    // THE AUTHOR OF MFILLH SHOULD FIND THE REASON INSTEAD OF DELETING 
-    // CODE WITHOUT INFORMING THE DATACHECK PEOPLE - SORRY, I SPENT 
-    // TOO MANY DAYS TRYING TO FIND THIS REASON!
-    //
-    // There is NO BUG-REPORT! And no code has been deleted! And
-    // there is NO hint who wrote this work around and should
-    // be informed! Maybe the author of a WORKAROUND should contact
-    // the author of a class which he/she identified not working
-    // correctly instead of vice versa!
-    //
-    if (fDisplay)
-    {
-      if (IsUsePINDiode())
-        {
-          MHCalibrationChargePINDiode *pin =
-            (MHCalibrationChargePINDiode*)plist.FindObject("MHCalibrationChargePINDiode");
-          pin->DrawClone(Form("nonew %s",drawoption.Data()));
-        }
-      else if (IsUseBlindPixel())
-        {
-          MHCalibrationChargeBlindCam *cam =
-            (MHCalibrationChargeBlindCam*)plist.FindObject("MHCalibrationChargeBlindCam");
-          cam->DrawClone(Form("nonew %s",drawoption.Data()));
-        }
-      else if (IsRelTimes())
-        {
-          MHCalibrationRelTimeCam *cam =
-            (MHCalibrationRelTimeCam*)plist.FindObject("MHCalibrationRelTimeCam");
-            cam->DrawClone(Form("nonew %s",drawoption.Data()));
-        }
-      else
-        chargecam.DrawClone(Form("nonew %s",drawoption.Data()));
-    }
-
     DisplayResult(plist);
 
@@ -1982,5 +1968,4 @@
 Bool_t MJCalibration::WriteHists(MParList &plist)
 {
-
     if (fPathOut.IsNull())
         return kTRUE;
@@ -2002,5 +1987,5 @@
     cont.Add(plist.FindObject("MHCalibrationChargePINDiode"));
     if (IsRelTimes())
-      cont.Add(plist.FindObject("MHCalibrationRelTimeCam"));
+        cont.Add(plist.FindObject("MHCalibrationRelTimeCam"));
 
     return WriteContainer(cont);
Index: trunk/MagicSoft/Mars/mjobs/MJCalibration.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibration.h	(revision 5307)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibration.h	(revision 5308)
@@ -142,4 +142,6 @@
   Bool_t IsNoStorage    () const { return TESTBIT(fStorage,kNoStorage);    }
   Bool_t IsHistsStorage () const { return TESTBIT(fStorage,kHistsStorage); }
+
+  void DrawTab(MParList &plist, const char *cont, const char *name, Option_t *opt);
   
   void   DisplayResult        ( MParList &plist );
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 5307)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 5308)
@@ -487,15 +487,22 @@
 //
 // The following resource options are available:
-//   Prefix.DataCheckDisplay: Yes, No
-//   Prefix.DataCheck:        Yes, No
-//   Prefix.UseData:          Yes, No
-//   Prefix.DisableOutput:    Yes, No
+//
+// Do a datacheck run (read raw-data and enable display)
+//   Prefix.DataCheck:        Yes, No <default>
+//
+// Show data check display
+//   Prefix.DataCheckDisplay: Yes, No <default>
+//
+// Use cosmic data instead of pedestal data (DatRuns)
+//   Prefix.UseData:          Yes, No <default>
+//
+// Write an output file with pedestals and status-display
+//   Prefix.DisableOutput:    Yes, No <default>
 //
 Bool_t MJPedestal::CheckEnvLocal()
 {
+    SetDataCheck(GetEnv("DataCheck", fDataCheck));
     if (HasEnv("DataCheckDisplay"))
         fDisplayType = GetEnv("DataCheckDisplay", kFALSE) ? kDataCheckDisplay : kNormalDisplay;
-
-    SetDataCheck(GetEnv("DataCheck", fDataCheck));
     SetUseData(GetEnv("UseData", fUseData));
     SetNoStorage(GetEnv("DisableOutput", IsNoStorage()));
@@ -607,8 +614,10 @@
     MRawFileRead rawread(NULL);
 
+    cout << "DATACHECK: " << (fDataCheck?"yes":"no") << endl;
+
     MDirIter iter;
     if (fSequence.IsValid())
     {
-        const Int_t n0 = fUseData ? fSequence.SetupDatRuns(iter, fPathData, fDataCheck) : fSequence.SetupPedRuns(iter, fPathData, fDataCheck);
+        const Int_t n0 = fUseData ? fSequence.SetupDatRuns(iter, fPathData, "D", fDataCheck) : fSequence.SetupPedRuns(iter, fPathData, "P", fDataCheck);
         const Int_t n1 = fUseData ? fSequence.GetNumDatRuns() : fSequence.GetNumPedRuns();
         if (n0==0)
