Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 3688)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 3689)
@@ -84,4 +84,5 @@
    * mcalib/MCalibrateData.[h,cc]
    * mcalib/MMcCalibrationCalc.[h,cc]
+   * manalysis/MMcCalibrationUpdate.[h,cc]
      - conversion factors now separated into FADC2phe and then into 
        call to average Quantum efficiency. 
Index: /trunk/MagicSoft/Mars/manalysis/MMcCalibrationUpdate.cc
===================================================================
--- /trunk/MagicSoft/Mars/manalysis/MMcCalibrationUpdate.cc	(revision 3688)
+++ /trunk/MagicSoft/Mars/manalysis/MMcCalibrationUpdate.cc	(revision 3689)
@@ -55,4 +55,8 @@
 #include "MCalibrationChargePix.h"
 #include "MCalibrationChargeCam.h"
+
+#include "MCalibrationQEPix.h"
+#include "MCalibrationQECam.h"
+
 #include "MExtractedSignalCam.h"
 #include "MExtractedSignalPix.h"
@@ -121,4 +125,18 @@
         *fLog << inf << AddSerialNumber("MCalibrationChargeCam") << " already exists... " << endl;
     }
+
+    fQECam = (MCalibrationQECam*) pList->FindObject(AddSerialNumber("MCalibrationQECam"));
+    if (!fQECam)
+    {
+        fQECam = (MCalibrationQECam*) pList->FindCreateObj(AddSerialNumber("MCalibrationQECam"));
+        if (!fQECam)
+            return kFALSE;
+    }
+    else
+    {
+        fFillQECam = kFALSE;
+        *fLog << inf << AddSerialNumber("MCalibrationQECam") << " already exists... " << endl;
+    }
+
 
     fPedPhotCam = (MPedPhotCam*) pList->FindCreateObj(AddSerialNumber("MPedPhotCam"));
@@ -235,11 +253,15 @@
     const int num = fCalCam->GetSize();
 
-    fCalCam->SetBlindPixelMethodValid(kTRUE);
-
+    fCalCam->SetFFactorMethodValid   ( kTRUE );
+    fQECam->SetFFactorMethodValid    ( kTRUE );
+    fQECam->SetBlindPixelMethodValid ( kTRUE );
+    fQECam->SetCombinedMethodValid   ( kTRUE );
+    fQECam->SetPINDiodeMethodValid   ( kTRUE );  
+    
     for (int i=0; i<num; i++)
     {
         MCalibrationChargePix &calpix = (MCalibrationChargePix&)(*fCalCam)[i];
 
-	calpix.SetBlindPixelMethodValid();
+	calpix.SetFFactorMethodValid();
 
 	calpix.SetConversionHiLo(fConversionHiLo);
@@ -247,12 +269,18 @@
 
 	//
-	// Write conversion factor ADC to photons (different for inner
+	// Write conversion factor ADC to photo-electrons (different for inner
 	// and outer pixels).
 	//
-
 	Float_t adc2phot = (fGeom->GetPixRatio(i) < fGeom->GetPixRatio(0))?
 	  fADC2PhOuter : fADC2PhInner;
 
-	calpix.SetConversionBlindPixelMethod(adc2phot, 0., 0.);
+        //
+        // FIXME: This has now to be split into a adc2phe part and a phe2phot (==QE) part
+        //
+        const Float_t qe = MCalibrationQEPix::gkDefaultAverageQE;
+	calpix.SetMeanConvFADC2Phe(adc2phot*qe); // here, the FADC to phe part should go.
+        calpix.SetMeanConvFADC2PheVar(0.);
+        calpix.SetMeanFFactorFADC2Phot(0.);
+
     }
 
@@ -306,5 +334,8 @@
 
         MCalibrationChargePix &calpix = (MCalibrationChargePix&)(*fCalCam)[i];
-	Float_t adc2phot = calpix.GetMeanConversionBlindPixelMethod();
+        //        MCalibrationQEPix     &qepix  = (MCalibrationQEPix&)    (*fQECam) [i];
+
+        Float_t qe       = MCalibrationQEPix::gkDefaultAverageQE;
+	Float_t adc2phot = calpix.GetMeanConvFADC2Phe() / qe;
 	Float_t hi2lo    = calpix.GetConversionHiLo();
 
Index: /trunk/MagicSoft/Mars/manalysis/MMcCalibrationUpdate.h
===================================================================
--- /trunk/MagicSoft/Mars/manalysis/MMcCalibrationUpdate.h	(revision 3688)
+++ /trunk/MagicSoft/Mars/manalysis/MMcCalibrationUpdate.h	(revision 3689)
@@ -7,4 +7,5 @@
 
 class MCalibrationChargeCam;
+class MCalibrationQECam;
 class MPedPhotCam;
 class MGeomCam;
@@ -21,4 +22,5 @@
 
     MCalibrationChargeCam *fCalCam;
+    MCalibrationQECam     *fQECam;    
     MPedPhotCam           *fPedPhotCam;
     MGeomCam              *fGeom;
@@ -26,8 +28,9 @@
     MExtractedSignalCam   *fSignalCam;
 
-    Float_t fADC2PhInner; // Conversion factor from ADC counts to photons
+    Float_t fADC2PhInner; // Conversion factor from ADC counts to photo-electrons
     Float_t fADC2PhOuter; // for inner and outer pixels.
 
     Bool_t  fFillCalibrationCam;
+    Bool_t  fFillQECam;    
     Bool_t  fOuterPixelsGainScaling;
 
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 3688)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 3689)
@@ -579,8 +579,5 @@
     //
     MCalibrationChargePINDiode pindiode;
-    pindiode.SetColor(kCT1);
-
     MCalibrationChargeBlindPix blindpix;
-    blindpix.SetColor(kCT1);
 
     // Setup Tasklist
@@ -602,4 +599,5 @@
     MExtractSignal2          extract;
     MCalibrationChargeCalc   calcalc;
+    calcalc.SetPulserColor(MCalibrationCam::kCT1);
 
     MFillH fillpin("MHCalibrationChargePINDiode", "MExtractedSignalPINDiode");
