Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 5132)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 5133)
@@ -33,4 +33,10 @@
    * mcalib/MCalibrationCam.h
      - make SetPulserColor virtual
+
+   * mcalib/MCalibrationQECam.[h,cc]
+     - added new functions to display cornings vs. quantum efficiencies
+
+   * mcalib/MCalibrationQEPix.cc
+     - changed transmission probability of plexiglass from 0.96 to 0.92
 
 
Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 5132)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 5133)
@@ -1,3 +1,3 @@
- /* ======================================================================== *\
+/* ======================================================================== *\
 !
 ! *
@@ -22,5 +22,4 @@
 !
 \* ======================================================================== */
-
 //////////////////////////////////////////////////////////////////////////////
 //
@@ -193,4 +192,6 @@
 #include "MParList.h"
 
+#include "MStatusDisplay.h"
+
 #include "MRawEvtHeader.h"
 
@@ -205,4 +206,7 @@
 #include "MCalibrationIntensityQECam.h"
 #include "MCalibrationIntensityBlindCam.h"
+
+#include "MHCalibrationChargeCam.h"
+#include "MHCalibrationChargeBlindCam.h"
 
 #include "MCalibrationChargeCam.h"
@@ -320,8 +324,10 @@
     fIntensCam   = NULL;
     fCam         = NULL;
+    fHCam        = NULL;
     fIntensQE    = NULL;
     fQECam       = NULL;
     fIntensBlind = NULL;
     fBlindCam    = NULL;
+    fHBlindCam   = NULL;
     fPINDiode    = NULL;
     fPedestals   = NULL;
@@ -433,4 +439,12 @@
     }
   
+  fHCam = (MHCalibrationChargeCam*)pList->FindObject(AddSerialNumber("MHCalibrationChargeCam"));
+  if (!fHCam)
+    {
+      *fLog << err << "Cannot find MHCalibrationChargeCam ... abort." << endl;
+      *fLog << err << "Maybe you forget to call an MFillH for the MHCalibrationChargeCam before..." << endl;
+      return kFALSE;
+    }
+
   fIntensQE = (MCalibrationIntensityQECam*)pList->FindObject(AddSerialNumber("MCalibrationIntensityQECam"));
   if (fIntensQE)
@@ -458,8 +472,15 @@
           *fLog << warn << GetDescriptor() 
                 << ": No MCalibrationBlindCam found... no Blind Pixel method! " << endl;
-          return kFALSE;
-        }
-    }
-  
+        }
+    }
+  
+  fHBlindCam = (MHCalibrationChargeBlindCam*)pList->FindObject(AddSerialNumber("MHCalibrationChargeBlindCam"));  
+  if (!fHBlindCam)
+    {
+      *fLog << endl;
+      *fLog << warn << GetDescriptor() 
+            << ": No MHCalibrationChargeBlindCam found... no Blind Pixel method! " << endl;
+    }
+
   fIntensBad = (MBadPixelsIntensityCam*)pList->FindObject(AddSerialNumber("MBadPixelsIntensityCam"));
   if (fIntensBad)
@@ -492,4 +513,12 @@
   fSqrtLoGainSamples =  TMath::Sqrt(fNumLoGainSamples);
   
+
+  MCalibrationQECam     *qecam     = fIntensQE      
+    ? (MCalibrationQECam*)    fIntensQE->GetCam()   : fQECam;
+  MCalibrationChargeCam *chargecam = fIntensCam 
+    ? (MCalibrationChargeCam*)fIntensCam->GetCam()  : fCam;
+  MBadPixelsCam         *badcam    = fIntensBad 
+    ? (MBadPixelsCam*)        fIntensBad->GetCam()  : fBadPixels;
+
   UInt_t npixels     = fGeom->GetNumPixels();
   
@@ -497,13 +526,7 @@
     {
       
-      MCalibrationChargePix &pix = fIntensCam 
-        ? (MCalibrationChargePix&)(*fIntensCam)[i]
-        : (MCalibrationChargePix&)(*fCam)      [i];
-      MCalibrationQEPix     &pqe = fIntensQE 
-        ? (MCalibrationQEPix&)    (*fIntensQE)[i]
-        : (MCalibrationQEPix&)    (*fQECam)[i];
-      MBadPixelsPix         &bad = fIntensBad 
-        ? (*fIntensBad)[i]
-        : (*fBadPixels)[i];
+      MCalibrationChargePix &pix = (MCalibrationChargePix&)(*chargecam)[i];
+      MCalibrationQEPix     &pqe = (MCalibrationQEPix&)    (*qecam)    [i];
+      MBadPixelsPix         &bad = (*badcam)   [i];
       
       pix.SetPixId(i);
@@ -608,21 +631,40 @@
   *fLog << endl;
   
+  MCalibrationBlindCam     *blindcam  = fIntensBlind      
+    ? (MCalibrationBlindCam*) fIntensBlind->GetCam()   : fBlindCam;
+  MCalibrationChargeCam *chargecam = fIntensCam 
+    ? (MCalibrationChargeCam*)fIntensCam->GetCam()  : fCam;
+
   //
   // Initialize the pulser colours
   //
-  if (fIntensCam)
-    fIntensCam->SetPulserColor( fPulserColor );
-  else
-    fCam->SetPulserColor( fPulserColor );
-  
-  if (fIntensBlind)
-    fIntensBlind->SetPulserColor( fPulserColor );
-  else if (fBlindCam)
-    fBlindCam->SetPulserColor( fPulserColor );
-  
+  chargecam ->SetPulserColor( fPulserColor );
+  blindcam  ->SetPulserColor( fPulserColor );
+  fHCam     ->SetColor      ( fPulserColor );
+  fHBlindCam->SetColor      ( fPulserColor );
+
   if (fPINDiode)
     fPINDiode->SetColor( fPulserColor );
 
   return kTRUE;
+}
+
+// -----------------------------------------------------------------------
+//
+// Analogue to the MTask::CallPostProcess, but without the manipulation 
+// of the bit fIsPreProcessed. Needed in order to call PostProcess multiple 
+// times in the intensity calibration.
+//
+Int_t MCalibrationChargeCalc::CallPostProcess()
+{
+
+  //  if (!fIsPreprocessed)
+  //    return kTRUE;
+
+  *fLog << all << fName << "... " << flush;
+  if (fDisplay)
+    fDisplay->SetStatusLine2(*this);
+  
+  return PostProcess();
 }
 
@@ -1344,5 +1386,5 @@
       *fLog << inf << GetDescriptor() 
             << ": Average number phes per area in sector " << sector << ": " 
-            << Form("%5.2f+-%4.2f  [phe/mm^2]",sectorphes[sector],TMath::Sqrt(sectorweights[sector])) 
+            << Form("%5.3f+-%4.3f  [phe/mm^2]",sectorphes[sector],TMath::Sqrt(sectorweights[sector])) 
             << endl;
 
Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h	(revision 5132)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h	(revision 5133)
@@ -31,4 +31,5 @@
 class MPedestalPix;
 class MCalibrationChargePINDiode;
+class MHCalibrationChargeBlindCam;
 class MCalibrationIntensityBlindCam;
 class MCalibrationBlindCam;
@@ -36,4 +37,5 @@
 class MCalibrationIntensityChargeCam;
 class MCalibrationChargeCam;
+class MHCalibrationChargeCam;
 class MCalibrationIntensityQECam;
 class MCalibrationQECam;
@@ -85,10 +87,12 @@
   MBadPixelsIntensityCam         *fIntensBad;      //!  Bad Pixels  
   MBadPixelsCam                  *fBadPixels;      //!  Bad Pixels
-  MCalibrationIntensityChargeCam *fIntensCam;      //!  Calibrated Charges of all pixels   
-  MCalibrationChargeCam          *fCam;            //!  Calibrated Charges of all pixels 
-  MCalibrationIntensityBlindCam  *fIntensBlind;    //!  Calibrated Charges of the Blind Pixels
-  MCalibrationBlindCam           *fBlindCam;       //!  Calibrated Charges of the Blind Pixels  
+  MCalibrationIntensityChargeCam *fIntensCam;      //!  Intensity Calibration results of all pixels   
+  MCalibrationChargeCam          *fCam;            //!  Calibrated Charges results of all pixels
+  MHCalibrationChargeCam         *fHCam;           //!  Charges histograms of all pixels   
+  MCalibrationIntensityBlindCam  *fIntensBlind;    //!  Intensity Calibration results of the Blind Pixels
+  MCalibrationBlindCam           *fBlindCam;       //!  Calibrated Charges of the Blind Pixels
+  MHCalibrationChargeBlindCam    *fHBlindCam;      //!  Charges histograms of the Blind Pixels  
   MCalibrationChargePINDiode     *fPINDiode;       //!  Calibrated Charges of the PIN Diode
-  MCalibrationIntensityQECam     *fIntensQE;       //!  Calibrated Quantum Efficiencies of all pixels
+  MCalibrationIntensityQECam     *fIntensQE;       //!  Intensity Calibration Quantum Efficiencies of all pixels
   MCalibrationQECam              *fQECam;          //!  Calibrated Quantum Efficiencies of all pixels 
   MGeomCam                       *fGeom;           //!  Camera geometry
@@ -161,4 +165,6 @@
   MCalibrationChargeCalc(const char *name=NULL, const char *title=NULL);
 
+  Int_t CallPostProcess();
+
   void Clear(const Option_t *o="");
 
Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationQEPix.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationQEPix.cc	(revision 5132)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationQEPix.cc	(revision 5133)
@@ -94,5 +94,5 @@
 // The number gkDefaultAverageQE = 0.18 +- 0.02 can be obtained in the following way: 
 //
-// * Transmission probability Plexiglass: 0.96
+// * Transmission probability Plexiglass: 0.92
 //
 // * Averaged QE coated PMTs: zenith     value
@@ -201,5 +201,5 @@
 const Float_t MCalibrationQEPix::gkDefaultAverageQEErr = 0.02 ;  
 const Float_t MCalibrationQEPix::gkPMTCollectionEff    = 0.90 ;
-const Float_t MCalibrationQEPix::gkPMTCollectionEffErr = 0.01 ;
+const Float_t MCalibrationQEPix::gkPMTCollectionEffErr = 0.05 ;
 const Float_t MCalibrationQEPix::gkLightGuidesEffGreen    = 0.94 ;
 const Float_t MCalibrationQEPix::gkLightGuidesEffGreenErr = 0.03 ;
Index: /trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.h
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.h	(revision 5132)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.h	(revision 5133)
@@ -64,4 +64,6 @@
   MCalibrationRelTimeCalc(const char *name=NULL, const char *title=NULL);
 
+  Int_t CallPostProcess();
+  
   void Clear(const Option_t *o="");
   
