Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 4694)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 4695)
@@ -22,4 +22,10 @@
  2004/08/20: Thomas Bretz
 
+   * mjobs/MSequence.[h,cc]:
+     - added path-option to SetupRuns
+
+   * mjobs/MJCalibration.cc, mjobs/MJExtractSignal.cc, MJPedestal.cc:
+     - changed file "UPDATE" to "RECREATE"
+ 
    * macros/sql/filldotrbk.C:
      - removed obsolete output
Index: /trunk/MagicSoft/Mars/mjobs/JobsLinkDef.h
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/JobsLinkDef.h	(revision 4694)
+++ /trunk/MagicSoft/Mars/mjobs/JobsLinkDef.h	(revision 4695)
@@ -9,4 +9,5 @@
 #pragma link C++ class MJPedestal+;
 #pragma link C++ class MJCalibration+;
+#pragma link C++ class MJCalibrateSignal+;
 #pragma link C++ class MJExtractSignal+;
 #pragma link C++ class MJExtractCalibTest+;
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 4694)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 4695)
@@ -1425,5 +1425,5 @@
     {
         read.DisableAutoScheme();
-        static_cast<MRead&>(read).AddFiles(fSequence ? iter : *fRuns);
+        read.AddFiles(fSequence ? iter : *fRuns);
         tlist.AddToList(&read);
     }
@@ -1702,5 +1702,5 @@
     *fLog << inf << "Writing to file: " << oname << endl;
 
-    TFile file(oname, "UPDATE");
+    TFile file(oname, "RECREATE");
 
     *fLog << inf << " - MStatusDisplay..." << flush;
Index: /trunk/MagicSoft/Mars/mjobs/MJExtractSignal.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJExtractSignal.cc	(revision 4694)
+++ /trunk/MagicSoft/Mars/mjobs/MJExtractSignal.cc	(revision 4695)
@@ -89,5 +89,5 @@
     *fLog << inf << "Writing to file: " << oname << endl;
 
-    TFile file(oname, "UPDATE");
+    TFile file(oname, "RECREATE");
 
     if (fDisplay && fDisplay->Write()<=0)
Index: /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 4694)
+++ /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 4695)
@@ -451,5 +451,5 @@
     *fLog << inf << "Writing to file: " << oname << endl;
 
-    TFile file(oname, "UPDATE");
+    TFile file(oname, "RECREATE");
 
     if (fDisplay && fDisplay->Write()<=0)
@@ -560,5 +560,5 @@
         read.DisableAutoScheme();
         if (fRuns || fSequence)
-            static_cast<MRead&>(read).AddFiles(fSequence ? iter : *fRuns);
+            read.AddFiles(fSequence ? iter : *fRuns);
 	tlist.AddToList(&read);
     }
Index: /trunk/MagicSoft/Mars/mjobs/MJPedestal.h
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 4694)
+++ /trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 4695)
@@ -42,5 +42,5 @@
     TEnv       *fEnv;           // Input setup-file
     MRunIter   *fRuns;          // Used pedestal runs
-    MSequence  *fSequence;      // Sequence
+    const MSequence  *fSequence;      // Sequence
 
     MExtractor *fExtractor;     // Signal extractor, used to find the nr. of used FADC slices
@@ -84,5 +84,5 @@
     void SetExtractor(MExtractor* ext) { fExtractor = ext; }
     void SetInput(MRunIter *iter) { fRuns = iter; }
-    void SetSequence(MSequence *seq, Bool_t usedata=kFALSE) { fSequence = seq; }
+    void SetSequence(const MSequence *seq, Bool_t usedata=kFALSE) { fSequence = seq; }
     void SetOutputPath(const char *path=".");
     void SetEnv(const char *env);
Index: /trunk/MagicSoft/Mars/mjobs/MSequence.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MSequence.cc	(revision 4694)
+++ /trunk/MagicSoft/Mars/mjobs/MSequence.cc	(revision 4695)
@@ -63,17 +63,24 @@
 }
 
-void MSequence::SetupRuns(MDirIter &iter, const TArrayI &arr) const
+void MSequence::SetupRuns(MDirIter &iter, const TArrayI &arr, const char *path) const
 {
+    TString d(path);
+
+    // Setup path
+    if (!path)
+    {
+        d  = Form("/data/MAGIC/Period%03d/rootdata/", fPeriod);
+        d += fNight.GetStringFmt("%Y_%m_%d");
+    }
+
     for (int i=0; i<arr.GetSize(); i++)
     {
-        TString d, n;
-        d  = "/data/MAGIC/Period";
-        d += Form("%03d", fPeriod);
-        d += "/rootdata/";
-        d += fNight.GetStringFmt("%Y_%m_%d");
+        TString n;
+
+        // Create file name
         n =  fNight.GetStringFmt("%Y%m%d_");
-        n += Form("%05d", arr[i]);
-        n += "_*_E.root";
+        n += Form("%05d_*_E.root", arr[i]);
 
+        // Add Path/File to TIter
         iter.AddDirectory(d, n, 0);
     }
@@ -146,21 +153,21 @@
 }
 
-void MSequence::SetupPedRuns(MDirIter &iter) const
+void MSequence::SetupPedRuns(MDirIter &iter, const char *path) const
 {
-    SetupRuns(iter, fPedRuns);
+    SetupRuns(iter, fPedRuns, path);
 }
 
-void MSequence::SetupDatRuns(MDirIter &iter) const
+void MSequence::SetupDatRuns(MDirIter &iter, const char *path) const
 {
-    SetupRuns(iter, fDatRuns);
+    SetupRuns(iter, fDatRuns, path);
 }
 
-void MSequence::SetupAllRuns(MDirIter &iter) const
+void MSequence::SetupAllRuns(MDirIter &iter, const char *path) const
 {
-    SetupRuns(iter, fRuns);
+    SetupRuns(iter, fRuns, path);
 }
 
-void MSequence::SetupCalRuns(MDirIter &iter) const
+void MSequence::SetupCalRuns(MDirIter &iter, const char *path) const
 {
-    SetupRuns(iter, fCalRuns);
+    SetupRuns(iter, fCalRuns, path);
 }
Index: /trunk/MagicSoft/Mars/mjobs/MSequence.h
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MSequence.h	(revision 4694)
+++ /trunk/MagicSoft/Mars/mjobs/MSequence.h	(revision 4695)
@@ -36,5 +36,5 @@
 
     void Split(TString &runs, TArrayI &data) const;
-    void SetupRuns(MDirIter &iter, const TArrayI &arr) const;
+    void SetupRuns(MDirIter &iter, const TArrayI &arr, const char *path) const;
 
 public:
@@ -43,8 +43,8 @@
     void Print(Option_t *o="") const;
 
-    void SetupPedRuns(MDirIter &iter) const;
-    void SetupDatRuns(MDirIter &iter) const;
-    void SetupAllRuns(MDirIter &iter) const;
-    void SetupCalRuns(MDirIter &iter) const;
+    void SetupPedRuns(MDirIter &iter, const char *path=0) const;
+    void SetupDatRuns(MDirIter &iter, const char *path=0) const;
+    void SetupAllRuns(MDirIter &iter, const char *path=0) const;
+    void SetupCalRuns(MDirIter &iter, const char *path=0) const;
 
     // Getter
Index: /trunk/MagicSoft/Mars/mjobs/Makefile
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/Makefile	(revision 4694)
+++ /trunk/MagicSoft/Mars/mjobs/Makefile	(revision 4695)
@@ -28,4 +28,5 @@
 	   MJPedestal.cc \
            MJCalibration.cc \
+           MJCalibrateSignal.cc \
            MJExtractSignal.cc \
            MJExtractCalibTest.cc
