Index: trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.cc
===================================================================
--- trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.cc	(revision 6311)
+++ trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.cc	(revision 6312)
@@ -62,4 +62,6 @@
 #include "MLogManip.h"
 
+#include "MParList.h"
+
 #include "MPedestalPix.h"
 #include "MPedestalCam.h"
@@ -72,4 +74,7 @@
 #include "MArrivalTimeCam.h"
 #include "MArrivalTimePix.h"
+
+#include "MBadPixelsCam.h"
+#include "MBadPixelsPix.h"
 
 ClassImp(MExtractTimeAndChargeDigitalFilterPeakSearch);
@@ -98,4 +103,5 @@
 //
 MExtractTimeAndChargeDigitalFilterPeakSearch::MExtractTimeAndChargeDigitalFilterPeakSearch(const char *name, const char *title) 
+    : fBadPixels(NULL)
 {
     fName  = name  ? name  : "MExtractTimeAndChargeDigitalFilterPeakSearch";
@@ -142,4 +148,11 @@
   fLoGainOutOfRangeRight = 0;
   
+  fBadPixels = (MBadPixelsCam*)pList->FindObject(AddSerialNumber("MBadPixelsCam"));
+  if (!fBadPixels)
+    {
+      *fLog << err << "Cannot find MBadPixelsCam ... abort." << endl;
+      return kFALSE;
+    }
+
   return kTRUE;
 }
@@ -293,5 +306,8 @@
       sat = 0;
 
-      FindPeak(pixel.GetHiGainSamples()+fHiGainFirst, pixel.GetLoGainSamples(), startslice, sumhi, sat, satpos);
+      MBadPixelsPix &bad = (*fBadPixels)[pixel.GetPixelId()];
+      
+      if (!bad.IsUnsuitable())
+        FindPeak(pixel.GetHiGainSamples()+fHiGainFirst, pixel.GetLoGainSamples(), startslice, sumhi, sat, satpos);
 
       if (sumhi > maxsumhi && sat == 0)
Index: trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.h
===================================================================
--- trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.h	(revision 6311)
+++ trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.h	(revision 6312)
@@ -17,4 +17,6 @@
 class TH2F;
 class MPedestalPix;
+class MBadPixelsCam;
+
 class MExtractTimeAndChargeDigitalFilterPeakSearch : public MExtractTimeAndChargeDigitalFilter
 {
@@ -42,4 +44,6 @@
   ULong_t fLoGainOutOfRangeRight;              // Number of events out of range to the right side in low gain
 
+  MBadPixelsCam *fBadPixels;                   // Bad Pixels Camera
+  
   void    FindPeak(Byte_t *ptr, Byte_t *logain,
                    Byte_t &startslice, Int_t &max, Int_t &sat, Byte_t &satpos) const;
