Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 8786)
+++ trunk/MagicSoft/Mars/Changelog	(revision 8787)
@@ -37,4 +37,8 @@
    * mtrigger/MTriggerPattern.[h,cc]:
      - a new bit implemented for the sum-trigger
+
+   * datacenter/compmux:
+     - removed this BINARY. There is no way and it doesn't make any sense
+       (except in a few exceptional cases) to put binaries into the cvs
 
 
Index: trunk/MagicSoft/Mars/NEWS
===================================================================
--- trunk/MagicSoft/Mars/NEWS	(revision 8786)
+++ trunk/MagicSoft/Mars/NEWS	(revision 8787)
@@ -24,7 +24,14 @@
 * Sequence files now allow for excluding runs from the analysis
 (for more details see Class reference of MSequence)
+* added code to process the sum-trigger flag
+
+;callisto
+* in the pedestal processing now at least 50 processed events are
+required for succeeding.
+
 ;ganymed/sponde
 * Now data points are even shown correctly if they have error bars larger
 than one sigma. Points with null or negative significances are omitted.
+
 ;sponde
 *fixed resource files ('''Spectrum''' instead of '''MJSpectrum''')
Index: trunk/MagicSoft/Mars/callisto.rc
===================================================================
--- trunk/MagicSoft/Mars/callisto.rc	(revision 8786)
+++ trunk/MagicSoft/Mars/callisto.rc	(revision 8787)
@@ -287,4 +287,7 @@
 #MJPedestalY2.UseData: Yes
 #MJPedestalY3.UseData: Yes
+#MJPedestalY1.MinEvents: 50
+#MJPedestalY2.MinEvents: 50
+#MJPedestalY3.MinEvents: 50
 MJPedestalY1.MaxEvents: 500
 MJPedestalY2.MaxEvents: 5000
Index: trunk/MagicSoft/Mars/callisto_Dec04Jan05.rc
===================================================================
--- trunk/MagicSoft/Mars/callisto_Dec04Jan05.rc	(revision 8786)
+++ trunk/MagicSoft/Mars/callisto_Dec04Jan05.rc	(revision 8787)
@@ -316,4 +316,7 @@
 #MJPedestalY2.UseData: Yes
 #MJPedestalY3.UseData: Yes
+#MJPedestalY1.MinEvents: 50
+#MJPedestalY2.MinEvents: 50
+#MJPedestalY3.MinEvents: 50
 MJPedestalY1.MaxEvents: 500
 MJPedestalY2.MaxEvents: 5000
Index: trunk/MagicSoft/Mars/callisto_mux.rc
===================================================================
--- trunk/MagicSoft/Mars/callisto_mux.rc	(revision 8786)
+++ trunk/MagicSoft/Mars/callisto_mux.rc	(revision 8787)
@@ -312,4 +312,7 @@
 #MJPedestalY2.UseData: Yes
 #MJPedestalY3.UseData: Yes
+#MJPedestalY1.MinEvents: 50
+#MJPedestalY2.MinEvents: 50
+#MJPedestalY3.MinEvents: 50
 MJPedestalY1.MaxEvents:  3500
 MJPedestalY2.MaxEvents: 30000
Index: trunk/MagicSoft/Mars/mhflux/MHAlpha.cc
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 8786)
+++ trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 8787)
@@ -121,4 +121,5 @@
     fHTheta.SetDirectory(NULL);
     fHTheta.UseCurrentStyle();
+    fHTheta.SetMinimum(0);
 
     // effective on time versus time
@@ -133,4 +134,5 @@
     fHTime.GetXaxis()->SetTimeFormat("%H:%M:%S %F1995-01-01 00:00:00 GMT");
     fHTime.GetXaxis()->SetTimeDisplay(1);
+    fHTime.SetMinimum(0);
     fHTime.Sumw2();
 
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 8786)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 8787)
@@ -19,5 +19,5 @@
 !   Author(s): Markus Gaug, 4/2004 <mailto:markus@ifae.es>
 !
-!   Copyright: MAGIC Software Development, 2000-2005
+!   Copyright: MAGIC Software Development, 2000-2007
 !
 !
@@ -29,4 +29,7 @@
 //
 // Resource file entries are case sensitive!
+//
+// We require at least fMinEvents (def=50) to be processed by the
+// ExtractPedestal-task. If not an error is returned.
 //
 /////////////////////////////////////////////////////////////////////////////
@@ -118,5 +121,5 @@
     : fExtractor(NULL), fDisplayType(kDisplayDataCheck),
     fExtractType(kUsePedRun), fExtractionType(kFundamental),
-    fIsUseHists(kFALSE), fDeadPixelCheck(kFALSE)
+    fIsUseHists(kFALSE), fDeadPixelCheck(kFALSE), fMinEvents(50)
 {
     fName  = name  ? name  : "MJPedestal";
@@ -761,4 +764,6 @@
     SetExtractWinRight(GetEnv("ExtractWinRight", fExtractWinRight));
 
+    SetMinEvents(GetEnv("MinEvents", (Int_t)fMinEvents));
+
     if (!MJCalib::CheckEnvLocal())
         return kFALSE;
@@ -1252,4 +1257,10 @@
     }
 
+    if (taskenv.GetNumExecutions()<fMinEvents)
+    {
+        *fLog << err << GetDescriptor() << ": Failed. Less than the required " << fMinEvents << " evts processed." << endl;
+        return kFALSE;
+    }
+
     if (fDeadPixelCheck)
     {
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 8786)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 8787)
@@ -51,8 +51,8 @@
     Float_t fExtractWinLeft;                 //  Number of FADC slices to extract leftward from mean pulse pos.  
     Float_t fExtractWinRight;                //  Number of FADC slices to extract rightward from mean pulse pos.
-    
+
     TString fReferenceFile;                  // File name containing the reference values
     TString fBadPixelsFile;                  // File name containing the bad pixels excluded beforehand 
-    
+
     MExtractor *fExtractor;                  // Signal extractor, used to find the nr. of used FADC slices
 
@@ -73,4 +73,6 @@
     Bool_t fIsUseHists;                      // Switch on histogramming or not
     Bool_t fDeadPixelCheck;                  // Should the dead pixel check be done?
+
+    UInt_t  fMinEvents;                      // Minimum number of events
 
     MExtractor *ReadCalibration();
@@ -93,5 +95,5 @@
 
     Bool_t WriteExtractor() const;
-    
+
 public:
     MJPedestal(const char *name=NULL, const char *title=NULL);
@@ -128,4 +130,6 @@
     void SetExtractWinRight( const Float_t f=fgExtractWinRight ) { fExtractWinRight = f; }    
 
+    void SetMinEvents(UInt_t min) { fMinEvents = min; }
+
     MExtractor *GetExtractor() const { return fExtractor; }
 
Index: trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.cc
===================================================================
--- trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.cc	(revision 8786)
+++ trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.cc	(revision 8787)
@@ -19,5 +19,5 @@
 !   Author(s): Thomas Bretz  12/2004 <mailto:tbretz@astro.uni-wuerzburg.de>
 !
-!   Copyright: MAGIC Software Development, 2004
+!   Copyright: MAGIC Software Development, 2004-2007
 !
 \* ======================================================================== */
@@ -135,4 +135,9 @@
 }
 
+void MFTriggerPattern::RequireSumTrigger(Prescale_t prescaled)
+{
+    prescaled==kPrescaled ? (fMaskRequiredPrescaled |= MTriggerPattern::kSumTrigger)  : (fMaskRequiredUnprescaled |= MTriggerPattern::kSumTrigger);
+}
+
 
 void MFTriggerPattern::DenyTriggerLvl1(Prescale_t prescaled)
@@ -159,4 +164,9 @@
 {
     prescaled==kPrescaled ? (fMaskDeniedPrescaled |= MTriggerPattern::kPinDiode)    : (fMaskDeniedUnprescaled |= MTriggerPattern::kPinDiode);
+}
+
+void MFTriggerPattern::DenySumTrigger(Prescale_t prescaled)
+{
+    prescaled==kPrescaled ? (fMaskDeniedPrescaled |= MTriggerPattern::kSumTrigger)  : (fMaskDeniedUnprescaled |= MTriggerPattern::kSumTrigger);
 }
 
@@ -222,4 +232,5 @@
 //           "PED"  : Pedestal flag
 //           "PIND" : Pin Diode flag
+//           "SUMT" : Sum Trigger flag
 // 
 // concatenations of these strings are allowed and considered as 
@@ -246,4 +257,7 @@
     if (patt.Contains("PIND", TString::kIgnoreCase))
         RequirePinDiode(prescaled);
+
+    if (patt.Contains("SUMT", TString::kIgnoreCase))
+        RequireSumTrigger(prescaled);
 }
 
@@ -261,4 +275,5 @@
 //           "PED"  : Pedestal flag
 //           "PIND" : Pin Diode flag
+//           "SUMT" : Sum Trigger flag
 // 
 // concatenations of these strings are allowed and considered as 
@@ -285,4 +300,7 @@
     if (patt.Contains("PIND", TString::kIgnoreCase))
         DenyPinDiode(prescaled);
+
+    if (patt.Contains("SUMT", TString::kIgnoreCase))
+        DenySumTrigger(prescaled);
 }
 
Index: trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.h
===================================================================
--- trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.h	(revision 8786)
+++ trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.h	(revision 8787)
@@ -18,5 +18,5 @@
 private:
   MTriggerPattern *fPattern;        //!
-  
+
   Byte_t fMaskRequiredPrescaled;    // Mask for filtering Trigger Pattern allowed
   Byte_t fMaskRequiredUnprescaled;  // Mask for filtering Trigger Pattern allowed
@@ -26,14 +26,14 @@
   Bool_t fDefault;                  // Default which is used if trigger pattern has default value (p==0&&u==0)
   Bool_t fResult;                   //!
-  
+
   Int_t PreProcess(MParList *pList);
   Int_t Process();
-  
+
   Bool_t IsExpressionTrue() const;
-  
+
 public:
   MFTriggerPattern(const char *name=NULL, const char *title=NULL);
   MFTriggerPattern(MFTriggerPattern &trigpatt);
-    
+
   void RequireTriggerLvl1(Prescale_t prescaled=kUnPrescaled);
   void RequireTriggerLvl2(Prescale_t prescaled=kUnPrescaled);
@@ -41,5 +41,6 @@
   void RequirePedestal(Prescale_t prescaled=kUnPrescaled);
   void RequirePinDiode(Prescale_t prescaled=kUnPrescaled);
-  
+  void RequireSumTrigger(Prescale_t prescaled=kUnPrescaled);
+
   void DenyTriggerLvl1(Prescale_t prescaled=kUnPrescaled);
   void DenyTriggerLvl2(Prescale_t prescaled=kUnPrescaled);
@@ -47,5 +48,6 @@
   void DenyPedestal(Prescale_t prescaled=kUnPrescaled);
   void DenyPinDiode(Prescale_t prescaled=kUnPrescaled);
-  
+  void DenySumTrigger(Prescale_t prescaled=kUnPrescaled);
+
   void Require(TString patt, Prescale_t prescaled=kUnPrescaled);
   void Deny(TString patt, Prescale_t prescaled=kUnPrescaled);
@@ -56,7 +58,7 @@
   void SetMaskRequired(const Byte_t mask, Prescale_t prescaled=kUnPrescaled);
   void SetMaskDenied(const Byte_t mask, Prescale_t prescaled=kUnPrescaled);
-  
+
   ClassDef(MFTriggerPattern, 1) // A Filter for the Trigger Pattern
 };
-    
+
 #endif
Index: trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.cc
===================================================================
--- trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.cc	(revision 8786)
+++ trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.cc	(revision 8787)
@@ -19,5 +19,5 @@
 !   Author(s): Thomas Bretz  12/2004 <mailto:nicola.galante@pi.infn.it>
 !
-!   Copyright: MAGIC Software Development, 2004
+!   Copyright: MAGIC Software Development, 2004-2007
 !
 \* ======================================================================== */
@@ -67,5 +67,5 @@
 // BIT(3):  prescaled Pedestal Trigger
 // BIT(4):  prescaled Pin Diode
-// BIT(5):  unused
+// BIT(5):  prescaled Sum Trigger
 // BIT(6):  unused
 // BIT(7):  unused
@@ -75,5 +75,5 @@
 // BIT(11): unprescaled Pedestal Trigger
 // BIT(12): unprescaled Pin Diode
-// BIT(13): unused
+// BIT(13): unprescaled Sum Trigger
 // BIT(14): unused
 // BIT(15): unused
Index: trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.h
===================================================================
--- trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.h	(revision 8786)
+++ trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.h	(revision 8787)
@@ -16,6 +16,6 @@
         kTriggerLvl2 = BIT(2), // LUT Pseudo Size selection
         kPedestal    = BIT(3),
-        kPinDiode    = BIT(4)
-        //kUnused      = BIT(5)
+        kPinDiode    = BIT(4),
+        kSumTrigger  = BIT(5)  // Flag for an event taken with sum trigger
         //kUnused      = BIT(6)
         //kUnused      = BIT(7)
