Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 8394)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 8395)
@@ -19,4 +19,25 @@
                                                  -*-*- END OF LINE -*-*-
 
+ 2007/04/11 Thomas Bretz
+
+   * mjobs/MJCalibrateSignal.cc:
+     - renamed tab "Conv" to "ConvUpd"
+     - renamed task "FillConv" to "FillConvUpd"
+     - moved filling of pedestal histograms before processing 
+       of calibration events
+     - added a lot of comments
+     - only fill calibration constants if ReadyToSave flag is set
+     - added some code for future use
+
+   * mcalib/MCalibCalcFromPast.cc:
+     - if update of calibration constants via MCalibrateData fails an
+       error is raised
+
+   * mcalib/MCalibrateData.cc:
+     - if update of calibration constants done set the ReadyToSaveFlag
+       accordingly
+
+
+
  2007/04/04 Thomas Bretz
 
Index: /trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc	(revision 8394)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc	(revision 8395)
@@ -349,6 +349,6 @@
 
   if (fCalibrate)
-    fCalibrate->UpdateConversionFactors(fUpdateWithFFactorMethod ? NULL
-                                        : (MCalibrationChargeCam*)fIntensCharge->GetCam() );
+    return fCalibrate->UpdateConversionFactors(fUpdateWithFFactorMethod ? NULL
+                                               : (MCalibrationChargeCam*)fIntensCharge->GetCam() );
 
   return kTRUE;
Index: /trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc
===================================================================
--- /trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc	(revision 8394)
+++ /trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc	(revision 8395)
@@ -1,4 +1,4 @@
 /* ======================================================================== *\
-! $Name: not supported by cvs2svn $:$Id: MCalibrateData.cc,v 1.64 2007-02-28 13:29:52 tbretz Exp $
+! $Name: not supported by cvs2svn $:$Id: MCalibrateData.cc,v 1.65 2007-04-11 13:35:13 tbretz Exp $
 ! --------------------------------------------------------------------------
 !
@@ -732,4 +732,9 @@
       } /*     for (Int_t pixidx=0; pixidx<fGeomCam->GetNumPixels(); pixidx++) */
 
+    if (fIntensConst)
+        fIntensConst->SetReadyToSave();
+    else
+        fCalibConstCam->SetReadyToSave();
+
     if (skip>fGeomCam->GetNumPixels()*0.9)
     {
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 8394)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 8395)
@@ -90,4 +90,5 @@
 #include "MTriggerPatternDecode.h"
 #include "MFTriggerPattern.h"
+#include "MFDataPhrase.h"
 #include "MFilterList.h"
 #include "MGeomApply.h"
@@ -111,4 +112,11 @@
 #include "MWriteRootFile.h"
 
+/*
+ #include "MFEvtNumber.h"
+ #include "MMoviePrepare.h"
+ #include "MMovieWrite.h"
+ #include "MImgCleanStd.h"
+ */
+
 ClassImp(MJCalibrateSignal);
 
@@ -604,5 +612,5 @@
     MHCamEvent evt6(102, "Unsuitable", "Fraction of unsuitable events per Pixel;;[1]");
     // MHCamEvent evt7(  6, "Times",      "Calibrated Arrival Time;;T [fadc sl]");
-    MHCamEvent evt8(  0, "Conv",       "Calibration Conv. Factors;;[phe/fadc cnts]");
+    MHCamEvent evt8(  0, "ConvUpd",    "Calibration Conv. Factors;;[phe/cnts]");
     MHCamEvent evt9(  7, "PulsePos",   "Pulse Position of cosmics (>50phe);;T");
     MHCamEvent evtR(  4, "HiLoCal",    "Hi-/Lo-Gain ratio;;Ratio");
@@ -621,9 +629,14 @@
     MFillH fill6(&evt6, "MBadPixelsCam",                 "FillUnsuitable");
     // MFillH fill7(&evt7, "MSignalCam",                    "FillTimes");
-    MFillH fill8(&evt8, "MCalibrationIntensityConstCam", "FillConv");
+    MFillH fill8(&evt8, "MCalibrationIntensityConstCam", "FillConvUpd");
     MFillH fill9(&evt9, "MSignalCam",                    "FillPulse");
     MFillH fillR(&evtR, "MExtractedSignalCam",           "FillHiLoCal");
     MFillH fillO(&evtO, "MArrivalTimeCam",               "FillHiLoOff");
 
+    /*
+     MFillH fillP("MHPulseShape", "", "FillPulseShape");
+     fillP.SetNameTab("Pulse");
+     */
+
     if (!extractor1->HasLoGain())
     {
@@ -631,4 +644,10 @@
         fill1.SetFilter(&ftp2);
     }
+
+    /*
+     MHVsTime hbadpix("MBadPixelsCam.GetNumUnsuitable");
+     hbadpix.SetNumEvents(50);
+     MFillH fillB(&hbadpix, "MTime");
+     */
 
     MTaskEnv fillflorian("FinalFantasy");
@@ -657,4 +676,5 @@
     write.AddContainer("MTime",                     "Events",     kFALSE);
     write.AddContainer("MRawEvtHeader",             "Events");
+
     // Slow-Control: Current-tree
     write.AddContainer("MTimeCurrents",             "Currents",   kFALSE);
@@ -697,4 +717,6 @@
     tlist2.AddToList(&pedlo2);
     tlist2.AddToList(&pedlo3);
+    tlist2.AddToList(&fill0);        // fill pedestal events
+    tlist2.AddToList(&fill1);        // fill pedestal events
 
     //-----------------------------------------------------------
@@ -703,30 +725,33 @@
     tlist3.SetFilter(&fcalib);
 
+    MFDataPhrase filcalco("MCalibrationIntensityConstCam.IsReadyToSave>0.5", "CalibConstFilter");
     if (fIsInterlaced)
     {
-        tlist2.AddToList(&fcalib);
+        tlist2.AddToList(&fcalib);     // MFTriggerPattern
         tlist2.AddToList(&tlist3);
-
         if (IsUsePINDiode())
-            tlist3.AddToList(&pinext);
+            tlist3.AddToList(&pinext); // MExtractPINDiode
         if (IsUseBlindPixel())
-            tlist3.AddToList(&bldext);
+            tlist3.AddToList(&bldext); // MExtractBlindPixel
 	tlist3.AddToList(&taskenv3);
-        tlist3.AddToList(&pacalc);
-        tlist3.AddToList(&filcam);
+        tlist3.AddToList(&pacalc);     // MCalibCalcFromPast
+
+        tlist3.AddToList(&filcalco);   // CalibConstFilter (IsReadyToSave)
+        fill8.SetFilter(&filcalco);
+        tlist3.AddToList(&fill8);      // FillConvUpd
+
+        tlist3.AddToList(&filcam);     // FillChargeCam
 	if (fIsRelTimesUpdate)
-	  tlist3.AddToList(&filtme);
+	  tlist3.AddToList(&filtme);   // FillRelTime
         if (IsUseBlindPixel())
-            tlist3.AddToList(&filbnd);
+            tlist3.AddToList(&filbnd); // FillBlindCam
         if (IsUsePINDiode())
-            tlist3.AddToList(&filpin);
-        tlist3.AddToList(&chcalc);
+            tlist3.AddToList(&filpin); // FillPINDiode
+        tlist3.AddToList(&chcalc);     // MCalibrationChargeCalc
 	if (fIsRelTimesUpdate)
-            tlist3.AddToList(&recalc);
+            tlist3.AddToList(&recalc); // MCalibrationRelTimeCam
     }  
 
     // Continue for all non-cosmic events
-    tlist2.AddToList(&fill0);        // fill pedestal events
-    tlist2.AddToList(&fill1);        // fill pedestal events
     if (!extractor1->HasLoGain())
         tlist2.AddToList(&contftp2); // remove pedestal events from processing
@@ -736,5 +761,5 @@
     if (extractor2)
       tlist2.AddToList(&taskenv2);
-    tlist2.AddToList(&contcos);
+    tlist2.AddToList(&contcos);      // MFCosmics (ContTrigEvts)
     /*
     if (fIsHiLoCalibration)
@@ -751,11 +776,10 @@
     */
     tlist2.AddToList(&fill2);
-    tlist2.AddToList(&calib);
+    tlist2.AddToList(&calib);        // MCalibrateData
     if (extractor2 || extractor1->InheritsFrom("MExtractTimeAndCharge"))
         tlist2.AddToList(&caltm);
-    if (fIsInterlaced)
-        tlist2.AddToList(&fill8);
-    tlist2.AddToList(&bpcal);
-    tlist2.AddToList(&treat);
+
+    tlist2.AddToList(&bpcal);        // MBadPixelsCalc
+    tlist2.AddToList(&treat);        // MBadPixelsTreat
     tlist2.AddToList(&fill6);
     //    tlist2.AddToList(&fill3);
@@ -770,4 +794,42 @@
         tlist2.AddToList(&fillO);
     }
+
+    /*
+     MFillH fillC("MHCleaning", "", "FillClean");
+     tlist2.AddToList(&fillC);
+
+     tlist2.AddToList(&fillP);
+
+     // --- Start: Code for encoding movies ---
+
+     MMoviePrepare movprep;
+     MMovieWrite   movwrite;
+     movprep.SetRangeFromExtractor(*extractor1);
+
+     MFDataPhrase movfilt("MMovieData.fMax>150");
+
+     MImgCleanStd movclean(8.5, 4.0);
+     movclean.SetMethod(MImgCleanStd::kAbsolute);
+
+     //movprep.SetFilter(&evtnum);
+     movclean.SetFilter(&movfilt);
+     movwrite.SetFilter(&movfilt);
+
+     MTaskList tlistmov;
+     tlistmov.AddToList(&movprep);
+     tlistmov.AddToList(&movfilt);
+     tlistmov.AddToList(&movclean);
+     tlistmov.AddToList(&movwrite);
+
+     MFEvtNumber evtnum;
+     //evtnum.SetFileName("ganymed00000001.root");
+     tlistmov.SetFilter(&evtnum);
+
+     //tlist2.AddToList(&evtnum);
+     //tlist2.AddToList(&tlistmov);
+
+     // --- End: Code for encoding movies ---
+     */
+
     tlist2.AddToList(&fillflorian);
 
