Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.cc	(revision 3959)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.cc	(revision 3960)
@@ -264,9 +264,10 @@
   const UInt_t nareas   = fGeom->GetNumAreas();
 
-  Float_t lowlim      [nareas];
-  Float_t upplim      [nareas];
-  Float_t areasum     [nareas];
-  Float_t areasum2    [nareas];
-  Int_t   numareavalid[nareas];
+  Float_t lowlim       [nareas];
+  Float_t upplim       [nareas];
+  Float_t areasum      [nareas];
+  Float_t areasum2     [nareas];
+  Int_t   numareavalid [nareas];
+  Int_t   useunreliable[nareas];
 
   memset(lowlim        ,0, nareas   * sizeof(Float_t));
@@ -275,5 +276,28 @@
   memset(areasum2      ,0, nareas   * sizeof(Float_t));
   memset(numareavalid  ,0, nareas   * sizeof(Int_t  ));
-
+  memset(useunreliable ,0, nareas   * sizeof(Int_t  ));
+
+  //
+  // Apero loop: Count number of unreliable pixels:
+  //     
+  for (UInt_t i=0; i<npixels; i++)
+    {
+      MBadPixelsPix &bad = (*fBadPixels)[i];      
+      const Int_t  aidx  = (*fGeom)[i].GetAidx();
+
+      if (bad.IsUnsuitable(MBadPixelsPix::kUnsuitableRun))
+        continue;
+
+      if (bad.IsUnsuitable(MBadPixelsPix::kUnreliableRun))
+        continue;
+
+      numareavalid[aidx] ++;
+    }
+  
+  for (UInt_t aidx=0; aidx<nareas; aidx++)
+    if (numareavalid[aidx] < 100)
+      useunreliable[aidx] = 1;
+
+  memset(numareavalid  ,0, nareas   * sizeof(Int_t  ));
   //
   // First loop: Get mean time resolution the RMS
@@ -292,6 +316,11 @@
         continue;
 
+      const Int_t   aidx  = (*fGeom)[i].GetAidx();
+
+      if (!useunreliable[aidx])
+        if (bad.IsUnsuitable(MBadPixelsPix::kUnreliableRun))
+          continue;
+
       const Float_t res   = pix.GetTimePrecision();
-      const Int_t   aidx  = (*fGeom)[i].GetAidx();
 
       areasum     [aidx] += res;
@@ -316,9 +345,10 @@
       lowlim  [aidx]  = areasum [aidx] - fRelTimeRelErrLimit*areasum2[aidx];
       upplim  [aidx]  = areasum [aidx] + fRelTimeRelErrLimit*areasum2[aidx];
-
+      
+      *fLog << endl;
       *fLog << inf << GetDescriptor() << ": Limits for acceptance of time resolution: ["
-            << Form("%4.2f%s%4.2f",lowlim[aidx],",",upplim[aidx]) << "] in area index " << aidx << endl;
-    }
-  
+            << Form("%4.2f%s%4.2f",lowlim[aidx],",",upplim[aidx]) << "] in area index " << aidx;
+    }
+  *fLog << endl;  
 
 
