Index: /trunk/MagicSoft/Mars/manalysis/MCerPhotCalc.cc
===================================================================
--- /trunk/MagicSoft/Mars/manalysis/MCerPhotCalc.cc	(revision 1126)
+++ /trunk/MagicSoft/Mars/manalysis/MCerPhotCalc.cc	(revision 1127)
@@ -83,12 +83,10 @@
 Bool_t MCerPhotCalc::PreProcess(MParList *pList)
 {
-    MRawRunHeader *RunHeader = (MRawRunHeader*)pList->FindObject("MRawRunHeader");
-    if (!RunHeader)
+    fRunHeader = (MRawRunHeader*)pList->FindObject("MRawRunHeader");
+    if (!fRunHeader)
     {
         *fLog << dbginf << "MRawRunHeader not found... aborting." << endl;
         return kFALSE;
     }
-    fNumLoGainFadcSlices= RunHeader->GetNumSamplesLoGain();
-    fNumHiGainFadcSlices= RunHeader->GetNumSamplesHiGain();
 
     fRawEvt = (MRawEvtData*)pList->FindObject("MRawEvtData");
@@ -133,7 +131,11 @@
         Float_t nphot = (Float_t)pixel.GetSumHiGainSamples();
 
-	if(nphot>0) nphot -= fNumHiGainFadcSlices*ped.GetMean();
+	// We check that the pixel is not empty, if it is empty
+	// we won't substract the pedestal. Empty means that it has
+        // 0 signal in all the slices.
 
-        fCerPhotEvt->AddPixel(pixid, nphot, sqrt(fNumHiGainFadcSlices)*ped.GetMeanRms());
+	if(nphot!=0) nphot -= fRunHeader->GetNumSamplesHiGain()*ped.GetMean();
+
+        fCerPhotEvt->AddPixel(pixid, nphot, sqrt(fRunHeader->GetNumSamplesHiGain())*ped.GetSigma());
 
         // FIXME! Handling of Lo Gains is missing!
@@ -144,2 +146,3 @@
     return kTRUE;
 }
+
