Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 3445)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 3446)
@@ -235,6 +235,6 @@
     SETBIT(fFlags, kHiLoGainCalibration);
 
-    fNumHiGainSamples  = 0;
-    fNumLoGainSamples  = 0;
+    fNumHiGainSamples  = 0.;
+    fNumLoGainSamples  = 0.;
     fConversionHiLo    = 0;
 
@@ -336,5 +336,6 @@
   fNumHiGainSamples  =  fSignals->GetNumUsedHiGainFADCSlices();
   fNumLoGainSamples  =  fSignals->GetNumUsedLoGainFADCSlices();
-  fSqrtHiGainSamples =  TMath::Sqrt((Float_t)fNumHiGainSamples);
+  fSqrtHiGainSamples =  TMath::Sqrt(fNumHiGainSamples);
+  fSqrtLoGainSamples =  TMath::Sqrt(fNumLoGainSamples);
   
   UInt_t npixels     = fGeom->GetNumPixels();
@@ -424,7 +425,7 @@
       {
 	  pix.SetPedestal(ped  * fNumLoGainSamples,
-			  prms * TMath::Sqrt((Float_t)fNumLoGainSamples),
+			  prms * fSqrtLoGainSamples,
 			  prms * fNumLoGainSamples / num);
-	  pix.SetNumLoGainSamples((Float_t)fNumLoGainSamples);
+	  pix.SetNumLoGainSamples(fNumLoGainSamples);
           pix.ApplyLoGainConversion();
       }
@@ -432,5 +433,5 @@
       {
 	  pix.SetPedestal(ped  * fNumHiGainSamples,
-			  prms * TMath::Sqrt((Float_t)fNumHiGainSamples),
+			  prms * fSqrtHiGainSamples,
 			  prms * fNumHiGainSamples / num);
       }
@@ -471,7 +472,7 @@
   {
       avinnerpix->SetPedestal(avinnerped/avinnernum  * fNumLoGainSamples,
-			 avinnerprms/avinnernum * TMath::Sqrt((Float_t)fNumLoGainSamples),
-			 avinnerprms/avinnernum * TMath::Sqrt((Float_t)fNumLoGainSamples/avinnernum));
-      avinnerpix->SetNumLoGainSamples((Float_t)fNumLoGainSamples);
+			      avinnerprms/avinnernum * fSqrtLoGainSamples,
+			      avinnerprms/avinnernum * fSqrtLoGainSamples/avinnernum);
+      avinnerpix->SetNumLoGainSamples(fNumLoGainSamples);
       avinnerpix->ApplyLoGainConversion();
   }
@@ -479,6 +480,6 @@
   {
       avinnerpix->SetPedestal(avinnerped/avinnernum  * fNumHiGainSamples,
-			 avinnerprms/avinnernum * TMath::Sqrt((Float_t)fNumHiGainSamples),
-			 avinnerprms/avinnernum * TMath::Sqrt((Float_t)fNumHiGainSamples/avinnernum));
+                              avinnerprms/avinnernum * fSqrtHiGainSamples,
+         	              avinnerprms/avinnernum * fSqrtHiGainSamples/avinnernum);
   }
 
@@ -486,7 +487,7 @@
   {
       avouterpix->SetPedestal(avouterped/avouternum  * fNumLoGainSamples,
-			      avouterprms/avouternum * TMath::Sqrt((Float_t)fNumLoGainSamples),
-			      avouterprms/avouternum * TMath::Sqrt((Float_t)fNumLoGainSamples/avouternum));
-      avouterpix->SetNumLoGainSamples((Float_t)fNumLoGainSamples);
+			      avouterprms/avouternum * fSqrtLoGainSamples,
+			      avouterprms/avouternum * fSqrtLoGainSamples/avouternum);
+      avouterpix->SetNumLoGainSamples(fNumLoGainSamples);
       avouterpix->ApplyLoGainConversion();
   }
@@ -494,6 +495,6 @@
   {
       avouterpix->SetPedestal(avouterped/avouternum  * fNumHiGainSamples,
-			      avouterprms/avouternum * TMath::Sqrt((Float_t)fNumHiGainSamples),
-			      avouterprms/avouternum * TMath::Sqrt((Float_t)fNumHiGainSamples/avouternum));
+			      avouterprms/avouternum * fSqrtHiGainSamples,
+			      avouterprms/avouternum * fSqrtHiGainSamples/avouternum);
   }
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.cc	(revision 3445)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.cc	(revision 3446)
@@ -317,4 +317,5 @@
 		<< "   Reduced Sigma: "        << pix->GetRSigmaCharge() 
 		<< "   Nr Phe's: "             << pix->GetPheFFactorMethod() 
+                << " Saturated? :" << pix->IsHiGainSaturation() 
 		<< endl;
           id++;
@@ -342,4 +343,5 @@
 		<< "   Reduced Sigma: "        << pix->GetRSigmaCharge() 
 		<< "   Nr Phe's: "             << pix->GetPheFFactorMethod() 
+                << " Saturated? :" << pix->IsHiGainSaturation() 
 		<< endl;
             id++;
@@ -366,4 +368,5 @@
 		<< "   Reduced Sigma: "        << pix->GetRSigmaCharge() 
 		<< "   Nr Phe's: "             << pix->GetPheFFactorMethod() 
+                << " Saturated? :" << pix->IsHiGainSaturation() 
 		<< endl;
 	    id++;
@@ -702,10 +705,7 @@
       break;
     case 34:
-      if ((*this)[idx].IsExcluded() || !(*fBadPixels)[idx].IsCalibrationSignalOK())
-        return kFALSE;
-      if ((*this)[idx].IsHiGainSaturation())
-        val = 1;
-      else
-        return kFALSE;
+      if ((*this)[idx].IsExcluded())
+        return kFALSE;
+      val = (*this)[idx].IsHiGainSaturation();
       break;
     case 35:
