Index: trunk/MagicSoft/Mars/manalysis/MCerPhotAnal.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MCerPhotAnal.cc	(revision 2129)
+++ trunk/MagicSoft/Mars/manalysis/MCerPhotAnal.cc	(revision 2135)
@@ -118,5 +118,5 @@
 Bool_t MCerPhotAnal::Process()
 {
-    fCerPhotEvt->InitSize(fRawEvt->GetNumPixels());
+    //fCerPhotEvt->InitSize(fRawEvt->GetNumPixels());
 
     MRawEvtPixelIter pixel(fRawEvt);
@@ -201,4 +201,5 @@
     }
 
+    fCerPhotEvt->FixSize();
     fCerPhotEvt->SetReadyToSave();
 
Index: trunk/MagicSoft/Mars/manalysis/MCerPhotCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MCerPhotCalc.cc	(revision 2129)
+++ trunk/MagicSoft/Mars/manalysis/MCerPhotCalc.cc	(revision 2135)
@@ -164,5 +164,5 @@
 Bool_t MCerPhotCalc::Process()
 {
-    fCerPhotEvt->InitSize(fRawEvt->GetNumPixels());
+    //fCerPhotEvt->InitSize(fRawEvt->GetNumPixels());
 
     MRawEvtPixelIter pixel(fRawEvt);
@@ -212,4 +212,5 @@
     }
 
+    fCerPhotEvt->FixSize();
     fCerPhotEvt->SetReadyToSave();
 
Index: trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.cc	(revision 2129)
+++ trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.cc	(revision 2135)
@@ -75,5 +75,13 @@
 {
     fNumPixels = 0;
-    fPixels->Delete();
+    //fPixels->Delete();
+}
+
+void MCerPhotEvt::FixSize()
+{
+    if (fPixels->GetEntriesFast() == (Int_t)fNumPixels)
+        return;
+
+    fPixels->ExpandCreateFast(fNumPixels);
 }
 
Index: trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.h	(revision 2129)
+++ trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.h	(revision 2135)
@@ -23,5 +23,5 @@
 
     UInt_t GetNumPixels() const { return fNumPixels; }
-    void   InitSize(UInt_t num) { fPixels->Expand(num); }
+    //void   InitSize(UInt_t num) { fPixels->Expand(num); }
 
     void   AddPixel(Int_t id, Float_t nph, Float_t er)
@@ -29,4 +29,6 @@
         new ((*fPixels)[fNumPixels++]) MCerPhotPix(id, nph, er);
     }
+
+    void FixSize();
 
     //Bool_t  AddEvent(const MCerPhotEvt &evt);
Index: trunk/MagicSoft/Mars/manalysis/MMcPedestalNSBAdd.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcPedestalNSBAdd.cc	(revision 2129)
+++ trunk/MagicSoft/Mars/manalysis/MMcPedestalNSBAdd.cc	(revision 2135)
@@ -209,17 +209,13 @@
     fPedCam->InitSize(num);
 
-    const Float_t size0 = (*fGeom)[0].GetR() * (*fGeom)[0].GetR();
-
     for (int i=0; i<num; i++)
     {
-        MPedestalPix   &pix     = (*fPedCam)[i];
-	const MGeomPix &pixgeom = (*fGeom)[i];
+        MPedestalPix &pix    = (*fPedCam)[i];
 
         const Float_t pedrms = pix.GetSigma();
-        const Float_t size   = pixgeom.GetR()*pixgeom.GetR()/size0;
-
+        const Float_t ratio  = fGeom->GetPixRatio(i);
         const Float_t ampl   = fFadc->GetAmplitud();
 
-	pix.SetSigma(sqrt(pedrms*pedrms + dnsbpix*ampl*ampl*size));
+	pix.SetSigma(sqrt(pedrms*pedrms + dnsbpix*ampl*ampl*ratio));
     }
 
Index: trunk/MagicSoft/Mars/manalysis/MPedestalCam.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MPedestalCam.cc	(revision 2129)
+++ trunk/MagicSoft/Mars/manalysis/MPedestalCam.cc	(revision 2135)
@@ -82,5 +82,5 @@
 Int_t MPedestalCam::GetSize() const
 {
-    return fArray->GetEntries();
+    return fArray->GetEntriesFast();
 }
 
