Index: trunk/MagicSoft/Mars/mjobs/MJCalib.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalib.cc	(revision 7122)
+++ trunk/MagicSoft/Mars/mjobs/MJCalib.cc	(revision 7125)
@@ -48,5 +48,5 @@
 // - fPulsePosCheck to kFALSE
 //
-MJCalib::MJCalib() : fDataFlag(kIsUseRootData), fStorage(0), 
+MJCalib::MJCalib() : fDataFlag(kIsUseRawData), fStorage(0),
                      fIsPixelCheck(kFALSE), fIsPulsePosCheck(kFALSE),
                      fIsHiLoCalibration(kFALSE)
Index: trunk/MagicSoft/Mars/mjobs/MJOptimizeCuts.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJOptimizeCuts.cc	(revision 7122)
+++ trunk/MagicSoft/Mars/mjobs/MJOptimizeCuts.cc	(revision 7125)
@@ -318,4 +318,7 @@
     MHAlpha *histof = CreateNewHist("HistOff");
 
+    if (!histon || !histof)
+        return kFALSE;
+
     const Bool_t rc = RunOnOffCore(*histon, *histof, fname, filter, fit, tree);
 
@@ -332,4 +335,7 @@
     MHAlpha *histon = CreateNewHist();
 
+    if (!histon)
+        return kFALSE;
+
     const Bool_t rc = RunOnCore(*histon, fname, filter, fit);
 
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 7122)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 7125)
@@ -89,4 +89,10 @@
 #include "MPedCalcFromLoGain.h"
 #include "MFTriggerPattern.h"
+#include "MBadPixelsCalc.h"
+
+#include "MPedPhotCam.h"
+#include "MPedPhotPix.h"
+#include "MPedestalCam.h"
+#include "MPedestalPix.h"
 
 ClassImp(MJPedestal);
@@ -111,5 +117,6 @@
 MJPedestal::MJPedestal(const char *name, const char *title) 
     : fExtractor(NULL), fDisplayType(kDisplayDataCheck),
-      fExtractType(kUsePedRun), fExtractionType(kFundamental), fIsUseHists(kFALSE)
+    fExtractType(kUsePedRun), fExtractionType(kFundamental),
+    fIsUseHists(kFALSE), fDeadPixelCheck(kFALSE)
 {
     fName  = name  ? name  : "MJPedestal";
@@ -777,4 +784,6 @@
     SetNoStorage(GetEnv("DisableOutput", IsNoStorage()));
 
+    fDeadPixelCheck = GetEnv("DeadPixelsCheck", fDeadPixelCheck);
+
     // Setup an environment task
     MTaskEnv tenv("ExtractSignal");
@@ -1235,4 +1244,20 @@
     }
 
+    if (fDeadPixelCheck)
+    {
+        MBadPixelsCalc calc;
+        calc.SetPedestalLevelVarianceLo(4.5);
+        calc.SetPedestalLevelVarianceHi();
+        calc.SetPedestalLevel();
+        if (!CheckEnv(calc))
+            return kFALSE;
+        calc.SetGeomCam(dynamic_cast<MGeomCam*>(plist.FindObject("MGeomCam")));
+        if (!calc.CheckPedestalRms(fBadPixels, fPedestalCamOut))
+        {
+            *fLog << err << "ERROR - Checking PedestalRMS via MBadPixelsCalc failed...." << endl;
+            return kFALSE;
+        }
+    }
+
     if (fDisplayType!=kDisplayNone)
         DisplayResult(plist);
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 7122)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 7125)
@@ -72,4 +72,5 @@
 
     Bool_t fIsUseHists;                      // Switch on histogramming or not
+    Bool_t fDeadPixelCheck;                  // Should the dead pixel check be done?
 
     MExtractor *ReadCalibration();
@@ -110,4 +111,5 @@
     void SetUseData()                           { fExtractType = kUseData;   }
     void SetUseHists( const Bool_t b=kTRUE)     { fIsUseHists = b;  }
+    void SetDeadPixelCheck(const Bool_t b=kTRUE) { fDeadPixelCheck = b; }
     void SetUsePedRun()                         { fExtractType = kUsePedRun; }
     void SetDataCheckDisplay()                  { fDisplayType = kDisplayDataCheck; }
