Index: trunk/MagicSoft/Mars/mjobs/MJob.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJob.h	(revision 6148)
+++ trunk/MagicSoft/Mars/mjobs/MJob.h	(revision 6149)
@@ -18,6 +18,13 @@
     Bool_t      fEnvDebug;    // Debug setup of resources
 
+    enum DataType_t {
+      kIsRawData,
+      kIsRootData,
+      kIsMC
+    };
+
 protected:
 
+    Byte_t    fDataFlag;      // Bit-field to store the data type
     TString   fPathOut;       // Directory to write output file to (eg. calib*.root)
     TString   fPathIn;        // Directory to read output from (eg. calib*.root)
@@ -28,4 +35,12 @@
 
     MSequence fSequence;      // Sequence
+
+    Bool_t IsRawData()  const { return TESTBIT(fDataFlag,kIsRawData);  }
+    Bool_t IsRootData() const { return TESTBIT(fDataFlag,kIsRootData); }
+    Bool_t IsMC()       const { return TESTBIT(fDataFlag,kIsMC);       }
+
+    void   SetRawData ( const Bool_t b=kTRUE )  { b ? SETBIT(fDataFlag,kIsRawData)  : CLRBIT(fDataFlag,kIsRawData);  }
+    void   SetRootData( const Bool_t b=kTRUE )  { b ? SETBIT(fDataFlag,kIsRootData) : CLRBIT(fDataFlag,kIsRootData); }
+    void   SetMC      ( const Bool_t b=kTRUE )  { b ? SETBIT(fDataFlag,kIsMC)       : CLRBIT(fDataFlag,kIsMC);       }
 
     const TEnv *GetEnv() const { return fEnv; }
Index: trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.cc
===================================================================
--- trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.cc	(revision 6148)
+++ trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilterPeakSearch.cc	(revision 6149)
@@ -394,15 +394,17 @@
     return kTRUE;
 
-  const Int_t higainfailure = (fHiGainOutOfRangeLeft+fHiGainOutOfRangeRight)/GetNumExecutions()*100;
-  const Int_t logainfailure = (fLoGainOutOfRangeLeft+fLoGainOutOfRangeRight)/GetNumExecutions()*100;
+  *fLog << endl;
+
+  const Int_t higainfailure = ((fHiGainOutOfRangeLeft+fHiGainOutOfRangeRight)*100)/GetNumExecutions();
+  const Int_t logainfailure = ((fLoGainOutOfRangeLeft+fLoGainOutOfRangeRight)*100)/GetNumExecutions();
 
   if (fHiGainOutOfRangeLeft > 0)
-    *fLog << warn << GetDescriptor() << ": " << fHiGainOutOfRangeLeft/GetNumExecutions()*100 << "% ranging out of high-gain window to the left!" << endl;
+    *fLog << warn << GetDescriptor() << ": " << fHiGainOutOfRangeLeft*100/GetNumExecutions() << "% ranging out of high-gain window to the left!" << endl;
   if (fHiGainOutOfRangeRight > 0)
-    *fLog << warn << GetDescriptor() << ": " << fHiGainOutOfRangeRight/GetNumExecutions()*100 << "% ranging out of high-gain window to the right!" << endl;
+    *fLog << warn << GetDescriptor() << ": " << fHiGainOutOfRangeRight*100/GetNumExecutions() << "% ranging out of high-gain window to the right!" << endl;
   if (fLoGainOutOfRangeLeft > 0)
-    *fLog << warn << GetDescriptor() << ": " << fLoGainOutOfRangeLeft/GetNumExecutions()*100 << "% ranging out of low-gain window to the left!" << endl;
+    *fLog << warn << GetDescriptor() << ": " << fLoGainOutOfRangeLeft*100/GetNumExecutions() << "% ranging out of low-gain window to the left!" << endl;
   if (fHiGainOutOfRangeRight > 0)
-    *fLog << warn << GetDescriptor() << ": " << fHiGainOutOfRangeRight/GetNumExecutions()*100 << "% ranging out of high-gain window to the right!" << endl;
+    *fLog << warn << GetDescriptor() << ": " << fHiGainOutOfRangeRight*100/GetNumExecutions() << "% ranging out of high-gain window to the right!" << endl;
 
   
