Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 5851)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 5852)
@@ -271,5 +271,5 @@
 //
 MCalibrationChargeCalc::MCalibrationChargeCalc(const char *name, const char *title)
-    : fGeom(NULL), fSignal(NULL), fHeader(NULL)
+    : fGeom(NULL), fSignal(NULL), fEvtHeader(NULL)
 {
         
@@ -349,6 +349,6 @@
 //
 // The following container are searched for and execution aborted if not in MParList:
+//  - MPedestalCam
 //  - MRawEvtHeader
-//  - MPedestalCam
 //  - MExtractedSignalCam
 //
@@ -356,6 +356,18 @@
 {
   
-  fHeader = (MRawEvtHeader*)pList->FindObject("MRawEvtHeader");
-  if (!fHeader)
+  /*
+  if (IsInterlaced())
+    {
+      fTrigPattern = (MTriggerPattern*)pList->FindObject("MTriggerPattern");
+      if (!fTrigPattern)
+        {
+          *fLog << err << "MTriggerPattern not found... abort." << endl;
+          return kFALSE;
+        }
+    }
+  */
+
+  fEvtHeader = (MRawEvtHeader*)pList->FindObject("MRawEvtHeader");
+  if (!fEvtHeader)
     {
       *fLog << err << "MRawEvtHeader not found... abort." << endl;
@@ -550,5 +562,29 @@
 {
 
-  const MCalibrationCam::PulserColor_t col = fHeader->GetPulserColor();
+  /*
+  if (IsInterlaced())
+    {
+      if (!(fTrigPattern->GetPrescaled() & MTriggerPattern::kCalibration))
+        {
+          if (IsDebug())
+            {
+            for (Int_t i=16; i>= 0; i--)
+              *fLog << err << (fTrigPattern->GetPrescaled() >> i & 1);
+            *fLog  << endl;
+            }
+          return kTRUE;
+        }
+      else
+        {
+          if (IsDebug())
+            {
+              for (Int_t i=16; i>= 0; i--)
+                *fLog << inf << (fTrigPattern->GetPrescaled() >> i & 1);
+              *fLog  << endl;
+            }
+        }
+    }
+  */
+  const MCalibrationCam::PulserColor_t col = fEvtHeader->GetPulserColor();
 
   if (col == fPulserColor)
@@ -561,4 +597,5 @@
     return kTRUE;
   
+
   //
   // Now retrieve the colour and check if not various colours have been used
@@ -594,5 +631,5 @@
     }
 
-  *fLog << inf << " with strength: " << fHeader->GetPulserStrength() << endl;
+  *fLog << inf << " with strength: " << fEvtHeader->GetPulserStrength() << endl;
   
   if (fPINDiode)
@@ -711,10 +748,13 @@
   if (nvalid == 0)
   {
-      *fLog << err << GetDescriptor() << ": All pixels have non-valid calibration. " 
-	    << "Did you forget to fill the histograms "
-            << "(filling MHCalibrationChargeCam from MExtractedSignalCam using MFillH) ? " << endl;
-      *fLog << err << GetDescriptor() << ": Or, maybe, you have used a pedestal run " 
-            << "instead of a calibration run " << endl;
-      return kFALSE;
+    if (!fIntensCam)
+      {
+        *fLog << warn << GetDescriptor() << ": All pixels have non-valid calibration. " 
+              << "Did you forget to fill the histograms "
+              << "(filling MHCalibrationChargeCam from MExtractedSignalCam using MFillH) ? " << endl;
+        *fLog << warn << GetDescriptor() << ": Or, maybe, you have used a pedestal run " 
+              << "instead of a calibration run " << endl;
+        return kFALSE;
+      }
   }
 
@@ -2210,2 +2250,3 @@
   return rc;
 }
+
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h	(revision 5851)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h	(revision 5852)
@@ -59,5 +59,5 @@
  
   static const TString fgNamePedestalCam;      //! "MPedestalCam"
-
+  
   // Variables
   Float_t fChargeLimit;                        // Limit acceptance mean charge  (in units of PedRMS)
@@ -102,5 +102,5 @@
   MGeomCam                       *fGeom;           //!  Camera geometry
   MExtractedSignalCam            *fSignal;         //! Extracted Signal
-  MRawEvtHeader                  *fHeader;         //! Event header
+  MRawEvtHeader                  *fEvtHeader;      //! Evt header
   MPedestalCam                   *fPedestals;      //! Pedestals all pixels (calculated previously from ped.file)
 
@@ -117,5 +117,6 @@
   Byte_t fCheckFlags;                          // Bit-field to hold the possible check flags
   
-  enum  { kDebug, kPheFitOK, kFFactorFitOK, kBlindPixelFitOK, kBlindPixelPedFitOK, kPINDiodeFitOK };
+  enum  { kDebug,
+          kPheFitOK, kFFactorFitOK, kBlindPixelFitOK, kBlindPixelPedFitOK, kPINDiodeFitOK };
 
   // functions
@@ -139,6 +140,6 @@
   Bool_t IsCheckExtractionWindow () const { return TESTBIT(fCheckFlags,kCheckExtractionWindow);  }
   Bool_t IsCheckHistOverflow     () const { return TESTBIT(fCheckFlags,kCheckHistOverflow);      }
-  Bool_t IsCheckOscillations     () const { return TESTBIT(fCheckFlags,kCheckOscillations);      }  
-  
+  Bool_t IsCheckOscillations     () const { return TESTBIT(fCheckFlags,kCheckOscillations);      }
+
   void   PrintUncalibrated( MBadPixelsPix::UncalibratedType_t typ, const char *text) const;
 
