Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 4065)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 4066)
@@ -24,4 +24,7 @@
      - introduced intrinsic delay of low-gain, as measured by Florian. 
 
+   * mjobs/MJCalibration.cc
+   * mjobs/MJExtractCalibTest.cc
+     - fixed some errors in the storage of the rel. times.
 
  2004/05/12: Thomas Bretz
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 4065)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 4066)
@@ -907,4 +907,5 @@
   plist.AddToList(&fQECam);
   plist.AddToList(&fCalibrationCam);
+  plist.AddToList(&fRelTimeCam);
   plist.AddToList(&pindiode);
   plist.AddToList(&blindpix);
@@ -960,6 +961,4 @@
   if (fRelTimes)
     {
-      plist.AddToList(&fRelTimeCam);
-
       if (fTimeExtractor)
         tlist.AddToList(fTimeExtractor);
@@ -1042,4 +1041,10 @@
     }
 
+    if (fRelTimeCam.Read()<=0)
+    {
+        *fLog << err << "Unable to read MCalibrationRelTimeCam from " << fname << endl;
+        return kFALSE;
+    }
+
     if (file.FindKey("MBadPixelsCam"))
     {
@@ -1111,4 +1116,11 @@
     }
 
+    if (fRelTimes)
+	if (fRelTimeCam.Write()<=0)
+	{
+	    *fLog << err << "Unable to write MCalibrationQECam to " << oname << endl;
+	    return kFALSE;
+	}
+
     if (fBadPixels.Write()<=0)
     {
@@ -1121,2 +1133,8 @@
 }
 
+
+
+
+
+
+
Index: /trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.cc	(revision 4065)
+++ /trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.cc	(revision 4066)
@@ -64,5 +64,4 @@
 #include "MCalibrateRelTimes.h"
 #include "MPedPhotCalc.h"
-#include "MWriteRootFile.h"
 
 #include "MStatusDisplay.h"
@@ -205,10 +204,10 @@
 Bool_t MJExtractCalibTest::ProcessD(MPedestalCam &pedcam, MCalibrationChargeCam &calcam, MCalibrationQECam &qecam)
 {
-  const TString fname = GetOutputFile();
-  
-  if (gSystem->AccessPathName(fname, kFileExists))
+    // const TString fname = GetOutputFile();
+  
+//  if (gSystem->AccessPathName(fname, kFileExists))
     return ProcessFileD(pedcam,calcam,qecam);
   
-  return kTRUE;
+    // return kTRUE;
 }
 
@@ -283,14 +282,4 @@
   tlist.AddToList(&fillcam);
   
-  MWriteRootFile write(GetOutputFile(),    "RECREATE", fRuns->GetRunsAsString(), 2);
-  write.AddContainer(&pedcam               , "RunHeaders" );
-  write.AddContainer(&pedphot              , "RunHeaders" );
-  write.AddContainer(&calcam               , "Events"     );
-  write.AddContainer(&qecam                , "Events"     );
-  write.AddContainer(&fBadPixels           , "RunHeaders" );
-  write.AddContainer("MHCalibrationTestCam", "Events"     );
-  //  write.AddContainer(&testtime );
-  tlist.AddToList(&write);
-
   // Create and setup the eventloop
   MEvtLoop evtloop(fName);
@@ -310,4 +299,7 @@
   DisplayResult(plist);
 
+  if (!WriteResultD())
+    return kFALSE;
+
   *fLog << inf << GetDescriptor() << ": Done." << endl;
   
@@ -317,10 +309,11 @@
 Bool_t MJExtractCalibTest::ProcessT(MPedestalCam &pedcam, MCalibrationRelTimeCam &relcam)
 {
-  const TString fname = GetOutputFile();
-  
-  if (gSystem->AccessPathName(fname, kFileExists))
+
+//  const TString fname = GetOutputFile();
+  
+//  if (gSystem->AccessPathName(fname, kFileExists))
     return ProcessFileT(pedcam,relcam);
   
-  return kTRUE;
+//  return kTRUE;
 }
 
@@ -348,4 +341,5 @@
   // Setup Lists
   MParList plist;
+  plist.AddToList(&pedcam);
   plist.AddToList(&relcam);
   plist.AddToList(&arrtime);
@@ -389,11 +383,4 @@
   tlist.AddToList(&fillcam);
   
-  MWriteRootFile write(GetOutputFile(), "UPDATE", fRuns->GetRunsAsString(), 2);
-  write.AddContainer(&relcam                   , "Events"     );
-  write.AddContainer(&fBadPixels               , "RunHeaders" );
-  write.AddContainer("MHCalibrationTestCam"    , "Events"     );
-  write.AddContainer("MHCalibrationTestTimeCam", "Events"     );
-  write.AddContainer("MArrivalTimeCam"         , "Events"     );
-
   // Create and setup the eventloop
   MEvtLoop evtloop(fName);
@@ -412,4 +399,7 @@
   
   DisplayResultT(plist);
+
+  if (!WriteResultT())
+    return kFALSE;
 
   *fLog << inf << GetDescriptor() << ": Done." << endl;
@@ -455,159 +445,65 @@
 }
 
-
-/*
-Bool_t MJExtractCalibTest::ProcessFile(MPedestalCam *pedcam, MCalibrationChargeCam *calcam)
-{
-    if (!fRuns)
-    {
-        *fLog << err << "No Runs choosen... abort." << endl;
-        return kFALSE;
-    }
-    if (fRuns->GetNumRuns() != fRuns->GetNumEntries())
-    {
-        *fLog << err << "Number of files found doesn't match number of runs... abort." << endl;
-        return kFALSE;
-    }
-
-    Int_t type = 0;
-    if (pedcam &&  calcam) type = 2;
-    if (pedcam && !calcam) type = 3;
-
-    *fLog << inf;
-    fLog->Separator(GetDescriptor());
-    *fLog << "Calculating from Runs " << fRuns->GetRunsAsString() << endl;
-    *fLog << endl;
-
-    MReadMarsFile read("Events");
-    read.DisableAutoScheme();
-    static_cast<MRead&>(read).AddFiles(*fRuns);
-
-    // Setup Tasklist
-    MParList plist;
-    switch (type)
-    {
-    case 2:
-        plist.AddToList(calcam);
-        plist.AddToList(&fPedPhotCam);
-    case 3:
-        plist.AddToList(pedcam);
-    }
-
-    MTaskList tlist;
-    plist.AddToList(&tlist);
-
-    MGeomApply     apply; // Only necessary to craete geometry
-    MExtractSignal extract;
-    MCalibrate     calib;
-    MPedPhotCalc   calc;
-
-
-    MHCamEvent evt1("ExtOffset");
-    MHCamEvent evt2("CalOffset");
-    evt1.SetType(0);
-    evt2.SetType(0);
-    MFillH fill1(&evt1, "MExtractedSignalCam", "FillExtractedSignal");
-    MFillH fill2(&evt2, "MCerPhotEvt",         "FillCerPhotEvt");
-
-    tlist.AddToList(&read);
-    tlist.AddToList(&apply);
-    tlist.AddToList(&extract);
-    if (TestBit(kEnableGraphicalOutput))
-        tlist.AddToList(&fill1);
-    tlist.AddToList(&calib);
-    tlist.AddToList(&calc);
-    if (TestBit(kEnableGraphicalOutput))
-        tlist.AddToList(&fill2);
-
-
-    MHCamEvent evt("ExtSignal");
-    evt.SetType(0);
-    MFillH fill(&evt, "MExtractedSignalCam");
-
-    MWriteRootFile write(GetOutputFileD(), "RECREATE", fRuns->GetRunsAsString(), 2);
-    write.AddContainer("MExtractedSignalCam", "Events");
-    write.AddContainer("MTime",               "Events");
-    write.AddContainer("MRawRunHeader",       "RunHeaders");
-    write.AddContainer("MPedestalCam",        "RunHeaders");
-
-    tlist.AddToList(&read);
-    tlist.AddToList(&apply);
-    tlist.AddToList(&extract);
-    if (TestBit(kEnableGraphicalOutput))
-        tlist.AddToList(&fill);
-    tlist.AddToList(&write);
-
-    // Create and setup the eventloop
-    MEvtLoop evtloop(fName);
-    evtloop.SetParList(&plist);
-    evtloop.SetDisplay(fDisplay);
-    evtloop.SetLogStream(fLog);
-
-    // Execute first analysis
-    if (!evtloop.Eventloop())
-    {
-        *fLog << err << GetDescriptor() << ": Failed." << endl;
-        return kFALSE;
-    }
-
-    tlist.PrintStatistics();
-
-    //DisplayResult(plist);
-
-    //if (!WriteResult())
-    //    return kFALSE;
-
-    *fLog << inf << GetDescriptor() << ": Done." << endl;
+Bool_t MJExtractCalibTest::WriteResultD()
+{
+    
+    if (fOutputPath.IsNull())
+        return kTRUE;
+    
+    const TString oname(GetOutputFile());
+
+    *fLog << inf << "Writing to file: " << oname << endl;
+    
+    TFile file(oname, "UPDATE");
+    
+    if (fDisplay && fDisplay->Write()<=0)
+    {
+        *fLog << err << "Unable to write MStatusDisplay to " << oname << endl;
+        return kFALSE;
+    }
+
+    if (fPedPhotCam.Write()<=0)
+    {
+        *fLog << err << "Unable to write MPedPhotCam to " << oname << endl;
+        return kFALSE;
+    }
+
+    if (fTestCam.Write()<=0)
+    {
+        *fLog << err << "Unable to write MHCalibrationTestCam to " << oname << endl;
+        return kFALSE;
+    }
 
     return kTRUE;
 
-
-    // ------------------------------------------------------
-
-    MGeomApply     apply; // Only necessary to craete geometry
-    MExtractSignal extract;
-    MCalibrate     calib;
-    MPedPhotCalc   calc;
-
-    MHCamEvent evt1("ExtOffset");
-    MHCamEvent evt2("CalOffset");
-    evt1.SetType(0);
-    evt2.SetType(0);
-    MFillH fill1(&evt1, "MExtractedSignalCam", "FillExtractedSignal");
-    MFillH fill2(&evt2, "MCerPhotEvt",         "FillCerPhotEvt");
-
-    tlist.AddToList(&read);
-    tlist.AddToList(&apply);
-    tlist.AddToList(&extract);
-    if (TestBit(kEnableGraphicalOutput))
-        tlist.AddToList(&fill1);
-    tlist.AddToList(&calib);
-    tlist.AddToList(&calc);
-    if (TestBit(kEnableGraphicalOutput))
-        tlist.AddToList(&fill2);
-
-    // Create and setup the eventloop
-    MEvtLoop evtloop(fName);
-    evtloop.SetParList(&plist);
-    evtloop.SetDisplay(fDisplay);
-    evtloop.SetLogStream(fLog);
-
-    // Execute first analysis
-    if (!evtloop.Eventloop())
-    {
-        *fLog << err << GetDescriptor() << ": Failed." << endl;
-        return kFALSE;
-    }
-
-    tlist.PrintStatistics();
-
-    //DisplayResult(plist);
-
-    if (!WriteResult())
-        return kFALSE;
-
-    *fLog << inf << GetDescriptor() << ": Done." << endl;
+}
+
+Bool_t MJExtractCalibTest::WriteResultT()
+{
+    
+    if (fOutputPath.IsNull())
+        return kTRUE;
+    
+    const TString oname(GetOutputFile());
+
+    *fLog << inf << "Writing to file: " << oname << endl;
+    
+    TFile file(oname, "UPDATE");
+    
+    if (fDisplay && fDisplay->Write()<=0)
+    {
+        *fLog << err << "Unable to write MStatusDisplay to " << oname << endl;
+        return kFALSE;
+    }
+
+    if (fTestTimeCam.Write()<=0)
+    {
+        *fLog << err << "Unable to write MHCalibrationTestTimeCam to " << oname << endl;
+        return kFALSE;
+    }
 
     return kTRUE;
-    }
-    */
+
+}
+
+
Index: /trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.h
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.h	(revision 4065)
+++ /trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.h	(revision 4066)
@@ -45,7 +45,9 @@
   void   DisplayResult(MParList &plist);
   void   DisplayResultT(MParList &plist);
+
+  Bool_t WriteResultD();
+  Bool_t WriteResultT();
   
   Bool_t ProcessFileD(MPedestalCam &pedcam, MCalibrationChargeCam &calcam, MCalibrationQECam &qecam);
-  Bool_t ProcessFileP(MPedestalCam &pedcam, MCalibrationChargeCam &calcam, MCalibrationQECam &qecam);
   Bool_t ProcessFileT(MPedestalCam &pedcam, MCalibrationRelTimeCam &relcam);  
 
