Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 2982)
+++ trunk/MagicSoft/Mars/Changelog	(revision 2983)
@@ -39,5 +39,6 @@
    * manalysis/MPedestalCam.cc, manalysis/MPedCalcPedRun.cc:
      - include storage of number of used FADC slices to compare later 
-       the pedestal per slice ( and sigma per slice_
+       the pedestal per slice ( and sigma per slice)
+     - return relative differences in GetPixelContent
 
    * mcalib/MCalibrationCalc.[h,cc]
Index: trunk/MagicSoft/Mars/macros/calibration.C
===================================================================
--- trunk/MagicSoft/Mars/macros/calibration.C	(revision 2982)
+++ trunk/MagicSoft/Mars/macros/calibration.C	(revision 2983)
@@ -95,8 +95,8 @@
     MHCamera dispped7   (geomcam, "MPedestalPix;SigmaErr", "Fitted Error of Sigma per Slice");
     MHCamera dispped8   (geomcam, "MPedestalPix;Prob", "Probability of Fit");
-    MHCamera dispped9   (geomcam, "MPedestalPix;DeltaPedestalMean", "Pedestal minus Fitted Mean per Slice");
-    MHCamera dispped10  (geomcam, "MPedestalPix;DeltaPedestalMeanError", "Pedestal minus Fitted Mean (Error)");
-    MHCamera dispped11  (geomcam, "MPedestalPix;DeltaRmsSigma", "Pedestal RMS minus Fitted Sigma per Slice");
-    MHCamera dispped12  (geomcam, "MPedestalPix;DeltaRmsSigmaError", "Pedestal RMS minus Fitted Sigma (Error)");
+    MHCamera dispped9   (geomcam, "MPedestalPix;DeltaPedestalMean", "Rel. Diff. Mean per Slice (Calc.-Fitte)");
+    MHCamera dispped11  (geomcam, "MPedestalPix;DeltaPedestalMeanError", "Rel. Diff. Mean Error per Slice (Calc.-Fitted)");
+    MHCamera dispped12  (geomcam, "MPedestalPix;DeltaRmsSigma", "Rel. Diff. RMS per Slice (Calc.-Fitted)");
+    MHCamera dispped14  (geomcam, "MPedestalPix;DeltaRmsSigmaError", "Rel. Diff. RMS Error per Slice (Calc.-Fitted)");
 
     dispped0.SetCamContent(pedcam, 0);
@@ -115,22 +115,22 @@
     dispped9.SetCamContent(pedcam, 9);
     dispped9.SetCamError(pedcam, 10);
-    dispped10.SetCamContent(pedcam, 10);
     dispped11.SetCamContent(pedcam, 11);
-    dispped11.SetCamError(pedcam, 12);
     dispped12.SetCamContent(pedcam, 12);
-
-    dispped0.SetYTitle("Pedestal per slice [FADC counts]");
-    dispped1.SetYTitle("Pedestal Error per slice [FADC counts]");
-    dispped2.SetYTitle("Pedestal RMS per slice [FADC counts]");
-    dispped3.SetYTitle("Pedestal RMS Error per slice [FADC counts]");
-    dispped4.SetYTitle("Mean Pedestal per slice [FADC counts]");
-    dispped5.SetYTitle("Error of Mean Pedestal per slice [FADC counts]");
-    dispped6.SetYTitle("Sigma Pedestal per slice [FADC counts]");
-    dispped7.SetYTitle("Error of Sigma Pedestal per slice [FADC counts]");
+    dispped12.SetCamError(pedcam, 13);
+    dispped14.SetCamContent(pedcam, 14);
+
+    dispped0.SetYTitle("Calc. Pedestal per slice [FADC counts]");
+    dispped1.SetYTitle("Calc. Pedestal Error per slice [FADC counts]");
+    dispped2.SetYTitle("Calc. Pedestal RMS per slice [FADC counts]");
+    dispped3.SetYTitle("Calc. Pedestal RMS Error per slice [FADC counts]");
+    dispped4.SetYTitle("Fitted Mean per slice [FADC counts]");
+    dispped5.SetYTitle("Error of Fitted Mean per slice [FADC counts]");
+    dispped6.SetYTitle("Fitted Sigma per slice [FADC counts]");
+    dispped7.SetYTitle("Error of Fitted Sigma per slice [FADC counts]");
     dispped8.SetYTitle("Fit Probability [1]");
-    dispped9.SetYTitle("Pedestal-Mean per slice [FADC counts]");
-    dispped10.SetYTitle("Pedestal-Mean Error per slice [FADC counts]");
-    dispped11.SetYTitle("RMS-Sigma per slice [FADC counts]");
-    dispped12.SetYTitle("RMS-Sigma Error per slice [FADC counts]");
+    dispped9.SetYTitle("Rel. Diff. Pedestal Calc.-Fitted per slice [1]");
+    dispped11.SetYTitle("Rel. Diff. Pedestal Error Calc.-Fitted per slice [1]");
+    dispped12.SetYTitle("Rel. Diff. Pedestal RMS Calc.-Fitted per slice [1]");
+    dispped14.SetYTitle("Rel. Diff. Pedestal RMS Error Calc.-Fitted per slice [1]");
 
     gStyle->SetOptStat(1111);
@@ -138,14 +138,14 @@
     
     // Histogram values
-    TCanvas &b1 = d1->AddTab("Pedestals"); 
+    TCanvas &b1 = d1->AddTab("Direct Calculation"); 
     b1.Divide(4,3);
 
     CamDraw(b1,dispped0,pedcam,1,4,0);
-    CamDraw(b1,dispped1,pedcam,2,4,1);
-    CamDraw(b1,dispped2,pedcam,3,4,1);
-    CamDraw(b1,dispped3,pedcam,4,4,1);
+    CamDraw(b1,dispped1,pedcam,2,4,2);
+    CamDraw(b1,dispped2,pedcam,3,4,2);
+    CamDraw(b1,dispped3,pedcam,4,4,2);
 
     // Fitted values 
-    TCanvas &b2 = d1->AddTab("Means"); 
+    TCanvas &b2 = d1->AddTab("Fits"); 
     b2.Divide(4,3);
 
@@ -163,11 +163,11 @@
 
     // Differences
-    TCanvas &c4 = d1->AddTab("Differences");
+    TCanvas &c4 = d1->AddTab("Relative Difference Calculation-Fits");
     c4.Divide(4,3);
 
     CamDraw(c4,dispped9,pedcam,1,4,1);
-    CamDraw(c4,dispped10,pedcam,2,4,1);
-    CamDraw(c4,dispped11,pedcam,3,4,1);
-    CamDraw(c4,dispped12,pedcam,4,4,1);
+    CamDraw(c4,dispped11,pedcam,2,4,1);
+    CamDraw(c4,dispped12,pedcam,3,4,1);
+    CamDraw(c4,dispped14,pedcam,4,4,1);
 
     //
@@ -247,5 +247,5 @@
     MCalibrationBlindPix *bp = calcam.GetBlindPixel();
     //    bp->ChangeFitFunc(MHCalibrationBlindPixel::kEPolya);
-    bp->ChangeFitFunc(MHCalibrationBlindPixel::kEPoisson5);
+    //    bp->ChangeFitFunc(MHCalibrationBlindPixel::kEPoisson4);
 
     tlist2.AddToList(&read2);
Index: trunk/MagicSoft/Mars/manalysis/MPedestalCam.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MPedestalCam.cc	(revision 2982)
+++ trunk/MagicSoft/Mars/manalysis/MPedestalCam.cc	(revision 2983)
@@ -193,6 +193,9 @@
     return kFALSE;
 
-  const Float_t pederr   = (*this)[idx].GetPedestalRms()/TMath::Sqrt((Float_t)fNumTotSlices);
-  const Float_t rmserr   = (*this)[idx].GetPedestalRms()/TMath::Sqrt((Float_t)fNumTotSlices/2.);
+  const Float_t ped      = (*this)[idx].GetPedestal();
+  const Float_t rms      = (*this)[idx].GetPedestalRms();
+
+  const Float_t pederr   = rms/TMath::Sqrt((Float_t)fNumTotSlices);
+  const Float_t rmserr   = rms/TMath::Sqrt((Float_t)fNumTotSlices/2.);
 
   const Float_t mean     = (*this)[idx].GetMean()     / (Float_t)fNumExtractSlices;
@@ -204,5 +207,5 @@
     {
     case 0:
-      val = (*this)[idx].GetPedestal();
+      val = ped;
       break;
     case 1:
@@ -210,5 +213,5 @@
       break;
     case 2:
-      val = (*this)[idx].GetPedestalRms();
+      val = rms;
       break;
     case 3:
@@ -247,16 +250,27 @@
     case 9:
       //      if ((*this)[idx].IsFitValid())
-      val = ((*this)[idx].GetPedestal()-mean);
+      val = 2.*(ped-mean)/(ped+mean);
         //      else
         //        return kFALSE;
       break;
     case 10:
-      val = TMath::Sqrt(pederr*pederr + meanerr*meanerr);
+      val = TMath::Sqrt((pederr*pederr + meanerr*meanerr) * (ped*ped + mean*mean))
+            *2./(ped+mean)/(ped+mean);
       break;
     case 11:
-      val = (*this)[idx].GetPedestalRms()-sigma;
+      val = 2.*(pederr - meanerr)/(pederr + meanerr);
       break;
     case 12:
-      val = TMath::Sqrt(rmserr*rmserr + sigmaerr*sigmaerr);
+      val = 2.*(rms-sigma)/(rms+sigma);
+      break;
+    case 13:
+      val = TMath::Sqrt((rmserr*rmserr + sigmaerr*sigmaerr) * (rms*rms + sigma*sigma))
+            *2./(rms+sigma)/(rms+sigma);
+      break;
+    case 14:
+      //      if ((*this)[idx].IsFitValid())
+      val = 2.*(rmserr - sigmaerr)/(rmserr + sigmaerr);
+              //      else
+        //        return kFALSE;
       break;
     default:
