Index: external/fastjet/RectangularGrid.cc
===================================================================
--- external/fastjet/RectangularGrid.cc	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/RectangularGrid.cc	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -1,4 +1,4 @@
 //FJSTARTHEADER
-// $Id$
+// $Id: RectangularGrid.cc 3771 2014-12-22 21:13:22Z salam $
 //
 // Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
Index: external/fastjet/RectangularGrid.hh
===================================================================
--- external/fastjet/RectangularGrid.hh	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/RectangularGrid.hh	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -3,5 +3,5 @@
 
 //FJSTARTHEADER
-// $Id$
+// $Id: RectangularGrid.hh 3771 2014-12-22 21:13:22Z salam $
 //
 // Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
@@ -42,6 +42,4 @@
 class TilingBase {
 public:
-  virtual ~TilingBase() {}
-
   /// returns the index of the tile in which p is located, or -1 if p
   /// is outside the tiling region
@@ -81,4 +79,7 @@
   virtual bool is_initialised() const = 0;
   bool is_initialized() const {return is_initialised();}
+
+  /// virtual destructor
+  virtual ~TilingBase() {}
 };
 
@@ -165,5 +166,7 @@
   // a tile selector
   Selector _tile_selector;
-  // a cached 
+  // if there's a tile selector, then for each tile, this caches the
+  // information about whether it is "good" i.e. it passes the tile
+  // selector
   std::vector<bool> _is_good;
   
Index: external/fastjet/VERSION
===================================================================
--- external/fastjet/VERSION	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/VERSION	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -1,1 +1,1 @@
-3.1.0
+3.1.1
Index: external/fastjet/config_auto.h
===================================================================
--- external/fastjet/config_auto.h	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/config_auto.h	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -151,5 +151,5 @@
 /* Define to the full name and version of this package. */
 #ifndef FASTJET_PACKAGE_STRING 
-#define FASTJET_PACKAGE_STRING  "FastJet 3.1.0" 
+#define FASTJET_PACKAGE_STRING  "FastJet 3.1.1" 
 #endif
 
@@ -161,5 +161,5 @@
 /* Define to the version of this package. */
 #ifndef FASTJET_PACKAGE_VERSION 
-#define FASTJET_PACKAGE_VERSION  "3.1.0" 
+#define FASTJET_PACKAGE_VERSION  "3.1.1" 
 #endif
 
@@ -171,5 +171,5 @@
 /* Version number of package */
 #ifndef FASTJET_VERSION 
-#define FASTJET_VERSION  "3.1.0" 
+#define FASTJET_VERSION  "3.1.1" 
 #endif
 
@@ -186,10 +186,10 @@
 /* Version of the package under the form XYYZZ (instead of X.Y.Z) */
 #ifndef FASTJET_VERSION_NUMBER 
-#define FASTJET_VERSION_NUMBER  30100 
+#define FASTJET_VERSION_NUMBER  30101 
 #endif
 
 /* Patch version of this package */
 #ifndef FASTJET_VERSION_PATCHLEVEL 
-#define FASTJET_VERSION_PATCHLEVEL  0 
+#define FASTJET_VERSION_PATCHLEVEL  1 
 #endif
 
Index: external/fastjet/config_raw.h
===================================================================
--- external/fastjet/config_raw.h	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/config_raw.h	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -92,5 +92,5 @@
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "FastJet 3.1.0"
+#define PACKAGE_STRING "FastJet 3.1.1"
 
 /* Define to the one symbol short name of this package. */
@@ -98,5 +98,5 @@
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "3.1.0"
+#define PACKAGE_VERSION "3.1.1"
 
 /* Define to 1 if you have the ANSI C header files. */
@@ -104,5 +104,5 @@
 
 /* Version number of package */
-#define VERSION "3.1.0"
+#define VERSION "3.1.1"
 
 /* Major version of this package */
@@ -113,8 +113,8 @@
 
 /* Version of the package under the form XYYZZ (instead of X.Y.Z) */
-#define VERSION_NUMBER 30100
+#define VERSION_NUMBER 30101
 
 /* Patch version of this package */
-#define VERSION_PATCHLEVEL 0
+#define VERSION_PATCHLEVEL 1
 
 /* Pre-release version of this package */
Index: external/fastjet/config_win.h
===================================================================
--- external/fastjet/config_win.h	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/config_win.h	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -1,9 +1,9 @@
-#define FASTJET_PACKAGE_STRING  "FastJet 3.1.0"
-#define FASTJET_PACKAGE_VERSION  "3.1.0"
-#define FASTJET_VERSION  "3.1.0"
+#define FASTJET_PACKAGE_STRING  "FastJet 3.1.1"
+#define FASTJET_PACKAGE_VERSION  "3.1.1"
+#define FASTJET_VERSION  "3.1.1"
 #define FASTJET_VERSION_MAJOR       3
 #define FASTJET_VERSION_MINOR       1
-#define FASTJET_VERSION_PATCHLEVEL  0
-#define FASTJET_VERSION_NUMBER      30100
+#define FASTJET_VERSION_PATCHLEVEL  1
+#define FASTJET_VERSION_NUMBER      30101
 
 /* The ATLASCone plugin is disabled by default*/
Index: external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh
===================================================================
--- external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -32,5 +32,5 @@
 //FJENDHEADER
 
-#include "fastjet/internal/base.hh" // namespace macros (include explicitly to help Doxygen)
+#include "fastjet/internal/base.hh"     // namespace macros (include explicitly to help Doxygen)
 #include "D0RunIBaseConePlugin.hh"
 
Index: external/fastjet/plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh
===================================================================
--- external/fastjet/plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -32,5 +32,5 @@
 //FJENDHEADER
 
-#include "fastjet/internal/base.hh" // namespace macros (include explicitly to help Doxygen)
+#include "fastjet/internal/base.hh"     // namespace macros (include explicitly to help Doxygen)
 #include "D0RunIBaseConePlugin.hh"
 
Index: external/fastjet/tools/Filter.cc
===================================================================
--- external/fastjet/tools/Filter.cc	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/tools/Filter.cc	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -1,4 +1,4 @@
 //FJSTARTHEADER
-// $Id: Filter.cc 3633 2014-08-15 13:23:52Z soyez $
+// $Id: Filter.cc 3760 2014-12-19 10:05:10Z soyez $
 //
 // Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
@@ -164,6 +164,6 @@
   if ((ca_optimisation_used) && (kept.size()+rejected.size()>0)){
     bool has_non_explicit_ghost_area = (kept.size()>0)
-      ? (kept[0].has_area()     && kept[0].validated_csab()->has_explicit_ghosts())
-      : (rejected[0].has_area() && rejected[0].validated_csab()->has_explicit_ghosts());
+      ? (kept[0].has_area()     && (!(kept[0].validated_csab()->has_explicit_ghosts())))
+      : (rejected[0].has_area() && (!(rejected[0].validated_csab()->has_explicit_ghosts())));
     if (has_non_explicit_ghost_area)
       fs->discard_area();
Index: external/fastjet/tools/GridMedianBackgroundEstimator.hh
===================================================================
--- external/fastjet/tools/GridMedianBackgroundEstimator.hh	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/tools/GridMedianBackgroundEstimator.hh	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -3,5 +3,5 @@
 
 //FJSTARTHEADER
-// $Id: GridMedianBackgroundEstimator.hh 3610 2014-08-13 09:49:28Z salam $
+// $Id: GridMedianBackgroundEstimator.hh 3778 2014-12-24 09:28:09Z salam $
 //
 // Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
@@ -77,5 +77,5 @@
 class GridMedianBackgroundEstimator : public BackgroundEstimatorBase
 #ifdef FASTJET_GMBGE_USEFJGRID
-                                                                    , public RectangularGrid
+                                    , public RectangularGrid
 #endif 
 {
@@ -94,10 +94,22 @@
     _has_particles(false), _enable_rho_m(true) {} 
 
-  /// ctor with more control over initialisation
+  //----------------------------------------------------------------
+  /// Constructor based on a user's fully specified RectangularGrid
+  GridMedianBackgroundEstimator(const RectangularGrid & grid) :
+    RectangularGrid(grid),
+    _has_particles(false), _enable_rho_m(true) {
+    if (!RectangularGrid::is_initialised()) 
+      throw Error("attempt to construct GridMedianBackgroundEstimator with uninitialised RectangularGrid");
+  }    
+
+  //---------------------------------------------------------------- 
+  /// Constructor with the explicit parameters for the underlying
+  /// RectangularGrid
+  ///
   ///  \param rapmin         the minimum rapidity extent of the grid
   ///  \param rapmax         the maximum rapidity extent of the grid
   ///  \param drap           the grid spacing in rapidity
   ///  \param dphi           the grid spacing in azimuth
-  ///  \param tile_selector  optional (geometric) selector to specify
+  ///  \param tile_selector  optional (geometric) selector to specify 
   ///                        which tiles are good; a tile is good if
   ///                        a massless 4-vector at the center of the tile passes
@@ -107,13 +119,4 @@
     RectangularGrid(rapmin_in, rapmax_in, drap_in, dphi_in, tile_selector),
     _has_particles(false), _enable_rho_m(true) {}
-
-  //----------------------------------------------------------------
-  /// Constructor based on a user's fully specified RectangularGrid
-  GridMedianBackgroundEstimator(const RectangularGrid & grid) :
-    RectangularGrid(grid),
-    _has_particles(false), _enable_rho_m(true) {
-    if (!RectangularGrid::is_initialised()) 
-      throw Error("attempt to construct GridMedianBackgroundEstimator with uninitialised RectangularGrid");
-  }    
 
 #else  // alternative in old framework where we didn't have the rectangular grid
Index: external/fastjet/tools/Recluster.hh
===================================================================
--- external/fastjet/tools/Recluster.hh	(revision 51cabe807d54e16eeeb3da06dff7a63a8a206c64)
+++ external/fastjet/tools/Recluster.hh	(revision 2b3ef28c545a94f999f62ef4cfde37b0dfdb710d)
@@ -2,5 +2,5 @@
 #define __FASTJET_TOOLS_RECLUSTER_HH__
 
-// $Id: Recluster.hh 3714 2014-09-30 09:47:31Z soyez $
+// $Id: Recluster.hh 3760 2014-12-19 10:05:10Z soyez $
 //
 // Copyright (c) 2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
@@ -50,5 +50,5 @@
 /// Alternatively, Recluster can be constructed from a jet algorithm
 /// and an optional radius. In that case the recombiner is
-/// systematically obtained fromn the jet being processed (unless you
+/// systematically obtained from the jet being processed (unless you
 /// call set_acquire_recombiner(false)). If only the jet algorithm is
 /// specified, a default radius of max_allowable_R will be assumed if
@@ -124,5 +124,5 @@
   /// parameter (like the genkt algorithm), please specify the jet
   /// definition fully using the constructor above.
-  Recluster(JetAlgorithm snew_jet_alg, double new_jet_radius, Keep keep_in = keep_only_hardest);
+  Recluster(JetAlgorithm new_jet_alg, double new_jet_radius, Keep keep_in = keep_only_hardest);
 
   /// constructor with just a jet algorithm, but no jet radius. If the
