Index: /trunk/MagicSoft/Mars/mtemp/mifae/programs/calib.cc
===================================================================
--- /trunk/MagicSoft/Mars/mtemp/mifae/programs/calib.cc	(revision 5068)
+++ /trunk/MagicSoft/Mars/mtemp/mifae/programs/calib.cc	(revision 5069)
@@ -178,4 +178,5 @@
   Float_t meanSigma[577];
   Float_t meanFADC2Phe[577];
+  Float_t meanFADC2Phe_error[577];
   Float_t meanFADCtoPh[577];
   Float_t prob[577];
@@ -192,11 +193,60 @@
       meanSigma[i] = calpix.GetSigma();
       meanFADC2Phe[i]=calpix.GetMeanConvFADC2Phe();
+      meanFADC2Phe_error[i]=calpix.GetMeanConvFADC2PheErr();
       meanFADCtoPh[i]=calpix.GetMeanConvFADC2Phe()/qepix.GetQECascadesFFactor(0);
       prob[i]=calpix.GetProb();
-      fout << i << '\t' << meanCharge[i] << '\t' << meanSigma[i]<< '\t' << meanFADC2Phe[i]<< '\t' <<meanFADCtoPh[i]<< '\t' <<prob[i]<< '\t' <<(Int_t)calpix.IsHiGainSaturation()<<endl;
+      fout << i << '\t' << meanCharge[i] << '\t' << meanSigma[i]<< '\t' << meanFADC2Phe[i]<< '\t' << meanFADC2Phe_error[i]<< '\t' <<meanFADCtoPh[i]<< '\t' <<prob[i]<< '\t' <<(Int_t)calpix.IsHiGainSaturation()<< '\t' <<(Int_t)calpix.IsFFactorMethodValid()<<endl;
     }
 
   fout.close();
 
+  /*****************************************************/
+  /* THIRD LOOP: Q in fadc event by event CALIBRATION  */
+  /*****************************************************/        
+
+  MParList  plist4;
+  MTaskList tlist4;
+  plist4.AddToList(&tlist4);
+  
+  // containers 
+
+  MCerPhotEvt         nphot;
+  plist4.AddToList(&geomcam);
+  plist4.AddToList(&pedloop.GetPedestalCam());
+  plist4.AddToList(&nphot);
+  
+  //tasks
+  MReadMarsFile read4("Events");
+  static_cast<MRead&>(read4).AddFiles(caliter); 
+  read4.DisableAutoScheme();
+  
+  MCalibrate::CalibrationMode_t calMode=MCalibrate::kNone;  
+
+  MCalibrate      photcalc(calMode);
+
+  tlist4.AddToList(&read4);
+  tlist4.AddToList(&geomapl);
+  tlist4.AddToList(&extractor);
+  tlist4.AddToList(&photcalc);
+
+  // Create and setup the eventloop
+  MEvtLoop datloop;
+  datloop.SetParList(&plist4);
+
+  //  if (!datloop.Eventloop(nmaxevents))
+  // return;
+  outname+="_evt";
+
+  datloop.PreProcess();
+
+  fout.open(outname);
+  while(tlist4.Process())
+    {
+      for(int i=0;i<577;i++)
+	fout<<nphot[i].GetNumPhotons()<<" ";
+      fout<<endl;
+    }
+  fout.close();
+  datloop.PostProcess();
   return;
 
