Index: trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.cc	(revision 2049)
+++ trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.cc	(revision 2052)
@@ -351,41 +351,19 @@
 }
 
-/*
-// --------------------------------------------------------------------------
-//
-// Use this function to sum photons in events together.
-//
-Bool_t MCerPhotEvt::AddEvent(const MCerPhotEvt &evt)
-{
-    if (evt.fNumPixels<=0)
-    {
-        *fLog << "Warning - Event to be added has no pixels." << endl;
-        return kFALSE;
-    }
-    if (fNumPixels<=0)
-    {
-        *fLog << "Warning - Event to add pixels to has no pixels." << endl;
-        return kFALSE;
-    }
-
-    for (UInt_t i=0; i<evt.fNumPixels; i++)
-    {
-        const UInt_t id = evt[i].GetPixId();
-
-        MCerPhotPix *pix2 = GetPixById(id);
-        if (!pix2)
-        {
-            *fLog << "Error - Pixel#" << dec << id << " does not exist in this event!" << endl;
-            return kFALSE;
-        }
-
-        pix2->AddNumPhotons(evt[i].GetNumPhotons());
-    }
-    return kTRUE;
-}
-*/
-
 void MCerPhotEvt::Scale(Double_t f)
 {
     fPixels->ForEach(MCerPhotPix, Scale)(f);
 }
+
+void MCerPhotEvt::RemoveUnusedPixels()
+{
+    TIter Next(fPixels);
+    MCerPhotPix *pix = NULL;
+
+    while ((pix=(MCerPhotPix*)Next()))
+        if (!pix->IsPixelUsed())
+            fPixels->Remove(pix);
+
+    fPixels->Compress();
+    fNumPixels=fPixels->GetEntriesFast();
+}
Index: trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.h	(revision 2049)
+++ trunk/MagicSoft/Mars/manalysis/MCerPhotEvt.h	(revision 2052)
@@ -49,4 +49,5 @@
 
     void Scale(Double_t f);
+    void RemoveUnusedPixels();
 
     MCerPhotPix *GetPixById(int id) const;
Index: trunk/MagicSoft/Mars/manalysis/MSigmabar.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MSigmabar.cc	(revision 2049)
+++ trunk/MagicSoft/Mars/manalysis/MSigmabar.cc	(revision 2052)
@@ -172,5 +172,6 @@
     fSigmabarInner = 0;
     fSigmabarOuter = 0;
-    for (UInt_t i=0; i<6; i++) {
+    for (UInt_t i=0; i<6; i++)
+    {
         fSigmabarInner += innerSquaredSum[i];
         fInnerPixels   += innerPixels[i];
@@ -187,21 +188,25 @@
     if (fOuterPixels > 0) fSigmabarOuter /= fOuterPixels;
 
-  //
-  // this is the sqrt of the average sigma^2
-  // for the inner and outer pixels respectively
-  //
-  fSigmabarInner = sqrt( fSigmabarInner );
-  fSigmabarOuter = sqrt( fSigmabarOuter );
-
-  for (UInt_t i=0; i<6; i++) {
-      fSigmabarSector[i] = innerPixels[i]+outerPixels[i]<=0?0:sqrt((innerSquaredSum[i]+outerSquaredSum[i])/(innerPixels[i]+outerPixels[i]));
-
-      const Double_t is = innerPixels[i]<=0?0:innerSquaredSum[i]/innerPixels[i];
-      const Double_t os = outerPixels[i]<=0?0:outerSquaredSum[i]/outerPixels[i];
-
-      fSigmabarInnerSector[i] = sqrt( is );
-      fSigmabarOuterSector[i] = sqrt( os );
-  }
-    
+    //
+    // this is the sqrt of the average sigma^2
+    // for the inner and outer pixels respectively
+    //
+    fSigmabarInner = sqrt( fSigmabarInner );
+    fSigmabarOuter = sqrt( fSigmabarOuter );
+
+    for (UInt_t i=0; i<6; i++)
+    {
+        const Double_t ip  = innerPixels[i];
+        const Double_t op  = outerPixels[i];
+        const Double_t iss = innerSquaredSum[i];
+        const Double_t oss = outerSquaredSum[i];
+
+        const Double_t sum = ip + op;
+
+        fSigmabarSector[i]      = sum<=0 ? 0 : sqrt((iss+oss)/sum);
+        fSigmabarInnerSector[i] = ip <=0 ? 0 : sqrt(iss/ip);
+        fSigmabarOuterSector[i] = op <=0 ? 0 : sqrt(oss/op);
+    }
+
   return fSigmabar;
 }
@@ -237,8 +242,2 @@
 
 }
-
-
-
-
-
-
