Index: trunk/MagicSoft/Mars/mfbase/MFilterList.cc
===================================================================
--- trunk/MagicSoft/Mars/mfbase/MFilterList.cc	(revision 3682)
+++ trunk/MagicSoft/Mars/mfbase/MFilterList.cc	(revision 3788)
@@ -38,10 +38,15 @@
 // invert the meaning of a filter, by eg:
 //
-//   MF anyfilter("MHillas.fAlpha");
-//
-//   MFilterList alist;
-//   alist.AddToList(&anyfilter);
-//
-//   alist.SetInverted();
+//    MF anyfilter("MHillas.fAlpha");
+//
+//    MFilterList alist;
+//    alist.AddToList(&anyfilter);
+//
+//    alist.SetInverted();
+//
+//  or do
+//
+//    MFilterList alist(&anyfilter);
+//
 //
 // Adding the filterlist to the eventloop will process all contained filters.
@@ -72,5 +77,20 @@
 // --------------------------------------------------------------------------
 //
-//   Constructor.
+// Wrapper to simplify constructors.
+//
+void MFilterList::Init(const char *name, const char *title)
+{
+    fName  = name  ? name  : gsDefName.Data();
+    fTitle = title ? title : gsDefTitle.Data();
+
+    gROOT->GetListOfCleanups()->Add(&fFilters);
+    fFilters.SetBit(kMustCleanup);
+
+    fFilterType = kEAnd;
+}
+
+// --------------------------------------------------------------------------
+//
+//   Default Constructor.
 //
 //   Specify the boolean operation which is used to evaluate the
@@ -91,11 +111,5 @@
 MFilterList::MFilterList(const char *type, const char *name, const char *title)
 {
-    fName  = name  ? name  : gsDefName.Data();
-    fTitle = title ? title : gsDefTitle.Data();
-
-    gROOT->GetListOfCleanups()->Add(&fFilters);
-    fFilters.SetBit(kMustCleanup);
-
-    fFilterType = kEAnd;
+    Init(name, title);
 
     TString str(type);
@@ -113,4 +127,21 @@
 // --------------------------------------------------------------------------
 //
+//   Constructor.
+//
+// Setup an '&&' filter list, adds the filter to the list and
+// call MFilterList::SetInverted()
+//
+// To be used as a logical NOT.
+//
+MFilterList::MFilterList(MFilter *f, const char *name, const char *title)
+{
+    Init(name, title);
+
+    SetInverted();
+    AddToList(f);
+}
+
+// --------------------------------------------------------------------------
+//
 //   CopyConstructor
 //
Index: trunk/MagicSoft/Mars/mfbase/MFilterList.h
===================================================================
--- trunk/MagicSoft/Mars/mfbase/MFilterList.h	(revision 3682)
+++ trunk/MagicSoft/Mars/mfbase/MFilterList.h	(revision 3788)
@@ -31,6 +31,9 @@
     void StreamPrimitive(ofstream &out) const;
 
+    void Init(const char *name, const char *title);
+
 public:
     MFilterList(const char *type="&&", const char *name=NULL, const char *title=NULL);
+    MFilterList(MFilter *f, const char *name=NULL, const char *title=NULL);
     MFilterList(MFilterList &ts);
     ~MFilterList()
