Index: /trunk/MagicSoft/Mars/callisto.rc
===================================================================
--- /trunk/MagicSoft/Mars/callisto.rc	(revision 6172)
+++ /trunk/MagicSoft/Mars/callisto.rc	(revision 6173)
@@ -79,6 +79,6 @@
 # Type of used data format: raw, root, mc
 #MJCalibration.DataType: Root
-# Type of displayed plots
-#MJCalibration.Display: Full,DataCheck,Normal
+# Type of displayed plots: Full,DataCheck,Normal
+#MJCalibration.Display: datacheck
 # Write additinal debug output
 #MJCalibration.Debug: No
@@ -135,4 +135,8 @@
 #MJPedestalC2.DataType: Root
 #MJPedestalC3.DataType: Root
+# Type of displayed plots: Full,DataCheck,None
+#MJPedestalC1.Display: datacheck
+#MJPedestalC2.Display: datacheck
+#MJPedestalC3.Display: datacheck
 # Maximum number of event processed in the loop
 #MJPedestalC1.MaxEvents: 1000
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 6172)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 6173)
@@ -122,5 +122,5 @@
     fTitle = title ? title : "Tool to calibrate data";
 
-    SetRootData();
+    SetUseRootData();
 }
 
@@ -192,18 +192,23 @@
     SetHiLoCalibration(GetEnv("HiLoCalibration", fIsHiLoCalibration));
 
-    SetRootData();
-
-    if (HasEnv("RawData"))
-    {
-      fDataFlag = 0;
-      SetRawData();
-    }
-
-    if (HasEnv("MC"))
-    {
-      fDataFlag = 0;
-      SetMC();
-    }
-
+    SetUseRootData();
+
+    TString dat = GetEnv("DataType", "");
+    if (dat.BeginsWith("raw", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseRawData();
+      }
+    if (dat.BeginsWith("root", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseRootData();
+      }
+    if (dat.BeginsWith("mc", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseMC();
+      }
+    
     return kTRUE;
 }
@@ -247,5 +252,5 @@
 
     MDirIter iter;
-    const Int_t n0 = fSequence.SetupDatRuns(iter, fPathData, "D", IsRawData());
+    const Int_t n0 = fSequence.SetupDatRuns(iter, fPathData, "D", IsUseRawData());
     const Int_t n1 = fSequence.GetNumDatRuns();
     if (n0==0)
@@ -364,5 +369,5 @@
     //read.DisableAutoScheme();
     MRawFileRead rawread(NULL);
-    if (IsRawData())
+    if (IsUseRawData())
         rawread.AddFiles(fSequence.IsValid() ? iter : *fRuns);
     else
@@ -464,5 +469,5 @@
     calib.SetSignalType(MCalibrateData::kPhe);
 
-    if (IsMC()) // MC file
+    if (IsUseMC()) // MC file
     {
         calib.SetCalibrationMode(MCalibrateData::kFfactor);
@@ -612,5 +617,5 @@
     tlist2.AddToList(&apply);
     tlist2.AddToList(&merge);
-    if (IsMC())
+    if (IsUseMC())
         tlist2.AddToList(&pcopy);
     else
@@ -678,12 +683,12 @@
 
     // Now setup main tasklist
-    tlist.AddToList(IsRawData() ? (MTask*)&rawread : (MTask*)&readreal);
-    if (IsRootData())
+    tlist.AddToList(IsUseRawData() ? (MTask*)&rawread : (MTask*)&readreal);
+    if (IsUseRootData())
       tlist2.AddToList(&pextr);
-    tlist.AddToList(&tlist2, IsRootData() ? "Events" : "All");
+    tlist.AddToList(&tlist2, IsUseRootData() ? "Events" : "All");
     if (fIsInterlaced)
       tlist.AddToList(&fill8);
 
-    if (IsMC())
+    if (IsUseMC())
       tlist.AddToList(&pcalc, "Drive");
 
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 6172)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 6173)
@@ -51,7 +51,4 @@
 // Otherwise, (default: SetNormalDisplay()), a good selection of plots is given
 //
-// If the flag SetDataCheck() is set, the calibration is used as in the data check at 
-// La Palma, which mean especially running on raw data files.
-// 
 // The absolute light calibration devices Blind Pixel and PIN Diode can be switched on
 // and off with the commands:
@@ -146,4 +143,5 @@
 #include "MHCalibrationChargePINDiode.h"
 #include "MHCalibrationRelTimeCam.h"
+#include "MHCalibrationPix.h"
 
 #include "MReadMarsFile.h"
@@ -200,5 +198,4 @@
   
   SetRelTimeCalibration();
-  SetDataCheck(kFALSE);
   SetDebug(kFALSE);
   SetIntensity(kFALSE);
@@ -1411,4 +1408,5 @@
 Bool_t MJCalibration::CheckEnvLocal()
 {
+
     TString dis = GetEnv("Display", "");
     if (dis.BeginsWith("Full", TString::kIgnoreCase))
@@ -1419,7 +1417,25 @@
         SetNormalDisplay();
 
+    SetUseRootData();
+
+    TString dat = GetEnv("DataType", "");
+    if (dat.BeginsWith("raw", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseRawData();
+      }
+    if (dat.BeginsWith("root", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseRootData();
+      }
+    if (dat.BeginsWith("mc", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseMC();
+      }
+    
     SetRelTimeCalibration(GetEnv("RelTimeCalibration", IsRelTimes()));
     SetIntensity(GetEnv("IntensityCalibration", IsIntensity()));
-    SetDataCheck(GetEnv("DataCheck", IsDataCheck()));
     SetDebug(GetEnv("Debug", IsDebug()));
 
@@ -1427,18 +1443,4 @@
     SetUsePINDiode(GetEnv("UsePINDiode", IsUsePINDiode()));
     SetGeometry(GetEnv("Geometry", fGeometry));
-
-    SetRootData();
-
-    if (HasEnv("MC"))
-    {
-      fDataFlag = 0;
-      SetMC();
-    }
-
-    if (HasEnv("RawData") || IsDataCheck())
-    {
-      fDataFlag = 0;
-      SetRawData();
-    }
 
     fReferenceFile = GetEnv("ReferenceFile",fReferenceFile.Data());
@@ -1642,5 +1644,5 @@
     if (fSequence.IsValid())
     {
-        const Int_t n0 = fSequence.SetupCalRuns(iter, fPathData, "C", IsRawData());
+        const Int_t n0 = fSequence.SetupCalRuns(iter, fPathData, "C", IsUseRawData());
         const Int_t n1 = fSequence.GetNumCalRuns();
         if (n0==0)
@@ -1702,5 +1704,5 @@
     MRawFileRead rawread(NULL);
 
-    if (IsRawData())
+    if (IsUseRawData())
     {
         rawread.AddFiles(fSequence.IsValid() ? iter : *fRuns);
@@ -1720,4 +1722,5 @@
     MGeomApply               apply;
     apply.SetGeometry(fGeometry);
+
     MBadPixelsMerge          merge(&fBadPixels);
     MExtractPINDiode         pinext;
@@ -1873,4 +1876,29 @@
 
     tlist.PrintStatistics();
+    
+    /*
+    MHCalibrationRelTimeCam *hcam = (MHCalibrationRelTimeCam*)plist.FindObject("MHCalibrationRelTimeCam");
+    MHCalibrationPix &pix1 = (*hcam)(100);
+    pix1.DrawClone("");
+    gPad->SaveAs("test_time_100.ps");
+
+    MHCalibrationChargeCam *hccam = (MHCalibrationChargeCam*)plist.FindObject("MHCalibrationChargeCam");
+    MHCalibrationPix &pix11 = (*hccam)(100);
+    pix11.DrawClone("");
+    gPad->SaveAs("test_charge_100.ps");
+
+    MHCalibrationPix &pix2 = (MHCalibrationPix&)(*hcam)(400);
+    pix2.DrawClone("");    
+    gPad->SaveAs("test_time_400.ps");
+
+    MHCalibrationPix &pix22 = (*hccam)(400);
+    pix22.DrawClone("");
+    gPad->SaveAs("test_charge_400.ps");
+
+    *fLog << err << "Blackout 100: " << fRelTimeCam[100].GetNumBlackout() << endl;
+    *fLog << err << "Picup    100: " << fRelTimeCam[100].GetNumPickup  () << endl;    
+    *fLog << err << "Blackout 400: " << fRelTimeCam[400].GetNumBlackout() << endl;
+    *fLog << err << "Picup    400: " << fRelTimeCam[400].GetNumPickup  () << endl;    
+    */
 
     if (!fCalibrationPINDiode.IsValid())
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibration.h
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibration.h	(revision 6172)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibration.h	(revision 6173)
@@ -142,5 +142,5 @@
   Byte_t fStorage;                                     // Bit-field for chosen storage type
 
-  enum { kRelTimes, kDataCheck, kDebug, kIntensity };  // Possible flags
+  enum { kRelTimes, kDebug, kIntensity };  // Possible flags
 
   Byte_t fFlags;                                       // Bit-field for the flags
@@ -152,5 +152,4 @@
 
   Bool_t IsRelTimes     () const { return TESTBIT(fFlags,kRelTimes);       }
-  Bool_t IsDataCheck    () const { return TESTBIT(fFlags,kDataCheck);      }
   Bool_t IsDebug        () const { return TESTBIT(fFlags,kDebug);          }
   Bool_t IsIntensity    () const { return TESTBIT(fFlags,kIntensity);      }
@@ -213,6 +212,4 @@
   // Flags
   void SetRelTimeCalibration( const Bool_t b=kTRUE ) { b ? SETBIT(fFlags,kRelTimes)  : CLRBIT(fFlags,kRelTimes); }
-  void SetDataCheck         ( const Bool_t b=kTRUE ) { b ? SetDataCheckDisplay(), SETBIT(fFlags,kDataCheck)
-                                                                                     : CLRBIT(fFlags,kDataCheck); }
   void SetDebug             ( const Bool_t b=kTRUE ) { b ? SETBIT(fFlags,kDebug)     : CLRBIT(fFlags,kDebug); }
   void SetIntensity         ( const Bool_t b=kTRUE ) { b ? SETBIT(fFlags,kIntensity) : CLRBIT(fFlags,kIntensity); }
Index: /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 6172)
+++ /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 6173)
@@ -96,5 +96,4 @@
 // - fRuns to 0, 
 // - fExtractor to NULL, 
-// - fDataCheck to kFALSE, 
 // - fExtractType to kUsePedRun
 // - fStorage to Normal Storage
@@ -103,5 +102,5 @@
 MJPedestal::MJPedestal(const char *name, const char *title) 
     : fRuns(0), fExtractor(NULL), fDisplayType(kDisplayDataCheck),
-      fDataCheck(kFALSE), fExtractType(kUsePedRun), fExtractionType(kFundamental)
+      fExtractType(kUsePedRun), fExtractionType(kFundamental)
 {
     fName  = name  ? name  : "MJPedestal";
@@ -731,6 +730,4 @@
 Bool_t MJPedestal::CheckEnvLocal()
 {
-    SetDataCheck(GetEnv("DataCheck", fDataCheck));
-
     if (HasEnv("Display"))
     {
@@ -744,4 +741,23 @@
             fDisplayType = kDisplayNone;
     }
+
+    SetUseRootData();
+
+    TString dat = GetEnv("DataType", "");
+    if (dat.BeginsWith("raw", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseRawData();
+      }
+    if (dat.BeginsWith("root", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseRootData();
+      }
+    if (dat.BeginsWith("mc", TString::kIgnoreCase))
+      {
+        fDataFlag = 0;
+        SetUseMC();
+      }
 
     if (HasEnv("UseData"))
@@ -869,5 +885,5 @@
     if (fSequence.IsValid())
     {
-        const Int_t n0 = IsUseData() ? fSequence.SetupDatRuns(iter, fPathData, "D", fDataCheck) : fSequence.SetupPedRuns(iter, fPathData, "P", fDataCheck);
+        const Int_t n0 = IsUseData() ? fSequence.SetupDatRuns(iter, fPathData, "D", IsUseRawData()) : fSequence.SetupPedRuns(iter, fPathData, "P", IsUseRawData());
         const Int_t n1 = IsUseData() ? fSequence.GetNumDatRuns() : fSequence.GetNumPedRuns();
         if (n0==0)
@@ -883,5 +899,5 @@
     }
 
-    if (fDataCheck)
+    if (IsUseRawData())
     {
         if (fRuns || fSequence.IsValid())
