Index: trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 7045)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 7047)
@@ -1929,5 +1929,5 @@
     MFCosmics cosmics;
     cosmics.SetMaxEmptyPixels(0.05);
-    cosmics.SetMinAcceptedFraction(0.5);
+    cosmics.SetMaxAcceptedFraction(0.5); // max=0.5 cosmics
 
     MContinue cont(&cosmics, "ContCosmics");
@@ -1971,27 +1971,33 @@
 
     // Execute first analysis
-    if (!evtloop.Eventloop())
-    {
-      DisplayResult(plist);
-      WriteResult(plist);
-      *fLog << err << GetDescriptor() << ": Failed." << endl;
-      return kFALSE;
-    }
+    const Bool_t rc = evtloop.Eventloop();
+
+    if (!fCalibrationPINDiode.IsValid())
+        SetUsePINDiode(kFALSE);
 
     tlist.PrintStatistics();
+    DisplayResult(plist);
+    if (!WriteResult(plist))
+        return kFALSE;
+
+    if (!rc)
+    {
+        *fLog << err << GetDescriptor() << ": Failed." << endl;
+        return kFALSE;
+    }
 
     // --------------------------------------------------------------------------------
 
     if (fIsPixelCheck)
-      {
+    {
         MHCalibrationChargeCam *hcam = (MHCalibrationChargeCam*)plist.FindObject("MHCalibrationChargeCam");
         MHCalibrationChargePix &pix1 = (MHCalibrationChargePix&)(*hcam)[fCheckedPixId];
         pix1.DrawClone("");
-        
+
         MHCalibrationChargePix &pix2 = (MHCalibrationChargePix&)(*hcam)(fCheckedPixId);
         pix2.DrawClone("");
-        
+
         if (IsRelTimes())
-          {
+        {
             MHCalibrationRelTimeCam *hccam = (MHCalibrationRelTimeCam*)plist.FindObject("MHCalibrationRelTimeCam");
             MHCalibrationPix &pix11 = (*hccam)[fCheckedPixId];
@@ -1999,17 +2005,9 @@
             MHCalibrationPix &pix12 = (*hccam)(fCheckedPixId);
             pix12.DrawClone("");
-          }
-      }
-    
-    if (!fCalibrationPINDiode.IsValid())
-      SetUsePINDiode(kFALSE);
-    
-    DisplayResult(plist);
-    
-    if (!WriteResult(plist))
-      return kFALSE;
-    
+        }
+    }
+
     *fLog << all << GetDescriptor() << ": Done." << endl;
-    
+
     return kTRUE;
 }
