Index: trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 8156)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 8158)
@@ -114,4 +114,5 @@
 
 #include "MPedestalCam.h"
+#include "MPedestalSubtract.h"
 #include "MCalibColorSteer.h"
 
@@ -1594,70 +1595,43 @@
                                    MHCalibrationChargeBlindCam &blindcam)
 {
-
-  Int_t run = fSequence.GetLastRun();
-  
-  //
-  // Initialize the blind pixel. Unfortunately, there is a hardware difference
-  // in the first blind pixel until run "gkSecondBlindPixelInstallation" and the
-  // later setup. The first needs to use a filter because of the length of
-  // spurious NSB photon signals. The latter get better along extracting the amplitude
-  // from a small window.
-  //
-  if (run < gkSecondBlindPixelInstallation)
-    {
-      MCalibrationBlindCamOneOldStyle blindresults;
-      if (IsIntensity())
+    const Int_t run = fSequence.GetLastRun();
+
+    //
+    // Initialize the blind pixel. Unfortunately, there is a hardware
+    // difference in the first blind pixel until run
+    // gkSecondBlindPixelInstallation and the later setup. The first
+    // needs to use a filter because of the length of spurious NSB photon
+    // signals. The latter get better along extracting the amplitude
+    // from a small window.
+    //
+    const MCalibrationBlindCamOneOldStyle   one;
+    const MCalibrationBlindCamTwoNewStyle   two;
+    const MCalibrationBlindCamThreeNewStyle three;
+
+    const MCalibrationBlindCam &blindresults =
+        run<gkSecondBlindPixelInstallation ? static_cast<MCalibrationBlindCam>(one) :
+        (run<gkThirdBlindPixelInstallation ? static_cast<MCalibrationBlindCam>(two) : static_cast<MCalibrationBlindCam>(three));
+
+    if (IsIntensity())
         blindresults.Copy(*fIntensBlindCam.GetCam());
-      else
+    else
         blindresults.Copy(fCalibrationBlindCam);
 
-      blindext.SetExtractionType(MExtractBlindPixel::kIntegral);
-      blindext.SetExtractionType(MExtractBlindPixel::kFilter);
-      blindext.SetRange(10,19,0,6);
-      blindext.SetNSBFilterLimit(70);
-    }
-  else if (run < gkThirdBlindPixelInstallation)
-    {
-
-      MCalibrationBlindCamTwoNewStyle blindresults;
-
-      if (IsIntensity())
-        blindresults.Copy(*fIntensBlindCam.GetCam());
-      else
-        blindresults.Copy(fCalibrationBlindCam);
-
-      blindext.SetNumBlindPixels(blindresults.GetSize());
-      for (Int_t i=0;i<blindresults.GetSize();i++)
-        blindext.SetBlindPixelIdx(blindresults[i].GetPixId(),i);
-
-      blindext.SetExtractionType(MExtractBlindPixel::kAmplitude);
-      blindext.SetExtractionType(MExtractBlindPixel::kFilter);
-      blindext.SetRange(5,8,0,2);
-      blindext.SetNSBFilterLimit(38);
-      
-    }
-  else
-    {
-
-      MCalibrationBlindCamThreeNewStyle blindresults;
-
-      if (IsIntensity())
-        blindresults.Copy(*fIntensBlindCam.GetCam());
-      else
-        blindresults.Copy(fCalibrationBlindCam);
-
-      blindext.SetNumBlindPixels(blindresults.GetSize());
-
-      for (Int_t i=0;i<blindresults.GetSize();i++)
-        blindext.SetBlindPixelIdx(blindresults[i].GetPixId(),i);
-
-      blindext.SetExtractionType(MExtractBlindPixel::kAmplitude);
-      blindext.SetExtractionType(MExtractBlindPixel::kFilter);
-      blindext.SetDataType(MExtractBlindPixel::kRawEvt2);
-      blindext.SetRange(5,8,0,2);
-      blindext.SetNSBFilterLimit(38);
-      
-    }
-  
+    blindext.SetExtractionType(MExtractBlindPixel::kIntegral);
+    blindext.SetExtractionType(MExtractBlindPixel::kFilter);
+
+    if (run<gkSecondBlindPixelInstallation)
+    {
+        blindext.SetRange(10,19,0,6);
+        blindext.SetNSBFilterLimit(70);
+    }
+    else
+    {
+        blindext.SetRange(5,8,0,2);
+        blindext.SetNSBFilterLimit(38);
+    }
+
+    if (run>=gkThirdBlindPixelInstallation)
+        blindext.SetDataType(MExtractBlindPixel::kRawEvt2);
 }
 
