Index: external/fastjet/plugins/ATLASCone/ATLASConePlugin.cc
===================================================================
--- external/fastjet/plugins/ATLASCone/ATLASConePlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/ATLASCone/ATLASConePlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: ATLASConePlugin.cc 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id$
 //
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // fastjet stuff
Index: external/fastjet/plugins/ATLASCone/fastjet/ATLASConePlugin.hh
===================================================================
--- external/fastjet/plugins/ATLASCone/fastjet/ATLASConePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/ATLASCone/fastjet/ATLASConePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: ATLASConePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id: ATLASConePlugin.hh 2758 2011-11-24 08:31:58Z soyez $
 //
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // Note on the implementation:
Index: external/fastjet/plugins/CDFCones/CDFJetCluPlugin.cc
===================================================================
--- external/fastjet/plugins/CDFCones/CDFJetCluPlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/CDFCones/CDFJetCluPlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: CDFJetCluPlugin.cc 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id$
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2005-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #include "fastjet/CDFJetCluPlugin.hh"
Index: external/fastjet/plugins/CDFCones/CDFMidPointPlugin.cc
===================================================================
--- external/fastjet/plugins/CDFCones/CDFMidPointPlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/CDFCones/CDFMidPointPlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: CDFMidPointPlugin.cc 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id$
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2005-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #include "fastjet/CDFMidPointPlugin.hh"
Index: external/fastjet/plugins/CDFCones/JetCluAlgorithm.cc
===================================================================
--- external/fastjet/plugins/CDFCones/JetCluAlgorithm.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/CDFCones/JetCluAlgorithm.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -11,8 +11,4 @@
 // History of changes compared to the original JetCluAlgorithm.cc file
 // 
-// 2014-08-13 Matteo Cacciari and Gavin Salam
-//        * commented out towers variable in JetCluAlgorithm::buildPreClusters
-//          interface to avoid compiler warning
-//
 // 2011-11-14  Gregory Soyez  <soyez@fastjet.fr>
 //
@@ -32,5 +28,4 @@
 #include <algorithm>
 #include <cmath>
-#include <cstdlib>
 
 #include <fastjet/internal/base.hh>
@@ -59,7 +54,5 @@
 }
 
-// MC+GPS 2014-08-13, commented out the towers variable to avoid an
-// unused variable warning
-void JetCluAlgorithm::buildPreClusters(std::vector<Cluster>& seedTowers, std::vector<PhysicsTower>& /*towers*/,
+void JetCluAlgorithm::buildPreClusters(std::vector<Cluster>& seedTowers, std::vector<PhysicsTower>& towers,
 				       std::vector<Cluster>& preClusters)
 {
@@ -86,6 +79,6 @@
 	  if ((iEtaPreClusterTower >= 8 && iEtaPreClusterTower < 14) || (iEtaPreClusterTower >= 38 && iEtaPreClusterTower < 44))
 	    iPhiPreClusterTower = iPhiPreClusterTower/2;
-	  int dIEta = std::abs(iEtaSeedTower - iEtaPreClusterTower);
-	  int dIPhi = std::abs(iPhiSeedTower - iPhiPreClusterTower);
+	  int dIEta = abs(iEtaSeedTower - iEtaPreClusterTower);
+	  int dIPhi = abs(iPhiSeedTower - iPhiPreClusterTower);
 	  if(dIPhi > 12)
 	    dIPhi = 24 - dIPhi;
Index: external/fastjet/plugins/CDFCones/MidPointAlgorithm.cc
===================================================================
--- external/fastjet/plugins/CDFCones/MidPointAlgorithm.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/CDFCones/MidPointAlgorithm.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -11,9 +11,4 @@
 // History of changes compared to the original MidPointAlgorithm.cc file
 // 
-// 2014-08-13 Matteo Cacciari and Gavin Salam
-//        * changed a number of int -> unsigned (and in one case
-//          added explicit conversion to int) to eliminate
-//          long-standing compiler warnings
-//
 // 2009-01-17  Gregory Soyez  <soyez@fastjet.fr>
 // 
@@ -73,11 +68,9 @@
   std::vector< std::vector<bool> > distanceOK;
   distanceOK.resize(stableCones.size() - 1);
-  // MC+GPS 2014-08-13, replaced int with unsigned
-  for(unsigned nCluster1 = 1; nCluster1 < stableCones.size(); nCluster1++){
+  for(int nCluster1 = 1; nCluster1 < stableCones.size(); nCluster1++){
     distanceOK[nCluster1 - 1].resize(nCluster1);
     double cluster1Rapidity = stableCones[nCluster1].fourVector.y();
     double cluster1Phi      = stableCones[nCluster1].fourVector.phi();
-    // MC+GPS 2014-08-13, replaced int with unsigned
-    for(unsigned nCluster2 = 0; nCluster2 < nCluster1; nCluster2++){
+    for(int nCluster2 = 0; nCluster2 < nCluster1; nCluster2++){
       double cluster2Rapidity = stableCones[nCluster2].fourVector.y();
       double cluster2Phi      = stableCones[nCluster2].fourVector.phi();
@@ -101,10 +94,8 @@
   // Loop over all combinations. Calculate MidPoint. Make midPointClusters.
   bool reduceConeSize = false;
-  // MC+GPS 2014-08-13, replaced int with unsigned
-  for(unsigned iPair = 0; iPair < pairs.size(); iPair++){
+  for(int iPair = 0; iPair < pairs.size(); iPair++){
     // Calculate rapidity, phi and pT of MidPoint.
     LorentzVector midPoint(0,0,0,0);
-    // MC+GPS 2014-08-13, replaced int with unsigned
-    for(unsigned iPairMember = 0; iPairMember < pairs[iPair].size(); iPairMember++)
+    for(int iPairMember = 0; iPairMember < pairs[iPair].size(); iPairMember++)
       midPoint.add(stableCones[pairs[iPair][iPairMember]].fourVector);
     iterateCone(midPoint.y(),midPoint.phi(),midPoint.pt(),towers,stableCones,reduceConeSize);
@@ -183,10 +174,8 @@
   if(testPair.size())
     nextClusterStart = testPair.back() + 1;
-  // MC+GPS 2014-08-13, replaced int nextCluster with unsigned
-  for(unsigned nextCluster = nextClusterStart; nextCluster <= distanceOK.size(); nextCluster++){
+  for(int nextCluster = nextClusterStart; nextCluster <= distanceOK.size(); nextCluster++){
     // Is new SeedCone less than 2*_coneRadius apart from all clusters in testPair?
     bool addCluster = true;
-    // MC+GPS 2014-08-13, replaced int iCluster with unsigned
-    for(unsigned iCluster = 0; iCluster < testPair.size() && addCluster; iCluster++)
+    for(int iCluster = 0; iCluster < testPair.size() && addCluster; iCluster++)
       if(!distanceOK[nextCluster - 1][testPair[iCluster]])
 	addCluster = false;
@@ -198,6 +187,5 @@
 	pairs.push_back(testPair);
       // If not bigger than allowed, find more clusters within 2*_coneRadius.
-      // GPS+MC 2014-08-13, replaced testPair.size() with int(testPair.size())
-      if(int(testPair.size()) < maxClustersInPair)
+      if(testPair.size() < maxClustersInPair)
 	addClustersToPairs(testPair,pairs,distanceOK,maxClustersInPair);
       // All combinations containing testPair found. Remove last element.
Index: external/fastjet/plugins/CDFCones/fastjet/CDFJetCluPlugin.hh
===================================================================
--- external/fastjet/plugins/CDFCones/fastjet/CDFJetCluPlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/CDFCones/fastjet/CDFJetCluPlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: CDFJetCluPlugin.hh 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id: CDFJetCluPlugin.hh 2758 2011-11-24 08:31:58Z soyez $
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2005-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #ifndef __CDFJETCLUPLUGIN_HH__
Index: external/fastjet/plugins/CDFCones/fastjet/CDFMidPointPlugin.hh
===================================================================
--- external/fastjet/plugins/CDFCones/fastjet/CDFMidPointPlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/CDFCones/fastjet/CDFMidPointPlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: CDFMidPointPlugin.hh 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id: CDFMidPointPlugin.hh 2758 2011-11-24 08:31:58Z soyez $
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2005-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #ifndef __CDFMIDPOINTPLUGIN_HH__
Index: external/fastjet/plugins/CMSIterativeCone/CMSIterativeConePlugin.cc
===================================================================
--- external/fastjet/plugins/CMSIterativeCone/CMSIterativeConePlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/CMSIterativeCone/CMSIterativeConePlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,31 +1,38 @@
-//FJSTARTHEADER
-// $Id: CMSIterativeConePlugin.cc 1504 2009-04-10 13:39:48Z salam $
-//
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+//STARTHEADER
+// $Id$
+//
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) ????-????, CMS [for the iterative-cone code itself]
 //
 //----------------------------------------------------------------------
-// This file is part of FastJet.
-//
-//  FastJet is free software; you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation; either version 2 of the License, or
-//  (at your option) any later version.
-//
-//  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
-//  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
-//
-//  FastJet is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
+// This file is part of FastJet. It contains code that has been
+// obtained from the CMS collaboration, revision 1.14 of the
+// CMSIterativeConeAlgorithm.cc file in CMSSW, see
+//   http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/RecoJets/JetAlgorithms/src/CMSIterativeConeAlgorithm.cc?hideattic=0&revision=1.14&view=markup
+//
+// Permission has been granted by the CMS collaboration to release it
+// in FastJet under the terms of the GNU Public License(v2) (see the
+// COPYING file in the main FastJet directory for details).
+// Changes from the original file are listed below.
+//
+// FastJet is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// The algorithms that underlie FastJet have required considerable
+// development and are described in hep-ph/0512210. If you use
+// FastJet as part of work towards a scientific publication, please
+// include a citation to the FastJet paper.
+//
+// FastJet is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // List of changes compared to the original CMS code (revision 1.14 of
Index: external/fastjet/plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh
===================================================================
--- external/fastjet/plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
+//STARTHEADER
 // $Id: CMSIterativeConePlugin.hh 1508 2009-04-10 22:46:49Z soyez $
 //
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #ifndef __CMSITERATIVECONEPLUGIN_HH__
Index: external/fastjet/plugins/D0RunICone/D0RunIBaseConePlugin.cc
===================================================================
--- external/fastjet/plugins/D0RunICone/D0RunIBaseConePlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/D0RunICone/D0RunIBaseConePlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: D0RunIBaseConePlugin.cc 1779 2010-10-25 10:32:59Z soyez $
-//
-// Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+//STARTHEADER
+// $Id$
+//
+// Copyright (c) 2009-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // D0 stuff
Index: external/fastjet/plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh
===================================================================
--- external/fastjet/plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -2,8 +2,8 @@
 #define __D0RUNIBASECONEPLUGIN_HH__
 
-//FJSTARTHEADER
+//STARTHEADER
 // $Id: D0RunIBaseConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $
 //
-// Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2009-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -16,9 +16,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -30,5 +28,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #include "fastjet/JetDefinition.hh"
Index: external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh
===================================================================
--- external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -2,8 +2,8 @@
 #define __D0RUNICONEPLUGIN_HH__
 
-//FJSTARTHEADER
+//STARTHEADER
 // $Id: D0RunIConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $
 //
-// Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2009-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -16,9 +16,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -30,7 +28,6 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
-#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 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -2,8 +2,8 @@
 #define __D0RUNIPRE96CONEPLUGIN_HH__
 
-//FJSTARTHEADER
+//STARTHEADER
 // $Id: D0RunIpre96ConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $
 //
-// Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2009-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -16,9 +16,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -30,7 +28,6 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
-#include "fastjet/internal/base.hh"     // namespace macros (include explicitly to help Doxygen)
 #include "D0RunIBaseConePlugin.hh"
 
Index: external/fastjet/plugins/D0RunIICone/ConeSplitMerge.hpp
===================================================================
--- external/fastjet/plugins/D0RunIICone/ConeSplitMerge.hpp	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/D0RunIICone/ConeSplitMerge.hpp	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -75,5 +75,5 @@
 {
 public:
-  bool operator()(const ProtoJet<Item> & first, const ProtoJet<Item> & second) const
+  bool operator()(const ProtoJet<Item> & first, const ProtoJet<Item> & second)
   {
     if ( first.pT() > second.pT() ) return true;
Index: external/fastjet/plugins/D0RunIICone/D0RunIIConePlugin.cc
===================================================================
--- external/fastjet/plugins/D0RunIICone/D0RunIIConePlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/D0RunIICone/D0RunIIConePlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: D0RunIIConePlugin.cc 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id$
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2005-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #include "fastjet/D0RunIIConePlugin.hh"
Index: external/fastjet/plugins/D0RunIICone/ILConeAlgorithm.hpp
===================================================================
--- external/fastjet/plugins/D0RunIICone/ILConeAlgorithm.hpp	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/D0RunIICone/ILConeAlgorithm.hpp	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -49,4 +49,5 @@
 //
 // 2012-06-12  Gregory Soyez  <soyez@fastjet.fr>
+//
 //        * Replaced addItem(...) by this->addItem(...) to allow
 //          compilation with gcc 4.7 which no longer performs
Index: external/fastjet/plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh
===================================================================
--- external/fastjet/plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -2,8 +2,8 @@
 #define __D0RUNIICONEPLUGIN_HH__
 
-//FJSTARTHEADER
-// $Id: D0RunIIConePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id: D0RunIIConePlugin.hh 2761 2011-11-24 13:54:05Z soyez $
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2005-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -16,9 +16,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -30,5 +28,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #include "fastjet/JetDefinition.hh"
Index: external/fastjet/plugins/EECambridge/EECambridgePlugin.cc
===================================================================
--- external/fastjet/plugins/EECambridge/EECambridgePlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/EECambridge/EECambridgePlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: EECambridgePlugin.cc 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id$
 //
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // fastjet stuff
Index: external/fastjet/plugins/EECambridge/fastjet/EECambridgePlugin.hh
===================================================================
--- external/fastjet/plugins/EECambridge/fastjet/EECambridgePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/EECambridge/fastjet/EECambridgePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -2,8 +2,8 @@
 #define __EECAMBRIDGEPLUGIN_HH__
 
-//FJSTARTHEADER
-// $Id: EECambridgePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id: EECambridgePlugin.hh 2692 2011-11-14 16:27:44Z soyez $
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2009, Matteo Cacciari, Gavin Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -16,9 +16,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -30,5 +28,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 
@@ -84,8 +82,4 @@
   virtual bool exclusive_sequence_meaningful() const {return true;}
 
-  /// returns true because this plugin is intended for spherical
-  /// geometries (i.e. it's an e+e- algorithm).
-  virtual bool is_spherical() const {return true;}
-
 private:
   double _ycut;
Index: external/fastjet/plugins/GridJet/GridJetPlugin.cc
===================================================================
--- external/fastjet/plugins/GridJet/GridJetPlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/GridJet/GridJetPlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: GridJetPlugin.cc 2268 2011-06-20 15:12:26Z salam $
+//STARTHEADER
+// $Id$
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2011, Matteo Cacciari, Gavin Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // fastjet stuff
@@ -45,8 +43,4 @@
                               double requested_grid_spacing, 
                               const JetDefinition & post_jet_def) :
-#ifdef FASTJET_GRIDJET_USEFJGRID
-  RectangularGrid(ymax, requested_grid_spacing), _post_jet_def(post_jet_def) {
-}
-#else
   _ymin(-ymax), _ymax(ymax), 
   _requested_grid_spacing(requested_grid_spacing) ,
@@ -55,16 +49,5 @@
   setup_grid();
 }
-#endif
 
-#ifdef FASTJET_GRIDJET_USEFJGRID
-GridJetPlugin::GridJetPlugin (const RectangularGrid & grid,
-                              const JetDefinition & post_jet_def) : 
-  RectangularGrid(grid), _post_jet_def(post_jet_def) {
-  if (!RectangularGrid::is_initialised()) 
-    throw Error("attempt to construct GridJetPlugin with uninitialised RectangularGrid");
-}
-#endif // FASTJET_GRIDJET_USEFJGRID
-
-#ifndef FASTJET_GRIDJET_USEFJGRID
 void GridJetPlugin::setup_grid() {
   // since we've exchanged the arguments of the constructor,
@@ -86,6 +69,22 @@
 }
 
+
 //----------------------------------------------------------------------
-int GridJetPlugin::tile_index(const PseudoJet & p) const {
+string GridJetPlugin::description () const {
+  ostringstream desc;
+  desc << "GridJetPlugin plugin with ymax = " << _ymax << ", dy = " << _dy << ", dphi = " << _dphi << " (requested grid spacing was " << _requested_grid_spacing << ")";
+  if (_post_jet_def.jet_algorithm() != undefined_jet_algorithm) {
+    desc << ", followed by " << _post_jet_def.description();
+  }
+  return desc.str();
+}
+
+
+//----------------------------------------------------------------------
+double GridJetPlugin::R() const {return sqrt(_dy*_dphi/pi);}
+
+
+//----------------------------------------------------------------------
+int GridJetPlugin::igrid(const PseudoJet & p) const {
   // directly taking int does not work for values between -1 and 0
   // so use floor instead
@@ -109,25 +108,4 @@
   return igrid_res;
 }
-#endif // not FASTJET_GRIDJET_USEFJGRID
-
-
-//----------------------------------------------------------------------
-string GridJetPlugin::description () const {
-  ostringstream desc;
-  desc << "GridJetPlugin plugin with ";
-#ifndef FASTJET_GRIDJET_USEFJGRID
-  desc << "ymax = " << _ymax << ", dy = " << _dy << ", dphi = " << _dphi << " (requested grid spacing was " << _requested_grid_spacing << ")";
-#else
-  desc << RectangularGrid::description();
-#endif
-  if (_post_jet_def.jet_algorithm() != undefined_jet_algorithm) {
-    desc << ", followed by " << _post_jet_def.description();
-  }
-  return desc.str();
-}
-
-
-//----------------------------------------------------------------------
-double GridJetPlugin::R() const {return sqrt(drap()*dphi()/pi);}
 
 
@@ -139,5 +117,5 @@
   //  * a number >= 0 will mean that particle indicated by the index
   //    is currently the jet on the grid
-  vector<int> grid(n_tiles(), -1);
+  vector<int> grid(_ntotal, -1);
  
   int nparticles = cs.jets().size();
@@ -148,9 +126,9 @@
   // combine particles with whatever is in the grid
   for (int i = 0; i < nparticles; i++) {
-    int igrd = tile_index(cs.jets()[i]);
+    int igrd = igrid(cs.jets()[i]);
     //cout << i << " " << cs.jets()[i].rap() << " " << cs.jets()[i].phi() 
     // 	 << " " << igrd << " " << grid.size() << " " << _ntotal << endl;
     if (igrd < 0) continue;
-    assert(igrd <= n_tiles());
+    assert(igrd <= _ntotal);
     if (grid[igrd] == -1) {
       grid[igrd] = i; // jet index of initial particle i is i
@@ -167,6 +145,6 @@
     // make the final jets via iB recombinations
     for (unsigned igrd = 0; igrd < grid.size(); igrd++) {
-      if (grid[igrd] != -1 && tile_is_good(igrd)) 
-                   cs.plugin_record_iB_recombination(grid[igrd], dij_or_diB);
+      if (grid[igrd] != -1) cs.plugin_record_iB_recombination(grid[igrd], 
+							      dij_or_diB);
     }
   } else {
Index: external/fastjet/plugins/GridJet/fastjet/GridJetPlugin.hh
===================================================================
--- external/fastjet/plugins/GridJet/fastjet/GridJetPlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/GridJet/fastjet/GridJetPlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,9 +1,9 @@
-#ifndef __FASTJET_GRIDJETPLUGIN_HH__
-#define __FASTJET_GRIDJETPLUGIN_HH__
+#ifndef __GRIDJETPLUGIN_HH__
+#define __GRIDJETPLUGIN_HH__
 
-//FJSTARTHEADER
+//STARTHEADER
 // $Id: GridJetPlugin.hh 2267 2011-06-20 15:10:23Z salam $
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2011, Matteo Cacciari, Gavin Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -16,9 +16,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -30,16 +28,8 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 
 #include "fastjet/JetDefinition.hh"
-
-// makes it easy to switch back and forth between use of
-// RectangularGrid or not; this got enabled in FJ3.1
-#define FASTJET_GRIDJET_USEFJGRID
-
-#ifdef FASTJET_GRIDJET_USEFJGRID
-#include "fastjet/RectangularGrid.hh"
-#endif
 
 FASTJET_BEGIN_NAMESPACE      // defined in fastjet/internal/base.hh
@@ -59,11 +49,7 @@
 /// but is rather provided for comparison purposes with the 
 /// GridMedianBackgroundEstimator (which is even faster).
-class GridJetPlugin : public JetDefinition::Plugin 
-#ifdef FASTJET_GRIDJET_USEFJGRID
-                                      , RectangularGrid
-#endif 
-{
+class GridJetPlugin : public JetDefinition::Plugin {
 public:
-  /// Basic constructor for the GridJetPlugin Plugin class.
+  /// Main constructor for the GridJetPlugin Plugin class.
   ///
   /// \param ymax           The maximal rapidity extent of the grid
@@ -76,23 +62,8 @@
 		 const JetDefinition & post_jet_def = JetDefinition());
 
-#ifdef FASTJET_GRIDJET_USEFJGRID
-  /// Constructor for the GridJetPlugin Plugin class that allows
-  /// full control over the underlying grid. New in FastJet 3.1.
-  ///
-  /// \param grid           The maximal rapidity extent of the grid
-  /// \param post_jet_def   if present, and not == JetDefinition()
-  ///                       (which has undefined_jet_algorithm), then
-  ///                       run the post_jet_def on the result of the grid
-  ///                       clustering.
-  GridJetPlugin (const RectangularGrid & grid,
-		 const JetDefinition & post_jet_def = JetDefinition());
-#endif // FASTJET_GRIDJET_USEFJGRID
-
-  
-
-  // /// copy constructor
-  // GridJetPlugin (const GridJetPlugin & plugin) {
-  //   *this = plugin;
-  // }
+  /// copy constructor
+  GridJetPlugin (const GridJetPlugin & plugin) {
+    *this = plugin;
+  }
 
   // the things that are required by base class
@@ -104,31 +75,12 @@
   virtual double R() const;
 
-  // As of FastJet 3.1 the following functions become available through
-  // the underlying RectangularGrid class.
-#ifndef FASTJET_GRIDJET_USEFJGRID
-  /// returns the actual rapidity spacing of the grid
-  double drap()   const {return _dy;}
-  /// returns the actual phi spacing of the grid
-  double dphi() const {return _dphi;}
-  /// returns the minimum rapidity of the grid
-  double rapmin() const {return _ymin;}
-  /// returns the maximum rapidity of the grid
-  double rapmax() const {return _ymax;}
-#endif
-
 private:
 
-#ifndef FASTJET_GRIDJET_USEFJGRID
   void setup_grid();
 
-  int n_tiles() const {return _ntotal;}
-  int n_good_tiles() const {return _ntotal;}
-
-  int tile_index(const PseudoJet & p) const;
-  bool tile_is_good(int /* itile */) const {return true;}
+  int igrid(const PseudoJet & p) const;
 
   double _ymin, _ymax, _dy, _dphi, _requested_grid_spacing;
   int _ny, _nphi, _ntotal;
-#endif
 
   JetDefinition _post_jet_def;
@@ -138,4 +90,4 @@
 FASTJET_END_NAMESPACE        // defined in fastjet/internal/base.hh
 
-#endif // __FASTJET_GRIDJETPLUGIN_HH__
+#endif // __GRIDJETPLUGIN_HH__
 
Index: external/fastjet/plugins/Jade/JadePlugin.cc
===================================================================
--- external/fastjet/plugins/Jade/JadePlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/Jade/JadePlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: JadePlugin.cc 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id$
 //
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // fastjet stuff
@@ -35,5 +33,4 @@
 //#include "fastjet/internal/ClusterSequence_N2.icc"
 #include "fastjet/NNH.hh"
-#include "fastjet/NNFJN2Plain.hh"
 
 // other stuff
@@ -52,23 +49,4 @@
 //----------------------------------------------------------------------
 /// class to help run a JADE algorithm
-///
-/// This class works both with NNH and NNFJN2Plain clustering
-/// helpers. They both use the same init(...) call, but for the
-/// clustering:
-///
-/// - NNH uses distance(...) and beam_distance()
-/// - NNFJPlainN2 uses geometrical_distance(...), momentum_factor()
-///   and geometrical_beam_distance()
-///
-/// For NNFJPlainN2 the 2 E_i E_j (1-cos theta_{ij}) factor
-/// gets broken up into
-///
-///     sqrt(2)*min(E_i,E_j) * [sqrt(2)*max(E_i,E_j) (1 - cos \theta_{ij})]
-///
-/// The second factor is what we call the "geometrical_distance" even
-/// though it isn't actually purely geometrical. But the fact that it
-/// gets multiplied by min(E_i,E_j) to get the full distance is
-/// sufficient for the validity of the FJ lemma, allowing for the use
-/// of NNFJN2Plain.
 class JadeBriefJet {
 public:
@@ -89,31 +67,8 @@
   }
 
-  double geometrical_distance(const JadeBriefJet * jet) const {
-    double dij = 1 - nx*jet->nx
-                   - ny*jet->ny
-                   - nz*jet->nz;
-    dij *= max(rt2E,jet->rt2E);
-    return dij;
-  }
-
-  double momentum_factor() const {
-    return rt2E;
-  }
-  
   double beam_distance() const {
     return numeric_limits<double>::max();
   }
 
-  double geometrical_beam_distance() const {
-    // get a number that is almost the same as max(), just a little
-    // smaller so as to ensure that when we divide it by rt2E and then
-    // multiply it again, we won't get an overflow.
-    // Watch out for cases where rt2E < 1.0 (cf. bug fix from
-    // andrii.verbytskyi@mpp.mpg.de on 2019-02-14)
-    const double almost_max = numeric_limits<double>::max() * (1 - 1e-13);
-    if (rt2E>1.0) return almost_max / rt2E;
-    else          return almost_max; 
-  }
-  
 private:
   double rt2E, nx, ny, nz;
@@ -125,64 +80,11 @@
   ostringstream desc;
   desc << "e+e- JADE algorithm plugin";
-  switch(_strategy) {
-  case strategy_NNH:
-    desc << ", using NNH strategy"; break;
-  case strategy_NNFJN2Plain:
-    desc << ", using NNFJN2Plain strategy"; break;
-  default:
-    throw Error("Unrecognized strategy in JadePlugin");
-  }
-
   return desc.str();
 }
 
-// //----------------------------------------------------------------------
-// void JadePlugin::run_clustering(ClusterSequence & cs) const {
-//   int njets = cs.jets().size();
-// 
-//   //SharedPtr<NNBase<> > nn;
-//   NNBase<> * nn;
-//   switch(_strategy) {
-//   case strategy_NNH:
-//     //nn.reset(new NNH<JadeBriefJet>(cs.jets()));
-//     nn = new NNH<JadeBriefJet>(cs.jets());
-//     break;
-//   case strategy_NNFJN2Plain:
-//     //nn.reset(new NNFJN2Plain<JadeBriefJet>(cs.jets()));
-//     nn = new NNFJN2Plain<JadeBriefJet>(cs.jets());
-//     break;
-//   default:
-//     throw Error("Unrecognized strategy in JadePlugin");
-//   }
-//   //NNH<JadeBriefJet> nnh(cs.jets());
-//   //NNFJN2Plain<JadeBriefJet> nnh(cs.jets());
-// 
-//   // if testing against Hoeth's implementation, need to rescale the
-//   // dij by Q^2.
-//   //double Q2 = cs.Q2(); 
-// 
-//   while (njets > 0) {
-//     int i, j, k;
-//     double dij = nn->dij_min(i, j);
-// 
-//     if (j >= 0) {
-//       cs.plugin_record_ij_recombination(i, j, dij, k);
-//       nn->merge_jets(i, j, cs.jets()[k], k);
-//     } else {
-//       double diB = cs.jets()[i].E()*cs.jets()[i].E(); // get new diB
-//       cs.plugin_record_iB_recombination(i, diB);
-//       nn->remove_jet(i);
-//     }
-//     njets--;
-//   }
-//   delete nn;
-// }
-
-
-template<class N> void JadePlugin::_actual_run_clustering(ClusterSequence & cs) const {
-
+//----------------------------------------------------------------------
+void JadePlugin::run_clustering(ClusterSequence & cs) const {
   int njets = cs.jets().size();
-
-  N nn(cs.jets());
+  NNH<JadeBriefJet> nnh(cs.jets());
 
   // if testing against Hoeth's implementation, need to rescale the
@@ -192,34 +94,17 @@
   while (njets > 0) {
     int i, j, k;
-    double dij = nn.dij_min(i, j);
+    double dij = nnh.dij_min(i, j);
 
     if (j >= 0) {
       cs.plugin_record_ij_recombination(i, j, dij, k);
-      nn.merge_jets(i, j, cs.jets()[k], k);
+      nnh.merge_jets(i, j, cs.jets()[k], k);
     } else {
       double diB = cs.jets()[i].E()*cs.jets()[i].E(); // get new diB
       cs.plugin_record_iB_recombination(i, diB);
-      nn.remove_jet(i);
+      nnh.remove_jet(i);
     }
     njets--;
   }
-
 }
 
-//----------------------------------------------------------------------
-void JadePlugin::run_clustering(ClusterSequence & cs) const {
-
-  switch(_strategy) {
-  case strategy_NNH:
-    _actual_run_clustering<NNH<JadeBriefJet> >(cs);
-    break;
-  case strategy_NNFJN2Plain:
-    _actual_run_clustering<NNFJN2Plain<JadeBriefJet> >(cs);
-    break;
-  default:
-    throw Error("Unrecognized strategy in JadePlugin");
-  }
-}
-
-
 FASTJET_END_NAMESPACE      // defined in fastjet/internal/base.hh
Index: external/fastjet/plugins/Jade/fastjet/JadePlugin.hh
===================================================================
--- external/fastjet/plugins/Jade/fastjet/JadePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/Jade/fastjet/JadePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -2,8 +2,8 @@
 #define __JADEPLUGIN_HH__
 
-//FJSTARTHEADER
-// $Id: JadePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id: JadePlugin.hh 2577 2011-09-13 15:11:38Z salam $
 //
-// Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2009, Matteo Cacciari, Gavin Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -16,9 +16,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -30,5 +28,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #include "fastjet/JetDefinition.hh"
@@ -77,11 +75,6 @@
 class JadePlugin : public JetDefinition::Plugin {
 public:
-  /// enum that contains the two clustering strategy options; for
-  /// higher multiplicities, strategy_NNFJN2Plain is about a factor of
-  /// two faster.
-  enum Strategy { strategy_NNH = 0, strategy_NNFJN2Plain = 1};
-  
   /// Main constructor for the Jade Plugin class.  
-  JadePlugin (Strategy strategy = strategy_NNFJN2Plain) : _strategy(strategy) {}
+  JadePlugin (){}
 
   /// copy constructor
@@ -105,7 +98,4 @@
 private:
 
-  template<class N> void _actual_run_clustering(ClusterSequence &) const;
-  
-  Strategy _strategy;
 };
 
Index: external/fastjet/plugins/NestedDefs/NestedDefsPlugin.cc
===================================================================
--- external/fastjet/plugins/NestedDefs/NestedDefsPlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/NestedDefs/NestedDefsPlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: NestedDefsPlugin.cc 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id$
 //
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // TODO
Index: external/fastjet/plugins/NestedDefs/fastjet/NestedDefsPlugin.hh
===================================================================
--- external/fastjet/plugins/NestedDefs/fastjet/NestedDefsPlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/NestedDefs/fastjet/NestedDefsPlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: NestedDefsPlugin.hh 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id: NestedDefsPlugin.hh 2577 2011-09-13 15:11:38Z salam $
 //
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #ifndef __NESTEDALGSPLUGIN_HH__
Index: external/fastjet/plugins/SISCone/AUTHORS
===================================================================
--- external/fastjet/plugins/SISCone/AUTHORS	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/AUTHORS	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -6,8 +6,11 @@
 	     France
 
-	 (2) Rudolf Peierls Centre for Theoretical Physics, Parks Road, Oxford OX1 3PU, UK;
-             PH-TH, CERN, CH-1211 Geneva 23, Switzerland;
+	 (2) PH-TH, CERN, CH-1211 Geneva 23, Switzerland;
+             Physics Department, Princeton University, Princeton NJ 08544, USA;
              LPTHE, UPMC (Univ. Paris 6), 75252 Paris cedex 05, France.
 
+phone  : +33 69 08 40 11
+         +41 22 767 2462
+
 email  : soyez@fastjet.fr
-         gavin.salam@physics.ox.ac.uk
+         salam@lpthe.jussieu.fr
Index: external/fastjet/plugins/SISCone/SISConePlugin.cc
===================================================================
--- external/fastjet/plugins/SISCone/SISConePlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/SISConePlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,63 +22,11 @@
 }
 
-//======================================================================
-// wrap-up around siscone's user-defined scales
-namespace siscone_plugin_internal{
-  /// @ingroup internal
-  /// \class SISConeUserScale
-  /// class that makes the transition between the internal SISCone
-  /// user-defined scale choice (using SISCone's Cjet) and
-  /// user-defined scale choices in the plugn above (using FastJet's
-  /// PseudoJets)
-  class SISConeUserScale  : public siscone::Csplit_merge::Cuser_scale_base{
-  public:
-    /// ctor takes the "fastjet-style" user-defined scale as well as a
-    /// reference to the current cluster sequence (to access the
-    /// particles if needed)
-    SISConeUserScale(const SISConePlugin::UserScaleBase *user_scale,
-		     const ClusterSequence &cs)
-      : _user_scale(user_scale), _cs(cs){}
-
-    /// returns the scale associated to a given jet
-    virtual double operator()(const siscone::Cjet &jet) const{
-      return _user_scale->result(_build_PJ_from_Cjet(jet));
-    }
-
-    /// returns true id the scasle associated to jet a is larger than
-    /// the scale associated to jet b
-    virtual bool is_larger(const siscone::Cjet &a, const siscone::Cjet &b) const{
-      return _user_scale->is_larger(_build_PJ_from_Cjet(a), _build_PJ_from_Cjet(b));
-    }
-
-  private:
-    /// constructs a PseudoJet from a siscone::Cjet
-    ///
-    /// Note that it is tempting to overload the PseudoJet ctor. This
-    /// would not work because down the line we need to access the
-    /// original PseudoJet through the ClusterSequence and therefore
-    /// the PseudoJet structure needs to be aware of the
-    /// ClusterSequence.
-    PseudoJet _build_PJ_from_Cjet(const siscone::Cjet &jet) const{
-      PseudoJet j(jet.v.px, jet.v.py, jet.v.pz, jet.v.E);
-      j.set_structure_shared_ptr(SharedPtr<PseudoJetStructureBase>(
-                                   new SISConePlugin::UserScaleBaseStructureType<siscone::Cjet>(jet,_cs)));      
-      return j;
-    }
-
-    const SISConePlugin::UserScaleBase *_user_scale;
-    const ClusterSequence & _cs;
-  };
-}
-
-// end of the internal material
-//======================================================================
-
 
 /////////////////////////////////////////////
 // static members declaration              //
 /////////////////////////////////////////////
-SharedPtr<SISConePlugin>           SISConePlugin::stored_plugin;
-SharedPtr<std::vector<PseudoJet> > SISConePlugin::stored_particles;
-SharedPtr<Csiscone>                SISConePlugin::stored_siscone;
+std::auto_ptr<SISConePlugin>           SISConePlugin::stored_plugin;
+std::auto_ptr<std::vector<PseudoJet> > SISConePlugin::stored_particles;
+std::auto_ptr<Csiscone>                SISConePlugin::stored_siscone;
 
 
@@ -97,21 +45,10 @@
   desc << "SISCone jet algorithm with " ;
   desc << "cone_radius = "       << cone_radius        () << ", ";
-  if (_progressive_removal)
-    desc << "progressive-removal mode, ";
-  else  
-    desc << "overlap_threshold = " << overlap_threshold  () << ", ";
+  desc << "overlap_threshold = " << overlap_threshold  () << ", ";
   desc << "n_pass_max = "        << n_pass_max         () << ", ";
   desc << "protojet_ptmin = "    << protojet_ptmin()      << ", ";
-  if (_progressive_removal && _user_scale) {
-    desc << "using a user-defined scale for ordering of stable cones";
-    string user_scale_desc = _user_scale->description();
-    if (user_scale_desc != "") desc << " (" << user_scale_desc << ")";
-  } else {
-    desc <<  sm_scale_string;
-  }
-  if (!_progressive_removal){
-    desc << ", caching turned "      << (caching() ? on : off);
-    desc << ", SM stop scale = "     << _split_merge_stopping_scale;
-  }
+  desc <<  sm_scale_string                                << ", ";
+  desc << "caching turned "      << (caching() ? on : off);
+  desc << ", SM stop scale = "     << _split_merge_stopping_scale;
 
   // add a note to the description if we use the pt-weighted splitting
@@ -148,5 +85,5 @@
   bool new_siscone = true; // by default we'll be running it
 
-  if (caching() && !_progressive_removal) {
+  if (caching()) {
 
     // Establish if we have a cached run with the same R, npass and
@@ -201,19 +138,7 @@
     // run the jet finding
     //cout << "plg sms: " << split_merge_scale() << endl;
-    if (_progressive_removal){
-      // handle the optional user-defined scale choice
-      SharedPtr<siscone_plugin_internal::SISConeUserScale> internal_scale;
-      if (_user_scale){
-	internal_scale.reset(new siscone_plugin_internal::SISConeUserScale(_user_scale, clust_seq));
-	siscone->set_user_scale(internal_scale.get());
-      }
-      siscone->compute_jets_progressive_removal(siscone_momenta, cone_radius(),
-						n_pass_max(), protojet_or_ghost_ptmin(), 
-						Esplit_merge_scale(split_merge_scale()));
-    } else {
-      siscone->compute_jets(siscone_momenta, cone_radius(), overlap_threshold(),
-			    n_pass_max(), protojet_or_ghost_ptmin(), 
-			    Esplit_merge_scale(split_merge_scale()));
-    }
+    siscone->compute_jets(siscone_momenta, cone_radius(), overlap_threshold(),
+			  n_pass_max(), protojet_or_ghost_ptmin(), 
+			  Esplit_merge_scale(split_merge_scale()));
   } else {
     // rerun the jet finding
@@ -230,8 +155,4 @@
   SISConeExtras * extras = new SISConeExtras(n);
 
-  // the ordering in which the inclusive jets are transfered here is
-  // deliberate and ensures that when a user asks for
-  // inclusive_jets(), they are provided in the order in which SISCone
-  // created them.
   for (int ijet = njet-1; ijet >= 0; ijet--) {
     const Cjet & jet = siscone->jets[ijet]; // shorthand
@@ -286,10 +207,5 @@
 
   // give the extras object to the cluster sequence.
-  // 
-  // As of v3.1 of FastJet, extras are automatically owned (as
-  // SharedPtr) by the ClusterSequence and auto_ptr is deprecated. So
-  // we can use a simple pointer here
-  //clust_seq.plugin_associate_extras(std::auto_ptr<ClusterSequence::Extras>(extras));
-  clust_seq.plugin_associate_extras(extras);
+  clust_seq.plugin_associate_extras(std::auto_ptr<ClusterSequence::Extras>(extras));
 }
 
@@ -299,53 +215,3 @@
 }
 
-// //======================================================================
-// // material to handle user-defined scales
-// 
-// //--------------------------------------------------
-// // SISCone structure type
-// 
-// // the textual descripotion
-// std::string SISConePlugin::UserScaleBase::StructureType::description() const{
-//   return "PseudoJet wrapping a siscone::Cjet stable cone"; 
-// }
-// 
-// // retrieve the constituents
-// //
-// // if you simply need to iterate over the constituents, it will be
-// // faster to access them via constituent(i)
-// vector<PseudoJet> SISConePlugin::UserScaleBase::StructureType::constituents(const PseudoJet &) const{ 
-//   vector<PseudoJet> constits;
-//   constits.reserve(_jet.n);
-//   for (unsigned int i=0; i<(unsigned int)_jet.n;i++)
-//     constits.push_back(constituent(i));
-//   return constits;
-// }
-// 
-// // returns the number of constituents
-// unsigned int SISConePlugin::UserScaleBase::StructureType::size() const{
-//   return _jet.n;
-// }
-// 
-// // returns the index (in the original particle list) of the ith
-// // constituent
-// int SISConePlugin::UserScaleBase::StructureType::constituent_index(unsigned int i) const{ 
-//   return _jet.contents[i];
-// }
-// 
-// // returns the ith constituent (as a PseusoJet)
-// const PseudoJet & SISConePlugin::UserScaleBase::StructureType::constituent(unsigned int i) const{
-//   return _cs.jets()[_jet.contents[i]];
-// }
-// 
-// // returns the scalar pt of this stable cone
-// double SISConePlugin::UserScaleBase::StructureType::pt_tilde() const{
-//   return _jet.pt_tilde;
-// }
-// 
-// // returns the sm_var2 (signed ordering variable squared) for this stable cone
-// double SISConePlugin::UserScaleBase::StructureType::ordering_var2() const{
-//   return _jet.sm_var2;
-// }
-
-
 FASTJET_END_NAMESPACE      // defined in fastjet/internal/base.hh
Index: external/fastjet/plugins/SISCone/area.cc
===================================================================
--- external/fastjet/plugins/SISCone/area.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/area.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 149                                                          $//
-// $Date:: 2007-03-15 00:13:58 +0100 (Thu, 15 Mar 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/area.h
===================================================================
--- external/fastjet/plugins/SISCone/area.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/area.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 149                                                          $//
-// $Date:: 2007-03-15 00:13:58 +0100 (Thu, 15 Mar 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/circulator.h
===================================================================
--- external/fastjet/plugins/SISCone/circulator.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/circulator.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 103                                                          $//
-// $Date:: 2007-02-18 17:07:34 +0100 (Sun, 18 Feb 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/config.h
===================================================================
--- external/fastjet/plugins/SISCone/config.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/config.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,117 +1,66 @@
-#ifndef _SISCONE_CONFIG_H
-#define _SISCONE_CONFIG_H 1
- 
-/* siscone/config.h. Generated automatically at end of configure. */
-/* siscone/config_raw.h.  Generated from config.h.in by configure.  */
+/* siscone/config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-#ifndef SISCONE_HAVE_DLFCN_H 
-#define SISCONE_HAVE_DLFCN_H  1 
-#endif
+#define HAVE_DLFCN_H 1
 
 /* Define to 1 if you have the <inttypes.h> header file. */
-#ifndef SISCONE_HAVE_INTTYPES_H 
-#define SISCONE_HAVE_INTTYPES_H  1 
-#endif
+#define HAVE_INTTYPES_H 1
 
 /* Define to 1 if you have the `m' library (-lm). */
-#ifndef SISCONE_HAVE_LIBM 
-#define SISCONE_HAVE_LIBM  1 
-#endif
+#define HAVE_LIBM 1
 
 /* Define to 1 if you have the <memory.h> header file. */
-#ifndef SISCONE_HAVE_MEMORY_H 
-#define SISCONE_HAVE_MEMORY_H  1 
-#endif
+#define HAVE_MEMORY_H 1
 
 /* Define to 1 if you have the <stdint.h> header file. */
-#ifndef SISCONE_HAVE_STDINT_H 
-#define SISCONE_HAVE_STDINT_H  1 
-#endif
+#define HAVE_STDINT_H 1
 
 /* Define to 1 if you have the <stdlib.h> header file. */
-#ifndef SISCONE_HAVE_STDLIB_H 
-#define SISCONE_HAVE_STDLIB_H  1 
-#endif
+#define HAVE_STDLIB_H 1
 
 /* Define to 1 if you have the <strings.h> header file. */
-#ifndef SISCONE_HAVE_STRINGS_H 
-#define SISCONE_HAVE_STRINGS_H  1 
-#endif
+#define HAVE_STRINGS_H 1
 
 /* Define to 1 if you have the <string.h> header file. */
-#ifndef SISCONE_HAVE_STRING_H 
-#define SISCONE_HAVE_STRING_H  1 
-#endif
+#define HAVE_STRING_H 1
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
-#ifndef SISCONE_HAVE_SYS_STAT_H 
-#define SISCONE_HAVE_SYS_STAT_H  1 
-#endif
+#define HAVE_SYS_STAT_H 1
 
 /* Define to 1 if you have the <sys/types.h> header file. */
-#ifndef SISCONE_HAVE_SYS_TYPES_H 
-#define SISCONE_HAVE_SYS_TYPES_H  1 
-#endif
+#define HAVE_SYS_TYPES_H 1
 
 /* Define to 1 if you have the <unistd.h> header file. */
-#ifndef SISCONE_HAVE_UNISTD_H 
-#define SISCONE_HAVE_UNISTD_H  1 
-#endif
+#define HAVE_UNISTD_H 1
 
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
-#ifndef SISCONE_LT_OBJDIR 
-#define SISCONE_LT_OBJDIR  ".libs/" 
-#endif
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
 
 /* Name of package */
-#ifndef SISCONE_PACKAGE 
-#define SISCONE_PACKAGE  "siscone" 
-#endif
+#define PACKAGE "siscone"
 
 /* Define to the address where bug reports for this package should be sent. */
-#ifndef SISCONE_PACKAGE_BUGREPORT 
-#define SISCONE_PACKAGE_BUGREPORT  "" 
-#endif
+#define PACKAGE_BUGREPORT ""
 
 /* Define to the full name of this package. */
-#ifndef SISCONE_PACKAGE_NAME 
-#define SISCONE_PACKAGE_NAME  "SISCone" 
-#endif
+#define PACKAGE_NAME "SISCone"
 
 /* Define to the full name and version of this package. */
-#ifndef SISCONE_PACKAGE_STRING 
-#define SISCONE_PACKAGE_STRING  "SISCone 3.0.5" 
-#endif
+#define PACKAGE_STRING "SISCone 2.0.5"
 
 /* Define to the one symbol short name of this package. */
-#ifndef SISCONE_PACKAGE_TARNAME 
-#define SISCONE_PACKAGE_TARNAME  "siscone" 
-#endif
+#define PACKAGE_TARNAME "siscone"
 
 /* Define to the home page for this package. */
-#ifndef SISCONE_PACKAGE_URL 
-#define SISCONE_PACKAGE_URL  "" 
-#endif
+#define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#ifndef SISCONE_PACKAGE_VERSION 
-#define SISCONE_PACKAGE_VERSION  "3.0.5" 
-#endif
+#define PACKAGE_VERSION "2.0.5"
 
 /* Define to 1 if you have the ANSI C header files. */
-#ifndef SISCONE_STDC_HEADERS 
-#define SISCONE_STDC_HEADERS  1 
-#endif
-
-/* use unique_ptr instead of auto_ptr */
-/* #undef USES_UNIQUE_PTR_AS_AUTO_PTR */
+#define STDC_HEADERS 1
 
 /* Version number of package */
-#ifndef SISCONE_VERSION 
-#define SISCONE_VERSION  "3.0.5" 
-#endif
- 
-/* once: _SISCONE_CONFIG_H */
-#endif
+#define VERSION "2.0.5"
Index: external/fastjet/plugins/SISCone/config_raw.h
===================================================================
--- external/fastjet/plugins/SISCone/config_raw.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ 	(revision )
@@ -1,68 +1,0 @@
-/* siscone/config_raw.h.  Generated from config.h.in by configure.  */
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the `m' library (-lm). */
-#define HAVE_LIBM 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
-#define LT_OBJDIR ".libs/"
-
-/* Name of package */
-#define PACKAGE "siscone"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "SISCone"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "SISCone 3.0.5"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "siscone"
-
-/* Define to the home page for this package. */
-#define PACKAGE_URL ""
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.0.5"
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* use unique_ptr instead of auto_ptr */
-/* #undef USES_UNIQUE_PTR_AS_AUTO_PTR */
-
-/* Version number of package */
-#define VERSION "3.0.5"
Index: external/fastjet/plugins/SISCone/defines.h
===================================================================
--- external/fastjet/plugins/SISCone/defines.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/defines.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 401                                                          $//
-// $Date:: 2016-05-19 16:44:37 +0200 (Thu, 19 May 2016)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -35,7 +35,7 @@
 // defined in siscone.h
 // Otherwise, config.h
-// It is also defined as "SISCONE_PACKAGE_NAME" in config.h but this method 
+// It is also defined as "PACKAGE_NAME" in config.h but this method 
 // might lead to conflicts
-//#define PROGRAM   SISCONE_PACKAGE_NAME 
+//#define PROGRAM   PACKAGE_NAME 
 
 // program version
@@ -43,5 +43,5 @@
 //   siscone::siscone_version
 // defined in siscone.h
-// It is also defined as "SISCONE_VERSION" in config.h but this method 
+// It is also defined as "VERSION" in config.h but this method 
 // might lead to conflicts
 
Index: external/fastjet/plugins/SISCone/fastjet/SISConeBasePlugin.hh
===================================================================
--- external/fastjet/plugins/SISCone/fastjet/SISConeBasePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/fastjet/SISConeBasePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -43,5 +43,4 @@
   SISConeBasePlugin (){
     _use_jet_def_recombiner = false;
-    set_progressive_removal(false);
   }
 
@@ -50,25 +49,4 @@
     *this = plugin;
   }
-
-  /// set whether to use SISCone with progressive removal instead of
-  /// the default split_merge step.
-  ///
-  /// If progressive removal is enabled, the following SISCone
-  /// variables are not used:
-  ///
-  /// - overlap_threshold
-  /// - caching
-  /// - split_merge_stopping_scale
-  ///
-  /// The split_merge_scale choice is reinterpreted as the ordering
-  /// variable for progressive removal. It is also possible for the
-  /// user to supply his/her own function for the scale that orders
-  /// progressive removal, with set_user_scale(...)
-  void set_progressive_removal(bool progressive_removal_in=true){
-    _progressive_removal = progressive_removal_in;
-  }
-
-  /// returns true if progressive_removal is enabled
-  bool progressive_removal() const{ return _progressive_removal;}
 
   /// the cone radius
@@ -127,64 +105,4 @@
   }
 
-  // user-defined scale for progressive removal
-  //------------------------------------------------------------
-
-  /// \class UserScaleBase
-  /// base class for user-defined ordering of stable cones (used for
-  /// prorgessive removal)
-  ///
-  /// derived classes have to implement the () operator that returns
-  /// the scale associated with a given jet.
-  /// 
-  /// It is also highly recommended to implement the is_larger()
-  /// method whenever possible, in order to avoid rounding issues
-  /// known to lead to possible infrared unsafeties.
-  ///
-  /// The jets that are passed to this class will carry the structure
-  /// of type SISConePlugin::StructureType which allows to retreive
-  /// easily the following information:
-  ///
-  ///   vector<PseudoJet> constituents = jet.constituents();
-  ///   unsigned int n_constituents = jet.structure_of<SISConePlugin::UserScaleBase>().size();
-  ///   int index = jet.structure_of<SISConePlugin::UserScaleBase>().constituent_index(index i);
-  ///   const PseudoJet & p = jet.structure_of<SISConePlugin::UserScaleBase>().constituent(index i);
-  ///   double scalar_pt = jet.structure_of<SISConePlugin::UserScaleBase>().pt_tilde();
-  ///
-  /// see SISConePlugin::StructureType below for further details
-  class UserScaleBase : public FunctionOfPseudoJet<double>{
-  public:
-    /// empty virtual dtor
-    virtual ~UserScaleBase(){}
-
-    /// returns the scale associated with a given jet
-    ///
-    /// "progressive removal" iteratively removes the stable cone with
-    /// the largest scale
-    virtual double result(const PseudoJet & jet) const = 0;
-
-    /// returns true when the scale associated with jet a is larger than
-    /// the scale associated with jet b
-    ///
-    /// By default this does a simple direct comparison but it can be
-    /// overloaded for higher precision [recommended if possible]
-    virtual bool is_larger(const PseudoJet & a, const PseudoJet & b) const;
-
-    class StructureType; // defined below
-  };
-
-  // template class derived from UserScaleBase::StryctureType that
-  // works for both SISCone jet classes
-  // implemented below 
-  template<class Tjet> 
-  class UserScaleBaseStructureType;
-
-  /// set a user-defined scale for stable-cone ordering in
-  /// progressive removal
-  void set_user_scale(const UserScaleBase *user_scale_in){ _user_scale = user_scale_in;}
-
-  /// returns the user-defined scale in use (0 if none)
-  const UserScaleBase * user_scale() const{ return _user_scale;}
-
-
   // the things that one MUST overload required by base class
   //---------------------------------------------------------
@@ -202,5 +120,4 @@
   double _split_merge_stopping_scale;
   bool   _use_jet_def_recombiner;
-  bool   _progressive_removal;
 
   mutable double _ghost_sep_scale;
@@ -209,6 +126,4 @@
   /// call the re-clustering itself 
   virtual void reset_stored_plugin() const =0;
-
-  const UserScaleBase * _user_scale;
 
 };
@@ -270,110 +185,4 @@
 inline SISConeBaseExtras::~SISConeBaseExtras(){}
 
-//----------------------------------------------------------------------
-// implementation of the structure type associated with the UserScaleBase class
-
-/// \class SISConeBasePlugin::UserScaleBase::StructureType
-/// the structure that allows to store the information contained
-/// into a siscone::Cjet (built internally in SISCone from a stable
-/// cone) into a PseudoJet
-class SISConeBasePlugin::UserScaleBase::StructureType : public PseudoJetStructureBase {
-public:
-  /// base ctor (constructed from a ClusterSequence tin order to have
-  /// access to the initial particles
-  StructureType(const ClusterSequence &cs)
-    : _cs(cs){}
-
-  /// empty virtual dtor 
-  virtual ~StructureType(){}
-  
-  //--------------------------------------------------
-  // members inherited from the base class
-  /// the textual descripotion
-  virtual std::string description() const{
-    return "PseudoJet wrapping a siscone jet from a stable cone"; 
-  }
-
-  /// this structure has constituents
-  virtual bool has_constituents() const {return true;}
-
-  /// retrieve the constituents 
-  ///
-  /// if you simply need to iterate over the constituents, it will be
-  /// faster to access them via constituent(i)
-  virtual std::vector<PseudoJet> constituents(const PseudoJet & /*reference*/) const{ 
-    std::vector<PseudoJet> constits;
-    constits.reserve(size());
-    for (unsigned int i=0; i<size();i++)
-      constits.push_back(constituent(i));
-    return constits;
-  }
-  
-  //--------------------------------------------------
-  // additional information relevant for this structure
-
-  /// returns the number of constituents
-  virtual unsigned int size() const = 0;
-
-  /// returns the index (in the original particle list) of the ith
-  /// constituent
-  virtual int constituent_index(unsigned int i) const = 0;
-
-  /// returns the ith constituent (as a PseusoJet)
-  const PseudoJet & constituent(unsigned int i) const{
-    return _cs.jets()[constituent_index(i)];
-  }
-
-  // /// returns the scalar pt of this stable cone
-  // virtual double pt_tilde() const = 0;
-
-  /// returns the sm_var2 (signed ordering variable squared) for this stable cone
-  virtual double ordering_var2() const = 0;
-
-protected:
-  const ClusterSequence &_cs; ///< a reference to the CS (for access to the particles)
-};
-
-
-///@ingroup internal
-/// template class derived from UserScaleBase::StryctureType that
-/// works for both SISCone jet classes
-/// implemented below 
-template<class Tjet>
-class SISConeBasePlugin::UserScaleBaseStructureType : public UserScaleBase::StructureType{
-public:
-  UserScaleBaseStructureType(const Tjet &jet, const ClusterSequence &cs)
-    : UserScaleBase::StructureType(cs), _jet(jet){}
-
-  /// empty virtual dtor 
-  virtual ~UserScaleBaseStructureType(){}
-
-  //--------------------------------------------------
-  // additional information relevant for this structure
-
-  /// returns the number of constituents
-  virtual unsigned int size() const{
-    return _jet.n;
-  }
-
-  /// returns the index (in the original particle list) of the ith
-  /// constituent
-  virtual int constituent_index(unsigned int i) const{
-    return _jet.contents[i];
-  }
-
-  // /// returns the scalar pt of this stable cone
-  // virtual double pt_tilde() const{
-  //   return _jet.pt_tilde;
-  // }
-
-  /// returns the sm_var2 (signed ordering variable squared) for this stable cone
-  virtual double ordering_var2() const{
-    return _jet.sm_var2;
-  }
-
-protected:
-  const Tjet &_jet; ///< a reference to the internal jet in SISCone
-};
-
 
 FASTJET_END_NAMESPACE        // defined in fastjet/internal/base.hh
Index: external/fastjet/plugins/SISCone/fastjet/SISConePlugin.hh
===================================================================
--- external/fastjet/plugins/SISCone/fastjet/SISConePlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/fastjet/SISConePlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -7,5 +7,4 @@
 namespace siscone{
   class Csiscone;
-  class Cjet;
 }
 
@@ -75,12 +74,11 @@
   /// enum for the different split-merge scale choices;
   /// Note that order _must_ be the same as in siscone
-  enum SplitMergeScale {
-    SM_pt,     ///< transverse momentum (E-scheme), IR unsafe
-    SM_Et,     ///< transverse energy (E-scheme), not long. boost invariant
-               ///< original run-II choice [may not be implemented]
-    SM_mt,     ///< transverse mass (E-scheme), IR safe except
-               ///< in decays of two identical narrow heavy particles
-    SM_pttilde ///< pt-scheme pt = \sum_{i in jet} |p_{ti}|, should
-               ///< be IR safe in all cases
+  enum SplitMergeScale {SM_pt,     ///< transverse momentum (E-scheme), IR unsafe
+                        SM_Et,     ///< transverse energy (E-scheme), not long. boost invariant
+                                   ///< original run-II choice [may not be implemented]
+                        SM_mt,     ///< transverse mass (E-scheme), IR safe except
+                                   ///< in decays of two identical narrow heavy particles
+                        SM_pttilde ///< pt-scheme pt = \sum_{i in jet} |p_{ti}|, should
+                                   ///< be IR safe in all cases
   };
 
@@ -110,6 +108,5 @@
     _split_merge_stopping_scale = split_merge_stopping_scale_in;
     _ghost_sep_scale       = 0.0;
-    _use_pt_weighted_splitting = false;
-    _user_scale = 0;}
+    _use_pt_weighted_splitting = false;}
 
 
@@ -128,6 +125,5 @@
     _split_merge_stopping_scale = 0.0;
     _split_merge_scale     = split_merge_on_transverse_mass_in ? SM_mt : SM_pttilde;
-    _ghost_sep_scale       = 0.0;
-    _user_scale = 0;}
+    _ghost_sep_scale       = 0.0;}
   
   /// backwards compatible constructor for the SISCone Plugin class
@@ -145,6 +141,5 @@
     _split_merge_stopping_scale = 0.0;
     _ghost_sep_scale       = 0.0;
-    _use_pt_weighted_splitting = false;
-    _user_scale = 0;}
+    _use_pt_weighted_splitting = false;}
 
   /// minimum pt for a protojet to be considered in the split-merge step
@@ -191,56 +186,9 @@
   // part needed for the cache 
   // variables for caching the results and the input
-  static SharedPtr<SISConePlugin          > stored_plugin;
-  static SharedPtr<std::vector<PseudoJet> > stored_particles;
-  static SharedPtr<siscone::Csiscone      > stored_siscone;
+  static std::auto_ptr<SISConePlugin          > stored_plugin;
+  static std::auto_ptr<std::vector<PseudoJet> > stored_particles;
+  static std::auto_ptr<siscone::Csiscone      > stored_siscone;
 };
 
-
-/////\class SISConePlugin::UserScaleBase::StructureType
-///// the structure that allows to store the information contained
-///// into a siscone::Cjet (built internally in SISCone from a stable
-///// cone) into a PseudoJet
-//class SISConePlugin::UserScaleBase::StructureType : public PseudoJetStructureBase {
-//public:
-//  StructureType(const siscone::Cjet & jet, const ClusterSequence &cs)
-//    : _jet(jet), _cs(cs){}
-//
-//  //--------------------------------------------------
-//  // members inherited from the base class
-//  /// the textual descripotion
-//  virtual std::string description() const;
-//
-//  /// this structure has constituents
-//  virtual bool has_constituents() const {return true;}
-//
-//  /// retrieve the constituents 
-//  ///
-//  /// if you simply need to iterate over the constituents, it will be
-//  /// faster to access them via constituent(i)
-//  virtual std::vector<PseudoJet> constituents(const PseudoJet & /*reference*/) const;
-//
-//  //--------------------------------------------------
-//  // additional information relevant for this structure
-//
-//  /// returns the number of constituents
-//  unsigned int size() const;
-//
-//  /// returns the index (in the original particle list) of the ith
-//  /// constituent
-//  int constituent_index(unsigned int i) const;
-//
-//  /// returns the ith constituent (as a PseusoJet)
-//  const PseudoJet & constituent(unsigned int i) const;
-//
-//  /// returns the scalar pt of this stable cone
-//  double pt_tilde() const;
-//
-//  /// returns the sm_var2 (signed ordering variable squared) for this stable cone
-//  double ordering_var2() const;
-//
-//protected:
-//  const siscone::Cjet &_jet;  ///< a dreference to the internal jet in SISCone
-//  const ClusterSequence &_cs; ///< a reference to the CS (for access to the particles)
-//};
 
 //======================================================================
Index: external/fastjet/plugins/SISCone/fastjet/SISConeSphericalPlugin.hh
===================================================================
--- external/fastjet/plugins/SISCone/fastjet/SISConeSphericalPlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/fastjet/SISConeSphericalPlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -152,8 +152,4 @@
   virtual void run_clustering(ClusterSequence &) const ;
 
-  /// returns true because this plugin is intended for spherical
-  /// geometries (i.e. it's an e+e- algorithm).
-  virtual bool is_spherical() const {return true;}
-
 protected:
   virtual void reset_stored_plugin() const;
@@ -166,7 +162,7 @@
   // part needed for the cache 
   // variables for caching the results and the input
-  static SharedPtr<SISConeSphericalPlugin        > stored_plugin;
-  static SharedPtr<std::vector<PseudoJet>        > stored_particles;
-  static SharedPtr<siscone_spherical::CSphsiscone> stored_siscone;
+  static std::auto_ptr<SISConeSphericalPlugin        > stored_plugin;
+  static std::auto_ptr<std::vector<PseudoJet>        > stored_particles;
+  static std::auto_ptr<siscone_spherical::CSphsiscone> stored_siscone;
 };
 
Index: external/fastjet/plugins/SISCone/geom_2d.cc
===================================================================
--- external/fastjet/plugins/SISCone/geom_2d.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/geom_2d.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 171                                                          $//
-// $Date:: 2007-06-19 16:26:05 +0200 (Tue, 19 Jun 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/geom_2d.h
===================================================================
--- external/fastjet/plugins/SISCone/geom_2d.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/geom_2d.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 422                                                          $//
-// $Date:: 2020-04-22 11:51:09 +0200 (Wed, 22 Apr 2020)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -153,10 +153,10 @@
   /// return the cell index corrsponding to an eta value
   inline unsigned int get_eta_cell(double eta){
-    return (unsigned int) (1u << ((int) (32*((eta-eta_min)/(eta_max-eta_min)))));
+    return (unsigned int) (1 << ((int) (32*((eta-eta_min)/(eta_max-eta_min)))));
   }
 
   /// return the cell index corrsponding to a phi value
   inline unsigned int get_phi_cell(double phi){
-    return (unsigned int) (1u << ((int) (32*phi/twopi+16)%32));
+    return (unsigned int) (1 << ((int) (32*phi/twopi+16)%32));
   }
 };
Index: external/fastjet/plugins/SISCone/hash.cc
===================================================================
--- external/fastjet/plugins/SISCone/hash.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/hash.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 225                                                          $//
-// $Date:: 2008-05-20 16:59:47 +0200 (Tue, 20 May 2008)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/hash.h
===================================================================
--- external/fastjet/plugins/SISCone/hash.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/hash.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 224                                                          $//
-// $Date:: 2008-05-16 19:58:30 +0200 (Fri, 16 May 2008)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/momentum.cc
===================================================================
--- external/fastjet/plugins/SISCone/momentum.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/momentum.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 123                                                          $//
-// $Date:: 2007-03-01 02:52:16 +0100 (Thu, 01 Mar 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/momentum.h
===================================================================
--- external/fastjet/plugins/SISCone/momentum.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/momentum.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 163                                                          $//
-// $Date:: 2007-04-26 22:31:02 +0200 (Thu, 26 Apr 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/protocones.cc
===================================================================
--- external/fastjet/plugins/SISCone/protocones.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/protocones.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 322                                                          $//
-// $Date:: 2011-11-15 10:12:36 +0100 (Tue, 15 Nov 2011)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/protocones.h
===================================================================
--- external/fastjet/plugins/SISCone/protocones.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/protocones.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 224                                                          $//
-// $Date:: 2008-05-16 19:58:30 +0200 (Fri, 16 May 2008)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/quadtree.cc
===================================================================
--- external/fastjet/plugins/SISCone/quadtree.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/quadtree.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 320                                                          $//
-// $Date:: 2011-11-15 09:54:50 +0100 (Tue, 15 Nov 2011)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/quadtree.h
===================================================================
--- external/fastjet/plugins/SISCone/quadtree.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/quadtree.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 123                                                          $//
-// $Date:: 2007-03-01 02:52:16 +0100 (Thu, 01 Mar 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/reference.cc
===================================================================
--- external/fastjet/plugins/SISCone/reference.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/reference.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 311                                                          $//
-// $Date:: 2011-10-05 23:27:09 +0200 (Wed, 05 Oct 2011)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/reference.h
===================================================================
--- external/fastjet/plugins/SISCone/reference.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/reference.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 123                                                          $//
-// $Date:: 2007-03-01 02:52:16 +0100 (Thu, 01 Mar 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
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;
+}
+
+}
Index: external/fastjet/plugins/SISCone/siscone.h
===================================================================
--- external/fastjet/plugins/SISCone/siscone.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/siscone.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 401                                                          $//
-// $Date:: 2016-05-19 16:44:37 +0200 (Thu, 19 May 2016)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -79,25 +79,4 @@
 
   /**
-   * compute the jets from a given particle set.
-   * We are doing multiple passes such pass n_pass looks for jets among 
-   * all particles not put into jets during previous passes.
-   * By default the number of passes is infinite (0). 
-   * \param _particles   list of particles
-   * \param _radius      cone radius
-   * \param _n_pass_max  maximum number of passes (0=full search)
-   * \param _ptmin       minimum pT of the protojets
-   * \param _ordering_scale    the ordering scale to decide which stable
-   *                           cone is removed
-   *
-   * Note that the Csplit_merge::SM_var2_hardest_cut_off cut is not
-   * used in the progressive removal variant.
-   * 
-   * \return the number of jets found.
-   */
-  int compute_jets_progressive_removal(std::vector<Cmomentum> &_particles, double _radius, 
-				       int _n_pass_max=0, double _ptmin=0.0,
-				       Esplit_merge_scale _ordering_scale=SM_pttilde);
-
-  /**
    * recompute the jets with a different overlap parameter.
    * we use the same particles and R as in the preceeding call.
@@ -114,5 +93,5 @@
 		     Esplit_merge_scale _split_merge_scale=SM_pttilde);
 
-  /// list of protocones found pass-by-pass (not filled by compute_jets_progressive_removal)
+  /// list of protocones found pass-by-pass
   std::vector<std::vector<Cmomentum> > protocones_list;
 
@@ -146,8 +125,4 @@
   bool rerun_allowed;         ///< is recompute_jets allowed ?
   static std::ostream * _banner_ostr; ///< stream to use for banners
-
-  /// ensure things are initialised
-  void _initialise_if_needed();
-
 };
 
@@ -160,6 +135,6 @@
  * 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
  */
Index: external/fastjet/plugins/SISCone/siscone_error.cc
===================================================================
--- external/fastjet/plugins/SISCone/siscone_error.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/siscone_error.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 123                                                          $//
-// $Date:: 2007-03-01 02:52:16 +0100 (Thu, 01 Mar 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/siscone_error.h
===================================================================
--- external/fastjet/plugins/SISCone/siscone_error.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/siscone_error.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 327                                                          $//
-// $Date:: 2011-11-25 15:19:39 +0100 (Fri, 25 Nov 2011)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/SISCone/split_merge.cc
===================================================================
--- external/fastjet/plugins/SISCone/split_merge.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/split_merge.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 390                                                          $//
-// $Date:: 2016-03-03 11:06:52 +0100 (Thu, 03 Mar 2016)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -28,4 +28,5 @@
 #include "siscone_error.h"
 #include "momentum.h"
+#include <math.h>
 #include <limits>   // for max
 #include <iostream>
@@ -33,5 +34,4 @@
 #include <sstream>
 #include <cassert>
-#include <cmath>
 
 namespace siscone{
@@ -54,6 +54,4 @@
   pt_tilde = 0.0;
   sm_var2 = 0.0;
-  pass = CJET_INEXISTENT_PASS; // initialised to a value that should
-                               // notappear in the end (after clustering)
 }
 
@@ -231,5 +229,4 @@
 #endif
 #endif
-  _user_scale = NULL;
   indices = NULL;
 
@@ -240,5 +237,5 @@
 
   // no hardest cut (col-unsafe)
-  SM_var2_hardest_cut_off = -numeric_limits<double>::max();
+  SM_var2_hardest_cut_off = -1.0;
 
   // no pt cutoff for the particles to put in p_uncol_hard
@@ -558,150 +555,4 @@
 }
 
-
-/*
- * remove the hardest protocone and declare it a a jet 
- *  - protocones  list of protocones (initial jet candidates)
- *  - R2          cone radius (squared)
- *  - ptmin       minimal pT allowed for jets
- * return 0 on success, 1 on error
- *
- * The list of remaining particles (and the uncollinear-hard ones)
- * is updated.
- */
-int Csplit_merge::add_hardest_protocone_to_jets(std::vector<Cmomentum> *protocones, double R2, double ptmin){
-
-  int i;
-  Cmomentum *c;
-  Cmomentum *v;
-  double eta, phi;
-  double dx, dy;
-  double R;
-  Cjet jet, jet_candidate;
-  bool found_jet = false;
-
-  if (protocones->size()==0)
-    return 1;
-
-  pt_min2 = ptmin*ptmin;
-  R = sqrt(R2);
-
-  // browse protocones
-  // for each of them, build the list of particles in them
-  for (vector<Cmomentum>::iterator p_it = protocones->begin();p_it != protocones->end();p_it++){
-    // initialise variables
-    c = &(*p_it);
-
-    // note: cones have been tested => their (eta,phi) coordinates are computed
-    eta = c->eta;
-    phi = c->phi;
-
-    // NOTE: this is common to this method and add_protocones, so it
-    // could be moved into a 'build_jet_from_protocone' method
-    //
-    // browse particles to create cone contents
-    jet_candidate.v = Cmomentum();
-    jet_candidate.pt_tilde=0;
-    jet_candidate.contents.clear();
-    for (i=0;i<n_left;i++){
-      v = &(p_remain[i]);
-      // for security, avoid including particles with infinite rapidity)
-      // NO NEEDED ANYMORE SINCE REMOVED FROM p_remain FROM THE BEGINNING
-      //if (fabs(v->pz)!=v->E){
-      dx = eta - v->eta;
-      dy = fabs(phi - v->phi);
-      if (dy>M_PI) 
-	dy -= twopi;
-      if (dx*dx+dy*dy<R2){
-	jet_candidate.contents.push_back(v->parent_index);
-	jet_candidate.v+= *v;
-	jet_candidate.pt_tilde+= pt[v->parent_index];
-	v->index=0;
-      }
-    }
-    jet_candidate.n=jet_candidate.contents.size();
-
-    // set the momentum in protocones 
-    // (it was only known through eta and phi up to now)
-    *c = jet_candidate.v;
-    c->eta = eta; // restore exact original coords
-    c->phi = phi; // to avoid rounding error inconsistencies
-
-    // set the jet range
-    jet_candidate.range=Ceta_phi_range(eta,phi,R);
-
-    // check that the protojet has large enough pt
-    if (jet_candidate.v.perp2()<pt_min2)
-      continue;
-
-    // assign the split-merge (or progressive-removal) squared scale variable
-    if (_user_scale) {
-      // sm_var2 is the signed square of the user scale returned
-      // for the jet candidate
-      jet_candidate.sm_var2 = (*_user_scale)(jet_candidate);
-      jet_candidate.sm_var2 *= abs(jet_candidate.sm_var2);
-    } else {
-      jet_candidate.sm_var2 = get_sm_var2(jet_candidate.v, jet_candidate.pt_tilde);
-    }
-
-    // now check if it is possibly the hardest
-    if ((! found_jet) ||
-	(_user_scale ? _user_scale->is_larger(jet_candidate, jet)
-	             : ptcomparison(jet_candidate, jet))){
-      jet = jet_candidate;
-      found_jet = true;
-    }
-  }
-
-  // make sure at least one of the jets has passed the selection
-  if (!found_jet) return 1;  
-  
-  // add the jet to the list of jets
-  jets.push_back(jet);
-  jets[jets.size()-1].v.build_etaphi();
-
-#ifdef DEBUG_SPLIT_MERGE
-  cout << "PR-Jet " << jets.size() << " [size " << jet.contents.size() << "]:";
-#endif
-    
-  // update the list of what particles are left
-  int p_remain_index = 0;
-  int contents_index = 0;
-  //sort(next_jet.contents.begin(),next_jet.contents.end());
-  for (int index=0;index<n_left;index++){
-    if ((contents_index<(int) jet.contents.size()) &&
-	(p_remain[index].parent_index == jet.contents[contents_index])){
-      // this particle belongs to the newly found jet
-      // set pass in initial list
-      particles[p_remain[index].parent_index].index = n_pass;
-#ifdef DEBUG_SPLIT_MERGE
-      cout << " " << jet.contents[contents_index];
-#endif
-      contents_index++;
-    } else {
-      // this particle still has to be clustered
-      p_remain[p_remain_index] = p_remain[index];
-      p_remain[p_remain_index].parent_index = p_remain[index].parent_index;
-      p_remain[p_remain_index].index=1;
-      p_remain_index++;
-    }
-  }
-  p_remain.resize(n_left-jet.contents.size());
-  n_left = p_remain.size();
-  jets[jets.size()-1].pass = particles[jet.contents[0]].index;
-
-  // increase the pass index
-  n_pass++;
-
-#ifdef DEBUG_SPLIT_MERGE
-  cout << endl;
-#endif
-
-  // male sure the list of uncol_hard particles (used for the next
-  // stable cone finding) is updated [could probably be more
-  // efficient]
-  merge_collinear_and_remove_soft();
-  
-  return 0;
-}
 
 /*
@@ -1181,6 +1032,6 @@
   }
 
-  //return 0.0;
-}
-
-}
+  return 0.0;
+}
+
+}
Index: external/fastjet/plugins/SISCone/split_merge.h
===================================================================
--- external/fastjet/plugins/SISCone/split_merge.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/split_merge.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 405                                                          $//
-// $Date:: 2016-05-23 20:15:02 +0200 (Mon, 23 May 2016)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -29,5 +29,4 @@
 #define __SPLIT_MERGE_H__
 
-#include "config.h"
 #include "defines.h"
 #include "geom_2d.h"
@@ -40,6 +39,4 @@
 
 namespace siscone{
-
-const int CJET_INEXISTENT_PASS = -2;
 
 /**
@@ -78,6 +75,4 @@
   /// pass at which the jet has been found
   /// It starts at 0 (first pass), -1 means infinite rapidity
-  /// (it will be initialised to "CJET_INEXISTENT_PASS" which should
-  /// never appear after clustering)
   int pass;
 };
@@ -146,5 +141,5 @@
   /// the split-merge process i.e. the variable we use for 
   ///  1. ordering jet candidates;
-  ///  2. computing the overlap fraction of two candidates.
+  ///  2. computing te overlap fraction of two candidates.
   /// The default value uses pttile (p-scheme pt). Other alternatives are
   /// pt, mt=sqrt(pt^2+m^2)=sqrt(E^2-pz^2) or Et. 
@@ -156,5 +151,5 @@
   ///   the default value i.e.  to use pt only for the purpose of
   ///   investigating the IR issue
-  /// - using Et is safe but does not respect boost invariance
+  /// - using Et is safe but do not respect boost invariance
   /// - using mt solves the IR unsafety issues with the pt variable
   ///   for QCD jets but the IR unsafety remains for nack-to-back 
@@ -239,50 +234,4 @@
   int full_clear();
 
-  ///////////////////////////////////////
-  // user-defined stable-cone ordering //
-  ///////////////////////////////////////
-
-  /// \class Cuser_scale_base
-  /// base class for user-defined ordering of stable cones
-  ///
-  /// derived classes have to implement the () operator that returns
-  /// the scale associated with a given jet.
-  class Cuser_scale_base{
-  public:
-    /// empty virtual dtor
-    virtual ~Cuser_scale_base(){}
-
-    /// the scale associated with a given jet
-    ///
-    /// "progressive removal" iteratively removes the stable cone with
-    /// the largest scale
-    virtual double operator()(const Cjet & jet) const = 0;
-
-    /// returns true when the scale associated with jet a is larger than
-    /// the scale associated with jet b
-    ///
-    /// By default this does a simple direct comparison but it can be
-    /// overloaded for higher precision [recommended if possible]
-    ///
-    /// This function assumes that a.sm_var2 and b.sm_var2 have been
-    /// correctly initialised with the signed squared output of
-    /// operator(), as is by default the case when is_larger is called
-    /// from within siscone.
-    virtual bool is_larger(const Cjet & a, const Cjet & b) const{
-      return (a.sm_var2 > b.sm_var2);
-    }
-  };
-
-  /// associate a user-defined scale to order the stable cones
-  ///
-  /// Note that this is only used in "progressive-removal mode",
-  /// e.g. in add_hardest_protocone_to_jets().
-  void set_user_scale(const Cuser_scale_base * user_scale_in){
-    _user_scale = user_scale_in;
-  }
-
-  /// return the user-defined scale (NULL if none)
-  const Cuser_scale_base * user_scale() const { return _user_scale; }
-
 
   /////////////////////////////////
@@ -307,16 +256,4 @@
    */
   int add_protocones(std::vector<Cmomentum> *protocones, double R2, double ptmin=0.0);
-
-  /**
-   * remove the hardest protocone and declare it a jet 
-   * \param protocones  list of protocones (initial jet candidates)
-   * \param R2          cone radius (squared)
-   * \param ptmin       minimal pT allowed for jets
-   * \return 0 on success, 1 on error
-   *
-   * The list of remaining particles (and the uncollinear-hard ones)
-   * is updated.
-   */
-  int add_hardest_protocone_to_jets(std::vector<Cmomentum> *protocones, double R2, double ptmin=0.0);
 
   /**
@@ -377,9 +314,8 @@
   Csplit_merge_ptcomparison ptcomparison;
 
-  /// stop split--merge or progressive-removal when the squared SM_var
-  /// of the hardest protojet is below this cut-off. Note that this is
-  /// a signed square (ie SM_var*|SM_var|) to be able to handle
-  /// negative values.
-  ///
+  /// stop split--merge when the SM_var of the hardest protojet 
+  /// is below this cut-off. 
+  /// This is not collinear-safe so you should not use this
+  /// variable unless you really know what you are doing
   /// Note that the cut-off is set on the variable squared.
   double SM_var2_hardest_cut_off;
@@ -388,8 +324,4 @@
   /// this is meant to allow removing soft particles in the
   /// stable-cone search.
-  ///
-  /// This is not collinear-safe so you should not use this
-  /// variable unless you really know what you are doing
-  /// Note that the cut-off is set on the variable squared.
   double stable_cone_soft_pt2_cutoff;
 
@@ -446,10 +378,6 @@
   // jet information
   /// list of jet candidates
-#if __cplusplus < 201103L
   std::auto_ptr<std::multiset<Cjet,Csplit_merge_ptcomparison> > candidates;
-#else
-  std::unique_ptr<std::multiset<Cjet,Csplit_merge_ptcomparison> > candidates;
-#endif
-  
+
   /// minimal pt2
   double pt_min2;
@@ -461,8 +389,4 @@
    */
   bool use_pt_weighted_splitting;
-
-  /// use a user-defined scale to order the stable cones and jet
-  /// candidates
-  const Cuser_scale_base *_user_scale;
 
 #ifdef ALLOW_MERGE_IDENTICAL_PROTOCONES
Index: external/fastjet/plugins/SISCone/vicinity.cc
===================================================================
--- external/fastjet/plugins/SISCone/vicinity.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/vicinity.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -21,6 +21,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 388                                                          $//
-// $Date:: 2016-03-03 10:42:25 +0100 (Thu, 03 Mar 2016)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -80,5 +80,4 @@
   VR2 = VR = 0.0;
 
-  ve_list = NULL;
   set_particle_list(_particle_list);
 }
Index: external/fastjet/plugins/SISCone/vicinity.h
===================================================================
--- external/fastjet/plugins/SISCone/vicinity.h	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/SISCone/vicinity.h	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -22,6 +22,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
 //                                                                           //
-// $Revision:: 123                                                          $//
-// $Date:: 2007-03-01 02:52:16 +0100 (Thu, 01 Mar 2007)                     $//
+// $Revision::                                                              $//
+// $Date::                                                                  $//
 ///////////////////////////////////////////////////////////////////////////////
 
Index: external/fastjet/plugins/TrackJet/TrackJetPlugin.cc
===================================================================
--- external/fastjet/plugins/TrackJet/TrackJetPlugin.cc	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/TrackJet/TrackJetPlugin.cc	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,9 +1,14 @@
-//FJSTARTHEADER
-// $Id: TrackJetPlugin.cc 4442 2020-05-05 07:50:11Z soyez $
-//
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+//STARTHEADER
+// $Id$
+//
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
-// This file is part of FastJet.
+// This file is part of FastJet. It contains code that has been
+// obtained from the Rivet project by Leif Lonnblad, Andy Buckley and
+// Jon Butterworth. See http://www.hepforge.org/downloads/rivet.
+// Rivet is free software released under the terms of the GNU Public
+// License(v2).
+// Changes from the original file are listed below.
 //
 //  FastJet is free software; you can redistribute it and/or modify
@@ -13,9 +18,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +30,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 // History of changes from the original TrackJet.cc file in Rivet <=1.1.2
Index: external/fastjet/plugins/TrackJet/fastjet/TrackJetPlugin.hh
===================================================================
--- external/fastjet/plugins/TrackJet/fastjet/TrackJetPlugin.hh	(revision 4564cba9fa0180ca6c293da8cea545291a6d0116)
+++ external/fastjet/plugins/TrackJet/fastjet/TrackJetPlugin.hh	(revision d7d2da362406b9e37fdf238970417c94779b54b0)
@@ -1,6 +1,6 @@
-//FJSTARTHEADER
-// $Id: TrackJetPlugin.hh 4442 2020-05-05 07:50:11Z soyez $
+//STARTHEADER
+// $Id: TrackJetPlugin.hh 2758 2011-11-24 08:31:58Z soyez $
 //
-// Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
+// Copyright (c) 2007-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
 //
 //----------------------------------------------------------------------
@@ -13,9 +13,7 @@
 //
 //  The algorithms that underlie FastJet have required considerable
-//  development. They are described in the original FastJet paper,
-//  hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
+//  development and are described in hep-ph/0512210. If you use
 //  FastJet as part of work towards a scientific publication, please
-//  quote the version you use and include a citation to the manual and
-//  optionally also to hep-ph/0512210.
+//  include a citation to the FastJet paper.
 //
 //  FastJet is distributed in the hope that it will be useful,
@@ -27,5 +25,5 @@
 //  along with FastJet. If not, see <http://www.gnu.org/licenses/>.
 //----------------------------------------------------------------------
-//FJENDHEADER
+//ENDHEADER
 
 #ifndef __TRACKJETPLUGIN_HH__
