Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 3723)
+++ trunk/MagicSoft/Mars/Changelog	(revision 3724)
@@ -53,4 +53,8 @@
    * mjobs/MJCalibration.cc
      - updated documentation, updated QE Cam
+
+
+   * mcalib/MCalibrationChargePix.[h,cc]
+     - put GetRSigmaPerCharge into this class
 
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 3723)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 3724)
@@ -408,4 +408,5 @@
     *fLog << warn << GetDescriptor() 
           << "MCalibrationChargePINDiode not found... no PIN Diode method! " << endl;
+  
 
   //
@@ -520,4 +521,20 @@
     return kFALSE;
 
+  if (fPINDiode)
+    if (!fPINDiode->IsValid())
+      {
+        *fLog << warn << GetDescriptor() 
+              << ": MCalibrationChargePINDiode is declared not valid... no PIN Diode method! " << endl;
+        fPINDiode = NULL;
+      }
+
+  if (fBlindPixel)
+    if (!fBlindPixel->IsValid())
+      {
+        *fLog << warn << GetDescriptor() 
+              << ": MCalibrationChargeBlindPix is declared not valid... no Blind Pixel method! " << endl;
+        fBlindPixel = NULL;
+      }
+  
   //
   // First loop over pixels, call FinalizePedestals and FinalizeCharges
@@ -666,7 +683,7 @@
                     "Pixels with Low Gain Saturation:                  ");
   PrintUncalibrated(MBadPixelsPix::kMeanTimeInFirstBin, 
-                    Form("%s%2.1f%s","Mean Abs. Arr. Time in First ",1," Bin(s):          "));
+                    Form("%s%2.1f%s","Mean Abs. Arr. Time in First ",1.," Bin(s):          "));
   PrintUncalibrated(MBadPixelsPix::kMeanTimeInLast2Bins, 
-                    Form("%s%2.1f%s","Mean Abs. Arr. Time in Last ",2," Bin(s):           "));
+                    Form("%s%2.1f%s","Mean Abs. Arr. Time in Last ",2.," Bin(s):           "));
   PrintUncalibrated(MBadPixelsPix::kHiGainOscillating,   
                     "Pixels with changing Hi Gain signal over time:    ");
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc	(revision 3723)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc	(revision 3724)
@@ -401,4 +401,53 @@
 // --------------------------------------------------------------------------
 //
+// Get the reduced Sigma per Charge: 
+// - If GetRSigma() is smaller or equal 0. (i.e. has not yet been set), return -1.
+// - If GetMean() is 0. or -1. (i.e. has not yet been set), return -1.
+// - Return GetRSigma() / GetMean() 
+//
+Float_t MCalibrationChargePix::GetRSigmaPerCharge()  const 
+{
+  
+  const Float_t rsigma = GetRSigma();
+
+  if (rsigma <= 0)
+    return -1.;
+  
+
+  const Float_t mean   = GetMean();
+  
+  if (mean == 0. || mean == -1.)
+    return -1.;
+  
+  return rsigma / mean;
+} 
+
+
+// --------------------------------------------------------------------------
+//
+// Get the error of the reduced Sigma per Charge: 
+// - If GetRSigmaRelVar() is smaller or equal 0. (i.e. has not yet been set), return -1.
+// - If GetMeanRelVar() is smaller or equal 0. (i.e. has not yet been set), return -1.
+// - Return the propagated error of GetRSigmaPerCharge() 
+//
+Float_t MCalibrationChargePix::GetRSigmaPerChargeErr()  const 
+{
+  
+  const Float_t rsigmarelvar  = GetRSigmaRelVar();
+
+  if (rsigmarelvar <= 0)
+    return -1.;
+  
+
+  const Float_t meanrelvar   = GetMeanRelVar();
+  
+  if (meanrelvar <= 0.)
+    return -1.;
+  
+  return TMath::Sqrt(rsigmarelvar + meanrelvar) * GetRSigmaPerCharge();
+} 
+
+// --------------------------------------------------------------------------
+//
 // Get the reduced Sigma Square: 
 // - If fRSigmaSquare is smaller than 0 (i.e. has not yet been set), return -1.
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h	(revision 3723)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h	(revision 3724)
@@ -93,4 +93,6 @@
   Float_t GetRSigma                  () const;
   Float_t GetRSigmaErr               () const;
+  Float_t GetRSigmaPerCharge         () const;
+  Float_t GetRSigmaPerChargeErr      () const;
   Float_t GetRSigmaSquare            () const;  
   Float_t GetRSigmaRelVar            () const;
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationQEPix.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationQEPix.cc	(revision 3723)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationQEPix.cc	(revision 3724)
@@ -1111,4 +1111,6 @@
   fAvNormFFactorVar  = 1./ sumweights ;
 
+  SetAverageQEFFactorAvailable();
+
   return kTRUE;
   
