Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 3421)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 3422)
@@ -435,6 +435,9 @@
       }
 
-      if (!pix.CheckChargeValidity(&bad) || !pix.CheckTimeValidity(&bad))
-	  continue;
+      pix.CheckChargeValidity(&bad);
+      pix.CheckTimeValidity(&bad);
+      
+      if (!bad.IsCalibrationValid())
+        continue;
 
       nvalid++;
Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc	(revision 3421)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc	(revision 3422)
@@ -578,5 +578,5 @@
 // 4) Pixel has a charge sigma bigger than its Pedestal RMS
 // 
-Bool_t MCalibrationChargePix::CheckChargeValidity(MBadPixelsPix *bad)
+void MCalibrationChargePix::CheckChargeValidity(MBadPixelsPix *bad)
 {
  
@@ -588,6 +588,9 @@
       *fLog << warn << "WARNING: Fitted Charge is smaller than "
             << fChargeLimit << " Pedestal RMS in Pixel  " << fPixId << endl;
-      return kFALSE;
+      bad->SetCalcChargePedestal();
     }
+  else
+    bad->SetNoCalcChargePedestal();
+      
   
   if (GetMeanChargeErr() < fChargeErrLimit) 
@@ -595,6 +598,8 @@
       *fLog << warn << "WARNING: Error of Fitted Charge is smaller than "
             << fChargeErrLimit << " in Pixel  " << fPixId << endl;
-      return kFALSE;
+      bad->SetNoCalcChargeErrValid();
     }
+  else
+    bad->SetCalcChargeErrValid();
       
    if (GetMeanCharge() < fChargeRelErrLimit*GetMeanChargeErr()) 
@@ -602,15 +607,17 @@
       *fLog << warn << "WARNING: Fitted Charge is smaller than "
             << fChargeRelErrLimit << "* its error in Pixel  " << fPixId << endl;
-      return kFALSE;
+      bad->SetNoCalcChargeRelErrValid();
     }
-      
+   else
+      bad->SetCalcChargeRelErrValid();      
+
   if (GetSigmaCharge() < GetPedRms())
     {
 	*fLog << warn << "WARNING: Sigma of Fitted Charge smaller than Pedestal RMS in Pixel  " << fPixId << endl;
-	return kFALSE;
+        bad->SetNoCalcChargeSigmaValid();
     }
+  else
+    bad->SetCalcChargeSigmaValid();
  
-  SetChargeValid();
-  return kTRUE;
 }
 
@@ -620,5 +627,5 @@
 // The mean arrival time is at least 1.0 slices from the used edge slices 
 //
-Bool_t MCalibrationChargePix::CheckTimeValidity(MBadPixelsPix *bad)
+void MCalibrationChargePix::CheckTimeValidity(MBadPixelsPix *bad)
 {
 
@@ -629,16 +636,17 @@
     {
 	*fLog << warn << "WARNING: Mean ArrivalTime in first extraction bin of the Pixel " << fPixId << endl;
-	SetMeanTimeInFirstBin();
-	return kFALSE;
+        bad->SetMeanTimeInFirstBin();
     }
+    else
+      bad->SetNoMeanTimeInFirstBin();
     
     if ( fAbsTimeMean > upperedge-1.)
     {
 	*fLog << warn << "WARNING: Mean ArrivalTime in last extraction bin of the Pixel " << fPixId << endl;
-	SetMeanTimeInLastBin();
-	return kFALSE;
+        bad->SetMeanTimeInLastBin();
     }
-
-  return kTRUE;
+    else
+      bad->SetNoMeanTimeInLastBin();
+
 }
 
Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h	(revision 3421)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h	(revision 3422)
@@ -298,6 +298,6 @@
   void  ApplyLoGainConversion();
 
-  Bool_t CheckChargeValidity ( MBadPixelsPix *bad=NULL );
-  Bool_t CheckTimeValidity   ( MBadPixelsPix *bad=NULL );
+  void CheckChargeValidity ( MBadPixelsPix *bad=NULL );
+  void CheckTimeValidity   ( MBadPixelsPix *bad=NULL );
   Bool_t CalcReducedSigma();
   Bool_t CalcFFactorMethod();
