========== CHANGELOG FILE FOR FastJet =================================
2024-07-05  FastJet team <fastjet@projects.hepforge.org>

	Release of FastJet fastjet-3.4.3


2024-07-02 Matteo, Gregory & Gavin

	* NEWS.md:
	prepared NEWS for 3.4.3 release

	* Makefile.am:
	* m4/ax_pkg_swig.m4:
	* m4/ax_prefix_config_h.m4:
	* m4/ax_swig_enable_cxx.m4:
	Merged https://gitlab.com/fastjet/fastjet/-/merge_requests/3, from 
	Eli Schwartz, updating autotools macros to the latest version

	* configure.ac:
	* m4/plugin.m4:
	Merged https://gitlab.com/fastjet/fastjet/-/merge_requests/2, to fix 
	"broken bashims", from Eli Schwartz, i.e. making things compatible
	with plain sh (e.g. dash)

2024-06-05  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence.cc:
	fixed typos in error message

2024-05-24  Matteo Cacciari 

	* configure.ac:
	added check against installation paths containing spaces

2024-05-21  Gavin Salam 

	* include/fastjet/internal/deprecated.hh:
	fixed typo in comment

2024-02-24 Gavin

	* configure.ac:
	python-config search also looks for python3-config

2023-07-28 Gregory, Matteo, Gavin

	* ClusterSequenceAreaBase.cc:
	removed unused variable (n_exclude) in 
	ClusterSequenceAreaBase::_parabolic_pt_per_unit_area
	and replaced tabs -> spaces

2023-07-28  FastJet team <fastjet@projects.hepforge.org>

	Release of FastJet fastjet-3.4.2

2023-07-28 Gregory, Matteo, Gavin

	* NEWS:
	drafting news items for 3.4.2 release

	* plugins/SISCone/siscone:
	updated SISCone to siscone-3.0.6

2023-06-18  Gavin Salam  <gavin.salam@physics.ox.ac.uk>

	* development:
	* meeting:

	* plugins/SISCone/siscone:
	updated SISCone to baeae61, which eliminates -ffast-math
	option (full release to come later if it passes checks).

2023-06-07 Gavin Salam <gavin.salam@physics.ox.ac.uk>

	* include/fastjet/internal/ClosestPair2D.hh: 	
	moved the ClosestPair2D::Point class definition inside the
	ClosestPair2D class, following report from Andre Sailer that its
	original location was causing compilation errors with Clang version
	16, and the c++20 standard

	* scripts/mksnapshot.sh:
	fixed issue that script was incorrectly signalling local changes
	even when there were none

2023-05-11  Gregory Soyez  <soyez@fastjet.fr>

	* examples/*.{hh,cc}
	updated the header (copyright dates and scientific references)

2023-05-11  Gregory Soyez  <soyez@fastjet.fr>

	* scripts/update-headers.pl:
	added "example" to the list of folders to check

2023-05-05  Gavin SALAM  <gavin.salam@cern.ch>

	* regression-tests/nightly-check.pl:
	went back to old CGAL path for nightly checks

2023-05-02  FastJet team <fastjet@projects.hepforge.org>

	Release of FastJet fastjet-3.4.1

2023-05-02  Gregory Soyez  <soyez@fastjet.fr>

	* almost all cc and hh files:
	updated the header to include the correct years in the copyright

2023-05-02  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	set the release date for v3.4.1 to May the 2nd 2023

2023-04-25 Tue  <gavin.salam@physics.ox.ac.uk>

	* NEWS:
	drafting news items for 3.4.1 release

2023-02-18 Sat  <gavin.salam@physics.ox.ac.uk>

	* scripts/mksnapshot.sh:
	updated script to use git rather than svn

	* autogen.sh:
	switched over to bash explicitly, and addressed issues
	with check for glibtool on Mac OS. 

2023-02-16  Gavin Salam  <gavin.salam@physics.ox.ac.uk>

	* testsuite/mkcxx.pl: *ADDED*
	* testsuite/mkmk:
	added the mkcxx.pl script used by mkmk and adapted
	mkmk to use the local version (intended to ease
	testing on vanilla systems)

2023-02-16  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* src/PseudoJet.cc (PseudoJet::_ensure_valid_rap_phi):
	Changed the part that waits until the calculation is done to a
	simple loop. Also, set the computation/wait mechanism to use
	memory_order_releease/memory_order_acquire

2023-02-15 Gavin Salam  <gavin.salam@physics.ox.ac.uk> + Gregory


	* src/PseudoJet.cc:
	replaced use of _init_status = Init_Done with _init_status.store(Init_Done)
	(though we expect it to be equivalent)

	* testsuite/README:
	fixed a few details

	* testsuite/TestThreadsBase.hh:
	* testsuite/thread_safety_tests.cc:
	trying to get repeated tests of reset momentum and assignment,
	to help increase likelihood of catching thread safety issues, 
	if any remain (so far it passes).

	* testsuite/README:
	added a note about the thread safety tests and fixed some typos.

2023-02-14  Gregory Soyez  <soyez@fastjet.fr>

	* testsuite/TestThreadsBase.hh:
	* testsuite/thread_safety_tests.cc:
	* testsuite/TestPseudoJet.hh:
	added tests of thread safety for the copy and reset_momentum of
	PseudoJet

	* include/fastjet/PseudoJet.hh:
	removed line wrongly left in during earlier tests

2023-02-14 Tue  <gavin.salam@physics.ox.ac.uk> with Gregory

    * include/fastjet/PseudoJet.hh:
    * src/PseudoJet.cc:

	attempted fix of a severe thread safety issue in
	PseudoJet::reset_momentum(const PseudoJet &) and
	PseudoJet::operator=(const PseudoJet &) to do with caching of
	rapidity and phi (issue brough up by Ludovic Scyboz). Further tests
	still to be written.


2023-02-14  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/internal/ClusterSequence_N2.icc:
	* src/LazyTiling9.cc:
	* src/LazyTiling9Alt.cc:
	* src/LazyTiling25.cc:
	* src/ClusterSequence_TiledN2.cc:

	got rid of "history_location" (a remnant of an archaic treatment
	of recombination histories) which was no longer used.  This fixes
	an issue reported by Torbjorn Sjostrand (and Philip Ilten) of
	compilation warnings with clang15.

2022-12-08  Gavin SALAM  <gavin.salam@cern.ch>

	* regression-tests/nightly-check.pl: 
	commented out very old version of icpc in tests (default in path, 
	was 10.1.018). Increased number of events in the v14 from 10 to 1k

2022-12-08 Gavin Salam  <gavin.salam@physics.ox.ac.uk>

	* src/ClusterSequenceAreaBase.cc:
	* tools/BackgroundEstimatorBase.cc:
	* tools/JetMedianBackgroundEstimator.cc:

	in various places, replaced sqrt(mean_area) -> sqrt(max(0.0, mean_area))
	so that when the mean area is negative we don't get NaN for the 
	sigma result (which causes an FPE for ATLAS, as reported by PAD, 
	and documented as our 2022-11-FPE-negative-sqrt-density-sigma issue).

	Note, this is not a proper fix for the underlying physical problem
	in that issue, which is that in some small fraction of events, when
	the clustering inputs are restricted to be within the area selection
	region, Voronoi areas extend well beyond the area selection region,
	which can lead to unphysical results for rho. One could even argue that
	the FPE was useful, because it signalled the existence of the problem.

	Also fixed typos in comments. 

2022-11-01  Gavin Salam  <gavin.salam@physics.ox.ac.uk>

	* pyinterface/fastjet.i:
	Accepting merge request from Chris Papageorgakis
	<chrispap95@gmail.com>, which fixes an issue with an import
	string

2022-09-27 Tue  <gavin.salam@physics.ox.ac.uk> + Gregory

	* configure.ac:
	replaced default auto_ptr interface from enabled to disabled,
	reflecting trouble with modern compilers that no longer
	have auto_ptr by default (report from Samiur Mir). 
	Enable at configure-time with --enable-auto-ptr

2022-07-23  Gavin Salam  <gavin.salam@physics.ox.ac.uk>

	* fastjet-config.in:
	fixed issue where `fastjet-config --pythonpath` was giving incorrect
	path for non-standard install locations.

2022-06-10 Fri  <gavin.salam@physics.ox.ac.uk>

	* testsuite/thread_safety_tests.cc:
	removed old unused testing code (superseded by the contents of TestThreadsbase.hh)

2021-11-21 Sun  <gavin.salam@physics.ox.ac.uk>

	* include/fastjet/ClusterSequence.hh:

	rearranged comments for history_element, so that doxygen output
	comes out OK (comments were being associated with wrong variable).


2021-11-15 Mon  <gavin.salam@physics.ox.ac.uk>

	* include/fastjet/JetDefinition.hh:
	added new strategy N2PlainEEAccurate, intended to work for eekt and ee_genkt

	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.cc:
	* src/ClusterSequence_N2.cc:

	Implemented the switch to use of more accurate code for eekt and ee_genkt
	when the requested strategy is N2PlainEEAccurate. This involves a
	the use of the cross product for angular-distance
	calculations when the angle is smaller than (roughly)
	epsilon**1/4, where epsilon is machine precision. It has a
	timing penalty of about 15% slower than the default strategy (see
	below), but is considerably more accurate for angles close to, or
	smaller than, sqrt(epsilon), where the normal method breaks down.
	This more accurate strategy breaks down for angles ~ epsilon. 
	
	* testsuite/TestEEDotCross.hh:

	updated to use test only the distance calculation with
	N2PlainEEAccurate (with the default strategy it will give errors).

	* regression-tests/test-all-algs.pl:
	For the native e+e- algorithms, it now runs the standard and the
	more accurate strategies. Try it, e.g., with 

	  ./regression-tests/test-all-algs.pl -alg eekt

	NB: the more accurate one doesn't really get seriously tested here,
	because it kicks in only for very small angles, which tend not to
	be present in the event files used for the tests. The testsuite
	tests are more indicative here.

	* Timing summary: (machine in a different state relative to 2021-09-16)
	(MacOS, clang 12.0.0, 2.3 GHz 8-Core Intel Core i9)

	The timings with the original (default) strategy are as follows:
	> ./fastjet_timing_plugins -eegenkt 0 -repeat 100000 < data/single-ee-event.dat
    2.17,2.10,2.16,2.20 s -> average = 2.16 s

	With the new N2PlainEEAccurate strategy (code 31), the speed penalty is about 15%: 	
	> ./fastjet_timing_plugins -eegenkt 0 -repeat 100000 -strategy 31 < data/single-ee-event.dat
	2.53,2.54,2.50,2.49 s -> average = 2.52 s

	NB: also tested a version where the cross-product calculation is
	used for angles < pi/2. This is somewhat more accurate for angles ~
	epsilon**1/4 (relative accuracy of epsilon**3/4 instead of
	epsilon**1/2?), but the speed cost is closer to a factor of two than
	15%. (NB default strategy timings somewhat different -- at this
	level they are sensitive to machine state)

	> ./fastjet_timing_plugins -eegenkt 0 -repeat 100000 < data/single-ee-event.dat
    2.06,2.11,2.06,2.11 -> average = 2.085
	> ./fastjet_timing_plugins -eegenkt 0 -repeat 100000 -strategy 31 < data/single-ee-event.dat
	4.21,4.21,4.17,4.22 -> average = 4.20

2021-09-16 Thu  <gavin.salam@physics.ox.ac.uk>

	* testsuite/TestEEDotCross.hh: *** ADDED ***
	* testsuite/run_tests.cc:
	started work on tests to be able to verify genkt small-angle dmerge

	Timings prior to change for (MacOS, clang 12.0.0, 2.3 GHz 8-Core Intel Core i9)
	./fastjet_timing_plugins -eegenkt 0 -repeat 100000 < data/single-ee-event.dat
	2.43s, 2.46s, 2.43s, 2.35s, 2.38s, average = 2.41s

	Timings after the change are 
	2.68s, 2.70s, 2.79s, 2.83s, 2.79s, average = 2.76, i.e. 15% penalty

2021-07-22 Thu  <gavin.salam@physics.ox.ac.uk>

    * scripts/Makefile-fjcore.txt:
	added note that on some systems, the fortran example needs
	-lstdc++ rather than -lc++

	* include/fastjet/ClusterSequence.hh:
	added CS::plugin_non_const_jet(i) for plugins to be able to
	modify properties of the input jets (e.g. user info)

	* include/fastjet/PseudoJet.hh:
	added PseudoJet::set_user_info_shared_ptr(...), to allow
	user info to easily be transferred from one jet to another

2021-06-25  FastJet team <fastjet@projects.hepforge.org>

	Release of FastJet fastjet-3.4.0

2021-06-25 Fri  <gavin.salam@physics.ox.ac.uk> + Gregory & Matteo

    * NEWS:
	prepared news for 3.4.0 release

    * include/fastjet/Error.hh
    * include/fastjet/LimitedWarning.hh
    * src/Error.cc
    * src/LimitedWarning.cc
    * testsuite/TestThreadsBase.hh
    * testsuite/mkmk
    * testsuite/thread_safety_tests.cc

	added set_default_stream_and_mutex to Error and LimitedWarning,
	to allow users to set a mutex for I/O to the specified stream,
	so that the stream I/O locks the supplied mutex before the output,
	to help avoid garbled output.

	Also added some related checks in the testsuite.

2021-03-10  FastJet team <fastjet@projects.hepforge.org>

	Release of FastJet 3.4.1-beta.1

2021-03-10  Gregory Soyez  <soyez@fastjet.fr>

	* src/genconfig.sh:
	* configure.ac:
	fixed issue in version parsing. The approach now supports version
	numbers with a pre-release tag containing a dot, such as
	  X.Y.Z-beta.K

2021-03-06 Sat  <gavin.salam@physics.ox.ac.uk>

	* regression-tests/nightly-check.pl:
	added gcc-10.2 to list of checks

2021-03-05  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

	* tools/JetMedianBackgroundEstimator.cc:
	removed a typo (;; instead of ;)

	* doc/fastjet-doc.tex
	updated affiliation and reworked a sentence in the quickstart guide

2021-03-05  Gregory Soyez  <soyez@fastjet.fr>

	* tools/JetMedianBackgroundEstimator.cc:
	fixed issue of reference unset when computing empty areas w local
	selectors (and checked no other misused were spotted)

2021-03-04  Gregory Soyez  <soyez@fastjet.fr>

	* src/GhostedAreaSpec.cc:
	fixed memory leak in add ghost (new without delete)

2021-03-03 Wed  <gavin.salam@physics.ox.ac.uk> + Gregory + Matteo

	* plugins/SISCone/siscone:
	moved from 3.0.6-devel to 3.0.5 (in preparation for release)

	* tools/JetMedianBackgroundEstimator.cc:
	fixed potential bug in jets_used() introduced earlier as part of
	thread-safety changes, to do with selector reference not being
	properly set.

2021-02-27  Gregory Soyez  <soyez@fastjet.fr>

	* almost all cc and hh files:
	updated the header to include the correct years in the copyright

2021-02-27  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/CompositeJetStructure.hh
	* include/fastjet/FunctionOfPseudoJet.hh
	* include/fastjet/NNFJN2Plain.hh
	* include/fastjet/NNFJN2Tiled.hh
	* include/fastjet/NNH.hh
	* plugins/ATLASCone/CommonUtils.cc
	* plugins/ATLASCone/CommonUtils.hh
	* plugins/ATLASCone/Jet.cc
	* plugins/ATLASCone/Jet.hh
	* plugins/ATLASCone/JetConeFinderTool.cc
	* plugins/ATLASCone/JetConeFinderTool.hh
	* plugins/ATLASCone/JetDistances.hh
	* plugins/ATLASCone/JetSplitMergeTool.cc
	* plugins/ATLASCone/JetSplitMergeTool.hh
	* plugins/ATLASCone/LorentzVector.hh
	* src/CompositeJetStructure.cc
	* src/FunctionOfPseudoJet.cc
	* tools/CASubJetTagger.cc
	* tools/Filter.cc
	* tools/JHTopTagger.cc
	* tools/JetMedianBackgroundEstimator.cc
	* tools/MassDropTagger.cc
	* tools/Recluster.cc
	* tools/RestFrameNSubjettinessTagger.cc
	* tools/TopTaggerBase.cc
	* tools/fastjet/tools/BackgroundEstimatorBase.hh
	* tools/fastjet/tools/Boost.hh
	* tools/fastjet/tools/CASubJetTagger.hh
	* tools/fastjet/tools/Filter.hh
	* tools/fastjet/tools/JHTopTagger.hh
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh
	* tools/fastjet/tools/MassDropTagger.hh
	* tools/fastjet/tools/Recluster.hh
	* tools/fastjet/tools/RestFrameNSubjettinessTagger.hh
	* tools/fastjet/tools/TopTaggerBase.hh
	* tools/fastjet/tools/Transformer.hh:
	used
	  #include "fastjet/..."
	instead of
	  #include <fastjet/...>
	to facilitate integration with the Cxx.jl tool.
	Solves issue 2020-01-FJ-include-char

2021-02-26 Fri  <gavin.salam@physics.ox.ac.uk> + Gregory

	* regression-tests/test-all-algs.pl
	* example/fastjet_timing_plugins.cc:
	added -bkgd:alt-ktR option to force background estimation to
	use the kt algorithm with the specified R value and updated
	test-all-algs to use that.

	This is needed because when using the same jet definition for
	background estimation and subtraction, it is common for one of the
	jets to coincide with the median background estimation jet, and then
	the subtraction comparison of jet.pt() v. amount_to_sutract.pt()
	should show something that is identically equal, but is prone to
	rounding errors and the behaviour differs according to the system,
	which affects whether the jet is set to zero pt or instead 4-vector
	subtracted. 

	also added printout of command line to fastjet_timing_plugins

	plus hopefully fixed fastjet_timing_plugins to compile again with fjcore

2021-02-25  Gregory Soyez  <soyez@fastjet.fr>

	* example/fastjet_timing_plugins.cc (print_jets_bkgd):
	reformatted the output for bkg estimation of subtraction

2021-02-25 Thu  <gavin.salam@physics.ox.ac.uk>

        * regression-tests/nightly-check.pl:
	attempt to get thread-safety check working on orphee

	* example/fastjet_timing_plugins.cc:
	removed extraneous output of pxcone info (which caused make check to fail)

	* plugins/PxCone/fastjet/PxConePlugin.hh:
	removed double declaration of _first_time, which caused compilation fairly
	after merge.

	* include/fastjet/GhostedAreaSpec.hh:
	fixed typo in deprecation warning

--------------------------------------------------------------------------------
Entries above are added in the master branch
Entries below are inserted in the thread-safety branch 
--------------------------------------------------------------------------------

2021-02-25 Thu  <gavin.salam@physics.ox.ac.uk>

	*** merged fastjet-3.4.0-thread-safety-devel into master branch

2021-02-25  Gregory Soyez  <soyez@fastjet.fr>

	* fortran_wrapper/fastjetfortran.cc:
	implemented the missing "nocache" functions

	* fortran_wrapper/fastjetfortran.cc:
	convert_input_particles now takes the list of PseudoJet to be
	created as an argument (instead of returning it)

	uses jet_def.is_spherical() to decide whether to use energy or pt
	ordering for the jets

2021-02-24  Gregory Soyez  <soyez@fastjet.fr>

	* fortran_wrapper/fastjetfortran.cc:
	added a pre-processor flag to allow one to make the cache thread-local

	started to work on providing access to the clustering routines
	without caching (invalidates later calls to extract additional
	info, but restores thread safety)

2021-02-22  Gregory Soyez  <soyez@fastjet.fr> + Gavin (work over the past week)

	* example/07-subtraction.cc:
	* tools/fastjet/tools/Subtractor.hh:
	* tools/Subtractor.cc:

	percolated the changes in the various BGEs (mostly used estimate()
	when possible)

	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/BackgroundEstimatorBase.cc:
	* tools/GridMedianBackgroundEstimator.cc:
	* tools/JetMedianBackgroundEstimator.cc:

	worked on making the background estimation thread-safe:
	- inserted a copy() mechanism + set_particles_with_seeds to allow
	  for a thread-safe usage of multiple events in parallel

	- made sure that the access to the cache is safe when calling the
	  BGE across different threadds sharing the same event (i.e. after
	  the call to set_... have all been made)
	- included a BackgrounmdEstimate class that gets filled when calling
            BGE::estimate(<jet>)


2020-09-15  Gregory Soyez  <soyez@fastjet.fr>

	* merged master branch back into the thread-safety branch

	Questions left to possible  double-check:
	- do we uncomment L592, 607 of PseudoJet.cc?
	  Based on what I see in SharedPtr we should leave this commented
        - Extras in ClusterSequence.hh?
	  they were commented out in the branch and used an old auto_ptr,
	  but it seems like the new syntax from the master branch should
	  work
        - check the deprecation syntax: (message,func)

	* configure.ac
	* include/fastjet/internal/deprecated.hh
	* include/fastjet/CircularRange.hh
	* include/fastjet/ClusterSequence.hh
	* include/fastjet/ClusterSequenceAreaBase.hh
	* include/fastjet/GhostedAreaSpec.hh
	* include/fastjet/JetDefinition.hh
	* include/fastjet/RangeDefinition.hh
	* include/fastjet/SharedPtr.hh
	* m4/CGAL.m4
	* src/ClusterSequence_Delaunay.cc
	* src/PseudoJet.cc
	Those files had conflicts during the merge
	Everything has been fixed easily (leftover comments are above).

    Other things:
	* testsuite/thread_safety_tests.cc
	added for testing a range of aspects of thread safety
	* tools/Subtractor.cc:
	switched to use of BackgroundEstimate

--------------------------------------------------------------------------------
Entries above are inserted in the thread-safety branch
Entries below are added in the master branch
--------------------------------------------------------------------------------

2021-02-22  Gregory Soyez  <soyez@fastjet.fr>

	* fortran_wrapper/fastjetfortran.cc:
	used an ordering in energy when using the eegenkt algorithm

2021-02-22  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/PxCone/fastjet/PxConePlugin.hh:
	* plugins/PxCone/PxConePlugin.cc:
	allowed one to run in e+e- mode (setting mode=1 instead of the
	default mode=2)

2021-02-19 Fri  <gavin.salam@physics.ox.ac.uk>

    * regression-tests/README.md:      (*** ADDED ***)
    * regression-tests/test-contrib.pl:
	added some basic documentation + option -std=c+XX

	* example/fastjet_timing_plugins.cc:
	added -bkgd:localrange option to turn on usage of a local range
	with the JetMedianBackgroundEstimator (in which case rho, sigma etc.
	are printed out for each jet).
	Added a -bkgd:rescaling option to turn on usage of a rescaling
	function (should not be used with a localrange).
	Also added a -subtractor option, which works with GMBGE and JMBGE 
	and prints out the original jets (including rho info) and the
	subtracted jets

	* regression-tests/test-all-algs.pl:
	added extra runs with the -bkgds (-cam) option, running various subtractions,
	and added corresponding references checksums

2021-02-14  Gavin Salam  <gavin.salam@physics.ox.ac.uk>
	* INSTALL instructions from git now mention running autoreconf in
	siscone directory as well.

2021-01-08  Gavin Salam  <gavin.salam@cern.ch>

	* regression-tests/nightly-check.pl:
	temporarily removed karnak because the machine is offline. 

2021-01-06  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/Error.hh:
	removed the inheritance on std::exception for 2 reasons: (i) is
	causes issues w old compilers (throw() v. noexcept v. no
	qualifiers) and (ii) doing this properly also requires defining
	"virtual const char* what()"

2021-01-05  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/Error.hh:
	had the Error class derive from std::exception

	* pyinterface/fastjet.i:
	included a few fixes suggested by Patrick Komiske:
	- installed a few files so they're acceessible for projects
	  derived from FJ to define their own wrapper
	- improved exceptions (throws a FastJetError py exception)
	- defined a data table

2020-09-11  Gavin Salam  <gavin.salam@cern.ch>

	* INSTALL
	updated instructions for usage with git

	* regression-tests/nightly-check.pl:
	updated nightly-check.pl to work with git

2020-09-11  Gregory Soyez  <soyez@fastjet.fr>

	* example/fastjet_timing_plugins.cc:
	caught an "Error" exception by reference instead of by value

2020-07-02  Gavin Salam  <gavin.salam@cern.ch>

	* example/python/02-area.py:
	fixed bug in area printout (format string and argument)
	reported by Michael Neidhard Heinz.

2020-05-05  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.3.5-devel

2020-05-05  Gregory Soyez  <soyez@fastjet.fr>

	* Release of FastJet fastjet-3.3.4

2020-05-05  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.3.4

	* almost all source files: updated the copyright dates

2020-04-28  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	mentioned the release of SISCone 3.0.5

2020-04-23  Gavin Salam  <gavin.salam@cern.ch> + Gregory

	* CHECKLIST:
	added note in CHECKLIST about verifying automake/conf version
	and files

2020-04-14  Gavin Salam  <gavin.salam@cern.ch>

	* NEWS:
	preparing NEWS towards release

	* include/fastjet/internal/deprecated.hh:
	replaced "and" in pre-processor line with "&&", to resolve
	compilation failure reported by Andrii Verbyitskyi with oracle
	12.6 c++ compiler.

2020-04-07  Gavin Salam  <salam@hydra>

	* src/MinHeap.cc (initialise):
	rewrote a line of code in calculation of heap updates, replacing
	&(_heap[2*loc+1]) with &(_heap[0]) + (2*loc+1).  This is intended
	to resolve an issue reported by Andrii Verbyitskyi with gcc's
	-D_GLIBCXX_SANITIZE_VECTOR which mistaken thinkgs we're actually
	trying to access _heap[2*loc+1], when actually we're just getting
	an address that we will use for comparisons afterwards.

2020-02-23  Gavin Salam  <gavin.salam@cern.ch>

	* INSTALL:
	explicitly mentioned that --enable-cgal-header-only is to be
	used instead of --enable-cgal when using CGAL v5

	* m4/CGAL.m4 (ACX_CHECK_CGAL):
	similar clarification

2019-11-30  Gavin Salam  <gavin.salam@cern.ch>

	* fortran_wrapper/Makefile.alt:
	added some notes and commented lines about compilation on MacOS

2019-11-29  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.3.4-devel

2019-11-29  Gregory Soyez  <soyez@fastjet.fr>

	* Release of FastJet fastjet-3.3.3

2019-11-29  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.3.3

	* regression-tests/test-contrib.pl:
	updated svn repository to match new HEPForge setup

	* almost all cc and hh files:
	updated the header to include the correct years in the copyright

	* doc/fastjet-doc.tex:
	added a few clarifications suggested by Matteo

	* doc/fastjet-doc.tex:
	* INSTALL:
	documented the new configure arguments for CGAL

2019-11-27  Gregory Soyez  <soyez@fastjet.fr>

	* m4/CGAL.m4 (ACX_CHECK_CGAL):
	when adding compiler/linker flags, also use them in checks for
	headres and libs

2019-11-22  Gregory Soyez  <soyez@fastjet.fr>

	* m4/CGAL.m4:
	removed the test for Boost header (version.hpp) as it soed not
	seem to be required by all installations of CGAL... we therefore
	prefer to leave the responsabiility to the end-users who need it
	and not bother the ones who don't.

	* m4/CGAL.m4:
	added explicit checks of the headers firectory and files
	+ done a bit of cleaning

	* m4/CGAL.m4:
	after further tests, it seems that only GMP is needed for FJ so
	this is whay we're now asking for (awaiting confirmation from
	cgal-discuss).
	If GMP is not found (and CGAL is requested), configure will fail.

2019-11-21  Gregory Soyez  <soyez@fastjet.fr>

	* m4/CGAL.m4:
	uniformised the CGAL dependency checks: we now check for Boost,
	GMP and MPFR which are the 3 dependences listed by CGAL (since
	at least v4.1)

2019-11-15  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* m4/CGAL.m4:
	adjusted ordering of checks and libs so that gmp is tested before CGAL

2019-11-08  Gregory Soyez  <soyez@fastjet.fr>

	* m4/CGAL.m4:
	added a --with-cgal-gmpdir=... allowing one to use a non-standard
	directory for the GMP library (used to build CGAL).
	Note that this is only relevant when FastJet is built with
	--enable-cgal

	* fastjet-config.in:
	reordered link flags to properly satisfy dependencies (put fastjet
	before CGAL/gmp)

2019-05-10  Gavin Salam  <salam@hydra>

	* autogen.sh (LIBTOOLIZE):
	replaced libtool existence check with libtoolize existence check
	(some systems don't have the former, but do have the latter, and
	the latter seems to be enough).

2019-02-14  Gavin Salam  <gavin.salam@cern.ch>

	* plugins/Jade/JadePlugin.cc (JadeBriefJet):
	introduced fix proposed by andrii.verbytskyi@mpp.mpg.de to work
	around overflow error when rt2E < 1.

2018-10-01  Gregory Soyez  <soyez@fastjet.fr>

	* doc/fastjet-doc.tex:
	updated my affiliation to include CNRS and Univ. Paris-Saclay

	* src/ClusterSequence.cc (print_banner):
	updated banner so it mentions GPL v2 or higher

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	  changed version to 3.3.3-devel

2018-10-01  Gregory Soyez  <soyez@fastjet.fr>

	* Release of FastJet fastjet-3.3.2

2018-10-01  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	  changed version to 3.3.2

2018-09-26  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	drafted NEWS for 3.3.2 release

	* plugins/GridJet/Makefile.am:
	* plugins/D0RunICone/Makefile.am:
	* plugins/CMSIterativeCone/Makefile.am:
	* plugins/Jade/Makefile.am:
	* plugins/EECambridge/Makefile.am:
	* plugins/ATLASCone/Makefile.am:
	* plugins/TrackJet/Makefile.am:
	* plugins/NestedDefs/Makefile.am:
	* plugins/D0RunIICone/Makefile.am:
	* plugins/PxCone/Makefile.am:
	* plugins/CDFCones/Makefile.am:
	* plugins/SISCone/Makefile.am:
	made all the lib<plugin_name>Plugin (non-monolithic build) depend
	on libfastjet

	* plugins/SISCone/Makefile.am:
	added a dependence of the produced library (single or monolithic)
	on libsiscone and libsisconespherical

	* plugins/Makefile.am:
	made libfastjetplugin (and all the individual plugin libs for
	non-monolithic biulds) depend on libfastjet

2018-09-19  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Makefile.am (libfastjettools_la_LIBADD):
	made libfastjettools depend on libfastjet (issue raised by
	Jan Strube <jstrube@uoregon.edu>)

2018-09-19  Gavin Salam  <gavin.salam@cern.ch>

	* changed external link for SISCone to reflect new hepforge
	setup. 

2018-04-24  Gavin Salam  <gavin.salam@cern.ch>

        * Doxyfile
        * configure.ac
        * doc/fastjet-doc.tex
        * include/fastjet/config_win.h
	updated version number to 3.3.2-devel

2018-04-24  Gavin Salam  <gavin.salam@cern.ch>

	* Release of FastJet fastjet-3.3.1

2018-04-23  Gavin Salam  <gavin.salam@cern.ch>

	* NEWS
        * Doxyfile
        * configure.ac
        * doc/fastjet-doc.tex
	* include/fastjet/config_win.h
	preparing for 3.3.1 release

	* COPYING:
	changed initial paragraph to indicate that FJ license is GPL v2 or
	later (rather than just v2), in accord with the headers of the
	source files.

2018-04-22  Gavin Salam  <gavin.salam@cern.ch>

	* various/(*.hh|cc)
	* scripts/preamble-fjcore.txt:
	* scripts/update-headers.pl:
	better at handling cases where copyright is a single year (though
	it could end up reading 2018-2018); also now handles the C++ files
	in the fortran_wrapper directory; and recognises fjcore files,
	leaving the fjcore indicator in there. It also updates the
	preamble-fjcore file.

	* **/*.cc **/*.hh:
	* scripts/preamble-fjcore.txt:
	updated copyright date on FJ files to 2018

2018-04-21  Gavin Salam  <gavin.salam@cern.ch>

	* fortran_wrapper/fastjetfortran.cc:
	commented out changes that help with thread safety in
	fastjetfortran. (Plan for future is to introduce an ifdef)

2017-09-26  Gregory Soyez  <soyez@fastjet.fr>

	* m4/CGAL.m4:
	removed debugging comment

	* configure.ac:
	remove unused CGAL variable

	* m4/CGAL.m4:
	revamped the CGAL detection script to also search for libraries in
	lib64 and lib32 subdirectories when CGAL (or Boost for CGAL_ paths
	are supplied by the user

	Cleaned unused bits in the process

2017-09-18  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/PseudoJet.hh:
	fixed issue + added safegards for the computation of theta and
	cos_theta

2017-09-08  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	started drafting a NEWS for 3.4.0(?)

	* PseudoJet.hh:
	added theta() and cos_theta() PseudoJet member functions as
	well as theta(pja, pjb) and cos_theta(pja,pjb) functions

	* m4/CGAL.m4 (ACX_CHECK_CGAL):
	added an option --with-cgal-boostdir to allow specifying a
	non-standard Boost installation path used to install CGAL

2017-08-31  Gavin Salam  <gavin.salam@cern.ch>

	* plugins/SISCone/SISConeBasePlugin.cc:
	fixed erroneous UserScaleBase::StructureType -> UserScaleBase as
	reported by attila.krasznahorkay@cern.ch.

2017-08-02  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/JetDefinition.hh:
	fixed typo in comment

2017-07-12  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.3.1-devel

2017-07-12  Gregory Soyez  <soyez@fastjet.fr>

	* Release of FastJet 3.3.0

2017-07-12  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	minor tweaks to the 3.3.0 release text

	* NEWS:
	set release date to today (tentative)

	* scripts/preamble-fjcore.txt:
	updated the copyright dates

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.3.0

2017-06-23  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	inserted the NEWS for the 3.2.2 relaese (from the branch)

2017-06-23  Gavin Salam  <gavin.salam@cern.ch>

	* NEWS
	extended template for 3.3.0 (including thanks)

        * doc/fastjet-doc.tex
	added discussion of JetDefinitionXParam

        * example/python/01-basic.py
        * example/python/02-area.py
        * example/python/03-tools.py
        * example/python/04-multi-event.py
        * example/python/05-user-info.py
        * example/python/06-selector.py
        * example/python/07-recombiner.py
	updated docstring to mention use of fastjet-config --pythonpath
	(rather than some fixed path) and in some cases added missing
	brief explanation of what the example does.

        * example/python/08-exception.py:
	revamped the example to illustrate errors raised with invalid R
	for a JetDefinition (makes example simple, and arguably more useful?)

2017-06-22  Gregory Soyez  <soyez@fastjet.fr>

	* example/python/08-exception.py:          *** ADDED ***
	started to work on an example showing how to handle fastjet::Error
	exceptions in python

	* pyinterface/FastJetPythonExtensions.hh (JetDefinition*Param):
	added helpers to solve the issue that integer parameters in JD
	ctors are handled as values for the eRecombinationScheme enum
	rather ythan float arguments (R or xtra_param). One can now use
	  JetDefinition0Param(scheme, strategy)
	  JetDefinition1Param(R, scheme, strategy)
	  JetDefinition2Param(R, xtra_param, scheme, strategy)
	where the scheme and strategy are optional.

	* doc/fastjet-doc.tex:
	fixed a trivial typo + added a sentence to the description of the
	user-defined recombiners in python.

2017-06-21  Gavin Salam  <gavin.salam@cern.ch>

	* scripts/mksnapshot.sh:
	this now generates a patch for the snapshots.html file and echoes
	commands to apply it; mostly tested, but not yet with an actual
	snapshot. (Implementation not necessarilly optimally efficient?)

2017-06-20  Gavin Salam  <gavin.salam@cern.ch>

	* pyinterface/tests/:                      *** ADDED ***
	* pyinterface/tests/sel_str_memcheck.py:   *** ADDED ***
	* pyinterface/tests/fjexception.py:        *** ADDED ***
	added some of the code used for tests...

	* pyinterface/fastjet.i:
	added handling of fastjet::Error exceptions.

	* include/fastjet/Error.hh (Error):
	added description() member function, in line with what's provided
	by other classes.

2017-06-19  Gregory Soyez  <soyez@fastjet.fr>

	* example/python/Makefile.am:
	added examples 06 (selector) and 07 (recombiner) to the
	distributed tarball

2017-06-19  Gavin Salam  <gavin.salam@cern.ch>

	* example/python/01-basic.py:
	* example/python/02-area.py:
	* example/python/04-multi-event.py:
	* example/python/05-user-info.py:
	* example/python/06-selector.py:
	* example/python/07-recombiner.py:

	removed use of builtins (still seems to work Python 2.7 and 3.6). 

2017-06-19  Gregory Soyez  <soyez@fastjet.fr>

	* pyinterface/FastJetPythonExtensions.hh:
	tried to use the __name__ attribute to disentangle python objects
	from functions and return the proper description for selectors
	accordingly

2017-06-18  Gavin Salam  <gavin.salam@cern.ch>

	* example/python/07-recombiner.py (main):
	also prints out jet definition with a user-defined recombiner.

	* pyinterface/FastJetPythonExtensions.hh:
	added cpp_string_from_py_str(...) and
	pp_string_from_str_py_obj(...) helper functions to get the
	str output of a python object and convert into a C++ string.

	This uses PyUnicode_AsUTF8 calls for Py3 and normal
	PyString_AsString calls for Py2. To be seen how robust this is,
	but seems to solve the issue found below with segfaults.

	The implementation also solves a memory leak issue (failure to
	XDECREF result of PyObject_Str).

2017-06-16  Gavin Salam  <gavin.salam@cern.ch>

	* pyinterface/FastJetPythonExtensions.hh (SelectorWorker):

	The issue with 06-selector.py seems to be in processing the string
	from the python selector, and in particular the worker calls
	PyString_AsString -- see line 90 for details. No solution found as
	yet...

	* example/python/01-basic.py:
	* example/python/02-area.py:
	* example/python/03-tools.py: *** FIX (UGLY OUTPUT) ***
	* example/python/04-multi-event.py:
	* example/python/05-user-info.py:
	* example/python/06-selector.py: *** FIX (SEGFAULT PY3) ***
	* example/python/07-recombiner.py:

	modified them to be compatible simultaneously with python 2.7 and
	python 3.x

2017-06-16  Gregory Soyez  <soyez@fastjet.fr>

	* pyinterface/README-for-devel:
	added a few replies/thoughts to open questions

	* pyinterface/FastJetPythonExtensions.hh:
	removed (seemingly) unnecessary local copies of PseudoJet

	* pyinterface/fastjet.i:
	corrected a misleading comment

2017-06-15  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* pyinterface/fastjet.i: 
	* pyinterface/FastJetPythonExtensions.hh: 
	* pyinterface/README-for-devel: 

	added some notes / queries (see GPS tags in code)

	* example/python/06-selector.py (HasPID):
	made this a new-style class (i.e. added (object) at the end). 

2017-05-23  Gregory Soyez  <soyez@fastjet.fr>

	*** BROUGHT FROM THE 3.2.X-devel BRANCH ON 2017-07-12 ***

	Note: issues found when compiling fjcore with [[deprecated]]. This
	is related to the fact that fjcore is built w -ansi which
	conflicts w the normal build with gcc6 (with support for
	[[deprecated]]). Compiling w --enable-extra-warnings instead shows
	some issues with SISCone replacement of auto_ptr by unique_ptr
	(SISCone sees it as supported but then it conflicts with the -ansi
	in FJ). The two fixes below go around those issues.

	* configure.ac:
	removed the -ansi flag from the "--enable-extra-warnings" option
	since this is asking for trouble with default c++11 support (like
	gcc6)

	* include/fastjet/internal/deprecated.hh:
	explicitly excluded the [[deprecated]] variant from fjcore.

2017-05-22  Gregory Soyez  <soyez@fastjet.fr>

	* example/python/07-recombiner.py:
	* example/python/06-selector.py:
	* pyinterface/FastJetPythonExtensions.hh:
	cleaned and added comments + fixed a few typos

2017-05-19  Gavin Salam  <gavin.salam@cern.ch>

	* tools/fastjet/tools/MassDropTagger.hh:
	* tools/MassDropTagger.cc:
	Following report of issue 2017-05-FPE-in-MDT associated with
	negative (squared) masses in MassDropTagger, changed behaviour of
	pathological cases:

	- if the parent has zero or negative mass, an empty jet is
	returned (and a warning is printed) [before the program just
	carried on running using the negative mass^2]

	- if the heavier child subjet has negative (squared) mass, then mu
	is set to subjet.m()/parent.m(), which is also negative [before
	you could get NaN, zero or a postive ratio of two negative things]


2017-04-24  Gregory Soyez  <soyez@fastjet.fr>

	* example/python/07-recombiner.py:             *** ADDED ***

	added an eample of a user-defined recombiner

	* pyinterface/fastjet.i:
	* pyinterface/FastJetPythonExtensions.hh:

	added functionalities to specify a user-defined recombiner in
	Python. The user should implement a class that provides
	    def __init__(self):
	    def __str__(self):
            def preprocess(self, pa):
	    def recombine(self, pa, pb): # returns the recombined PseudoJet
	and then call
	    jet_def.set_python_recombiner(...)
	with an instance of that class as an argument.

2017-02-28  Gregory Soyez  <soyez@fastjet.fr>

	* example/python/06-selector.py:
	used a class-based selector and wrote is_photon as HasPID(22)

	* pyinterface/FastJetPythonExtensions.hh:
	descrpition now uses the "class_or_function" __str__ if available

	Note that for functions this currently produces a message of the
	form "function at address ..." which is not 100% elegant (but
	we'll live with it for the time being)

2017-02-24  Gavin Salam  <gavin.salam@cern.ch>

	* fastjet-config.in (usage):
	edited the --pythonpath help text (+ one typo)

2017-02-23  Gregory Soyez  <soyez@fastjet.fr>

	* fastjet-config.in:
	added a --pythonpath option

2017-02-15  Gavin Salam  <gavin.salam@cern.ch>

	* scripts/mksnapshot.sh:
	another fix for remote snapshots...

2017-02-12  Gavin Salam  <gavin.salam@cern.ch>

	* example/python/06-selector.py:
	moved the example over to selectors also for pileup selection.

	* scripts/mksnapshot.sh:
	tried to update this so that links for tagging and copying are
	correct even remotely from Jussieu.

2017-02-11  Gavin Salam  <gavin.salam@cern.ch>

	* example/python/06-selector.py (print_jets):
	* pyinterface/FastJetPythonExtensions.hh:
	small tweaks to comments, details of how example is written, etc.

2017-02-10  Gregory Soyez  <soyez@fastjet.fr>

	* example/python/06-selector.py:      *** ADDED ***
	* pyinterface/FastJetPythonExtensions.hh:
	added a SelectorPython that currently takes a function (jet->Bool)
	controlling what passes the selector. See 06-selector.py for a
	simple usage.

	At this stage, more testing (incl memory management) is needed

	* pyinterface/Makefile.am:
	fixed fate of swig_wrap.cpp and fastjet.i during make dist

2017-02-10  Gavin Salam  <gavin.salam@cern.ch>

	* src/genconfig.sh:
	fixed issue with sed on some platforms that cannot handle "+" in
	the regexp.

	* example/python/05-user-info.py:  *** ADDED ***
	* example/python/Makefile.am (EXTRA_DIST): 
	added an example that show how one can use Python user information

	* pyinterface/FastJetPythonExtensions.hh: *** ADDED ***
	* pyinterface/makefile.internal:
	* pyinterface/Makefile.am:
	started adding tools to allow extensions of FastJet functionality
	through python, in particular PseudoJet user-info support.

2017-02-10  Gregory Soyez  <soyez@fastjet.fr>

	* pyinterface/Makefile.am:
	added some workarounds to avoid libtool install showing a
	potentially misleading message about where python modules have
	been instsalled (this can differ between the fastjet.py and
	_fastjet.so files on some installations)
	Instead print a message of our own.

2017-02-09  Gregory Soyez  <soyez@fastjet.fr>

	* regression-tests/nightly-check.pl:
	added minimal checks that the python interface compiles smoothly

2017-02-09  Gavin Salam  <gavin.salam@cern.ch>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.3.0-devel

	* example/python/README: *** ADDED ***
	with info on path settings, etc.

	* NEWS:
	started to prepare release info

	* pyinterface/fastjet-doc.i: ** ADDED **
	automatically generated as follows (but do this manually)

	   doxygen
	   cd pyinterface
	   make -f makefile.internal fastjet-doc.i

	Currently using doxygen v. 1.8.x

	* m4/ax_swig_python.m4 (AX_SWIG_PYTHON):
	fixed issue with AX_PYTHON_DEVEL

2017-02-09  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	generated the makefile in the example/python directory

	* pyinterface/Makefile.am:
	removed unnecessary _ that generated (harmless) warnings with
	automake

	* m4/ax_swig_python.m4:              *** ADDED ***
	* m4/ax_swig_enable_cxx.m4:          *** ADDED ***
	added missing m4 macros (on some systems)

	* CHECKLIST:
	added a note about running doxy2swig.py and swig

	* example/python/Makefile.am:        *** ADDED ***
	* example/Makefile.am:
	shipped the python examples with the distribution

	* configure.ac:
	* pyinterface/Makefile.am:
	* m4/ax_pkg_swig.m4:                 *** ADDED ***
	added support, via --enable-swig, to run swi instead of using the
	swig_wrap.cpp provided in the distriution..

2017-02-09  Gavin Salam  <gavin.salam@cern.ch>

	* pyinterface/fastjet.i:
	added more __str__ implementations.

	* example/python/01-basic.py: (moved from pyinterface/)
	simplified it, made output more similar to ../01-basic.cc

	* example/python/02-areas.py:
	small changes to output

	* example/python/04-multi-event.py
	this now contains the more advanced multi-event reading framework

2017-02-09  Gregory Soyez  <soyez@fastjet.fr>

	* pyinterface/makefile.internal:
	pointed to the correct doxy2swig.py sccript (was missing the .py
	extension) + removed fastjet-doc.i during make clean.

	* Doxyfile:
	updated to doxygen-1.8.12

	explicitly excluded ILConeAlgorithm.hpp in the D0RunIICone
	(causing trouble w swig xml doc and not being used anyway in the
	html)

2017-02-09  Gavin Salam  <gavin.salam@cern.ch>

	* pyinterface/fastjet.i:
	work in progress on docstring

	* pyinterface/...:
	work in progress on the examples, etc.

	* Doxyfile:
	enabled generator of XML documentation, for use by doxy2swig

	* include/fastjet/PseudoJet.hh:
	removed "[NOT FULLY TESTED]" from the boost and unboost function
	documentation. 

	* scripts/doxy2swig *** ADDED ***
	to aid generation of documentation for the python interface


2017-02-09  Gregory Soyez  <soyez@fastjet.fr>

	* pyinterface/Makefile.am:
	installed the python module in the site-packages directly (without
	a fastjet subdirectory)

	* pyinterface/__init__.py:
	added (and installed) this so that python automatically finds the
	fsatjet module from te parent directory

	* include/fastjet/ClusterSequence.hh:
	explicitly excluded the (deprecated) auto_ptr version of
	ClusterSequence::plugin_associate_extras from the swig interface
	(it seems like the auto_ptr was causing troubles with swig)

	* pyinterface/Makefile.am (_fastjet_la_LIBADD):
	added missing CGAL libs (when configured w CGAL enabled)

2017-02-08  Gregory Soyez  <soyez@fastjet.fr>

	* pyinterface/test.py       -> pyinterface/01-basic.py:
	* pyinterface/test-area.py  -> pyinterface/02-area.py:
	* pyinterface/test-tools.py -> pyinterface/03-tools.py:
	renamed the files

	* configure.ac:
	* Makefile.am:
	* pyinterface/Makefile.am:             *** ADDED ***
	configure now acquired a --enable-pyext flag which builds
	thepython interface.
	Note: swig has to be run first to generate swig_wrap.cpp amf
	fastjet.py. These files are included in the tarball (as well as
	fastjet.i for completeness)

	* pyinterface/test-area.py:            *** ADDED ***
	added an example with areas and subtraction

	* pyinterface/test-tools.py:           *** ADDED ***
	added an example showing usage of tools

	* pyinterface/fastjet.i:
	added area support and tool (still in progress)

	* pyinterface/Makefile:
	also include tools

2017-02-07  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/PseudoJet.hh:
	excluded the templated PseudoJet constructor from the python
	interface (creates nasty issues w swig (e.g. vector allocators
	with fastjet::PseudoJet::PseudoJet>)

2017-02-07  Gavin Salam  <gavin.salam@cern.ch>

	* testsuite/TestPseudoJet.hh (TestBase):
	fixed issue in testing boosts

2017-02-07  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* include/fastjet/PseudoJet.hh:
	disabled the templated reset<T> with swig

	* include/fastjet/internal/deprecated.hh:
	playing with swig: some advanced deprecated features do not behave
	properly do disable them in swig

2017-02-06  Gavin Salam  <gavin.salam@cern.ch>

	* testsuite/TestSpecialEvents.hh:
	modified constructors of JetDefs to eliminate a large number of
	compilation warnings.

	* testsuite/run_tests.cc (main):
	* testsuite/TestPseudoJet.hh:
	Added TestPJOperations to test various binary operations

	* include/fastjet/PseudoJet.hh|cc:
	operator+=, -=, *=, /= all had "void" as their return type;
	now fixed this bug so that they return PseudoJet &
	(observed to be an issue with Swig)

2017-02-06  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* pyinterface:
	started to work on a swig-based pythin interface

2016-10-25  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* include/fastjet/NNFJN2Tiled.hh:
	fixed type mismatched for diJ_plus_link (was pre-declared as a
	class then declared as a struct)

2016-08-05  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.2.2-devel
	+ reset the SISCone link to the trunk

2016-08-04  Gregory Soyez  <soyez@fastjet.fr>

	* Release of FastJet 3.2.1

2016-08-03  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	added a mention of the SISCone update in the NEWS file

2016-07-22  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	  changed version to 3.2.1

	* NEWS:
	prepared release notes for 3.2.1

2016-07-21  Gregory Soyez  <soyez@fastjet.fr>

	* CHECKLIST:
	updated the part related to the distribution of the doxygen doc to
	avoid including spurious files

2016-07-20  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence.cc:
	. made sure the compiler does not complain about unused variables
	  if assert is disabled (e.g. if NDEBUG is defined)
	. removed the "step_number" argument in _add_step_to_history() [it
	  is only used in an assertion that we are confident would not fail]
	This fixed an issue reported by Andy Buckley.

2016-05-23  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/SISCone/Makefile.am:
	included the ./siscone in the list of include path (equivalement
	to $builddir)/siscone so that config.h is found

2016-05-19  Gavin Salam  <gavin.salam@cern.ch>

	* regression-tests/nightly-check.pl:
	added gcc-6.1 to the nightly check

2016-05-18  Gavin Salam  <gavin.salam@cern.ch>

	* src/ClusterSequence.cc (operator=):
	* include/fastjet/ClusterSequence.hh:
	added an explicit assignment operator, to solve an issue reported
	by Roberto Franceschini (where structure wasn't being properly
	transferred with assignment, though it was fine on construction).
	[issue 2016-05-CS-assignment-issue]

2016-03-18  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.2.1-devel

2016-03-17  Gregory Soyez  <soyez@fastjet.fr>

	* Release of FastJet 3.2.0

2016-03-17  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	set the correct release date
	(starting the release process again)

	* scripts/mkfjcore.sh:
	explicitly removed the FASTJET_ENABLE_AUTO_PTR_INTERFACE (and
	FASTJET_HAVE_DEMANGLING_SUPPORT) from fjcore

	fixed a few issues of replacements FASTJET -> FJCORE that had to
	be done.

	* NEWS:
	updated to mention the --disable-auto-ptr configure option

	* include/fastjet/ClusterSequence.hh:
	disabled CS::plugin_associate_extras(std::auto_ptr<Extras>
	extras_in) when auto_ptr are disabled at configure time

	* configure.ac:
	added a --disable-auto-ptr configure option that removes the part
	of the interface that uses std::auto_ptr (by default, auto_ptr
	will be enabled)

2016-03-16  Gregory Soyez  <soyez@fastjet.fr>

	* scripts/preamble-fjcore.txt:
	updated copyright dates

	* NEWS:
	set the correct release date (and included SISCone version)

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	changed version to 3.2.0

	* doc/fastjet-doc.tex:
	added a brief mention of the examples and fortran interface
	shipped w fjcore

2016-03-15  Gavin Salam  <gavin.salam@cern.ch>

	* NEWS:
	added fjcore fortran wrapper mention

	* src/PseudoJet.cc (has_structure):
	minor change to return bool(_structure) instead of
	(bool)_structure (should be functionally identical) + fixed a
	typo. 

	* include/fastjet/internal/deprecated.hh:
	* include/fastjet/ClusterSequenceAreaBase.hh:
	* include/fastjet/ClusterSequenceArea.hh:
	fixed typos in comments and clarified a comment

2016-03-14  Gregory Soyez  <soyez@fastjet.fr>

	* doc/fastjet-doc.tex:
	worked on the list of deprecated features.

	* include/fastjet/ClusterSequenceArea.hh:
	* include/fastjet/ClusterSequenceAreaBase.hh:
	removed the FASTJET_DEPRECATED_MSG tag from virtual members
	because of the following bug in gcc 5.1 and 5.2 (leading to bogus
	deprecation warnings)
	   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65974

	* configure.ac:
	* include/fastjet/internal/deprecated.hh:
	((deprecated)) -> ((__deprecated__)) to avoid potential
	replacements by the precompiler

2016-03-10  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

	* fortran_wrapper/fastjet_fortran_example.f:
	it now runs antikt by default (it was kt)

        * fortran_wrapper/fjcore_fortran_interface.f:
	renamed to fjcore_fortran_example.f

	* scripts/Makefile-fjcore.txt:
	* scripts/mkfjcore.sh:
	changes for inclusion of fortran example

        *scripts/preamble-fjcore.txt:
	added mention of fortran interface

2016-03-10  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	included AM_CXXFLAGS in our compiler tests (+ tidied up the
	-Werror options) to stay as close as possible to the actual
	behaviour during compilation

2016-03-09  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Filter.cc:
	no longer rely on the deprecated CSAB interface to subtract jets
	when Filter is constructed using a "rho" number (use
	Subtractor(rho) instead)

	* include/fastjet/ClusterSequenceArea.hh:
	* include/fastjet/ClusterSequenceAreaBase.hh:
	* src/ClusterSequenceArea.cc:
	* src/ClusterSequenceAreaBase.cc:
	marked as deprecated the background estimation and subtraction
	methods. One should use the BackgroundEstimator series of tools
	and the Subtractor tool instead.

	Internal note: since some of these methods were called internally
	by other deprecated methods, we have moved the implementation to
	private (or protected when needed) methods to avoid deprecation
	warnings when compiling FastJet itself. As mentioned in the
	comments, these methods are also deprecated (although they are not
	explicitly marked with FASTJET_DEPRECATED)

	List of concerned methods:
	. CSAB::median_rho_per_unit_area()
            Used by CSAB::subtracted_jets()
            Used by CSAB::subtracted_jet()
            Used by CSAB::subtracted_pt()
            Added   CSAB::_median_rho_per_unit_area() [private]
	. CSAB::median_rho_per_unit_area_4vector()
            Added   CSAB::_median_rho_per_unit_area_4vector() [private]
	. CSAB::median_rho_per_unit_something()
	    Used by CSAB::_median_rho_per_unit_area_4vector()
	    Used by CSAB::_median_rho_per_unit_area()
	    Added   CSAB::_median_rho_per_unit_something() [private]
	. CSAB::get_median_rho_and_sigma(...) (3 variants)
	    Used by CSA::get_median_rho_and_sigma()
	    Used by CSA::median_pt_per_unit_something()
	    Added   CSAB::_get_median_rho_and_sigma() (3 variants) [protected]
	. CSAB::subtracted_jets(...) (2 variants)
	    One variant calls the other so, added the "other" with an _
	. CSAB::subtracted_jet(...) (2 variants)
	    Used by CSAB::subtracted_jets()
	    Used by CSAB::subtracted_pt()
	    Added   CSAB::_subtracted_jet()
	    STILL USED BY Filter
	. CSAB::subtracted_pt(...) (2 variants)
	    One variant calls the other so, added the "other" with an _
	. CSAB::parabolic_pt_per_unit_area()
	    Used by CSA::parabolic_pt_per_unit_area()
	    Added   CSAB::_parabolic_pt_per_unit_area() [protected]
	. CSA::parabolic_pt_per_unit_area()
	    Added   CSA::_parabolic_pt_per_unit_area() [private]
	. CSA::get_median_rho_and_sigma() (3 variants)

	One occurence still left to fix: Filter uses
	CSAB::subtracted_jet(...) with a fixed rho.

2016-03-08  Gavin Salam  <gavin.salam@cern.ch>

	* NEWS:
	small tweaks

2016-03-08  Gregory Soyez  <soyez@fastjet.fr>

	* example/fastjet_areas.cc:
	* example/fastjet_timing_plugins.cc:
	fixed a use of a deprecated JetDefinition ctor

	* NEWS:
	drafted for the 3.2.0 release

	* src/PseudoJet.cc (has_structure):
	explicit conversion of _structure to bool

2016-03-04  Gregory Soyez  <soyez@fastjet.fr>

	* doc/fastjet-doc.tex:
	added SharedPtr<T>::operator() to the deprecation list

	* include/fastjet/CircularRange.hh:
	* include/fastjet/RangeDefinition.hh:
	marked deprecated features with FASTJET_DEPRECATED_MSG

	* include/fastjet/JetDefinition.hh:
	added a (moslty internal) ctor
	  JetDefinition(jet_alg, R, recomb_scheme, strategy, nparameters);
	and added a FASTJET_DEPRECATED for the
	  JetDefinition(jet_alg, R, strategy, recomb_scheme, nparameters);
	which was already deprecated since FastJet 2.1

	* fortran_wrapper/fjcore_fortran_interface.f:
	added an example of the fjcore fortran interface (still to be
	polished!)

	* scripts/mkfjcore.sh:
	included fjcorefortran.cc

	* fortran_wrapper/fjcorefortran.cc:
	removed a leftover trace of (unsupported) areas

2016-03-04  Gavin Salam  <gavin.salam@cern.ch>

	* scripts/cppcheck-run.sh: *** ADDED ***
	added script to run cppcheck and put results into a reports/
	directory. 

2016-03-04  Gavin SALAM  <gavin.salam@cern.ch> + Gregory & Matteo

	* fortran_wrapper/fjcorefortran.cc: *** ADDED ***
	Added an fjcore fortran wrapper. This will not get distributed
	with the fastjet tarball, but is intended for distribution as part
	of fjcore.

2016-03-03  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/NNBase.hh:
	added a missing virtual destructor.

	* example/fastjet_timing_plugins.cc:
	added -jade-strategy flag (by default 1=NNFJN2Plain, but can also
	be 0=NNH).

	* plugins/Jade/fastjet/JadePlugin.hh:
	* plugins/Jade/JadePlugin.cc:
	Extended JadePlugin to have a strategy subclass
	(JadePlugin::Strategy) and optional strategy argument to the
	constructor. By default it now uses the new NNFJN2Plain
	clustering, instead of the old NNH, but by changing the strategy
	that can be changed.

	Timings show that for higher multiplicities, NNFJN2Plain is about
	a factor of two faster:

        |                               | NNFJN2Plain | NNH   |
        |-------------------------------+-------------+-------|
        | all 70 particles, 10^5 events | 3.65s       | 6.94s |
        | 20 hardest part,  10^6 events | 5.12s       | 4.74s |

        Commands were:
        ./fastjet_timing_plugins -jade -excly 0.001 -repeat 100000   < data/single-ee-event.dat
        ./fastjet_timing_plugins -jade -excly 0.001 -repeat 1000000 -nhardest 20  < data/single-ee-event.dat

	with -jade-strategy 1 or 0

	Both strategies give identical clustering sequences and dij values
	on 10^4 events.

	Note: there are two implementations of the strategy selection, one
	using a virtual base class to choose between the two strategies,
	the other using a template. The template was selected in the end,
	with the other code just commented out for now.

2016-03-03  Gregory Soyez  <soyez@fastjet.fr>

	* example/fastjet_timing_plugins.cc:
	* fortran_wrapper/fastjetfortran.cc:
	* plugins/SISCone/fastjet/SISConePlugin.hh:
	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh:
	* plugins/SISCone/SISConePlugin.cc:
	* plugins/SISCone/SISConeSphericalPlugin.cc:
	* src/ClosestPair2D.cc:
	* src/ClusterSequence_Delaunay.cc:
	* include/fastjet/internal/ClosestPair2D.hh:
	* include/fastjet/ClusterSequenceArea.hh:
	replaced auto_ptr with SharedPtr (following auto_ptr deprecation
	in C++11)

	Note that we could have used std::unique_ptr but SharedPtr has the
	advantage of being available independently of the C++ standard.

	* include/fastjet/Makefile.am:
	* include/fastjet/NNPlainN2.hh --> include/fastjet/NNFJN2Plain.hh:
	* include/fastjet/NNTiledN2.hh --> include/fastjet/NNFJN2Tiled.hh:
	renamed the file to follow the class names

	* include/fastjet/NNBase.hh:
	* include/fastjet/NNPlainN2.hh:
	* include/fastjet/NNTiledN2.hh:
	renamed the classes:
	  NNPlainN2  --> NNFJN2Plain
	  NNTiledN2  --> NNFJN2Tiled

	* scripts/mkfjcore.sh:
	handled the pre-compiler macros defined by configure (for
	supported compiler features), as well as the DEPRECATED and
	OVERRIDE ones.

	By default, they are not available but one can define

	  FJCORE_HAVE_OVERRIDE
	  FJCORE_HAVE_GNUCXX_DEPRECATED
	  FJCORE_HAVE_CXX14_DEPRECATED
	  FJCORE_HAVE_EXPLICIT_FOR_OPERATORS

	before including fjcore.hh to switch on the appropriate support.

	* include/fastjet/internal/deprecated.hh:
	fixed typo

	* include/fastjet/SharedPtr.hh:
	if supported, declared the conversion to bool as explicit

	* configure.ac:
	added a check for the "explicit" keyword for (conversion)
	operators in a class (typically requires C++11)

	* include/fastjet/SharedPtr.hh:
	* include/fastjet/ClusterSequence.hh:
	used the new FASTJET_DEPRECATED syntax

	* configure.ac:
	* include/fastjet/internal/deprecated.hh:
	__attribute__((deprecated)) can be placed before the function
	declaration. This means that we cam simply have a simple define
	FASTJET_DEPRECATED or a macro FASTJET_DEPRECATED_MSG("...")

	These are to be placed bofore the function declaration

	* scripts/mkfjcore.sh:
	fasjet_internal_headers incorporated into fasjet_headers

	* include/fastjet/WrappedStructure.hh:
	* include/fastjet/CompositeJetStructure.hh:
	* include/fastjet/ClusterSequenceStructure.hh:
	* include/fastjet/ClusterSequenceVoronoiArea.hh:
	* include/fastjet/ClusterSequencePassiveArea.hh:
	* include/fastjet/ClusterSequenceArea.hh:
	* include/fastjet/ClusterSequenceActiveArea.hh:
	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh:
	* include/fastjet/ClusterSequence1GhostPassiveArea.hh:
	* include/fastjet/RectangularGrid.hh:
	* include/fastjet/JetDefinition.hh:
	* include/fastjet/CircularRange.hh:
	used the FASTJET_OVERRIDE macro whenever appropriate

	* config.h.in:
	* include/fastjet/internal/base.hh:
	defined a FASTJET_OVERRIDE macro that translates into the
	"override" keyword if supported.

	Reminder: adding the the override keyword to a class member means
	that it should verload an equivalent member function in a base
	class. If it does not, the compiler will issue an error. This is
	therefore mostly meant as a safeguard (avoiding typos in
	overloaded function names)

	* tools/JetMedianBackgroundEstimator.cc:
	* src/PseudoJet.cc:
	* src/JetDefinition.cc:
	* src/ClusterSequence.cc:
	* include/fastjet/WrappedStructure.hh:
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/JetDefinition.hh:

	replaced
	  if (shared_ptr())
	by
	  if (shared_ptr)
	which correctly uses the casting to bool

	also used SharedPtr::get() instead of SharedPtr::operator ().

	* include/fastjet/SharedPtr.hh:
	deprecated T* operator() [one should use get() instead]

	* config.h.in:
	* include/fastjet/internal/deprecated.hh:   *** ADDED ***
	* include/fastjet/internal/Makefile.am:
	* scripts/mkfjcore.sh:
	added FASTJET_DEPRECATED(func) and 
	FASTJET_DEPRECATED_MSG(func,message) macros that use compile-time
	deprecation when available

	* configure.ac:
	added tests for modern compiler options
          [[deprecated]]             --> FASTJET_HAVE_CXX14_DEPRECATED
	  _attribute__((deprecated)) --> FASTJET_HAVE_GNUCXX_DEPRECATED
	  override                   --> FASTJET_HAVE_OVERRIDE

2016-03-03  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/internal/ClosestPair2DBase.hh (Coord2D):
	initialised members in default constructor to keep static code
	checkers happy.

	* src/ClusterSequence_Delaunay.cc (_delaunay_cluster):
	made verbose const to keep static code checkers happy

	* src/ClusterSequence_CP2DChan.cc:
	in default constructor for Mirror, set dummy values for members

	* include/fastjet/JetDefinition.hh:
	set _extra_param also in the plugin-based constructor

2016-03-03  FastJet service account  <fastjet@buildcoverity.cern.ch> [Gavin]

	* scripts/coverity-run.sh:     *** ADDED ***
	* scripts/coverity-commit.sh:  *** ADDED ***

	added these scripts to run coverity and commit the results to the
	server. 

2016-03-02  Gregory Soyez  <soyez@fastjet.fr>

	* scripts/mkfjcore.sh:
	added NNBase.hh to fjcore (needed by NNH.hh)

	tried several options for the inclusion of the NN interface (NNH
	alone does not work since it requires at lease NNHBase).

	nothing: 1619  64470 fjcore.hh
                 6095 230792 fjcore.cc
                 7714 295262 total

	NNH:     1808  70250 fjcore.hh
                 6095 230792 fjcore.cc
                 7903 301042 total

	all:     2348  89874 fjcore.hh
                 6079 230145 fjcore.cc
                 8427 320019 total

	for the moment, picked up the intermediate option since it's
	what we've had so far

2016-03-02  Gavin Salam  <gavin.salam@cern.ch>


	* include/fastjet/NNBase.hh:
	* include/fastjet/NNPlainN2.hh:
	* include/fastjet/NNTiledN2.hh:

	* include/fastjet/PseudoJet.hh:
	added doxygen comment for dot_product

2016-03-02  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/NNBase.hh:         *** ADDED ***
	* include/fastjet/NNH.hh:
	* include/fastjet/NNPlainN2.hh:      *** ADDED ***
	* include/fastjet/NNTiledN2.hh:      *** ADDED ***
	* include/fastjet/Makefile.am:
	this provides a structure which exposes the N2Plain and N2Tiled
	strategies along the lines of the existing NNH class. They now all
	derive from a common abstract NNBase base class.

	Note that different classes have different requirements on the
	underlying BJ (brief jet) class, both in terms of the methods that
	have to be implemented and in terms of the supported physical
	distances. See the documentation for details.

	* src/TilingExtent.cc:
	* include/fastjet/internal/TilingExtent.hh:
	allowed the construction of TilingExtent from a list of PseudoJet

2016-03-01  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/NNH.hh:
	added comment about need for distance part of the class to be symmetric.

2016-02-29  Gregory Soyez  <soyez@fastjet.fr>

	* fastjet-config.in:
	restored lines mistakenly commented out

	* include/fastjet/PseudoJet.hh:
	* src/PseudoJet.cc:
	moved the (templated) implementation of "objects_sorted_by_values"
	to the header so as to make it public (requested by S. Alioli)

	In the test for a size mismatch, replaced the assertion by a
	fastjet::Error

	* regression-tests/regression-test.pl:
	added test results for spherical SISCone

	* fastjet-config.in:
	added a "--guess-prefix" option that tries deducing the prefix
	from the location of the fastjet-config script (it follows
	symlinks if needed)
	Q: do we want to add a "--enable-guess-prefix" option to configure
	   to have this the default behaviour?

2016-02-17  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	brought in changes between releases 3.1.1 and 3.1.3

	Note: to-date, all modifications implemented in the 3.1.X-devel
	branch have been backported to the trunk

2015-10-05  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * fortran_wrapper/fastjet_fortran_example.f
	name of program inside file renamed from siscone_example
	to fastjet_fortran_example

2015-10-04  Gavin Salam  <gavin.salam@cern.ch>

	* example/fastjet_timing.cc:
	fixed bug in placement of abs (revealed by cppcheck)

2015-09-21  Gavin Salam  <gavin.salam@cern.ch>

	* tools/Subtractor.cc:
	* tools/fastjet/tools/Subtractor.hh:
	fixed bug where Subtractor::_unused_rho_m_warning was a
	mutable. It is now a static, as it should be.

	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh (RectangularGrid):
	fixed typo in comment

2015-07-08  Gregory Soyez  <soyez@fastjet.fr>

	* m4/CGAL.m4 (ACX_CHECK_CGAL):
	Now check for -frounding-math (gcc) and -fp=-model strict (intel)

	Note that when using the intel compiler, chances are you'll get
	both but -frounding-math will just be ignored [issuing a #10006
	command-line warning]

2015-07-03  Gavin Salam  <gavin.salam@cern.ch>

	* src/ClusterSequence_Delaunay.cc:
	* src/DnnPlane.cc:
	added various extra output for when verbose is true, which was
	used to help debug the issue that was eventually traced to
	DnnPlane.h 

	* include/fastjet/internal/DnnPlane.hh:
	added DnnPlane::_is_not_null(vertex_handle) to centralize checks
	of whether a vertex_handle is null. This provides a workaround for
	the issue that (vertex_handle != NULL) seems not to work with
	clang-3.6.1 and CGAL-4.6.1.

2015-06-30  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* include/fastjet/ClusterSequence.hh:

	added #ifndef __CINT__ around the (templated)
	JetDefinition::operator() to solve issues with root5 reported by
	Adrian Sevcenco.

--------------------------------------------------------------------------------
Entries below are in the thread-safety branch
Entries above were added while nmerging the master branch
--------------------------------------------------------------------------------

2017-02-08  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/ClusterSequenceActiveArea.hh (ClusterSequenceAreaBase):
	added FASTJET_OVERRIDE

	* include/fastjet/internal/BasicRandom.hh:
	added the "thread-safe" generation of random numbers to the <int>
	specialisation

	Tidied up the changes compared to the original version at the topo
	of the file

2016-03-02  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/LimitedWarning.hh:
	* include/fastjet/internal/thread_safety_helpers.hh:
	added copy ctors for a unch of classes that contain atomic
	member(s)

	* include/fastjet/internal/LazyTiling9SeparateGhosts.hh:
	removed commented code (atomic ghost_pt2_threshold which we
	decided not to go for)

2016-03-01  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc:
	added an explicit copy ctor

	* tools/JetMedianBackgroundEstimator.cc:
	_get_value_reference(...) fixed a series of issues with acquiring
	and releasing locks (much more involved that initially thought).

	Note that one might wonder if that is necessary at all since
	rho(jet) operations are non-const, we have no obligation to
	guarantee their thread-safety!

2015-09-30  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/internal/BasicRandom.hh:
	* include/fastjet/GhostedAreaSpec.hh:
	minor modifications to comments

	* tools/fastjet/tools/Pruner.hh:
	mentioned that PruningRecombiner::_rejected could be thread
	unsafe. Note that we do not fix that because that class is meant
	for internal usage only. So we just added a comment.

2015-09-29  Gregory Soyez  <soyez@fastjet.fr>

	* tools/JetMedianBackgroundEstimator.cc:
	declared _status as int or atomic<int> since atiomic<Status> is
	apparently not supported by all compilers [gcc 4.6 and icpc].

	* include/fastjet/internal/LazyTiling9SeparateGhosts.hh:
	* src/LazyTiling9SeparateGhosts.cc:
	moved back to "ghost_pt2_threshold" declared as double and not
	atomic<double>. The latter is not supported by gcc-4.6 and
	icpc(v13 and 15). Furthermore, it's the end-userresponsibility to
	ensure thread-safety if (s)he writes to that variable.

	Note: one might consider the alternative of having a
	set_ghost_pt2_tyhreshold where we do care of thread-safety

	* src/LimitedWarning.cc:
	explicitly cast the _this_warning_summary variable to a pointer of
	type LimitedWarning::Summary* before testing if it is 0.

	This is harmless wo thread-safety enabled and is perfectly fine
	with the atomic version when thread-safety is switched on. Not
	doing the cast explicitly, the intel compiler (v13 and 15 tested)
	are confused between different versions of the == operator.

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc:
	moved the templated implementations to the header file;
	removed a few unneeded template specifications

	added std:: before the memory order

	* include/fastjet/internal/BasicRandom.hh:
	added a missing "#ifdef FASTJET_HAVE_LIMITED_THREAD_SAFETY"
	around the declaration of the mutex

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc:
	Stored cached results in a JMBGEResult internal class.
	Implemented a thread-safe version.

2015-09-25  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/ClusterSequence1GhostPassiveArea.hh:
	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh:
	* include/fastjet/ClusterSequenceActiveArea.hh:
	* include/fastjet/ClusterSequenceArea.hh:
	* include/fastjet/ClusterSequencePassiveArea.hh:
	* include/fastjet/CircularRange.hh:
	* include/fastjet/RectangularGrid.hh:
	* include/fastjet/ClusterSequenceStructure.hh:
	* include/fastjet/CompositeJetStructure.hh:
	* include/fastjet/WrappedStructure.hh:
	* include/fastjet/JetDefinition.hh (DefaultRecombiner):
	added FASTJET_OVERRIDE where needed

	* include/fastjet/internal/base.hh:
	introduced a FASTJET_OVERRIDE macro that, when supported, allows
	one to flag a method as having to be overriding the same method in
	the base class. This would help finding typos (or constness
	mismatches) in derived classes.

	* include/fastjet/GhostedAreaSpec.hh:
	* src/GhostedAreaSpec.cc:
	* include/fastjet/AreaDefinition.hh:
	Tentative implementation of thread-safety:

	By default, add_ghost locks (with a mutex) during the time it
	generates the random numbers needed for the ghosts.
	The seed used for that can be obtained using
	GhostedAreaSpec::get_used_random_seed() after the clustering [this
	is fine because ClusterSequenceArea stores a copy of it].

	If one wants to use a fixed set of seeds, you should use a local
	copy of the GhostedAreaSpec using
	GhostedAreaSpec::with_fixed_seed(seed). Note that this will fix
	the seed to that value [and a lock is no longer needed because we
	can use a copy of the random number generator]

	In practice, one can get a copy of the AreaDefinition using
	AreaDefinition::with_fixed_seed(seed).

	Note / OPEN QUESTION:
	---------------------
	this does not work for n_repeat>1 since the same seed will be used
	for each ghost set. The workaround would be to have the fixed_seed
	updated to the generator status at the end of eachset [requires to
	make it mutable and perhaps change the name]
	[GS: I'd be in favour of that option but struggle w the naming]

	We have also removed the thread_local for the random generator as
	it is not supported by Apple's version of clang.

	* include/fastjet/internal/BasicRandom.hh:
	* src/BasicRandom.cc:
	added a operator()(N, *array, seed) which would lock (using a
	mutex) during the time the N random numbers are genrated and
	return in 'seed' te initial seed used to generate the numbers

	* include/fastjet/ClusterSequence.hh :
	marked plugin_associate_extras(std::auto_ptr<Extras>) as deprecated

	* include/fastjet/internal/deprecated.hh:
	added a compiler way to deprecate functions using the
	FASTJET_DEPRECATED(func[,message]) macro.

	* src/LimitedWarning.cc:
	fixed a missed switch to FASTJET_HAVE_LIMITED_THREAD_SAFETY.
	[tested using grep that none are left over]

2015-09-24  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.cc:
	put the banner printing (including the optional ostream) into
	FASTJET_HAVE_LIMITED_THREAD_SAFETY and the CS self-deletion in
	FASTJET_HAVE_THREAD_SAFETY.

	* include/fastjet/PseudoJet.hh:
	put _init_status in a code onlly used with thread safety

	* include/fastjet/PseudoJet.hh:
	* src/PseudoJet.cc:
	* include/fastjet/SharedPtr.hh:
	used the FASTJET_HAVE_THREAD_SAFETY confgure define

	* src/LimitedWarning.cc:
	* include/fastjet/LimitedWarning.hh:
	* src/Error.cc:
	* include/fastjet/Error.hh:
	* src/LazyTiling9SeparateGhosts.cc:
	* include/fastjet/internal/LazyTiling9SeparateGhosts.hh:
	* include/fastjet/GhostedAreaSpec.hh:
	* src/GhostedAreaSpec.cc:
	used the FASTJET_HAVE_LIMITED_THREAD_SAFETY confgure define

        * plugins/ATLASCone/ATLASConePlugin.cc:
        * plugins/ATLASCone/fastjet/ATLASConePlugin.hh:
        * plugins/CDFCones/CDFJetCluPlugin.cc:
        * plugins/CDFCones/CDFMidPointPlugin.cc:
        * plugins/CDFCones/fastjet/CDFJetCluPlugin.hh:
        * plugins/CDFCones/fastjet/CDFMidPointPlugin.hh:
        * plugins/CMSIterativeCone/CMSIterativeConePlugin.cc:
        * plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh:
        * plugins/D0RunICone/D0RunIBaseConePlugin.cc:
        * plugins/D0RunICone/fastjet/D0RunIConePlugin.hh:
        * plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh:
        * plugins/D0RunIICone/D0RunIIConePlugin.cc:
        * plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh:
        * plugins/PxCone/PxConePlugin.cc:
        * plugins/PxCone/fastjet/PxConePlugin.hh:
        * plugins/TrackJet/TrackJetPlugin.cc:
        * plugins/TrackJet/fastjet/TrackJetPlugin.hh:
	replaced cxx11helpers::FirstTimeTrigger by
	thread_safety_helpers::FirstTimeTrue
	and used the FASTJET_HAVE_LIMITED_THREAD_SAFETY confgure define

	* include/fastjet/internal/cxx11helpers.hh:          *** REMOVED ***
        * include/fastjet/internal/thread_safety_helpers.hh:   *** ADDED ***
	* include/fastjet/internal/Makefile.am:
	renamed cxx11helpers.hh into thread_safety_helpers.hh.
	Renamed the cxx11helpers namespace into thread_safety_helpers.
	Also renamed FirstTimeTrigger into FirstTimeTrue

	* include/fastjet/SahredPtr.hh:
	explicitly included the <atomic> header

	* m4/CGAL.m4:
	improved support for compiler options (brought from the trunk)

	* config.h.in:
	* configure.ac (CONFIGURE_INVOCATION):
	replaced HAVE_CXX11_FEATURES by HAVE_LIMITED_THREAD_SAFETY and
	HAVE_THREAD_SAFETY allowing two levels of thread-safety through
	--enable-limited-thread-safety --enable-thread-safety.

	checked for support for a few specific compiler flags, (deprecated
	and override), and define the appropriate symbols)

	* src/ClusterSequenceStructure.cc (ClusterSequenceStructure):
	commeted out a #ifndef left over from the switch ack to our own
	SharedPtr (60 lines down in the ChangeLog)

	* include/fastjet/PseudoJet.hh:
	* src/PseudoJet.cc:
	implemented a thread-safe version of the rap-phi initialisation.
	This goes through an atomic status flag.
	Notes: - it comes with a ~5% time penalty
	       - there might be further gain to get on memory ordering (see code)

	* include/fastjet/internal/cxx11helpers.hh (cxx11helpers):
	Mostly reverted AtomicCounter to a simple stepping counter with
	overflow protection.

	* include/fastjet/SharedPtr.hh:
	made the internal __SharedCountingPtr inherit directly from atomic<long>

2015-09-23  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Subtractor.hh:
	* tools/Subtractor.cc:
	made _unused_rho_m_warning static instead of mutable.
	[ported from Gavin's modification in the trunk]

2015-09-23  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/internal/ClosestPair2D.hh: 
	* src/ClosestPair2D.cc (closest_pair): 
	* src/ClusterSequence_Delaunay.cc (_delaunay_cluster): 
	* example/fastjet_timing_plugins.cc: 
	* plugins/SISCone/SISConePlugin.cc: 
	* plugins/SISCone/SISConeSphericalPlugin.cc: 
	* plugins/SISCone/fastjet/SISConePlugin.hh: 
	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh: 
	* include/fastjet/ClusterSequenceArea.hh:
	replaced std::auto_ptr with SharedPtr (since the former is
	deprecated, unique_ptr is available only from C++11, while
	SharedPtr is our own and always available).

	* example/fastjet_timing_plugins.cc:
	added -cache option to turn on the SISCone cache.

	* include/fastjet/internal/cxx11helpers.hh (cxx11helpers):
	added comments put together with Matteo

2015-09-23  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/internal/cxx11helpers.hh:
	added AtomicCounter::count() which just returns the value of the
	counter

	* include/fastjet/PseudoJet.hh:
	* include/fastjet/ClusterSequence.hh:
	* src/PseudoJet.cc:
	* src/ClusterSequence.cc:
	used the new SharedPtr implementation which basically allows us to
	revert to the use of SharedPtr::set_count().

	The code using the standard shared_ptr has been commented out with
	a std::shared_ptr: label in case we want to go back to that option
	easily

	* include/fastjet/SharedPtr.hh (SharedPtr):
	when C++11 featues are enabled, use our own implementation of
	SharedPtr instead of the std one. This has the advantage of
	providing set_count() [extremely helpful for self-deletion of
	ClusterSequence]. Note that the implementation is different from
	the one without C++11 features enabled (in that it uses an atomic
	counter)

2015-09-22  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/internal/cxx11helpers.hh:
	fixed a bad return value for AtomicCount<T>::set()

	* include/fastjet/internal/cxx11helpers.hh:
	used the sinples fetch_add(1) option for the step.
	added a few simple functionalities

2015-09-21  Gavin Salam  <gavin.salam@cern.ch>

	* src/PseudoJet.cc:
	made _release_jet_from_cs() slightly more efficient

2015-07-22  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Filter.cc:
	take a copy of the subtractor before using it [should guarantee
	thread-safety (TBC?)]

	* include/fastjet/GhostedAreaSpec.hh (G):
	added the option to specify a user-defined random generator. Typically, use
	  BasicRandom my_random(s1, s2);
	  GhostedAreaSpec(ghost_max_rap, &my_random);

	The generator is stored as a shared pointer so it takes ownership of it.

	the default BasicRandom<double> random generator has also be made
	thread-local to agrantee thread safety.

2015-04-23  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/PseudoJet.hh:
	* include/fastjet/ClusterSequence.hh:
	* src/PseudoJet.cc:
	* src/ClusterSequence.cc:
	* src/ClusterSequenceStructure.cc:
	Revamped the strategy to handle self-deleting ClusterSequences
	with cxx11 features on. This follows from the fact that
	std::shared_ptr does not support set_count().

	The strategy here is to have PseudoJet tell its associated
	ClusterSequence (if any) when it will no longer use the shared
	pointer. This is implemented in PseudoJet::release_jet_from_cs()
	which calls ClusterSequence::release_pseudojet().

	Important technical remarks:

	 - PseudoJet::release_jet_from_cs() has to be called everytime we
	   want to change the PJ's structure pointer.

	 - for the same reason, we have to introduce explicitly the =
	   operator (the default would copy the structure pointer without
	   first calling release_jet_from_cs)

	 - Since we want to keep this light, we want to avoid calling
	   release_jet_from_cs() from ctors (also, the shared pointers are
	   by default initialised to empty shared pointers). So we have
	   split _reset_indices() in two parts: _reset_indices() and
	   _reset_shared_pointers(). Only the first is called in ctors
	   while both at called in reset(...)

	 - ClusterSequence::release_pseudojet() has to take care of a few
	   things. First, it is only relevant for self-deleting CS. Then,
	   we reset the ("calling") PJ's shared pointer before checking if
	   we need to delete the CS. This allows to check self-deletion using
	     shared_ptr.use_count == _structure_use_count_after_construction
	   instead of
	     shared_ptr.use_count == _structure_use_count_after_construction+1
	   which would not be thread-safe.
	   However this cones with a complication that resetting the PJ's
	   structure pointer would call PseudoJet::release_jet_from_cs()
	   and result in an infinite loop. We added a
	   PseudoJet::force_reset_structure() to go around that issue.

	 - The condition
	     shared_ptr.use_count == _structure_use_count_after_construction
	   can in principle be triggered by more than one thread deleting the
	   "last" PJs at the same time. This is cured by making
	   _deletes_self_when_unused atomic and using compare_and_exchange
	   to test which thread sould perform the deletion.

	 - We tried to limit the computational expense as most as possible
	   by performing tests only when they were needed [some
	   improvements might be possible]

	* src/JetDefinition.cc:
	work towards thread-safety and usage of std::shared_ptr.
	replaced a reset(shared_ptr) by an = shared_ptr which is also
	supported by C11's shared_ptr

	* src/ClusterSequence.cc:
	disabled the usage of SharedPtr's set_count when CXX11 features are on.
	AT THE MOMENT, CS SELF-DELETION IS BROKEN WITH CXX11FEATURES

	* include/fastjet/SharedPtr.hh:
	when c++11 features are enabled, use std::shared_ptr.
	Notes:
	- cxx11's shared pointer does not provide set_count so this
	  imposes a bunch of modifications to self-deleting
	  ClusterSequences.
	- We use C++11 alias templates.

	* include/fastjet/JetDefinition.hh:
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/WrappedStructure.hh:
	* src/PseudoJet.cc:
	* src/ClusterSequence.cc:
	* src/JetDefinition.cc:
	* tools/JetMedianBackgroundEstimator.cc:
	SharedPtr cast to bool does not need a ()! [somehow both seem to
	work in our own implementation but std's implementation differs]
	This has been changed in the following places;
	 . _user_info in PseudoJet::user_info_ptr()
	 . _structure in PseudoJet::has_structure_of()
	 . _structure in PseudoJet::structure_of()
	 . shared_recombiner in JetDefinition::set_recombiner()
	 . _structure_shared_ptr in ~ClusterSequence()
	 . _structure_shared_ptr in ClusterSequence::transfer_from_sequence()
	 . _structure in PseudoJet::description()
	 . _structure in PseudoJet::has_associated_cluster_sequence()
	 . _structure in PseudoJet::has_valid_cluster_sequence()
	 . _structure in PseudoJet::has_structure()
	 . _structure in PseudoJet::structure()
	 . _structure in PseudoJet::structure_non_const_ptr()
	 . _structure in PseudoJet::validated_structure_ptr()
	 . _structure in PseudoJet::has_constituents()
	 . _structure in PseudoJet::has_exclusive_subjets()
	 . _structure in PseudoJet::has_pieces()
	 . _structure in WrappedStructure()
	 . _shared_recombiner in etDefinition::set_recombination_scheme()

	We have also removed the usage of the () operator to access the
	pointer and moved to the standard use of get(). Occurences in
	 . _structure_shared_ptr in ~ClusterSequence()
	 . _structure_shared_ptr in ClusterSequence::transfer_from_sequence()
	 . _structure in PseudoJet::description()
	 . _structure in PseudoJet::structure()
	 . _structure in PseudoJet::structure_non_const_ptr()
	 . _structure in PseudoJet::validated_structure_ptr()
	 . _csi in JetMedianBackgroundEstimator::set_jets()
	 . _csi in JetMedianBackgroundEstimator::_compute()
	 . _csi in JetMedianBackgroundEstimator::_check_csa_alive()
	 . _csi in JetMedianBackgroundEstimator::_check_jet_alg_good_for_median()

	* src/LimitedWarning.cc:
	* include/fastjet/LimitedWarning.hh:
	work towards thread-safety: _max_warn_default, _default_ostr,
	_this_warning_summary as atomic.  Summary switched to use the
	cxx11helpers::AtomicCounter which also provides access e.g. to
	n_warn_so_far.

	For warn() and summary() we use a lock (mutex)

	* src/LazyTiling9SeparateGhosts.cc:
	* include/fastjet/internal/LazyTiling9SeparateGhosts.hh:
	work towards thread-safety: ghost_pt2_threshold declared atomic

	* src/Error.cc:
	* include/fastjet/Error.hh:
	work towards thread-safety: declared _print_errors,
	_print_backtrace and _default_ostr as atomic.

	* src/ClusterSequence.cc:
	* include/fastjet/ClusterSequence.hh:
	work towards thread-safety:
	. declared _fastjet_banner_ostr as atomic
	. declared _frist_time as cxx11helpers::FirstTimeTrigger

	* plugins/TrackJet/TrackJetPlugin.cc:
	* plugins/TrackJet/fastjet/TrackJetPlugin.hh:
	* plugins/PxCone/PxConePlugin.cc:
	* plugins/PxCone/fastjet/PxConePlugin.hh:
	* plugins/D0RunIICone/D0RunIIConePlugin.cc:
	* plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh:
	* plugins/D0RunICone/D0RunIBaseConePlugin.cc:
	* plugins/D0RunICone/fastjet/D0RunIConePlugin.hh:
	* plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh:
	* plugins/CMSIterativeCone/CMSIterativeConePlugin.cc:
	* plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh:
	* plugins/CDFCones/CDFMidPointPlugin.cc:
	* plugins/CDFCones/fastjet/CDFMidPointPlugin.hh:
	* plugins/CDFCones/CDFJetCluPlugin.cc:
	* plugins/CDFCones/fastjet/CDFJetCluPlugin.hh:
	* plugins/ATLASCone/ATLASConePlugin.cc :
	* plugins/ATLASCone/fastjet/ATLASConePlugin.hh :

	for the banner, declared _first_time as a cxx11helpers::FirstTimeTrigger

	* include/fastjet/internal/Makefile.am:
	* include/fastjet/internal/cxx11helpers.hh:         *** ADDED ***
	added a file containing helpers that would allow an easy
	transition between no-CXX11 support and CXX11 support. It
	currently introduces two classes:
	 - FirstTimeTrigger: a class that will return true the first time
	   its () operator is called, false afterwards.
	 - AtomicCounter: a thread-safe counter when cxx11 features are
	   on. Use step() to increment, () to get value.

	* config.h.in:
	added a HAVE_CXX11_FEATURES entry

	Note: also added a definition of PACKAGE_URL which should be
	automatically included by autoconf >= 2.64 (available since July
	2009)

--------------------------------------------------------------------------------
Branching into the thread-safety branch: above comments were added in the branch
--------------------------------------------------------------------------------

2015-04-22  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	added a --enable-c++11-features argument to configure which in
	turn defines a FASTJET_HAVE_CXX11_FEATURES pre-processor symbol in
	fastjet/config.h

2015-03-08  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Filter.hh:
	removed a harmless "shadow" warning in set_subtractor()

2015-02-27  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* scripts/mkfjcore.sh:
	directory used to create fjcore now gets removed

	* regression-tests/nightly-check.pl:
	- exchanged order of make dist and mkfjcore
	- fjcore tarball now left in the main directory and extracted each
	  time to $tmpDir
	- make check test adapted to also handle newer autotools output

2015-02-27  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * scripts/mkfjcore.sh
	added the option to extract fjcore into any given directory rather
	that only as a subdirectory of scripts. Useful when running mkfjcore.sh
	in the nightly checks script.
	
	* regression-tests/nightly-check.pl
	added the extraction (and test) of fjcore, and the running of a 
	version of fastjet_timing_plugins compiled with fjcore. Also added
	a couple of basic fjcore tests to setups list.

2015-02-25  Gavin Salam  <gavin.salam@cern.ch>

	* testsuite/TestSpecialEvents.hh:
	* testsuite/special-events/2015-02-out-of-bounds-reduced.txt: *** ADDED ***
	added a test to check the 2015-02-out-of-bounds issue

2015-02-23  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* include/fastjet/ClusterSequence.hh (_bj_dist):
	added (possibly temporary) code for testing 2015-02-faster-deltaR2
	issue, with a define FASTJET_NEW_DELTA_PHI, which determines
	whether to use a new delta phi calculation suggested by Keith
	Pedersen. We are trying to establish if it brings significant
	improvements. 
	
2015-02-21  Gavin Salam  <gavin.salam@cern.ch>

	* testsuite/run_tests.cc:
	* testsuite/TestSpecialEvents.hh: *** ADDED ***
	* testsuite/special-events/2015-02-infinite-loop-simplified.txt: *** ADDED ***
	added class for testing special events (e.g. events known to have
	caused problems in older FJ versions, so that we don't run the
	risk of the same identical issue reappearing).

	Also added the event from the 2015-02-infinite-loop issue and
	checked that the test "fails" if we remove the fix for the issue.

	And added check in run_tests.cc that all command-line options have
	been used.

	* testsuite/TestBase.hh:
	added VERIFY_RUNS as a check (with graceful catch) that something
	runs rather than throws.

	* testsuite/mkmk: *** ADDED ***
	to generate Makefile automatically (requires Gavin's mkcxx.pl)

2015-02-20  Matteo Cacciari <cacciari@lpthe.jussieu.fr

        example/fastjet_timing_plugins.cc
	regression-tests/test-all-algs.pl
	
	Modified fastjet_timing_plugins.cc so that it can be compiled with
	fjcore using something like

        g++ -D__FJCORE__ fastjet_timing_plugins_fjcore.cc \
	../scripts/fjcore-3.2.0-devel/fjcore.cc CmdLine.cc \
	-I ../scripts/fjcore-3.2.0-devel/ -o fastjet_timing_plugins_fjcore

        Modified test-all-algs.pl so that it now takes a command line
	option "-fjcore" that runs the version of fastjet_timing_plugins
	compiled with fjcore instead of the one compiled with the 
	full fastjet
	
	Not fully robust yet, e.g. running test-all-algs.pl using -areas
	or -bkgds options together with -fjcore will break, because
	the reading of some command-line options in fastjet_timing_plugins.cc
	is so nested that excluding each and every one of them using __FJCORE__
	guards would be a significant amount of work, and make the code
	perhaps uselessly unreadable
	
2015-02-20  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/Error.hh:
	fixed a harmless gcc -Wshadow warning in TnternalError

	* include/fastjet/internal/LazyTiling9Alt.hh:
	* src/LazyTiling9SeparateGhosts.cc:
	* src/LazyTiling9Alt.cc:
	* src/LazyTiling25.cc:
	* src/LazyTiling9.cc:
	replaced the C preprocessor symbol by a C++ const (cleaner and
	inside the fastjet namespace)

2015-02-19  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence.cc (_add_step_to_history):
	thrown an InternalError if we're trying to cluster a particle that
	has previsouly been clustered

	* include/fastjet/Error.hh (InternalError):
	Added an InternalError class that will be thrown in critical
	internal errors that we still want to be catchable by end-users

	* include/fastjet/internal/LazyTiling9Alt.hh:
	* src/LazyTiling9SeparateGhosts.cc:
	* src/LazyTiling9Alt.cc:
	* src/LazyTiling25.cc:
	* src/LazyTiling9.cc:
	(_add_untagged_neighbours_to_tile_union_using_max_info): added a
	margin of security in the comparison of "distance_to_tile" with
	"max_NN_dist" when listing tiles need to be browsed for points to
	update (because their current NN is one of the particle(s) that
	just clustered). This prevents missed updates due to rounding
	errors. [Fixing the cause of the bug reported by Jochen Olt on
	February 12]

2015-02-18  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * src/ClusterSequence.cc
        moved an FJCORE guard, previously in the wrong place
        and causing an erroneous throw in fjcore about the 
        N2MHTLazy9AntiKtSeparateGhosts strategy (bug reported by Sergei
        Chekanov)

2015-01-06  Gregory Soyez  <soyez@fastjet.fr> + Matteo

	* CHECKLIST:
	small improvements (notes added)

	* NEWS:
	added the release notes from FastJet 3.1.1.

2014-12-24  Gavin Salam  <gavin.salam@cern.ch>

	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	added constructor that takes the explicit parameters for the
	rectangular grid without the need for an intermediate Rectangular
	Grid. (Request from Pavel Demin).

	* testsuite/TestGrids.hh:
	added tests of new GMBGE constructor with explicit RG arguments.

	[merged from rev 3778 of 3.1.X-devel]

2014-12-24  Gavin Salam  <gavin.salam@cern.ch>

	* gtags.sh -> scripts/gtags.sh:
	and added testsuite to the list of directories

2014-12-23  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/RectangularGrid.hh:
	fixed typo in previous commit

2014-12-22  Gavin Salam  <gavin.salam@cern.ch>
	* src/RectangularGrid.cc:
	* include/fastjet/RectangularGrid.hh:
	fixed comment about _is_good and set the Id keyword (this was
	missing before).

2014-12-22  Gavin Salam  <gavin.salam@cern.ch>

	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	made this derive publicly from RectangularGrid.

	* include/fastjet/RectangularGrid.hh (TilingBase):
	added a virtual destructor.

	(both requests/observations from Pavel Demin)

2014-12-19  Gregory Soyez  <soyez@fastjet.fr>

	* regression-tests/test-contrib.pl:
	run ./configure explicitly (instead of configure) in case . is not
	in the PATH

2014-12-19  Gavin Salam  <gavin.salam@cern.ch>

	* gtags.sh: *** ADDED ***
	script to generate gtags files for easier navigation around the
	project within emacs (use ggtags-mode)

2014-12-19  Gregory Soyez  <soyez@fastjet.fr>

	* CHECKLIST:
	adedd a note to make sure that one rebuilds testsuite/run_tests before running it!

	* tools/Filter.cc (_finalise):
	fixed wrong test for non-explicit-ghosts when trying to filter C/A
	jets with the C/A algorithm.
	Reported by David Adams.

2014-12-17  Gavin Salam  <gavin.salam@cern.ch>

	* tools/fastjet/tools/Recluster.hh:
	fixed typos in comments

2014-12-09  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Filter.hh:
	added subtractor() to retreive (a pointer to) the subtractor used
	internally

2014-11-04  Gregory Soyez  <soyez@fastjet.fr>

	* Doxyfile-devel:
	set version number to 3.2.0-devel, added missing file (as already
	done in the main Doxyfile)

2014-09-30  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* configure.ac:
	* include/fastjet/config_win.h:
	* Doxyfile:
	* tex/fastjet-doc.tex:
	  changed version to 3.2.0-devel

2014-09-30  Gavin SALAM  <gavin.salam@cern.ch> + Gregory

	* Release of FastJet 3.1.0

2014-09-30  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Recluster.hh:
	put the Recluster tool in the "generic tools" doxygen module

2014-09-29  Gavin SALAM  <gavin.salam@cern.ch> + Gregory

        * Doxyfile
        * configure.ac
        * doc/fastjet-doc.tex
        * CHECKLIST
        * include/fastjet/config_win.h
	updated version number to 3.1.0 in preparation for release
	siscone now points to 3.0.0

	* include/fastjet/Selector.hh:
	fixed comment for InvalidArea (+minor typo fix)

	* Doxyfile:
	made sure certain files like README etc are linked to from the
	file list. 

	* AUTHORS:
	updated list of people who have helped out

2014-09-29  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/ClusterSequence.hh:
	placed _Line and _Parabola in the "internal" doxygen doc

2014-09-25  Gregory Soyez  <soyez@fastjet.fr> + Matteo

	* NEWS:
	further work on the 3.1.0 release notes

2014-09-24  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	preliminary version of the 3.1.0 release notes

2014-09-18  Gavin Salam  <gavin.salam@cern.ch>

	* configure.ac:
	fixed typo in --enable-demangling help message

	* regression-tests/nightly-check.pl:
	added minimal check that --enable-demangling doesn't break anything
	(commit done only 2014-09-29)

2014-09-18  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * regression-tests/nightly-check.pl
          Added a test with gcc 4.9

2014-09-18  Gregory Soyez  <soyez@fastjet.fr>

	* doc/fastjet-doc.tex:
	  . in the WTA section, added a footnote saying that WTA_E_scheme
	    is sick and therefore not implemented
	  . added a few words here and there to highlight the fact that
	    "SISCone" means SISCone with SM (better avoid any confusion)

	* plugins/SISCone/fastjet/SISConeBasePlugin.hh:
	added a note that we recommend to implement
	UserScaleBase::is_larger() whenev possible.

2014-09-18  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * src/Error.cc
	modified the guard to LimitedWarning Error::_execinfo_undefined;
	so that it's the same that is now used elsewhere and in Error,hh,
	i.e. #if (!defined(FASTJET_HAVE_EXECINFO_H)) || defined(__FJCORE__)
	Note that #ifndef FASTJET_HAVE_EXECINFO_H would actually be sufficient.

2014-09-18  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/Error.hh
	* src/Error.cc:
	restored some FJCORE guards to keep it more lightweight

	* include/fastjet/Error.hh
	* src/Error.cc:
	fixed a few details:
	  . included the config.h header in Error.hh
	  . defined _demangle in the header
	  . removed unnecessary __FJCORE__ guards (since
	    FASTJET_HAVE_EXECINFO_H) is not defined in FJCORE
	    This allows to used -DFASTJET_HAVE_EXECINFO_H on
	    the command line.

	* include/fastjet/RectangularGrid.hh:
	added '_in' suffix to a few ctor arguments to prevent a series of
	Wshadow warnings

2014-09-18  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

	* include/fastjet/Error.hh
        * src/Error.cc
	* scripts/mkfjcore.sh

	- demangle() included in the Error class
	- Added a warning to Error:set_print_backtrace in case
	  backtrace is asked for by the user but EXECINFO is not
	  available
	- tweaked mkfjcore.sh to make the backtrace warning work
	  properly in fjcore

2014-09-11  Gavin Salam  <gavin.salam@cern.ch>

	* src/ClusterSequence.cc:
	now throws Error in case of use of N2MHTLazy9AntiKtSeparateGhosts
	from fjcore (since it's no longer supported)

2014-09-11  Gregory Soyez  <soyez@fastjet.fr>

	* src/Error.cc:
	added a missing FJCORE guard

	* src/Error.cc:
	* configure.ac:
	* config.h.in:
	* m4/demangle.m4:              *** ADDED ***
	added demangling of the backtrace symbols to the backtrace. This
	is only activated if (in order of the tests)
	  . execinfo.h          is found
	  . --enable-demangling is specified at configure time
	  . the GNU C++ ABI     is supported

2014-09-10  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/JetDefinition.hh:
	* src/JetDefinition.cc:
	commented out the WTA_E_scheme

	Energy-ordering can lead to dangerous situations with particles at
	rest. We instead implement the WTA_modp_scheme

2014-09-08  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * src/Error.cc
	* scripts/mkfjcore.sh
	
	Added FJCORE guards around the backtrace block and the corresponding
	include in Error.cc, so that they are never included in fjcore
	(issues under Windows with MSVC, as reported by 
	Chaowaroj Wanotayaroj <ma.x@cern.ch>). Also fully cleaned away
	the EXECINFO guards from config_auto.h (not really necessary though)

        * src/ClusterSequence.cc
	Added FJCORE guards around Lazy9AntiKtSeparateGhosts strategy so
	that it's never included in fjcore. Eliminated the files accordingly
	from mkfjcore.sh
	
2014-09-08  Gregory Soyez  <soyez@fastjet.fr> + Matteo + Gavin

	* tools/fastjet/tools/Subtractor.hh:
	* tools/Subtractor.cc:
	added a Subtractor(rho, rho_m) constructor + worked on some error messages

	* example/07-subtraction.cc:
	added the mass to the printed output

	* plugins/D0RunICone/fastjet/D0RunIConePlugin.hh:
	* plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh:
	* tools/fastjet/tools/Subtractor.hh:
	explicitly included base.hh to help Doxygen [likely a bug in Doxygen!]

	* src/JetDefinition.cc:

	For WTA_modp scheme, added a safeguard that prevents divisions by
	zero if both objects are at rest (the energy of the sum will
	therefore be the mass of pa)

	For WTA_E scheme, if the hardest object is at rest, keep the sum
	at rest and set the energy to the sum of energies: this implies
	that we break the rule of the mass being that of the higher-energy
	particle.

2014-09-05  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/JetDefinition.hh:
	amplified doxygen documentation on WTA schemes. Also mentioned
	that all pt^2, WTA, etc. schemes are collinear safe only for
	algorithms with an appropriate recombination order.

	* plugins/SISCone/SISConeSphericalPlugin.cc (description):
	* plugins/SISCone/SISConePlugin.cc (description):

	small tweak so that if there is a user scale for progressive
	removal and it has a description, that description gets printed
	out as part of the SISCone description

2014-09-05  Gregory Soyez  <soyez@fastjet.fr>

	* example/02-jetdef.cc:
	mentioned the WTA schemes in the example

2014-09-04  Gregory Soyez  <soyez@fastjet.fr>

	* src/JetDefinition.cc:
	implemented the recombination for WTA_{E,modp}_scheme

	* includec/fastjet/JetDefinition.hh:
	* src/JetDefinition.cc:
	started the addition of WTA recombination schemes
	 . WTA_pt_scheme fully done
	 . WTA_{E,modp}_scheme have a description and a (inexistant)
	   preprocess step but still lack the actual recombination


2014-09-04  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* plugins/SISCone/SISConeBasePlugin.cc:     *** ADDED ***
	* plugins/SISCone/Makefile.am:
	* plugins/SISCone/makefile.static:
	SISConeBasePlugin::UserScaleBase::is_larger now uses the cached
	value and has been moved in a proper .cc file (allows to declare
	StructureType at the end of the class)

	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh:
	* plugins/SISCone/SISConeSphericalPlugin.cc:
	implemented the user-defined scale support in the spherical
	version too

	* plugins/SISCone/SISConePlugin.cc:
	* plugins/SISCone/fastjet/SISConePlugin.hh:
	* plugins/SISCone/fastjet/SISConeBasePlugin.hh:
	   . worked on the description of the plugin
	   . moved the UserScaleBase class to SISConeBasePlugin
	     derived plugins now use a template specialisation
	       SISConePlugin::UserScaleBaseStructureType<type_of_siscone_jet>
	
	* plugins/SISCone/SISConePlugin.cc:
	* plugins/SISCone/fastjet/SISConePlugin.hh:
	* plugins/SISCone/fastjet/SISConeBasePlugin.hh:
	carried on with the support of user-defined scales
	[current version under testing].

2014-09-04  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/SISCone/SISConePlugin.cc:
	* plugins/SISCone/SISConeSphericalPlugin.cc:
	* plugins/SISCone/fastjet/SISConePlugin.hh:
	* plugins/SISCone/fastjet/SISConeSphericalPlugin.h:
	added support for SISCone with progressive removal (use
	plugin.set_progressive_removal() to activate)

	started the work towards support for user-defined scale to decide
	which is the hardest stable cone in progressive-removal
	mode. [breaks compilation for now... committed to carry on
	development with Gavin]

2014-09-03  Gavin Salam  <gavin.salam@cern.ch> + Gregory

	* plugins/SISCone/SISConePlugin.cc (run_clustering):
	* plugins/SISCone/SISConeSphericalPlugin.cc (run_clustering):
	added comment to explain that jets are transferred such that
	CS::inclusive_jets() returns them in the order they were created
	by SISCone.

2014-09-03  Gavin Salam  <gavin.salam@cern.ch> 

	* src/PseudoJet.cc (join):
	* include/fastjet/CompositeJetStructure.hh (join):
	in join with a fixed number of input PseudoJets, reserved space
	ahead of time in the temporary pieces vector.

2014-08-15  Gavin SALAM  <gavin.salam@cern.ch> + Matteo 

        * Doxyfile
        * configure.ac
        * doc/fastjet-doc.tex
        * CHECKLIST
        * NEWS
	switched version number back to 3.1.0-devel

2014-08-15  Gavin SALAM  <gavin.salam@cern.ch> + Matteo 

        * Doxyfile
        * configure.ac
        * doc/fastjet-doc.tex
        * CHECKLIST
        * NEWS
	update of version number for 
	Release of FastJet fastjet-3.1.0-beta.1
	

2014-08-15  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Filter.cc:
	added a few safeguards for situations where there is no subjets

2014-08-15  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* tools/fastjet/tools/Recluster.hh:
	switched default for acquire_reombiner_in in constructor with
	new_jet_def so that it is now false (i.e. the jet_def is used
	exactly as it is supplied).

2014-08-15  Gavin Salam  <gavin.salam@cern.ch>

	* regression-tests/test-contrib.pl:  *** ADDED ***
	added script to facilitate testing of fjcontrib

2014-08-14  Gavin Salam  <gavin.salam@cern.ch>

	* tools/Recluster.cc:
	* tools/fastjet/tools/Recluster.hh:
	added functions set_acquire_recombiner(...) and set_keep(...) to
	control behaviour after construction.

	Fixed issue in case where there are no subjets and keep() is false
	(now returns empty jet).

	In comments and variable nameing replaced subjet_def ->
	new_jet_def and subjets with inclusive jets.

	Various other small changes to comments.

2014-08-13  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* plugins/CDFCones/CDFcode/JetCluAlgorithm.cc:
	* plugins/CDFCones/CDFcode/MidPointAlgorithm.cc:
	small changes, labelled in code, to avoid compiler warnings about
	unused variables and comparisons between unsigned int and int

	* src/AreaDefinition.cc:
	replaced cerr + exit with a throw.

	* src/LimitedWarning.cc:
	introduced max_warn() and n_warn_so_far() functions and changed
	warning text so that it says "WARNING from FastJet" rather than
	just "WARNING".

	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.cc (exclusive_jets_up_to):
	rephrased warning for exclusive jets to reflect the fact that it
	may be used with C/A and genkt. Also switched it over to the
	LimitedWarning system.

	* include/fastjet/internal/DynamicNearestNeighbours.hh:
	DnnError now derives from fastjet::Error

2014-08-13  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/RectangularGrid.hh:
	* src/RectangularGrid.cc:
	made sure that all member variables are set even for the default
	constructor (issue revealed by Coverity when testing SoftKiller).
	Added is_initialised() member to base class and RectangularGrid,
	to allow classes using the grid to check the grid is sensible.

	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	throws exception if contructed with an uninitialised grid.

	* plugins/GridJet/GridJetPlugin.cc:
	throws on uninitialised grid.

	* testsuite/run_tests.cc:
	* testsuite/TestGrids.hh: *** ADDED ***
	added a few basic tests of the grid initialisation, GridJetPlugin,
	etc. 

2014-08-13 Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        Files manually merged from the 3.0.X branch:

        * scripts/mkfjcore.sh
	* scripts/Makefile-fjcore.txt               *** ADDED ***
	* scripts/preamble-fjcore.txt

	switched mkfjcore to -O2 (flag also added in Makefile-fjcore.txt)
	Added new Lazy* TilingExtent and files to mkfjcore.sh

2014-08-13  Gavin SALAM  <gavin.salam@cern.ch> + Matteo & Gregory

	* NEWS:
	reshuffled entries to try to get an order reflecting importance of
	different changes.

2014-08-12  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* example/07-subtraction.cc:
	switched on use_rho_m and _safe_mass

	* NEWS:
	worked on the list of changes since FastJet-3.0.6

	* include/fastjet/internal/LazyTiling9SeparateGhosts.hh:
	* src/LazyTiling9SeparateGhosts.cc:
	declared ghost_pt2_threshold as a static (public) member of the
	class. [with a note that this is use-ar-your-own-risk material]

	* tools/Subtractor.cc (_amount_to_subtract):
	small change to warning message about non-zero rho_m.

2014-08-12  Gavin SALAM  <gavin.salam@cern.ch> + Gregory

	* plugins/GridJet/GridJetPlugin.cc:
	* plugins/GridJet/fastjet/GridJetPlugin.hh:
	switched this over to the use of RectangularGrid internally, plus
	a new constructor that takes a RectangularGrid. Added code to
	handle cases where some grid tiles are deselected. Also removed an
	apparently redundant copy constructor.

	Passes the test-all-algs tests, and also examined behaviour
	with deselected tiles in
	issue-tracker/2014-08-08-testing-rect-grid/test-gridjet.cc

	* include/fastjet/RectangularGrid.hh:
	added rapmin(), rapmax(), drap() and dphi() enquiry functions.

2014-08-12  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Subtractor.cc:
	* tools/fastjet/tools/Subtractor.hh:
	* doc/fastjet-doc.tex:
	used safe_mass instead of safe (or be_safe)

2014-08-12  Gavin Salam  <gavin.salam@cern.ch>

	* src/LimitedWarning.cc:
	* include/fastjet/LimitedWarning.hh:
	introduced versions of warn that take a const char *, in addition
	to the existing ones with a const string &, so that calls of the
	form warn("some message") don't need to create an intermediate
	string (which could be slow). The master code is now the char *
	version, and the string version just pass the resulting c_str().

	* tools/fastjet/tools/Subtractor.hh:
	* tools/Subtractor.cc (_amount_to_subtract):
	added a warning for cases where rho_m is available and
	substantially non-zero, but not used.

2014-08-12  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Subtractor.cc:
	fixed typo in the treatment of CHS events

	* configure.ac:
	used -O2 rather than -O3 as a default (more stable timings. O3 was
	only giving a small gain, sometimes being worse than -O2 and being
	much more compiler-version-dependent than O2)

	* tools/Filter.cc:
	reinserted the missing bit of code needed to include internal
	subtraction!

2014-08-11  Gavin Salam  <gavin.salam@cern.ch> + Gregory & Matteo

	* include/fastjet/PseudoJet.hh:
	* src/PseudoJet.cc: 
	operator* and operator*= now premptively call
	_ensure_valid_rap_phi() so that we can always ensure that rap()
	and phi() will be conserved after a *= operation (previously, if
	they hadn't yet been cached, and you multiplied by 0, you would
	get a non-sensical rap() and phi()).

2014-08-11  Gavin Salam  <gavin.salam@cern.ch>

	* scripts/preamble-fjcore.txt: 
	small tweaks to fjcore preamble

2014-08-11  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Subtractor.cc:
	* tools/fastjet/tools/Subtractor.hh:
	worked on the description; tidied a few loose ends.

	* tools/Subtractor.cc:
	* tools/fastjet/tools/Subtractor.hh:
	added several options to the original Subtractor:
	  . support for rho_m (set_use_rho_m(bool)) [off by default]
	  . support for mass-safety tests (set_safe(bool)) [off by default]
	  . support for CHS events using
	    set_known_selectors(const Selector &sel_known_vertex,
			        const Selector &sel_leading_vertex)

2014-08-11  Gavin SALAM  <gavin.salam@cern.ch> + Gregory

	* src/RectangularGrid.cc:
	* include/fastjet/RectangularGrid.hh:
	index() -> tile_index()
	is_good() -> tile_is_good()

	* tools/GridMedianBackgroundEstimator.cc:
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	took into account above name changes

2014-08-08  Gavin Salam  <gavin.salam@cern.ch> (later)

	* include/fastjet/RectangularGrid.hh:
	* src/RectangularGrid.cc:
	constructor can now take a Selector that causes only certain tiles
	to be considered "good"

	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh
	* tools/GridMedianBackgroundEstimator.cc:
	Added constructor that just takes a RectangularGrid.

	Implemented support for cases where some tiles are discarded
	through the mechanism of Selectors for good tiles.

	Tests in issue-tracker/2014-08-08-testing-rect-grid

2014-08-08  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/RectangularGrid.hh:
	added mean_tile_area() and in the base class, by default
	tile_area(itile) returns mean_tile_area() (since
	all_tiles_equal_area() also returns true).

	* tools/GridMedianBackgroundEstimator.cc:
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	switched GMBGE over to the RectangularGrid class (enabled with
	the FASTJET_GMBGE_USEFJGRID symbol). See 
	2013-particle-level-sub/fj31-devel-timing-tests for timing
	tests, which suggest a slight advantage for the new setup.
	For SoftKiller there appears to be little difference.

2014-08-04  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/RectangularGrid.hh:
	* src/RectangularGrid.cc:
	* & corresponding Makefile.am files
	added a new RectangularGrid class, intended to provide a common
	core for at least some of the uses we have of rectangular grids.

2014-08-02  Gavin Salam  <gavin.salam@cern.ch>

	* regression-tests/test-all-algs.pl (setRefResults):
	for areas checksums, added a comment about results coming out
	differently on Gavin's laptop, and in one case checked that this
	is due to a single last digit change.

	* src/ClusterSequence.cc (_best_strategy):
	added handling of cambridge_for_passive_algorithm (treat it like
	kt). This resolves today's nightly-check failure on cambridge
	passive areas.

	* include/fastjet/JetDefinition.hh:
	noted in comments that cambridge_for_passive_algorithm is not
	intended for the end-user, but rather for internal games.
	Also added a comment that genkt_for_passive_algorithm is not
	currently implemented.

	* regression-tests/test-all-algs.pl:
	now handles comma-separated strategy lists (not just colon-separated).

2014-08-01  Gavin SALAM  <gavin.salam@cern.ch>

	* testsuite/TestRecombiners.hh:
	added some very basic tests of recombiners, that setting to a
	default recombination scheme works sensibly and that copying a
	pointer to a recombination scheme also works. OK also with
	valgrind.

2014-08-01  Gregory Soyez  <soyez@fastjet.fr>

	* tools/GridMedianBackgroundEstimator.cc:
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	replaced _disable_rho_m with _enable_rho_m internally

	* tools/JetMedianBackgroundEstimator.cc:
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	replaced _disable_rho_m with _enable_rho_m internally
	+ has_rho_m now also returns false if there is a density class

2014-08-01  Gavin SALAM  <gavin.salam@cern.ch> & Gregory

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
        disable_rho_m() replaced with set_compute_rho_m()

	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	changes to comments

	* tools/fastjet/tools/Recluster.hh:
	* tools/Recluster.cc:
	work on comments and also slight change to interface relating to
	C/A optimisation.

	* src/ClusterSequence.cc:
	_best_strategy will now assert(false) if the jet alg is not one of
	kt, antikt, cam or genkt, and drops back to kt or antikt choices
	depending on genkt's p value.

	The routine that calls it now replaces the NlnN strategy with
	N2MHTLazy25 if NlnN isn't available.

2014-08-01  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence.cc:
	best_strategy() now follows the transitions sugegsted by the
	latest timing run

	* include/fastjet/Selector.hh:
	* src/Selector.cc:
	added Selector::scalar_pt sum that sums the pt of the objecs
	passing the Selector.

2014-07-31  Gregory Soyez  <soyez@fastjet.fr>

	* tools/JetMedianBackgroundEstimator.cc:
	fix: enabled rho_m in reset()
	do not compute rho_m if a jet density class is provided.
	fix: critical "pt" v. "dt" typo in _compute()

	* tools/JetMedianBackgroundEstimator.cc:
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	added support for rho_m, sigma_m (on by default but can be turned
	off using disable_rho_m())
	TODO: disable rho_m automatically when a density class is provided
	[do not forget to set it back if an empty density class is passed]

	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	fixed doxygen comment

	* tools/GridMedianBackgroundEstimator.cc:
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	  . no longer cache the scalar pt in each grid cell (<~5% effect on
	    timing, omitting the call to _percentile in the version with
	    caching)
	  . added support for rho_m, sigma_m (on by default but can be
	    turned off using disable_rho_m())

	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	added rho_m(), sigma_m(), rho_m(jet), sigma_m(jet) [throw by
	default] and has_rho_m() [false by default].

2014-07-30  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Recluster.hh:
	worked on the description of the class

	* tools/fastjet/tools/Filter.hh:
	properly handled the case where C/A optimisation has been used and
	the jet has a non-explicit-ghost jet area

	* tools/Recluster.cc:
	no longer keep track of the jet definition used to obtain the
	subjets. It can be accessed through the subjets themselves.

	* src/JetDefinition.cc:
	reinserted the missing genkt_algorithm in n_parameters_for_algorithm

	* tools/Filter.cc :
	adapted to use the Keep enum in Recluster.
	TODO: fix the "discard_area" part for non-explicit-ghost areas
	with C/A reclustering

	Note: we could get rid of the sub jet def returned by
	Recluster::get_new_jets_and_def since it can be obtained from the
	subjets.

	* tools/fastjet/tools/Recluster.hh:
	* tools/Recluster.cc:
	  . added an enum (Keep) that takes values keep_only_hardest or
	    keep_all, replacing the 'single' member
	  . moved the ctor structure to
	      Recluster(JetDef, acquire_recombiner = true,
	                Keep keep_in = Recluster::keep_only_hardest)
              Recluster(JetAlg, R, keep_in = Recluster::keep_only_hardest)
              Recluster(JetAlg, keep_in = Recluster::keep_only_hardest)
	    simplified quite a bit the structure accordingly
	  . used the new description functionalities in JetDefinition
	  . added Recluster::disable_cambridge_optimisation to disable the
	    attempt to optimise for C/A
	  . introduced get_new_jets_and_def(...) and generate_output_jet().
	    These are the two steps of result() and this should ease the
	    Filter.

	* include/fastjet/JetDefinition.hh:
	* src/JetDefinition.cc:
	added JetDefinition::n_parameters_for_algorithm (static),
	JetDefinition::algorithm_description (static) and
	description_no_recombiner().
	Slightly simplified other bits of the code accordingly.

2014-07-29  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/ClusterSequenceArea.hh:
	replaced an error message printed to stdout (followed by exit(-1))
	by an error thrown when the area type is unknown.
	Note that this uses ostringstream, so we could try to move that to
	the cc (or introduce AreaDefinition::area_type_str())

2014-07-29  Gavin Salam  <gavin.salam@cern.ch>

        * include/fastjet/JetDefinition.hh:
        * src/JetDefinition.cc:
	moved new set_recombiner code into the .cc file, included a test
	of the JetDef invariants and ensured that recombination_scheme()
	returns correct result in case of external recombiners

        * testsuite/TestRecombiners.hh:
        * testsuite/run_tests.cc:
	added first elements of testing for Recombiners.

2014-07-29  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Recluster.cc:
	* tools/Pruner.cc:
	* tools/fastjet/tools/Recluster.hh:
	* tools/fastjet/tools/Pruner.hh:
	arranged the code to use JD::set_recombiner(const JetDefinition&)
	instead of JD::set_recombiner(Recombiner*)

	* include/fastjet/JetDefinition.hh:
	introduced set_recombiner(const JetDefinition&) that correctly
	copies the recombiner from another jet definition. When
	applicable, this version is strongly recommended as the
	alternative (set_recombiner(Recombiner*)) can lead to memory
	corruption if the recombiner is owned by the jet definition.

	removed set_shared_recombiner and shared_recombiner (superseded
	by the above option)

2014-07-29  Gavin SALAM  <salam@lpthe.jussieu.fr> + Gregory

        * src/LazyTiling25.cc
        * src/LazyTiling9.cc
        * src/LazyTiling9Alt.cc
        * include/fastjet/internal/LazyTiling25.hh
        * include/fastjet/internal/LazyTiling9.hh
        * include/fastjet/internal/LazyTiling9Alt.hh
	replace is_near_zero_phi() test, based on double-precision
	arithmetic for each tiles with a use_periodic_delta_phi bool for
	each tile. This appears to solve the
	2014-07-26-Lazy9-largeR-clustering issue. (Tests ongoing with 10^7
	events).

	* src/ClusterSequence_Delaunay.cc (_delaunay_cluster):
	reworked comments around the assert for cases where the clustering
	strategy has not been recognized (all cases for which this would
	be called should be recognized).

2014-07-29  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/SISCone/SISConePlugin.cc:
	* plugins/SISCone/SISConeSphericalPlugin.cc:
	* plugins/SISCone/fastjet/SISConeBasePlugin.hh:
	* plugins/SISCone/fastjet/SISConePlugin.hh:
	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh:
	* include/fastjet/ClusterSequenceArea.hh:
	* src/ClusterSequence_Delaunay.cc:
	* example/fastjet_timing_plugins.cc:
	* fortran_wrapper/fastjetfortran.cc:
	rolled back to the auto_ptr (The idea would be to switch to a
	unique_ptr when we include c++11 support). For now, we just
	deprecate its use in the interface

	* example/fastjet_timing_plugins.cc:
	replaced rapmax->grid_rapmax in a local declaration to eliminate a warning.

2014-07-28  Gregory Soyez  <soyez@fastjet.fr>

	* example/fastjet_timing_plugins.cc:
	declared SubType globally to prevent a icpc (v10.1) error.

2014-07-28  Gregory Soyez  <soyez@fastjet.fr>

	* example/fastjet_timing_plugins.cc:
	* fortran_wrapper/fastjetfortran.cc:
	auto_ptr -> SharedPtr as below

	* include/fastjet/ClusterSequenceArea.hh:
	use a standard pointer to hold the specific underlying CSAB rather
	than an auto_ptr

2014-07-27  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence_Delaunay.cc:
	replaced the auto_ptr to the DNN object by a standard C pointer
	(deleted at the end of ClusterSequence::_delaunay_cluster())

	* plugins/SISCone/SISConePlugin.cc:
	* plugins/SISCone/SISConeSphericalPlugin.cc:
	* plugins/SISCone/fastjet/SISConePlugin.hh:
	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh:
	replaced the use of auto_ptr by SharedPtr (auto_ptr has been
	deprecated by C++11. Ideally a unique_ptr should be used but
	SharedPtr will do the job)

2014-07-26  Gavin Salam  <gavin.salam@cern.ch>

	* example/fastjet_timing_plugins.cc:
	Switched from fj:: to using namespace fastjet.

	Added -compare-strategy for comparing two different strategies and
	printing out events where they disagree. Currently does full
	clustering history comparison (not suitable for C/A alg.)

2014-07-25  Gavin Salam  <gavin.salam@cern.ch>

	* src/LazyTiling9.cc:

	added FASTJET_LAZY9_MIN2TILESY option, which forces at least two
	tiles in rapidity. Ran usual tests of 10k events on each of antikt,
	cam & kt with R=1000. Found one event for kt in which the answers
	do not agree with N2MinHeapTiled. This appears to be independent
	of whether FASTJET_LAZY9_MIN2TILESY is set. Commands to see the
	problem are

	gunzip -c ../data/Pythia-PtMin50-LHC-10kev.dat.gz| time ./example/fastjet_timing_plugins -kt -R 1000 -strategy -7 -write -nev 7492 -skip 7491
	gunzip -c ../data/Pythia-PtMin50-LHC-10kev.dat.gz| time ./example/fastjet_timing_plugins -kt -R 1000 -strategy -4 -write -nev 7492 -skip 7491

	Detailed investigation still to be carried out.
	Issue filed as 2014-07-26-Lazy9-largeR-clustering

2014-07-25  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Recluster.hh:
	* tools/Recluster.cc:
	back to the case with C/A reclustering and non-ghosted areas:
	instead of issuing a warning, discard the area info in the
	composite jet.

	* include/fastjet/CompositeJetStructure.hh:
	commented out set_area_information: the comment said this was used
	by "join" and cannot be used by an end-user while in practice,
	join no longer uses this (has it at any time?)

	instead, added a discard_area() method that allows to disable the
	area information for composite jets made of pieces with area.

	* tools/Pruner.cc:
	* tools/fastjet/tools/Pruner.hh:
	when creating the pruning jet definition, set the shared
	recombiner in case it it owned by the parent jet definition.

	* include/fastjet/JetDefinition.hh:
	in set_shared_Recombiner, only copy the recombiner if we have
	ownership of it [this allows us to copy the shared pointer even if we
	have no ownership of the recombiner]

	* tools/fastjet/tools/Filter.hh:
	* tools/Filter.cc:
	simplified things considerably to use Recluster... still work in
	progress and checks to be made

	* tools/fastjet/tools/Recluster.hh:
	* tools/Recluster.cc:
	issue a warning when we're using the simplified C/A reclustering
	and that there is non-explicit-ghost area support. Areas can be
	erroneous in this case.

2014-07-24  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Recluster.hh              *** ADDED ***
	* tools/Recluster.cc:                           *** ADDED ***
	added a "Recluster" tool [it is essentially the reclustering part
	of Filter although this code has transited through the
	RecursiveTools contrib]

2014-07-24  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* include/fastjet/ClusterSequence.hh:
	removed an old commented-out constructor

2014-07-24  Gavin Salam  <gavin.salam@cern.ch>

        * include/fastjet/Selector.hh
        * include/fastjet/internal/Dnn2piCylinder.hh
        * include/fastjet/internal/Dnn3piCylinder.hh
        * include/fastjet/internal/Dnn4piCylinder.hh
        * include/fastjet/internal/DnnPlane.hh
        * include/fastjet/internal/DynamicNearestNeighbours.hh
        * src/DnnPlane.cc
        * src/Selector.cc
	further replacements of const double & and const int & with plain
	const double and const int.

2014-07-23  Gavin Salam  <gavin.salam@cern.ch>

	* src/LazyTiling25.cc:

	fixed bug in positioning of tile centers that emerged when
	_tiles_ieta_min*_tile_size and _tiles_eta_min were different
	(which was previously never the case); having fixed this, the
	scheme for always having at least 3 tiles in Y now works. Ran a
	test on 10k events that anti-kt results are identical to other
	schemes.

	* src/LazyTiling9.cc:
	fixed the same bug in positioning of tile centers; this should
	have no effect here since, for now, _tiles_ieta_min*_tile_size and
	_tiles_eta_min are always the same.

	* scripts/update-headers.pl:  *** ADDED ***
	new script to update headers (including copyright date) of all .hh,
	.cc, .icc and .f files.

	The master copyright text is now stored here. It has been adapted
	to mention the manual as well as the original fastjet paper, and
	also to request that the FastJet version number be quoted in
	scientific publications.

	The header start/end strings are now FJSTARTHEADER and FJENDHEADER
	(i.e. added "FJ") in order to limit chances of collisions with
	other code.

	* **/*.(cc|icc|hh|f): 
	updated headers

2014-07-22  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo + Gregory

	* RoadMap: updated (plans for 3.1)

	* include/fastjet/PseudoJetStructureBase.hh:
	deprecated the use of "const double& dcut" in exclusive_subjets(...)
	and exclusive_subjets_up_to(...) for future major releases. (to be
	replaced by "const double dcut".

	* include/fastjet/GhostedAreaSpec.hh:
	added both (set)_ghost_maxeta and (set)_ghost_rapmax to ensure
	symmetry

	* BUGS:
	removed the bug due to coincident points in strategies using CGAL

	* include/fastjet/JetDefinition.hh:
	* src/JetDefinition.cc:
	  . addded shared_recombiner() and set_shared_recombiner() methods.
	  . replaced _recombiner_shared with _shared_recombiner
	  . tidied up comments

	* include/fastjet/ClusterSequence.hh: 
	fixed comment about delete_self_when_unused() (one should not be
	in a context where the CS may just go out of scope).
	+ deprecated the use of auto_ptr for plugin extras.

	* include/fastjet/internal/LazyTiling9Alt.hh: 
	* src/LazyTiling9Alt.cc: 
	commented out unused variant of _distance_to_tile

	* src/ClusterSequence.cc: 
	* include/fastjet/JetDefinition.hh: 
	renamed FJ30Best -> BestFJ30

2014-07-22  Gavin Salam  <gavin.salam@cern.ch>

        * include/fastjet/ClusterSequence.hh
        * include/fastjet/PseudoJet.hh
        * include/fastjet/internal/LazyTiling25.hh
        * include/fastjet/internal/LazyTiling9.hh
        * include/fastjet/internal/LazyTiling9Alt.hh
        * include/fastjet/internal/LazyTiling9SeparateGhosts.hh
        * src/ClusterSequence.cc
        * src/ClusterSequence_Delaunay.cc
        * src/ClusterSequence_TiledN2.cc
        * src/LazyTiling25.cc
        * src/LazyTiling9.cc
        * src/LazyTiling9Alt.cc
        * src/LazyTiling9SeparateGhosts.cc
        * src/PseudoJet.cc
	replaced a number of "const double &" and "const int &" with
	"const double" and "const int". There are still a number of others
	to handle. 
	
2014-07-22  Gavin Salam  <gavin.salam@cern.ch>

	* testsuite/TestPseudoJet.hh:
	added a set of tests of the ==0 and != 0 operators

	* testsuite/cs_delete_self.cc: 
	now gives errors when things that should (not) throw do not (or
	do). 

	* testsuite/PJtiming.cc:
	replaced dynamic-sized C-array (which gave compilation errors)
	with a dynamically allocated array.

	* testsuite/run-all.sh: *** ADDED ***
	this script runs everything in the directory and makes sure it all
	exits OK. 

	* testsuite/README: *** ADDED ***
	added a README to help us recall how to use what's in here

	* include/fastjet/PseudoJet.hh:
	added val==PseudoJet and val!=PseudoJet bool functions so that we
	have the complete set.

	* include/fastjet/internal/SearchTree.hh (circulator):
	the following line 
	"template<class U> friend class SearchTree<U>::const_circulator;"
	gave a warning, so made it template wrt class T
	Things still work with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)

	* src/ClosestPair2D.cc:
	removed unused
	const unsigned int huge_unsigned = 4294967295U;
	which was giving unused-variable warnings

	Both warnings reported by Torbjorn Sjostrand.

2014-07-19  Gavin Salam  <gavin.salam@cern.ch>

	* test-compare.sh (extra_args): 
	eliminated lines with "Strategy" as well as "strategy" in order
	for make check not to give error if all that has changed is the
	strategy choice (previously just eliminated strategy, and was
	failing because in one place the output said "Strategy")

2014-07-18  Gavin Salam  <gavin.salam@cern.ch> [on train]

	* regression-tests/test-all-algs.pl (setDefaults):
	default strategy set for tests now includes -7 (N2MHTLazy9) and -6
	(N2MHTLazy25) for kt, cam and anti-kt.

	* include/fastjet/JetDefinition.hh: 
	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.cc:
	added Strategy = FJ30Best (21), which reproduces the strategy
	selection of FJ 3.0.

	Best now instead calls the new ClusterSequence::_best_strategy()
	routine to select the best strategy. Also added helper classes
	ClusterSequence::_Parabola and ClusterSequence::_Line. Structure
	and parameters are based on Gregory's preliminary results in
	issue-tracker/2014-07-auto-strategy-selection/transition_fit.gp.
	Ran some basic tests to make sure that transitions look sensible
	(compared to the plot transition_fit.eps). 

	*** It's still missing the transitions to NlnN routines. ***

	* src/ClusterSequence.cc: 
	strategy_string() now correctly outputs a name for the new
	LazyTiled strategies.

	* include/fastjet/JetDefinition.hh:
	filled out the comments to describe the new strategies.

	* src/LazyTiling25.cc (_initialise_tiles): 
	added some commented code to adapt tile rapidity-size choice in
	cases where _tiles_eta_max - _tiles_eta_min < 3/2R, so as to
	ensure exactly 3 spanning tiles; for large R, in cases where it
	works, it appears to give a (sometimes substantial) speed
	improvement, but it also hangs. Reason still needs identifying
	(hence it's commented).

2014-07-18  Gregory Soyez  <soyez@fastjet.fr>

	* example/fastjet_timing_plugins.cc:
	reinstated the -etamax option which actually sets maximal rapidity
	(and prints a warning) --- backported from the 3.0.X branch

	* NEWS:
	backported news for v3.0.5 and 3.0.6 from the 3.0.X branch

	* example/ktjet_timing.cc:
	included cstdio required by recent compilers

	* tools/fastjet/tools/Filter.hh:
	- added an _initialised flag allowing to check whether the Filter
	  has been initialised properly or not
	- made the subtractor a (pointer to a)
	  FunctionOfPseudoJet<PseudoJet> instead of a Transformer

2014-07-18  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* include/fastjet/internal/Makefile.am
	(fastjetincludeinternal_HEADERS):
	added TilingExtent to fastjetincludeinternal_HEADERS

	* src/TilingExtent.cc (_determine_rapidity_extent): 
	switched all ints for bin counts -> doubles
	
2014-07-18  Gregory Soyez  <soyez@fastjet.fr>

	* src/TilingExtent.cc (_determine_rapidity_extent):
	_cumul2 was declared locally and hence shadowing the _cumul2
	declared as a class member. Fixed.

	* include/fastjet/internal/Makefile.am (fastjetincludeinternal_HEADERS):
	LazyTiling25.hh was listed twice. Removed one. [was giving install
	errors]

2014-07-18  Gavin Salam  <gavin.salam@cern.ch> (later)

	Carried out substantial renaming of the new Tiling files, classes,
	strategy enum names, etc., basically according to the following
	pattern

                                                Strategy        Class
    N2MinHeapTiled_experimental1 (Tiling)   ->  N2MHTLazy9Alt  (LazyTiling9Alt)
    N2MinHeapTiled_experimental3 (Tiling2)  ->  N2MHTLazy9     (LazyTiling9)
    N2MinHeapTiled_experimental2 (Tiling25) ->  N2MHTLazy25    (LazyTiling25)


    N2MinHeapTiled_separate_ghosts_antikt (Tiling3)
                                            ->  N2MHTLazy9AntiKtSeparateGhosts (LazyTiling9SeparateGhosts)

    TilingAnalysis -> TilingExtent (separated out into a separate file)


	Overall that gives following renamed files

        * include/fastjet/internal/LazyTiling25.hh:
        * include/fastjet/internal/LazyTiling9.hh:
        * include/fastjet/internal/LazyTiling9Alt.hh:
        * include/fastjet/internal/LazyTiling9SeparateGhosts.hh:
        * src/LazyTiling25.cc:
        * src/LazyTiling9.cc:
        * src/LazyTiling9Alt.cc:
        * src/LazyTiling9SeparateGhosts.cc:

	moved from old names

        * include/fastjet/internal/TilingExtent.hh: *** ADDED ***
	* src/TilingExtent.cc                       *** ADDED ***

	TilingExtent (was TilingAnalysis) moved out of old files.

        * include/fastjet/JetDefinition.hh:
        * src/ClusterSequence.cc:
        * src/ClusterSequence_TiledN2.cc:
	adaptations to take into account the new naming 

        * include/fastjet/Makefile.am:
	* include/fastjet/internal/Makefile.am
        * src/Makefile.am
	updated these to reflect new file naming scheme
	
	
2014-07-18  Gavin Salam  <gavin.salam@cern.ch>

	* src/Tiling2.cc: 
	changed name of the _TILING2_USE_TILING_ANALYSIS_
	preprocessor variable to include FASTJET in its name (as per our
	convention). 

	* src/Tiling25.cc:
	switched over to use of TilingAnalysis, again using a preprocessor
	variable to control whether it is on or off.

2014-07-17  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* src/Tiling2.cc: 
	turned TilingAnalysis back on in Tiling2 and in TilingAnalysis,
	changed allowed_max_fraction from 0.5 to 0.25.

2014-07-17  Gregory Soyez  <soyez@fastjet.fr>

	* src/Tiling2.cc:
	added a pre-processor define to allow to switch on/off the use of
	TilingAnalysis in Tiling2 (currently disabled)

2014-07-17  Gavin Salam  <gavin.salam@cern.ch> + Matteo & Gregory

	* src/Tiling2.cc|hh:
	should have fixed issue where TilingAnalysis can crash in certain classes of
	low multiplicity events (basically allowed_max_cumul should not be
	larger than largest single bin), added
	sum_of_binned_squared_multiplicity() member and fixed some
	double-counting issues in its calculation. Also tried to improve
	code readability and comments

2014-06-14  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/JetDefinition.hh:
	fixed issue reported by TJ Wilkason when constructing a 2-parameter
	jet definition with a pointer to a recombiner

2014-05-25  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/PseudoJet.hh: 
	fixed minor typo in comment

	* src/ClusterSequenceVoronoiArea.cc: 
	removed erroneous sentence in license comments about this file
	being part of a command-line handling environment

2014-02-18  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* scripts/mksnapshot.sh:
	updated location of snapshots.html file

2014-01-16  Gregory Soyez  <soyez@fastjet.fr> and Gavin (committed by Gavin)

	* include/fastjet/FunctionOfPseudoJet.hh: 
	a FunctionOfPseudoJet(const TOut & constant_value) member
	declaration was left over from some testing, but had never been
	implemented. Since we don't intend to have it, it has been
	commented out. Done in the trunk, and intended for FJ 3.0.7 upwards. 

2014-01-07  Gavin Salam  <gavin.salam@cern.ch>

	* src/PseudoJet.cc:
	comments for boost/unboost were exchanged in the .cc file

2013-12-28  Gavin Salam  <gavin.salam@cern.ch>

	* tools/Pruner.cc:
	* tools/fastjet/tools/Pruner.hh:

	pruned_jet.structure_of<Pruner>() now has Rcut() and zcut() member
	functions, which return the actual value of Rcut and zcut used for
	that jet.

	A preprocessor symbol is defined,
	FASTJET_PRUNER_STRUCTURE_STORES_RCUT,
	to indicate the availability of this information.

	Also made the dynamic Rcut and zcut pointers "const", which they
	should have been all along.

	* doc/fastjet-doc.tex:
	corresponding update to the documentation

	* example/14-groomers.cc:
	in the case of pruning, Rcut is now explicitly written out.

2013-12-19  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	fixed an issue in the test for the presence of a C++ compiler.

2013-12-17  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	replaced ramses -> karnak

2013-12-10  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	ensured that tar's STDERR is also redirected to the $untar
	variable. This (together with my locale variables change) should
	help get the nightly check back on track with the new ramses (OS X
	10.8). 

	Also made sure that if the ssh output is not empty, the error
	message is now explicit about the fact that this is the reason for
	a failure. This should make future diagnostics easier.

	replaced karnak -> ramses (temporarily)

2013-12-09  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/CompositeJetStructure.hh:
	extended comment for set_area_information(...)

2013-12-08  Gavin Salam  <gavin.salam@cern.ch>

	* src/CompositeJetStructure.cc (area_error): 
	this was erroneously returning the sum of areas of the individual
	pieces rather than the sum of their area_errors() as stated in the
	comments. Now fixed.

2013-12-04  Gavin Salam  <gavin.salam@cern.ch>

	* fortran_wrapper/Makefile.alt: 
	added explicit default -O compiler flags in Makefile.alt, which
	can have a big effect on the speed of the wrapper for low
	multiplicities. 

2013-11-13  Gavin SALAM  <salam@lpthe.jussieu.fr> + Gregory & Matteo

	* tools/GridMedianBackgroundEstimator.cc (description):
	description now prints information on the actual grid-cell size

2013-11-04  Gavin Salam  <gavin.salam@cern.ch>

	* src/ClusterSequenceVoronoiArea.cc (_initializeVA): 
	explicitly reserved array size for vector 4-areas, intended to
	bring small efficiency gain. (That this was missing was pointed
	out by Vincenzo Innocente)

2013-10-28  Gavin Salam  <gavin.salam@cern.ch>

	[merges from fastjet-3.0.x branch]

	* plugins/D0RunIICone/ConeSplitMerge.hpp:
	made ProtoJet_ET_seedET_order::operator() const, to fix compilation
	issue under OS X 10.9 (Mavericks). 

	* plugins/CDFCones/CDFcode/JetCluAlgorithm.cc:
	included <cstdlib> and switched abs -> std::abs to fix compilation
	issue under OS X 10.9 (Mavericks). This and the above one reported
	by David Grellscheid and Pere Mato Vila.

	* example/11-filter.cc:
	* tools/MassDropTagger.cc:
	* tools/JHTopTagger.cc:
	fixed bugs where (! a==b) was being used instead of
	(a!=b) in certain consistency checks. In the two taggers, this
	should only affect whether a warning is produced when called with
	algorithms other than Cambridge/Aachen. Reported by David
	Grellscheid. (The MDT case had already been fixed below; now the
	fix is consistent across the board)

2013-10-25  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* plugins/GridJet/fastjet/GridJetPlugin.hh:
	added drap(), dphi(), rapmin() and rapmax() query functions to get
	actual grid spacings.

2013-09-15  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/Selector.hh:
	* include/fastjet/NNH.hh:
	* include/fastjet/internal/ClusterSequence_N2.icc:
	these files had guards without FASTJET_ in their name, as a result
	of which the fjcore files had identical guards, causing a
	conflict. the FASTJET_ tag has now been added. 

2013-09-13  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* src/Tiling3.cc: 
	eliminated the uninitialised compilation warning (as done in the
	other strategies).

	* regression-tests/test-all-algs.pl:
	updated checksums for background estimations with -rapmax option,
	in light of yesterday's bugfix in
	fastjet_timing_plugins. Internal program consistency should be OK
	given that the nightly check from the night before last came out
	OK (and we haven't touched core code since then).

	Also added some extra checksums for quick tests with 10 events.

2013-09-13  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* regression-tests/test-all-algs.pl:
	replaced -etamax -> -rapmax (following yesterday's change);
	fixed an issue where bkgds & areas were giving problems when
	running more than one strategy (to do with copies v. aliases in
	foreach loops).

2013-09-12  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* example/fastjet_timing_plugins.cc: 
	replaced -etamax option with -rapmax and fixed bug that it was
	acting only as an upper limit of rapidity. (Not a lower limit)

2013-08-17  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/ClusterSequence.hh (C):
	* include/fastjet/PseudoJet.hh:
	  small changes to comments for subdmerge.

2013-07-31  Gregory Soyez  <soyez@fastjet.fr>

	* example/data/Makefile.am (EXTRA_DIST):
	  added the missing boosted top event to the distribution

2013-07-12  Gregory Soyez  <soyez@fastjet.fr>

	* regression-tests/nightly-check.pl:
	  added tests with gcc-4.6 and gcc-4.7

2013-07-11  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	  backported release notes for FastJet-3.0.4 from the 3.0.X branch

2013-06-30  Gavin Salam  <gavin.salam@cern.ch> + Matteo (later):

	* Tiling2.cc|hh
	* Tiling25.cc|hh
	* src/ClusterSequence.cc
	  removed old Tiling2::run() and renamed Tiling2::run_alt() -> Tiling2::run()
	  removed old Tiling25::run() and renamed Tiling25::run_alt() -> Tiling25::run()


2013-06-30  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* merged changes from speed development branch. Things are
	  currently a bit messy. Here's what we have

	  - TilingAnalysis class 
	    (inside Tiling2.hh|cc; it should be moved out & renamed TilingExtent?)
	    tiling used to have an extent that stretched up to rapidity of
	    most forward and backward particles; this new class limits the
	    rapidity extent of the tiling so as not to have very sparse
	    tiles at edges of the tiling. 

	  - Tiling: this was the first attempt at a speed improvement. The
	    main ingredient is that it tries not to search beyond the edge of
	    a tile if a particle's distance to the edge is greater than
	    than to its in-tile nearest neighbour. 
	    Available as N2MinHeapTiled_experimental1   = -5

	  - Tiling2, with its run_alt() call, is very similar to Tiling,
	    but reorders some checks and is marginally (up to 5%?) faster
	    Available as N2MinHeapTiled_experimental3   = -7

	  - Tiling25 (with its run_alt() call), uses a patch of 25 tiles
	    of size R/2 for its NN searches. Gains are most substantial at
	    quite high multiplicities and/or large R values.
	    Available as N2MinHeapTiled_experimental2   = -6

          - Tiling3: intended just for the anti-kt algorithm, this avoids
	    clustering ghosts with each other and so reduces some distance
	    computations. Incorporates most of the mods from the Tiling
	    approach as well
	    Available as N2MinHeapTiled_separate_ghosts_antikt = -10

2013-06-05  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* include/fastjet/SharedPtr.hh: 
	  replaced USETR1SHAREDPTR -> __FASTJET_USETR1SHAREDPTR
	  (merged from rev.3129 of 3.0.X branch)

2013-05-22  Gregory Soyez  <soyez@fastjet.fr>

	* tools/MassDropTagger.cc (result):
	  added a missing set of () when testing if the jet was obtained
	  from a C/A clustering

2013-05-13  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	  corrected a typo in a comment

2013-05-04  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence_Delaunay.cc
	  moved inclusion of DynamicNearestNeighbours.hh from
	  ClusterSequence.hh (a forward definition is sufficient) to the
	  Delaunay file.

	* include/fastjet/PseudoJet.hh:
	  added explicit fastjet:: to cast_if_derived call, to avoid
	  ambiguities when converting from fastjet to fjcore PseudoJets
	  (and vice versa), where it wasn't clear whether to use fastjet::
	  or fjcore:: cast_if_derived.

2013-05-03  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* include/fastjet/internal/SearchTree.hh:
	  renamed TRACK_DEPTH define as __FASTJET_SEARCHTREE_TRACK_DEPTH

2013-05-01  Gavin Salam  <gavin.salam@cern.ch>

	* regression-tests/nightly-check.pl: 
	  added themis (32 bit) to the nightly check, and reordered the
	  checks to make the structure more clearly visible.

2013-04-30 Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * example/fastjet_timing_plugins.cc
	  fixed a couple of harmless errors in the messages
	  concerning missing plugins

2013-04-30  Gregory Soyez  <soyez@fastjet.fr>

	* regression-tests/nightly-check.pl:
	  explicitly pointed to the correct version of libstdc++ when
	  checking gcc-4.8

2013-04-29  Gavin Salam  <gavin.salam@cern.ch>

	* regression-tests/nightly-check.pl: 
	  removed a couple more redundant machines for the nightly checks

2013-04-28  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  switched intel compiler tests over to default args (used to rely
	  on gcc34 libraries).

2013-04-27  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  updated CGAL directory 
	  removed explicit g++3.4 test (but we still have it on zetes)

2013-04-06  Gavin Salam  <gavin.salam@cern.ch>

	* configure.ac: 
	  changed explicitly required autoconf to 2.63

2013-03-30  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/PseudoJet.hh:
	* src/PseudoJet.cc:
	  in response to request from ATLAS, initialize PseudoJet::_rap to
	  a dummy value even though it's not necessary, in order to avoid
	  NaN's in ATLAS rigid NaN tests.

	* configure.ac:
	  replaced AM_CONFIG_HEADER with AC_CONFIG_HEADERS to get 
	  compatibility with autoconf-2.69 + automake-1.13. This breaks
	  very old autotools setups

	  sorted out bug in sed commands for version numbers with OS X
	  version of sed. (Some versions of sed and grep don't recognise
	  "+").

2013-02-23  Gavin Salam  <gavin.salam@cern.ch>

	* scripts/mkfjcore.sh:
	  made a couple of changes to get this to work on macs
	  + a little extra output (also added TODO-fjcore and renamed
	  preamble file)

2013-02-20  Gregory Soyez  <soyez@fastjet.fr> + Gavin & Matteo

	* src/CompositeJetStructure.cc (CompositeJetStructure):
	  removed a compiler warning about recombiner being unused in
	  fjcore

	* src/ClusterSequence_TiledN2.cc:
	  explicitly disabled a harmless gcc warning in
	  _add_untagged_neighbours_to_tile_union
	  Turned into a comment for future usage/bookkeeping

	  Instead, explicitly initialise oldB.tile_index=0 in
	  _tiled_N2_cluster(), _faster_tiled_N2_cluster() and
	  _minheap_faster_tiled_N2_cluster().

2013-02-18  Gregory Soyez  <soyez@fastjet.fr>

	* m4/CGAL.m4:
	  linked against gmp, gmpxx and mpfr if available (this provides a
	  more robust CGAL support as in some cases -lgmp has to be
	  explicitly included at link time)

	* src/PseudoJetStructureBase.cc:
	* include/fastjet/PseudoJetStructureBase.hh:
	  forther #ifndef __FJCORE__ not included during the first round

	* include/fastjet/Selector.hh:
	* include/fastjet/PseudoJetStructureBase.hh:
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/CompositeJetStructure.hh:
	* include/fastjet/ClusterSequenceStructure.hh:
	* src/Selector.cc:
	* src/PseudoJetStructureBase.cc:
	* src/PseudoJet.cc:
	* src/CompositeJetStructure.cc:
	* src/ClusterSequenceStructure.cc:
	  FJCore work: code not included in the core has been placed inside
	    #ifndef __FJCORE__
	    ...
	    #endif
	  for automatic extraction of the core part of FastJet. This includes
	   . area-related headers and code
	   . CGAL support

	* include/fastjet/internal/IsBase.hh (cast_if_derived):
	  use 0 instead of NULL (which would potentially require an
	  additional header)

	* src/ClosestPair2D.cc (closest_pair):
	  use std::swap instead of swap (i.e. make the namespace explicit
	  to avoid conflict with fastjet::swap in SharedPtr (only needed
	  because we are in the fastJet namespace)

2013-02-14  Gavin Salam  <gavin.salam@cern.ch> + Matteo Cacciari

	* include/fastjet/JetDefinition.hh:
	* include/fastjet/ClusterSequence.hh:
	  introduced JetDefinition::operator()(particles), which runs
	  the jet algorithm and returns an appropriately sorted vector
	  of jets

	* src/JetDefinition.cc:
	* include/fastjet/JetDefinition.hh:
	  added is_spherical() member function, which returns true for
	  algorithms intended for use in spherical coordinates (i.e. e+e-
	  algorithms). Also extended the plugin interface so that plugins
	  can provide this information (unmodified plugins return false,
	  which makes sense because most current plugins are for hadron
	  colliders).

	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh:
	* plugins/EECambridge/fastjet/EECambridgePlugin.hh:
	  implemented is_spherical() members that return true.

2013-01-29  Gavin Salam  <gavin.salam@cern.ch>
        * many places:
	  updated the svn ignore properties to ignore Makefile,
	  Makefile.in .deps

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc (description):
	  description() now prints out the pt power if it differs from 1.

	* autogen.sh: 
	  fixed a minor bug when glibtool is missing.

2013-01-29  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	  provided an access, using jets_used(), to the jets that have
	  been used for the last call to rho() or sigma()
	  + changed come of the comments

2013-01-07  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/Selector.hh: 
	  tiny change to comments so that in doxygen one sees that
	  "pass()" is the routine needing to be overloaded. 

2012-12-17  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	  brought the NEWS from 3.0.2 to 3.0.3 from the branch
	  [3.0.3 was developed in a branch and consisted of a few bug
	  fixes borrowed from the trunk. All the changes are in agreement
	  between the trunk and the branch so there was just the summary
	  of changes that needed to be updates]

2012-12-11  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/Selector.cc:
	* include/fastjet/Selector.hh:
	  added Selector::sum(...), which returns the 4-vector sum of the
	  input jets that pass the selection.

2012-09-18  Gavin Salam  <gsalam@macth69.cern.ch>

	* fortran_wrapper/fastjetfortran.cc: 
	  added a fastjeteegenkt_ routine, similar to fastjetppgenkt_, but
	  for e+e- generalised kt, as requested by Bryan.

2012-09-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_timing_plugins.cc: 
	  added protection in case of null extras for SISCone

2012-08-21  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	  following question from Daniel Maitre about
	  "jet_scale_for_algorithm()",  modified its doxygen comment to
	  indicate that it is mainly for internal use.

2012-07-11  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	  When trying to access information relative to the last
	  computation of rho (or sigma) --- i.e. in mean_area(),
	  n_jets_used(), empty_area() and n_empty_jets() ---, throw an
	  error if the configuration has changed in the meantime.

	* tools/JetMedianBackgroundEstimator.cc:
	  In BackgroundJetScalarPtDensity, explicitly exclude the ghosts
	  from the list of constituents to avoid problematic behaviour
	  when _pt_power <= 0.

2012-06-25  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence.cc (print_banner):
	  updated references in the banner

2012-06-19  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex (section{Introduction}): 
	  added a footnote about stopping the exclusive algorithm once it
	  reaches a predetermined number of jets. (Thanks to Giulia
	  Zanderighi for pointing out this omission).

2012-06-13  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/internal/SearchTree.hh (template): 
	  a further fix for clang v1.1 (release 27) compilation

2012-06-12  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/NNH.hh:
	* plugins/D0RunIICone/ILConeAlgorithm.hpp:
	  Worked around some issues to allow compilation with gcc 4.7 (and
	  clang) which no longer performs unqualified template
	  lookups. See e.g. http://gcc.gnu.org/gcc-4.7/porting_to.html
	  [Thanks to Gavin Hesketh and Jihun Kim for reporting this]

2012-05-04  Gavin Salam  <gsalam@macth69.cern.ch>

	* include/fastjet/JetDefinition.hh (): 
	  small changes to comments

2012-04-09  Gavin Salam  <salam@lpthe.jussieu.fr>


	* include/fastjet/JetDefinition.hh (enum Strategy):
	* src/ClusterSequence.cc
	  right now the strategies are as follows:
	  -7 = latest version of 9-tile (Tiling2::run_alt)
	  -6 = new 25-tile code.

	* include/fastjet/Tiling2.hh
	* src/Tiling2.cc
	  this now contains run() and run_alt(); wrt run(), the latter
	  reorders the updates, so that the new object's neighbours go
	  first, blindly checking at each distance whether we've hit a
	  neighbour of the old points; then it looks at the remaining
	  tiles that might be relevant for the old points. Basically cuts
	  down the number of jet-to-tile distances by 10-20%, though no
	  measurable speed improvements.

	  Also: added a new class TilingAnalysis, which tries to determine
	  a sensible rapidity extent for the tiling. Reduces the reliance
	  on nasty hand-coded limits compared to before.

	* src/ClusterSequence_TiledN2.cc: 
	  this now uses the TilingAnalysis to decide the rapidity
	  extents. For N=30, on the simple trial event 

            time ./fastjet_timing_plugins -antikt -R 0.5 -combine 1 -repeat 50000 < ~/work/fastjet/data/Pythia-1PtMin50+nMinBias-mansorted.dat -strategy -3 -nhardest 30

	  there was a run-time reduction of 30%, presumably because one
	  avoids grid initialisation. Some of the parameters inside
	  TilingAnalysis are "inspired" guestimates.


	* include/fastjet/Tiling25.hh:       *** ADDED ***
	* src/Tiling25.cc:                   *** ADDED ***
	* src/Makefile.am
	* include/fastjet/Makefile.am
	  trial of a 25-tile approach with tiles of size R/2. Becomes
	  competitive only starting from N \sim 20k. For 44k, one gains a
	  factor of 1.3 in speed. In this region, relative to the old -4
	  strategy we have a factor 4 gain in speed -- so not negligible
	  for HI. 
	  
	
2012-04-02  Gavin Salam  <gavin.salam@cern.ch>

	* src/ClusterSequence.cc: 
	* include/fastjet/JetDefinition.hh: 
	* src/Makefile.am: 
	* include/fastjet/Makefile.am: 
	* src/Tiling3.cc:              *** ADDED ***
	* include/fastjet/Tiling3.hh:  *** ADDED ***
	  addition of tiling routines that allow for ghosts to be treated
	  separately from other particles. This is relevant for anti-kt
	  type algorithms where ghosts cluster with each other only at the
	  very end of the sequence. If one's not interested in the pure
	  ghost jets, then one can neglect all ghost-ghost distances.
	  Available as N2MinHeapTiled_separate_ghosts_antikt -- compiles
	  and runs OK on normal events, and seems to behave OK also on
	  ghosted events.  Note the ghost pt cutoff is currently
	  hard-coded.

2012-04-02  Gavin SALAM  <salam@lpthe.jussieu.fr> + Gregory

	* src/Tiling.cc:
	* include/fastjet/Tiling.hh:
	  Used pointers to functions in Tile that allow for a faster
	  computation of the distance from a point to the edges and corners
	  of its tile.

2012-04-02  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/Tiling2.hh:
	* include/fastjet/Tiling2.cc:
	  copied Tile (from Tile.{hh,cc} into Tile2 for future mods of Tile

	* include/fastjet/Tiling2.hh:
	* include/fastjet/Tiling2.cc:
	* src/ClusterSequence.cc:
	* src/Makefile.am:
	* include/fastjet/Makefile.am:
	  inserted a copy of the current Tiling class for easier
	  comparison between the present status and further developments.

2012-04-02  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence_TiledN2.cc: 
	  put the N2MinHeapTiled back to the old code now that we have a
	  dedicated strategy for developments from below. This also
	  removes any risk of penalty associated with increased tile size,
	  etc. in the old strategies.

2012-04-02  Gavin SALAM  <salam@lpthe.jussieu.fr> + Gregory

	* include/fastjet/Tiling.hh: 
	* src/Tiling.cc: 
	  playing with the idea of two copies of bj_dist, with and without
	  2pi periodicity.

2012-04-02  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/JetDefinition.hh:
	* src/ClusterSequence.cc:

	  added N2MinHeapTiled_experimental1 and
	  N2MinHeapTiled_experimental2 and instrumented the first one so
	  that it uses the external tiling class.

	* src/Tiling.cc:
	* include/fastjet/Tiling.hh:
	  completed and tested these so that it replicates the N2MinHeap
	  strategy that has been developed in the past few days.

2012-04-01  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/Tiling.cc:              *** ADDED ***
	* include/fastjet/Tiling.hh:  *** ADDED ***
	  added as-yet incomplete Tiling classes to provide handling of
	  tiling that is external to the CS.
	
	* include/fastjet/ClusterSequence.hh: 
	  moved guards right up to top of file.

	* include/fastjet/internal/MinHeap.hh: 
	* src/MinHeap.cc: 

	  renamed _initialise(values) -> initialise(values) and added a
	  constructor that just sets the size and no more.

2012-03-31  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence_TiledN2.cc: 
	  small improvement in _distance_to_tile computation (cache
	  calculation of 0.5*tile spacing).

2012-03-30  Gavin SALAM  <salam@lpthe.jussieu.fr> + Gregory

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence_TiledN2.cc: 
	  completed a first "draft" of the new tiling strategy that
	  aims to avoid calculations with tiles that are too far away
	  for the particular configuration of particles at hand.

2012-03-30  Gavin Salam  <gsalam@macth69.cern.ch>

	* example/fastjet_timing_plugins.cc (main): 
	  added a "-skip n" option to skip the first n events

2012-03-29  Gavin Salam  <gsalam@macth69.cern.ch>

	* src/ClusterSequence_TiledN2.cc (_minheap_faster_tiled_N2_cluster): 
	  development work to try out impact of keeping track of max NN
	  distance within the tile. Currently just in the initial NN
	  determination. For N=10^4, akt05, it saves 40-50% of the time in
	  that calculation (10% overall). Line being used for speed checks is

	    ./fastjet_timing_plugins -antikt -R 0.5 -combine 60 -repeat 100\
	      < ~/work/fastjet/data/Pythia-1PtMin50+nMinBias-mansorted.dat

	  Correctness tests come out OK on 10^3 events.

	* include/fastjet/ClusterSequence.hh:
	  additions to the Tile structure so that it can maintain info
	  about tile centres and the max_NN_dist within a tile.

2012-02-20  Gavin Salam  <salam@lpthe.jussieu.fr> + Gregory

	* test-compare.sh: 
	  changed the grep to correctly check the windows version number.

	* include/fastjet/internal/DnnPlane.hh (class DnnPlane): 
	* src/DnnPlane.cc: 
	  moved a const double value specification into the .hh to fix
	  compilation issue with g++ 4.4.

2012-02-20  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/config_win.h:
	  added the new version-number macros

	* configure.ac:
	* config.h.in:
	* src/genconfig.sh:
	  defined a series of macros to handle version numbers
	    FASTJET_VERSION_{MAJOR,MINOR,PATCHLEVEL}
	  and, above all,
	    FASTJET_VERSION_NUMBER
	  a 5-digit integer of the form XYYZZ (for version X.Y,Z) that
	  allows to require specific versions of FastJet by using
	    #if FASTJET_VERSION_NUMBER > 30100
	      ....
	    #endif
	  For previous versions of FastJet, where this macro is not
	  defined, it defaults to 0.

	* configure.ac:
	  fixed bug related to the --extra-warnings flag: it now sets its
	  own internal variable (ENABLE_EXTRA_WARNINGS_FLAG rather than
	  overwriting ENABLE_DEBG_FLAG. Now, enabling/disabling denug info
	  should work fine again.


2012-02-17  Gregory Soyez  <soyez@fastjet.fr> & Matteo

	* reintegrated the modifications from the
	  fastjet-3.0-CGAL-coincident branch. FastJet now allows for
	  coincident points in the NlnN strategy (using CGAL)

2012-02-17  Gregory Soyez  <soyez@fastjet.fr> & Matteo

	* configure.ac:
        * include/fastjet/config_win.h:
        * Doxyfile:
        * tex/fastjet-doc.tex:
          changed version to 3.1.0-devel

2012-02-16  Gregory Soyez  <soyez@fastjet.fr>

	* src/DnnPlane.cc:
	  added a comment about the commented out code which always uses
	  CGAL's distance comparison

	* include/fastjet/internal/DnnPlane.hh:
	  Clarified a comment frow Gavin's query in its last commit.

2012-02-16  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/internal/DnnPlane.hh:
	* src/DnnPlane.cc:
	  modified comments in a few places.

2012-02-15  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/internal/DnnPlane.hh:
	* src/DnnPlane.cc:
	  Fixed the longstanding issue that our NlnN strategies using CGAL
	  were not supporting coincident points ("known bug 1" in earlier
	  FastJet releases).

	  This is achieved by adding a 'coincidence' integer to the
	  SupoerVertex used in DnnPlane which keeps track of the
	  coincidences reported by CGAL.

	  In fixnig that issue, we became aware of rare situations where
	  rounding errors in comparing distances (in situations with 3
	  points a,b,c with dist(a,b)-dist(a,c)<<<1 and dist(b.c)<<<1)
	  could create inconsistencies between our distamce comparison and
	  CGAL's triangulation. This could is some particular setups lead
	  to infinite loops in the Clustering. We fixed it by using
	  explicitly CGAL's distance computation in these troublesome
	  situations (we do not do it in general because it could
	  introduce a 10-20% time penalty).

	  Afterall, the new code has been tested to run nearly as fast as
	  the previous one: 212.95s to cluster our reference 10000 events
	  (with all 3 NlnN strategies3 times) compared to 211.46s with the
	  code from the previous stable release (and 28.125s to read the
	  events)) i.e. only a 0.7% penalty. And this is not worse in
	  'grid' cases with real distance degeneracies.


2012-02-08  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/
	  set the svn ignore properties a bit more sensibly.

2012-02-06  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* doc/Makefile.am:
	* doc/figs/Makefile.am:              *** ADDED ***
	  added the figures of the manual to the distributed tarball

2012-01-17  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* switched to 3.0.3-devel

2012-01-17  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* Release of fastjet-3.0.2

2012-01-12  Gregory Soyez  <soyez@fastjet.fr>

	* fastjet-config.in:
	  used @libdir@ instead of @prefix@/lib and @includedir@ instead
	  of @prefix@/include for a correct treatment of non-standard
	  installation location

2011-12-16  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * configure.ac:
          added test that prevents user from installing in the build
          directory (copied from LHAPDF)

2011-12-13  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/D0RunICone/D0RunIBaseConePlugin.cc:
	* plugins/D0RunIICone/D0RunIIConePlugin.cc:
	  updated banner to give credit to the D0 collaboration

	* COPYING:
	* plugins/D0RunIICone/ProtoJet.hpp:
	* plugins/D0RunIICone/inline_maths.h:
	* plugins/D0RunIICone/ILConeAlgorithm.hpp:
	* plugins/D0RunIICone/HepEntity.h:
	* plugins/D0RunIICone/ConeSplitMerge.hpp:
	* plugins/D0RunIICone/ConeJetInfo.hpp:
	* plugins/D0RunICone/inline_maths.h:
	* plugins/D0RunICone/HepEntityIpre96.h:
	* plugins/D0RunICone/HepEntityI.h:
	* plugins/D0RunICone/ConeClusterAlgo.hpp:
	  added license information (Lars Sonnenschein and the D0
	  collaboration granted us the permission to distribute the D0
	  codes under the terms of the GPLv2

2011-12-05  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	  fixed an issue in the "g++ presence test" to cover situations
	  where the full path to the compiler is specified.

2011-12-03  Gavin Salam  <salam@lpthe.jussieu.fr>

	* ../contrib:                 *** ADDED ***
	* ../contrib/vermilion/*      *** ADDED ***
	* ../3rd_party_interfaces/ -> ../contrib/3rd_party_interfaces/

	  set up some structure for our copy of contrib, including the
	  code from Chris Vermilion + moved our pythia8 interface into
	  there.

2011-12-02  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo + Gregory

	* RoadMap: 
	  cleaned it up in preparation for transition to 3.1.0-devel

	* doc/contrib-policy.txt: *** ADDED ***
	  added this as a location to start thinking about how the contrib
	  area will work.

2011-12-02  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	  . added a test for sed
	  . added an explicit test that the C++ compiler returned by
	    AC_PROG_CXX (g++ if none found!) really exists (in case g++
	    is not installed)

2011-12-01  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	* include/fastjet/ClusterSequence.hh: 
	  void _print_banner() -> static void print_banner(); i.e. it's
	  now public and documented in doxygen.

	* example/fastjet_timing_plugins.cc: 
	  this now prints a banner early on

	* doc/fastjet-doc.tex (section{Error handling}):
	  added mention of CS::print_banner().

2011-12-01  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	  issued an error message if no C++ compiler is found

2011-11-29  Gavin Salam  <salam@lpthe.jussieu.fr>

	* CHECKLIST: 
	  updated this to reflect the new scripts/set-version.sh script

	* doc/fastjet-doc.tex
	  added note about comment lines to be removed for automatic
	  version changes

	* scripts/set-version.sh (version): *** ADDED ***
	  run 
	    ./scripts/set-version.sh VERSION-NUMBER 
	  to make all the changes needed to switch to a new
	  version

	* mksnapshot.sh -> scripts/mksnapshot.sh
	  clean up main directory by having maintenance scripts in the
	  scripts/ directory.
	
	* tarit.sh -> scripts/old/tarit.sh
	* tarit-areas.sh -> scripts/old/tarit-areas.sh
	* svntagit.sh -> scripts/old/svntagit.sh
	  these scripts were out of date in some way of other, so moved
	  them out of the way

2011-11-28  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex: 
	* Doxyfile (PROJECT_NUMBER): 
	* include/fastjet/config_win.h (FASTJET_PACKAGE_STRING): 
	* configure.ac: 
	  version number becomes 3.0.2-devel
	
	* switched SISCone back over to trunk

2011-11-25  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	Release of FastJet 3.0.1

2011-11-25  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* NEWS: 
	  further small changes.

	* plugins/TrackJet/TrackJetPlugin.cc (_print_banner): 
	  rephrased the banner to reflect updated authorship info.

2011-11-25  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/D0RunIICone/D0RunIIConePlugin.cc (_print_banner):
	* plugins/PxCone/PxConePlugin.cc (_print_banner):
	* plugins/D0RunICone/D0RunIBaseConePlugin.cc (_print_banner):
	* plugins/CMSIterativeCone/CMSIterativeConePlugin.cc (_print_banner):
	* plugins/CDFCones/CDFJetCluPlugin.cc (_print_banner):
	* plugins/CDFCones/CDFMidPointPlugin.cc (_print_banner):
	* plugins/ATLASCone/ATLASConePlugin.cc (_print_banner):
	  removed the mention to a minimal FJ version (vX.Y upwards)

	* plugins/SISCone/SISConeSphericalPlugin.cc:
	* plugins/SISCone/SISConePlugin.cc:
	  redirect the SISCone banner to the same stream as the FastJet
	  banners.

	* plugins/ATLASCone/ATLASConePlugin.cc:
	  fixed a memory leak in the interface to the ATLAS cone plugin

	* example/fastjet_timing_plugins.cc:
	  inverted the ordering of some tests for the default jet alg to
	  make sure that the -kt command-line option is processed.

2011-11-24  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/PxCone/PxConePlugin.cc:
	  disabled the banner since the fortran code already has one

	* plugins/D0RunICone/D0RunIBaseConePlugin.cc:
	* plugins/D0RunIICone/D0RunIIConePlugin.cc:
	* plugins/ATLASCone/ATLASConePlugin.cc:
	* plugins/CMSIterativeCone/CMSIterativeConePlugin.cc:
	  modified banner message

2011-11-24  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* COPYING: 
	  have reworded this in various places to give a better overview
	  at the start of the file and a discussion of references that's
	  similar to what we have on the "About" page of the website.

	* src/Voronoi.cc: 
	* plugins/ATLASCone/ATLASConePlugin.cc: 
	  typos

	* example/fastjet_timing_plugins.cc: 
	  added -all-algs option to run all algorithms and -file option to
	  read events from a file. You can now also specify multiple
	  algorithms, e.g. -kt -cam.
	 
	  NB: the algorithms loop is the outer one, and event-reading is
	  done in an innter an iev loop; -all-algs must be used in
	  conjunction with -file if you want the same set of particles to
	  be used for each jet alg.

	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.hh:
        * plugins/D0RunIICone/D0RunIIConePlugin.cc
        * plugins/CDFCones/CDFMidPointPlugin.cc
        * plugins/CDFCones/CDFJetCluPlugin.cc
        * plugins/PxCone/PxConePlugin.cc
        * plugins/SISCone/siscone
        * plugins/CMSIterativeCone/CMSIterativeConePlugin.cc
        * plugins/D0RunICone/D0RunIBaseConePlugin.cc
        * plugins/TrackJet/TrackJetPlugin.cc
        * plugins/ATLASCone/ATLASConePlugin.cc
	  access to banner ostream is now through the cleaner
	  CS::fastjet_banner_stream() member + renamed
	  CS::fastjet_banner_ostr -> CS::_fastjet_banner_ostr and made it
	  private.

2011-11-24  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/D0RunICone/D0RunIBaseConePlugin.cc (_print_banner):
	  updated the version availability (3.0 rather than 2.4)

2011-11-24  Gavin Salam  <salam@lpthe.jussieu.fr>

	* NEWS:
	  prepared preliminary summary of changes

2011-11-24  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/D0RunIICone/D0RunIIConePlugin.cc:
	* plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh:
	* plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh:
	* plugins/D0RunICone/fastjet/D0RunIConePlugin.hh:
	* plugins/D0RunICone/D0RunIBaseConePlugin.cc:
	* plugins/D0RunICone/HepEntityIpre96.h:
	* plugins/D0RunICone/HepEntityI.h:
	* plugins/D0RunICone/ConeClusterAlgo.hpp:
	* plugins/D0RunICone/inline_maths.h:
	* plugins/D0RunIICone/ILConeAlgorithm.hpp:
	* plugins/D0RunIICone/ProtoJet.hpp:
	* plugins/D0RunIICone/ConeSplitMerge.hpp:
	* plugins/D0RunIICone/ConeJetInfo.hpp:
	* plugins/D0RunIICone/HepEntity.h:
	* plugins/D0RunIICone/inline_maths.h:
	  added a history of Changes + a banner

	* COPYING:
	  mentioned the origin of the D0 code

	* plugins/TrackJet/fastjet/TrackJetPlugin.hh:
	* plugins/TrackJet/TrackJetPlugin.cc:
	* plugins/PxCone/fastjet/PxConePlugin.hh:
	* plugins/PxCone/PxConePlugin.cc:
	* plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh:
	* plugins/CMSIterativeCone/CMSIterativeConePlugin.cc:
	* plugins/CDFCones/fastjet/CDFMidPointPlugin.hh:
	* plugins/CDFCones/fastjet/CDFJetCluPlugin.hh:
	* plugins/CDFCones/CDFMidPointPlugin.cc:
	* plugins/CDFCones/CDFJetCluPlugin.cc:
	* plugins/ATLASCone/fastjet/ATLASConePlugin.hh:
	* plugins/ATLASCone/ATLASConePlugin.cc:
	  print the banner to FJ's ClusterSequence::fastjet_banner_ostr
	  + removed 'disable_banner()'

	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.cc (_print_banner):
	  added ClusterSequence::fastjet_banner_ostr. This is a (pointer
	  to a) stream where the banner will be printed.

2011-11-23  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc (ClusterSequence::_print_banner): 
	  updated banner following morning's discussion.

2011-11-22  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/10-subjets.cc: 
	  sorted out residual warning.

	* plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh: 
	* plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh
	* plugins/D0RunICone/fastjet/D0RunIConePlugin.hh: 
	  replaced CONrad -> CONErad.

2011-11-22  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/ATLASCone/fastjet/ATLASConePlugin.hh:
	* plugins/ATLASCone/ATLASConePlugin.cc:
	  added a banner

	* plugins/ATLASCone/Makefile.am (libATLASConePlugin_la_SOURCES):
	  removed empty source files

	* plugins/ATLASCone/CommonUtils.hh:
	* plugins/ATLASCone/JetConeFinderTool.cc:
	* plugins/ATLASCone/JetConeFinderTool.hh:
	* plugins/ATLASCone/JetDistances.hh:
	* plugins/ATLASCone/Jet.cc:
	* plugins/ATLASCone/Jet.hh:
	* plugins/ATLASCone/JetSplitMergeTool.cc:
	* plugins/ATLASCone/JetSplitMergeTool.hh:
	* plugins/ATLASCone/LorentzVector.hh:
	  added information about the file origin + a history of changes

	* COPYING:
	  added info about all plugins written by the FastJet authors

	* plugins/PxCone/PxConePlugin.cc (_print_banner):
	* plugins/CMSIterativeCone/CMSIterativeConePlugin.cc (_print_banner):
	* plugins/CDFCones/CDFJetCluPlugin.cc (_print_banner):
	* plugins/CDFCones/CDFMidPointPlugin.cc (_print_banner):

	* plugins/PxCone/fastjet/PxConePlugin.hh:
	* plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh:
	* plugins/TrackJet/fastjet/TrackJetPlugin.hh:
	  removed an unwanted 'const'

2011-11-22  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/PxCone/pxcone.f (PXCONE): 
	  added some info about licensing in this file.

2011-11-22  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/CDFCones/CDFcode/PhysicsTower.hh:
	* plugins/CDFCones/CDFcode/MidPointAlgorithm.hh:
	* plugins/CDFCones/CDFcode/JetCluAlgorithm.cc:
	* plugins/CDFCones/CDFcode/JetCluAlgorithm.hh:
	* plugins/CDFCones/CDFcode/LorentzVector.hh:
	* plugins/CDFCones/CDFcode/ClusterComparisons.hh:
	* plugins/CDFCones/CDFcode/Cluster.hh:
	* plugins/CDFCones/CDFcode/Centroid.hh:
	* plugins/CDFCones/CDFcode/CalTower.hh:
	  added info about permission for distribution + history of
	  changes

	* plugins/CDFCones/CDFcode/Makefile.am:
	  removed empty files

	* plugins/TrackJet/TrackJetPlugin.cc:
	* plugins/TrackJet/fastjet/TrackJetPlugin.hh:
	  added license information + print a banner at first usage

	* plugins/PxCone/fastjet/PxConePlugin.hh:
	* plugins/PxCone/PxConePlugin.cc:
	  print a banner at first usage

	* plugins/PxCone/README:
	  mentioned the list of changes in pxcone.f

	* plugins/CMSIterativeCone/SortByEt.h:
	* plugins/CMSIterativeCone/CMSIterativeConePlugin.cc:
	  inserted a proper license description and a list of changes
	  compared to the original CMS code + print a banner at 1st use

	* COPYING:
	  added a series of license agreements for 3rd party plugins

2011-11-21  Gregory Soyez  <soyez@fastjet.fr> + Gavin

	* tools/MassDropTagger.cc (result):
	  replaced m() by equivalent expressions using m2()

	* tools/fastjet/tools/MassDropTagger.hh:
	  used a WrappedStructure instead of a CompositeJetStructure for
	  the base MassDropTaggerStructure class.

2011-11-20  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	  put the extra warnings (-ansi -pedantic -Wextra -Wshadow)
	  under a --enable-extra-warnings configure flag

2011-11-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  added pt(), pt2(), mt() and mt2() methods.

	* src/GhostedAreaSpec.cc: 
	* include/fastjet/GhostedAreaSpec.hh: 
	  switched kt -> pt in default function names; kept copies of
	  functions with "kt" in name for backwards compatibility.

	* test-script-output-orig.txt: 
	  edits of kt -> pt given change in GAS.

2011-11-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	* include/fastjet/internal/base.hh: 
	  moved the doxygen group list out of base.hh and into
	  ClusterSequence.cc; also added reference plugins where we mentioned
	  JetDefinition (otherwise it's a fairly non-obvious two clicks
	  away from the main page).

2011-11-17  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence.cc (_decant_options):
	  added a missing call to _decant_options_partial()
	  (needed for proper initialisation as used e.g. in cases with
	  area)

2011-11-16  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	* include/fastjet/ClusterSequence.hh (template): 
	  constructor now uses an initialisation list for things like the
	  _jet_def that are substantial and that one doesn't want to be
	  initialising twice. Also introduced _decant_options_partial()
	  and _initialise_and_run_no_decant(), which are now used directly
	  in the constructor. The calls _decant_options(...) and
	  _initialise_and_run(...) are maintained and just do the relevant
	  extra bits and pieces before calling _decant_options_partial()
	  and _initialise_and_run_no_decant() respectively. This shaves
	  off about 0.1 microseconds (can be relevant at low N).

	* src/JetDefinition.cc (JetDefinition::JetDefinition):
	  removed function-wide ostringstream (for errors) in constructor,
	  which was causing a 0.6 microsecond time penalty, and replaced
	  it with oss's created only when an error condition is actually
	  seen.

2011-11-16  Gregory Soyez  <soyez@fastjet.fr>

	* example/fastjet_timing_plugins.cc:
	  added a -repeat-incl <ptmin> option to show the jets above ptmin
	  at each repetition of the clustering
	  [modified it so that the jets are just extracted and sorted but
	  not printed]

	* configure.ac:
	  increased the level of warnings in the default compilation flags

	* example/10-subjets.cc:
	* example/04-constituents.cc:
	* example/fastjet_timing_plugins.cc:
	* example/fastjet_areas.cc (print_jets):
	  replaced/cast size_t by/to unsigned int
	  (this is mostly to avoid a compiler warning related to the fact
	  that size_t is equivalent to ungigned int on 32-bit machines and
	  long unsigned int on 64)

2011-11-16  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	  lowered switchover point from N2Plain -> N2Tiled based on
	  observations from Gregory and me on more modern computers than
	  were used in the original studies (presumably larger cache is at
	  play). 

2011-11-15  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence_TiledN2.cc (_minheap_faster_tiled_N2_cluster):
	  added a note about a gcc "may-be-used-uninitialised" warning
	  which is irrelevant.

	* include/fastjet/NNH.hh (set_NN_nocross):
	  replaced 'head' and 'tail' by the parameters 'begin' and 'end'
	  (respectively). Note that all the calls to set_NN_nocross have
	  begin==head and end==tail so this is equivalent. But it is cleaner
	  and avoids a compiler warning.

	* plugins/PxCone/fastjet/PxConePlugin.hh (ctor):
	  renamed arguments to avoid shadowing class members

	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh:
	  removed extraneous ;

	* src/CompositeJetStructure.cc (ctor):
 	  renamed a local var to avoid shadowing a class member

2011-11-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/Filter.cc: 
	* tools/fastjet/tools/Filter.hh: 
	  Reworked use of _subjet_def and _selector so that they are no
	  longer mutable. Also arranged for description to be more
	  accurate. 

2011-11-14  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Filter.cc (_get_all_pieces, ...):
	  removed the internal mutable all_pieces variable and pass
	  instead an argument to the appropriate functions

	* plugins/D0RunICone/HepEntityIpre96.h:
	* plugins/D0RunICone/HepEntityI.h:
	* plugins/ATLASCone/Jet.hh:
	* plugins/ATLASCone/LorentzVector.hh:
	* plugins/D0RunIICone/ILConeAlgorithm.hpp:
	* plugins/D0RunIICone/ProtoJet.hpp:
	* plugins/D0RunIICone/ConeJetInfo.hpp:
	* plugins/CDFCones/CDFcode/LorentzVector.hh:
	* include/fastjet/internal/Voronoi.hh:
	* src/Voronoi.cc:
	  started/completed a history of Changes to 3rd party code

	* plugins/CDFCones/CDFcode/CalTower.hh (ctor):
	  added a few () to get rid of a gcc warning

	* src/ClusterSequence_DumbN3.cc (_really_dumb_cluster):
	  marked as obsolete a part of the code that was associated with
	  another obsolete part of the code

	* tools/fastjet/tools/Filter.hh:
	* tools/Filter.cc:
	  removed all_pieces as the 2nd argument of get_all_pieces: this
	  is a member variable of the class so there is no need to pass it
	  as an argument.

	* src/ClusterSequence_TiledN2.cc (_tiled_N2_cluster,
	  _minheap_faster_tiled_N2_cluster, _faster_tiled_N2_cluster):
	  replaced Tile * tile by Tile * tile_ptr to avoid a
	  shadowing (gcc -Wshadow warning)

	* example/09-user_info.cc (MyUserInfo ctor):
	* example/fastjet_timing_plugins.cc (main):
	* plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh (ctor):
	* plugins/D0RunICone/fastjet/D0RunIConePlugin.hh (ctor):
	* plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh (ctor):
	* plugins/D0RunICone/HepEntityIpre96.h (ctor, Fill):
	* plugins/D0RunICone/HepEntityI.h (ctor, Fill):
	* plugins/EECambridge/fastjet/EECambridgePlugin.hh (ctor):
	* plugins/ATLASCone/fastjet/ATLASConePlugin.hh (ctor):
	* plugins/ATLASCone/Jet.hh (ctor):
	* plugins/ATLASCone/LorentzVector.hh (ctor):
	* plugins/D0RunIICone/ILConeAlgorithm.hpp (TemporaryJet ctor, midpoint):
	* plugins/D0RunIICone/ProtoJet.hpp (ctor,setJet):
	* plugins/D0RunIICone/ConeJetInfo.hpp (ctors):
	* plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh (ctor):
	* plugins/CDFCones/fastjet/CDFMidPointPlugin.hh (ctors):
	* plugins/CDFCones/fastjet/CDFJetCluPlugin.hh (ctors):
	* plugins/CDFCones/CDFcode/LorentzVector.hh (ctor):
	* plugins/SISCone/fastjet/SISConePlugin.hh (ctors):
	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh (ctor):
	* include/fastjet/NNH.hh (init, other_init):
	* tools/TopTaggerBase.cc (_cos_theta_W):
	* tools/JHTopTagger.cc (result, _split_once):
	* tools/CASubJetTagger.cc (result):
	* tools/RestFrameNSubjettinessTagger.cc (result):
	* tools/fastjet/tools/JHTopTagger.hh (ctor):
	* tools/fastjet/tools/TopTaggerBase.hh (description_of_selectors):
	* tools/fastjet/tools/Boost.hh (result):
	* tools/fastjet/tools/RestFrameNSubjettinessTagger.hh (ctor):
	* tools/MassDropTagger.cc (result):
	* tools/fastjet/tools/MassDropTagger.hh (ctor):
	* tools/Pruner.cc (result):
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh (set_rescaling_class):
	* tools/GridMedianBackgroundEstimator.cc (set_rescaling_class):
	* tools/JetMedianBackgroundEstimator.cc (set_jet_density_class):
	* tools/fastjet/tools/BackgroundEstimatorBase.hh (set_rescaling_class):
	* include/fastjet/ClusterSequenceArea.hh (initialize_and_run_cswa):
	* src/Error.cc (ctor):
	* src/ClusterSequence1GhostPassiveArea.cc (_initialise_and_run_1GPA):
	* src/ClusterSequencePassiveArea.cc (_initialise_and_run_PA):
	* src/ClusterSequenceVoronoiArea.cc (_initializeVA):
	* include/fastjet/ClusterSequenceVoronoiArea.hh (ctor):
	* src/Voronoi.cc (generateVoronoi):
	* src/ClusterSequenceActiveArea.cc (_initialise_and_run_AA,
	  _initialise_AA, _transfer_areas):
	* src/GhostedAreaSpec.cc (ctor):
	* src/PseudoJet.cc (ctor, boost, unboostm set_cached_rap_phi,
          set_structure_shared_ptr, reset_momentum_PtYPhiM):
	* src/JetDefinition.cc (ctor):
	* include/fastjet/ClusterSequenceArea.hh (ctors):
	* include/fastjet/AreaDefinition.hh (VoronoiAreaSpec):
	* include/fastjet/ClusterSequence1GhostPassiveArea.hh (ctor):
	* include/fastjet/ClusterSequencePassiveArea.hh (ctor):
	* include/fastjet/ClusterSequenceActiveArea.hh (ctor):
	* src/ClusterSequenceActiveAreaExplicitGhosts.cc (empty_area):
	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh (ctors,
	  _initialise):
	* include/fastjet/ClusterSequenceAreaBase.hh (ctor):
	* src/ClusterSequenceAreaBase.cc (subtracted_jets):
	* src/Selector.cc (count, operator(), sift):
	* include/fastjet/GhostedAreaSpec.hh (ctors):
	* src/ClusterSequence.cc (_initialise_and_run, _decant_options,
	  inclusive_jets, exclusive_jets_up_to, print_jets_for_root,
	  particle_jet_indices):
	* include/fastjet/ClusterSequence.hh (ctor):
	* include/fastjet/Selector.hh (ctor):
	* include/fastjet/JetDefinition.hh (ctors):
	* include/fastjet/internal/DynamicNearestNeighbours.hh (ctor):
	* include/fastjet/PseudoJet.hh (reset_PtYPhiM, reset, reset_momentum):
	  added a '_in' suffix to some variables passed as argument to
	  avoid a shadowing gcc warning, and a '_local' suffix for similar
	  local variables.
	  Note that these warnings were anyway harmless as they were
	  shadowing unused methods.

	* include/fastjet/internal/Voronoi.cc:
	* src/Voronoi.cc:
          - removed 'plot' and 'triangulate' (were always 0)
          - removed unused plot functions (openpl, circle, range,
            out_bisector, out_ep, out_vertex, out_site, out_triple)
          - removed unused 'VPoint p' in 'intersect'
	  - fixed missing changes in earlier history

	* include/fastjet/internal/Voronoi.cc:
	* src/Voronoi.cc:
	  added a summary of changes compared to the original code by
	  S. O'Sullivan

	* example/14-groomers.cc:
	* example/13-boosted_top.cc:
	* example/12-boosted_higgs.cc:
	* example/11-filter.cc:
	* example/09-user_info.cc:
	* example/08-selector.cc:
	* example/07-subtraction.cc:
	* example/06-area.cc:
	* example/05-eplus_eminus.cc:
	* example/04-constituents.cc:
	* example/03-plugin.cc:
	* example/02-jetdef.cc:
	* example/01-basic.cc:
	* example/fastjet_example.cc:
	* example/fastjet_areas.cc:
	* example/fastjet_timing_plugins.cc:
	  . removed some unused method parameters
	  . fixed format warnings for fprintf

	* tools/Filter.cc:
	* include/fastjet/ClusterSequenceVoronoiArea.hh:
	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	  commented out unused method parameters
	  removed extraneous ';'

	* include/fastjet/NNH.hh:
	  removed some unused method parameters

2011-11-13  Gregory Soyez  <soyez@fastjet.fr>

	* src/CompositeJetStructure.cc:
	* src/JetDefinition.cc:
	* include/fastjet/CompositeJetStructure.hh:
	  commented out unused method parameters

	* src/PseudoJetStructureBase.cc:
	  commented out the name of unused parameters in a few methods to
	  remove a compiler warning coming with -Wunused-parameter (and
	  -Wextra)

	* src/Selector.cc (SelectorWorker):
	  removed the name of unused parameters in a few methods to remove
	  a compiler warning coming with -Wunused-parameter (and -Wextra)

2011-11-12  Gregory Soyez  <soyez@fastjet.fr>

	* src/Selector.cc (SelectorWorker):
	  typo in comment

	* include/fastjet/SharedPtr.hh (SharedPtr):
	  . in the postfix increment and decrement operators, replaced
	    "int unused" by "int" to avoid a compiler warning. Note that
	    this dummy var is just a C++ trick to differentiate the
	    postfix from the prefix operators.
	  . used the prefix operator instead of the postfix one whenever
	    possible

2011-11-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/Filter.hh: 
	  added reference to manual for a simple example of a Filter
	  implementation.

	* include/fastjet/PseudoJet.hh: 
	  added a bunch of shorthands such as has_valid_cs() so as to
	  coincide with table 3.

	* include/fastjet/SharedPtr.hh: 
	  fixed typo in comment.

2011-11-11  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence.cc: 
	  moved main page of doxygen documentation into .cc file
	  to avoid big recompilation at every change.

	* include/fastjet/Selector.hh: 
	* include/fastjet/PseudoJet.hh: 
	* include/fastjet/SharedPtr.hh: 
	* include/fastjet/PseudoJetStructureBase.hh: 	
	  commented out unused dummy arguments to avoid compiler warnings.
	
2011-11-09  Gavin Salam  <gsalam@macth69.cern.ch>

	* plugins/PxCone/README: 
	  added copy of email from Mike Seymour granting authorization to
	  distribute under GPLv2.

2011-11-08  Gregory Soyez  <soyez@fastjet.fr>

	* autogen.sh:
	* configure.ac:
	* config.h.siscone.in:    *** ADDED ***
	  added the necessary steps to configure/build SISCone directly
	  from the FastJet configure/build system. This has mailny the
	  advantage to reduce the size of the distribution (1.7MB instead
	  of 2.0MB) and save a bit of time during configuration. However
	  it comes at the expense that we have to hardcode the SISCone
	  version in a new configuration (auto)header --- since it would
	  no longer be obtained from SISCone's configure.ac. Therefore, we
	  stick to the old situation and comment out the inclusion of
	  SISCone configuration into FastJet's.
	
2011-11-07  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac (AC_PROG_FC):
	  when searching for a Fortran compiler, make sure one is actually
	  found or exit with an error message.


2011-11-07  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* plugins/SISCone/SISConeSphericalPlugin.cc (run_clustering):
	* plugins/SISCone/SISConePlugin.cc (run_clustering):
	  jets' user indices are no longer set to the pass from which they
	  come. 

	* include/fastjet/PseudoJet.hh (P): 
	  added validated_cluster_sequence() and
	  validated_cluster_sequence_area_base(). 

2011-10-31  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* doc/fastjet-doc.tex:
	  - moved strategies into an appendix of their own; we should add
	    timing fig. there
	  - documented deprecation of JetFinder and JD(jet_alg, R,
	    strategy) in relevant appendix
	  - various other small changes up to end of section 3.3; 
	    next question is whether to move reco-schemes into an
	    appendix. 

	* include/fastjet/JetDefinition.hh: 
	  removed some old commented code

	* src/PseudoJet.cc (description): 
	  fixed typo in default description

2011-10-28  Gregory Soyez  <soyez@fastjet.fr> & Matteo

	* doc/fastjet-doc.tex:
	  reworked Section 7 (jet areas):
	   - rephrased slightly the introduction (mostly added a brief
	     usage example) to avoid being too technical
	   - reorganised the description of ClusterSequenceArea to reflect
	     the fact that jet-area information can directly be accessed
	     through PseudoJet.

	  reworked Section 8 (background estim+subtraction):
	   - moved the section about the subtraction higher up (in Section
	     on general usage)
	   - positional dependence: made explicit that rho(jet) and
	     sigma(jet) work for both the JMBGE and the GMBGE, as well as
	     for both techniques (selector-based and rescaling-based)

	* include/fastjet/ClusterSequenceArea.hh:
	  fixed a typo in the Doxygen comments

2011-10-21  Gregory Soyez  <soyez@fastjet.fr>

	* BUGS:
	  mention the release of CGAL-3.9

2011-10-09  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	  changed link to fastjet main page in doxygen main page.

	* Doxyfile (PROJECT_NUMBER): 
	* doc/fastjet-doc.tex: 
	* configure.ac: 
	  switched version over to 3.0.1-devel

	* plugins/SISCone: 
	  switched it back to trunk

2011-10-09  Gregory Soyez  <soyez@fastjet.fr> & Matteo & Gavin

	Release of FastJet 3.0.0

2011-10-09  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequenceActiveAreaExplicitGhosts.cc (ClustSeqActAreaEG::_post_process): 
          replaced area_4vectors[i] = _jets[i] with 
          _area_4vectors[i].reset_momentum(_jets[i]);
	  so that areas are structure-free (and so they don't mess
	  up the use count, leading to potential memory leaks). Checked
	  this solves the leak found in the 11-filter example.

	* INSTALL: added a note about the old compilation system not
	  working. 

	* NEWS: updated release date

	* BUGS: fixed some wording in a few places.
	 
	* CHECKLIST included a line for checks on the examples.

2011-10-09  Matteo Cacciari <cacciari@lpthe.jussieu.fr>
     
        * INSTALL: reworked a bit the initial part, updated the list
          of examples

2011-10-08  Gregory Soyez  <soyez@fastjet.fr>

	* TODO: removed done items

2011-10-06  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/D0RunICone/D0RunIBaseConePlugin.cc:
	  inverted the order of the include files (this works
	  around an anonymous enum bug in gcc-4.0.1 on Macs)

	* plugins/SISCone"
	  switched to SISCone 2.0.3

	* doc/fastjet-doc.tex:
	* include/fastjet/config_win.h:
	* Doxyfile-devel:
	* Doxyfile:
	* configure.ac:
	  switched version number to 3.0.0

	* plugins/D0RunICone/inline_maths.h:
	* plugins/D0RunICone/HepEntityI.h:
	* plugins/D0RunICone/ConeClusterAlgo.hpp:
	* plugins/D0RunICone/HepEntityIpre96.h:
	  put the d0runi namespace inside the FastJet namespace

	* plugins/D0RunICone/ConeClusterAlgo.hpp:
          reverted a misordered #endif and namespace }

	* include/fastjet/internal/IsBase.hh:
	  fised a typo in a class name in a doxygen comment

	* src/genconfig.sh:
	  added the FASTJET_ prefix for the GridJet plugin

2011-09-29  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/*.cc: 
	* tools/fastjet/tools/*.hh:
	  replaced tabs with spaces

2011-09-28  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo + Gregory

	* example/fastjet_areas.cc:
	* test-script-output-orig.txt:
	  switched "make check" area test over to active area (new ghost
	  placement). 

	* example/07 upwards-*.cc updates:
	  added using namespace fastjet and removed redundant fastjet::

	* example/14-groomers.cc:
	  small changes to comments + addition of header

	* example/11-filter.cc:
	  addition of header


2011-09-28  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * example/14-groomers.cc ** ADDED **
          added example showing unified use of filtering, trimming, 
	  pruning

2011-09-28  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	  mentioned libfastjettools

2011-09-27  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/Pruner.cc (Pruner::result): 
	  removed extraneous cout.

2011-09-26  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* include/fastjet/GhostedAreaSpec.cc:
	* src/GhostedAreaSpec.cc:
	  added warning for when set_fj2_placement(true) is called.

2011-09-25  Gregory Soyez  <soyez@fastjet.fr>

	* tools/JetMedianBackgroundEstimator.cc (set_particles):
	  Bug fixed: simply set _uptodate to false instead of calling
	  reset(). This avoids that in code like
	    jmbge.set_rescaling_class(...);
	    jmbge.set_particles(...)\
	  the 2nd call resets the rescaling class to NULL (erasing the
	  effect of the 1st one)

2011-09-23  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence.cc: 
	  removed old (and objectionable) constructor that took just R
	  rather than a jet_def; also removed set_jet_algorithm and
	  set_jet_def and related _default_jet_algorithm private variable.

	* include/fastjet/internal/Triangulation.hh: 
	  moved the include guards.

	* tools/Makefile.am: 
	* tools/JHTopTagger.cc: 
	* tools/TopTaggerBase.cc (_cos_theta_W): *** ADDED ***
	  moved the _cos_theta_W(...) call into a new file
	  TopTaggerBase.cc (also modified the .hh files)

2011-09-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/JetDefinition.cc: 
	* include/fastjet/JetDefinition.hh:
	  moved max_allowable_R value into .cc file to try and resolve
	  problem on karnak.

2011-09-16  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* tools/Filter.cc: 
	  fixed a bug whereby the recombiner in the internal jet def may
	  point to a default recombiner that gets deleted before retuning
	  the filtered jet to the user; see also the BUGS file for a
	  residual issue in the case of recombiners that delete
	  themselves.

	* tools/Pruner.cc (and .hh): 
	  - added "minimal" constructor that takes a jet_alg (rather than
	    jet_def), automatically sets the R to
	    JetDefinition::max_allowable_R and deduces the recombiner
	    from the jet that is being Pruned.
	  - removed _recursively_mark_as_rejected, since no longer needed. 
	  - added a "return true" in _check_explicit_ghosts to fix a bug 
	    in the case of jets with pieces, so that areas were not available 
	  - fixed a bug whereby internal pruning plugin was being deleted 
	    too early

	* include/fastjet/JetDefinition.hh: 
	* include/fastjet/JetDefinition.cc: 
	  changed hard-coded limit for R of 1000 into
	  JetDefinition::max_allowable_R, with extra comments;
	  replaced assertion with throw for when the condition is not
	  satisfied. 

2011-09-13  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* tools/fastjet/tools/RestFrameNSubjettinessTagger.hh: 
	* tools/fastjet/tools/BackgroundEstimatorBase.hh: 
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh: 
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh: 
	  small mods and fixes to doxygen

	* all files: 
	  Changed the GPL pointer to be to the website
	  http://www.gnu.org/licenses/ rather than a physical address.
	  Updated the copyright line to make sure Gregory is always
	  included and have the latest date as 2011.

2011-09-12  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* tools/fastjet/tools/JHTopTagger.hh: 
	* tools/fastjet/tools/MassDropTagger.hh: 
	  small changes to comments

	* tools/fastjet/tools/Filter.hh: 
	  reworked the doxygen documentation.

	* tools/fastjet/tools/Transformer.hh (class Transformer): 
	  rewrote the main doxygen comment, aiming it at users rather than
	  developers.

	* tools/Pruner.cc: 
	* tools/fastjet/tools/Pruner.hh: 
	  - worked on the comments a bit + switched it over to
	    childless_pseudojets();
	  - moved constructor with dynamic Rcut and zcut to .cc file and
	    asserted that the two pointers are non-zero.
	  - got description working in case of dynamic Rcut and zcut

	* src/ClusterSequence.cc: 
	* include/fastjet/ClusterSequence.hh: 
	  renamed CS::orphaned() -> CS::childless_pseudojets()

2011-09-08  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.cc:
	  added an "orphaned()" member that returns all the objects in the
	  ClusterSequence that have not made it into a jet (i.e. that have
	  no child and are not a recombination with the beam)

	* src/Selector.cc:
	* include/fastjet/Selector.hh:
	  added SelectorIsZero that selects PseudoJet's with zero momentum

	* tools/Pruner.cc (PruningPlugin):
	  when a branch of the internal ClsuterSequence is vetoed, keep it
	  until the point where is has been vetoed (instead of leaving its
	  constituents unclustered)

	* BUGS:
	  added a mention about the known assertion violation we noticed
	  in CGAL 3.7, 3.8 and 3,9-beta and that will be fixed in CGAL 3.9

2011-09-05  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Pruner.cc:
	  added a couple of missing ';'

2011-09-04  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

	* tools/fastjet/tools/Pruner.hh:
	* tools/Pruner.cc:
          Some work on the doxygen comments and the description functions
	  
2011-09-02  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Pruner.cc:
	* tools/fastjet/tools/Pruner.hh:
	  . fixed a wrong typedef syntax in Pruner
          . used the radius of the specified jet definition to do the
	    re-clustering (updated comments accordingly)
	  . used Rcut_factor instead of Rcut in the Pruner. The Rcut is
	    determined from the jet being pruned using Rcut_factor * 2m/pt
	  . replaced the requirement that the jet must have an associated
	    CS by the requirement that the jet must have constituents
	  . added a PrunerStructure that allows access to the rejected
	    constituents and the other jets that may have been found
	    during the re-clustering.
	  . added support for areas (provided the jet being pruned has
	    explicit ghosts)
	  . allowed the Rcut and zcut to be functions of the PseudoJet
	    being pruned

2011-09-02  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/RangeDefinition.hh:
	* tools/RestFrameNSubjettinessTagger.cc:
	* tools/CASubJetTagger.cc:
	* tools/fastjet/tools/CASubJetTagger.hh:
	  removed some unnecessary 'fastjet::'

2011-09-01  Gregory Soyez  <soyez@fastjet.fr> + Matteo

	* tools/fastjet/tools/Pruner.hh:     *** ADDED ***
	* tools/Pruner.cc:                   *** ADDED ***
	* tools/fastjet/tools/Makefile.am:
	* tools/Makefile.am:
	  added a Pruner transformer (arXiv:0903.5081) using an internal
	  PruningPlugin and PruningRecombiner. Note that the
	  implementation differs from the FastPrune plugin from
	  arXiv:0903.5081: for uniformity we provide Pruner as a
	  Transformer rather than a Plugin (as a consequence, our internal
	  Plugin just reclusters the constituents of a single jet and not
	  the whole event as in FastPrune).

	* example/11-filter.cc (main):
	  fixed comment+requirement to have at least 3 (and not 2) jets
	  above 5 GeV

2011-08-31  Gavin Salam  <salam@lpthe.jussieu.fr>

	* fortran_wrapper/fastjetfortran.cc: 
	  replaced RangeDefinition with a Selector (is more uptodate and
	  avoids a deprecated warning).

	* fortran_wrapper/Makefile.alt: 
	  changed FC and F77 to refer to gfortran without a path (to avoid
	  risk of picking up one that differs from the user's default choice)

	* include/fastjet/LimitedWarning.hh: 
	* src/LimitedWarning.cc: 
	  added set_default_max_warn(...) static member function;
	  changed interface to warn(warning, ostr) so that ostr must
	  now be a pointer; if it's null there is no output; 
	  similarly if the default stream is null there's no output
	  (unless a different stream is requested in an individual warn call).

	* src/Error.cc: 
	* include/fastjet/Error.hh: 
	  changed meaning of a null default stream choice, so that it now
	  suppressed output (as with change to LimitedWarning).

2011-08-29  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/LimitedWarning.cc (LimitedWarning::warn): 
	* include/fastjet/LimitedWarning.hh (class LimitedWarning): 
	  bug fix: previously when the max warning count was set to zero, 
	  there would be one summary entry for each call to the warning. 
	  Fixed this by zeroing the summary pointer in the constructor and
	  using its zero status to decide whether to allocate it or not.


2011-08-22  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

	* plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh:
	* plugins/D0RunICone/fastjet/D0RunIConePlugin.hh:
	* plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh:
	  put "v3.0 or later" in all three files. Perhaps not necessary
	  for the base class, but seems sensible to have the same everywhere. 
	  Also modified slightly the doxygen comments.
	
	* include/fastjet/Error.hh
	  renamed set_backtrace() -> set_print_backtrace(), fixed
	  its doxygen comment
	  Reworked some doxygen comments, also to reflect the fact 
	  that printing of backtrace is "off" by default

	* include/fastjet/Error.hh
	* include/fastjet/Error.cc
	  added set_default_stream() for a user-set output stream
	  for errors

	* include/fastjet/LimitedWarning.cc
	  added ostr.flush() in warn(), so as to get something written
	  to a file even in the event of the program aborting because of an
	  error
	    	  
2011-08-16  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* include/fastjet/internal/LimitedWarning.hh:
	* include/fastjet/LimitedWarning.hh: *** ADDED ***
	* src/LimitedWarning.cc:             *** ADDED ***
	  moved LimitedWarning from internal to standard include space;
	  added two static functions:
	  - LimitedWarning::set_default_stream(...)
	  - LimitedWarning::summary(...) // for summary of all warnings issued
          Also moved the class into the error_handling part of doxygen

	* <many other classes>
	  changed them to access limited warning through the new location
	
	* include/fastjet/Error.hh (Error):
	  typo in comments

2011-08-11  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/TopTaggerBase.hh:
	  fixed some doxygen comments

2011-08-10  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* doc/fastjet-doc.tex:
	* Doxyfile:
	* Doxyfile-devel:
	  moved version number to 3.0beta2-devel

2011-08-10  Gregory Soyez  <soyez@fastjet.fr> & Matteo & Gavin

	Release of FastJet 3.0beta1

2011-08-09  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/GridJet/fastjet/GridJetPlugin.hh:
	  put the GridJet plugin in the "plugins" documentation module

	* plugins/D0RunICone/fastjet/D0RunIConePlugin.hh:
	* plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh:
	  "from version 2.4 onwards" -> "from version 3.0 onwards"

2011-08-09  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	* include/fastjet/config_win.h:
	* doc/fastjet-doc.tex:
	* Doxyfile:
	* Doxyfile-devel:
	  set the version number to 3.0beta1 in preparation of the release

2011-08-09  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* NEWS:
	  prepared the NEWS for the release of FastJet 3.0beta1

2011-08-09  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* CHECKLIST:
	  started the checklist for the 3.0beta1 release.

2011-08-08  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	  sorted out quotation issues

2011-08-08  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  added has_user_info() and has_user_info<...>() functions;
	  (also documented this).

2011-08-08  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* plugins/GridJet/fastjet/GridJetPlugin.hh:
	  expanded the documentation a little.

2011-08-08  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	  print "/usr/local" instead of "NONE" as installation dir
	  if none is specified.

	* configure.ac:
	* fastjet-config.in:
	  . replaced "echo -e" with the more portable "printf"
	  . added the configuration invocation arguments to the summary
	    printted for fastjet-config --config

2011-08-08  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/TopTaggerBase.hh: 
	  added note about need to derive top tagger structures also from
	  something related to PseudoJetStructureBase

2011-08-05  Gavin Salam  <salam@lpthe.jussieu.fr>

	* configure.ac: 
	  exchanged order of -lsiscone and -lsiscone_spherical in
	  fastjet-config --libs (spherical first now), because the
	  spherical one needs elements from the standard one.

2011-08-04  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* tools/Makefile.am: 
	* tools/fastjet/tools/Makefile.am: 
	* tools/fastjet/tools/RestFrameNSubjettinessTagger.hh: (renamed)
	* tools/RestFrameNSubjettinessTagger.hh: (renamed)
	  renamed NSubjettinessTagger -> RestFrameNSubjettinessTagger to
	  avoid confusion with the other NSubjettiness based tagger.

2011-08-03  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* example/11-filter.cc: 
	  Added examples of filters with subtraction.
          Revamped the output.

	* tools/fastjet/tools/Filter.hh: 
	* tools/Filter.cc: 
	  added a set_subtractor(...) option to the Filter.

	* AUTHORS:
	* doc/fastjet-doc.tex:
	  a common (and longer) acknowledgements list now present in both
	  files. Still not complete.

	* src/Selector.cc: 
	* include/fastjet/Selector.hh: 
	  renamed SelectorM{Max,Min,Range} -> SelectorMass{Max,Min,Range},
	  to enhance code readability (as found when handling top tagging
	  examples).

	* tools/fastjet/tools/JHTopTagger.hh: 
	* tools/JHTopTagger.cc: 
	  worked on the documentation so that it corresponds to the new
	  structure; description now include details of the top and W mass
	  selectors if they're present.

2011-08-02  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* tools/fastjet/tools/TopTaggerBase.hh:  *** ADDED ***
	* tools/fastjet/tools/JHTopTagger.hh: 
	* tools/JHTopTagger.cc: 
	  experimenting with a structure whereby the JHTopTagger derives
	  from a TopTaggerBase, as requested by Chris Vermilion.

	* tools/fastjet/tools/BackgroundEstimatorBase.hh: 
	  added a virtual destructor that does nothing.

	* tools/fastjet/tools/Subtractor.hh:
	* tools/Subtractor.cc:
	  tried moving a const static invalid_rho definition into the .cc
	  file to work around problems on karnak. Changed the value so
	  that it's equal to -infinity.

2011-08-01  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* tools/Subtractor.cc:
	* tools/fastjet/tools/Subtractor.hh:
	  worked a bit on the documentation and allowed for construction
	  with a constant value of rho. Added a sensible description().

	* src/Selector.cc:
	* include/fastjet/Selector.hh:
	  changed some documentation and argument names in parts related
	  to selector areas.

2011-07-26  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * doc/fastjet-doc.tex
	  Moved Internal pseudojet structure to appendix, revised Selectors.

	* Doxyfile
	  added "Selected additional tools" to Doxygen main page

2011-07-26  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * tools/fastjet/tools/MassDropTagger.hh
        * tools/fastjet/tools/CASubJetTagger.hh
        * tools/fastjet/tools/NSubjettinessTagger.hh
        * tools/fastjet/tools/JHTopTagger.hh
        * tools/fastjet/tools/Filter.hh
        * tools/MassDropTagger.cc
        * tools/CASubJetTagger.cc
        * tools/NSubjettinessTagger.cc
        * tools/JHTopTagger.cc
        * tools/Filter.cc
          commented out _original_jet and function returning it
	  
2011-07-26  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * example/07-subtraction.cc
        * tools/GridMedianBackgroundEstimator.cc
        * tools/JetMedianBackgroundEstimator.cc
        * tools/fastjet/tools/BackgroundEstimatorBase.hh
        * tools/fastjet/tools/JetMedianBackgroundEstimator.hh
        * tools/fastjet/tools/GridMedianBackgroundEstimator.hh
          added description() to base class and derived ones. Modified
	  subtraction example accordingly.

        * tools/fastjet/tools/MassDropTagger.hh
        * tools/fastjet/tools/CASubJetTagger.hh
        * tools/fastjet/tools/NSubjettinessTagger.hh
        * tools/fastjet/tools/JHTopTagger.hh
          made doxygen comment to description() uniform through the taggers
	   
2011-07-25  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * tools/CASubJetTagger.cc
	* tools/JHTopTagger.cc
	* tools/MassDropTagger.cc
	* tools/NSubjettinessTagger.cc
        * tools/fastjet/tools/CASubJetTagger.hh
	* tools/fastjet/tools/JHTopTagger.hh
	* tools/fastjet/tools/MassDropTagger.hh
	* tools/fastjet/tools/NSubjettinessTagger.hh
          added original() to all Taggers, like it exists in Filter,
	  as a step to make it uniform across Transformers

2011-07-25  Gregory Soyez  <soyez@fastjet.fr>

	* doc/fastjet-doc.tex:
	  . fixed typo, reworked the description of PseudoJet::reset()
	  . inverted 2 class names in footnote 13 to make the text
	    alignemt a bit better.

2011-07-22  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/internal/Voronoi.hh:
	* src/Voronoi.cc:
	* src/ClusterSequenceVoronoiArea.cc:
	  Renamed Point into VPoint to avoid any potential interference
	  with the fastjet::Point defined in Triangulation.hh (note that
	  both are only used internally)

2011-07-22  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex: 
	  changed last paragraph of 9.1 (it didn't reflect the structure
	  of the many plugins in the following two subsections). Also
	  mentioned the stable_sort in the documentation of the ATLASCone
	  and TrackJet plugins.

	  Also documented delete_recombiner_when_unused(),
	  delete_plugin_when_unused() and reshuffled some parts of the
	  plugin section so that plugin use now comes before explanations
	  about the structure of the plugin class.

	* tools/fastjet/tools/MassDropTagger.hh: 
	* tools/fastjet/tools/JHTopTagger.hh: 
	* tools/fastjet/tools/CASubJetTagger.hh: 
	* tools/fastjet/tools/NSubjettinessTagger.hh: 
	  reowrked some doxygen comments a little.

2011-07-21  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* example/fastjet_subtraction.cc: 
	  removed deprecated things

	* NEWS: 
	  prepared draft of news for 3.0b1

	* include/fastjet/PseudoJet.hh:
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	  removed some old commented code.

2011-07-21  Gregory Soyez  <soyez@fastjet.fr>

	* fastjet/tools/MassDropTagger.hh:
	* fastjet/tools/CASubJetTagger.hh:
	* fastjet/tools/NSubjettinessTagger.hh:
	* fastjet/tools/JHTopTagger.hh:
	* JHTopTagger.cc:
	* MassDropTagger.cc:
	* CASubJetTagger.cc:
	  Renamed the structure associated with XYZTagger,
	  XYZTaggerStructure (was XYZStructure)

	* tools/fastjet/tools/JHTopTagger.hh:
	  fixed documentation of the cos_theta_W member

2011-07-21  Gregory Soyez  <soyez@fastjet.fr>

	* tools/BackgroundEstimatorBase.cc:
	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	  declared the nempty argument of percentile(...) as a double
	  instead of an unsigned int.


2011-07-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/JHTopTagger.hh: 
	* tools/JHTopTagger.cc: 
	  removed the mutable _jet in JHTopTagger; other small changes to
	  details of ways things are written.

	* include/fastjet/ClusterSequenceWithArea.hh: 
	  small change to C-preprocessor warning message


2011-07-20  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* regression-tests/test-all-algs.pl: 
	  added gridjet to default checks and also added the relevant
	  checksums. 

	* plugins/GridJet/GridJetPlugin.cc: 
	* plugins/GridJet/fastjet/GridJetPlugin.hh: exchanged rapidity
	  extent and spacing in constructor (spacing now comes second),
	  for consistency with the GridMedianBGE. Added a consistency
	  check that extent>spacing to catch possible wrong order of
	  arguments.

	* example/fastjet_timing_plugins.cc: 
	  added -bkgd:gridmedian option

	* tools/JetMedianBackgroundEstimator.cc:
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	  for the CSAB,Selector constructor exchanged arguments, so it's
	  now Selector,CSAB (that way Selector always comes first).

	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh: 
	* tools/GridMedianBackgroundEstimator.cc: 
	  exchanged ymax and grid_spacing arguments in constructor
	  (grid_spacing now goes first, like the selector goes first
	  elsewhere). Added a consistency check that extent>spacing to
	  catch possible wrong order of arguments.

	  included a check that particles have been set (throw an error
	  otherwise).

2011-07-20  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc:
	  . removed the ctor that sets the jets & the selector
	  . merged the "empty" ctor and the one setting just rho_range (by
	    using an identity range by default)

	* regression-tests/test-all-algs.pl:
	* regression-tests/nightly-check.pl:
	  added support for area tests

2011-07-18  Gregory Soyez  <soyez@fastjet.fr>

	* Doxyfile:
	  removed inline source and reference relations in class member
	  documentation

	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc:
	  . declared jet_density_class() and rescaling_class() as const
	  . moved rescaling_class() to the base class
	  . marked the density classes as preliminarry in doxygen
	    (+ minor midifocations to doxugen declarations)
	  . added a warning that this is still some preliminary work when
	    one tries to set the density class

2011-07-16  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl (setDefaults): 
	  commented out areaConfigs for now, to prevent warnings, which
	  give issues with the nightly check.

2011-07-15  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl (setDefaults): 
	  added a bunch of "areaConfigs", indicating how we might run area
	  tests. 

2011-07-15  Gregory Soyez  <soyez@fastjet.fr> & Matteo

	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	* tools/GridMedianBackgroundEstimator.cc:
	  added the computation of sigma (and sigma(jet))

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc:
	  put the same description of rho_range everywhere

	* tools/fastjet/tools/JHTopTagger.hh:
	* tools/fastjet/tools/MassDropTagger.hh:
	* tools/fastjet/tools/Filter.hh:
	  pointed the link to the correct example

2011-07-14  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

	* tools/fastjet/tools/BackgroundEstimatorBase.hh: 
	* tools/BackgroundEstimatorBase.cc: 
          fixed the comment in front of _percentile()

2011-07-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_timing_plugins.cc: 
	  added support for areas and background estimation (intended as a
	  prelude to their inclusion in night checks).

	* src/ClusterSequenceAreaBase.cc: 
	  fixed warning message for large -ve area.

	* tools/fastjet/tools/BackgroundEstimatorBase.hh: 
	* tools/BackgroundEstimatorBase.cc: 
	  fixed bug whereby n_empty_jets was not being used in the new
	  percentile determination code; fixed missing bits of fj2
	  compliance (was present in earlier code, but got lost), moving
	  it all into _percentile; put in the safety checks (for -ve empty
	  area) that were already present in CSAB; fixed large -ve area
	  warning message.

2011-07-13  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/BackgroundEstimatorBase.hh:
	* tools/BackgroundEstimatorBase.cc:
	  . added support for rescaling
	  . added a bunch of comments
	  . moved BackgroundRescalingYPolynomial from
	    JetMedianBackgroundEstimator

	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	* tools/GridMedianBackgroundEstimator.cc:
	  . dosumented the class
	  . implemented support for rescaling (applied on each particles;
	    set_rescaling needs to be called before set_particles)

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc:
	  . moved parts of the code from the header to the source
	  . sorted out come of the comments

2011-07-08  Gavin Salam  <gavin.salam@cern.ch> + Matteo

	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh: 
	  reordered classes so that JMBGE appears first and all the helper
	  ones comes later. Reworked some of the comments a little.

2011-07-08  Gavin Salam  <gavin.salam@cern.ch>

	* include/fastjet/GhostedAreaSpec.hh: 
	* include/fastjet/ActiveAreaSpec.hh: 
	  moved typedef of ActiveAreaSpec into GhostedAreaSpec; that way
	  people who used to get it indirectly still do, but anyone who
	  used the header itself will get a warning, without that warning
	  appearing indirectly from inclusion of other headers.

2011-07-08  Gregory Soyez  <soyez@fastjet.fr>

	* example/12-boosted_higgs-new.cc:        *** REMOVED ***
	* example/12-boosted_higgs.cc:            ***  ADDED  ***
	* example/07-subtraction-new.cc:          *** REMOVED ***
	* example/07-subtraction.cc:              ***  ADDED  ***
	  removed the "-old" of the new versions of the examples

	* example/12-boosted_higgs.cc:            *** REMOVED ***
	* example/12-boosted_higgs-old.cc:        ***  ADDED  ***
	* example/07-subtraction.cc:              *** REMOVED ***
	* example/07-subtraction-old.cc:          ***  ADDED  ***
	  appended "-old" to the deprecated examples

	* tools/BackgroundEstimatorBase.cc:       ***  ADDED  ***
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh:
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh:
	* tools/JetMedianBackgroundEstimator.cc:
	* tools/GridMedianBackgroundEstimator.cc:
	  . moved _percentile and _median_and_stddev to the base class
	  . added 'nempty' support to _percentile
	  . made _median_and_stddev use _percentile

	* tools/fastjet/tools/Subtractor.hh:
	  Use a BackgroundEstimatorBase

	* tools/fastjet/tools/BackgroundEstimator.hh:          *** REMOVED ***
	* tools/fastjet/tools/JetMedianBackgroundEstimator.hh: ***  ADDED  ***
	* tools/BackgroundEstimator.cc:                        *** REMOVED ***
	* tools/JetMedianBackgroundEstimator.cc:               ***  ADDED  ***
	  renamed BackgroundEstimator -> JetMedianBackgroundEstimator

	* example/Makefile.am:
	* example/11-boosted_higgs-new.cc:      *** REMOVED ***
	* example/12-boosted_higgs-new.cc:      ***  ADDED  ***
	* example/11-boosted_higgs.cc:          *** REMOVED ***
	* example/12-boosted_higgs.cc:          ***  ADDED  ***
	* example/12-filter.cc:                 *** REMOVED ***
	* example/11-filter.cc:                 ***  ADDED  ***
	  inverted examples 11 ad 12 (so that the two "boosted taggers"
	  examples have consecutive numbers

2011-07-07  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* example/13-boosted_top.cc: 
	* tools/JHTopTagger.cc: 
	* tools/fastjet/tools/JHTopTagger.hh: 

	  changed default mW to 80.4; reworked some of the comments to
	  help illustrate usage more explicitly; added mW and
	  cost_theta_W_max to description() output. JHTopStructure.W()
	  [etc] now returns a const reference rather than a copy.

2011-07-07  Gregory Soyez  <soyez@fastjet.fr>

	* configure.ac:
	  tested a series of autoconf versions.
	  To be on the safe side, set pre-required version number to 2.59
	  as it is the lowest we could easily find (was 2.57). Note that
	  this only impacts the version used to produce configure.

	* tools/fastjet/tools/JHTopTagger.hh:
	  worked on the comments

	* configure.ac:
	  used AC_LANG_TEST(...) to enclose code excerpts (as advised by
	  autoconf)

	* include/fastjet/JetDefinition.hh:
	* src/JetDefinition.cc:
	  added delete_plugin_when_unused and
	  delete_recombiner_when_unused for easier memory management

	* fastjet-config.in:
	* m4/plugin.m4:
	* configure.ac:
	  fastjet-config --config now prints a summary of the fastjet
	  configuration

	* tools/fastjet/tools/JHTopTagger.hh:
	* tools/JHTopTagger.cc:
	  added a cut on cos(theta_W) directly in the tagger.

	* example/07-subtraction-new.cc:
	  used BGE::set_particles() + revised some of the comments

	* tools/fastjet/tools/BackgroundEstimator.hh:
	* tools/BackgroundEstimator.cc:
	  added support for set_particles

2011-07-07  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  updated karnak gcc-4.4 tests to 4.4.3

2011-07-06  Gregory Soyez  <soyez@fastjet.fr>

	* example/13-boosted_top.cc:               *** ADDED ***
	  added an example on how to use the JHTopTagger

	* tools/JHTopTagger.cc:                    *** ADDED ***
	* tools/fastjet/tools/JHTopTagger.hh:      *** ADDED ***
	  added an implementation of the Johns Hopkins boosted top tagger

2011-07-06  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  added option to modify fastjet_timing_plugin compilation options
	  (anything that appeats after a ":" in the "link" options).

	  switched karnak non-shared tests over to -O2 compilation (with
	  gridjet in), to work around the 4.0.1 non-caught throw issue.

	  added output of the URL of the directory (to help with tracking
	  whether we run on trunk or on a branch).

	  fixed issue with -only 0

2011-07-06  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/WrappedStructure.hh:
	  included Error.hh

2011-07-05  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/CircularRange.hh:
	* include/fastjet/RangeDefinition.hh:
	* src/RangeDefinition.cc:
	  declared RangeDefinition and Circular range as deprecated (use
	  Selector and SelectorCircle instead)

	* example/07-subtraction-new.cc:
	* example/07-subtraction.cc:
	  ActiveAreaSpec -> GhostedAreaSpec (the former being deprecated)

	* include/fastjet/ActiveAreaSpec.hh:
	  declared as deprecated

	* include/fastjet/ClusterSequenceActiveArea.hh:
	  do not include deprecated headers ClusterSequenceWithArea.hh
	  and ActiveAreaSpec

	* include/fastjet/ClusterSequenceWithArea.hh:
	  removed an unnecessary #ifndef

	* include/fastjet/Makefile.am:
	  do not install config_win.h (just put it in the distribution)

	* tools/fastjet/tools/MassDropTagger.hh:
	* tools/MassDropTagger.cc:
	  warned when the jet being tagged does not come from a
	  Cambridge/Aachen clustering

	* testsuite/TestPseudoJet.hh (TestBase):
	  added tests of PJ::has_structure_of<ClusterSequence>()

	* include/fastjet/ClusterSequence.hh:
	  included ClusterSequenceStructure so that CS::StructureType
	  is well-defined and PJ::has_structure_of<ClusterSequence>() works.

	* include/fastjet/ClusterSequenceWithArea.hh:
	  declared as deprecated

2011-07-05  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  added --disable-gridjet to the --disable-shared karnak run; also
	  added a --disable-shared option to the g++-4.4 run on karnak.

2011-07-04  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/trial-progs/README:               *** ADDED ***
	* doc/trial-progs/checks-for-3.0b1.cc:  *** ADDED ***
	  add the doc/trial-progs directory for internal testing
	  of elements that will go into the documentation.

2011-07-03  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  -only can now take a comma-separated list.
	  Provided more output in cases where ssh reports failure
	  (including the messages and summary outputs if they exist).

2011-07-02  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  add -list option to get a list of the different setups that are
	  encoded (together with their index, to facilitate usage of -only)

2011-07-01  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* tools/Makefile.am: 
	* tools/fastjet/tools/Makefile.am: 
	* tools/fastjet/tools/BackgroundEstimator.hh: 
	* tools/fastjet/tools/BackgroundEstimatorBase.hh:  *** ADDED ***
	* tools/GridMedianBackgroundEstimator.cc: *** ADDED ***
	* tools/fastjet/tools/GridMedianBackgroundEstimator.hh: *** ADDED ***

	  Introduced a base class for background estimation, arranged for
	  BackgroundEstimator to derive from it and also added
	  GridMedianBackgroundEstimator (which is what has been used for
	  some of the grid rho tests).

	* example/fastjet_timing_plugins.cc (main): 
	  switched grid_ymax to 4.99999999 to avoid rounding error issues
	  in determining the number of grid cells in y (with R=0.4).

	* include/fastjet/WrappedStructure.hh: 
	  updated the exclusive_subjets_up_to here too.

2011-06-30  Gavin Salam  <salam@lpthe.jussieu.fr> [later, on the train]

	* src/ClusterSequence.cc: 
	* include/fastjet/ClusterSequence.hh: 

	  Wrote an explicit copy constructor, which just uses
	  transfer_from_sequence. Until now, there had been a default copy
	  constructor, which failed to update the structural pointers
	  within the copied jets (so they pointed to the wrong CS,
	  i.e. the original one, and if the original CS went out of scope,
	  the jets from the copy could no longer access their structure).

	  Also modified transfer_from_sequence(...) so as to make its CS
	  argument const. One side effect was that this required _extras
	  to be converted from an auto_ptr to a SharedPtr, because until
	  now the auto_ptr in the original CS was being zeroed as part of
	  an ownership transfer (the call to set _extras from a plugin remains
	  auto_ptr based for now).

2011-06-30  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* regression-tests/test-all-algs.pl: 
	  added a -verbose option.

	* test-script-output-orig.txt: 
	  added gridjet output.

	* example/fastjet_timing_plugins.cc: 
	* test-compare.sh: 
	  put a FASTJET_ in front of some preprocessor variables (had been
	  missed in earlier tests).

	* include/fastjet/PseudoJet.hh: 
	* src/PseudoJet.cc (PtYPhiM, PseudoJet::set_cached_rap_phi): 
	  can now legitimately be called with -2pi<phi<4pi (before was
	  only up to 2pi) and now explicitly enfore this in PtYPhiM.

	* src/ClusterSequence_Delaunay.cc: 
	  solved potential memory leak for rare cases when this throws an
	  error (e.g. for coincident points) by using an auto_ptr for DNN.

2011-06-30  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo + Gregory

        * m4/plugin.m4
        * Doxyfile
        * src/genconfig.sh
        * example/makefile.static
        * example/fastjet_timing_plugins.cc
        * example/Makefile.am
        * configure.ac
        * test-compare.sh
        * Doxyfile-devel
        * plugins/GridJet
        * plugins/GridJet/fastjet
        * plugins/GridJet/fastjet/GridJetPlugin.hh
        * plugins/GridJet/fastjet/Makefile.am
        * plugins/GridJet/makefile.static
        * plugins/GridJet/Makefile.am
        * plugins/GridJet/GridJetPlugin.cc
        * plugins/SISCone/siscone
        * plugins/makefile.static
        * plugins/Makefile.am
        * ChangeLog
        * experimental/plugins/Makefile
        * config.h.in
	  Did most of the work of adding the GridJet plugin. Still not
	  functional though. 
	
2011-06-30  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Filter.hh:
	* tools/Filter.cc:
	  For situations with C/A subjets with rho==0 and without explicit
	  ghosts, removed the "area" support since one cannot trust the area
	  of subjets without explicit ghosts.

	* Doxyfile:
	* Doxyfile-devel:
	  fixed header path in the doc

2011-06-30  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo & Gregory

	* doc/fastjet-doc.tex: 
        * src/ClusterSequenceStructure.cc
        * src/PseudoJet.cc
        * src/ClusterSequence.cc
        * src/PseudoJetStructureBase.cc
        * include/fastjet/ClusterSequenceStructure.hh
        * include/fastjet/PseudoJet.hh
        * include/fastjet/ClusterSequence.hh
        * include/fastjet/PseudoJetStructureBase.hh

          added exclusive_subjets_up_to(int) to CS & PJ, replaced
	  exclusive_subjets(int) with exclusive_subjets_up_to(int) in CSS
	  and PJSB and added exclusive_jets_up_to(int) to CS.
	  
	  We now consistently have the behaviour that
	  exclusive_subjets(int) and exclusive_jets(int) throw errors if
	  you request more subjets than there are available particles;
	  exclusive_subjets_up_to(int) and exclusive_jets_up_to(int) in
	  this case just return all available particles.

	
	* src/FunctionOfPseudoJet.cc: 
	* include/fastjet/FunctionOfPseudoJet.hh: 
	  removed the operator>(FOPJ<double> &, cut) [etc] functions for
	  now. 

2011-06-30  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Filter.cc:
	  for rho!=0, if the jet has support for area but has no explicit
	  ghosts, do not compute the areas for the filtered elements (Note
	  that this is true when re-clustering is needed, for C/A
	  filtering, area support for the filtered elements is inherited
	  from the original cluster sequence.

2011-06-29  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Filter.cc:
	  - added support for recombination schemes
	  - improved various tests (including caching the pieces)

2011-06-29  Gavin SALAM  <salam@pallas.lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl:
	  got compilation of "external" program to use CXXFLAGS and also
	  arranged for icpc to have flags to make it use the gcc34 stdlib
	  (as suggested by Gregory).

2011-06-29  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Filter.hh:
	* tools/Filter.cc:
	  . added support for jet areas to the subjets for the case where
	    the parent jet has area support and rho=0
	  . added support for subtraction for composite jets

	* include/fastjet/Selector.hh:
	* src/Selector.cc:
	  added support for &= and |=

2011-06-29  Gavin SALAM  <salam@pallas.lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  removed icpc checks (issues with gcc-4.6.0 STL), updated CGAL_DIR

2011-06-29  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/BackgroundEstimator.hh:
	* tools/BackgroundEstimator.cc (_median_and_stddev):
	  same modification as below

	* src/ClusterSequenceAreaBase.cc:
	* include/fastjet/ClusterSequenceAreaBase.hh:
          dealt with a potential overflow when the estimated number of
	  empty jets becomes large and negative:
	   - we issue a warning when n_empty < -pt_over_areas_size/4.0
	   - we make sure int_nj_median <= pt_over_areas_size-2
	  with int pt_over_areas_size = pt_over_areas.size(); this avoids
	  the issue of subtraction and negation operations on unsigned
	  int, which give nonsense, and also eliminates inappropriate
	  warnings about empty areas being too negative.
	  (imported from FastJet 2.4.4)


2011-06-28  Gregory & Thiago Soyez  <soyez@fastjet.fr>

	* include/fastjet/internal/Voronoi.hh:
	* src/Voronoi.cc:0000000000000000000000000000000000000000000000000000
	  imported the fixes to the Fortune/O'Sullivan code for the
	  Voronoi diagram generator from the fastjet-2.4.X (2.4.4) branch:
	  - dealt with nearly-degenerate parent points in "intersection"
	  - handled coniciding particles (assign the full cell to the
	    first of the coinciding particles + print a warning).
	  - solved an overflow issue.

	* regression-tests/test-all-algs.pl:
	  updated the reference results using "stable_sort"

	* BUGS:
	* plugins/ATLASCone/Jet.hh:
	* plugins/TrackJet/TrackJetPlugin.cc:
	  used stable_sort instead of sort to avoid potential issue for
	  "equal cases" (see "Other issues to be aware of", point 2 in
	  BUGS). Note that this would solve the issues in BUGS but would
	  still make the result dependent on the ordering of the particles
	  in case of a degeneracy.

2011-06-28  Gavin Salam  <gavin.salam@cern.ch>

	* regression-tests/test-all-algs.pl: 
	  updated this so that it looks for data file in the correct place
	  on cern mac.

2011-06-28  Gregory Soyez  <soyez@fastjet.fr>

	* include/fastjet/internal/LimitedWarning.hh:
	  put the LimitedWarning class in the fastjet namespace

2011-06-28  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/GhostedAreaSpec.cc (GhostedAreaSpec): 
	  fixed non-initialisation of _fj2_placement in one of the several
	  constructors. 

2011-06-23  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl: 

	  $refResults{$name} can now be a reference to an array of valid
	  checksum results or a single checksum result. Exploited this for
	  the trackjet 1000 run, including the result corresponding to the
	  new recombination code (checked manually that differences are
	  just at the level of rounding errors).

2011-06-21  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_areas.cc: 
	  made a call set set_fj2_placement(true) so that make check
	  continues to work.

	* include/fastjet/GhostedAreaSpec.hh: 
	* src/GhostedAreaSpec.cc: 
	  Changed default ghost placement so that 

	  - number of phi and rapidity intervals rounded to nearest
	    integer (rather than up, which is less stable)
	  - rapidities offset by sqrt(area)/2 so that total area of
	    ghosts matches 2*rapmax.
	  - phi placed sensibly (i.e. no longer reproduce funny FJ2 phi definition)

          Old behaviour can be obtained by calling
	  set_fj2_placement(true). The new behaviour produces ghosts that
	  should match nicely onto centres of the GridJet tiles.
	
	* src/JetDefinition.cc (DefaultRecombiner::preprocess): 
	  modified some of the preprocessing code for non-E-scheme
	  clustering and also got the recombination code to use
	  reset_PtYPhiM; checked that results don't change.

	* src/ClusterSequenceActiveAreaExplicitGhosts.cc
	  (ClustSeqActAreaEG::_post_process): 
	  tried to avoid some temporary PJs, but not clear this helps much.

	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh: 
	  added an extra couple of reserve statements, that give some
	  speed gain in tests.

	* src/PseudoJet.cc
	* include/fastjet/PseudoJet.hh (PseudoJet::reset_momentum): 
	  added reset_momentum(const PJ & );
	  added PseudoJet::reset_momentum_PtYPhiM(...), 
	        PseudoJet::reset_PtYPhiM(...),
	  which can bring speed advantages in some cases (e.g. recombiner).
	  
2011-06-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  introduced a new constructor that takes a bool as an argument;
	  its value is ignored, while but its presence indicates that
	  there should be no initialisation of anything other than the
	  shared pointers.

	* src/JetDefinition.cc (DefaultRecombiner::recombine): 

	  replaced pab=pa+pb with pab.reset(x,y,z,E), which gives some
	  speed gain when this is a time-critical step (a factor of 1.2 to
	  1.7 in tests of CCN32-83). Also made use of the non-initialising
	  constructor for the temporary result variable, to gain a few
	  more percent in speed.

	* src/JetDefinition.cc (DefaultRecombiner::preprocess): 
	  fixed this to use reset_momentum for non-E schemes (more
	  efficient + touches neither user index nor user info).

2011-06-15  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/SharedPtr.hh: 
	  speeded up the constructor from another SharedPtr.

2011-06-14  Gregory Soyez  <soyez@fastjet.fr>

	* src/Voronoi.cc:
	  - fixed potential overflow issue when computing buckets in the
	    hash: we compare the position to the boundaries before making
	    the conversion to an int (avoids potential overflow issues)
	  - fixed completion test in the main loop (if there were still
	    some events to be processed in the priority queue after the
	    last site was considered, the previous version was stopping,
	    leaving an incomplete VD)

2011-06-05  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	  rho(jet) was taking a copy rather than a const reference to the
	  jet.  In the comments to set_rescaling_class, mentioned the
	  BackgroundRescalingYPolynomial class as an example, and in the
	  docuementation for the latter, included the rapidity dependence
	  that we've been using the LHC7 Pythia8 4C tune

2011-06-03  Gregory Soyez  <soyez@fastjet.fr> & Gavin

	* NEWS:
	* include/fastjet/config_win.h (FASTJET_PACKAGE_STRING):
	* configure.ac:
	* doc/fastjet-doc.tex:
	* Doxyfile-devel (PROJECT_NUMBER):
	* Doxyfile (PROJECT_NUMBER):
	  switched to version number 3.0beta1-devel

2011-06-03  Gregory Soyez  <soyez@fastjet.fr> & Gavin

	Release of FastJet 3.0alpha3

2011-06-03  Gregory Soyez  <soyez@fastjet.fr>

	* NEWS:
	  put the v3.0alpha3 release date

	* doc/fastjet-doc.tex:
	* configure.ac:
	* Doxyfile:
	  updated the version number

	* Doxyfile-devel:
	  updated the version number; enabled the search engine

	* include/fastjet/config_win.h:
	  updated for v3.0alpha3

	* example/11-boosted_higgs-new.cc:
	  explicitly set the recombiner to use by the filter

	* tools/Filter.cc (_finalise):
	  do not reset the user and clust_seq_index of the result of the
	  Filter to those of the original jet

2011-06-03  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex: 
	  sorted out documentation of the subtraction (referring readers
	  to the relevant example).

	* tools/fastjet/tools/Transformer.hh (class Transformer): 
	  clarified some comments

	* README: 
	  mods for 3.0, including updated references, mention of new
	  directories, etc.

2011-06-03  Gregory Soyez  <soyez@fastjet.fr>

	* example/Makefile.am:
	* example/11-boosted_higgs-new.cc:       ***   ADDED   ***
	  added a new version of the boosted Higgs example using the new
	  available tools: MassDropTagger and Filter

	* example/12-filter.cc:
	  take the 2nd and 3rd jets for the composite-jet example rather
	  than the two hardest

	* BUGS:
	  added a comment about potential issues with plugins relying on
	  Et ordering of the input particles (due to the undefined
	  behaviour of sort(...) for equal entities). This applies for the
	  TrackJet plugin, for which it happens when 2 particles have
	  exactly the same Et (so it should not be too much of an issue
	  for the final jets); and for the ATLAS cone plugin where the
	  result could be affected in some situations (since 2 particles
	  with an difference in Et < 0.001 are considered equal)

	* plugins/ATLASCone/JetConeFinderTool.cc:
	  added a comment about an instability in the ATLAS stable cone
	  search due to the Et ordering

2011-06-03  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/12-filter.cc: 
	  RfiltDyn -> DynamicRfilt, which now takes two arguments (Rmax,
	  deltaR_factor).

	* example/07-subtraction.cc: 
	* example/07-subtraction-new.cc:
	  changes to comments and default values

	* example/09-user_info.cc: 
	  changes to comments

	* include/fastjet/PseudoJet.hh: 
	  changes to comments + plus addition of delta_R(other) member 

2011-06-03  Gregory Soyez  <soyez@fastjet.fr>

	* plugins/Makefile.am (DIST_SUBDIRS):
	  removed the usage examples, since they are mostly covered by the
	  examples

	* include/fastjet/JetDefinition.hh:
	* src/JetDefinition.cc (have_same_recombiner):
	  have_same_recombiner -> has_same_recombiner

	* include/fastjet/JetDefinition.hh:
	* src/JetDefinition.cc (have_same_recombiner):
	  moved in jet definition:
	  JetDefinition::have_same_recombiner(other_jd)

2011-06-02  Gregory Soyez  <soyez@fastjet.fr> & Gavin

	* include/fastjet/WrappedStructure.hh:
          throws an error if constructed from an empty (NULL) structure

	* tools/Filter.cc (_recursively_check_ca):
	* src/ClusterSequence.cc (contains):
	* src/ClusterSequenceStructure.cc:
	* src/PseudoJet.cc:
	* include/fastjet/WrappedStructure.hh:
	* include/fastjet/ClusterSequenceStructure.hh:
	* include/fastjet/PseudoJetStructureBase.hh:
	* include/fastjet/PseudoJet.hh:
	  has_validated_cluster_sequence() -> has_valid_cluster_sequence()

2011-06-02  Gavin Salam  <salam@lpthe.jussieu.fr> & Gregory

	* NEWS: tried to compactify it.

	* include/fastjet/FunctionOfPseudoJet.hh: 
	  worked on documentation

	* src/JetDefinition.cc (DefaultRecombiner::recombine): 
	  user_index used to be set to 0 on recombination. This should be
	  considered a bug (dates to 27 November 2006 and was never
	  updated to reflect the default user index of -1 that was set on
	  24 February 2007. The user index from recombination is now the
	  default that comes out of addition / initialisation (i.e. -1).

2011-06-02  Gregory Soyez  <soyez@fastjet.fr>

	* src/CompositeJetStructure.cc:
	* include/fastjet/CompositeJetStructure.hh:
	  get the scalar area and its error from the pieces rather than
	  caching it + added support for is_pure_ghost (true if all pieces
	  are).

	* tools/MassDropTagger.cc:
	* tools/NSubjettinessTagger.cc:
	  returned an empty PseudoJet when the tagger fails

2011-06-02  Gavin Salam  <salam@lpthe.jussieu.fr>

	* testsuite/run_tests.cc: 
	* testsuite/TestSubStructure.hh: *** ADDED ***  
	  added some tests of CASubJetTagger and MassDropTagger

	* testsuite/TestBase.hh: 
	  verify function all return a boolean now; verify_equal for
	  PseudoJets takes an option to ignore the substructure; and added
	  a specific verify_null for PseudoJets that checks == 0
	
	* tools/CASubJetTagger.cc: 
	* tools/fastjet/tools/CASubJetTagger.hh: 
	  made CASubJetTagger::JetAux private and updated some comments;
	  got rid of the mutable member and cleaned up some behaviour
	  (including correct failure on jet that should not be tagged).

	  Changed the default scale to be jade (also put a non-zero
	  z_threshold). Changed error -> warning when alg passed is not
	  C/A.

2011-06-02  Gregory Soyez  <soyez@fastjet.fr>

	* doc/fastjet-doc.tex:
	  added a table corresponding to the structure associated with a
	  PseudoJet for different types of PseudoJet.

	* configure.ac:
	* plugins/Makefile.ac:
	* plugins/usage_examples:                *** REMOVED ***
	  removed usage_example for plugins (we have some examples in the
	  example dir!)

2011-06-02  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* NEWS + RoadMap:
	  included changes up to here in the NEWS.
	  updated the RoadMap with open questions/tasks before 3.0a3

	* tools/fastjet/tools/CASubJetTagger.hh:
	  added the StructureType (typedef'ed to CASubJetStructure)

2011-06-01  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequence.cc (contains):
	  instead of testing if jet structure shared pointer is equal to
	  the ClusterSequence one, compare directly the pointer to the
	  cluster sequence itself. This would work also with the wrapped
	  structure.

	* tools/fastjet/tools/CASubJetTagger.hh:    ***   ADDED   ***
	* tools/CASubJetTagger.c:                   ***   ADDED   ***
	* tools/fastjet/tools/Makefile.am:
	* tools/Makefile.am:
	  added a tagger searching for a maximal scale (distance) in a
	  Cambridge/Aachen cluster sequence history

	* include/fastjet/WrappedStructure.hh:      ***   ADDED   ***
	* include/fastjet/Makefile.am:
          added a wrapper around another structure (makes feasible the
	  addition of extra features to a structure while keeping sharing
	  the memry of the wrapped structure)

2011-05-31  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Filter.cc (_finalise):
	  do not set the structure share pointer at the end (this is
	  already done by the call to join() and would lead to a memory
	  problem)

	* include/fastjet/Selector.hh:
	* src/Selector.cc:
	  removed SelectorIsZero (not needed now + could introduce some
	  confusion)

2011-05-30  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/MassDropTagger.hh:
	  relaxed the input condition (has_parents is the only thing we
	  really use/need)

	* tools/Filter.cc:
	  used has_validated_cluster_sequence instead of has_associated_cs
	  when apropriate

	* include/fastjet/PseudoJet.hh:
	* src/PseudoJet.cc:
	  . adapted to the new has_associated_cs vs. has_validated_cs
	  . adapted to the argument added to has_pieces (in the structure)
	  . pieces() now relies entirely on the implementation in the
	    structure (before it was making sire that the structure had
	    support for pieces and throwing an error otherwise)

	* include/fastjet/CompositeJetStructure.hh:
	* src/CompositeJetStructure.cc:
	  . adapted to the additional argument in has_pieces()
	  . considered pieces without constituents as their own
	    constituent. This means that except for composite jets with no
	    pieces (for which constituents() will return an empty vector)
	    all composite jets have constituents. constituents() will
	    recurse into pieces that have constituents support.

	* include/fastjet/ClusterSequenceStructure.hh:
	* src/ClusterSequenceStructure.cc:
	  . pieces() for jets associated with a ClusterSequence will now
	    return the jets parent's (or an empty vector if the jet has no
	    parents). has_pieces() would return true in the first case and
	    false in the second.
	  . adapted to the new has_associated_cs vs. has_validated_cs

	* include/fastjet/PseudoJetStructureBase.hh:
	  . added has_validated_cluster_sequence(). Now,
	    has_associated_cluster_sequence() just check if the structure
	    is associated with a CS. It no longer check if it is valid.
	    The added method is the one that also checks if it is valid.
	    That way we can disentangle between jets with no associated
	    cluster sequence and jets for which the cluster sequence has
	    gone out of scope
	  . added a reference argument to 'has_pieces()'

	* src/PseudoJetStructureBase.cc:
	  slightly modified the messages for thrown errors

	* tools/MassDropTagger.cc:
	* tools/MassDropTagger.hh:
	  added support for user-defined recombiners (in the tagged jets)

	* src/JetDefinition.cc (have_same_recombiner):
	* include/fastjet/JetDefinition.hh:
	  added a test that different jet definitions share the same
	  recombiner

	* tools/fastjet/tools/MassDropTagger.hh:
	* tools/MassDropTagger.cc:
	  used the parent ClusterSequence recombiner to build the final
	  composite jet

	* tools/Filter.cc:
	* tools/MassDropTagger.cc:
	* tools/NSubjettinessTagger.cc:
	  used the non-const access to the structure to build the final
	  jet more transparently

	* tools/fastjet/tools/MassDropTagger.hh:
	* tools/fastjet/tools/NSubjettinessTagger.hh:
	  removed the "mutable" qualifier for the structure data (no
	  longer needed with the non-const access to the

	* src/PseudoJet.cc:
	* include/fastjet/PseudoJet.hh:
	  added structure_non_const_ptr() to get a "write" access to the
	  PseudoJet's underlying structure.
	  Only use this if you know what you are doing!


	* src/JetDefinition.cc (join):
	  avoided the risk that the recombiner does not handle properly
	  plus_equal for uninitialised jets.

	* include/fastjet/CompositeJetStructure.hh:
	  added a templated version of join (as the first one, for use
	  together with structures derived from CompositeJetStructure)
	  with support for an external recombination scheme

	* tools/Transformer.cc:
	* tools/Subtractor.cc:
	* tools/NSubjettinessTagger.cc:
	* tools/MassDropTagger.cc:
	* tools/Filter.cc:
	* tools/BackgroundEstimator.cc:
        * tools/fastjet/tools/Transformer.hh:
	* tools/fastjet/tools/Subtractor.hh:
	* tools/fastjet/tools/NSubjettinessTagger.hh:
	* tools/fastjet/tools/MassDropTagger.hh:
	* tools/fastjet/tools/Filter.hh:
	* tools/fastjet/tools/BackgroundEstimator.hh:
	* tools/fastjet/tools/Boost.hh:
	  renamed 'apply()' into 'result()'

	* include/fastjet/FunctionOfPseudoJet.hh:
	  renamed 'apply()' into 'result()'

	* include/fastjet/PseudoJet.hh:
	* srcPseudoJet.cc:
	  added a comparison (== and !=) between a PseudJEt and a constant
	  (double). It tests if a PseudoJet has zero momentum (the
	  operator == can only be called with a zero double value, an error
	  is thrown otherwise)

2011-05-26  Gregory Soyez  <soyez@fastjet.fr>

	* src/FunctionOfPseudoJet.cc:              ***  ADDED  ***
	* include/fastjet/FunctionOfPseudoJet.hh:
	  added a series of Selectors implementing ordering between a
	  FunctionOfPseudoJet<double> and a double.

	* src/Selector.cc:
	* include/fastjet/Selector.hh:
	  added a SelectorIsZero selecting zero PseudoJet

	* tools/fastjet/tools/Filter.hh:
	* tools/Filter.cc:
	* example/12-filter.cc:
	  renamed FilteredJetStructure into FilterStructure

	* example/09-user_info.cc:
	  removed unneeded header

	* example/12-filter.cc:
	  typos in comments

	* include/fastjet/CompositeJetStructure.hh:
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/JetDefinition.hh:
	* src/CompositeJetStructure.cc:
	* src/PseudoJet.cc:
	* src/JetDefinition.cc:
	  join(pieces, Recombiner*) has been split into a join(pieces) in
	  PseudoJet.(hh,cc) and a join(pieces, Recombiner&) in
	  JetDefinition.(hh,cc). The advantage of this is that an end-user
	  that want to use join does not explicitly need to include any
	  header. If he wants the "basic" version then PseudoJet should
	  anyway already be available, and if he wants the version with
	  the recombiner then JetDefinition should already have been
	  included.

2011-05-20  Gregory Soyez  <soyez@fastjet.fr>

	* src/PseudoJet.cc (has_area):
	  we were imposing an associated cluster sequence then calling the
	  underlying structure for area. This is overdoing it: just checking
	  if there is a structure and if it has area is what we need (we may
	  have area support in jets wo an associated ClusterSequence)

	* example/09-user_info.cc:
	  included the CompositeJetStructure header

	* src/PseudoJet.cc:
	* src/CompositeJetStructure.cc:
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/CompositeJetStructure.hh:
	  added support for a user-specified recombiner in join(...).

	  Since this requires the inclusion of JetDefinition.hh (for
	  JetDefiniton::Recombiner), we have moved the declaration of
	  join() in CompositeJetStructure.{hh,cc}. One thus needs to
	  include that header (on top of PseudoJet.hh) if one needs
	  join(...).

	  The computation of the area (when applicable) is done in the
	  constructor of CompositeJetStructure and cached (as for areas in
	  ClusterSequenceArea).

	* example/11-boosted_higgs.cc:
	  In the recombiner, considered negative user indices as
	  0 (particles with a default user index, such as potential ghosts
	  added to the computation, should not be considered as b-tagged)

	* tools/Filter.cc (_check_ca):
	  slightly changed the coding style.
	  added a safety check in case one passes a composite jet with 0
	  pieces

2011-05-19  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc (transfer_from_sequence): 
	  put in protection to make sure transfer_from_sequence will throw
	  an error if the CS deletes_self_when_unused (which would cause
	  complications we don't want to worry about right now).

2011-05-19  Gregory Soyez  <soyez@fastjet.fr>

	* tools/Filter.cc:
	  added the condition that all the pieces must share the same
	  cluster sequence for the C/A simplification to be applicable.

	* tools/Filter.cc:
	* tools/fastjet/tools/Filter.hh:
	  improved the test for the simple CA trick: when the jet is made
	  of pieces, we ask that the maximal distance between the pieces
	  should not be smaller than the filtering radius. If that
	  requirement fails, we just recluster all the constituents

	* example/12-filter.cc:
	  fixed a bug in the dynamic filter case (max(Rbb,0.3) was
	  implemented instead of min(Rbb,0.3))

	* tools/NSubjettinessTagger.cc:
	  passed a pointer to the boost transformation rather than a
	  reference

	* src/ClusterSequence.cc (transfer_from_sequence):
	* include/fastjet/ClusterSequence.hh:
	  merged the 2 versions of transfer_from_sequence into a single
	  one taking a pointer to a FunctionPOfPseudoJet<PseudoJet> (instead
	  of a reference) which is NULL by default.

	  made the implementation a bit more robust in case action_on_jets
	  messes up with the structural information

	* tools/Makefile.am:
	* tools/Transformer.cc:                   *** REMOVED ***
	  no longer needed (empty file)

	* tools/fastjet/tools/Transformer.hh:
	  set apply() and description() as purely virtual: one has to
	  implement them in derived classes

	* include/fastjet/FunctionOfPseudoJet.hh:
	  removed the virtual for operator(). This highlights the fact
	  that apply() is the one to be overloaded.

2011-05-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/NSubjettinessTagger.hh: 
	* tools/NSubjettinessTagger.cc: 
	  small changes to comments

	* include/fastjet/FunctionOfPseudoJet.hh: 
	  typos + other small changes in comments

	* src/ClusterSequence.cc (ClusterSequence::transfer_from_sequence):
	  typo in comments

	* tools/MassDropTagger.cc: 
	  slight reworking of some comments

	* tools/fastjet/tools/MassDropTagger.hh: 
	  fixed the descriptions of mu() and y() for MassDropStructure

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	  typos in comments

	* testsuite/TestPseudoJet.hh (class TestPJCSaccess):
	  added a class to help help maintain consistency of behaviours
	  wrt constituents etc. once the CS goes out of scope

2011-05-18  Gregory Soyez  <soyez@fastjet.fr>

	* doc/fastjet-doc.tex (algorithms):
	  . added a description of SelectorIdentity and
	    SelectorIsPureGhost
	  . put the correct ref to FunctionOfPseudoJet<> in the
	    documentation of BackgroundEstimator
	  . documented the Filter
	  . started to document the boosted taggers

	* tools/NSubjettinessTagger.cc:
	  made sure that the subjets returned as the pieces of the result
	  refer to the ClusterSequence boostedback in the lab frame

	* example/Makefile.am:
	  . added the example illustrating the "new" subtraction
	  . updated the comments

	* example/07-subtraction-new.cc:
	  made subtractor take a pointer to the background estimator

	* tools/MassDropTagger.cc:
	* tools/NSubjettinessTagger.cc:
	* example/12-filter.cc:
	  adapted to the renaming mentioned just below.

	* include/fastjet/PseudoJet.hh:
	  renamed 'has_properties_of' -> 'has_structure_of' and
	  'extra_properties' -> 'structure_of'. This is hopefully more
	  indicative of the fact that it deals with the structure of the
	  jet.

2011-05-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/MassDropTagger.hh: 
	  tiny change to comment.

2011-05-17  Gregory Soyez  <soyez@fastjet.fr>

	* doc/fastjet-doc.tex (algorithms):
	  started to document the Transformer's; added FunctionOfPseudoJet<>
	  as an appendix.

	* tools/fastjet/tools/Transformer.hh (>):
	  added a missing "virtual" in Transformer

2011-05-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/Filter.cc (Filter::apply): 
	  compactified the apply(...) code somewhat, making use of
	  Selector::sift(...).

2011-05-17  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/Subtractor.hh:
	* tools/Subtractor.cc:
	  reinserted the change made by Gavin on May 14th and somehow lost
	  during the insertion of FunctionOfPseudoJet<>. Checked that the
	  rest of the modifications are OK.

2011-05-16  Gregory Soyez  <soyez@fastjet.fr>

	* tools/fastjet/tools/BackgroundEstimator.hh:
	* tools/BackgroundEstimator.cc:
	  replaced BackgroundDensityBase and BackgroundRescalingBase by
	  FunctionOfPseudoJet<double>

	* tools/fastjet/tools/MassDropTagger.hh:
	* tools/fastjet/tools/NsubjettinessTagger.hh:
	  updated the info about what is included in the associated
	  structure

	* tools/NSubjettinessTagger.cc:
	  kept the information about the internal cluster sequence
	  (boosted back to the lab frams)

	* tools/NSubjettinessTagger.cc:                ***  ADDED  ***
	* tools/fastjet/tools/NSubjettinessTagger.hh:  ***  ADDED  ***
	  added a tagger using 2-subjettiness in the rest-frame of the fat
	  jet

	* tools/MassDropTagger.cc:                     ***  ADDED  ***
	* tools/fastjet/tools/MassDropTagger.hh:       ***  ADDED  ***
	  added a tagger based on the mass-drop criterion

	* tools/fastjet/tools/Boost.hh:                ***  ADDED  ***
	  added a couple of classes (FunctionOfPseudoJet<PseudoJet>) with
	  the action of boosting and unboosting a PseudoJet

	* src/ClusterSequence.cc:
	* include/fastjet/ClusterSequence.hh:
	  added a version of transfer_from_sequence() that takes, as a
	  second argument, a FunctionOfPseudoJet<PseudoJet> that would be
	  an action applied on all the jets of the cluster sequence after
	  the transfer.

	* include/fastjet/CompositeJetStructure.hh:
	  added a template version of join() to help create composite jets
	  with a Structure derived from CompositeJet Structure.

	* tools/fastjet/tools/Makefile.am:
	* include/fastjet/Makefile.am:
	* tools/fastjet/tools/Transformer.hh:
	* include/fastjet/FunctionOfPseudoJet.hh:      ***  ADDED  ***
	* tools/fastjet/tools/FunctionOfPseudoJet.hh:  *** DELETED ***
	  moved FunctionOfPseudoJet<> to the core of FastJet.

	  made apply() purely virtual to make sure one overloads it in
	  derived classes.

	* tools/fastjet/tools/Subtractor.hh:
	* tools/fastjet/tools/Filter.hh:
	  declared the description as virtual (more consistent)

	* tools/Subtractor.cc:
	* tools/fastjet/tools/Subtractor.hh:
	  overloaded apply instead of operator() to fit the new
	  Transformer.

	* example/12-filter.cc:
	  added an example of the specification of a dynamic Rfilt

	* tools/Filter.cc:
	* tools/fastjet/tools/Filter.hh:
	  . added a ctor specifying just Rfilt (Cambridge/Aachen used by
	    default)
	  . added a ctor with Rfilt specified using a
	    FunctionOfPseudoJet<double>. In that case, Rfilt will be
	    computed dynamically as a function of the jet being filtered

	* tools/fastjet/tools/Transformer.hh:
	  Declared Transformer as a FunctionOfPseudoJet<PseudoJet> i.e. a
	  special function that returns a PseudoJet from a PseudoJet. This
	  also has a description and a structure type as before.

	* tools/fastjet/tools/Makefile.am:
	* tools/fastjet/tools/FunctionOfPseudoJet.hh:      *** ADDED ***
	  added a generic FunctionOfPseudoJet<TOut> class allowing to
	  define a function returning a result ot type TOut from
	  a PseudoJet input.

	  These functions have a virtual member 'apply()' that one can
	  overload to define any function.

	  The operator() will have the same effect as apply when called
	  from a single object but can also be called on a vector of
	  objects.

	* include/fastjet/CompositeJetStructure.hh:
	  added area support for CompositeJet.
	  Note that the area error is estimated (conservatively) as the
	  sum of the errors on each of the pieces.

2011-05-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/Subtractor.cc: 
	* tools/fastjet/tools/Subtractor.hh: 
	  subtractor now takes a pointer to a bge

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	  fixed bug in BackgroundJetPtMDensity return value (excess sqrt)

	* include/fastjet/PseudoJet.hh: 
	  corrected typo in first sentence of doc...

	* Doxyfile (SEARCHENGINE):
	  turned on the javascript-based search -- we should play with it
	  a little to see how it performs, especially over a web connection.

	* doc/fastjet-doc.tex: 
	  new documentation section for the BackgroundEstimator (and some
	  mods to the subdivision of the areas section as a whole)

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	  worked on some comments and (for now) commented out all the
	  alternative calls to set_rescaling_class

2011-05-13  Gavin Salam  <salam@lpthe.jussieu.fr> + Gregory

	* NEWS: prepared a summary of what we've done so far towards 3.0b1

	* RoadMap: 
	  a series of updates reflect needs for 3.0b1

2011-05-13  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/CompositeJetStructure.hh:
	  added area support for CompositeJet.
	  Note that the area error is estimated (conservatively) as the
	  sum of the errors on each of the pieces.

	* tools/Subtractor.cc:
	* tools/fastjet/tools/Subtractor.hh:
	  overloaded apply instead of operator() to fit the new
	  Transformer.

	* example/12-filter.cc:
	  added an example of the specification of a dynamic Rfilt

	* tools/Filter.cc:
	* tools/fastjet/tools/Filter.hh:
	  . added a ctor specifying just Rfilt (Cambridge/Aachen used by
	    default)
	  . added a ctor with Rfilt specified using a
	    FunctionOfPseudoJet<double>. In that case, Rfilt will be
	    computed dynamically as a function of the jet being filtered

	* tools/fastjet/tools/Transformer.hh:
	  Declared Transformer as a FunctionOfPseudoJet<PseudoJet> i.e. a
	  special function that returns a PseudoJet from a PseudoJet. This
	  also has a description and a structure type as before.

	* tools/fastjet/tools/Function.hh:           *** ADDED ***
	  added a generic Function<TIn,TOut> class allowing to define an
	  object returning a result ot type TOut from an object of type
	  TIn.
	  Defined FunctionOfPseudoJet<TOut> allowing to define functions
	  of PseudoJet returning any desired type.

	  These functions have a virtual member 'apply()' that one can
	  overload to define any function.

	  The operator() will have the same effect as apply when called
	  from a single object but can also be called on a vector of
	  objects.

	* tools/BackgroundEstimator.cc:
	* tools/fastjet/tools/BackgroundEstimator.hh:
	  Fixed policy regarding constness and selectors taking (or not) a
	  reference:
	   - rho(),sigma(): const; throws for selectors taking a reference
	   - rho(jet),sigma(jet): non-const; (allowed too for selectors
	     not taking a reference)
	   - mean_area(),...: const: return the result of the last
	     computation, do the computation if there's none available, in
	     the last case throws an error if there is a selector with an
	     unset reference.
          All const calls leave the behaviour unchanged (only mutable
	  cached data could change)

	* src/Selector.cc (SelectorWorker):
	  fixed an issue with setting the reference for negated selectors
	  --- set_reference was missing in SW_Not.

2011-05-13  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  added operator==(const PseudoJet& a, const PseudoJet& b) and
	  corresponding !=.

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	* tools/BackgroundEstimator.cc: 
	  added set_jets, set_cluster_sequence, set_selector calls and
	  allowed for constructors in which the jets/CS or selector are unset.

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	  a few games with the range of set_rescaling_class(...) calls

	* src/ClusterSequence.cc:
	* include/fastjet/ClusterSequence.hh:
	  added CS::_set_structure_shared_ptr(jet), to make sure use count
	  is kept updated any time a jet is associated with the CS
	  internally (all calls to jet.set_structure_shared_ptr(...) were
	  correspondingly replaced). This should ensure that the
	  delete_self_when_unused() call will work also with CSArea
	  etc. without mods all over the place.

	* src/ClusterSequenceStructure.cc:
	  added a check in destructor that when _associated_cs is not
	  NULL, it is only deleted if CS::will_delete_self_when_unused()
	  is true. Previously we relied on the CS setting the
	  associated_cs pointer to null in its destructor. But if the CS
	  constructor throws an error, then ~CS never gets called and this
	  extra check becomes necessary.

	* src/ClusterSequenceAreaBase.cc (subtracted_jet):
	  just added a comment about the set_structure call


2011-05-12  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* tools/fastjet/tools/Filter.hh:
	* tools/Filter.cc:
	  got rid of the internal_cs in FilteredJetStructure and at
	  various places in the Filter by using the new
	  CS::delete_self_when_unused().

2011-05-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/Error.cc: 
	  turned off backtrace by default

	* src/ClusterSequenceStructure.cc (ClusterSequenceStructure):
	* include/fastjet/ClusterSequenceStructure.hh (PseudoJetStructureBase):
	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.cc:
	  added CS::delete_self_when_unused() allowing FastJet to look
	  after deletion of a CS when there are no longer any jets or
	  other objects associated with it. (+small fix to SharedPtr)

2011-05-12  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/SharedPtr.hh:
	  added the option to force the count to a user-specified value
	  (USE AT YOUR OWN RISKS). Note that this is certainly not in the
	  standard shared_ptr specification.

2011-05-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh (class PseudoJet): 
	  changed the default constructor so that it provides a
	  sensibly-initialised PseudoJet (with zero momentum). No speed
	  penalty and some significant speed improvement on some systems.

	* testsuite/PJtiming.cc: *** ADDED ***
	  small program for testing timing of default PseudoJet constructor

	* testsuite/TestBase.hh:
	* testsuite/TestPseudoJet.hh:
	* testsuite/run_tests.cc:
	  a bunch more tests, including one that found the _user_info not
	  being reset by reset_indices.

	* include/fastjet/PseudoJet.hh (reset_indices):
	  ensured that _user_info also gets reset

2011-05-12  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/internal/Makefile.am (fastjetincludeinternal_HEADERS):
	* include/fastjet/internal/DerivedPseudoJetHelper.hh: *** REMOVED ***
	  no longer needed

	* include/fastjet/PseudoJet.hh:
	  instead of having the template ctor decide whether the object is
	  derived from PseudoJet, do that in reset (that way, reset<L> also
	  handles properly the case where L derives from PseudoJet).

	  We also switched to the use of cast_if_derived which avoid the
	  need for the DerivedPseudoJetHelper class

	* include/fastjet/internal/IsBase.hh:
	  added a "cast_if_derived<B,D>" that, from a pointer of type D,
	  converts it into a pointer of type B if D is derived from B and
	  returns NULL otherwise (as dynamic_cast except that it works for
	  non-polymorphic types)

2011-05-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* testsuite/run_tests.cc: 
	* testsuite/TestBase.hh: 
	* testsuite/TestPseudoJet.hh:  *** ADDED ***
	  added some more infrastructure for running tests and beefed-up
	  the PtYPhiM test.

2011-05-10  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	  added (perhaps temporary) illustration of a templated
	  set_rescaling. 

2011-05-09  Gavin Salam  <salam@lpthe.jussieu.fr> & Matteo

	* tools/BackgroundEstimator.cc:
	* tools/fastjet/tools/BackgroundEstimator.hh

	  added BackgroundRescalingBase and BackgroundRescalingYPolynomial
	  classes, and corresponding support within BackgroundEstimator
	  (both in the background estimation part and the local rho part,
	  so that overall normalisation should cancel).

2011-05-09  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* tools/fastjet/tools/BackgroundEstimator.hh:
	  added a use_area_4vector method returning true if the background
	  estimation is currently using 4-vector area

2011-05-09  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* tools/BackgroundEstimator.cc: 
	* tools/fastjet/tools/BackgroundEstimator.hh:
	  added facility for using the background estimator to get
	  estimates of quantities other than just pt/area, with a few
	  classes to help with this (e.g. for PtM). Docs etc. to follow

	* tools/BackgroundEstimator.cc ():
	* tools/fastjet/tools/BackgroundEstimator.hh:
	  factored median calculation out into _median_and_stddev(...), in
	  anticipation of other future modifications (e.g. medians of
	  quantities other than pt/area).

	  Also modified calculation of sigma so that it deals with the
	  "bin width" associated with each jet. To obtain the old FJ2
	  calculation of sigma, first call the new function
	  set_provide_fj2_sigma().


	* testsuite/TestBase.hh: *** ADDED ***
	* testsuite/run_tests.cc: *** ADDED ***
	  just some first structural thoughts about tests

	* src/PseudoJet.cc:
	* include/fastjet/PseudoJet.hh:
	  renamed hint_associated_rap_phi() -> set_cached_rap_phi() [this
	  is hopefully a clearer name].

	* src/GhostedAreaSpec.cc (add_ghosts): 
	  renamed the old (wrong) phi as phi_fj2 and now use a phi that
	  has the correct px,py use. Also speeded up the ghost generation
	  a little (exprap) and added a hint to set the ghost rapidity and
	  phi. Checked that active results are unchanged.

2011-05-02  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/PseudoJet.cc (PtYPhiM):
	  fixed serious bug where PtYPhiM was using ptm (=mt) to generate
	  x and y components (making pt wrong and m=0 when a non-zero m
	  was asked)

2011-04-28  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/PseudoJet.cc (PtYPhiM): 
	  fixed serious bug where PtYPhiM was generating exchanged x and y
	  components (making it inconsistent with the hinted phi). Pointed
	  out by Gregory.

2011-04-21  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc (ClusterSequence::_initialise_and_run): 
	* src/JetDefinition.cc: 
	* include/fastjet/JetDefinition.hh: 
	  added an undefined_jet_algorithm entry to the JetAlgorithm enum;
	  this is now set in the default constructor to JetDefinition;
	  corresponding entries/error-messages have been added to
	  JetDefinition::description() and
	  ClusterSequence::_initialise_and_run.

2011-04-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  added the new hint_associated_rap_phi(rap,phi) routine, which
	  allows a user to tell the PseudoJet what its rapidity and phi
	  are, thus sometimes avoiding expensive recalculations.
	
	* src/PseudoJet.cc (PtYPhiM):
	  made this significantly more efficient, by directly calculating
	  exp(y) rather than calling sinh and cosh; also avoided a
	  sqrt(pt^2+m^2) if the mass is zero and called
	  PseudoJet::hint_associated_rap_phi so that rapidity and phi info
	  are passed to the PseudoJet for free.

2011-04-16  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh (PseudoJet::reset_momentum):
	  added reset_momentum(...), which changes the momentum but
	  leaves all other information untouched.

2011-04-14  Gregory Soyez  <soyez@lpthe.jussieu.fr> + Matteo & Gavin

	* src/ClusterSequence.cc (_print_banner):
	  updated the banner

	* doc/fastjet-doc.tex (Note):
	  fixed name in the acks

2011-04-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* COPYING:
	  fixed a typo; added SISCone reference

2011-04-12  Gregory Soyez  <soyez@fastjet.fr>

	* src/ClusterSequenceAreaBase.cc:
	  only imposes a finite area if the area has no explicit ghosts

	* include/fastjet/ClusterSequenceAreaBase.hh:
	* include/fastjet/ClusterSequenceArea.hh:
	* include/fastjet/ClusterSequenceActiveArea.hh:
	* include/fastjet/ClusterSequencePassiveArea.hh:
	* include/fastjet/ClusterSequence1GhostPassiveArea.hh:
	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh:
	* include/fastjet/Makefile.am:
	* src/GhostedAreaSpec.cc:
	* src/ClusterSequenceAreaBase.cc:
	* src/ClusterSequenceArea.cc:
	* src/ClusterSequencePassiveArea.cc:
	* src/ClusterSequenceActiveArea.cc:
	* src/ClusterSequenceActiveAreaExplicitGhosts.cc:
	* src/Makefile.am:
	  replaced the use of RangeDefinition by Selector. From
	  ClusterSequenceArea, the selector is required to be geometric
	  and to have a finite area. For more advanced usage, use
	  BackgroundEstimator and Subtractor.

	  Note that from now on, the use of RangeDefinition is considered
	  obsolete and should be disfavoured. Use Selector instead.

	* include/fastjet/Selector.hh:
	* src/Selector.cc:
	* tools/BackgroundEstimator.cc:
	  replaced the has_area test by is_geometric() that tests if the
	  selector only puts constraints on the geometry of the PseudoJet
	  (y and phi) and has_finite_area() that checks if the selector
	  has a	finite area

	* include/fastjet/Selector.hh:
	* src/Selector.cc:
	  . added a SW_RangeDefinition that works from a RangeDefinition
	  . added a Selector ctor from a RangeDefinition [provided for
	    backward compatibility only]

	* include/fastjet/RangeDefinition.hh (RangeDefinition):
	  removed the ctor from a Selector

	* include/fastjet/Makefile.am (fastjetinclude_HEADERS):
	  removed PseudoJetPlusInfo.hh from the list of headers
	  since the file is no longer included.

	* example/12-filter.cc:
	  adapted the example to the fact that extra_properties now
	  returns a reference

2011-04-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/PxCone/Makefile.am: 
	* plugins/SISCone/Makefile.am: 
	* plugins/CDFCones/Makefile.am: 
	* plugins/CDFCones/CDFJetCluPlugin.hh:    *** DELETED ***
	* plugins/CDFCones/CDFMidPointPlugin.hh:  *** DELETED ***
	* plugins/PxCone/PxConePlugin.hh:         *** DELETED ***
	* plugins/SISCone/SISConePlugin.hh:       *** DELETED ***
	  removed all of these deprecated headers; access now must be via
	  fastjet/PluginName.hh
	
2011-04-11  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  extra_properties<T>() now returns a reference rather than a
	  pointer.

	* include/fastjet/PseudoJetPlusInfo.hh: *** DELETED ***
	  we decided there wasn't much benefit from this

	* example/07-subtraction-new.cc: *** ADDED ***
	  an example with the new form of subtraction; not yet compiled by
	  default; comments still need work.

	* tools/Makefile.am: 
	* tools/fastjet/tools/Subtractor.hh: 
	* tools/Subtractor.cc:                   *** ADDED ***
	  modified comments; moved some of the code to .cc and ensured
	  that the resulting subtracted jets have their pt set to zero if the
	  subtraction would take away too much pt and that they retain
	  their structural information.

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	* tools/BackgroundEstimator.cc: 
	  made rho() and sigma() calls const, which necessitated making a
	  number of member variables mutable.

2011-04-06  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  re-enabled karnak

2011-03-30  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* tools/fastjet/tools/Subtractor.hh:
	  passed the ctor argument as a reference

	* tools/BackgroundEstimator.cc (_compute):
	  fixed typo in error message

2011-03-27  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * fortran_wrapper/fastjetfortran.cc
	* fortran_wrapper/fastjet_fortran_example.f
	
	  Added subroutine for rho determination from fortran

2011-03-24  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * fortran_wrapper/fastjetfortran.cc
	* fortran_wrapper/fastjet_fortran_example.f
	
	  Added fortran interface to calculate and retrieve
	  active jet areas (subroutines fastjetsisconewitharea(), 
	  fastjetppgenktwitharea() and function fastjetarea()).
	  Also moved some code in new helper routine transfer_cluster_transfer()
	  
2011-03-23  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  removed karnak from nightly check
	
	* include/fastjet/GhostedAreaSpec.hh: 
	* GhostedAreaSpec.cc: 
	  GhostedAreaSpec can now take a Selector in the constructor and
	  do the sensible thing with it (+later, got description working
	  for it)
	
	* include/fastjet/Selector.hh: 
	* Selector.cc: 

	  Set up separate area() and area(ghost_area) calls, so that we do
	  not need to provide a default area in the include file (this was
	  causing circularity in the includes with GhostedAreaSpec)

	  Reorganised order of some methods (so everything public is
	  together).

2011-03-21  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* tools/BackgroundEstimator.cc (_compute):
	  . use systematically scalar area to estimate the empty area
	  . fixed a bug in the computation of the empty area (dividing
	    by R^2 rather than R)

	  Note that the method to compute the empty area when there is no
	  explicit ghost works as for ClusterSequenceAreaBase. This would
	  differ to what is implemented in ClusterSequenceActiveArea.

2011-03-20  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/Selector.cc:
	  provide a virtual dtor to QuantityBase (so that the derived
	  quantities also have a virtual dtor).

2011-03-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequenceVoronoiArea.cc:
	  fixed rounding-error issue in VAC::circle_area(...), which was
	  causing nan Voronoi areas in some circumstances for particles on
	  a calorimeter. (Problem reported by Sue Ann Koay, with example
	  event sent on 2011-03-20).

	* src/Selector.cc (SelectorM*, SelectorEt*): 
	  these were incorrectly interpreting their arguments as the
	  square-root of mass and Et. Should now be fixed.

2011-03-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/Selector.cc:
	* include/fastjet/Selector.hh:
	  added two new Selector methods

	  - Selector::count(jets), which returns a count of
	    the number of jets that pass the selection; intended to be a
	    a bit more efficient that getting a results vector and
	    evaluating its size.

	  - Selector::sift(jets, jets_that_pass, jets_that_fail), which
	    sifts the input jets into two vectors, which respectively pass
	    and fail the selector.

	  Also eliminated some operator indirection in the main selection
	  routine.

	* regression-tests/nightly-check.pl:
	  removed zetes from nightly check since it's down.

2011-03-16  Gregory Soyez  <soyez@lpthe.jussieu.fr>


	* tools/fastjet/tools/Subtractor.hh:           *** ADDED ***
	* tools/fastjet/tools/Makefile.am:
	  added a transformer that performs subtraction (taking a
	  BackgroudEstimetor as a ctor parameter)

	* tools/BackgroundEstimator.cc:
	* tools/fastjet/tools/BackgroundEstimator.hh:
	  added the "traditional" FastJet header.

2011-03-15  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/Filter.hh: 
	  small change in description to take into account the two
	  possible scales "offered" with trimming.

2011-03-11  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* example/01-basic.cc:
	* example/02-jetdef.cc:
	* example/04-constituents.cc:
	* example/06-area.cc:
	* example/08-selector.cc:
	* example/09-user_info.cc:
	* example/12-filter.cc:
	  sorted out the links in the Doxygen doc (class names had to be
	  prefixed by fastjet::)

2011-03-11  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/BackgroundEstimator.hh: 
	* tools/BackgroundEstimator.cc: 
          reworked some of the comments in BackgroundEstimator.
	
2011-03-10  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* configure.ac:
	  switched version number fo 3.0alpha3-devel

2011-03-10  Gavin SALAM  <salam@lpthe.jussieu.fr>

	  Release of fastjet-3.0alpha2

2011-03-10  Gavin Salam  <salam@lpthe.jussieu.fr>

	* configure.ac:
	* NEWS:
	* plugins/SISCone: [externals]
	* ...
	  preparing for 3.0alpha2

	* tools/Makefile.am:
	* tools/fastjet/tools/Makefile.am:
	* tools/fastjet/tools/BackgroundEstimator.hh:
	* tools/BackgroundEstimator.cc:
          moved BackgroundEstimator into core from experimental area to
	  allow people to play with them in 3.0a2; adapted it to work with
	  latest naming of PseudoJet structure information


2011-03-10  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* tools/Filter.cc:
	* tools/fastjet.tools/Filter.hh:
	  declared _selector as mutable to better handle the case of
	  selectors taking a reference

	* src/Selector.cc (SW_WithReference):
	  added the missing copy() method.

	* example/Makefile.am:
	* example/09-extra_info.cc:                   *** REMOVED ***
	* example/09-user_info.cc:                    ***  ADDED  ***
	  renamed according to the renaming of the class. Note that the
	  example itself is still to be written!

	* tools/fastjet/tools/Filter.hh:
	  - added a link in the Doxygen doc to the example 12

	* example/12-filter.cc:
	  - updated description
	  - we now show 2 filters: "filtering" and "trimming"

	* example/08-selector.cc:
	  fixed typo in description

	* tools/fastjet/tools/Filter.hh:
	  use the jet being filtered as a reference if the selector takes
	  one.


2011-03-10  Gavin Salam  <salam@lpthe.jussieu.fr>


	* doc/fastjet-doc.tex:
	  documented composite jets

	* tools/fastjet/tools/Filter.hh:
	  worked on doxygen documentation of Filter.hh

	* tools/fastjet/tools/Transformer.hh:
	  fixed a minor issue in doxygen output from this file

	* NEWS:
	  working on this in view of 3.0alpha2

	* doc/fastjet-doc.tex:
	  incomplete treatment UserInfoBase renaming

	* example/fastjet_example.cc: 	
	  completed list of examples for doxygen

	* src/ClusterSequence.cc (~ClusterSequence): 
	  documenting use of assert

	* various
	  updates to copyright dates

	* Roadmap gets some completion

	* include/fastjet/Selector.hh:
	* include/fastjet/internal/base.hh
	  added a new selectors "module" for doxygen
	
2011-03-10  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* fastjet-config.in:
	  fixed portability issue with sed and newlines

2011-03-09  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/PseudoJetInterfaceBase.hh:   *** REMOVED ***
	* include/fastjet/PseudoJetStructureBase.hh:   ***  ADDED  ***
	* include/fastjet/ClusterSequenceInterface.hh: *** REMOVED ***
	* include/fastjet/ClusterSequenceStructure.hh: ***  ADDED  ***
	* include/fastjet/MergedJetInterface.hh:       *** REMOVED ***
	* include/fastjet/CombinedJetStructure.hh:     ***  ADDED  ***
	* src/PseudoJetInterfaceBase.cc:               *** REMOVED ***
	* src/PseudoJetStructureBase.cc:               ***  ADDED  ***
	* src/ClusterSequenceInterface.cc:             *** REMOVED ***
	* src/ClusterSequenceStructure.cc:             ***  ADDED  ***
	* src/MergedJetInterface.cc:                   *** REMOVED ***
	* src/CombinedJetStructure.cc:                 ***  ADDED  ***
	* include/fastjet/PseudoJet.hh:
	* src/PseudoJet.cc:
	* include/fastjet/ClusterSequence.hh:
	* src/ClusterSequence.cc:
	* src/ClusterSequenceAreaBase.cc (subtracted_jet):
	* tools/fastjet/tools/Transformer.hh:
	* tools/fastjet/tools/Filter.hh:
	* tools/Transformer.cc:
	* tools/Filter.cc:
	* example/12-filter.cc:

	  done some renaming:
	   + Interface -> Structure
	   + ClusterSequenceInterface -> ClusterSequenceStructure
	   + MergedJetInferface -> CompositeJetStructure
	   + merge -> join
	   + FilteredJetInterface -> FilteredJetStructure
	   + UserInfo -> UserInfoBase

	  In PseudoJet: set the structure methods to
 	    bool has_structure() const;
 	    const PJSB * structure_ptr() const;
 	    const PJSB * validated_structure_ptr() const;
 	    const SharedPtr<PJSB> structure_shared_ptr() const;
 	    const T & structure<T>() const;
 	    _associated_interface -> _structure

	  In ClusterSequence.hh:
	    _interface_to_this -> _structure_shared_ptr
	    const SharedPtr<PJSB> structure_shared_ptr()

	* include/fastjet/Selector.hh:
	* src/Selector.cc:
	  - pure-ghost selector: fixed comment; fixed return value for
	    jets with no area (false is returned as they are certainly
	    not ghosts)
	  - added a SelectorPtFractionMin that keeps the jets carrying
	    at least a given fraction of a reference jet.


2011-03-08  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/Selector.hh:
	* src/Selector.xx:
	  added SelectorIdentity and SelectorIsPureGhost

2011-03-08  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo

	* example/Makefile.am: 
	* experimental/tools/test.cc -> example/12-filter.cc: 

	  moved the test program for filter to example/
	  Note, this will probably need reworking a little in the future. 

	* include/fastjet/PseudoJetInterfaceBase.hh: 
	  removed some extraneous semicolons.

	* experimental/tools/Transformer.* -> tools/
	* experimental/tools/Filter.* -> tools/
	* tools/**/Makefile.am
	  moved the Filter (and Transformer) into tools/ directory of the
	  core structure.

	  Removed TransformerInterface (it seemed to be unused and
	  redundant) + worked a little bit on comments.

2011-03-07  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo

	* src/PseudoJet.cc:
	* include/fastjet/PseudoJet.hh:
	* doc/fastjet-doc.tex:
	  renamed ExtraInfo -> UserInfo (and similarly for all occurrences
	  of extra_info -> user_info). Also changed some of the other
	  naming aspects:

	    - user_info<L>() is now a template and returns a const ref
	    - user_info_ptr() returns the pointer
	    - user_info_shared_ptr() returns the shared pointer

	  Updated documentation and included a simple usage example as
	  well.

2011-02-28  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/dummy.cc: *** ADDED ***
	  added missing file here.

2011-02-28  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/PseudoJet.cc:
	* include/fastjet/PseudoJetInterfaceBase.hh:
	* include/fastjet/ClusterSequenceInterface.hh:
	* src/PseudoJetInterfaceBase.cc:
	* src/ClusterSequenceInterface.cc:
	  contains() + is_inside()  ->  object_in_jet() in the interface
	  (not in PseudoJet)

	* include/fastjet/PseudoJetInterfaceBase.hh:
	  made pieces() throw an error when no pieces associated

	* src/MergedJetInterface.cc:
	  trivial typo

2011-02-28  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequenceInterface.cc: 
	  changed the validated_cs Error messages to refer only to the CS
	  having gone out of scope (since anything that reaches CSI
	  necessarily has assoc CSI).

	* src/ClusterSequence.cc: 
	* include/fastjet/ClusterSequence.hh: 
	  _potentially_valid(jet) replaced with contains(jet), and added a
	  check for all the exclusive_subjet calls.

2011-02-27  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/dummy.cc:  *** ADDED ***
	  added this file (with one dummy function) to avoid problems with
	  nightly checks on OS X.

2011-02-25  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh:
	  added template methods to help accessing the interface:
	   + associated_interface_ptr<IfaceType> returns a pointer
	     of type IfaceType* or NULL if the interface is incompatible
	   + extra_properties<TransformerType> returns a pointer to
	     a interface of type TransformerType::InterfaceType (or
	     NULL if incompatible)
	   + has_properties_of<TransformerType> check that the
	     interface of the type TransformerType::InterfaceType
	     can be returned.

2011-02-24  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/MergedJetInterface.hh:
	  adjusted references and constness.

	* include/fastjet/ClusterSequenceInterface.hh (PseudoJetInterfaceBase):
	  has_constituents() and has_exclusive_subjets() will throw an
	  Error if the associated CS has gone out of scope

	* include/fastjet/Makefile.am (fastjetinclude_HEADERS):
	* src/Makefile.am (libfastjet_la_SOURCES):
	* include/fastjet/PseudoJet.hh:
	* src/PseudoJet.cc:
	* include/fastjet/MergedJetInterface.hh:             *** ADDED ***
	* src/MergedJetInterface.cc:                         *** ADDED ***
	  added the interface for a jet made of pieces (copied and adapted
	  from Merger in experimental/tools)

	* src/ClusterSequenceInterface.cc:
	  for contains and is_inside, check that the two jets belong to the
	  same ClusterSequence (failing which false is returned)

	* include/fastjet/ClusterSequenceInterface.hh:
	  all the has_* methods that were simply returning 'true' now
	  return true only if the associated ClusterSequence is still
	  available (and false otherwise).
	  That way, if has_xyz() returns true, xyz() can safely be applied
	  to get the result.

	* include/fastjet/PseudoJetInterfaceBase.hh:
	* src/PseudoJetInterfaceBase.cc:
	  updated some of the default behaviours (e.g. a jet has no pieces
	  by default and pieces() throws an Error); updated comments

	* include/fastjet/Makefile.am (fastjetinclude_HEADERS):
	* src/Makefile.am (libfastjet_la_SOURCES):
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/ClusterSequenceInterface.hh:
	* src/ClusterSequenceInterfaceBase.cc:               *** DELETED ***
	* include/fastjet/ClusterSequenceInterfaceBase.hh:   *** DELETED ***
	* src/PseudoJetInterfaceBase.cc:                       *** ADDED ***
	* include/fastjet/PseudoJetInterfaceBase.hh:           *** ADDED ***
	  renamed the files ClusterSequenceInterfaceBase.* into
	  PseudoJetInterfaceBase.*

	* src/ClusterSequenceAreaBase.cc:
	* src/ClusterSequence.cc:
	* src/ClusterSequenceInterfaceBase.cc:
	* src/PseudoJet.cc:
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/ClusterSequence.hh:
	* include/fastjet/ClusterSequenceInterface.hh:
	* include/fastjet/ClusterSequenceInterfaceBase.hh:
	  done some renaming:
	    ClusterSequenceInterfaceBase -> PseudoJetInterfaceBase
	    *_csi -> *_interface

2011-02-23  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* doc/fastjet-doc.tex:
	* src/Selector.cc: 
	* include/fastjet/Selector.hh: 
	  changed relocate(...) and is_relocatable() to set_reference(...)
	  and takes_reference(...) + other small mods to wording of
	  documentation. 

	* example/08-selector.cc: 
	* tools/Selector.cc -> src/Selector.cc
	* tools/fastjet/tools/Selector.hh -> include/fastjet/Selector.hh
	* various Makefile.am:
	* doc/fastjet-doc.tex:
	  moved Selector into core of distribution. For doxygen, left it
	  @ingroup tools. Revisit this later?

2011-02-23  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/Makefile.am: 
	* include/FjPseudoJet.hh:        *** DELETED ***
	* include/FjClusterSequence.hh:  *** DELETED ***
	  removed these legacy headers

2011-02-22  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequenceInterface.hh: 
	  tiny mods (extraneous semicolons)
	
2011-02-22  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh:
	  include/fastjet/ClusterSequenceInterface.hh:
	  include/fastjet/ClusterSequenceInterfaceBase.hh:
	  src/PseudoJet.cc:
	  src/ClusterSequenceInterfaceBase.cc:
	  added a few extra methods:
	   . has_constituents() that tells if the interface
	     supports constituents
	   . has_exclusive_subjets() that tells if the interface
	     supports constituents
	   . pieces() that returns the pieces of a jet (by default
	     both "input particles" and clustering products are
	     considered as made of a single piece, the object itself.


2011-02-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	  adjusted comments 
	  
2011-02-17  Gregory Soyez  <soyez@lpthe.jussieu.fr>

        * src/PseudoJet.cc
        * include/fastjet/ClusterSequenceInterfaceBase.hh
        * include/fastjet/ClusterSequenceInterface.hh
	* include/fastjet/PseudoJet.hh:
	  PseudoJet (and the various CSInterfaces) acquired a
	  description()

2011-02-09  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequenceWrapper.hh: *** REMOVED ***
	* src/ClusterSequenceInterface.cc:
	  Fixed the removal of ClusterSequenceWrapper (that apparently
	  went wrong during the branch merging.)

2011-02-08  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* src/ClusterSequence_CP2DChan.cc (_CP2DChan_limited_cluster):
	  same bugfix (make_mirror(... Dlim4mirror) as earlier today (I
	  had forgotten one)

2011-02-08  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* merged the fastjet-2.5.X-clusterinfo-devel branch into the trunk

=========================================================================
              MERGING the devel-clusterinfo branch
    Here starts the ChangeLog for the modifications in the branch
=========================================================================

2011-02-08  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* merged the (remaining) changes from the trunk into the branch
	  created at revision 1804. It should now be ready for a
	  reinsertion in the trunk.

2011-02-02  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/ClusterSequence.cc:
	* include/fastjet/ClusterSequenceInterface.hh (ClusterSequenceInterfaceBase):
	  . removed the friendiness w CS: set_associated_cs can
	    be used instead
	  . added a missing const in the ctor

2011-02-01  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* plugins/usage_examples/pxcone_example.cc:
	  prefixed ENABLE_PLUGIN_PXCONE with FASTJET_

2011-01-31  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* tools/Selector.cc (SW_NHardest):
	  first check if the size of the vector is larger than the cut.


2011-01-31  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/Error.cc (Error):
	* configure.ac:
	  checked for the presence of execinfo.h
	  added a corresponding #ifdef in Error.cc

	* src/Error.cc (Error):
	  prefixed the index in the stack with a hash

	* include/fastjet/ClusterSequence.hh (ClusterSequence):
	  added a method to extraced the associated CSW (rename?)


	* m4/ax_prefix_config_h.m4:        *** ADDED ***
	  apparently this is missing on some installations of autoconf
	  just adding it to our own m4 dir seems to solve the problem

	* configure.ac:
	  made sure AC_CONFIG_HEADER outputs its (intermediate) header in
	  include/fastjet in order to have the correct -I compilation flags

	* Makefile.am:
	  extended the target distclean to remove leftovers from
	  AX_PERFIX_CONFIG_H


2011-01-31  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/ClusterSequence.cc (plugin_record_ij_recombination):
	  replaced wrapper- > interface (comes from a bugfix in the branch
	  that needed an update to the new nomenclature)

	* src/PseudoJet.cc (has_area):
	  replaced NULL by 0 to avoid a warning.

2010-11-27  Gregory Soyez  <soyez@cern.ch>

        * src/Makefile.am:
        * include/fastjet/Makefile.am:
	  included the previously added files in the build system

	* include/fastjet/ClusterSequenceInterfaceBase.hh: *** ADDED ***
	* include/fastjet/ClusterSequenceInterface.hh:	   *** ADDED ***
	* src/ClusterSequenceInterfaceBase.cc:		   *** ADDED ***
	* src/ClusterSequenceInterface.cc:                 *** ADDED ***
	* src/PseudoJet.cc:
	* src/ClusterSequence.cc:
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/ClusterSequence.hh:
	* include/fastjet/ClusterSequenceWrapper.hh:
	* include/fastjet/ClusterSequenceInfo.hh:        *** REMOVED ***
	* src/ClusterSequenceInfo.hh:                    *** REMOVED ***

	  Merged the ClusterSequenceWrapper+ClusterSequenceInfo in a
	  single ClusterSequenceInterface. at the same time, we've added a
	  base calss ClusterSequenceInterfaceBase that allows to define
	  other bahaviours than the default one in
	  ClusterSequenceInterface.


2010-11-04  Gregory Soyez  <soyez@cern.ch>

	* include/fastjet/ClusterSequenceInfo.hh:
	  added a series of missing 'virtual' declarations

2010-11-03  Gregory Soyez  <soyez@cern.ch>

        * src/Makefile.am:
        * include/fastjet/Makefile.am:
	  included the previously added files in the build system

	* include/fastjet/ClusterSequenceInfo.hh: *** ADDED ***
	* src/ClusterSequenceInfo.cc:             *** ADDED ***
	* src/ClusterSequenceAreaBase.cc:
	* src/PseudoJet.cc:
	* src/ClusterSequence.cc:
	* include/fastjet/PseudoJet.hh:
	* include/fastjet/ClusterSequence.hh:
	* include/fastjet/ClusterSequenceWrapper.hh:
	  added ClusterSequenceInfo as an intermediate layer between the
	  ClusterSequenceWrapper and the classes that use it
	  (i.e. ClusterSequence and PseudoJet).

	  By default, a single ClusterSequenceInfo object is shared
	  between all the objects associated with the same
	  ClusterSequence. This can thus be thought as a wrapper of
	  ClusterSequenceWrapper.

	  The underlying idea behind this apparently redundant structure
	  is that if one wants to add info to a PseudoJet (e.g. jet
	  substructure or filtering info), one can derive a class from
	  ClusterSequenceInfo, add the extra information to it and
	  associate it to the analysed jet. That way, each jet could carry
	  its own extra information about its own substructure while
	  keeping a shared ClusterSequenceWrapper.

=========================================================================
              MERGING the devel-clusterinfo branch
    Here stops the ChangeLog for the modifications in the branch
=========================================================================

2011-02-08  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/ClusterSequence_CP2DChan.cc (_CP2DChan_limited_cluster):
	  for R>pi, some particles were mirrored outside the [-pi:3pi]
	  range causing an assertion to be failed in ClosestPair2D.
	  We fixed this by limiting the "mirroring distance" to pi
	  i.e. practically copying all the particles: adding 2pi to the
	  particles with phi<pi and subtracting 2pi to those with phi>pi
	  (note that the particles at phi==pi are not mirrored). For
	  additional security, we extended the range [-pi:3pi] to
	  [-3.15:9.45].

2011-02-05  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc (ClusterSequence::_initialise_and_run): 
	  fixed issue created by reordering of tests for Best strategy.

2011-02-03  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* tools/fastjet/tools/Selector.hh:
	  added a Selector::nullify_non_selected() that sets to 0 the
	  jets that do not pass the selection (equivalent to
	  SelectorWorker::terminator())

	* src/ClusterSequence.cc (_initialise_and_run):
	  . for the Best strategy, moved the small N test first;
	  . similarily, inverted the series of tests redirecting to the
	    processing method for the various strategies

	* include/fastjet/Error.hh (Error):
	  . added a 'set_backtrace(bool)' to control whether the backtrace
	    is printed together with the error message or not
	  . added a bunch of Doxygen comments

2011-02-02  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/Error.cc:
	  used the correct header (cstdlib) for the access to free()

2011-02-01  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* plugins/usage_examples/pxcone_example.cc:
	  prefixed ENABLE_PLUGIN_PXCONE with FASTJET_

2011-01-31  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* tools/Selector.cc (SW_NHardest):
	  first check if the size of the vector is larger than the cut.


2011-01-31  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* src/Error.cc (Error):
	* configure.ac:
	  checked for the presence of execinfo.h
	  added a corresponding #ifdef in Error.cc

	* src/Error.cc (Error):
	  prefixed the index in the stack with a hash

	* include/fastjet/ClusterSequence.hh (ClusterSequence):
	  added a method to extract the associated CSW (rename?)


	* m4/ax_prefix_config_h.m4:        *** ADDED ***
	  apparently this is missing on some installations of autoconf
	  just adding it to our own m4 dir seems to solve the problem

	* configure.ac:
	  made sure AC_CONFIG_HEADER outputs its (intermediate) header in
	  include/fastjet in order to have the correct -I compilation flags

	* Makefile.am:
	  extended the target distclean to remove leftovers from
	  AX_PERFIX_CONFIG_H

2011-01-28  Gregory Soyez  <soyez@lpthe.jussieu.fr>

	* include/fastjet/Error.hh (Error):
	* src/Error.cc (Error):
	  when throwing a fastjet::Error, include a backtrace of the stack
	  in the message

        * example/01-basic.cc:
        * example/02-jetdef.cc:
        * example/03-plugin.cc:
        * example/04-constituents.cc:
        * example/05-eplus_eminus.cc:
        * example/06-area.cc:
	* example/07-subtraction.cc:
        * example/08-selector.cc:
        * example/09-extra_info.cc:
	* example/10-subjets.cc:
	* example/11-boosted_higgs.cc:
	  changed "Source file" into "Source code" to avoid empty links
	  created by Doxygen

	* include/fastjet/ClusterSequenceWrapper.hh:
	  remove the non_const_cs() method (it provided a way to cast
	  constness away)

	* include/fastjet/config_win.h:
	* src/genconfig.sh:
	  reflected the change below to the other affected scripts
	  and headers

	* configure.ac:
	* include/fastjet/version.hh:
	* example/03-plugin.cc:
	* example/fastjet_timing_plugins.cc:
	* plugins/usage_examples/many_algs_example.cc:
	* plugins/usage_examples/siscone_example.cc:
	* plugins/usage_examples/cdfmidpoint_example.cc:
	  added FASTJET_ to the macros defined in config(_auto).h
	  so that one can safely include it without risking
	  an interference with another package

	* Doxyfile (STRIP_CODE_COMMENTS): set to NO
	  Doxyfile-devel (STRIP_CODE_COMMENTS): set to NO
	  + version number set to 3.0alpha2-devel

2011-01-27  Gavin SALAM  <salam@ada.lpthe.jussieu.fr>

	* configure.ac: 
	* plugins/SISCone/siscone
	  back on trunk for SISCone and
	  work starts on fastjet-3.0alpha2-devel

2011-01-27  Gregory Soyez  <soyez@cern.ch> and Gavin
	* NEWS
	* configure.ac
	  Release of fastjet-3.0alpha1

2011-01-27  Gregory Soyez  <soyez@cern.ch> and Gavin

	* CHECKLIST:
	  reported ongoing progress

	* plugins/SISCone/siscone
	  switched back to 2.0.1 

	* NEWS:
	  fixed the text for 3.0alpha1

	* doc/fastjet-doc.tex:
	  added a note on what's new in 3.0alpha1

	* include/fastjet/config_win.h:
	* configure.ac:
	  updated version number

	* Doxyfile:
	* Doxyfile-devel:
	  updated version numbers; checked included paths

	* fastjet-config.in:
	* examples/Makefile.am:
	  reverted the order of the fastjettools and fastjet libs


2011-01-27  Gavin Salam  <salam@lpthe.jussieu.fr>

	* fortran_wrapper/Makefile.am:
	* fortran_wrapper/README:
	* fortran_wrapper/fastjetfortran_v2.cc -> fastjetfortran.cc:
	* fortran_wrapper/Makefile:
	  moved what was called fastjetfortran_v2 to fastjetfortran
	  providing SISCone, constituents, dmerge features from fortran.

	* several places:
	  set the svn:keywords property to Id

2011-01-27  Gregory Soyez  <soyez@cern.ch>

	* example/Makefile.am:
        * example/09-extra_info.cc:         *** ADDED ***
	  added a (dummy) example for extra info

	  + modified the doxygen doc for the examples


2011-01-27  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh:
	  renamed reset_extra_info(...) to set_extra_info(...)
	  and renamed argument.

2011-01-27  Gregory Soyez  <soyez@cern.ch>


	* example/README:              *** ADDED ***
        * example/01-basic.cc:         *** ADDED ***
        * example/02-jetdef.cc:	       *** ADDED ***
        * example/03-plugin.cc:	       *** ADDED ***
        * example/04-constituents.cc:  *** ADDED ***
        * example/05-eplus_eminus.cc:  *** ADDED ***
        * example/06-area.cc:          *** ADDED ***
	* example/07-subtraction.cc:   *** ADDED ***
        * example/08-selector.cc:      *** ADDED ***
	* example/10-subjets.cc:       *** ADDED ***
	* example/11-boosted_higgs.cc: *** ADDED ***
	* example/Makefile.am:
	  added a list of examples starting with the simplest one then
	  illustrating various specific features.

2011-01-26  Gregory Soyez  <soyez@cern.ch>

	* tools/Selector.cc (SW_Relocatable):
	  for relocatable objects, make sure thay are initialized when
	  calling _get_rapidity_extent()

2011-01-26  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/fastjet/tools/Selector.hh:
	  relocate now returns a const Selector & rather than void, so
	  that one can write

	     selector.relocate(jet_on_which_to_centre)(jets_to_select)

2011-01-26  Gregory Soyez  <soyez@cern.ch> + Gavin

	* src/ClusterSequence.cc (plugin_record_ij_recombination):
	  when overwriting the recombination result with the specified
	  resulting PseudoJet, make sure it contains info about the
	  ClusterSequenceWrapper

	* tools/fastjet/tools/Selector.hh:
	  put the logical operators inside the doc

	* configure.ac, example/Makefile.am, tools/Makefile.am:
	  if --enable-debug is set, add by default -Woverloaded-virtual to
	  the list of default compilation flags (if the compiler supports it)

	* tools/Selector.cc, tools/fastjet/tools/Selector.hh:
	  - added a SelectorRapPhiRange
	    (with a corresponding SW_RapPhiRange)
	  - used half_width instead of radius for the SelectorStrip (cc file)
	  - the Doughnut range now uses its own worker rather than a
	    combination of 2 circles (advantages: has a known area + is
	    really >= radius_in instead of >)
	  - added a relocatable Rectangle range (given rap and phi half-widths)
          - added check rapmin <= rapmax

	* Makefile.am:
	  added the -Woverloaded-virtual flag for a better finding of
	  possible overloading issues.

	* tools/Selector.cc:
	  fixed a missing const in various get_rapidity_extent

	* tools/fastjet/tools/Selector.hh:
	  slight update of exception messages in SW::copy

2011-01-26  Gavin Salam  <salam@lpthe.jussieu.fr>

	* tools/Selector.cc:
	* tools/fastjet/tools/Selector.hh:
	  moved some longer bits of code from Selector.hh to Selector.cc;
	  replaced assertions with exceptions; and tided up some comments
	  in a few places.

2011-01-26  Gavin Salam  <gavin.salam@cern.ch>

	* regression-tests/nightly-check.pl: 
	  switched --enable-monolithic check over to --disable-monolithic 

2011-01-26  Gregory Soyez  <soyez@cern.ch>

	* m4/plugin.m4:
	  check for monolithix uses yes/no instead of true/false

2011-01-25  Gregory Soyez  <soyez@cern.ch>

	* Doxyfile:
	  remove alphabetical ordering of detailed descriptions

	* include/fastjet/ClusterSequence.hh:
	  added extra doc on the mainpage (links to enum,...)

	* include/fastjet/internal/base.hh:
	  added a "tool" module for the documentation;
	  documented the fastjet namespace

2011-01-25  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh:
	  added a reset_extra_info(...) so that the user does not need to
	  be aware of any details of the shared pointer (unless they do
	  advanced things).

	* doc/fastjet-doc.tex: 
	  added documentation of D0 run I algorithm (and adapted the Run
	  II doc to correspond)

	* plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh: 
	* plugins/D0RunICone/fastjet/D0RunIConePlugin.hh:
	* plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh:
	* Doxyfile
	* Doxyfile-devel

	  updated comments to give more informative doxygen documentation
	  and included the D0RunI plugins in the doxygen.

	* NEWS
	  working on making this accurate

2011-01-25  Gregory Soyez  <soyez@cern.ch>

	* configure.ac:
	  enables the monolithic build of plugins by default

	* Doxyfile, Doxyfile-devel:
	  fixed a missing \; updated the devel doc

	* Doxyfile:
	  updated the file (v1.7.1)
	  limited the dot-graph depth to a single inheritance

	* include/fastjet/ClusterSequence.hh (ClusterSequence):
	  reshaped the doxygen main page (restored links, added more links)

	* include/fastjet/internal/IsBase.hh:
	  added the workarounds for MSVC

	* m4/CGAL.m4:
	  in case a CGAL directory is explicitly specified, skip the
	  makefile test (previously, /usr/share/cgal/cgal.mk was
	  tested anyway). This is safer in case both an "old" and a new
	  installation coexist.

	* configure.ac:
	  slightly moved the "tools" section (right after the plugins)
	  added a summary at the end of the run

	* m4/plugin.m4:
	  added AC_PLUGIN_SUMMARY to show what is enabled/disabled

2011-01-25  Gavin Salam  <salam@lpthe.jussieu.fr> & Gregory


	* tools/                                  *** ADDED ***
	* tools/fastjet/			  *** ADDED ***
	* tools/fastjet/tools			  *** ADDED ***
	* tools/**/Makefile.am                    *** ADDED ***
	* tools/Selector.cc
	* tools/fastjet/tools/Selector.hh
        * Makefile.am
        * configure.ac
	* fastjet-config.in
	* Doxyfile-devel: 
	* Doxyfile: 

	  Created a tools/ top-level directory, moved the Selector code in
	  from the experimental area, arranged all the Makefiles so that
	  it gets placed in libfastjettools and ensured that
	  fastjet-config adds that library too + Doxygen access.



2010-12-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* fortran_wrapper/fastjet_fortran_example.f: 
	* fortran_wrapper/fastjetfortran_v2.cc: 

	  Added a comment concerning the order of array indices in the
	  fortran interface noting that it differs from the order in
	  Pythia 6.

2010-12-20  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl: 
	  replaced a zcat (causing problems on mac) with a gunzip -c

	* regression-tests/nightly-check.pl: 
	  re-enabled karnak

2010-12-09  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/PseudoJet.cc (delta_phi_to): 
	  fixed serious bug relating to sign of delta_phi_to (presence of
	  abs internally, which made the sign of the result unreliable)

2010-11-29  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  and took karnak out... 

2010-11-28  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  put karnak back in.

2010-11-21  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl: 
	  allowed -deposit option to create the deposit directoy.

	* src/ClusterSequence_CP2DChan.cc: 
	  added in assertions to make sure that we catch recombination
	  with mirror points (will only occur if the CP2DChan routines
	  mistakenly get called with R >= 2pi).

2010-11-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl: 
	  changed the default data file so as to increase the number of
	  events that can be used for tests.
	  
	  switched checksum identifiers over to the new file name.

	  Allowed both -strat and -strategy arguments, and also allowed
	  them to take a colon-separated list of multiple strategies.

	* include/fastjet/JetDefinition.hh: 
	  clarified possible issues when using the pointer returned by
	  recombiner().

2010-11-19  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/JetDefinition.hh (enum Strategy): 
	  added comments indicating which strategies are non-functional
	  for R>=2pi.
	
	* src/JetDefinition.cc: 
	  replaced enforcement of R < pi/2 with R < 1000, now that we
	  support all R values in ClusterSequence. The reason for
	  maintaining some limit is that particles with pt=0, m=0 can have
	  rapidities O(10000) and one doesn't want the clustering to start
	  including them as if their rapidities were physical.

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence.cc (ClusterSequence::_initialise_and_run): 
	  set up automatic change of strategy when R>=2pi, to ensure that
	  we run a strategy that will give correct answers.

	* src/ClusterSequence_TiledN2.cc (ClusterSequence::_initialise_tiles): 
	  set the minimum number of tiles in the phi direction to be 3, so
	  that it works even for large values of R

	* include/fastjet/internal/Dnn2piCylinder.hh: 
	  just updated comments about periodicity in phi and the kt (etc.)
	  algorithms


2010-10-27  Gregory Soyez  <soyez@cern.ch>

	* src/genconfig.sh:
	* example/makefile.static:
        * plugins/CDFCones/CDFcode/makefile.static:
	* plugins/SISCone/makefile.static:
	* plugins/makefile.static:
	  aligned the static build of plugins to the default choices.
	  + minor corrections to have the static build actually work!

2010-10-26  Gregory Soyez  <soyez@cern.ch>

	* m4/plugin.m4,
	  plugins/Makefile.am:
	  added comments for the automatic plugin release scripts.


2010-10-26  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/GhostedAreaSpec.hh (class GhostedAreaSpec):
	  changed comment for add_ghosts

2010-10-25  Gregory Soyez  <soyez@cern.ch>

	* plugins/D0RunICone/D0RunIBaseConePlugin.cc:
	  carry info about the recombination from HepEntity to the Fastjet
	  recombination

	* plugins/D0RunICone/:                *** ADDED ***
	  released a plugin for the D0 run I cone algorithms.
	  (two versions: D0RunIpre96ConePlugin and D0RunIConePlugin
	   corresponding to the code used before an dafter 1996)
	  Thanks to Lars Sonnenschein for providing the code


2010-10-13  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  temporary disabling of karnak (given nfs problems)

	* include/fastjet/PseudoJet.hh: 
	  small fix (template class name) to get compilation working with gcc-3.4

2010-10-10  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	* src/PseudoJet.cc: 
	  added extra_info_cast<T>() member function to directly get a
	  cast to the extra information in the form one needs.

	  Throws a PseudoJet::InexistentExtraInfo error (new internal
	  class, derived from Error).

	* include/fastjet/Error.hh: 
	  added a virtual destructor, so make life easier for when we want
	  to produce derived classes for errors.

2010-10-04  Gavin Salam  <gsalam@lxplus242.cern.ch>

	* autogen.sh: 
	  added comments at start as a reminder of how to run this without
	  getting configured in the process

2010-10-01  Gavin Salam  <salam@lpthe.jussieu.fr>

	* fortran_wrapper/fastjet_fortran_example.f: 
	* fortran_wrapper/fastjetfortran_v2.cc: 
	  added fastjetdmerge_(..) and fastjetdmergemax_(..) functions,
	  requested by Stefano Frixione. Showed use of them in example
	  program. 

2010-09-21  Gregory Soyez  <soyez@cern.ch>

	* include/fastjet/PseudoJetPlusInfo.hh:
	  added PseudoJetPlusInfo::extra_info that already does the
	  dynamic cast amd returns a pointer to TExtraInfo

	* include/fastjet/PseudoJet.hh:
	  added a 'const' version of extra_info_shared()

	* include/fastjet/PseudoJetPlusInfo.hh:
	  - added a copy ctor from a "regular" PseudoJet. The extra
	    information is copied from the PJ if available and of the
	    correct format.
	  - added a 'convert_to_vector<T,U> that copies a vector of type
	    U to a vector of type T (provided t=u works)

2010-09-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_example.cc: 

	  removed testing line accidentally left in (printing of
	  unavailable areas) that caused the example program to fail.

2010-09-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_example.cc: 
	* example/fastjet_areas.cc: 
	* example/fastjet_subjets.cc: 
	* example/fastjet_boosted_higgs.cc: 
	* example/fastjet_timing.cc: 
	* example/fastjet_timing_plugins.cc: 
	* example/fastjet_subtraction.cc: 

	  switched these over to new form of access to jet
	  information.

	* src/PseudoJet.cc: 
	* include/fastjet/PseudoJet.hh: 
	  added the validated_cs() and validated_csab() methods (intended
	  mainly for internal use), which return pointers to the associated
	  ClusterSequence (and ClusterSequenceAreaBase) objects if
	  possible, otherwise throw an error.

	  All methods that provide information from the cluster sequence
	  now go through these methods (and so throw errors when they
	  can't return sensible information).

	  Also added the exclusive_subjet (etc) series of methods

2010-09-16  Gregory Soyez  <soyez@cern.ch>

	* include/fastjet/PseudoJet.hh:
	  removed the access to the shared ptr to the associated csw

	* include/fastjet/internal/IsBase.hh:
	  moved to the internal headers folder

	* include/fastjet/internal/DerivedPseudoJetHelper.hh:
	  renamed PseudoJetPlusInfoHandler into DerivedPseudoJetHelper
	  plus moved it in the internal headers folder

	* include/fastjet/ClusterSequenceWrapper.hh:
	  placed things in the fastjet namespace

	* include/fastjet/PseudoJet.hh (PseudoJet):
	  simplified the ctor with initialisation from a generic 4-vector

	* Doxyfile and most of the headers,
	  Doxyfile-devel                                 *** ADDED ***
	  Doxygen documentation cleaning:
	  - classified the classes into modules (see base.hh for the list)
	  - added an internal tag (internal_doc) to allow removing
	    classes from the public page
	  - removed undocumented classes and private class members from
	    the public doxygen doc.
	  - added a Doxygen-devel file that (on top of the public/default
	    doc) includes internal classes and private member.


2010-09-15  Gregory Soyez  <soyez@cern.ch>

	* include/fastjet/Makefile.am:
	  added the new headers to the list of installed files

	* include/fastjet/PseudoJetPlusInfo.hh:          *** ADDED ***
	  This is a generic template class that allows to build
	  PseudoJet carrying extra information. You'd basically
	  define a
	    class MyExtraInfo : public PseudoJet::ExtraInfo{};
	  then use
	    PseudoJetPlusInfo<MyExtraInfo> instead of PseudoJet

	  The implementation allows one to copy from PseudoJetPlusInfo to
	  PseudoJet without any loss of information (e.g. you can copy,
	  element by element, a vector of PseudoetPlusInfo into a vector
	  of PseudoJet and pass it to a ClusterSequence without loosing
	  the original ExtraInfo).
	  Memory is managed internally so you can easily use the extra
	  information if you define your own recombiner.

	* include/fastjet/PseudoJet.hh:
	  added support to carry extra info.  It is stored as a shared
	  pointer of a dummy type ExtraInfo. A generic extra information
	  can be stored by deriving a class from ExtraInfo.

	* include/fastjet/PseudoJetPlusInfoHandler.hh:   *** ADDED ***
	  This class is a helper to allow to disantangle in the
	    template<T> PseudoJet::PseudoJet(T &some_four_vector)
	  between the situation where T just implements T[0--3] and
	  the case where T is derived from PseudoJet (and thus may carry
	  extra information)

	* include/fastjet/IsBase.hh:                     *** ADDED ***
	  added a class (mostly borrowed from TR1 and boost), that allows
	  to check whether a given pair of typed are a based class and a
	  class derived from it.

	* include/fastjet/PseudoJet.hh
	  src/PseudoJet.cc:
	  added associated_cluster_sequence_shared() that returns a
	  reference to the shared pointer holding the
	  ClusterSequenceWrapper

	* include/fastjet/ClusterSequenceWrapper.hh:     *** ADDED ***
	  moved the ClusterSequenceWrapper class in its own header

2010-09-06  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* regression-tests/nightly-check.pl:
	  pointed to a new installaion of CGAL (note: this could be done
	  through the CGAL_DIR environment var as it was done before)

2010-08-30  Gregory Soyez  <soyez@cern.ch>

	* INSTALL:
	  Fixed default description of static/shared-lib build

2010-08-09  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  _reset_indices now also resets the _associated_csw (mainly so
	  that reset() does the expected thing).

	* include/fastjet/SharedPtr.hh: 
	  for testing purposes, added an option (if you define
	  USETR1SHAREDPTR) in which SharedPtr basically wraps the STL TR1
	  shared_ptr.

2010-08-08  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequenceAreaBase.cc: 
	  subtracted_jet now transfers information about the csw too

	* include/fastjet/PseudoJet.hh: 
	  added associated_csw() to retrieve information about the cs

2010-07-29  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  more organisation of documentation.

2010-07-28  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	  added more info in the \mainpage section

	* include/fastjet/PseudoJet.hh: 
	  starting to group some of the member functions; but not yet very
	  successful. 

2010-07-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* AUTHORS: 
	  realised authors was very out of date, so updated it.

2010-07-14  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* include/fastjet/PseudoJet.hh:
	  added a virtual destructor; declared the methods that access the
	  associated CS as virtual too (for inheritance purposes).
	  Negligible speed impact; ~3-5% cost in memory.

2010-07-12  Gregory Soyez  <soyez@cern.ch>

	* src/PseudoJet.cc:
	  used a ctor with initialisation for returning 0 PJs when the CSW
	  is not available.

	* include/fastjet/PseudoJet.hh, src/PseudoJet.cc:
	  added support to acces the area properties.

	* src/ClusterSequence.cc, include/fastjet/ClusterSequence.hh:
	  added a 'transfer_ownership' flag to CS::transfer_from_sequence
	  (true by default.) That way, the CS associated to the jets of
	  the CS is the new one.

	* src/PseudoJet.cc, include/fastjet/PseudoJet.hh,
	  src/ClusterSequence.hh:
	  . replaced _parent_cs by _associated_csw and likewise changes in
	    the varisou methods.
	  . added a PseudoJet::set_associated_csw. That allows to remove
	    the friendship to CS in PJ.
	  . moved CSWrapper to PseudoJet (avoids incomplete type warnings)

2010-07-12  Gregory Soyez  <soyez@cern.ch>

	* src/ClusterSequence.cc (ClusterSequence):
	  bug fixed: made sure that _wrapper_to_this "exists" before
	  setting its internal CS pointer to NULL

	* src/PseudoJet.cc (has_parent_cluster_sequence):
	  simplified the test


2010-07-12  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* ISSUES: *** ADDED ***
	  some thoughts on structure of CSW use etc.

	* include/fastjet/ClusterSequence.hh:
	* include/fastjet/PseudoJet.hh:
	  minor changes to coding style / comments.

	* src/ClusterSequence.cc:
	  changed const properties of CSWrapper

	

2010-07-12  Gregory Soyez  <soyez@cern.ch>

	* src/ClusterSequence.cc, src/ClusterSequence_TiledN2.cc,
	* plugins/EECambridge/EECambridgePlugin.cc, include/fastjet/NNH.hh,
	* include/fastjet/internal/ClusterSequence_N2.icc:
	  SharedPointer adds an implementation of 'swap' in the fastjet
	  namespace. For code inside 'namespace fastjet{...}', the
	  std::swap() thus has to be specified explicitly (Note: if you just
	  have 'using namespace std; using namespace fastjet;' (i.e. use the
	  fastjet namespace but don't put your code inside it), then you can
	  call the swap functions from both std and fastjet without
	  explicitly specifying the namespace.

	* include/fastjet/PseudoJet.hh, src/PseudoJet.cc:
	  added a list of methods giving access to the info in the parent
	  ClusterSequence (if any): has_parent_cluster_sequence(),
	  parent_cluster_sequence(), has_partner(), has_child(),
	  has_parents(), contains(), is_inside(), constituents()

	* include/fastjet/PseudoJet.hh, include/fastjet/ClusterSequence.hh,
	* src/ClusterSequence.cc:
	  added a ClusterSequenceWrapper class that contains a pointer to
	  a ClusterSequence. Then, added a SharedPointer to such an object
	  both in ClusterSequence and PseudoJet. All the PseudoJet's created
	  within a ClusterSequence are thus given access to that parent
	  ClusterSequence through the shared pointer (_parent_cs in
	  PseudoJet). When the ClusterSequence goes out of scope, the
	  pointer in the common wrapper object is set to NULL so all
	  PseudoJet's can avoid accessing it.

	* include/fastjet/SharedPtr.hh:
	  included cstdlib


2010-03-31  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_timing_plugins.cc (print_jets):
	  output constituent index as well.

	* fortran_wrapper/fastjetfortran_v2.cc:  *** COPIED from fastjetfortran.cc ***

          an attempt at version 2 of the fortran wrapper, which
	  centralises some of the housekeeping calls and adds access to
	  constituents; tested that jet results are the same as for the
	  original version of the fortran wrapper
	
	* fortran_wrapper/fastjet_fortran_example.cc:
	  adapted it to show constituents (v2 feature)

	* fortran_wrapper/Makefile.alt:
	  now uses _v2

	* fortran_wrapper/Makefile.am (EXTRA_DIST):
	  added fastjetfortran_v2.cc

2010-03-24  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	  removed the commented (unused) GenBriefJet code.

2010-03-10  Gregory Soyez  <soyez@cern.ch>

	* include/fastjet/SharedPtr.hh:
          removed internal get_pointer() (use get() instead), made
	  get_container() private (_get_container())

	* include/fastjet/SharedPtr.hh:
	  Apart from a few things like
	   - the support for deleter/allocator
	   - the initialisation from a weak_ptr or auto_ptr
	   - the {static,const,dynamic}_pointer_cast
	  the implementation seems to match the standard.

	  Note, *_pointer_casts would require the constructor
	    template<class Y>
	    SharedPtr(SharedPtr<Y> & share, T * ptr);
	  which stores T but shares the counter with 'share'
	  This would probably require a __SharedCounter detached
	  from __SharedCounterPtr, so we postpone it for the moment


2010-03-09  Gregory Soyez  <soyez@cern.ch>

	* include/fastjet/SharedPtr.hh (SharedPtr):
	  Start getting closer to the boost implementation...

	* include/fastjet/SharedPtr.hh (SharedPtr):
	  replaced the previous smart_ptr with a new SharedPtr:
	   - more generic implementation rather than sth tuned for a
	     specific situation
	   - removed the owner part (to be dealt with in an intermediate
	     class
	   - manage the object it's pointing to (i.e. deletes it when
	     counts==0)
	   - used standard fastjet coding conventions

2010-03-09  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/smart_ptr.hh: 
	  added an operator*

2010-03-08  Gregory Soyez  <soyez@cern.ch>

	* include/fastjet/smart_ptr.hh (smart_ptr):
	  added a template class to handle smart pointer (see description
	  in the header)

2010-03-08  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* m4/CGAL.m4:
	  force the use of C++ language for the AC_CHECK_LIB test.
	  In that case, arguments passed through CXXFLAGS are used
	  automatically without having to set them again in CFLAGS.

2010-03-08  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/PseudoJet.cc:
	* include/fastjet/PseudoJet.hh:

	  phi and rapidity are now no longer cached on construction of the
	  PseudoJet. Instead _phi is set to a nonsense value (-100), and
	  both _phi and _rap are calculated the first time that phi() or
	  rap() is requested.


*****************************************************
	Start of work towards FJ 2.5/3.0
*****************************************************

2010-02-26  Gavin Salam  <salam@lpthe.jussieu.fr>

	* configure.ac: 
	* CHECKLIST: 
          release of 2.4.2 carried out; switched over to 2.5-devel

2010-02-26  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  added a test with --enable-monolithic

2010-02-26  Gregory Soyez  <soyez@cern.ch>

	* Merged changes from the devel-monolithic-2.4.2 branch
	  (see the log for 2010-02-12 for details)

2010-02-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc (ClusterSequence::_print_banner): 
	  added a "flush" to the output (to avoid problems in case the
	  application is separately writing to /dev/stdout)

2010-02-12  Gregory Soyez  <soyez@cern.ch>

	* m4/plugin.m4:
	* configure.ac:
	  added a list of macros to handle the plugin configure options
	  modified the configure script accordingly

	* fastjet-config.in:
	* configure.ac:
	  added a --list-plugins option to fastjet-config that lists the
	  available plugins

        * configure.ac
          plugins/Makefile.am:
          plugins/SISCone/Makefile.am:
          plugins/CDFCones/Makefile.am:
          plugins/PxCone/Makefile.am:
          plugins/D0RunIICone/Makefile.am:
          plugins/NestedDefs/Makefile.am:
          plugins/TrackJet/Makefile.am:
          plugins/ATLASCone/Makefile.am:
          plugins/EECambridge/Makefile.am:
          plugins/Jade/Makefile.am:
          plugins/CMSIterativeCone/Makefile.am:
          added the --enable-monolithic option (off by default for the
          moment) that allows to build all the plugins in a single lib:
          libfastjetplugins.{a,so}

2010-02-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/JetDefinition.hh: 
	* include/fastjet/ClusterSequenceAreaBase.hh: 

	  removed explicit names for arguments in preprocess(jet) and a number
	  of CSAB default implementations that were not actually using
	  their arguments. This should resolve an issue of warnings reported
	  by LHCb (Stefan Roiser <Stefan.Roiser@cern.ch>)
	
2010-02-02  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  switched to 1000 event tests on tycho (32bit), karnak (mac 64
	  bit) and on pallas with intel compiler.

	* regression-tests/test-all-algs.pl:

	  Put D0RunIICone back with the default tests.
	
	  updated 1000 event d0runiicone checksum again following earlier
 	  wrong cut and paste.

2010-02-01  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl: 

	  updated checksum values for 100 and 1000 events on d0runiicone,
	  following Gregory's inclusion of -fno-inline as a default
	  compiler flag (eliminates certain damaging optimisations under
	  32 bits). 

2010-02-01  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* plugins/D0RunIICone/Makefile.am (libD0RunIIConePlugin_la_CXXFLAGS): 
	* configure.ac: 
	  added the -fno-inline option when building the D0 cone
	  plugin. This is meant to solve a bug related to the optimisation
	  of the D0 code on some platforms (apparently gcc4 on 32-bit
	  systems).
	  Notes: - if -fno-inline is not supported, disable optimisation
	           by using -O0
	         - if the user explicitly specifies CXXFLAGS on the
	           command line, these will prevail. As a noticeable
	           example, if the compiler does not support -fno-inline
	           and the used specifies CXXFLAGS="-g -O2", the -O2 will
	           prevail over the -O0,

	  Arranged a series of minor typos to clean the code.
	
2010-01-20  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* configure.ac:
	  moved AC_PROG_LIBTOOL to avoid checking for a Fortran compiler
	  when it is not needed

2010-01-20  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl (build_and_check): 
	  sorted out problems related to the output of fortran compiler
	  info. Put some tests onto tycho (32 bits).

2010-01-19  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl: 
	  allow for compressed data files. Added commented use of 10k
	  file. That was generated in same way as the default 1k file, but
	  does not currently give identical results for 1k events. Needs
	  further investigation between making it our new default file.

	  DISABLED testing of D0RunIICone temporarily, given the 64 bit
	  issues.

	* include/fastjet/ClusterSequenceArea.hh (initialize_and_run_cswa): 
	* src/ClusterSequenceArea.cc: 
	  added warning when using explicit ghosts with repeat!=1.

2009-11-19  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/internal/ClusterSequence_N2.icc: 
	* include/fastjet/ClusterSequence.hh (ClusterSequence): 

	  commented all bits of code related to GenBriefJet, which is not
	  used (following reports from Andy Buckley about missing virtual
	  destructor in that code).

2009-10-22  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequenceActiveArea.cc
	(ClusterSequenceActiveArea::_throw_unless_jets_have_same_perp_or_E): 
	  in error message, added reference to FAQ for explanations.

2009-07-08  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* Doxyfile: 
	  changed image format over to png.

2009-07-03  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  removed zetes from nightly check because it's down and added a
	  separate check on toth with gcc-3.4.

2009-06-12  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* plugins/D0RunIICone/D0RunIIConePlugin.cc (run_clustering):
	  explicitly discard empty jets (those sometimes come out of the
	  D0 code when the min_jet_Et parameter is set to 0.  This was
	  creating a segmentation fault (reported by Andy Buckley).

2009-06-10  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* include/fastjet/ClusterSequence.hh (ClusterSequence): 
	  fixed bug in exclusive_ymerge_max which was calling itself
	  rather than exclusive_dmerge_max. (Reported by Frank Siegert)

2009-05-29  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* moved SISCone back to trunk
	* switched to version 2.4.2-devel

2009-05-29  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* configure.ac: 
	  switched to version 2.4.1

	* regression-tests/nightly-check.pl: 
	  added -only XX option for running just the test with index XX
	
	* fastjet-config.in: 
	  ensured that --rpath=no removes the RPATH that is there with CGAL.

2009-05-29  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* fastjet-config.in:
	  fixed the returned compilation flags for
	  fastjet-config --cxxflags --libs
	

2009-05-28  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* configure.ac: 
	  if CGAL is explicitly requested and not found (or not functional),
	  return an error (and exit)

	* regression-tests/test-all-algs.pl (setRefResults): 
	  added checksums for PxCone

	* src/ClusterSequenceAreaBase.cc (get_median_rho_and_sigma),
	  include/fastjet/ClusterSequenceAreaBase.hh:
	  disregarded jets with 0 area in the computation of the median
	  rho and sigma. Added a warning wheh a 0-area jet is
	  encountered.
	

2009-05-28  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* example/fastjet_timing_plugins.cc: 
	* regression-tests/test-all-algs.pl: 
	  inexistent algs no longer crash, and real crashes are now reported
	  by test-all-algs as *** BAD (crash) ***
	
	* autogen.sh: 
	  ensured that recursion for creation of configure files is only
	  inside the plugin directory (e.g. no $srcdir/tmp-* directories)

	* regression-tests/nightly-check.pl: 
	  simplified output of fail messages;
	  now if update changes the nightly check, then it reruns itself;
	  it should now also output a summary message about what it has done

2009-05-28  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* configure.ac:
	  moved the test for Fortran at a more flexible and nice-looking place.

	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh (ClusterSequenceAreaBase): 
	  commented out ghost_area()

	* fastjet-config.in:
	  --rpath set to the form --rpath[=yes|no] (yes by default).

	* configure.ac:
	  . enabled shared libs by defaut (following a long discussion
	    regarding static vs. shared libraries, we finally decided to
	    make a minimal modification compared to the previous release,
	    i.e. keep shared libraries on). 
	    By default, shared libs will be built and used and a -rpath
	    will be added. You can switch back to static libs by adding
	    --shared=no to fastjet-config. The rpath can be removed using
	    --rpath=no or turned into a runpath using --runpath (ELF
	    platforms only)
	  . set a CONFIG_CXXFLAGS variable that allows one to specify the
	    compilation arguments in fastjet-config independently of the
	    ones used to compile fastjet.
	
2009-05-27  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  added facility for running some of the tests on remote hosts,
	  and included a bunch of remote runs by default.  Also set up a
	  fairly long series of combinations that will be tested...

2009-05-26  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  made it possible to have several set of configure/link/nev
	  options within a single run (e.g. to test out-of-the box
	  running, as well as a configure with full set of algs).

	  Current tests include:
	  - out-of-the-box
          - all cxx plugins + CGAL
	  - shared enabled, static disabled, wtih --runpath
	
2009-05-26  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* fastjet-config.in:
	  fixed a typo with the runpath argument
	  allows use of --cxxflags and --libs at the same time

2009-05-26  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* configure.ac: 
	  following Gregory's suggestion, fixed a typo related to
  	  temporary CXXFLAGS (this solves a problem on testing some
	  algs, which seems to have been related to marginally different
 	  handling of floating point operations). 

2009-05-25  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* fastjet-config.in (Usage): 
	  added support for a --rpath and a --runpath option to
	  fastjet-config

	* configure.ac: 
	  . switched back to static libs by default
	  . check if the compiler/linker supports -Wl,-enable-new-dtags
	    i.e. add support for the runpath (on supported platforms)

2009-05-25  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequenceArea.hh: 
	* include/fastjet/ClusterSequenceActiveArea.hh: 
	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh: 
	* src/ClusterSequenceActiveAreaExplicitGhosts.cc: 
	* src/ClusterSequenceActiveArea.cc: 

	  renamed area_spec -> ghost_spec, in a few places where they
	  won't affect users (but this helps readability)
	

	* fortran_wrapper/fastjetfortran.cc: 
	* fortran_wrapper/fastjet_fortran_example.f: 

	  changed interface so that we have generalised kt
	  (fastjetppgenkt_) as the main way of accessing the
	  seq.rec. algorithms.

2009-05-21  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_timing_plugins.cc (print_jets_and_sub): 
	  expanded output on the -subdcut flag.

	* src/ClusterSequence.cc (ClusterSequence::exclusive_subdmerge_max): 
	  added some comments about output (zero) when nsub >= number of constituents
	
2009-05-20  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* fortran_wrapper/fastjetsiscone.cc: *** DELETED ***
	* fortran_wrapper/fastjetfortran.cc: *** ADDED ***
	* fortran_wrapper/fastjet_fortran_example.f: (was siscone_example.f)	
	
	  extended the wrappers to have some seq.rec. pp algorithms as well
	
2009-05-10  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* autogen.sh: 
	  fixed a sh script problem (replaced [[ "x"=="y" ]] w [ "x"="y" ])

	* src/Makefile.am, example/Makefile.am,
	  plugins/usage_examples/Makefile.am,
	  plugins/D0RunIICone/Makefile.am, plugins/SISCone/Makefile.am,
	  plugins/Jade/Makefile.am, plugins/CDFCones/CDFcode/Makefile.am,
	  plugins/CDFCones/Makefile.am, plugins/NestedDefs/Makefile.am,
	  plugins/CMSIterativeCone/Makefile.am,
	  plugins/TrackJet/Makefile.am, plugins/EECambridge/Makefile.am,
	  plugins/ATLASCone/Makefile.am, plugins/PxCone/Makefile.am,
	  include/fastjet/internal/Makefile.am:
	  replaced a bunch of ${VAR} by $(VAR)
	
	* configure.ac:
	  - specified the tar-ustar option for automake. This solves a
	    problem with filenames of length larger than 99 that were not
	    included in the distribution under Ubuntu.
	  - moved F77 to FC (and related) so that gfortran is
	    automatically detected if available.	
	  - added a bunch of comments regarding the recommendation to use
	    AC_CONFIG_MACRO_DIR([m4]) in the latest libtool
	    versions. Nothing is done (and justified!)
	
	
2009-05-10  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/ATLASCone/fastjet/ATLASConePlugin.hh: 
	* plugins/ATLASCone/ATLASConePlugin.cc: 
	  added R,seedPt,f to description + removed extraneous headers

	* plugins/TrackJet/fastjet/TrackJetPlugin.hh: 
	* plugins/TrackJet/TrackJetPlugin.cc: 
	  moved some headers out of .hh into .cc

	* plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh: 
	* plugins/CMSIterativeCone/CMSIterativeConePlugin.cc
	  fixed description so that it includes the radius and seed
	  threshold + removed extraneous headers.

2009-05-08  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  added some comments for how this might evolve in future

2009-05-08  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

	* example/fastjet_example.cc:
	* example/fastjet_subjets.cc:
	* example/fastjet_timing.cc:
	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh:
	* plugins/usage_examples/run_jet_finder.cc:
          added #include <cstdio> for compatibility with g++-4.4
          (pointed out by <peter.elmer@cern.ch>

2009-05-07  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  put back the svn update lines.

2009-05-01  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  removed the --enabled-shared option in the configure; 

	* moved siscone back over to the trunk...

2009-04-29  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh (ClusterSequenceAreaBase): 
	  added a ghost_area() method to get the info about the ghost area
	  used with this clusterSequence

2009-04-29  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	* src/ClusterSequence_N2.cc: 
	* include/fastjet/ClusterSequence.hh: 

	  replaced void ClusterSequence::_dummy_N2_cluster_instantiation()
	  (dummy instantiation of template to make it available elsewhere)
	  with _simple_N2_cluster_BriefJet() and
	  _simple_N2_cluster_EEBriefJet() (they are to be called and
	  should directly run the template).

	
2009-04-27  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* src/ClusterSequence.cc:
	  restored the warning about dangerous request for exclusive 
	  jets (removed earlier today) with a more reasonnable
	  list of algorithms for which no warnings are given.

	* include/fastjet/JetDefinition.hh: 
	* plugins/Jade/fastjet/JadePlugin.hh: 
	* plugins/EECambridge/fastjet/EECambridgePlugin.hh: 
	  added a 'exclusive_seqence_meaningful' member allowing to know
	  if a plugin gives meaningful exclusive jets (default=false). 
	  Set to true in Jade and EECambrigde.
	
	* configure.ac: 
	  include/fastjet/config_win.h:
	  DoxyFile:
	  switched version number to 2.4.1-devel

	* test-compare.sh:
	  discard lines with "WARNING" (occurs in non-predictable
	  positions due to flushing issues)

	* src/ClusterSequence.cc:
	  removed the WARNING previously given when extracting exclusive
	  jets for algorithms other than pp and e+e- kt

	
2009-04-16  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* plugins/SISCone/fastjet/SISConeBasePlugin.hh: 
	  Switched back to an implementation without templates
	  (we're now using virtual function overloading)

	* plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh:
	  Added a plugin for the CMS iterative cone
	  (see plugins/CMSIterativeCone/README for details)
	  
2009-04-13  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh (dot_product): 
	  added dot_product binary operator...

2009-04-10  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* m4/CGAL.m4: 
	  updated comments to make it clearer what goes with 3.3.x v. 3.4.

2009-04-06  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* src/ClusterSequenceAreaBase.cc: 
	* include/fastjet/ClusterSequenceAreaBase.hh: 
	  changes to comments
	
	* doc/fastjet-doc.tex: 
	  sorted out a few details here and there about local ranges, and
	  added info on running with hard jets excluded.
       
	
	* include/fastjet/CircularRange.hh: 
	  added check that a center has been properly defined

2009-03-31  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_timing_plugins.cc (main): 
	  move root printout in with main jet printout (so you can get
	  root even for exclusive jets)

2009-03-18  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* src/ClusterSequence.cc (ClusterSequence::add_constituents): 
	  When the jet is made of a single particle, add explicitly that
	  particled instead of the given 'jet'. This ensures that calling
	  add_constituents with a subtracted jet containing only one
	  particle will work.    

2009-03-11  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* m4/CGAL.m4
	  m4/compiler_flags.m4:             *** ADDED ***
	  check if the compiler supports -frounding-math
	  (for the moment, just discard it if it's not supported)
	

2009-03-11  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  switched over to using CGAL 3.4.

	* plugins/CDFCones/fastjet/CDFJetCluPlugin.hh: 
	  removed default overlap for jetclu...

	* set svn:keywords to be "Id" on a bunch of files where this was
	  missing 

2009-03-07  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* plugins/Jade:                      *** ADDED *** 
	  Added a plugin for the JADE algorithm

	  It is an e+e- sequential recombination algorithm with
	  interparticle distance
	      dij = 2 E_i E_j (1 - cos theta_ij)
	  or equivalently
	      yij = dij/E_{visible}^2
	
	  This corresponds to the distance measured used in
	    "Experimental Investigation of the Energy Dependence of the
	    Strong Coupling Strength."  JADE Collaboration (S. Bethke et
	    al.)  Phys.Lett.B213:235,1988
	
	  The JADE article carries out particle recombinations in the
	  E-scheme (4-vector recombination), which is the default
	  procedure for this plugin.
	
	  NOTE: other widely used schemes include E0, P, P0; however they
	        also involve modifications to the distance measure. Be
	        sure of what you're doing before running a JADE type
	        algorithm.
	
	  To access the jets with a given ycut value (clustering stops
	  once all yij > ycut), use
	      vector<PseudoJet> jets = cluster_sequence.exclusive_jets_ycut(ycut);
	  and related routines.
	

2009-03-02  Gavin Salam  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl: 
	  fixed commented entry for d0runiicone with 10events

2009-03-02  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* configure.ac: 
	  Added options --enable-allplugins and --enable-allcxxplugins
	  Allow to enable all the (CXX) plugins at a go.
	
	  We do actually only change the set of default values, so
	  combinations like
            ./configure --enable-allplugins --disable-pxcone
	  will enable everything but PxCone
	
	  On top of that, --disable-all(cxx)plugins is automatically
	  defined by autoconf Therefore, we implement it so as it does
	  what it is supposed to do i.e. disable all the plugins. Again,
	  --disable-allplugins --enable-siscone will work and just enable
	  the SISCone plugin


2009-02-18  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* m4/CGAL.m4: put the resulting info on CGAL compilation
	  requirements into CGAL_xyz variables rather than the global
	  vars.


2009-02-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/NNH.hh: 
	  modified this so that one can now also use NNH<BJ,Info> where
	  Info is an information class. One then uses the constructor
	  
              NNH<BJ,Info>(const vector<PseudoJet> & particles, Info * info)
     
	  and the briefjets get initialised via the call
	
	      BJ->init(const PseudoJet & jet, Info * info)

	  if you want to make sure that info does get modified, use
	  NNH<BJ, const Info>. 

	  The original NNH<BJ> continues to work without the Info in the
	  constructors/initialisation calls.
	

2009-02-13  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* example/fastjet_timing_plugins.cc (main): 
	  added a -ycut comand-line argument

	* plugin/EECambridge: *** ADDED ***
	  Added a plugin for the e+e- Cambridge algorithm.
	  Default: enabled.
	  This plugin takes ycut as a parameter.

	* plugins/ATLASCone: *** ADDED ***
	  Added a plugin for the e+e- Cambridge algorithm.
	  Default: disabled.
	  This plugin takes as a parameter a cone radius, a seed
	    threshold (2.0 GeV by default) and an overlap
	    threshold (default:0.5). See the header file for a comment on
	    the default values.

	  This plugin is derived from the SpartyJet implementation of the
	  ATLAS cone algorithm.
	

2009-02-12  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* m4/CGAL.m4: added support for CGAL 3.4 (and cleaned)
	  A Makefile can still be provided using the
	  --with-cgalmakefile=...  option, so backward compatibility is
	  not broken. On top of that, a path to an installation of CGAL
	  can be specified using --with-cgal-directory=PATH in which case
	  the headers and lib will be searched in PATH/include and
	  PATH/lib respectively. Finally, if no argument (except
	  --eanble-cgal) are specified, CGAL is searched in standard
	  locations.
	
	* makefile.static: added support for CGAL 3.4
	  this is done in line with CGAL.m4 by allowing the specification
	  of a CGAL_DIRECTORY instead of the CGAL_MAKEFILE variable.
	  

2009-02-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc (ClusterSequence::_initialise_and_run): 
	  arranged for ee algos with an R value to behave sensibly when
	  R > pi (i.e. last pair of particles gets recombined into one).

	* example/fastjet_example_v1_interface.cc -> example/graveyard
	* example/Makefile.am: 
	  moved fastjet_example_v1_interface into the graveyard (no
	  longer 
	
	* example/fastjet_timing_plugins.cc: 
	  tried to improve documentation of various options and added
	  -excly; -ee-print for printing jets in terms of px,py,pz,E; 	
	  common output file for a range of jet output options.
	
	* include/fastjet/ClusterSequence.hh: 

	  added exclusive_ymerge, exclusive_ymerge_max,
	  n_exclusive_jets_ycut, exclusive_jets_ycut so as to provide more
	  helpful access to things in e+e- Jade and kt algorithms

	* moved  plugins/Jade/NNH.hh -> fastjet/include/NNH.hh
	  so as to make it available to other algorithms too
	
	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence.cc (ClusterSequence::_fill_initial_history): 
	  added Q() to return total energy in the event (relevant for e+e-)

	
2009-02-11  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/internal/ClusterSequence_N2.icc: *** ADDED ***
	* include/fastjet/ClusterSequence.hh
	* src/ClusterSequence_N2.cc
	* include/fastjet/internal/Makefile.am

	  reorganised things internally so that plugins should now have
	  access to the templated N2 implementation.
	
2009-02-10  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh (class PseudoJet): 
	  removed some consts following PAD's report of compilation
	  warnings un gcc 4.3 (with fastjet-2.3.4).

2009-01-26  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* Doxyfile: 
	  updated to avoid warnings with doxygen 1.5.7

2009-01-23  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* experimental/coding-guidelines.txt:   *** ADDED ***
	  following GS's suggestion...

2009-01-21  Matteo Cacciari <cacciari@lpthe.jussieu.fr>
        
        * include/fastjet/RangeDefinition.hh and CircularRange.hh
          Reinstated set_position(), added is_localizable() to base
          class (RangeDefinition) and derived one (CircularRange)


2009-01-16  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* for each plugin, put everything under the namespace 
	    fastjet::<plugin_name>
	  to avoid any conflict with other codes
	
	
	* plugins/TrackJet/fastjet/TrackJetPlugin.hh 
	  plugins/TrackJet/TrackJetPlugin.cc 
	  plugins/NestedDefs/fastjet/NestedDefsPlugin.hh
	  plugins/NestedDefs/NestedDefsPlugin.cc: 
          aligned with previous naming conventions (i.e. used _var for
	  private vars)
	

	* test-compare.sh:
	  extended the check down to pt=0 (instead of only jets with pt>5)

	
2009-01-16  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* example/fastjet_timing_plugins.cc: 
	  adapted this to use modern forms of constructors

	* include/fastjet/JetDefinition.hh: 
	* src/JetDefinition.cc: 
	  put in a constructor without R (for eekt) and a default
	  constructor, as well as a check that the jet algorithm has been
	  constructed with the right number of parameters.

	  *** BACKWARDS COMPATIBILITY BREAK ***
	      CALLING USUAL PP JET ALGS WITH NO R NOW
	      GIVES A RUN-TIME ERROR.
	
	* test-compare.sh: 
	  fixed problem with pxcone mixing f77/c++ output order according
	  to system, which caused problems in make check

	* plugins/D0RunIICone/D0RunIIConePlugin.cc: 
	  Attempt to sort out compilation problem on a mac


2009-01-15  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* include/fastjet/PseudoJet.hh (class PseudoJet): 
	  added Et() and Et2() to compute the transverse energy
	

2009-01-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex (subsection{SISCone Plugin}): 
	* plugins/SISCone/SISConePlugin.cc (SISConePlugin::description): 
	* plugins/SISCone/SISConeSphericalPlugin.cc (SISConeSphericalPlugin::description): 
	* plugins/SISCone/fastjet/SISConeBasePlugin.hh: 

	  extras now contains a function int pass(jet), which returns the
	  pass of the jet; 

	  added function to set, query the use of the jet-definition's own
	  recombiner (which then overrides the presence of the pass in the
	  jets' user-index).

	  documented the whole lot.

	* example/fastjet_timing_plugins.cc: 
	  -cones also prints out passes of jets, user-index, etc.

2009-01-14  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* test-compare.sh: 
	  added options to specify additional params
	  added options to specify another event
	  added genkt, eekt and eegenkt
	  
	  added multiple values of R
	

	* configure.ac: 
	  even though they're enabled by default, AM_ENABLE_SHARED has to
	  be called so that ${enable_shared} is set to 'yes' instead of ''
	

	* test-compare.sh:
	  - dealt with a missing ${srcdir}
	  - cleaned a bit more the output
	

2009-01-13  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* configure.ac: 
	  switched shared libs to enabled by default 
	  note that the static libs are also built. 


2009-01-13  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* src/ClusterSequence.cc: 
	* src/ClusterSequenceVoronoiArea.cc: 
	* src/ClusterSequenceActiveArea.cc: 

	  made modifications to allow zero-particle events to work
	  fine. Tested various areas, as well as plain runs, including
	  plugins (or at least SISCone).
	
	* src/ClusterSequence_TiledN2.cc: 
	  added a lower limit on the tile size to avoid huge memory use
	  with tiny jet radii.

	* include/fastjet/RangeDefinition.hh: 
	  removed set_position and associated variables (will go back in
	  -> 2.5)

2009-01-13  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* test-compare.sh 
	  test-script-output-orig.txt: 
	  used now fastjet_timings_plugin rather than many_algs_examples
	  to test the output of each installed algorithm/plugin.

2009-01-12  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc (ClusterSequence::_initialise_and_run): 
	  changed the transition N for the anti-kt algorithm to
	  35000/R^1.15 (based only on R=0.7)
	

	* regression-tests/nightly-check.pl: 
	  added --enable-shared, to test that Gregory's new option works
	  fine (probably want a manual test anyway...)

2009-01-11  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* include/fastjet/RangeDefinition.hh (class RangeDefinition):  
	  - initialised _phispan in the default constructor
	  - bound the phi range to twopi in the computation of total_area

2009-01-09  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* include/fastjet/RangeDefinition.hh (class RangeDefinition): 
	  sorted out the issue of periodicity for generic phi ranges.
	

2009-01-09  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl (setRefResults): 
	* doc/fastjet-doc.tex
	* src/ClusterSequence.cc: 

          switched R in eegenkt to be in radians, not
	  sqrt(2(1-\cos\theta))!! Updated docs and regression tests also,
	  and deposited test results in in usual place, 
	  ~salam/work/fastjet/validation-ref-2008-10-30
	
	* example/ktjet_timing.cc: 
	  added -get-all-dij option to print out the full list of dij
	
	* example/fastjet_timing_plugins.cc: 
	  added -get-all-dij option to print out the full list of dij
	  + fixed up up output on -excld (removed squared pt)
	  
	  Ran tests on 1k events 

	./fastjet_timing_plugins -nev 1000 -eekt -get-all-dij < ../../data/Pythia-PtMin1000-LHC-1000ev.dat | grep '^d for'
	./ktjet_timing           -nev 1000 -eekt -get-all-dij < ../../data/Pythia-PtMin1000-LHC-1000ev.dat | grep '^d for'

	  and it passed it fine (modulo some small rounding error issues
	  here and there.
	
	
2009-01-05  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* plugins/TrackJet/TrackJetPlugin.cc: 
	  released the TrackJet plugin.
	  Adapted many_algs_examples, fastjet_timing_plugins and
	  all build scripts accordingly
	

2008-12-18  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/test-all-algs.pl: 
	  added documentation on how to add a new algorithm.

	* regression-tests/nightly-check.pl: 
	  adding a little more info to output

2008-11-17  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/RangeDefinition.hh: 
	  added a check that phimax <= twopi in constructor

2008-10-31  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: 
	  finished a first version of this, with a fairly complete set of
	  checks.

2008-10-30  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/nightly-check.pl: *** ADDED ***

	  started work on this script for running a full swathe of regular
	  checks

	* regression-tests/test-all-algs.pl: *** ADDED ***
	  
	  script to help test correctness of fastjet, by running many algs
	  and, for each, comparing checksum of numerical part of results
	  to a previously stored checksum.

	* example/fastjet_timing_plugins.cc: 
	  various small changes to ease test-all-algs.pl behaviour

2008-10-30  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * include/fastjet/RangeDefinition.hh:
	  replaced methods place_at() and place() with set_position()

2008-10-29  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo 

	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh: 
	* include/fastjet/ClusterSequenceAreaBase.hh: 
	* include/fastjet/ClusterSequenceArea.hh: 

	  added a virtual function has_explicit_ghosts(), which returns
	  true if the clusterSequence has explicit ghosts within the jets.

	* src/ClusterSequenceArea.cc: 
	  
	  if has_explicit_ghosts() is true, then don't bother with fancy
	  estimations of empty_area in
	  get_median_rho_and_sigma(...). Instead set it to zero, and
	  assume that the corresponding information is provided by the
	  pure ghost jets.

          NB: the empty_area(range) routine also returns zero if
	  has_explicit_ghosts(); the empty_area(jets, range) does not, on
	  the grounds that the user may have deliberately passed some
	  incomplete set of jets within the range.
	
2008-10-27  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	
	  updated banner link to www.fastjet.fr

2008-10-13  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * include/fastjet/RangeDefinition.hh
          Added method place_at(jet) and place_at(rap,phi), to be used by
          derived local ranges to place the range at a jet's position,
          after having defined the range only once with just its
          geometrical parameters. Moved _rapjet and _phijet from
          private to protected. Correspondingly modified CircularRange.hh
	
2008-10-09  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_boosted_higgs.cc:     *** ADDED ***
	* example/data/HZ-event-Hmass115.dat:  *** ADDED ***
	* example/Makefile.am: 
	* example/data/Makefile.am: 

	  added an example to show how to carry out subjet decomposition
	  for finding boosted objects
	
	* example/Makefile.am: 
	* example/fastjet_subjets.cc: 
	  tidied this up a little & arranged for it to be compiled

2008-09-04  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* plugins/CDFCones/CDFJetCluPlugin.cc: 
	  in transfer part of plugin, sorted the constituents of a jet (into
 	  ascending fjindex), to work around the problem that JetClu may
	  return constiuents in different orders when soft ghost-particles
	  are added.

	  Note: JetClu seems to be IR unsafe (at the 10^{-4} level in toy
	  events) even when the seed threshold is non-zero. The frequence
	  is higher in real events and means that passive areas, and
	  active areas with repeat > 1, will throw fastjet::Error(...);
	  users should catch this if they want to continue running.

	  tested on 1k events against unmodified jetclu plugin in 2.3.4

-----------------------------------------------
released 2.3.4 on 2008-08-15
it contains jetclu & "exit" bug fixes from below + siscone 1.3.3
-----------------------------------------------	

2008-08-15  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/CDFCones/CDFJetCluPlugin.cc: 
	  switched over to the use of PhysicsTower::fjindex for
	  bookkeeping a jet's contents (rather than a map, which had led
	  to a bug report by James Monk).
	
	* plugins/CDFCones/CDFcode/PhysicsTower.hh (class PhysicsTower):
	  add fjindex member variable to this class to allow bookkeeping
	  needed by the JetClu plugin.


2008-08-11  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/GhostedAreaSpec.hh (class GhostedAreaSpec): 
	* src/GhostedAreaSpec.cc (GhostedAreaSpec::add_ghosts): 

	  added constructor and implementation for asymmetric ghost range
	  (different min & max rapidities), following request by Roman
	  Kogler <roman.kogler@desy.de> (H1 is asym in rap).

	* example/fastjet_timing_plugins.cc: 	

	  dense coverage switched over to using GhostedAreaSpec (will
	  change root pictures relative to earlier), used also for testing
	  the new asymmetric range of ghosts.

	
2008-08-06  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* example/fastjet_timing_plugins.cc (main): 
	  when appropriate, delete the plugin at the end of the execution.
	

2008-07-24  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * src/ClusterSequenceAreaBase.cc
          Added copy of user_index over to subtracted jet
          in subtracted_jet() [previously fogotten]


2008-07-23  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* NEWS: 
	  updated the warnings about IR safety of the spherical
	  implementation of SISCone

	* example/Makefile.am,
	  plugins/usage_examples/Makefile.am: 
	  adapted the compilation flags to use the new version of the
	  plugin (requires inclusion of the SISCone headers)

	* plugins/SISCone/fastjet/SISConeBasePlugin.hh,
	  plugins/SISCone/fastjet/SISConePlugin.hh,
	  plugins/SISCone/fastjet/SISConeSphericalPlugin.hh,
	  plugins/SISCone/SISConePlugin.cc,
	  plugins/SISCone/SISConeSphericalPlugin.cc: 
	  Added a template plugin and made the two current plugins 
	  derive from it.
	

2008-07-18  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* configure.ac: 
	  removed the unnecessary -I../included flag from AM_CXXFLAGS
	

2008-07-18  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* example/CmdLine.cc: 
	* example/CmdLine.hh: 

	  put in a missing "const" & included cstdlib in the .cc (for
	  access to exit)
	
	
2008-07-17  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* include/fastjet/Makefile.am (nodist_fastjetinclude_HEADERS): 
	  config_auto.h removed from the package distribution as it 
	  may conflict with the configure-generated one when building
	  in a separate directory.
	

2008-07-16  Gavin Salam  <salam@lpthe.jussieu.fr>

	* mksnapshot.sh: 
          included fix for ensuring the windows include file is correct in
	  the snapshot.
	
2008-07-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/PseudoJet.cc: 
	* include/fastjet/PseudoJet.hh: 
          added sorted_by_pz() (used for safety tests on new algs)
	
2008-07-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* NEWS: 
	  added mention of spherical siscone

	* example/fastjet_timing_plugins.cc:
	  added -sisconespheri option for running spherical siscone; 
	  changed scale of "dense" additions to separate them better from
	  normal particles.

	* plugins/SISCone/fastjet/SISConeSphericalPlugin.hh: 
	  added comments about differences relative to the cylindrical
	  algorithm

	  NB: some other files have changed with minor typographical fixes

2008-07-11  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* include/fastjet/ClusterSequenceAreaBase.hh:
	  added a comment to notice that putting a negative
	  value for 'exclude_above' means the cut is discarded
	  (in parabolic_pt_per_unit_area).

	* configure.ac (ENABLE_PLUGIN_SISCONE)
          examples/Makefile.am
          plugins/usage_examples/Makefile.am:
	  added libsiscone_spherical to the list of libs to link 
	  against when using the SISCone plugin.

	
2008-07-11  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * fixed CircularRange.hh (wrong filenme and missing fastjet 
          namespace)   


2008-07-07  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* plugins/SISCone/SISConeSphericalPlugin.cc: 
	  plugins/SISCone/fastjet/SISConeSphericalPlugin.hh: 
	  added a plugin for the spherical version of SISCone.
	  It is named SISConeSplericalPlugin and included in 
	  the same plugin library as the main plugin
	

2008-06-28  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* plugins/NestedAlgs/fastjet/NestedAlgsPlugin.hh
	  plugins/NestedAlgs/NestedAlgsPlugin.cc: 
	  - rename NestedAlgs in NestedDefs
	  - internally, call 'algorithms' 'definitions', for consistency
	  - do not put the last alg. recomb at the end but at the moment
	    they appear.
	  - keep the dij, diB for the last def; and set all others to
	    zero? That way people can run sub-jet tools on the last
	    jet-def without worrying about strange conflicts with the
	    previous dij's which have a different meaning.
      	  - do some renaming of the internal variables for readability


2008-06-22  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex: 
	  updated the documentation to contain information about the e+e-
	  algorithms; added note on accessing version info; 

	* src/ClusterSequence.cc: 
	  removed warning about exclusive jets for the ee_kt alg. 

	  Added test of ee_kt R value. 

	  Arranged distance-measure normalisations such that dij has 1/R^2
	  for ee_gen_kt, but not for ee_kt (the former matches on directly
	  to gen_kt, the latter onto the usual e+e- convention).

	* include/fastjet/JetDefinition.hh: 
	* src/JetDefinition.cc (JetDefinition::JetDefinition): 

          moved the code for the constructor into the .cc file; 

	  For the ee_kt_algorithm, set the R value explicitly (R=4), to
	  avoid the user getting something that isn't the original kt
	  algorithm without realising. Also removed the mention of $R$ in
	  the description.

	  NB: functionality of R for this alg can be obtained with
	  ee_genkt. 


2008-06-19  Gavin Salam  <salam@lpthe.jussieu.fr>

	* TESTING:
	  ran basic tests on behaviour of eegenkt for a set of simple
	  events; checked that eegenkt with p=1 gives same as eekt (for
	  R=2); and rechecked once again against original KtJet. 

	* include/fastjet/JetDefinition.hh: 
	  removed inappropriate restriction on R for eegenkt.


2008-06-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/JetDefinition.hh (enum JetAlgorithm): 
	* src/JetDefinition.cc (JetDefinition::description): 
	* src/ClusterSequence.cc (ClusterSequence::_initialise_and_run, inclusive_jets): 
	* src/ClusterSequence_N2.cc (ClusterSequence::_bj_set_jetinfo<EEBriefJet>):

	  added support for the ee_genkt_algorithm [should double check
	  ee_kt (some mods may have affected it, though quick tests done)
	  and check genkt more extensively [e.g. with spherical plots?]

2008-06-02  Gregory Soyez  <gsoyez@quark.phy.bnl.gov>

	* plugins/NestedAlgs/NestedAlgsPlugin.cc: 
	  Added a new plugin which does the clustering by applying
	  successively a set of algorithms.
	  The usage simply goes as follows
	    list<JetDefinition> jet_list;
	    // add here the list of algs you want (the first one
	    // you want to be applied goes first) to 'jet_list' 
	    JetDefinition jet_def = new NestedAlg(jet_list);
	    ClusterSequence(particle_list, jet_def);
	  As for the other plugins, NestedAlgs can be enabled or
	  disabled at configure-time using --enable-nestedalgs or
	  --disable-nestedalgs (enabled by default).
	
2008-05-28  Gavin Salam  <salam@lpthe.jussieu.fr>


	* plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh: 

	  Following discussions with Christophe Royon and Lars
	  Sonnenschein, removed the default value for the min_jet_Et in the
	  D0RunIIConePlugin, since two different values have been used
	  over the years.

	* test-script-output-orig.txt: 
	* example/fastjet_timing_plugins.cc: 
	* plugins/usage_examples/many_algs_example.cc: 
	  updated these to use min_jet_Et to 6 GeV (was 8) for the
	  d0runiicone 
	
2008-05-23  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/PseudoJet.cc: 
	* include/fastjet/PseudoJet.hh: 

	  Added a delta_phi_to(...) member function to calculte phi
	  distance to another PseudoJet
	
2008-05-21  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence.cc: 

	  Rather than have an inline virtual destructor, moved it into
	  the .cc file (no particular reason)
	
2008-05-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequenceAreaBase.cc: 
	* include/fastjet/ClusterSequenceArea.hh: 
	* include/fastjet/ClusterSequenceAreaBase.hh: 

	  Added an extra version of get_median_rho_and_sigma which takes
	  an explicit list of jets and calculates the median from that ---
	  intended to help easily consider multiple R values within the
	  C/A algorithm. Also added empty_area_from_jets()

	  NB: "gmrs" also takes an extra argument to indicate
	  whether the supplied jets are inclusive or not (affects
	  assumptions it makes in calculating number of empty jets)

	  NB2: when playing these games, the estimate of the number of
	  empty jets is very hard to get in "plain" area classes for
	  non-inclusive jets. Currently it's done by estimating the
	  empty_area and dividing this by the mean_area of the non-empty
	  jets; however there are situations where this procedure becomes
	  dodgy (still to be understood why)...
	
	* TODO: 
	  updated this to reflect the current status of things

2008-05-16  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* NEWS: 
	  updated this to reflect main current changes

2008-05-14  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * include/fastjet/CircularRange.hh ADDED
          added derived class for circular range
	  
2008-05-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/root/jet-plots.C: 
	  - changed histograms to doubles so that ghosting gives visible results. 
          - JetHist::default_etamax and default_nbins can now be set
            by user

	  - showjets now plots labels on axes
	  - it reads a comment from the file and uses it as a label
	    if none is supplied
          - it returns a pointer to the canvas, for user's subsequent
	    manipulation
	
	* src/ClusterSequence.cc (ClusterSequence::print_jets_for_root): 
	* include/fastjet/ClusterSequence.hh: 

          added alternative interface for print_jets_for_root, which takes
	  filename and optional comment

	* include/fastjet/ClusterSequence.hh: 

          *** COULD BREAK COMPILED LIBRARIES?? ***

	  added virtual ~ClusterSequence () {} destructor; necessary in
	  order to get deletion of pointers to generic ClusterSequence type
	  objects working correctly (e.g. ClusterSequence *, that points to
	  a ClusterSequenceArea).

	  Leaving this out originally was related to the fact that we did
	  not originally forsee derived classes from ClusterSequence.
	
-----------------------------------------------
released 2.3.3 on 2008-04-28
it contains bug fixes from below
-----------------------------------------------	

2008-04-28  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/internal/SearchTree.hh: 
	  added a missing typename (pointed out by Belyaev).

	* include/fastjet/Makefile.am (fastjetinclude_HEADERS): 
	  added config_auto.h which was not being installed.

2008-04-18  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* mksnapshot.sh: 
	  added this script for creating snapshots, numbered both with
	  date and revision number

2008-04-04  Gavin SALAM  <salam@lpthe.jussieu.fr> later

	****  TESTS CARRIED OUT ****

	  tested 1000 events from ../data/Pythia-PtMin1000-LHC-1000ev.dat
	  between fastjet_timing_plugins and ktjet_timing with dcut = 10
	  and dcut = 2000; both give identical results.

          Commands used were:
	    ./ktjet_timing -eekt -nev 1000 -excld 2000 < ../../data/Pythia-PtMin1000-LHC-1000ev.dat 
	    ./fastjet_timing_plugins -eekt -R 2.0 -nev 1000 -excld 2000 < ....

          NB: R > sqrt(2) is mandatory within the current interface
	
	* example/fastjet_timing_plugins.cc: 
	* example/ktjet_timing.cc: 
	  added e+e- kt run options to these programs

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence_N2.cc: 
	* src/ClusterSequence.cc: 

          modifications so that the _simple_N2_cluster() routine becomes a
	  template, whose action depends on specific type of BriefJet with
	  which it is called.

	  Added the EEBriefJet type, together with minimal functions, so
	  as to get a form of the e+e- algorithm.

	* include/fastjet/PseudoJet.hh
	  added the modp2() member function which returns the squared
	  modulus of the 3-vector part of the PseudoJet

	* include/fastjet/JetDefinition.hh
	  added the ee_kt_algorithm;
	
2008-04-04  Gavin SALAM  <salam@lpthe.jussieu.fr> earlier

	* plugins/CDFCones/fastjet/CDFMidPointPlugin.hh: 
	* plugins/SISCone/fastjet/SISConePlugin.hh: 
	  removed the default value for the overlap_threshold (was 0.5 and
	  this caused physics problems in the past; 0.75 is recommended).

2008-04-03  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* NEWS: 
	  updated NEWS to reflect changes made on the 2.3.2-devel bug-fix
	  branch

-----------------------------------------------
released 2.3.2 on 2008-04-03
it contains a subset of what is listed below
-----------------------------------------------	

2008-04-03  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* BUGS:
	  updated this file to reflect current status

2008-04-01  Gregory SOYEZ  <soyez@tycho.lpthe.jussieu.fr>

	* src/Voronoi.{hh,cc}
	  BUGS: 
	  declared some variables as volatile.
	  Those were subject to "==" tests which lead to segmentation
	  faults when the registers did not have the same precision as a
	  regular double.

	  This closes the following bug:
	  . The Voronoi area evaluation (=Passive for the kt algorithm), is
	    known to crash on events in which the momenta lie on a exact grid in
	    rapidity,phi (i.e. a calorimeter). An unsatisfactory workaround is
	    to slightly displace input momenta away from the exact grid.
	    Work is in progress to address this issue.


	* src/ClusterSequenceVoronoiArea.cc (VAC::VoronoiAreaCalc): added bits of comments

2008-03-28  Gregory Soyez  <g.soyez@ulg.ac.be>

	* src/ClusterSequenceActiveArea.cc (ClusterSequenceActiveArea::_transfer_areas): 
	  fixed array-size issue when there are unclustered particles.

2008-03-26  Gregory Soyez  <g.soyez@ulg.ac.be>

	* configure.ac:
	  fix a bug with AM_CXXFLAGS being overwritten at some point

2008-03-23  Gavin Salam  <salam@lpthe.jussieu.fr>

	* configure.ac: 
	  fix CXXFLAGS in such a way as to allow the user to set their own
	  default. 

	* include/fastjet/ClusterSequenceArea.hh (class ClusterSequenceArea): 
          added some missing Doxygen comments to this class
	
2008-03-15  Gavin Salam  <salam@lpthe.jussieu.fr>

        * src/Voronoi.cc
        * plugins/SISCone/siscone
        * include/fastjet/ClusterSequence1GhostPassiveArea.hh
        * include/fastjet/ClusterSequencePassiveArea.hh
        * include/fastjet/ClusterSequenceActiveArea.hh
        * include/fastjet/internal/Voronoi.hh
	  got rid of using namespace std in the headers
	
2008-03-15  Gavin Salam  <salam@lpthe.jussieu.fr>

	* did svnmerge.py uninit on the D0ILConePlugin branch
	 
	* merged the D0ILConePlugin Branch, which provides the D0 Run II
	  Cone, the genkt algorithm, and a full set of subjet tools (still
	  to be tested in part?)

============== MERGE OF D0ILConePlugin Branch =====================
	
2008-01-12  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* example/fastjet_timing_plugins.cc: 
	  changed position of a #ifdef ENABLE_PLUGIN_SISCONE so that when 
	  we merge it doesn't logically conflict with a parallel change in
  	  the trunk).

2007-12-29  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequence.hh: 
	* src/ClusterSequence.cc: 
	  added a full set of subjet functions, in analogy with what's
	  available for normal exclusive jets. Not yet documented
	
2007-12-28  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex
	  documented genkt and subjet work; 

	  NB: MORE FUNCTIONALITY (SPLIT TO N JETS, ETC.) NEEDED 
	  FOR THE SUBJET WORK.

	* include/fastjet/JetDefinition.hh: 
	* src/JetDefinition.cc: 
	* src/ClusterSequence.cc: 
	  Got genkt working.

	* example/fastjet_timing_plugins.cc:
	  added option (-subdcut) for carrying out subjet analysis on
	  every jet; various methods are programmed internally, and the
	  subjet analysis was checked by making sure that for each method,

	  ./fastjet_timing_plugins -nev 1000 -cam -subdcut 0.25 \
	       < ~/work/fastjet/data/Pythia-PtMin50-TeV-1000ev.dat
 
	  gave identical results (similarly also for kt). This validates
	  the ClustSequence::exclusive_subjets(...) routine.

	  Also added -doruniicone option.
	
	* plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh: 
	  added default values for min_jet_Et and split_ratio, such that
	  the algorithm can be called with just the cone radius and it
	  will correspond to what is used by D0.

	* example/fastjet_subjets.cc: 
	  added some explicit subjet analysis

	* src/ClusterSequence.cc: 
	  corrected a couple of bugs in exclusive_subjets

2007-12-21  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	* include/fastjet/ClusterSequence.hh: 
	  added the exclusive_subjets(jet,dcut) routine to find out 
	  about the subjets at scale (dcut) inside a given jet

          -----------------------------------------------------	
	* from revision 989 onwards, add subjet analysis
          -----------------------------------------------------	

2007-12-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_timing_plugins.cc: 
	  fixed compilation bug when siscone is disabled

	* plugins/usage_examples/many_algs_example.cc: 
	* test-script-output-orig.txt: 
	* test-compare.sh
	  modified these so that D0 cone is tested as well + fixed bug
	  in check when siscone is disabled

	* [various]/Makefile.am
	* configure.ac
	  added compilation of D0 code & plugins
	
	* plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh:  *** ADDED ***
	* plugins/D0RunIICone/D0RunIIConePlugin.cc:  *** ADDED ***

	  added these both, modified the D0RunIICone to get easy access to
	  jet constituents, and tested that it gives correct answers on
	  sample event sent by Lars Sonnenschein.

	* plugins/D0RunIICone/ *** ADDED ***
	  - put in untarred version of D0RunIIcone/
	  - copied main pieces into top directory
	  - made modifications for compilation
	  - added index entry to HepEntity
	  
	
2007-12-14  Gavin Salam  <salam@lpthe.jussieu.fr>
          -----------------------------------------------------	
	* on branch (from revision 981) for adding D0 cone...
          -----------------------------------------------------	

============== END OF MERGE OF D0ILConePlugin Branch =====================
	
	
2008-03-15  Gavin Salam  <salam@lpthe.jussieu.fr>

	* initialised svnmerge.py on
	  svn+ssh://tycho/ada1/lpthe/salam/svn/fastjet/branches/fastjet-release-devel-D0ILConePlugin 

	
	  
2008-03-15  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex (subsection[$k_t$ jet algorithm]): 
	  added refs separately to inclusive and exclusive when describing
	  jet-alg (subsequent to mails from Piergiulio Lenzi who was
	  having trouble understanding what was happening).
	
2008-03-07  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* configure.ac: 
	  switched version number over to 2.4-devel

-----------------------------------------------
released 2.3.1 on 2008-03-07
-----------------------------------------------	

2008-03-07  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* configure.ac
	* test-compare.sh
	* src/genconfig.sh
	* src/makefile.static
	* include/fastjet/config.h         *** ADDED ***
	* include/fastjet/config_win.h     *** ADDED ***

	  Moved to a structure of config_auto.h (with autotools and unix
	  static makefiles), and  config_win.h (under windows). 
	  The config.h file now detects the system and includes the
	  appropriate one

2008-02-28  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * src/ClusterSequenceAreaBase.cc:
          Revisited part of the change made on 2008-02-18: subtracted 
          jets with unphysical momentum now also get a valid index
          
2008-02-25  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	  in exclusive_dmerge(njets) and exclusive_dmerge_max(njets),
	  fixed assert(njets > 0)  to njets >= 0;
	  Bug reported by Piergiulio Lenzi <lenzip@fi.infn.it>.


2008-02-18  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * src/ClusterSequenceAreaBase.cc:
	  in subtracted_jet(), copied cluster_hist_index from original
	  jet to sub_jet, so that one can then directly analyse sub_jet 
	  (for instance in terms of its constituents). Feature request
          by Juan Rojo
                

2008-01-28  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/SISCone/fastjet/SISConePlugin.hh: 
	  added note about recommended value for overlap_threshold
	  different from the default.
	
	* Doxyfile: 
	  updated this to reflect new plugin header locations
	
	* CHECKLIST: 
	  added this to indicate what's needed for a release
	  

2008-01-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/genconfig.sh (configfile): 
	  can now take a first argument to generate a file of whatever
	  name user likes.

2008-01-15  Gregory Soyez  <g.soyez@ulg.ac.be>

	* plugins/PxCone/pxcone.h:
	  fix name conventions for VC compilation

	* plugins/CDFCones/CDFcode/LorentzVector.hh (M_PI): 
	* plugins/CDFCones/CDFcode/Centroid.hh (M_PI): 
	* plugins/CDFCones/CDFcode/CalTower.hh (M_PI): 
	  added a definition of M_PI in case not already defined (VC compilation)

	* include/fastjet/internal/SearchTree.hh: 
	  added 'typename' where required (VC compilation)

	* src/ClusterSequenceVoronoiArea.cc: 
	  - added the limis header (VC compilation)
	  - replaced M_PI by pi (defined in fastjet/internal/numconsts.hh)

	* src/ClusterSequenceActiveArea.cc:
	  - added the algorithm, cmath and valarray headers (VC compilation)
	  - fixed a type/operator confusion in
	    ClusterSequenceActiveArea::_postprocess_AA (VC compilation)

	* src/PseudoJet.cc: 
	* src/ClusterSequence_TiledN2.cc: 
	* src/ClusterSequenceAreaBase.cc: 
	* src/ClosestPair2D.cc:
	  added the algorithm header (VC compilation)
	

2008-01-15  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/CDFCones/CDFcode/MidPointAlgorithm.cc (MidPointAlgorithm::iterateCone): 
	  fixed speed issue with optimized compilation by making some
	  local variable volatile (Gregory's proposal). The problem was
	  that on 32 bit machines a 64 bit stored variable was being
	  compared to an 80 bit register -- making everything volatile
	  forces thing to go into memory and solves the problem.
	
2008-01-14  Gavin Salam  <salam@lpthe.jussieu.fr>

        * plugins/SISCone/siscone
	  switched this back over to the SISCone trunk, in preparation for
	  Belyaev's bug fixes.

2008-01-11  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* TODO: 
	  updated this a little

	* test-compare.sh: 
	  fixed typo that caused make check failure when siscone is disabled

	* example/fastjet_timing_plugins.cc: 
	  bug-fix in conditional compilation to get things to still work when
	  siscone is disabled.

	* configure.ac: 
	  switched over to 2.3.1-devel

2008-01-04  Gavin Salam  <salam@bison>

	* BUGS: 
	  added remark about pt=0 and ambiguities in clustering inputs on
	  a perfect y-phi grid + VC7.1 compilation.

-----------------------------------------------
released 2.3.0 on 2008-01-03
-----------------------------------------------	

2008-01-03  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* BUGS           *** ADDED ***
	* prepared things for the 2.3.0 release

2007-12-24  Gavin Salam  <salam@lpthe.jussieu.fr>

	* NEWS: 
	  added information summarising 2.1 -> 2.3

2007-12-18  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* Makefile.am: 
	  added Doxyfile to EXTRA_DIST


2007-12-11  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/root/jet-plots.C: 
	  minor fix to get it working with modern (5.16) version of root. 

2007-12-04  Gavin Salam  <salam@lpthe.jussieu.fr> + Gregory

	* include/fastjet/ClusterSequenceArea.hh: 
	* include/fastjet/ClusterSequenceAreaBase.hh: 
	  made 4-argument get_median_rho_and_sigma virtual, and added a
	  4-argument overridden version to ClusterSequenceArea; this was
	  necessary because when you redefine one version with a given
	  name, then you need to explicitly override all other versions
	  with the same name.

2007-12-04  Gavin Salam  <salam@lpthe.jussieu.fr>

	* configure.ac
	  moved version number over to 2.3-beta1-devel

	* NEWS
	  renamed 2.2-beta1 -> 2.3-beta0
	 
	* ClusterSequenceActiveArea.cc|hh
	  Commented out the parabolic_pt_per_unit_area function, since it
	  is provided by the AreaBase class. This should also avoid the
	  compilation warning about the base class function being hidden.

	* example/fastjet_areas.cc: 
	  added more explicit comments about some of the alternatives that
	  are currently commented out.

2007-12-03  Gavin Salam  <salam@lpthe.jussieu.fr> + Gregory

	* TAGGED the 2.3-beta0 release

2007-11-30  Gregory Soyez  <g.soyez@ulg.ac.be>

	* include/fastjet/Makefile.am: remove config.h from the list of
	  headers included in the distribution. It should be generated
	  from config.h.in at configure time. When included, it also seems
	  to cause trouble for make distcheck.

	* test-compare.sh: add write permissions to the temporary copy of
	  the original output (read-only by default for make
	  distcheck). Also, explicitely remove the files generated by make
	  ckeck in case it succeeds (also required for make distcheck to
	  work.)

2007-11-29  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * src/ClusterSequenceAreaBase.cc 
	  very minor fix to subtracted_jets() (use of int in loop was
	  giving a warning, *this was useless, eliminated debugging comments)

        * src/ClusterSequence.cc 
          Updated the banner (PLB + anti-kt)

        * configure.ac 
          Version number moved to 2.3-beta0 (from 2.3-beta0-devel)
	  
	* INSTALL
	  - single line version for compiling and linking external program  
	  - replaced output example vith version 2.3-beta0 (only the banner
	    changes)
	    
	    
2007-11-26  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * src/ClusterSequenceAreaBase.cc [+.hh] :
          * fixed comment of subtracted_jet()
          * added the methods subtracted_jets() which
            returns a vector of PseudoJet by acting on inclusive_jets()

        * added fortran wrapper to TODO list

        * typo-fixing in documentation

        * include/fastjet/JetDefinition.hh
          include/fastjet/ClusterSequence.hh [.cc]
	  Replaced JetFinder by JetAlgorithm, and (_)jet_finder
	  by (_)jet_algorithm, in keeping with Les Houches convention.
	  Also replaced accordingly _default_jet_finder and the jet_finder()
	  method.
	  Backward compatibility is assured at the user-level by a 
	  typedef and by doubling functions containing the word "jet_finder"
         
	  NB. THERE IS ONE EXCEPTION: _default_jet_finder and _jet_finder
	  were protected variables of ClusterSequence: the replacement
	  will break derived classes using them. They should be replaced
	  everywhere by "_default_jet_algorithm" and "_jet_algorithm"

        * src/ClusterSequenceAreaBase.cc
	  src/ClusterSequencePassiveArea.cc
	  src/JetDefinition.cc
	  replaced jet_finder() by jet_algorithm()

        * example/fastjet_subtraction.cc
	  median rho is now calculated using ...per_unit_area_4vector
	  when used in 4-vector subtraction along with area_4vector
	  
	* example/fastjet_subtraction.cc
	          fastjet_areas.cc
		  fastjet_example.cc
		  fastjet_timing.cc
		  fastjet_timing_plugin.cc
          replaced "finder" with "algorithm"
	  
	    
2007-11-22  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo

        Tidying up in anticipation of 2.3-beta0 release; in addition to
	what's mentioned below, various bits of old commented code
	removed.
	
	* include/fastjet/JetDefinition.hh    
	  introduced jet_algorithm() (does same as jet_finder());
	
	* src/ClusterSequenceArea.cc:  *** ADDED *** +.hh
	* src/ClusterSequenceAreaBase.cc:  + .hh

	  set get_median_rho_and_sigma (and parabolic...) to be virtual,
	  overloaded it in ClusterSequenceArea so as to check that if
	  ghosts were used they're over a suitably large rapidity range.

	* src/ClusterSequenceAreaBase.cc: 
	  removed explicit code for median_pt_per_unit_something -- it now
	  just calls get_median_rho_and_sigma and returns the median;
	  tested that results are identical!

	* include/fastjet/RangeDefinition.hh: 
	  modified comment for _numerical_total_area; added
	  virtual get_rap_limits() to find out what rapidity limits the
	  range has. Mentioned it in the documentation too.
	
	* src/ClusterSequenceActiveArea.cc (_initialise_AA): 
	* [and elsewhere]
	  removed commented lines with old "maxrap" interface for setting
	  range when finding median etc.	
	
	* configure.ac: 
	  switched version number to 2.3-beta0

	* plugins/SISCone/
	  put siscone onto tagged version 1.3.0
	
2007-11-10  Gavin Salam  <salam@lpthe.jussieu.fr>

        Summary of places where tests carried out in past few days:
        
        name     |  system    | tarball v autoconf+automake | conf
        -------------------------------------------------------------
        ramses   | OSX 10.3   | t + a 2.61+1.10 (DIY)       | ??
        tycho    | FC 7       | a 2.61+1.10                 | cp
        bison(me)| Ubun 7.04  | a 2.61+1.9.6                | cps
        bison(me)| cygwin     | a ???                       | p?(s?)
        lxplus   | SLC4       | t + a 2.59+1.9.2            | ps
        zetes    | SLC4?      | t                           | ps
        lpnui    | SLC3       | t                           | ps
        
        The "conf" column indicates which of cgal, pxcone and shared were enabled,
        when I can remember... Lowest libtool: 1.5.6
	
	
	* plugins/PxCone/Makefile.am: 
	  added missing pxcone.h to EXTRA_DIST

	* test-compare.sh: 
	  fixed bug causing it to fail when build takes place in a
	  separate directory.

	* test-static.sh:  *** RENAMED FROM *** test-script.sh
	  modified it so that it uses test-compare.sh for carrying out the
	  tests.

	* src/makefile.static: 
	  adapted it so that it uses install-sh for the installation in
	  lib/ (works around issue with absent lib/ directory in the
	  distribution) 

	* Makefile.am: 
	  included test-script.sh in EXTRA_DIST
	
	* example/Makefile.am: 
	  removed test-*.sh from EXTRA_DIST (since the scripts have been removed)
	
	* plugins/usage_examples/Makefile.am: 
	  removed test-*.sh from EXTRA_DIST (since the scripts have been removed)
	  added -I../../include so as to get the
	  ../../include/fastjet/config.h when building in a separate directory.
	
2007-11-09  Gregory Soyez  <g.soyez@ulg.ac.be>

	* test-compare.sh:
	  test-script-output-orig.txt:
	  Allow to test the complete set of installed plugins.

	* plugins/usage_examples/many_algs_example.cc (main): 
	  append the anti-kt clustering algorithm

	* fastjet-config.in: sort out the -static issue
	  Now, shared lib is used by default if enabled. You can still
	  use the static one using the --shared=no flag
	

2007-11-09  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/FjPseudoJet.hh: 
	* include/FjClusterSequence.hh: 
	  added obscolescence warning

	* put version number over to 2.2-beta1-devel (-beta ensures it
	  comes alphabetically before 2.2.0)
	
2007-11-08  Gregory Soyez  <g.soyez@ulg.ac.be>

	* test-compare.sh: all tests will be launched from here
	  This allows to test examples before plugins examples

	* plugins/(PxCone|CDFCones|SISCone)/...Plugin.hh:
	  added a #warning to tell the user to switch to new version
	

2007-11-08  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* plugins/(PxCone|CDFCones|SISCone)/Makefile.am: 
	* plugins/(PxCone|CDFCones|SISCone)/...Plugin.hh: ***ADDED***
	  added 

	* example/root/Makefile.am: * example/Makefile.am: * configure.ac:
  	  put in some stuff missing from the
	  distribution (example/makefile.static, example/root/...)

2007-11-08  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* MERGED svn/fastjet/branches/fastjet-release-autoconf (Rev 938)
	  back into the trunk; assembled the Changelogs to be in date
	  order across the two groups of chages.

2007-11-08  gavin salam  <salam@lpthe.jussieu.fr>

	* configure.ac: 
	  removed EXEEXT for fastjet-config (relevant presumably only for
	  cygwin, where, as a script, it should not have the extension).

	* example/Makefile.alt: 
          removed explicit path to fastjet-config
	
2007-11-07  Gregory Soyez  <g.soyez@ulg.ac.be>

	* m4/CGAL.m4: move the local m4 macro defs in the m4 subdir
	* Makefile.am (ACLOCAL_AMFLAGS): add info on the local m4 macros
	* autogen.sh: search local aclocal m4 macros in the m4 subdir
	* INSTALL: add info regarding autoreconf
	

2007-11-07  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* autogen.sh: 
          removed lines replacing libtool->glibtool on MAC, since with
	  fresh compilation of recent autoconf, automake and libtool, it's
	  all working fine.
	
	* doc/Makefile.am *** ADDED ***
	  added doc/ to the tarfile

	* fortran_wrapper/siscone_example.f: 
	* fortran_wrapper/Makefile -> Makefile.alt
	* fortran_wrapper/Makefile.am
	* Makefile.am
	* configure.ac
          got the fortran wrapper example working
	
2007-11-07  Gavin SALAM  <salam@lpthe.jussieu.fr>
	* configure.ac: 
	* example/Makefile.am: 
	* plugins/usage_examples/Makefile.am: 

          when pxcone is enabled, the following macros get called
	    AC_PROG_F77
            AC_F77_LIBRARY_LDFLAGS
          they set up FLIBS, which is then used where relevant
	

2007-11-07  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh:
	  modified reset(...) a little so that we have:
	  - version with 4 args (px,...,E) and template (vectorial) version
          - version that takes a PseudoJet
	  The first ones reset the indices to default values; the latter
	  just copies the PseudoJet;

	  Also coordinated the resetting of indices.

2007-11-06  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  added PseudoJet::reset(...) for modifying the 4-momentum.

2007-11-06  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/ClusterSequence.cc: 
	  promoted Gregory to full author status.

	* include/fastjet/version.hh: 
	* configure.ac: 
	* src/genconfig.sh: ***ADDED***

	  arranged things so that we generate include/fastjet/config.h
	  even with the makefile.static options, and we also use the
	  version number from config.h in fastjet output...

          + fixed some dependence  issues in other makefiles

	* example/fastjet_timing_plugins.cc: 
	* example/fastjet_areas.cc: 
        * plugins/usage_examples/cdfmidpoint_example.cc
        * plugins/usage_examples/siscone_example.cc
        * plugins/usage_examples/many_algs_example.cc
        * plugins/usage_examples/pxcone_example.cc

	  adapted them to get rid of PLUGINS_NOT_IN_FASTJET and use
	  instead config.h

	* example/Makefile.alt: 
	  documented a bit better

2007-11-05  Gregory Soyez  <g.soyez@ulg.ac.be>

	* fastjet-config.in: 
	  configure.ac:
	  Previous replacement of AM_LIBS by CONFIG_LIBS had
	  some influence on fastjet-config that was not properly
	  taken into account. This should be fixed now.

	* plugins/SISCone/fastjet
	  plugins/CDFCones/fastjet
	  plugins/PxCone/fastjet:
	  Those 3 directories now contain the header files for the
	  corresponding plugins

	* plugins/SISCone/fastjet/Makefile.am
	  plugins/CDFCones/fastjet/Makefile.am
	  plugins/PxCone/fastjet/Makefile.am:
	  Files added for autotools support

	* plugins/SISCone/SISConePlugin.cc
	  plugins/CDFCones/CDFJetCluPlugin.cc
	  plugins/CDFCones/CDFMidPointPlugin.cc
	  plugins/PxCone/PxConePlugin.cc
	  plugins/usage_examples/Makefile.am
	  plugins/usage_examples/siscone_example.cc
	  plugins/usage_examples/cdfmidpoint_example.cc
	  plugins/usage_examples/pxcone_example.cc
	  plugins/usage_examples/many_algs_example.cc
	  examples/Makefile.am
	  example/fastjet_timing_plugins.cc
	  example/fastjet_areas.cc:

	  update to match the new include path structure

	
2007-11-01  Gregory Soyez  <g.soyez@ulg.ac.be>

	* INSTALL: add a bit more details

	* CGAL.m4 (ACX_CHECK_CGAL):
	  fix the previous changes. CGAL check starts by looking
	  for a --with-cgalmakefile option. If this is absent it 
	  looks for a defined CGAL_MAKEFILE variable. Otherwise,
	  the default location is used.

2007-10-31  Gavin Salam  <salam@lpthe.jussieu.fr>

	* CGAL.m4 (ACX_CHECK_CGAL): 
	  hopefully fixed problem with it not finding the CGAL makefile  
	
	* autogen.sh: 
	  fixed minor incompatibility with plain sh (in Darwin "if")

2007-10-27  Gregory Soyez  <g.soyez@ulg.ac.be>

	* example/fastjet_timing_plugins.cc: 
	  plugins/usage_examples/many_algs_examples.cc: 
	  use config.h to get the info on the available plugins
	  For the static build (using makefile.static), we
	  explicitely define the SISCone and CDFCones flags.
	
	* example/test-areas.sh:                  *** ADDED ***
	  example/test-example.sh:                *** ADDED ***
	  test-compare.sh:                        *** ADDED ***
	  test-script-output-orig.txt
	  example/Makefile.am:
	  add tests accessible through "make check".
	  Note that the comparison results file has been reorganised
	  to follow the order in which tests are run now (the latter 
	  being a consequence of the build/Makefile order).

	* plugins/usage_examples/Makefile.am: 
	  build many_algs_example and the enabled plugins tests

	* example/Makefile.am:
	  - build different executables: 
	    fastjet_example fastjet_example_v1_interface
	    fastjet_areas fastjet_subtraction
            fastjet_timing fastjet_timing_plugin

	* autogen.sh: Add test to use glibtool(ize) under Darwin (Mac)
	

2007-10-24  Gregory Soyez  <g.soyez@ulg.ac.be>

	* series of small fixes to have a working make distcheck:
	  - correctly set the include dirs in case one builds into a
	    directory which is not the one containing the sources
	  - fix issues with the conditional build of plugins to make sure
	    that distribution-related make goals include all directories

	
2007-10-24  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/fastjet_areas.cc: 
	* example/fastjet_timing_plugins.cc: 
	  Arranged for these to work both with new compilations and old
	  (with ifdefs at beginning to decide where to search for
	  plugins), using the PLUGINS_NOT_IN_FASTJET define for the old case
	
	* makefile.static: 
	  added
	  CXXFLAGS += -DPLUGINS_NOT_IN_FASTJET
          to signal to example programs what is going on -- maybe sort
	  this out more elegantly later?

	* test-script.sh: 
	  arranged for it to use makefile.static (for now)
	
	* example/makefile.static
	  put this in (things had got lost)

	* example/Makefile.alt
	  this one should provide an example of how to get things to work
	  with the new build/install procedure
	  

2007-10-24  Gregory Soyez  <g.soyez@ulg.ac.be>

	* plugins/PxCone/Makefile.am        *** ADDED ***
	  plugins/Makefile.am
	  configure.ac:
	  Add autotools support for the PxCone plugin

	* configure.ac:
	  - add options to enable plugins:
	      --enable-siscone  (default=yes)
	      --enable-cdfcones (default=yes)
	      --enable-pxcone   (default=no)
	  - add recursion into the SISCone autotools build
	  - the --enable-shared cmd-line option is already handled by
	    libtool. We just need to add AM_DISABLE_SHARED to disable the
	    shared lib by default (can still be changed by using
	    --enable-shared)

	* fastjet-config.in: added a '--prefix' option which returns the
	  installation dir

	
2007-10-24  Gavin Salam  <salam@lpthe.jussieu.fr>

	* configure.ac: 
          included mention of the new Makefiles
	
	* Makefile.am, example/Makefile.am, example/data/Makefile.am
	  Added the latter two and hopefully the example should now be
	  included in the tarball (but testing seems to be awkard)
	
	* fastjet-config.in: 
	  fixed bug left in from previous mod

2007-10-23  Gregory Soyez  <g.soyez@ulg.ac.be>

	* Makefile.am: the script is installed ad bin_SCRIPT!!!!
	

2007-10-23  Gavin Salam  <salam@lpthe.jussieu.fr>

	* fastjet-config.in: 
	  removed -static ouput in case where things only built with
  	  static option (but not tested)

          changed some a+="b" to a=$a"b" for compatibility with mac
	
2007-10-22  Gavin SALAM  <salam@tycho.lpthe.jussieu.fr>

	* example/Makefile.alt *** ADDED ***
	  illustration of how to compile things with the new structure.

2007-10-20  salam  <salam@BISON>

	* INSTALL: 
	  started adding some instructions

	* configure.ac: 
	  sorted out order of libraries for siscone plugin in fastjet-config

2007-10-19  Gregory Soyez  <g.soyez@ulg.ac.be>

	* configure.ac: 
	  plugins/SISCone/Makefile_main_SISCone.am  *** ADDED ***

	  We add an additional Makefile.am to avoid the '/' in the SUBDIRS
	  in plugins/SISCone/Makefile.am which does not seem supported by
	  older vesions of automake

	  We also replace each occurence of VAR+="value" by
	  VAR=${VAR}"value" which is more portable and apparently
	  supported by older versions of autoconf
	

2007-10-19  Gavin Salam  <salam@lpthe.jussieu.fr>

	* configure.ac: 
	  changed version number by hand here to reflect what we have in
  	  the code (this needs to be dealt with properly at some point),
	  so that tarballs can't get confused with those already released.


2007-10-18  Gregory Soyez  <g.soyez@ulg.ac.be>

	* configure.ac: 
	  fastjet-config.in
	  include/Makefile.am                   *** ADDED ***
	  include/fastjet/Makefile.am        	*** ADDED ***
	  include/fastjet/internal/Makefile.am	*** ADDED ***
	  plugins/CDFCones/Mkefile.am		*** ADDED ***
	  plugins/CDFCones/CDFcode/Makefile.am  *** ADDED ***

	  A set of updates:
	   - added installation of fastjet headers
	   - added build of the CDFCones plugin
	   - and fixed issues with the SISCone plugin
	   - fixed bug in fastjet-config wrt plugins

	
2007-10-17  Gregory Soyez  <g.soyez@ulg.ac.be>

	* plugins/Makefile.am           *** ADDED ***
	  plugins/SISCone/Makefile.am   *** ADDED ***
	  These two files, together with modification of the main
	  configure.ac and Makefile.am allow for the SISCone plugin to be
	  installed
	
	* modify the main Makefile.am so the fastjet-config program is
	  installed
	
	* autogen.sh           *** ADDED ***
	  configure.ac	       *** ADDED ***
	  config.h.in	       *** ADDED ***
	  fastjet-config.in    *** ADDED ***
	  CGAL.m4 	       *** ADDED ***
	  Makefile.am 	       *** ADDED ***
	  src/Makefile.am      *** ADDED ***
	  This is the base files for an automake/autoconf-generated build
	  of fastjet. With those files, building of the main lib can be
	  done by issuing ./autogen.sh <configure-options>; make; make
	  install
	  There are configure options to configure the type of lib (shared
	  or static) and the CGAL support.
	
	* Change the external reference to the SISCone svn so that
	  it points to the development trunk. This allows to use
	  the makefile.static and autoconf things already implemented
	  there.

	* rename "ReleaseNotes' into "NEWS" and added "AUTHORS"
	  This is done to satisfy GNU standards

	* move all Makefile to makefile.static
	  In doing that, we have updated the makefile contents so
	  that the recursive behaviour is not broken
	
2007-10-17  Gregory Soyez  <g.soyez@ulg.ac.be>
	* BRANCHED (REVISION 889) -> svn/fastjet/branches/fastjet-release-autoconf
	  for autoconf related work
?
2007-10-16  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/CDFCones/CDFcode/MidPointAlgorithm.cc: 
	  added protection in midpoint code for cases when no stable cones are
	  found (e.g. because all particles are below seed threshold).

	
2007-09-30  Gavin Salam  <salam@lpthe.jussieu.fr>

	* AutoConfSpecs: *** ADDED ***
	  added this outline of what we might like from autoconf.

2007-08-24  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* bug-examples/:                           *** ADDED ***
	* bug-examples/voronoi-square-problem.*    *** ADDED ***
	  added this directory as a common place for putting code that
	  highlights bugs that need solving, together with a specific
	  example bug.
	
	* include/fastjet/PseudoJet.hh: 
	* src/PseudoJet.cc: 
	  added a PtYPhiM(...) function for creating a pseudojet
	  from pt, y, phi, m (alternative would be a constructor from some
	  new type that just held pt,y,phi,m?)
	
2007-08-01  Matteo & Gavin SALAM  <salam@lpthe.jussieu.fr>

	* fortran_wrapper/        *** ADDED ***
	  wrote a wrapper to show how to use parts of fastjet from
	  Fortran.	
	
2007-07-30  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* src/Makefile:
	  removed the pedantic option because CGAL 3.3 fails with it.

	* example/fastjet_timing_plugins.cc
	  added output of fastjet version
	  

2007-07-26  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/GhostedAreaSpec.hh: 
	  added GhostedAreaSpec::generator_at_own_risk() for access to the
	  internal generator object.

2007-07-18  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo


	* include/fastjet/ClusterSequence.hh|cc: 
	  added version of has_child which returns a pointer to the
	  child (more efficient) and also introduced object_in_jet

	  Corrected bugs in has_child and has_partner, related to the
	  treatment of cases near beam jets;

	  introduced a new protected member function
	  _potentially_valid(jet), for checking the use of a jet won't
	  lead to crash-causing nonsense (it may still lead to meaningless
	  answers).	
	
	  NB: now adding [RETHINK-IF-CHANGE-NUMBERING: ...] in
	  neighoburhood of things that may be affected if we ever decide
	  to give inclusive jets their own separate identify.	
	
2007-07-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/SISCone/SISConePlugin.cc: 
	  added output of SISCone version number within the plugin
	  description.

	* include/fastjet/JetDefinition.hh: 
	* src/ClusterSequence.cc: 
	  added fastjet_version_string() function which returns a string
	  along the lines of "FastJet version 2.2beta1-devel"
	
2007-06-28  Matteo Cacciari  <cacciari@lpthe.jussieu.fr>

        * added subtracted_jet and subtracted_pt methods
	  to ClusterSequenceAreaBase

2007-06-28  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/GhostedAreaSpec.hh: 
	  added deprecated access to intenal random number generator (for
	  internal development purposes) -- not guaranteed to stay.
	
	* include/fastjet/ClusterSequenceAreaBase.hh: 
	* include/fastjet/ClusterSequenceArea.hh: 
	  Added is_pure_ghost as a virtual function in the area base
	  class (implemented -- gives false by default) and added a proper
	  version to ClusterSequenceArea.

	* test-script.sh + test-script-output-orig.txt: 
	  sorted out some little hiccups in test script output

-----------------------------------------------
released 2.2beta0 on 2007-06-28
-----------------------------------------------	
	
2007-06-27  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/version.hh
	  updated version number to 2.2beta0

	* test-script-output-orig.txt
	  adapted this to current version

	* example/fastjet_subtraction.cc
	  sorted out some poor naming
	
2007-06-25  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* moved SISConePlugin/siscone over to 1.2.0 tag of siscone

2007-06-22  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* regression-tests/regression-test.pl:   *** ADDED ***
	  regression-tests*.res                  *** ADDED ***

	  added this directory for carrying out regressions tests and
	  output files, so as to (help) ensure that each new version of
	  fastjet is giving consistent results.

	* ChangeLog (this file!): 
	  moved contents of INTERNAL_CHANGELOG (deleted) into here.

	* include/fastjet/JetDefinition.hh: 
	  updated comments relating to optimal strategy for a given N

	* README: adapted this to reflect current situation with plugins
	  and anti-kt

2007-06-17  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/JetDefinition.hh: 
	  introduced typedef so that JetAlgorithm == JetFinder

	* src/PseudoJet.cc: 
	  added pseudorapidity() method.

	* plugins/CDFCones/CDFJetCluPlugin.hh: 
	  added control of ratcheting to quick constructor for
	  CDFJetCluPlugin. 

2007-06-16  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* ClusterSequence--various-area-classes.cc|hh
	  adapted all the derived classes so that they take the
	  RangeDefinition rather than maxrap -- this is subsequent to
	  changes made below

        * plugins/Makefile 
          plugins/CDFCones/Makefile
          fixed error on Macs (case-insensitive file system)

2007-06-16  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * RangeDefinition.hh
	  Added. Allows one to define the range in which to average
	  pt/area points in terms of rapmin,rapmax,phimin,phimax

        * ClusterSequenceAreaBase.cc|hh
          added parabolic_pt_per_unit_area, essentially copied from
	  ClusterSequenceActiveArea except for the raprange, which has
	  now no default and must be specified.

2007-06-14  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

	* ClusterSequence.cc|hh: 
	  added has_parents(...), has_child(...) and has_partner(...)
	  methods for acccessing the branching structure.

2007-06-06  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/ClusterSequenceActiveAreaExplicitGhosts.cc: 
	  amplified warning message.
	
	* src/ClusterSequenceActiveArea.cc: 
	  added extra checking when matching different sequences (bounds,
	  making sure we match dij with dij and not dij with diB).

	* include/fastjet/JetDefinition.hh: 
	  added enum entry for the genkt_algorithm

2007-06-05  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* test-script-output-orig.txt
	  updated this so that it corresponds to current results (concerns
	  areas and banners)

2007-06-04  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/internal/LimitedWarning.hh: *** ADDED ***
	  added this for dealing with warnings that should appear a
	  limited number of times

	* src/ClusterSequenceActiveAreaExplicitGhosts.cc|hh: 
	  fixed bug (a missing "!") in determination of
	  has_dangerous_particles, and switched warnings over to the
	  LimitedWarning class.
	
	* src/ClusterSequenceAreaBase.cc: 
	  added warnings about jet alg used in median determination (if
	  not kt, cam)

2007-06-03  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/ClusterSequenceActiveArea.cc: 
	  made error for unmatched sequences more explicit and provided a
	  explanation of origin (based on has_dangerous_particles()
	  below), when the suspected cause is particles with low pt.

	  Also added (but did not test) has_dangerous_particles().
	
	* src/ClusterSequenceActiveAreaExplicitGhosts.cc|hh: 
	  added max_ghost_perp2() and has_dangerous_particles() member
	  functions, as well as an explicit warning (first few times) in
	  cases which are dangerous (particle pt2 < ghost pt);

2007-05-28  Gavin Salam  <salam@lpthe.jussieu.fr>

	* TODO: *** ADDED ***
	  it was about time we had this in here, even if it's not yet
  	  complete. 

2007-05-16  Gregory Soyez  <g.soyez@ulg.ac.be>

	* src/ClusterSequenceVoronoiArea.cc: 
	  Clearing parts of the code

2007-05-14  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequenceWithArea.hh: *** ADDED ***
	* include/fastjet/ClusterSequenceActiveArea.hh: 
	* include/fastjet/ClusterSequenceArea.hh: 

	  switched to naming and backwards compatibility options decided
	  on 2007-05-11.
	
2007-05-11  Gavin SALAM  <salam@lpthe.jussieu.fr> (later)

	* include/fastjet/ClusterSequenceWithArea.hh
          -> include/fastjet/ClusterSequenceArea.hh

	  + corresponding renaming in various places -- designed to ensure
	  we really can get full backwards compatibility.
	
2007-05-11  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* include/fastjet/ClusterSequenceActiveArea.hh: 
	* include/fastjet/ClusterSequenceWithArea.hh: 

	  partially fixed the problem of backwards compatibility with v2.1
	  by #defining ClusterSequenceWithArea as ClusterSequenceAreaBase,
	  UNLESS ClusterSequenceWithArea is explicitly included anywhere.

	
2007-05-10  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* include/fastjet/AreaDefinition.hh: (later)
	  changed the enum values and order for AreaType (to make them
	  more logical)

	* include/fastjet/ActiveAreaSpec.hh: *** ADDED ***
	  new version of this file, which just defines ActiveAreaSpec =
	  GhostedAreaSpec, for backwards compatibility

	* ActiveAreaSpec -> GhostedAreaSpec: 
	  changed the name to reflect use of this class for passive &
	  active; 
	
	* AreaDefinition.hh|cc
          moved AreaType enum out of class. Sorted out the descriptions.

	* ClusterSequenceActiveAreaExplicitGhosts.cc|hh: 
	  sorted out empty_area for this case too.

	* plugins/SISCone/SISConePlugin.hh: 
	  fixed missing component in a constructor
	
	
2007-05-09  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo [later]

	* JetDefinition.cc|hh: 
	* plugins/SISCone/SISConePlugin.hh|cc: 
	  added mechanism for supporting ghosted passive areas in plugins

	* include/fastjet/ClusterSequencePassiveArea.hh  *** ADDED ***
        * src/ClusterSequencePassiveArea.cc              *** ADDED ***

	  put in support for this passive area class that redirects one to
	  the supposedly optimal passive-area determination for each each
	  algorithm.	


	* include/fastjet/AreaDefinition.hh:
        * include/fastjet/ClusterSequence1GhostPassiveArea.hh:
        * include/fastjet/ClusterSequencePassiveArea.hh:
        * include/fastjet/ClusterSequenceActiveArea.hh:
        * include/fastjet/ClusterSequenceWithArea.hh:

          various changes related to the above, including selection of the
	  PassiveArea from the WithArea class.


2007-05-09  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo

        * ClusterSequencePassiveArea -> ClusterSequence1GhostPassiveArea
	
	* JetDefinition.cc|hh: 
	* ClusterSequence.cc|hh: 
	  introduced cambridge_for_passive_algorithm (for internal use
	  only), and moved the jet_scale_for_algorithm routine into the
	  .cc file.

2007-05-09  Gavin Salam  <salam@lpthe.jussieu.fr>

	* src/JetDefinition.cc: 

	* src/ClusterSequence.cc: 
	  updated banner to reflect current status

	* example/Makefile (depend): 
	* src/Makefile: 
	  removed CXXFLAGS from make depend (it caused it to get all CGAL
	  files).
	
	* many places:
	  set the svn:keywords property to "Id" on many files where it was
	  missing. Sorted out some copyright statements (e.g. Voronoi.cc
	  we should not be claiming copyright!)
	
2007-05-09  Gregory Soyez  <g.soyez@ulg.ac.be>

	* include/fastjet/ClusterSequenceWithArea.hh: 
	  redirect to the ClusterSequencePAssiveArea class when area type
	  is set to passive_area

	* include/fastjet/AreaDefinition.hh: 
	  - added passive_area to the list of allowed area types.
	  - added a new ctor specifying an ActiveAreaSpec together with
	    an AreaType. This allow definition of active,
	    active_with_explicit_ghosts and passive areas.
	

2007-05-08  Gavin SALAM  <salam@lpthe.jussieu.fr> & matteo

	* include/fastjet/ClusterSequencePassiveArea.hh: ***ADDED***
	* src/ClusterSequencePassiveArea.cc:             ***ADDED***

	  added a passive class that scans a single ghost over the event,
	  repeating the clustering once for each ghost position -- the
	  name may well evolve in the coming days.

	* ClusterSequenceActiveArea.hh|cc: 
	  changed some private/protected statuses to allow the PassiveArea
	  to access whatever it needs to access, and split some of the
	  functions into pieces so that they can be used piecemeal from
	  derived class.

2007-05-08  Gregory Soyez  <g.soyez@ulg.ac.be>

	* src/ClusterSequenceVoronoiArea.cc: 
	  Fix problem with particles at phi=0
	

2007-05-08  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* ActiveAreaSpec.hh|cc: 
	  added get_random_statu(), set_random_status(),
	  checkpoint_random(), restore_checkpoint_random(), to facilitate
	  the user's life when then need correlated random numbers for the
	  areas.

	* include/fastjet/internal/BasicRandom.hh: 
	  added set_status and get_status routines in the <int> and
	  <double> versions.
	
2007-05-08  Gavin, Matteo & Gregory

	* example/fastjet_areas.cc: 
	  adapted example to new form of ClusterSequenceWithAreas

	* include/fastjet/AreaDefinition.hh: 
	  added default constructor for VoronoiAreaSpec

	* ActiveAreaSpec.cc|hh
	  changed default grid_scatter (1e-4 -> 1.0) [gives better
	  systematics at large ghost areas, and runs faster on cone], and
	  redefined scatter (kt and y,phi) to be around central values
	  (rather than an asymmetric shift as before).

	* ClusterSequenceWithArea.hh
	  added constructors that take ActiveAreaSpec and VoronoiAreaSpec
	  directly. 
	
2007-05-07  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* ClusterSequenceVoronoiArea.hh|cc: 
	  added area_4vector to class, based on sum of cell centers rather
	  than the 4vector for each cell.

2007-05-07  Gregory Soyez  <g.soyez@ulg.ac.be>

	* include/fastjet/ClusterSequenceWithArea.hh|cc: Append Voronoi
	  area computation.

	* src/ClusterSequenceVoronoiArea.hh|cc: Add a class to compute the
	  Voronoi area.

	* src/Voronoi.hh|cc: Add O'Sullivan C++ adaptation of Fortune's
	  code to compute Voronoi diagrams.

2007-05-07  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo

	* ClusterSequence.hh|cc: 
	  added the transfer_from_sequence(...) member, which copies the
	  information from another sequence into this one.

	* include/fastjet/ClusterSequenceWithArea.hh:  *** ADDED ***
	  class to access a generic type of area, as specified through an
	  AreaDefinition.

	* AreaDefinition.hh|cc    *** ADDED ***
          start of work towards an area definition, to be used as an input
	  to the future ClusterSequenceWithArea.hh|cc

	* RENAMED  ClusterSequenceWithArea.hh|cc 
	        -> ClusterSequenceAreaBase.hh|cc  

	  carried out this renaming in view of reusing the original name
	  not as a base class, but rather as a class that provides easy
	  access to all different types of areas.

	  NB: numerous associated changes, for things to carry on
	  working...	
	
2007-05-06  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* ClusterSequenceWithArea.hh|cc: 
	  added get_median_rho_and_error(...) to allow one to extract
	  the median together with the size of fluctuations around the
	  median (and the mean error, of use in doing converting
	  fluctuations to errors on individual jets).
	
2007-05-05  Gavin Salam  <salam@lpthe.jussieu.fr>

	* areas/jet_def_from_cmdline.cc|hh: 

	  added this so as to provide easy (and common) access to a jet
	  finder from the command-line

2007-05-02  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo

	* include/fastjet/ClusterSequenceWithArea.hh|cc: 
	  added empty_area(...), n_empty_jets(...),
	  median_pt_per_unit_area(...),
	  median_pt_per_unit_area_4vector(...), and the one that does the
	  work, median_pt_per_unit_something, as virtual functions, so
	  that these facilities can be accessed with any of the area
	  classes.

	* include/fastjet/ClusterSequenceActiveArea.hh|cc: 
	  added versions of empty_area(...), n_empty_jets(...), that make
	  use of all the information that's available from the ghosts.	
	
	* include/fastjet/JetDefinition.hh: 
        * plugins/*/*Plugin.hh:
	  added the double R() const abstract virtual member function to
	  the JetDefinition::Plugin class, and updated all the plugins, so
	  that one can get a sensible value of R out of any algorithm.
	  
	
2007-04-24  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* plugins/SISCone/SISConePlugin.hh|cc: 
	  added the split_merge_on_transverse_mass in the constructor (+
	  other ways of accessing it), which interfaces with SISCone's
	  SM_var2_hardest_cut_off variable.
	
2007-04-19  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo

	* src/ClusterSequenceActiveArea.cc|hh: 
          moved the check on equivalence of ghosted jets into a common
	  member function for ij and iB recombination -- now they both use
	  pt == ptref || E == Eref. At some point this check should be
	  made more robust (move away from momentum and towards tags or
	  something similar).
	
2007-04-18  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo

	* include/fastjet/JetDefinition.hh: 
	* include/fastjet/ClusterSequence.hh: 
	* src/JetDefinition.cc: 
	* src/ClusterSequence.cc: 

          introduced the "antikt" algorithm.

	* example/fastjet_timing_plugins.cc
	  got it working with antikt
	
2007-04-13  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* example/root/jet-plots.C: *** ADDED ***
	  root script for plotting output from print_jets_for_root(...);
	  see instructions at beginning for usage.

	* include/fastjet/ClusterSequence.hh|cc: 
	  added print_jets_for_root, which takes jets and outputs them in
	  a form suitable for the root script...

	* example/fastjet_timing_plugins.cc: 
	  fixed a bug that prevented compilation and added some extra
	  cone-related options.
	
-----------------------------------------------
released 2.1.0 on 2007-04-02
-----------------------------------------------	
	
2007-04-02  Gavin SALAM  <salam@lpthe.jussieu.fr> + MC

	* plugins/usage_examples/many_algs_example.cc: 
	  removed PxCone by default (compile with -DUSEPXCONE get it back
	  and adapt Makefile too).
	
	* test-script.sh
	  corrected bug related to G77LIBDIR; removed fortran related
	  stuff (pxcone now out by default)

2007-03-16  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* example/data/cone-midpoint-problem-ev1.dat
	* example/data/cone-midpoint-problem-ev2.dat
	  added these to illustrate the IR problem with midpoint
	
2007-03-14  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/SISCone/SISConePlugin.hh: 
	  changed the default number of passes to 0

	* plugins/SISCone/SISConePlugin.cc: 
	  fixed bug in choice of split-merge scale when recomputing jets
	  from a cached siscone run.
	  

2007-03-12  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* src/PseudoJet.cc|hh: 
	  added boost(...) and unboost(...) methods.

	* example/data/cone-darktower.dat: 
	* example/data/cone-sm-pt-problem-ev(1|2).dat: 
	  added two simple example events to illustrate the split-merge problem
	  with pt ordering, as well as the dark-tower problem in
	  single-pass algs.
	
2007-03-10  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/ActiveAreaSpec.hh: 
	  changed default repeat value to 1 (was 5);

	* plugins/CDFCones/CDFcode/ClusterComparisons.hh: 
	* plugins/CDFCones/CDFcode/Cluster.hh: 
	* plugins/CDFCones/CDFcode/MidPointAlgorithm.cc|hh: 
	  added support for the pt_tilde scale in the split-merge
	  procedure; note that the way this is done adds a small (1-3%)
	  speed penalty for all choices.
	
	
	* plugins/CDFCones/CDFMidPointPlugin.cc|hh: 
	  added the corresponding pt_tilde entry to the SplitMergeScale
	  enum.

	* plugins/SISCone/SISConePlugin.hh: 
	  changed default split_merge_scale to SM_pttilde; in legacy
	  interface, bool split_merge_on_transverse_mass now decides
	  between SM_mt and SM_pttilde;

2007-03-09  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/SISCone/SISConePlugin.cc|hh: 
	  introduced the SISConePlugin::SplitMergeScale enum (like the one
	  for the CDF plugin) and implemented the interface between this
	  and siscone's corresponding enum (NB: they must be ordered the
	  same way, otherwise you will get surprises...).

2007-03-06  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo

	* include/fastjet/version.hh: 
	  updated internal version number (to avoid confusion)

	* include/fastjet/ActiveAreaSpec.hh|cc: 
	  added description() member function

	* moved siscone external back onto siscone trunk
	
2007-03-04  Gavin Salam  <salam@lpthe.jussieu.fr>

	* doc/fastjet-doc.tex: 
	  Wrote the SISCone section; moved the example program forward,
	  since it uses only features from section 2, not all the
	  subsequence stuff. Updated intro.
	  

	* plugins/SISCone/SISConePlugin.hh: 
	  added the stable_cones() method to SISConeExtras, which is
	  identical to protocones() (but stable_cones is a more consistent
	  name).

2007-03-03  Gavin Salam  <salam@lpthe.jussieu.fr>

	* switched the plugins/SISCone svn:externals property to point to 
	  svn+ssh://login.hepforge.org/hepforge/svn/siscone/tags/siscone-1.1.0
	  rather than 
	  svn+ssh://login.hepforge.org/hepforge/svn/siscone/trunk

2007-03-01 (later) Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  added transverse mass functions.

	* plugins/SISCone/SISConePlugin.cc|hh: 
	  added a new member function
	  SISConeExtras::most_ambiguous_split(), which returns the degree
	  of ambiguity of the most ambiguous decision about attributing a
	  particle to one or other jet during a split step.  Useful for
	  testing purposes.

	* example/fastjet_timing_plugins.cc: 
	  started adding minimal access to cone information with the
	  "-cones" option.

2007-03-01  MC

        * doc/fastjet-doc.tex
          Updated the documentation to describe the new options
          of pt_per_unit_area and parabolic_pt_per_unit_area
          concerning the use of area_4vector

2007-03-01  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  fixed bug in phi_std() pointed out by Oscar Stal,
	  <oscar.stal@tsl.uu.se> 

	* test-script-output-orig.txt
	  updated this so that it corresponds to current output.
	
	* include/fastjet/ClusterSequence.hh: 
	  added the ClusterSequence::Extras class, as well as
	  ClusterSequence::extras() function which returns a (possibly
	  null) pointer to any extras.
	
	* plugins/SISCone/SISConePlugin.hh|cc: 
	  updated them to reflect a change in naming in siscone;
	  added SISConeExtras class (derives from
	  ClusterSequence::Extras), whose contents are set up from within
	  the plugin and which allows a user to access the protocones.

	* ReleaseNotes: 
	  updated to reflect recent additions

2007-02-28  Gavin Salam  <salam@lpthe.jussieu.fr> + MC

	* src/ClusterSequenceActiveArea.cc: 
	  switched over to use of the current recombination scheme when
	  averaging 4vector areas over multiple repeats with different
	  ghosts. 
	
	* include/fastjet/JetDefinition.hh: 
	  added Recombiner::plus_equal(A,B) to help simplify code in
	  various places  
	
        * src/ClusterSequenceActiveArea.cc|hh 
  	  Added median_4vector option to mean_pt_strategies for
  	  pt_per_unit_area 
	  Added use_area_4vector to parabolic_pt_per_unit_area
	  NB. Neither is the default.

        * src/JetDefinition.cc
	  Corrected bug in massless recombination schemes for when
	  the pt of both particles is zero
	
	* src/ClusterSequenceActiveAreaExplicitGhosts.cc
	  The area_4vector is now calculated with the same 
	  recombination scheme as the jets
	
	
2007-02-25  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/PxCone/pxcone.f: 
	  fixed some bugs in the way momenta are recombined relating to
	  2pi periodicity of phi; identified origin of a remaining problem
	  of jets depending on the order of input particles -- related to
	  the way the n-way midpoints are determined.

2007-02-24  Gavin Salam  <salam@lpthe.jussieu.fr>

	* include/fastjet/PseudoJet.hh: 
	  arranged for template constructor also to set default user and
	  cluster-history indices
	
2007-02-21  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* plugins/CDFCones/CDFMidPointPlugin.hh|cc: 
	  added the option of specifying the scale to be used in the
	  split-merge step (pt is default, but we also have Et and mt), to
	  take advantage of the modification made to the CDF code below.

	* plugins/CDFCones/CDFcode/MidPointAlgorithm.hh|cc:
	  added the option of specifying the scale to be used in the
	  split-merge step (pt is default, but we also have Et and mt)

	  NB: this means that the CDF code we release is now actually a
	  modified version of the original.

2007-02-20  Gavin Salam  <salam@lpthe.jussieu.fr>

	* example/CmdLine.*
	  updated these to recent versions

	* example/fastjet_timing_plugins.cc (main): 
	  added the -nomt option for choosing the ordering in siscone
	  split merge.
	
	* plugins/SISCone/SISConePlugin.cc|h: 
	  added the "bool split_merge_on_transverse_mass" parameter to
	  constructor, put in a corresponding member variable and used it
	  when calling siscone.

2007-02-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* plugins/SISCone/Makefile (libSISConePlugin.a): fixed some
	  dependencies wrt to the siscone distribution directory.

2007-02-12  Gavin Salam  <salam@lpthe.jussieu.fr>

	* updated test-script.sh to accept -j2 option for faster compilation

	* ADDED include/fastjet/version.hh which sets the version number;
	  this is used throughout, also in tarit.sh and in svntagit.sh

	* ADDED svntagit.sh which will one day deal with all the tagging...

	* updated the test script ref. output to reflect the new version
  	  numbers
	
2007-02-09  Gavin Salam  <salam@lpthe.jussieu.fr>

	* switched external reference to siscone over to new repository, 
	  svn+ssh://login.hepforge.org/hepforge/svn/siscone/trunk

2007-02-08  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* modified tarit.sh so that it indicates which svn commands to
	  use to tag the release

2007-01-24  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo
          
        * tweaked test-script.sh some more
        * added fastjet-release/test-script-output-orig.txt
        * modified tarit.sh accordingly

2007-01-23  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo
	
        * removed more (all?) extraneous semi-colons
	* added fastjet-release/test-script.sh
	* added protojet_ptmin argument to SISConePlugin constructor (etc.)
	
2007-01-19+20  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* removed some extraneous semi-colons after functions in many
	  places, and checked that library now compiles with the "-pedantic
	  -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses"
	  options. NB PxConePlugin needs some more work on it before it
	  will compile (variable length arrays).

2007-01-12  Gavin Salam  <salam@lpthe.jussieu.fr> + matteo

        * areas/SubtractionDefinition.hh
          definition class for a future subtraction class

        * areas/ClusterSequenceWithSubtraction.hh
          class for subtraction

        * areas/subtraction-HIeff-native.cc
          main program which will eventually use the new
          subtraction class

        * areas/subtraction-HIeff-iter.cc
          Added before. Slightly modified version of 
          subtraction-HIeff-tests.cc.
          Performs a multi-pass subtraction,
          the same which will eventually be performed by the
          "-native" file above.



2007-01-08  Gavin Salam  <salam@lpthe.jussieu.fr>

	* areas/area-plots/2point-areas-3alg.gp
	  Passive area for 3 algs

	* areas/areas-1gluon-for-root.cc
	  areas/root-games/ghosted_plots.C

          root-related stuff for when there's a single hard parton
	  (illustrate active areas)

	
	
2007-01-02  Gavin Salam  <salam@lpthe.jussieu.fr>

        * added the areas/hydjet_eff directory to repository

	
2006-12-28  Gavin Salam  <salam@lpthe.jussieu.fr>

	* Added a "caching" option to the SISCone plugin to allow runs
	  with multiple overlap_threshold values (and everything else
	  identical) to reuse the set of stable cones.	

	* in PseudoJet introduced the "have_same_momentum(jeta, jetb)"
	  function (used in SISCone plugin).
	
2006-12-26  Gavin Salam  <salam@lpthe.jussieu.fr>

        * Added SISCone to the list of plugins made automatically

        * SISCone plugin now sets the jet "user_index" to be equal to the
	  pass at which the jet was found; documentation added to the
	  beginning of the class...
	
	* adapated areas/areas-hist.cc to use midpoint and siscone plugins
	  as well...
	
	* dealt with renaming from scones -> siscone; 

	* added the siscone repository as an "external" repository to
	  fastjet, inside plugins/SISCone (so that it is updated
	  automatically each time fastjet is updated -- but note: commits
	  do not recurse automatically down...)

        * also updated the usage_examples (many_algs_example now also runs
	  siscone).	

	* made this version 2.1.0b1 (changed tarit, but did not "tag" it)
	
2006-12-21  Gavin Salam <salam@lpthe.jussieu.fr> + Gregory Soyez

	* Modified SCones plugin so that it provides information also on
	  the use of "wrong" split-merge procedure.
	
2006-12-18  Gavin Salam <salam@lpthe.jussieu.fr> + Gregory Soyez

	* Added output of description of the algorithm in the
	  fastjet_timing_plugins routine routines (and got the .pl script
	  to read it), so that one knows what it is one's been doing. 
	  

2006-12-14  Gavin Salam <salam@lpthe.jussieu.fr> + Gregory Soyez

	* Added static function set_print_errors(bool) to Error.hh class
	  so that user can request "quiet" exceptions. NOT YET TESTED...

	
2006-12-12  Gavin Salam <salam@lpthe.jussieu.fr> + Gregory Soyez

	* Added plugin for SCones (Gregory's seedless cones code);
	  ran some basic tests; note the seedless cone code is not yet
	  included here, and the Makefile is accordingly a bit rough...

        * added example/fastjet_timing_plugins for running the timing
	  tests with the various plugin algorithms.
	
2006-12-07  Gavin Salam <salam@lpthe.jussieu.fr>

        * Changed tar script so that it works by first creating a tar
	  file, unpacking it in /tmp, renaming the corresponding directory
	  and then recreating the tar file (all of this to get the proper
	  directory name while maintaining symbolic links)

	* added ClusterSequence::unclustered_particles(), which returns a
	  vector of unclustered particles.	

	* added warning (printed up to 5 times) when extracting exclusive
	  jets with an algorithm other than kt.

	* in main Makefile, changed default inclusion of fortran libraries
	  to avoid also getting multiple libstdc++ (when g77 uses a
	  different version of gcc than g++).
	
2006-11-30  Gavin Salam <salam@lpthe.jussieu.fr>

	* Renamed the plugin directories (to have capitalisation
	  corresponding to library names), added the CDF cone code
	  together with Makefiles etc.

        * added plugins/usage_examples to illustrate how to use the
	  plugins, and how to use multiple jet algorithms together; added
	  some documentation to the pxcone and midpoint plugins (jetclu
	  users are on their own for the time being...)

	* adapted Doxyfile to include the plugins directory; made it
	  non-recurisve so that it doesn't get the CDF code and as a
	  result had to add various directories by hand

	* added mention of plugins/ directory in documentation.

	* Updated the banner to include mention of plugins; compactified
	  the rest a little.

	* Updated ReleaseNotes to reflect the current status
	
2006-11-29  Gavin Salam <salam@lpthe.jussieu.fr>

	* Added the Et and Et2 schemes, as well as boost invariant BIpt
	  and BIpt2 schemes.
	
2006-11-28  Gavin Salam <salam@lpthe.jussieu.fr>

	* fixed problems with alternative orderings of arguments in
	  JetDefinition constructor; added constructor with external
	  recombination scheme; added "preprocess" virtual function to
	  recombination scheme so that it carries out necessary
	  modification of momenta before running the clustering (as in
	  ktjet), and checked that pt and pt2 schemes give results
	  identical to those in ktjet (albeit boost-dependent...)
	
2006-11-27  Gavin Salam <salam@lpthe.jussieu.fr>

        * added recombination scheme functionality, both via a plugin (not
	  currently tested much) and (for standard use) with a
	  RecombinationScheme enum; take a look at ReleaseNotes for things
	  that still need to be done/tested...

	  Modified example program so that it makes recombination scheme
	  freedom explicitly visible.
	
2006-11-23  Gavin Salam <salam@lpthe.jussieu.fr>

        * added areas/area-hist-plots/ which contains results of area
	  histograms for "idealized" soft clustering and clustering with a
	  single hard parton.
	
2006-11-13  Gavin Salam <salam@lpthe.jussieu.fr>

        * Added more stuff related to plots & sorted out some svn:ignore
	  properties 
	
2006-11-11  Gavin Salam <salam@lpthe.jussieu.fr>

        * added a whole bunch of plots and related material in the
	  area-plots directory that previously weren't in version control

	* added a QM2006/ directory which includes some material
	  (jet-finding on individual events) for illustrative plots.

	* in areas/ put a recent version of the CmdLine.* utility class.

	* added areas/README to help navigate that directory, which is
	  rapidly becoming too complex!
	
	
2006-11-06  Gavin Salam <salam@lpthe.jussieu.fr>

        * added squared_distance(...) to PseudoJet (does the same as
	  plain_distance, but the name is more logical).

        * added areas/subtraction-tests-HIeff.cc for carrying out
	  efficiency and purity studies.

	* areas/SimpleHist.hh got modified to provide more extensive
	  histogramming facilities (notably an overflow bin)

	* areas/run-mass-test.pl was modified to as to enable combined
	  hydjet+subtraction-tests-HIeff running. (Had previously also
	  been modified to have run_hydjet as the executable rather than
	  test2_hydjet).	
	
2006-10-25  Gavin Salam <salam@lpthe.jussieu.fr>

        * added m() method to PseudoJet (like CLHEP, for negative m2() it
	  returns -sqrt(-m2())).

	* to PseudoJet, added cluster_sequence_history_index() and
	  set_cluster_sequence_history_index(...) as alternative names for
	  cluster_hist_index() and set_cluster_hist_index(...), in the
	  hope that these new names might be more meaningful.

	* added a function particle_jet_indices(...) to ClusterSequence so
	  as to allow the user to easily identify which particles fall into
	  which jet (or no jet at all).	 [NOT YET DOCUMENTED]
	
2006-10-19  Gavin Salam <salam@lpthe.jussieu.fr>

	* replaced eta -> y (or rap) in documentation (was potentially
	  unclear before) and in ActiveAreaSpec class...
	
2006-10-16  Gavin Salam <salam@lpthe.jussieu.fr>

        Introduced plugin functionality (CCN28-76)
	
	* added description() member function to JetDefinition class
	  (involved adding src/JetDefinition.cc which returns a default
	  value).

	* added a JetDefinition::Plugin abstract base class, which serves
	  as a model for user-supplied plugins; added an JetDefinition
	  constructor that takes a pointer to a plugin.

        * added checks in ClusterSequence to see whether we're dealing
	  with a plugin -- if we are then the plugin clustering routine is
	  called instead of ours; 

	  modified the inclusive_jets() routine so that it behaves
	  sensibly regardless of the diB values and ordering of the
	  clustering returned by the plugin.

	  added "plugin_record_ij_recombination", etc., member functions
	  to allow the plugin to make a record of what it's done in the
	  cluster sequence.	
	
2006-10-12  Gavin Salam <salam@lpthe.jussieu.fr>
	    
	* in include/fastjet/ClusterSequence.hh added a slightly more
	  user-friendly message for the doxygen main page.

2006-10-09  Gavin Salam <salam@lpthe.jussieu.fr> + Matteo

	    --- release of fastjet-2.0.0 ---
	
	* added a wider range of arithmetic operations on PseudoJets;
	  added phi_std() and phi_02pi() which return values respectively
	  in the -pi..pi range and 0..2pi range; in the clustering code,
	  switched from use of phi() to phi_02pi() to allow for future
	  changes to action of phi().

	* switched fastjet_subtraction.cc over to new arithmetic
	  operations.

	* programmed improved formulae for automatic choice of best
	  strategy, including the choice also for the Cambridge algorithm.

	* switched a number of member function of PseudoJet over from
	  const double & to simply double.

	* various small changes made to the documentation.
	
2006-09-25  Gavin Salam <salam@lpthe.jussieu.fr> + Matteo

	* added areas/areas-hist.cc for getting the distribution of areas
	  for pure noise (+ option of anchor).

	* moved the SimpleHist.hh file into this directory from ../../chan
	
	
2006-08-24  Gavin Salam <salam@lpthe.jussieu.fr> + Matteo

	* Renamed old_median -> non_ghost_median

        * parabolic_pt_per_unit_area made const

2006-08-23  Gavin Salam <salam@lpthe.jussieu.fr>

	* Renamed NlnNCam2piMultD -> NlnNCam (for simplicity).
	
2006-08-22  Matteo Cacciari <cacciari@lpthe.jussieu.fr>

        * example/fastjet_subtraction.cc

          Added the subtraction using area_4vector. The results
          are compared in output to the "standard" subtraction.
          Added some comments.


2006-08-19  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* include/fastjet/Error.hh

          error message output now states that this is a fastjet::Error
	  error. 

	* include/fastjet/ClusterSequence.hh
	* src/ClusterSequence.cc

	  Put some of the bookkeeping code into specific member functions
	  (_transfer_input_jets, _decant_options), so that this
	  housekeeping can be more easily (reliably) carried out also by
	  derived classes.

	  These new functions, as well as _do_iB_recombination_step,
	  _do_ij_recombination_step have been made protected (as opposed
	  to private), again for access from derived classes.

	* src/ClusterSequenceActiveAreaExplicitGhosts.cc
	* include/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh
	 
	  Arranged for _is_pure_ghost(int history_index) to return false
	  for any negative value of history_index (so that e.g. BeamJet is
	  not considered a ghost).

	* include/fastjet/ClusterSequenceActiveArea.hh
	* src/ClusterSequenceActiveArea.cc

	  Rather than first running the clustering on the unghosted event
	  and then providing area info from runs on ghosted events, this
	  class now deduces the unghosted clustering sequence from a
	  ghosted event, so as to reduce the number of runs. This is
	  relevant for heavy-ions. If the requested number of repetitions
	  is zero, it reverts to the plain unghosted-clustering

	
2006-08-19  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* include/fastjet/internal/BasicRandom.hh   *** ADDED ***
	* src/BasicRandom.hh                        *** ADDED ***

	  Added these files, which are basically copies of the (GPL)
	  random-number generator from Zoltan Nagy's nlojet++ program.

	* include/fastjet/ActiveAreaSpec.hh
	* ActiveAreaSpec.cc

	  Added _our_rand() to return a random double between 0.0 and 1.0,
	  checked that it gave identical results to before and then
	  switched over to using the BasicRandom<double> class.

	  NOTE: currently the random number generator object for
	  ActiveAreaSpec is static (ie. there is a single sequence shared
	  among all instances of ActiveAreaSpec). One consequence of this
	  is that in areas-2point.cc, previously we restarted the sequence
	  from the beginning for each separation Delta eta (giving some
	  correlation between successive values of eta), whereas, now,
	  successive values of eta are completely uncorrelated.

	* include/fastjet/ClusterSequenceActiveArea.hh
	  
	  Commented the lines that reset the global C random seed and
	  wrote a warning about this.

	
2006-08-17  Gavin Salam  <salam@lpthe.jussieu.fr>  & Matteo

	* Reworked naming scheme, so that all includes are now in
	  include/fastjet/ and those not destined for the user are in
	  include/fastjet/internal; we've introduced a namespace (fastjet)
	  and a fastjet/internal/base.hh file where we define begin and
	  end macros for it; we've put everything into the namespace...

	  The "Fj" prefix has been systematically removed...
	
	  added private/fastjet-rename-v1-to-v2.pl, to help in much of the
	  renaming of internals.

	* Introduced include/FjPseudoJet.hh and
	  include/FjClusterSequence.hh files that provide access to
	  everything needed by programs based on the v1 legacy interface

	* Removed the CP2DCHAN compile definition -- now the Chan code is
	  always included.

	* Added areas code to main release: created a base class
	  ClusterSequenceWithArea, as well as derived classes:

            ClusterSequenceActiveArea                // was WithMeanArea
	    ClusterSequenceActiveAreaExplicitGhosts  // was WithArea

	  and also included the class

	    ActiveAreaSpec

	* Placed an explicit limit (via assertion) on R <= pi/2 (larger
	  than this can cause crashes in many places...)

	* Removed extraneous code in areas/, adapted remaining code to new
	  interface.
	
2006-08-15  Gavin Salam  <salam@lpthe.jussieu.fr>  & Matteo

	* Copied Chan method across from its development directory

	* Added a data/ directory with some sample input files

	* moved release number up to 1.9, in preparation for forthcoming
	  release 2
	
        * updated examples to use new interface for specifying jet finder
	
2006-08-11  Gavin Salam  <salam@lpthe.jussieu.fr> 

        * modified FjPseudoJet's rapidity calculation so that it gives
          answers that are not completely crazy for momenta where rounding
          error causes the difference between E and pz to be zero.
	
	* played around with passive areas (including a plot or two) --
	  they seem to work OK.

	* fixed a bug (when reaching last pair of objects to cluster) in
	  the CP2DChan strategies.

	* in the main Makefile (and Triangulations.h) added option for
	  using a simpler CGAL kernel -- this can give about 20% speed
	  gain but it's not clear how robust it is.
	
2006-08-10  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* incorporated a first passive areas class,
	  FjClusterSequenceWithPassiveArea. It is quite slow, and
	  currently seen only very limited testing, but seems to work in
	  the 2-particle case...

	  next steps: add gnuplot visulation, look at more complex events

	* modified order of includes in some other class definitions to
	  place private things after public ones.	
	
2006-08-04  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* switched remaining jet-finding strategies over to use of
	  "_do_XY_recombination_step".

	* updated thresholds for "Best" to take into account the
	  N2MinHeapTiled version (though perhaps this should wait until
	  we've incorporated MinHeap into our "standard" suite...	

	  Have not updated things to deal with the Cambridge algorithm --
	  not sure what the best option would be here, given that Chan's
	  approach is so cache dependent...
	
2006-08-04  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* added routines for clustering the Cambridge algorithm based on
	  Chan's closest pairs (CP) method. The new strategies are:

	    NlnNCam4pi          // all points duplicated
	    NlnNCam2pi2R        // points within R of 0,2pi duplicated
	    NlnNCam2piMultD     // two steps of clustering to reduce duplctn.
                                   [fastest]
	
          For 10^4 particles, on a dual core P4D with 2MB cache,
	  NlnNCam2piMultD seems to be about 2.5 times faster than NlnN
	  (and 1.7 times faster than N2MinHeapTiled described below).	

	  As N grows larger, the advantages of the NlnNCam routines seem
	  to disappear, presumably because we end up outside limits of
	  cache. (And on machines with a small cache, e.g. anubis with
	  512KB, the advantage of the Cambridge-specific routines seem to
	  disappear.	
	
	* added a version of the tiled N2 algorithm that makes use of the
	  MinHeap developed for the CP work:

	    N2MinHeapTiled
 
	  On a dual-core P4D with 2MB cache, it seems to be the fastest
	  general option for 400 \lesssim N \lesssim 16000. 

	* the above options currently all require the CP2DChan library
	  which is in cvs in ../chan/ -- compilation there uses scons:

	        scons libCP2DChan.a

          (was testing out scons as an alternative to make...). At some
	  point, we should probably merge that codebase into ours.
	
	* added FjClusterSequence::_do_ij_recombination_step and 
	  _do_iB_recombination_step so as to avoid rampant duplication of
	  the associated code. Not all clusterings have switched over to
	  this yet...

	
2006-07-17  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* added area-plots/midpoint-zmass-profile-N1947.eps to see what
	  cone timings are like...
	
2006-07-17  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* In FjJetDefinition.hh renamed _R -> _Rparam (single letter
	  with underscore caused problems under g++3.3)
	
	* Added results and associated files for the ttbar analysis.

	
2006-07-15  Gavin Salam  <salam@lpthe.jussieu.fr> 

        * FjPseudoJet: added operator+=,-=,*=,/=, which leave the
	  user and cluster_hist indices unchanged. It is natural (in a
	  sense) insofar as these operators act naturally just on the
	  momentum -- in practice it is also useful because a user may
	  want to correct a jet in some way while still have the jet
	  associated with its "history").	

	* subtraction-tests-ttbar: now gives a full panoply of results in
	  histograms so that one can get a semi-sensible analysis of
	  ttbar events.	

	* run-mass-test.pl: adapted it so that it deals nicely with the
	  ttbar cases too...
	
2006-07-14  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* *** ADDED include/FjJetDefinition.hh *** 
	  in which we now define:

                  enum FjStrategy       // unchanged
	          enum FjJetFinder      // was part of FjClusterSequence
	          class FjJetDefinition // new

	  The class is designed to hold all info that specifies a jet
	  algorithm (currently, just R, jet-finder ID and strategy)

	  In FjClusterSequence.* new interfaces have been introduced in
	  which the FjJetDefinition is used to specify the jet algorithm;
	  these interfaces are present both for the public constructor and
	  for the protected _initialise_and_run(...) routines...
	
	  In areas/, some minor changes have been made to account for these
	  changes...

	  Also got the limit on the inclusive pt for the Cambridge jets
	  working (introduced separate code inside the inclusive_jets
	  routine).	

	  Started work on the ttbar project...
	
	* In areas/FjClusterSequenceWith[Mean]Area.*

	  Introduced the class FjActiveAreaSpec, which contains the
	  specification of how one defines the active area. It is intended
	  to provide a somewhat cleaner way of passing the information
	  around, and should hopefully provide an easier way of dealing
	  with the random number issue for this class (at least it's now
	  a well separated).

	  Introduced new interfaces for the various area routines so that
	  one can refer to them in both the new way (with an
	  FjActiveAreaSpec object) and the old way (for backwards
	  compatibility).

	  For now the FjActiveAreaSpec is inside the
	  FjClusterSequenceWithArea.* files -- but perhaps at some point
	  it should be moved?	

	
2006-07-13  Gavin Salam  <salam@lpthe.jussieu.fr> 

	* Added areas/subtraction-tests-ttbar.cc
	        areas/FlavourHolder.hh
	        areas/FlavourHolder.cc

          as part of work towards an analysis of semi-leptonic ttbar
	  events. 
	
2006-07-10  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo Cacciari

        * Added option in FjClusterSequenceWithMeanArea of excluding
	  particles with pt/area greater than some threshold

2006-07-05  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo Cacciari

        * Minor bug-fixed to FjClusterSequenceWithMeanArea 
	  + some files added related to heavy-ion studies
	
2006-07-03  Gavin Salam  <salam@lpthe.jussieu.fr> + Matteo Cacciari

	* Added areas/subtraction-tests-inclpt.cc for looking at inclusive
	  pt distributions (designed for use with hydjet events, at least
	  initially).
	
	* To FjClusterSequenceWithMeanArea.* added
	  parabolic_pt_per_unit_area for carrying out a parabolic
	  (a+b*y^2) fit	to the pt/area.

	* areas/run-mass-test.pl adapted to deal with the hydjet case too

	* areas/area-plots -- all plots updated (for Florence talk and
	  Matteo's US visit [done some time ago...])

	
2006-06-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* to areas/FjClusterSequenceWithArea.* placed upper limit on
	  number of seed warnings messages; on subtraction-tests-mass,
	  also placed upper limit on output of info (to avoid eccessively
	  large mails when running jobs)

2006-06-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* to areas/FjClusterSequenceWithArea.* placed upper limit on
	  number of seed warnings messages; on subtraction-tests-mass,
	  also placed upper limit on output of info (to avoid eccessively
	  large mails when running jobs)

2006-06-18  Gavin Salam  <salam@lpthe.jussieu.fr>

	* to FjClusterSequenceWith[Mean]Area.* added 
	
	    FjPseudoJet extended_area(const FjPseudoJet & jet) const;
 
	  member function which returns a four vector corresponding to
	  E-scheme addition and averaging of the ghost vectors (with
	  appropriate normalisation for each).

	* adapated areas/subtraction-tests-mass.cc to use the new extended
	  area (i.e. four-vector subtraction) for an alternative
	  subtraction scheme ("hecr" "fecr" go into two extra columns at
	  end, so as not to mess up original file format).

	
2006-06-13  Gavin Salam  <salam@lpthe.jussieu.fr>

        * Found bug in reading of hydjet format (didn't skip particles
	  with istat/=1), but in practice they ended up having
	  non-sensical rapidities so got thrown out anyway (i.e. results
	  don't change); 

	  THIS BUG SHOULD BE FIXED EVERYWHERE ELSE TOO...
	
2006-06-06  Gavin Salam  <salam@lpthe.jussieu.fr>

	* Added vector<int> FjClusterSequence::unique_history_order(),
	  which returns a order in which to read the history such
	  branchings are then independent of irrelevant degeneracies in
	  the d_ij. This is basically a corrected version of the
	  _extract_tree function added yesterday to
	  FjClusterSequenceWithMeanArea (now removed from that class). 

	* Arranged for FjClusterSequenceWithMeanArea to use the new
	  unique_history_order to map jets between the plain clustering
	  and that with the active area measurement. First tests suggests
	  that it's behaving properly (i.e. giving same results as before
	  for the kt algorithm, and sensible looking results for the
	  cambridge algorithm).

	
2006-06-05  Gavin Salam  <salam@lpthe.jussieu.fr>
	* Added the _extract_tree private member function to
	  FjClusterSequenceWithMeanArea, which extracts a tree that should
	  have a unique ordering independently of degeneracies in the
	  labelling of the clustering. It comes along with some
	  helpers... Maybe it should be transferred into the main class?
	
2006-06-04  Gavin Salam  <salam@lpthe.jussieu.fr>

	* Added the jets(), history() and n_particles() member functions
	  to FjClusterSequence so that the user can access this raw
	  information if they want to (this was a solution to the problem
	  of accessing things when transferring info between area classes
	  -- somehow protected information of an object of a related class
	  is not available to "this"). These functions provide a const ref
	  (so hopefully the user can't do anything dangerous).

	* reworked transfer of information from the ...WithArea ->
	  ...WithMeanArea classes, so that now all jets should have a mean
	  area associated with them, and it might even work for the
	  Cambridge algorithm [though one has to watch out for possible
	  degeneracies there at the stage of jets -> inclusive jets].
	
2006-06-02  Gavin Salam  <salam@lpthe.jussieu.fr>

	* FjClusterSequenceWithMeanArea.* -- split this into .cc and .hh
	  files to make things a bit cleaner in future.

	* FjClusterSequenceWithArea.* added is_pure_ghost() function and
	  modified calculation of areas so that it occurs in a
	  post-processing stage; got areas-native to print out whether a
	  jet is a true one or a ghost one...
	
	* FjClusterSequence.cc: made _fill_initial_history reserve space
	  in _jets and _history.

2006-06-01  Gavin Salam  <salam@lpthe.jussieu.fr>

	* FjClusterSequence.cc: caused it to throw an error if the event
	  is empty. (Should think about what happens if the event contains
	  only one parton?)

2006-05-31  Gavin Salam  <salam@lpthe.jussieu.fr>

	* added -cone075 options for areas/subtraction-tests-mass.cc
  	  (overlap fraction of 0.75 with standard midpoint cone)
	
2006-05-29  Gavin Salam  <salam@lpthe.jussieu.fr>

	* added a few more options for areas/subtraction-tests-mass.cc
	  (one of them allowing one to eliminate the temporary
	  intermediate file in run-mass-tests.sh)
	
2006-05-27  Gavin Salam  <salam@lpthe.jussieu.fr>

	* added enum FjClusterSequence::FjJetFinder, which defines the
   	  kt_algorithm and the cambridge_algorithm; implemented
	  FjClusterSequence::set_jet_finder which determines which of the
	  two algorithms to use in the clustering. Added -cam option to
	  fastjet_timing and subtraction-tests-mass. Note that the
	  Cambridge impleemntation is extremely crude , that many
	  functionalities are still missing, and that we will almost
	  certain want to rethink the interface to it at some later
	  point...
	
	* added areas/merge-hist.pl for merging histograms and added a
	  -freq option to subtractes-tests-mass so as to allow output of
	  intermediate results.
	
2006-05-26  Gavin Salam  <salam@lpthe.jussieu.fr>

        * in areas/subtraction-tests-mass.cc: changed outnormalisation of
	  histograms so as to make it easy to compare histograms made with
	  different bin widths and different numbers of events.
	
	* in areas/subtraction-tests-mass.cc introduced -cone and
	  -searchcone options for running with the plain midpoint cone and
	  CDF's IR nearly unsafe midpoint searchcone algo.	
	
	* added areas/run-mass-test.pl which runs pythia and pipes its
	  output into subtraction-tests-mass (via a named pipe, splitting
	  up the options appropriately between the two programs).

	* copied areas/subtraction-tests.cc -> subtraction-tests-mass.cc and
	  started organizing it a bit better, removing extraneous material
	  etc.; added new option -bin (sets the bin width).

	* introduced -in and -out options for subtraction-tests.cc (naming
	  the files makes it easier to figure out what's going on when we
	  look at an output file later).



2006-05-25  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo for conception

	* added examples/test-correctness.sh for testing that all the
	  different algorithms are giving consistent results

	* in FjClusterSequence.hh, introduced jet_scale_for_algorithm,
	  which given a jet returns the scale to be used in the
	  clustering. Currently it is kt^2, but by replacing it with the
	  1, one gets the Cambridge/Aachen algorithm. Made modifications
  	  elsewhere so that everything should now be using the new form;
	  still need to check that with the scale set to 1 it gives the
	  same as the Cambridge algorithm code [and maybe want to examine
	  timings?].

2006-05-24  Gavin SALAM  <salam@lpthe.jussieu.fr>

        * In areas/, added basic histogramming class (CSHisto), and used
	  it to look at mass distribution of a reconstructed Z (decayed to
	  two jets).
	
        * In FjPseudoJet.* added m2() member function and one instance of
	  a multiplication operator.
	
	* In DynamicNearestNeighbours.hh and DnnPlane.cc, renamed
	  DNN_Error -> DnnError, and added a constructor for DnnError that
	  prints out an error message.

	* Added the file include/FjError.hh which defines a class FjError
	  that is used for throwing all exceptions (except those related
	  to DnnError -- maybe need to catch things there?)

2006-05-23  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo (part)

	* Added FjClusterSequenceWithMeanArea::play option when calling
	  FjClusterSequenceWithMeanAreapt_per_unit_area, for printing
	  out all sorts of bits and pieces; median was renamed old_median,
	  and now median gives a median which takes into account also the
	  average number of non-jets when calculating the median position.
          It is this new median that is now used also when determining
	  cuts for averages.
	  
          Mean pt/area ratios and overal pt/area ratios now also take into
	  account the non-jet number and area (respectively).
	

2006-05-22  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

        * modified (areas|examples)/CmdLine.* so as to have the facility
	  to find out if there are any unused/invalid options.
	
	* Added areas/subtraction-tests.cc for examining how subtraction
	  of underlying events etc works 

	* Added internal support for getting "non-jet" areas inside
	areas/FjClusterSequenceWithMeanArea.hh (but no external handles
	for time being).
	
	* modified a couple of comments in FjPseudoJet.hh to better
	  reflect return values of plain_distance().

2006-05-15  Gavin SALAM  <salam@lpthe.jussieu.fr> + Matteo

	* Added areas/areas-test-mean-class and
	areas/FjClusterSequenceWithMeanArea.hh to help automate the study
	of areas and relevant subtractions. Played with it a bit...
	
	* in FjClusterSequence.hh -> included cmath and switched abs ->
	std::abs (following compiler complaints with g++ 4.1.0, where we
	would have got int abs(int) rather than the double version).

	* in FjClusterSequence.hh: made the clustering history protected
	rather than private.
	
2006-05-12  Gavin SALAM + Matteo Cacciari  <salam@lpthe.jussieu.fr>

	* in areas/areas-histogramming.cc (not part of release) discovered
	that CGAL (probably) is playing with random numbers messing up our
	sequence for area studies via creation of ghosts; so currently
	set explicit new seed at each turn of loop. 

	Also fixed Makefile dependencies in areas/. 

	Also, writeout_combinations with FlClusterSequence_witharea now
	prints out the full list of particles (including ghosts) before
	clustering. 
	
	* discovered problem with gcc-3.2.3 and certain events,
	specifically: 

	./fastjet_timing -combine 10 -incl 0.0 -strategy 2 < ../../Pythia-1PtMin50+nMinBias-mansorted.dat

	The problem manifests itself when erasing things from the tree,
	but hasn't been identified beyond that; running it with valgrind
	it miraculously works (and gives no valgrind errors). It works
	also with gcc-3.3 (Mac) and gcc-3.4.3 (zetes). Some commented code
	is in FjClusterSequence_Delaunay to try to uncover what's
	happening, but no conclusion has been reached yet. Non-Delaunay
	variants work fine (3pi,4pi variants have problems for different
	event sets, e.g. -combine 12).
	
2006-04-04  Gavin SALAM  + Matteo Cacciari <salam@lpthe.jussieu.fr>

	* src/FjClusterSequence_Delaunay.cc: in _add_ktdistance_to_map,
	changed if (kt2i <  _jets[jj].kt2()) to 
                if (kt2i <= _jets[jj].kt2())
        so as catch the case when the two are equal.
	
2006-03-??  Gavin SALAM  + Matteo Cacciari <salam@lpthe.jussieu.fr>

        * some bug fixes to sanitization routines (appeared with different
	compiler version).
	
2006-02-28  Gavin SALAM  <salam@lpthe.jussieu.fr>

	* Replaced typedef std::pair<double,double> EtaPhi with a class
	that allows one to conveniently sanitize phi into the correct range.

	* From FjClusterSequence::_delaunay_cluster, called the
	sanitization routine when inserting a new point... Should make
	thing a bit more robust in cases where arithmetic rounding tricks
	cause confusion bewteen 0 and 2pi.
	
2006-02-26  Gavin Salam  <salam@lpthe.jussieu.fr>

	* adapted timing scripts so as to get reasonable behaviour for
	very high N (including subtraction of read time and limiting
	nstat). 

2006-02-17  Gavin SALAM  <salam@lpthe.jussieu.fr> & Matteo Cacciari

	This is release v1.0.0b3

	* fixed huge memory leak in the N ln N CGAL-based strategies.

	* changes to internal structure of FjClusterSequence class to
	simplify future developments.

2006-02-13  Gavin Salam  <salam@lpthe.jussieu.fr>

	This is release v1.0.0b2

	* added "#include <cassert>" in places where it's needed (thanks
	to Thomas Kluge for pointing out the need for this).

	* Improved error message in case of request for N ln N strategy
	when CGAL has not been compiled in.

	* when creating package, main Makefile is automatically modified
	to have USE_CGAL=no (the original is put back after creating the
	tarfile).
	
2006-02-13   v1.0.0b1
	* arranged for harmonisation of behaviour of the various example
	programs...
	
2006-02-04   v1.0.0b0
	* added minimal standard files (ChangeLog, LICENSE) and headers
	for GNU dist and included cvs ID string in all code files.

----------------------------------------------------------------------
2006/02/04 GPS
--------------

FjClusterSequence.hh
FjClusterSequence_TiledN2.cc
        fixed bug in tiling for R/=1 (assumptions about indices for
        wrapping in phi that were hard-coded for R=1).

example/ktjet_timing.cc  *** ADDED ***
        Makefile adapted too...

----------------------------------------------------------------------
2006/02/03 GPS
--------------

Various things done since copying across from previous directory in
preparation for release:

Name changes:        Fj prefix added to public types
FjStrategy:          turned into enum and renamed from "clever"
directory structure: src/, example/, lib/, include/ rather single dir
documentation:       added doc/fastjet-doc.tex as a manual

