Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 4000)
+++ trunk/MagicSoft/Mars/Changelog	(revision 4001)
@@ -18,4 +18,12 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2004/05/07: Markus Gaug
+
+   * mpedestal/MPedCalcPedRun.[h,cc]
+     - make the arrays fSum and fSum2 doubles. This is necessary since 
+       rounding errors of the floats introduced significant errors in the 
+       RMS! 
+
 
  2004/05/06: Markus Gaug
Index: trunk/MagicSoft/Mars/macros/bootcampstandardanalysis.C
===================================================================
--- trunk/MagicSoft/Mars/macros/bootcampstandardanalysis.C	(revision 4000)
+++ trunk/MagicSoft/Mars/macros/bootcampstandardanalysis.C	(revision 4001)
@@ -70,5 +70,5 @@
   // Set Ranges or Windows
   //
-  extractor.SetRange(5,14,5,14);
+  extractor.SetRange(2,14,5,14);
   //  extractor.SetWindows(8,8);
 
Index: trunk/MagicSoft/Mars/mpedestal/MPedCalcPedRun.cc
===================================================================
--- trunk/MagicSoft/Mars/mpedestal/MPedCalcPedRun.cc	(revision 4000)
+++ trunk/MagicSoft/Mars/mpedestal/MPedCalcPedRun.cc	(revision 4001)
@@ -549,5 +549,4 @@
       const Float_t sum  = fSumx.At(pixid);
       const Float_t sum2 = fSumx2.At(pixid);
-      
       const Float_t higainped = sum/n;
       //
@@ -563,7 +562,5 @@
       higainVar /= (Float_t)(fWindowSizeHiGain+fWindowSizeLoGain);
       // 3. Calculate the RMS from the Variance:
-      const Float_t higainrms = TMath::Sqrt(higainVar);
-
-      (*fPedestals)[pixid].Set(higainped, higainrms);
+      (*fPedestals)[pixid].Set(higainped, higainVar < 0 ? 0. : TMath::Sqrt(higainVar));
 
     }
Index: trunk/MagicSoft/Mars/mpedestal/MPedCalcPedRun.h
===================================================================
--- trunk/MagicSoft/Mars/mpedestal/MPedCalcPedRun.h	(revision 4000)
+++ trunk/MagicSoft/Mars/mpedestal/MPedCalcPedRun.h	(revision 4001)
@@ -6,6 +6,6 @@
 #endif
 
-#ifndef ROOT_TArrayF
-#include <TArrayF.h>
+#ifndef ROOT_TArrayD
+#include <TArrayD.h>
 #endif
 
@@ -33,11 +33,11 @@
   MBadPixelsCam *fBad;       // Bad Pixels
   
-  TArrayF fSumx;         // sum of values
-  TArrayF fSumx2;        // sum of squared values
-  TArrayF fAreaSumx;     // averaged sum of values per area idx
-  TArrayF fAreaSumx2;    // averaged sum of squared values per area idx
+  TArrayD fSumx;         // sum of values
+  TArrayD fSumx2;        // sum of squared values
+  TArrayD fAreaSumx;     // averaged sum of values per area idx
+  TArrayD fAreaSumx2;    // averaged sum of squared values per area idx
   TArrayI fAreaValid;    // number of valid pixel with area idx  
-  TArrayF fSectorSumx;   // averaged sum of values per sector 
-  TArrayF fSectorSumx2;  // averaged sum of squared values per sector
+  TArrayD fSectorSumx;   // averaged sum of values per sector 
+  TArrayD fSectorSumx2;  // averaged sum of squared values per sector
   TArrayI fSectorValid;  // number of valid pixel with sector idx  
   
