Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.cc	(revision 8018)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.cc	(revision 8019)
@@ -666,17 +666,18 @@
   // 4) at least fNumSinglePheLimit events are in the single Photo-electron peak
   //
-  if (   TMath::IsNaN(fLambda) 
-      || TMath::IsNaN(fLambdaErr)
-      || TMath::IsNaN(fProb)    
-      || TMath::IsNaN(fMu0)
-      || TMath::IsNaN(fMu0Err) 
-      || TMath::IsNaN(fMu1)
-      || TMath::IsNaN(fMu1Err) 
-      || TMath::IsNaN(fSigma0)
-      || TMath::IsNaN(fSigma0Err) 
-      || TMath::IsNaN(fSigma1)
-      || TMath::IsNaN(fSigma1Err) 
-      || fNDF  < fNDFLimit
-      || fProb < fProbLimit )
+  // !Finitite means either infinite or not-a-number
+  if (   !TMath::Finite(fLambda)
+      || !TMath::Finite(fLambdaErr)
+      || !TMath::Finite(fProb)
+      || !TMath::Finite(fMu0)
+      || !TMath::Finite(fMu0Err)
+      || !TMath::Finite(fMu1)
+      || !TMath::Finite(fMu1Err)
+      || !TMath::Finite(fSigma0)
+      || !TMath::Finite(fSigma0Err)
+      || !TMath::Finite(fSigma1)
+      || !TMath::Finite(fSigma1Err)
+      || fNDF  < GetNDFLimit()
+      || fProb < GetProbLimit() )
     return kFALSE;
 
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationPix.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationPix.cc	(revision 8018)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationPix.cc	(revision 8019)
@@ -159,6 +159,5 @@
 const Double_t MHCalibrationPix::GetPickup() const 
 {
-  
-  if ((fMean == 0.) && (fSigma == 0.))
+  if (!IsValid())
     return -1.;
 
@@ -196,5 +195,5 @@
     return kTRUE;
 
-  if ((fMean == 0.) && (fSigma == 0.))
+  if (!IsValid())
     return FitGaus();
 
@@ -202,6 +201,6 @@
   // Get new fitting ranges
   //
-  Axis_t rmin = fMean - fBlackoutLimit * fSigma;
-  Axis_t rmax = fMean + fPickupLimit   * fSigma;
+  Axis_t rmin = GetMean() - fBlackoutLimit * GetSigma();
+  Axis_t rmax = GetMean() + fPickupLimit   * GetSigma();
 
   Axis_t hmin = fHGausHist.GetBinCenter(fHGausHist.GetXaxis()->GetFirst());
@@ -229,6 +228,6 @@
       || TMath::IsNaN ( fSigma    )
       || TMath::IsNaN ( fSigmaErr ) 
-      || fFGausFit->GetNDF() < fNDFLimit 
-      || fProb < fProbLimit )
+      || fFGausFit->GetNDF() < GetNDFLimit()
+      || fProb < GetProbLimit() )
     return kFALSE;
   
