Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc	(revision 4185)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc	(revision 4186)
@@ -62,5 +62,5 @@
 //  Low-Gain variables are stored internally unconverted, i.e. directly from the summed 
 //  FADC slices extraction results, but can be retrieved converted to High-Gain amplifications 
-//  by calls to: GetConvertedLoGainMean() or GetConvertedLoGainSigma()
+//  by calls to: GetConvertedMean() or GetConvertedSigma()
 // 
 // See also: MCalibrationChargeCam, MCalibrationChargeCalc,
@@ -306,10 +306,15 @@
 // --------------------------------------------------------------------------
 //
-// Get the Low Gain Mean converted to High Gain amplification: 
-// Returns fLoGainMean multiplied with fConversionHiLo
-//
-Float_t MCalibrationChargePix::GetConvertedLoGainMean()  const 
-{
-  return fLoGainMean * fConversionHiLo;
+// Get the Low Gain Mean Charge converted to High Gain amplification: 
+// Returns fLoGainMean multiplied with fConversionHiLo if IsHiGainSaturation(), 
+//         else return fHiGainMean
+//
+Float_t MCalibrationChargePix::GetConvertedMean()  const 
+{
+
+  if (IsHiGainSaturation())
+    return fLoGainMean * fConversionHiLo;
+
+  return fHiGainMean;
 }
 
@@ -321,15 +326,23 @@
 //
 // Returns the square root of the quadratic sum of the relative variances of 
-// the fLoGainMean and fConversionHiLo, mulitplied with GetConvertedLoGainMean()
-//
-Float_t MCalibrationChargePix::GetConvertedLoGainMeanErr()  const
-{
-
-  const Float_t logainrelvar = GetLoGainMeanRelVar();
-  
-  if (logainrelvar < 0.)
-    return -1.;
-
-  return TMath::Sqrt(logainrelvar + GetConversionHiLoRelVar()) * GetConvertedLoGainMean();
+// the fLoGainMean and fConversionHiLo, mulitplied with GetConvertedMean()
+// in case of HiGain Saturation, 
+// else return GetMeanErr()
+//
+Float_t MCalibrationChargePix::GetConvertedMeanErr()  const
+{
+
+  if (IsHiGainSaturation())
+    {
+      const Float_t logainrelvar = GetLoGainMeanRelVar();
+      
+      if (logainrelvar < 0.)
+        return -1.;
+
+      return TMath::Sqrt(logainrelvar + GetConversionHiLoRelVar()) * GetConvertedMean();
+    }
+  else
+    return GetMeanErr();
+
 }
 
@@ -337,36 +350,96 @@
 //
 // Get the Low Gain Sigma converted to High Gain amplification: 
-// Returns fLoGainSigma multiplied with fConversionHiLo
-//
-Float_t MCalibrationChargePix::GetConvertedLoGainSigma()  const 
-{
-  return fLoGainSigma * fConversionHiLo;
-}
-
-// --------------------------------------------------------------------------
-//
-// Get the Error of the converted Low Gain Sigma: 
+// Returns fLoGainSigma multiplied with fConversionHiLo if IsHiGainSaturation()
+// else return fHiGainSigma
+//
+Float_t MCalibrationChargePix::GetConvertedSigma()  const 
+{
+  
+  if (IsHiGainSaturation())
+    return fLoGainSigma * fConversionHiLo;
+  else
+    return fHiGainSigma;
+}
+
+// --------------------------------------------------------------------------
+//
+// Get the Error of the converted Sigma: 
 //
 // Returns -1 if the variable fLoGainSigma or fLoGainSigmaVar are smaller than 0.
 //
-// Returns the square root of the quadratic sum of the relative variances of 
-// the fLoGainSigma and fConversionHiLo, mulitplied with GetConvertedLoGainSigma()
-//
-Float_t MCalibrationChargePix::GetConvertedLoGainSigmaErr()  const
-{
-
-  if (fLoGainSigmaVar < 0.)
-    return -1.;
-
-  if (fLoGainSigma < 0.)
-    return -1.;
-
-  const Float_t sigmaRelVar     =  fLoGainSigmaVar
+// if IsHiGainSaturatio()
+// returns the square root of the quadratic sum of the relative variances of 
+// the fLoGainSigma and fConversionHiLo, mulitplied with GetConvertedSigma()
+// else returns GetSigmaErr()
+//
+Float_t MCalibrationChargePix::GetConvertedSigmaErr()  const
+{
+
+  if (IsHiGainSaturation())
+    {
+      if (fLoGainSigmaVar < 0.)
+        return -1.;
+      
+      if (fLoGainSigma < 0.)
+        return -1.;
+      
+      const Float_t sigmaRelVar =  fLoGainSigmaVar
                                 /( fLoGainSigma * fLoGainSigma );
 
-  return TMath::Sqrt(sigmaRelVar+GetConversionHiLoRelVar()) * GetConvertedLoGainSigma();
-}
-
-
+      return TMath::Sqrt(sigmaRelVar+GetConversionHiLoRelVar()) * GetConvertedSigma();
+    }
+  else
+    return GetSigmaErr();
+
+
+}
+
+// --------------------------------------------------------------------------
+//
+// Get the converted reduced Sigma: 
+// - If fRSigmaSquare is smaller than 0 (i.e. has not yet been set), return -1.
+// - Test bit kHiGainSaturation: 
+//   If yes, return square root of fRSigmaSquare, multiplied with fConversionHiLo, 
+//   If no , return square root of fRSigmaSquare
+//
+Float_t MCalibrationChargePix::GetConvertedRSigma()  const
+{
+  if (fRSigmaSquare < 0)
+    return -1;
+
+  const Float_t rsigma = TMath::Sqrt(fRSigmaSquare);
+  
+  return IsHiGainSaturation() ? rsigma*fConversionHiLo : rsigma ;
+} 
+
+// --------------------------------------------------------------------------
+//
+// Get the error of the converted reduced Sigma: 
+// - If fRSigmaSquareVar is smaller than 0 (i.e. has not yet been set), return -1.
+// - Calculate the absolute variance of the reduced sigma with the formula:
+//   reduced sigma variance = 0.25 * fRSigmaSquareVar / fRSigmaSquare
+// - Test bit kHiGainSaturation: 
+//   If yes, returns the square root of the quadratic sum of the relative variances of the 
+//           reduced sigma and fConversionHiLo, mulitplied with GetRSigma()
+//   Else returns the square root of rel. (0.25*fRSigmaSquareVar / fRSigmaSquare)
+//
+Float_t MCalibrationChargePix::GetConvertedRSigmaErr()  const
+{
+
+  if (fRSigmaSquareVar < 0)
+    return -1;
+
+  //
+  // SigmaSquareVar = 4. * Sigma * Sigma * Var(sigma)
+  // ==> Var(sigma) = 0.25 * SigmaSquareVar / (Sigma * Sigma)
+  //
+  const Float_t rsigmaVar = 0.25 * fRSigmaSquareVar / fRSigmaSquare;
+
+  if (IsHiGainSaturation())
+    return TMath::Sqrt(rsigmaVar/fRSigmaSquare + GetConversionHiLoRelVar()) * GetRSigma();
+  else
+    return TMath::Sqrt(rsigmaVar);
+
+}
 
 // --------------------------------------------------------------------------
@@ -383,7 +456,6 @@
     return -1;
 
-  const Float_t rsigma = TMath::Sqrt(fRSigmaSquare);
-  
-  return IsHiGainSaturation() ? rsigma*fConversionHiLo : rsigma ;
+  return TMath::Sqrt(fRSigmaSquare);
+  
 } 
 
@@ -409,10 +481,5 @@
   // ==> Var(sigma) = 0.25 * SigmaSquareVar / (Sigma * Sigma)
   //
-  const Float_t rsigmaVar = 0.25 * fRSigmaSquareVar / fRSigmaSquare;
-
-  if (IsHiGainSaturation())
-    return TMath::Sqrt(rsigmaVar/fRSigmaSquare + GetConversionHiLoRelVar()) * GetRSigma();
-  else
-    return TMath::Sqrt(rsigmaVar);
+  return TMath::Sqrt(0.25 * fRSigmaSquareVar / fRSigmaSquare);
 
 }
@@ -475,5 +542,5 @@
 //   If no , return fRSigmaSquare
 //
-Float_t MCalibrationChargePix::GetRSigmaSquare()  const
+Float_t MCalibrationChargePix::GetConvertedRSigmaSquare()  const
 {
   if (fRSigmaSquare < 0)
@@ -503,10 +570,6 @@
   // ==> Var(sigma) = 0.25 * SigmaSquareVar / (Sigma * Sigma)
   //
-  const Float_t rsigmaRelVar = 0.25 * fRSigmaSquareVar / ( fRSigmaSquare * fRSigmaSquare );
-
-  if (IsHiGainSaturation())
-    return rsigmaRelVar + GetConversionHiLoRelVar();
-  else
-    return rsigmaRelVar;
+  return 0.25 * fRSigmaSquareVar / ( fRSigmaSquare * fRSigmaSquare );
+
 }
 
@@ -699,5 +762,5 @@
     return kFALSE;
 
-  fMeanConvFADC2Phe    =  fPheFFactorMethod / GetMean();
+  fMeanConvFADC2Phe    =  fPheFFactorMethod / GetConvertedMean();
   
   if (fMeanConvFADC2Phe < 0. )
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h	(revision 4185)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h	(revision 4186)
@@ -75,8 +75,11 @@
   Float_t GetConversionHiLo          () const { return fConversionHiLo;          }
   Float_t GetConversionHiLoErr       () const;
-  Float_t GetConvertedLoGainMean     () const;
-  Float_t GetConvertedLoGainMeanErr  () const;
-  Float_t GetConvertedLoGainSigma    () const;
-  Float_t GetConvertedLoGainSigmaErr () const;
+  Float_t GetConvertedMean           () const;
+  Float_t GetConvertedMeanErr        () const;
+  Float_t GetConvertedSigma          () const;
+  Float_t GetConvertedSigmaErr       () const;
+  Float_t GetConvertedRSigma         () const;
+  Float_t GetConvertedRSigmaErr      () const;
+  Float_t GetConvertedRSigmaSquare   () const;  
   Float_t GetMeanConvFADC2Phe        () const { return fMeanConvFADC2Phe;        } 
   Float_t GetMeanConvFADC2PheErr     () const;
@@ -95,8 +98,7 @@
   Float_t GetRSigma                  () const;
   Float_t GetRSigmaErr               () const;
+  Float_t GetRSigmaRelVar            () const;
   Float_t GetRSigmaPerCharge         () const;
   Float_t GetRSigmaPerChargeErr      () const;
-  Float_t GetRSigmaSquare            () const;  
-  Float_t GetRSigmaRelVar            () const;
 
   Bool_t IsFFactorMethodValid        () const;
