Index: /trunk/Mars/mjobs/MSequence.h
===================================================================
--- /trunk/Mars/mjobs/MSequence.h	(revision 12795)
+++ /trunk/Mars/mjobs/MSequence.h	(revision 12796)
@@ -20,21 +20,25 @@
 
     enum FileExt_t {
-        kRaw   =BIT(0),
-        kRoot  =BIT(1),
-        kReport=BIT(2),
-        kCer   =BIT(3),  // Corsika files
+        kRaw    =BIT(0),
+        kRoot   =BIT(1),
+        kReport =BIT(2),
+        kCer    =BIT(3),  // Corsika files
+        kFits   =BIT(4),
+        kDrs    =BIT(5),
     };
     enum RunType_t {
-        kPed   =BIT(4),  // Don't use overlapping bits!
-        kCal   =BIT(5),
-        kDat   =BIT(6),
-        kExcl  =BIT(7),
-        kAll   =kPed|kDat|kCal,
-        kImage =BIT(8),
-        kCalib =BIT(9)
+        kPed    =BIT(6),  // Don't use overlapping bits!
+        kCal    =BIT(7),
+        kDat    =BIT(8),
+        kExcl   =BIT(9),
+        kAll    =kPed|kDat|kCal,
+        kImage  =BIT(10),
+        kCalib  =BIT(11),
+        kDrsRun =BIT(12),
+        kDrsFile=BIT(13),
     };
 
-    enum { kRunType   = kPed|kCal|kDat|kImage|kCalib };
-    enum { kFileType  = kRaw|kRoot|kReport|kCer };
+    enum { kRunType   = kPed|kCal|kDat|kImage|kCalib|kDrsRun|kDrsFile };
+    enum { kFileType  = kRaw|kRoot|kReport|kCer|kDrs|kFits };
     enum { kFilePaths = kFileType|kImage|kCalib };
 
@@ -43,4 +47,9 @@
         kRawPed     = kRaw   |kPed,
         kRawCal     = kRaw   |kCal,
+        kFitsPed    = kFits  |kPed,
+        kFitsCal    = kFits  |kCal,
+        kFitsDat    = kFits  |kDat,
+        kFitsDrs    = kFits  |kDrsFile,
+        kRawDrs     = kDrs   |kDrsFile,
         kRawAll     = kRaw   |kAll,
         kRootDat    = kRoot  |kDat,
@@ -72,4 +81,6 @@
     MTime  fNight;             // Night (day of sunrise) of the sequence
 
+    UInt_t fDrsSequence;       // Corresponding DRS sequence
+
     LightCondition_t fLightCondition;
 
@@ -91,4 +102,10 @@
     TArrayI fDatRuns;         // Numbers of data runs/files
     TArrayI fDatRunsSub;      // Sub runs (files) of data runs
+
+    TArrayI fDrsRuns;         // Numbers of drs pedestal runs/files
+    TArrayI fDrsRunsSub;      // Sub runs (files) of drs pedestal runs
+
+    TArrayI fDrsFiles;        // Runs for which DRS files exist
+    TArrayI fDrsFilesSub;     // Sub runs (files) of DRS files runs
 
     TArrayI fExclRuns;        // Numbers of excluded runs/files
@@ -124,5 +141,5 @@
 
     // General helper
-    Bool_t  HasSubRuns() const { return fRunsSub.GetSize()!=0 || fDatRunsSub.GetSize()!=0 || fPedRunsSub.GetSize()!=0 || fCalRunsSub.GetSize()!=0 || fExclRunsSub.GetSize()!=0; }
+    Bool_t  HasSubRuns() const { return fRunsSub.GetSize()!=0 || fDatRunsSub.GetSize()!=0 || fPedRunsSub.GetSize()!=0 || fCalRunsSub.GetSize()!=0 || fDrsRunsSub.GetSize()!=0 || fDrsFilesSub.GetSize()!=0 || fExclRunsSub.GetSize()!=0; }
     Bool_t  IsContained(const TArrayI &arr, const TArrayI &sub, UInt_t num, UInt_t file) const;
 
@@ -154,5 +171,7 @@
         fCalRunsSub(s.fCalRunsSub), fPedRuns(s.fPedRuns),
         fPedRunsSub(s.fPedRunsSub), fDatRuns(s.fDatRuns),
-        fDatRunsSub(s.fDatRunsSub), fExclRuns(s.fExclRuns),
+        fDatRunsSub(s.fDatRunsSub), fDrsRuns(s.fDrsRuns),
+        fDrsRunsSub(s.fDrsRunsSub), fDrsFiles(s.fDrsFiles),
+        fDrsFilesSub(s.fDrsFilesSub), fExclRuns(s.fExclRuns),
         fExclRunsSub(s.fExclRunsSub), fMonteCarlo(s.fMonteCarlo) { }
 
@@ -168,4 +187,5 @@
     Bool_t WriteFile(const char *filename) const { return WriteFile(filename,""); } //*MENU *ARGS={filename=>fBaseName}
     Bool_t SetDataPath(const char *path="");
+    void   SetDrsSequence(UInt_t seq=0) { fDrsSequence = seq; }
 
     // TObject
@@ -178,5 +198,5 @@
     Bool_t IsMonteCarlo() const { return fMonteCarlo; }
     Bool_t IsExcluded(UInt_t run, UInt_t file) const { return IsContained(fExclRuns, fExclRunsSub, run, file); }
-    Bool_t IsContained(UInt_t run, UInt_t file) const { return IsContained(fCalRuns, fCalRunsSub, run, file) || IsContained(fPedRuns, fPedRunsSub, run, file) || IsContained(fDatRuns, fDatRunsSub, run, file); }
+    Bool_t IsContained(UInt_t run, UInt_t file) const { return IsContained(fCalRuns, fCalRunsSub, run, file) || IsContained(fPedRuns, fPedRunsSub, run, file) || IsContained(fDatRuns, fDatRunsSub, run, file) || IsContained(fDrsRuns, fDrsRunsSub, run, file); }
 
     // Setter
@@ -200,4 +220,6 @@
     UInt_t GetLastRun() const  { return fLastRun; }
     UInt_t GetPeriod() const   { return fPeriod; }
+    UInt_t GetDrsSequence() const { return fDrsSequence; }
+    UInt_t GetDrsFile() const;
     Bool_t HasMoon() const { return fLightCondition==kMoon; }
 
@@ -238,5 +260,5 @@
     static TString InflateFilePath(const MTime &night, Bool_t mc=kFALSE);
 
-    ClassDef(MSequence, 6) // Describes a sequences, reads and writes sequence files
+    ClassDef(MSequence, 7) // Describes a sequences, reads and writes sequence files
 };
 
