Index: external/fastjet/plugins/SISCone/siscone.cc
===================================================================
--- external/fastjet/plugins/SISCone/siscone.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/siscone.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,9 +21,16 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 403                                                          $//
-// $Date:: 2016-05-19 16:52:05 +0200 (Thu, 19 May 2016)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
+//#ifdef HAVE_CONFIG_H
 #include "config.h"
+//#else
+//#define PACKAGE_NAME "SISCone"
+//#define VERSION "1.4.0-devel"
+//#warning "No config.h file available, using preset values"
+//#endif
+
 #include "ranlux.h"
 #include "momentum.h"
@@ -80,5 +87,31 @@
 			   int _n_pass_max, double _ptmin,
 			   Esplit_merge_scale _split_merge_scale){
-  _initialise_if_needed();
+  // initialise random number generator
+  if (!init_done){
+    // initialise random number generator
+    ranlux_init();
+
+    // do not do this again
+    init_done=true;
+
+    // print the banner
+    if (_banner_ostr != 0){
+      (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
+      (*_banner_ostr) << "#                    SISCone   version " << setw(28) << left << siscone_version() << "o" << endl;
+      (*_banner_ostr) << "#              http://projects.hepforge.org/siscone                o" << endl;
+      (*_banner_ostr) << "#                                                                  o" << endl;
+      (*_banner_ostr) << "# This is SISCone: the Seedless Infrared Safe Cone Jet Algorithm   o" << endl;
+      (*_banner_ostr) << "# SISCone was written by Gavin Salam and Gregory Soyez             o" << endl;
+      (*_banner_ostr) << "# It is released under the terms of the GNU General Public License o" << endl;
+      (*_banner_ostr) << "#                                                                  o" << endl;
+      (*_banner_ostr) << "# A description of the algorithm is available in the publication   o" << endl;
+      (*_banner_ostr) << "# JHEP 05 (2007) 086 [arXiv:0704.0292 (hep-ph)].                   o" << endl;
+      (*_banner_ostr) << "# Please cite it if you use SISCone.                               o" << endl;
+      (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
+      (*_banner_ostr) << endl;
+
+      _banner_ostr->flush();
+    }
+  }
 
   // run some general safety tests (NB: f will be checked in split-merge)
@@ -141,66 +174,4 @@
 }
 
-
-/*
- * compute the jets from a given particle set doing multiple passes
- * such pass N looks for jets among all particles not put into jets
- * during previous passes.
- *  - _particles   list of particles
- *  - _radius      cone radius
- *  - _n_pass_max  maximum number of runs
- *  - _ptmin       minimum pT of the protojets
- *  - _ordering_scale    the ordering scale to decide which stable
- *                       cone is removed
- * return the number of jets found.
- **********************************************************************/
-int Csiscone::compute_jets_progressive_removal(vector<Cmomentum> &_particles, double _radius, 
-					       int _n_pass_max, double _ptmin,
-					       Esplit_merge_scale _ordering_scale){
-  _initialise_if_needed();
-
-  // run some general safety tests (NB: f will be checked in split-merge)
-  if (_radius <= 0.0 || _radius >= 0.5*M_PI) {
-    ostringstream message;
-    message << "Illegal value for cone radius, R = " << _radius 
-            << " (legal values are 0<R<pi/2)";
-    throw Csiscone_error(message.str());
-  }
-
-  ptcomparison.split_merge_scale = _ordering_scale;
-  partial_clear(); // make sure some things are initialised properly
-
-  // init the split_merge algorithm with the initial list of particles
-  // this initialises particle list p_left of remaining particles to deal with
-  //
-  // this stores the "processed" particles in p_uncol_hard
-  init_particles(_particles);
-  jets.clear();
-
-  bool unclustered_left;
-  rerun_allowed = false;
-  protocones_list.clear();
-
-  do{
-    //cout << n_left << " particle left" << endl; 
-
-    // initialise stable_cone finder
-    // here we use the list of remaining particles
-    // AFTER COLLINEAR CLUSTERING !!!!!!
-    Cstable_cones::init(p_uncol_hard);
-
-    // get stable cones (stored in 'protocones')
-    unclustered_left = get_stable_cones(_radius);
-
-    // add the hardest stable cone to the list of jets
-    if (add_hardest_protocone_to_jets(&protocones, R2, _ptmin)) break;
-  
-    _n_pass_max--;
-  } while ((unclustered_left) && (n_left>0) && (_n_pass_max!=0));
-
-  // split & merge
-  return jets.size();
-}
-
-
 /*
  * recompute the jets with a different overlap parameter.
@@ -234,37 +205,4 @@
 }  
 
-// ensure things are initialised
-void Csiscone::_initialise_if_needed(){
-  // initialise random number generator
-  if (init_done) return;
-
-  // initialise random number generator
-  ranlux_init();
-
-  // do not do this again
-  init_done=true;
-
-  // print the banner
-  if (_banner_ostr != 0){
-    ios::fmtflags flags_to_restore(_banner_ostr->flags());
-
-    (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
-    (*_banner_ostr) << "#                    SISCone   version " << setw(28) << left << siscone_version() << "o" << endl;
-    (*_banner_ostr) << "#              http://projects.hepforge.org/siscone                o" << endl;
-    (*_banner_ostr) << "#                                                                  o" << endl;
-    (*_banner_ostr) << "# This is SISCone: the Seedless Infrared Safe Cone Jet Algorithm   o" << endl;
-    (*_banner_ostr) << "# SISCone was written by Gavin Salam and Gregory Soyez             o" << endl;
-    (*_banner_ostr) << "# It is released under the terms of the GNU General Public License o" << endl;
-    (*_banner_ostr) << "#                                                                  o" << endl;
-    (*_banner_ostr) << "# A description of the algorithm is available in the publication   o" << endl;
-    (*_banner_ostr) << "# JHEP 05 (2007) 086 [arXiv:0704.0292 (hep-ph)].                   o" << endl;
-    (*_banner_ostr) << "# Please cite it if you use SISCone.                               o" << endl;
-    (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
-    (*_banner_ostr) << endl;
-
-    _banner_ostr->flush();
-    _banner_ostr->flags(flags_to_restore);
-  }
-}
 
 // finally, a bunch of functions to access to 
@@ -275,10 +213,10 @@
  * return SISCone package name.
  * This is nothing but "SISCone", it is a replacement to the
- * SISCONE_PACKAGE_NAME string defined in config.h and which is not
- * guaranteed to be public.
+ * PACKAGE_NAME string defined in config.h and which is not
+ * public by default.
  * return the SISCone name as a string
  */
 string siscone_package_name(){
-  return SISCONE_PACKAGE_NAME;
+  return PACKAGE_NAME;
 }
 
@@ -289,6 +227,6 @@
  */
 string siscone_version(){
-  return SISCONE_VERSION;
-}
-
-}
+  return VERSION;
+}
+
+}
