FastJet 3.5.3
Loading...
Searching...
No Matches
NEWS
1Release Notes for FastJet
2-------------------------
3
4================================================================
5Summary of changes from v3.5.2 -> v3.5.3: 2026-10-17
6================================================================
7
8Bug fixes:
9
10* fixed issue where copies of ClusterSequence objects failed to copy
11 underlying value of centre-of-mass energy Q. Relevant for e+e-
12 collisions and use with ycut thresholds. Reported by Giovanni Stagnitto.
13
14================================================================
15Summary of changes from v3.5.1 -> v3.5.2: 2026-09-26
16================================================================
17
18Bug fixes:
19
20* resolved issue where Tiled strategies give segfault if all
21 particles have E=|pz|. This is almost impossible in phenomenological
22 contexts, but arose in PanScales log-accuracy testing.
23* CMakeLists.txt now defines "HAS_SHARED", needed in fastjet-config
24 (thanks to Alexander Puck Neuwirth)
25* added missing INSTALL-CMake.md file in tarball
26
27Other changes:
28
29* SISCone updated to 3.1.3 to resolve CMake issues with accessing getopt
30 on Windows (NB: Windows _not_ officially supported by the authors).
31
32================================================================
33Summary of changes from v3.5.0 -> v3.5.1: 2025-07-01
34================================================================
35
36Improvements to existing features:
37
38* CMake build system improvements, notably Windows DLL support and new
39 option to turn off build of examples and build just the Python
40 interface (thanks to Lindsey Gray and Andrii Verbytskyi). Note that
41 Windows is _not_ officially supported by the FastJet authors.
42
43Bug fixes:
44
45* resolved issue with fjcore & fastjet coexistence when fjcore header
46 was included before the fastjet one. New fjcore should work with
47 all past or current fastjet versions and vice-versa.
48
49* small fixes for doxygen processing with more recent doxygen versions
50
51* adjustments to use proper ${CMAKE_INSTALL_LIBDIR} (e.g. lib64) also
52 in RPATH
53
54Other changes:
55
56* SISCone updated to 3.1.2, with similar CMake improvements.
57
58================================================================
59Summary of changes from v3.4.3 -> v3.5.0: 2025-05-22
60================================================================
61
62New features:
63
64* CMake build system added, with major contributions from Lindsey Gray
65 and input also from Matthew Feickert, Henry Schreiner and Andrii
66 Verbytskyi.
67
68Improvements to existing features:
69
70* The N2Plain strategy now avoids a pathology for small-R and
71 high multiplicities, noted in 2503.08146. Note that typical running at
72 the relevant multiplicities does not use N2Plain, but instead tiled
73 strategies which are not affected by this issue.
74
75Bug fixes:
76
77* fix of compilation errors in D0RunIICone that emerged
78 with gcc 15 (thanks to Andre Sailer, Alexander Puck Neuwirth, Dmitri
79 Konstantinov, Paul Gessinger and Marek Schonherr for reporting and
80 providing fixes)
81
82* autotools build system: small fixes to make tests more
83 independent of the shell being used (thanks to Eli Schwartz
84 for reporting & providing fixes)
85
86* autotools build system: --enable-cgal-header-only now
87 defaults to yes, as appropriate with modern CGAL versions
88 (Modern CGAL versions can be be enabled with just
89 `--enable-cgal`)
90
91* fix of missing <algorithm> header in some files using std::sort.
92 Does not affect build on gnu/clang compilers. Thanks to
93 Andrii Verbytskyi for submitting this.
94
95Other changes:
96
97* SISCone updated to 3.1.1, with CMake support and some autotools fixes.
98
99================================================================
100Summary of changes from v3.4.2 -> v3.4.3: 2024-07-05
101================================================================
102
103Bug fixes:
104
105* python interface looks also for python3-config
106
107* various build-system upgrades, including merge requests
108 !2 (compatibility with plain sh) and !3 (updated configure scripts)
109 -- thanks to Eli Schwartz.
110
111================================================================
112Summary of changes from v3.4.1 -> v3.4.2: 2023-07-28
113================================================================
114
115Bug fixes:
116
117* small fix in ClosestPair2D class for compatibility with c++20
118 (thanks to Andre Sailer for the report and fix)
119
120* SISCone updated to 3.0.6, which eliminates default -ffast-math
121 compile-time argument, which could cause interference with other code.
122
123================================================================
124Summary of changes from v3.4.0 -> v3.4.1: 2023-05-02
125================================================================
126
127New features:
128
129* JetDefinition has a new clustering strategy, N2PlainEEAccurate,
130 intended to work with the ee_kt_algorithm and ee_genkt_algorithms. It
131 replaces the dot-product evaluation of (1-cos(theta)) with a more
132 accurate cross-product evaluation when two particles are close in
133 angle (~10^{-4}). It has a timing penalty of ~15% but can calculate
134 inter-particle angles down to ~epsilon rather than sqrt(epsilon),
135 where epsilon is machine precision. This work has been ported from
136 PanScales.
137
138* two new functions to make it possible for plugin algorithms to modify
139 user info, as needed for modern flavoured jet-clustering algorithms:
140 . PseudoJet::set_user_info_shared_ptr(...), to allow user info to
141 easily be copied from one jet to another and
142 . ClusterSequence::plugin_non_const_jet(...) to get non-const access
143 to the initial jets.
144
145Bug fixes:
146
147* Resolved MAJOR BUG that arose with full thread-safety enabled
148 (reported by Ludo Scyboz), where PseudoJet::reset_momentum and
149 PseudoJet::operator= failed to update internally cached values of
150 phi() and rap(). In some instances related issues could also lead to
151 race conditions.
152
153* eliminated NaN from square-root of negative mean areas in background
154 estimation (now returns zero)
155
156Other changes:
157
158* auto_ptr interface is now disabled by default (deprecated since c++11,
159 removed in c++17); can be manually enabled at configure-time with
160 --enable-auto-ptr
161
162================================================================
163Summary of changes from v3.3.4 -> v3.4.0: 2021-06-25
164================================================================
165New features:
166
167* addition of support for thread safety. It requires a compiler
168 supporting the C++11 standard (or later) and must be explicitly
169 enabled at configure time. There are two options
170 - the --enable-limited-thread-safety configure option is generally
171 sufficient if each thread is processing entirely distinct events.
172 It should have essentially no speed overhead.
173 - the --enable-thread-safety configure option is required if
174 you want to be able to read/copy/process a common set of PseudoJets
175 across multiple threads. Depending on the system, our tests have
176 shown speed penalties of up to 10-15%.
177 For further details, see section 10 of the manual, doc/fastjet-doc.tex
178
179* The jet area infrastructure has new calls to facilitate reproducible
180 multi-threaded running: AreaDefinition::with_fixed_seed(seed) and
181 GhostedAreaSpec::get_last_seed(seed). See section 10.3.1 of the manual.
182
183* The background estimators have a new interface to facilitate
184 reproducible multi-threaded running:
185 BackgroundEstimatorBase::estimate(...)
186 returns a BackgroundEstimate object, which contains rho, sigma, etc.
187 For details on using it, see sections 8 and 10.3.2 of the manual.
188 The Subtractor class has been updated to use this.
189
190Improvements to existing features:
191
192* the Python interface now has improved exceptions (a fastjet Error is
193 translated into a FastJetError python exception) and can be more
194 easily be used with projects using FastJet that want to define their
195 own python wrappers. Thanks to Patrick Komiske for the suggestions.
196
197* PxConePlugin now has an optional mode argument for e+e- running
198 (mode=1) instead of pp running (mode=2). Thanks to Stefan Kluth for
199 the suggestion.
200
201Bug fixes:
202
203* the Fortran interface to e+e- interface now returns jets ordered
204 in decreasing energy rather than decreasing transverse momentum.
205
206================================================================
207Summary of changes from v3.4.0-beta.1 -> v3.4.0: 2021-06-25
208================================================================
209
210* added set_default_stream_and_mutex to Error and LimitedWarnings
211 to help guard against garbled output
212
213================================================================
214Summary of changes from v3.3.4 -> v3.4.0-beta.1: 2021-03-10
215================================================================
216New features:
217
218* addition of support for thread safety. It requires a compiler
219 supporting the C++11 standard (or later) and must be explicitly
220 enabled at configure time. There are two options
221 - the --enable-limited-thread-safety configure option is generally
222 sufficient if each thread is processing entirely distinct events.
223 It should have essentially no speed overhead.
224 - the --enable-thread-safety configure option is required if
225 you want to be able to read/copy/process a common set of PseudoJets
226 across multiple threads. Depending on the system, our tests have
227 shown speed penalties of up to 10-15%.
228 For further details, see section 10 of the manual, doc/fastjet-doc.tex
229
230* The jet area infrastructure has new calls to facilitate reproducible
231 multi-threaded running: AreaDefinition::with_fixed_seed(seed) and
232 GhostedAreaSpec::get_last_seed(seed). See section 10.3.1 of the manual.
233
234* The background estimators have a new interface to facilitate
235 reproducible multi-threaded running:
236 BackgroundEstimatorBase::estimate(...)
237 returns a BackgroundEstimate object, which contains rho, sigma, etc.
238 For details on using it, see sections 8 and 10.3.2 of the manual.
239 The Subtractor class has been updated to use this.
240
241Improvements to existing features:
242
243* the Python interface now has improved exceptions (a fastjet Error is
244 translated into a FastJetError python exception) and can be more
245 easily be used with projects using FastJet that want to define their
246 own python wrappers. Thanks to Patrick Komiske for the suggestions.
247
248* PxConePlugin now has an optional mode argument for e+e- running
249 (mode=1) instead of pp running (mode=2). Thanks to Stefan Kluth for
250 the suggestion.
251
252Bug fixes:
253
254* the Fortran interface to e+e- interface now returns jets ordered
255 in decreasing energy rather than decreasing transverse momentum.
256
257================================================================
258Summary of changes from v3.3.3 -> v3.3.4: 2020-05-05
259================================================================
260This is a bug-fix release with
261* clarifications in documentation for handling of CGAL v5
262* resolved run-time crash with certain strict g++ options and
263 compilation issue with oracle c++ (both reported by Andrii
264 Verbyitskyi)
265* included SISCone v3.0.5 (fixes signed-unsigned mismatch,
266 no impact on results).
267
268================================================================
269Summary of changes from v3.3.2 -> v3.3.3: 2019-11-29
270================================================================
271
272This is a bug-fix release with
273* improved treatment of CGAL in the build system (thanks to Marco van Leeuwen)
274* fixed an overflow issue in the JadePlugin (thanks to Andrii Verbytskyi)
275
276================================================================
277Summary of changes from v3.3.1 -> v3.3.2: 2018-10-01
278================================================================
279
280* improved the shared-library behaviour by setting the proper
281 inter-dependences (thanks to Jan Strube)
282* included SISCone v3.0.4 with a similar fix
283
284================================================================
285Summary of changes from v3.3.0 -> v3.3.1: 2018-04-24
286================================================================
287
288* Main FastJet License clarified as being GPL v2 or later
289* added theta() and cos_theta() members to PseudoJet
290* added a --with-cgal-boostdir=... configure option to handle
291 cases where CGAL uses a non-standard Boost installation path
292* fixed compilation bug in the SISCone interface
293 (thanks to Attila Krasznahorkay)
294
295================================================================
296Summary of changes from v3.2.2 -> v3.3.0: 2017-07-12
297================================================================
298
299This release adds a first version of a Python interface to
300FastJet (some details may still evolve in the future).
301Enable it with --enable-pyext at configure time and see
302examples/python/ for usage.
303
304Thanks to Lily Asquith, Stefano Carrazza and Eric Metodiev for
305testing and helpful feedback.
306
307================================================================
308***** PUT IN CHANGES from v3.2.1 -> v3.2.2: 2017-05-23
309================================================================
310This is a bug-fix release. Main changes:
311
312* fixed issue with negative masses in MassDropTagger
313 (reported by Johannes Elmsheuser)
314* fixed the return type of some PseudoJet operators
315* fixed type mismatch for diJ_plus_link in NNFJN2Tiled
316
317================================================================
318Summary of changes from v3.2.0 -> v3.2.1: 2016-08-04
319================================================================
320This is a bug-fix release. Main changes:
321
322* added a missing assignment operator for ClusterSequence
323 (reported by Roberto Franceschini)
324* eliminated a warning about unused variables when assertions are
325 disabled (reported by Andy Buckley)
326* included SISCone-3.0.3 which now installs config.h to improve
327 build stability
328
329================================================================
330Summary of changes from v3.1.3 -> v3.2.0: 2016-03-17
331================================================================
332
333* exposed the N2Plain and N2Tiled strategies for 3rd-party clustering
334 algorithms under the form of two new classes (NNFJN2Plain and
335 NNFJN2Tiled), similar to NNH
336* included version 3.0.2 SISCone with minor bug fixes
337* made template implementation of PseudoJet::obj_sorted_by_values() public
338* added a --guess-prefix option to fastjet-config (guesses prefix
339 from location of fastjet-config instead of prefix from configure)
340* added a --disable-auto-ptr option to configure (for clean C++11 compilation)
341* added internal helpers for C++11 and C++14 features: compile-time
342 deprecation and the override keyword
343* small tweaks to the build system
344* fjcore now ships with an illustrative fortran wrapper and example
345
346================================================================
347Summary of changes from v3.1.2 -> v3.1.3: 2015-07-04
348================================================================
349This is a maintenance relase with the following changes:
350* disabled JetDefinition::operator(...) when CINT is detected, for
351 ROOT v5 compatibility.
352* worked around an issue with recent versions of CGAL and the clang
353 compiler
354
355================================================================
356Summary of changes from v3.1.1 -> v3.1.2: 2015-03-12
357================================================================
358This is a bug-fix release. Main changes:
359
360* fixed rounding error issue in the "lazy" clustering strategies that,
361 in rare cases, caused infinite loops or crashes (reported by Jochen Ott).
362* added check on clustering's internal consistency; failure will throw
363 a new "InternalError" exception (derived from Error).
364* fixed bug in extraction of fjcore code that resulted in fjcore
365 failing for high multiplicities (~1000) (reported by Sergei Chekanov).
366 Only affects fjcore, not the full fastjet library.
367
368================================================================
369Summary of changes from v3.1.0 -> v3.1.1: 2015-01-06
370================================================================
371This is a bug-fix release. Main changes:
372
373* fix to area support for Filter with Cambridge/Aachen jets and subjets
374* GridMedianBackgroundEstimator has new constructor and RectangularGrid as public base
375* added virtual destructor to TilingBase class
376
377================================================================
378Summary of changes from v3.0.6 -> v3.1.0: 2014-09-30
379================================================================
380* Significant speed improvements (x1.5-10) for large N (few thousand-10^5)
381* FASTJET_VERSION_NUMBER preprocessor symbol, for easy in-code version testing
382* New JetDefinition::operator(): jets = jet_def(particles);
383* Native particle-mass support in PU estimation (rho_m())
384* Subtraction can use rho_m (set_use_rho_m()) and force m>0 (set_safe_mass())
385* Addition of Winner-Takes-All recomb. schemes (WTA_pt_scheme, WTA_modp_scheme)
386* SISCone updated to v3.0.0 (addition of SISCone with progressive removal)
387* New Recluster class, serving as base for Filter
388* New RectangularGrid class, base for GridMedianEstimator & GridJetPlugin
389* Fixed long-standing issue with coincident points in NlnN strategies
390* Other small additions and changes include:
391 * Selector::sum(particles) to get 4-vector sum of particles that pass selector
392 * pruned_jet.structure_of<Pruner>() has Rcut() and zcut() functions
393 * easy copying of Recombiner info: jet_def1.set_recombiner(jet_def2)
394* Various bug-fixes, build-system tweaks (e.g. default -O2 instead of -O3)
395
396================================================================
397Summary of changes from v3.1.0-beta.1 -> v3.1.0: 2014-09-30
398================================================================
399* Addition of Winner-Takes-All recomb. schemes (WTA_pt_scheme, WTA_modp_scheme)
400* SISCone updated to v3.0.0 (addition of SISCone with progressive removal)
401* minor changes including doxygen doc fixes and elimination of gcc warnings
402
403================================================================
404Summary of changes from v3.0.6 -> v3.1.0-beta.1: 2014-08-15
405================================================================
406* Significant speed improvements (x1.5-10) for large N (few thousand-10^5)
407* FASTJET_VERSION_NUMBER preprocessor symbol, for easy in-code version testing
408* New JetDefinition::operator(): jets = jet_def(particles);
409* Native particle-mass support in PU estimation (rho_m())
410* Subtraction can use rho_m (set_use_rho_m()) and force m>0 (set_safe_mass())
411* New Recluster class, serving as base for Filter
412* New RectangularGrid class, base for GridMedianEstimator & GridJetPlugin
413* Fixed long-standing issue with coincident points in NlnN strategies
414* Other small additions and changes include:
415 * Selector::sum(particles) to get 4-vector sum of particles that pass selector
416 * pruned_jet.structure_of<Pruner>() has Rcut() and zcut() functions
417 * easy copying of Recombiner info: jet_def1.set_recombiner(jet_def2)
418* Various bug-fixes, build-system tweaks (e.g. default -O2 instead of -O3)
419
420================================================================
421Summary of changes from v3.0.5 -> v3.0.6: 2013-10-29
422================================================================
423This is a minor maintenance release. Main changes:
424* fixed compilation issues for two plugins under OS X 10.9 (Mavericks)
425* fixed incorrect warnings in JHTopTagger, MassDropTagger and an example
426* GridJetPlugin now has extra enquiry functions
427
428================================================================
429Summary of changes from v3.0.4 -> v3.0.5: 2013-09-16
430================================================================
431This is a minor maintenance release. Main changes:
432* modified include guards, to solve coexistence issue for fjcore
433* resolved (bogus) compiler warning about uninitialised variables
434* added an example event file that was missing from the distribution
435
436================================================================
437Summary of changes from v3.0.3 -> v3.0.4: 2013-06-05
438================================================================
439
440This is a minor maintenance release. Changes include:
441* dummy init of PseudoJet rapidity to avoid warnings with some configs.
442* minor code structure adjustments to allow for release of fjcore
443* inclusion of SISCone 2.0.6
444
445================================================================
446Summary of changes from v3.0.2 -> v3.0.3: 26/06/12
447================================================================
448
449This is a bug-fix release, fixing
450
451* compilation issues with g++-4.7 and clang
452* issue of missing documentation figures in the tarball
453* issue with the --enable-extra-warnings flag in configure
454
455================================================================
456Summary of changes from v3.0.1 -> v3.0.2: 17/01/12
457================================================================
458
459This is a bug-fix release, including
460
461* small fixes to the build system and fastjet-config
462* further licence clarifications
463* user can force early printing of banner with ClusterSequence::print_banner()
464* included SISCone 2.0.5 (with small modifications to the build system)
465
466================================================================
467Summary of changes from v3.0.0 -> v3.0.1: 25/11/11
468================================================================
469
470Version 3.0.1 includes further reorganisation of the manual (version to
471appear on arXiv), and a number of small additional changes, including :
472
473* PseudoJet now also has a pt() member function for transverse momentum
474* minor speed improvements (very low N + strategy choice for N ~ 20-50)
475* elimination of many compilation warnings found with -Wextra -Wshadow
476* clarification of licenses for many of the plugins + new plugin banners
477* fixed a memory leak in the ATLASConePlugin
478
479================================================================
480Summary of changes from v2.4.4 -> v3.0.0: 09/10/11
481================================================================
482
483Changes relative to the 2.4.x series include:
484
485Addition of FastJet tools:
486
487 * Filtering, trimming, pruning and a few boosted object taggers as
488 part of a new native "Transformers" framework for post-clustering
489 manipulation of jets
490
491 * New background estimation and subtraction interface, with
492 JetMedianBackgroundEstimator, GridMedianBackgroundEstimator and Subtractor.
493
494New functionality:
495
496 * Enhancement of the PseudoJet class so that jets are now aware of their
497 internal structure (e.g. one can use jet.constituents()).
498 * It is possible to associate arbitrary user information with a PseudoJet.
499 * Selectors, which allow easy communication of cuts across different functions
500
501Other changes:
502
503 * Improved doxygen and examples
504 * aids for easier memory management
505 * elimination of the R<pi/2 restriction on native jet algorithms
506 * control of Error and warning output, including public LimitedWarning class
507 * new plugins (GridJet and two D0RunICone plugins)
508 * enhanced fortran wrappers
509
510Interface modifications (May break backwards compatibility):
511
512 * by default a JetDefinition is initialised to undefined_jet_algorithm
513 instead of kt_algorithm with a radius of 1.
514 * JetDefinition::DefaultRecombiner sets the user index of the result
515 of the recombination to -1 (the default for a PseudoJet;
516 previously was being set to 0)
517 * ghosts are placed more sensibly in 3.0 than in the 2.X series;
518 call ghost_area_spec.set_fj2_placement(true) to reinstate old behaviour
519 * CS::exclusive_subjets used to silently return fewer subjets than
520 requested if there were too few particles in a jet; to be
521 consistent with exclusive_jets(...) it now throws an exception;
522 use exclusive_jets_up_to(...) and exclusive_subjets_up_to(...) to
523 avoid the exception.
524 * ATLASCone and TrackJet plugins use stable_sort instead of sort for
525 more stable behaviour across architectures and compiler versions;
526 this can change clustering results in events with degeneracies.
527 * some legacy headers have been removed (include/FjPseudoJet.hh and
528 include/FjClusterSequence.hh), and some classes are deprecated:
529 ClusterSequenceWithArea (use ClusterSequenceArea instead),
530 ActiveAreaSpec (use GhostedAreaSpec instead), and RangeDefinition
531 and CircularRange (use Selector instead); see appendix G in manual
532 for further small removals.
533
534Configure modifications
535
536 * the plugins are by default built in a single 'libfastjetplugin'
537 library. This is transparent if you use the fastjet-config
538 script. The previous behaviour (each plugin in its own library)
539 can be recovered by passing the --disable-monolithic option to
540 configure.
541 * an additional library, libfastjettools, contains tools like
542 boosted object taggers, filters, etc. It is included by default
543 with "fastjet-config --libs"
544
545
546New features relative to 3.0beta1:
547
548 * addition of Pruner class
549 * control of Error and warning output, including public LimitedWarning class
550 * addition of SelectorIsZero
551 * ClusterSequence::childless_pseudojets()
552
553Bug fixes and other changes relative to 3.0beta1:
554
555 * JetMedianBackgroundEstimator::set_particles(...) no longer resets other parameters
556 * fixed issue with persistency of internal recombiner in Filter
557 * removed deprecated ClusterSequence constructor with R (rather than
558 jet def) and also CS::set_jet_algorithm(...), CS::set_jet_def(...)
559
560
561================================================================
562Summary of changes from v3.0beta1 -> v3.0.0: 09 October 2011
563================================================================
564New features:
565- addition of Pruner class
566- control of Error and warning output, including public LimitedWarning class
567- addition of SelectorIsZero
568- ClusterSequence::childless_pseudojets()
569
570Bug fixes and other changes
571- JetMedianBackgroundEstimator::set_particles(...) no longer resets other parameters
572- fixed issue with persistency of internal recombiner in Filter
573- removed deprecated ClusterSequence constructor with R (rather than jet def)
574 and also CS::set_jet_algorithm(...), CS::set_jet_def(...)
575
576================================================================
577Summary of changes from v3.0alpha3 -> v3.0beta1: 10 August 2011
578================================================================
579New features
580- Reorganised background estimation to have a JetMedianBackgroundEstimator
581 and a GridMedianBackgroundEstimator (derived from BackgroundEstimatorBase)
582 [v3.0alpha3 programs should replace BackgroundEstimator
583 -> JetMedianBackgroundEstimator, and use a new order of constructor arguments]
584- Added the GridJetPlugin
585- added a TopTaggerBase and a Johns Hopkins top tagger (JHTopTagger)
586- to JetDefinition added delete_plugin_when_unused(),
587 delete_recombiner_when_unused()
588- improved Filter (for area and recombiner support, also works with a subtractor)
589- added a --config flag to fastjet-config
590
591Bug fixes and other changes
592- some speed gains in the default recombiner
593- TrackJet and ATLASCone now use stable_sort (can change results;
594 makes results stable across machine architectures & compilers, cf BUGS)
595- fixed bugs in Voronoi areas (as in v.2.4.4)
596- fixed bugs in handling of empty areas in background estimator (as in 2.4.4)
597- renamed SelectorMXXX -> SelectorMassXXX
598- renamed NSubjettinessTagger -> RestFrameNSubjettinessTagger
599- exclusive_[sub]jets(njets) now consistenty throws an error if it
600 can't deliver njets; exclusive_[sub]jets_upto(njets) gives up to njets
601- deprecated ClusterSequenceWithArea and ActiveAreaSpec
602 (ClusterSequenceWithArea no longer available from
603 ClusterSequenceArea.hh header)
604- deprecated RangeDefinition & CircularRange; use Selector instead
605- reorganisation of substantial parts of the manual
606
607
608================================================================
609Summary of changes from v3.0alpha2 -> v3.0alpha3: 03 June 2011
610================================================================
611
612New features
613- Added a series of "Transformer"s in tools/:
614 * Subtractor: subtract the jet using a BackgroundEstimator
615 * Boost/Unboost: boosts/unboosts a jet
616 * MassDropTagger: look for a mass drop in the jet substructure
617 * NSubjettinessTagger: 2-pronged tagger based on rest-frame 2-subjettiness
618 * CASubJetTagger: 2-pronged tagger based on maximal distance in jet history
619 * Filter updated from alpha2 (bug fixes & new constructors)
620 NB: examples 11 (boosted Higgs) and 12 (Filter) illustrate usage.
621
622- CS::delete_self_when_unused() allows it to handle its own memory management
623- GhostedAreaSpec can take a Selector to help specify ghost placement
624- added a FunctionOfPseudoJet<T> base class to help standardise tool interfaces
625- ClusterSequence::transfer_from_sequence now allows for a
626 FunctionOfPseudoJet<PseudoJet> argument to transform (e.g. boost)
627 the jets from an old sequence as they are transferred to the new one
628- fortran interface now has basic area functionality
629
630Changes to features introduced in alpha2 and alpha1:
631- Numerous changes to BackgroundEstimator
632 * it allows manual encoding of rapidity dependence;
633 * it can calculate density of quantities other than pt;
634 * it has additional constructors, plus methods to reset its ClusterSequence, etc.
635 * its sigma() now properly handles finite numbers of jets (+ other bug fixes).
636- jet.pieces() for a jet from a clustering now returns the two parents
637- various changes to behaviour of a jet's structural calls; see new table in doc
638- PseudoJet::extra_properties<...>() -> PseudoJet::structure_of<...>() (cf example 12)
639- join(...) can now include a recombiner argument; it also now supports areas
640- Selector::count(jets) to know how many pass a cut (also new: Selector::sift)
641
642Other changes
643- by default a PseudoJet is constructed with zero momentum
644- by default a JetDefinition has an undefined_jet_algorithm
645- efficiency improvements in PtYPhiM and ghost generation
646- all uses of RangeDefinition now replaced by Selector. Old interfaces
647 retained, but deprecated.
648- added an example (09) to illustrate how to add user-info to a PseudoJet
649- doxygen output now configured with an internal search engine
650
651Bug fixes
652- the default recombiner used to set the user_index to the non-default
653 value of 0. Now it sets it to the default (-1).
654- fixed crashes of VoronoiAreas for particles on a grid (also in 2.4.3)
655
656
657================================================================
658Summary of changes from v3.0alpha1 -> v3.0alpha2: 10 March 2011
659================================================================
660
661New features:
662- two jets, a and b can now be joined: PseudoJet c = join(a,b),
663 intended to facilitate packaging the result of substructure tools;
664 individual pieces can be recovered with c.pieces();
665- New PseudoJetStructureBase class, to help implement such features
666- New fastjet/tools/Filter.hh provides a unified interface to filtering and trimming
667- New very preliminary fastjet/tools/BackgroundEstimator.hh to provide
668 a more flexible interface to estimation of backgrounds (removal of
669 hardest jets, etc.).
670- a few extra Selectors
671
672Changes to features introduced in alpha1:
673- Selector is now in fastjet/Selector.hh (no longer fastjet/tools/...)
674- Selector::relocate(...) and is_relocatable() renamed to
675 Selector::set_reference(...) and takes_reference()
676- PseudoJet::ExtraInfo has been renamed PseudoJet::UserInfoBase and
677 corresponding access functions are now called set_user_info(...), etc.
678
679Other changes and fixes
680- some legacy headers removed
681- bug fixes in NlnNCam strategies for R>pi
682
683===========================================================
684Summary of changes from v2.4.X -> v3.0alpha1: 27 January 2011
685===========================================================
686
687This is an alpha release, previewing some of the new features that are
688expected to be available in FastJet version 3. Interfaces of new
689features may yet evolve.
690
691New features:
692- Several extensions to PseudoJet:
693 * it now knows what ClusterSequence it belongs to
694 * info about internals of jets can be accessed e.g. as jet.constituents()
695 * it now has a virtual destructor + other support for classes derived from PseudoJet
696 * new facilities for associating user info with a jet (see PseudoJet::ExtraInfo)
697 * some of these features make use of a new SharedPtr class
698 (intended mainly for advanced users)
699 similar to C++0x std::shared_ptr
700 * calculation of phi and rapidity (cached) only on request
701- R can now be taken larger than pi/2 for natively coded jet algorithms
702- Addition of "Selector" tools through #include "fastjet/tools/Selector.hh"
703- New plugin for D0RunICone (code contributed by Lars Sonnenschein)
704- Improvements to fortran wrapper (access to SISCone, jet constituents, etc.)
705
706Bug fixes:
707- fixed issue with inconsistent returned sign in PseudoJet::delta_phi_to(...)
708
709Other notable changes:
710- Revamping of examples
711- by default all plugins are now packaged into libfastjetplugins.
712 Note that "external" libraries like libsiscone are still separate.
713- Significant improvements to doxygen documentation
714
715===========================================================
716Summary of changes from v2.4.1 -> v2.4.2: 26 February 2010
717===========================================================
718- exclusive_ymerge_max(...) was not working; now fixed
719- the D0RunIIConePlugin gave segfaults for some parameters; now fixed
720- the D0RunIIConePlugin gave different results on 32/64 bit machines;
721 optimisation flags now changed just for D0 code so that 32 bit gives same
722 results as 64 bit.
723- changes to configure.ac to better handle fortran compiler checks
724- removed some orphan/redundant code that was generating compilation warnings
725- added an "--enable-monolithic" option to ./configure which causes
726 all plugins to be placed in a single library (except SISCone)
727- added a "--list-plugins" option to fastjet-config
728
729=======================================================
730Summary of changes from v2.4.0 -> v2.4.1: 29 May 2009
731=======================================================
732
733Fixes to the build system
734-------------------------
735- Included SISCone 2.0.1 (shared libs now enabled by default in
736 SISCone too, and other small fixes)
737- Fixed platform-dependent failures during make check
738- Fixed gcc 4.4 compatibility issues (missing headers)
739- Fixed a problem on Mac OS X with the arguments provided by
740 "fastjet-config --libs" (--rpath versus -rpath).
741- fastjet-config has new optional arguments (--rpath=no, --runpath)
742 related to finding shared libraries at runtime on linux.
743 Run fastjet-config without any arguments for more info.
744 To instead use static libraries, either configure with the
745 --disable-shared option, or use fastjet-config with the --shared=no option.
746- fastjet-config can now take --cxxflags and --libs in a single invocation
747- With --cxxflags, fastjet-config now returns the minimal required set of arguments
748- Various other small mods (better fortran support, standardisation, ...)
749 [thanks to Andy Buckley and David Grellscheid for suggestions]
750
751Also
752----
753- Added a fortran wrapper for pp sequential recombination algorithms
754- Fixed issue in median rho estimation when some jets have zero area
755- Expanded descriptions that are returned by ATLAS/TrackJet/CMS plugins
756- Warnings are no longer given when using exclusive jets with
757 Cam/Aachen and certain e+e- algorithms (the warnings were misleading)
758- Small fixes to the manual
759
760=======================================================
761Summary of changes from v2.3.X -> v2.4.0: 17 April 2009
762=======================================================
763
764
765New pp algorithms
766-----------------
767
768- added implementation of generalised kt algorithm (genkt_algorithm) for pp
769- added D0RunIICone plugin [--enable-d0runiicone at configure time]
770- added ATLASCone Plugin [--enable-atlascone at configure time]
771- added CMSIterativeConePlugin [--enable-cmsiterativecone at configure time]
772- added TrackJet Plugin (used by CDF in UE studies)
773 [--enable-trackjet at configure time]
774
775Introduction of e+e- algorithms
776-------------------------------
777
778- added an implementation of the e+e- kt algorithm (ee_kt_algorithm),
779- added EECambridgePlugin for the (original) e+e- Cambridge algorithm
780- added JADEPlugin for the JADE algorithm (see the ChangeLog or header
781 file for details)
782- added SISConeSphericalPlugin [enabled by default] for SISCone in
783 e+e- and other spherical environments.
784- native implementation of generalised kt algorithm for e+e- (ee_genkt_algorithm)
785 [also provides access to e+e- form of anti-kt alg, conical jets on a sphere]
786- added JadePlugin for the e+e- Jade algorithm
787
788Meta-algorithms
789----------------
790
791- added NestedDefs plugin for daisy-chaining multiple jet definitions
792 [still under testing; API may change in the future]
793
794New functionality
795-----------------
796- added subjet functions for viewing jet at particular dcut, etc.
797- added access to exclusive jets based on ycut as well as dcut (for e+e-)
798- added support for asymmetric rapidity ranges in GhostedAreaSpec
799- added support for a CircularRange (derived from RangeDefinition) for
800 use in background estimation
801- added class NNH to help users implement algorithms with
802 user-chosen distance measure (see JadePlugin for an example)
803
804Interface modifications
805-----------------------
806- removed default value of 0.5 for overlap_threshold in
807 CDFMidPointPlugin, CDFJetCluPlugin and SISConePlugin constructors
808
809 *** may break backwards compatibility ***
810
811- a JetDefinition(jet_alg) constructor, without an R value, is no
812 longer legal, except when jet_alg is ee_kt_algorithm (it has no R).
813
814 *** may break backwards compatibility ***
815
816- in SISCone, new way of accessing the information about pass at which
817 a jet was found (old method retained for 2.4, but now deprecated)
818
819
820Configure modifications
821-----------------------
822- added --enable-allplugins and --enable-allcxxplugins options, to
823 avoid having to specify a long list of individual plugins
824- shared libraries are now enabled by default
825
826Bugs fixed
827----------
828- fixed missing support for periodicity in azimuth in RangeDefinition
829 class
830
831Other modifications
832-----------------------
833- added support for CGAL 3.4 (for non-standard locations, specify
834 --with-cgaldir at configure time)
835- removed restriction that fastjet throws exception on empty events
836- added an example that illustrates the use of subjet techniques for
837 a boosted Higgs->b+bbar search
838
839Still to come
840-------------
841- add CMSIterativeCone Plugin
842
843
844
845=======================================================================
846Summary of changes from v2.3.3 -> v2.3.4 (bug fix release): 15 Aug 2008
847==========================================================
848
849- fixed infinite-loop bug in JetClu plugin on certain rare events
850
851- fixed compatibility issues of certain example programs with g++-4.3
852
853- incorporated SISCone 1.3.3 with similar g++-4.3 fixes
854
855=======================================================================
856Summary of changes from v2.3.2 -> v2.3.3 (bug fix release): 28 Apr 2008
857==========================================================
858
859- fixed missing installation of .../config_auto.h
860
861- fixed missing typename in .../SearchTree.hh
862
863=======================================================================
864Summary of changes from v2.3.1 -> v2.3.2 (bug fix release): 03 Apr 2008
865==========================================================
866
867- fixes to propagation of CXXFLAGS through the build chain
868
869- small change in Voronoi area code to fix crashes on regular
870 (calorimeter) layouts of momenta
871
872- small change in active areas code to fix crashes on algorithms that
873 do not cluster all particles
874
875- eliminated "using namespace std" that had accidentally been left in
876 certain area header files
877
878- incorporation of SISCone 1.3.2 with fixes for inappropriate public
879 symbols and to build framework
880
881
882======================================================================
883Summary of changes from v2.3.0 -> v2.3.1 (bug fix release)
884==========================================================
885
886- Fixed compilation issues under windows VC7.1 (reported by
887 I. Belyaev); also included SISCone 1.3.1 with similar fixes.
888
889- Fixed speed issue under optimized compilation of CDF MidPoint plugin
890 for 32 bit architectures that had arisen subsequent to the switch to
891 autotools with its common optimization settings.
892
893- Fixed "make check" failure with the --disable-siscone option.
894
895- Fixed crash in exclusive_dmerge(njets) for njets=0 (reported by P. Lenzi)
896
897
898======================================================================
899Summary of changes from v2.1.0 (previous stable release) to v2.3.0
900===================================
901
902- added the anti-kt algorithm (LPTHE-07-03), which is a sequential
903 recombination algorithm that gives conical jets.
904
905- Added Passive and Voronoi areas, and new common class for accessing
906 all types of areas, ClusterSequenceArea.
907
908- switched to autotools for compilation and installation:
909 ./configure --prefix=...
910 make
911 make check [optional]
912 make install
913
914 NB: users should no longer include fastjet-2.x.y/Makefile
915 when building their own programs, and instead should use
916 g++ -c file.cc `fastjet-config --cxxflags`
917 g++ file.o `fastjet-config --libs --plugins`
918
919- plugin include files are now to be accessed with fastjet/ in
920 front of them, i.e.
921 #include "fastjet/SISConePlugin.hh"
922 A simple #include "SISConePlugin.hh" is now obsolete but will
923 continue to work through 2.x
924
925- Added RangeDefinition class to provide more flexibility in UE/pileup
926 estimation.
927
928- New facilities for navigating the cluster sequence (has_parents,
929 has_child and has_partner members of ClusterSequence)
930
931- other bug fixes and small enhancements (including SISCone-1.3.0,
932 improvements to plugin facilities).
933
934See individual beta-releases below for more information, as well as
935the ChangeLog.
936
937
938======================================================================
939Changes from v2.2beta0 to v2.3-beta0
940===================================
941
942- switched to autotools for compilation and installation;
943
944- old build procedure still available for now, with files called
945 makefile.static (make -f makefile.static);
946
947 test-script.sh has been renamed test-static.sh and builds and
948 tests using the old procedure.
949
950- plugins include files are now to be accessed with fastjet/ in
951 front of them, i.e.
952 #include "fastjet/SISConePlugin.hh"
953
954 For backwards compatibility, the old access method will continue
955 to work throughout v2.x, i.e.
956 #include "SISConePlugin.hh"
957
958- added PseudoJet::reset(...) functions to reset the contents of a
959 PseudoJet.
960
961- added fastjet_version_string()
962
963- added a function PtYPhiM(...) that returns a PseudoJet with the
964 given py, rapidity , phi and mass. Defined in PseudoJet.hh
965
966- added a directory fortran_wrapper/ to illustrate how to access
967 fastjet from fortran
968
969- some small bug fixes in the CDF midpoint code
970
971
972======================================================================
973Changes from v2.1.0 to v2.2beta0
974===============================
975
976- added the anti-kt algorithm (LPTHE-07-03)
977
978- Provided a new common class for accessing all different types of
979 areas: ClusterSequenceArea.
980
981- added functionality for Passive areas and Voronoi areas.
982 Areas are now defined much in the same way as jets, via an
983 AreaDefinition, which is passed as an argument
984 to ClusterSequenceArea. NB: the Voronoi area uses Fortune's
985 sweepline code for calculating the Voronoi diagram and so does not
986 require CGAL to be installed (it still is needed for NlnN kt
987 clustering).
988
989- Added class RangeDefinition which allows detailed definitions
990 of the rapidity-azimuth ranges over which to study jet areas
991 and possibly perform noise subtraction
992
993- added facilities for navigating the cluster sequence (has_parents,
994 has_child and has_partner members of ClusterSequence)
995
996- changed plugin base class, so that it now includes R() virtual
997 member, and modified the various plugins to account for this.
998
999- modified the plugin interface to provide facilities to help with
1000 passive areas.
1001
1002- included SISCone-1.2.0 rather than 1.1.1.
1003
1004- adapted SISCone plugin to the 1.2.0 release of SISCone -- main
1005 changes are facilities and improvements related areas: some speed
1006 improvements on the split-merge (relevant for active areas) and a
1007 fairly efficient way of running passive areas.
1008
1009- added ClusterSequence::print_jets_for_root(...) and a corresponding root
1010 script (example/root/jet-plots.C), so as to provide a crude
1011 visualisation tool.
1012
1013
1014======================================================================
1015Summary of main changes from v2.0.0 to v2.1.0
1016=============================================
1017
1018- added plugin structure for external jet finders.
1019
1020- included plugins for SISCone, CDFMidPoint, CDFJetClu, PxCone (with
1021 extensions for MidPoint and bug fixes for PxCone relative to public
1022 codes).
1023
1024- introduced option of control over recombination scheme, with a
1025 RecombinationScheme enum, which applies also to area_4vector.
1026
1027- added description() member function to JetDefinition class, so
1028 that you can get a (string) summary of what you're running!
1029
1030- changed the default number of repeats in ActiveAreaSpec to 1 (which
1031 is sufficient for most purposes).
1032
1033For further details, see the changes listed in detail below.
1034
1035======================================================================
1036Changes from v2.1.0b4 to v2.1.0
1037===============================
1038
1039- corrected bug in test-script.sh
1040
1041- removed PxCone from default tests and from
1042 plugins/usage_examples/many_algs_example.cc (to avoid fortran
1043 compilation issues).
1044
1045======================================================================
1046Changes from v2.1.0b3 to v2.1.0b4
1047=================================
1048
1049FastJet modifications
1050---------------------
1051
1052- default number of repeats for the active area specification has been
1053 changed from 5 to 1 (the latter goes fast, but note that it provides
1054 a zero error estimate for the area).
1055
1056Plugin modifications
1057--------------------
1058
1059- adapted plugin to accomodate new scale for use in the SISCone
1060 split-merge (pttilde), with a corresponding change of interface.
1061
1062 Changed default number of passes for SISCone to 0.
1063
1064- Added the pttilde scale choice to the CDF plugin.
1065
1066
1067
1068======================================================================
1069Changes from v2.1.0b2 to v2.1.0b3
1070=================================
1071
1072FastJet enhancements
1073--------------------
1074
1075- methods for estimating the underlying now have the option of using
1076 area_4vector rather than the plain area
1077
1078FastJet bug fixes
1079-----------------
1080
1081- area_4vector is now calculated with the same recombination scheme as
1082 the jets themselves
1083
1084- massless recombination schemes now work correctly on particles with
1085 zero momentum
1086
1087- PseudoJet::phi_std() returned wrong result for phi < pi -- thanks to
1088 Oscar Stal for pointing this out.
1089
1090Plugin modifications
1091--------------------
1092
1093- the plugin mechanism now allows a plugin to add "extra" information
1094 to the ClusterSequence, essentially by providing an auto_ptr to a
1095 class derived from (the new) ClusterSequence::Extras; an example of
1096 this has been implemented with siscone (SISConeExtras) which allows
1097 a user to access the initial (stable) protocones.
1098
1099- included new siscone version (1.1) which uses transverse mass (mt) rather
1100 than pt in the split-merge procedure, to address an IR problem in
1101 events where the hadronic part conserves momentum -- this can have
1102 an effect on some physical distributions; the siscone update also
1103 addresses issues with collinear safety and co-circular points.
1104
1105- included bug fixes to pxcone regarding 2pi periodicity when
1106 recombining momenta
1107
1108- modified the version of the CDF midpoint cone code so as to allow it
1109 to use mt and Et as the parameters in the split--merge step.
1110
1111======================================================================
1112Changes from v2.1.0b1 to v2.1.0b2
1113=================================
1114
1115Bug fixes
1116---------
1117
1118- included new siscone version which solves the memory-leak problem
1119
1120Other changes
1121-------------
1122
1123- added sample output from the test-script as test-script-output-orig.txt
1124
1125======================================================================
1126Changes from v2.1.0b0 to v2.1.0b1
1127=========================
1128
1129New features:
1130-------------
1131
1132- added the SISCone plugin and the beta version of the siscone code
1133 (authored by Soyez & Salam)
1134
1135Bug fixes
1136---------
1137
1138- removed extraneous semicolons after functions that were causing
1139 problems on some compilers.
1140
1141Other additions
1142---------------
1143
1144- Added COPYING file with GPL license
1145
1146======================================================================
1147Changes from v2.0 to v2.1 (beta0)
1148=========================
1149
1150New features:
1151-------------
1152
1153- introduced option of control over recombination scheme, with a
1154 RecombinationScheme enum (a variable of this type should be provided
1155 to the JetDefinition constructor) and also the possibility of an
1156 externally defined recombination scheme.
1157
1158- introduced a "plugin" facility for alternative jet finders, via an
1159 abstract base class
1160
1161 class JetDefinition::Plugin
1162
1163 Plugins are to be provided as classes derived from this,
1164 implementing the relevant virtual functions (see manual and examples
1165 for further info).
1166
1167- introduced "description" member function for the JetDefinition
1168 class, which returns a (std::string) textual description of the
1169 algorithm defined.
1170
1171- provided plugins for CDF JetClu, CDF Midpoint, PxCone code; the
1172 plugins, the code they interface to and example programs are to be
1173 found in the new plugins/ directory.
1174
1175- added ClusterSequence::unclustered_particles() a vector containing
1176 the unclustered particles (relevant for some plugin algorithms).
1177
1178Minor additions
1179---------------
1180
1181- introduced PseudoJet::squared_distance (does same as "plain_distance")
1182
1183
1184
1185Notational changes:
1186-------------------
1187
1188- in the documentation, replaced eta -> y, to make it clear that it's
1189 rapidity and not pseudorapidity that is being used throughout. Some
1190 internal code continues to use variables called "eta" -- but these
1191 are actually proper rapidity.
1192
1193
1194======================================================================
1195Changes from v1.0 to v2.0
1196=========================
1197
1198New features:
1199-------------
1200
1201- the longitudinally invariant inclusive Cambridge/Aachen jet finder
1202 has been added.
1203
1204 Note that the exclusive jets extraction for the Cambridge jet-finder
1205 does not provide the definition as given in the original Cambridge
1206 paper. See the documentation for further details
1207
1208- classes have been introduced for running jet clustering and
1209 simultaneously collecting information about the area of each jet.
1210 The base class specifying the functionality is
1211
1212 class ClusterSequenceWithArea;
1213
1214 itself derived from ClusterSequence.
1215
1216 Two derived classes that provide the actual areas functionality are:
1217
1218 class ClusterSequenceActiveArea;
1219 class ClusterSequenceActiveAreaExplicitGhosts;
1220
1221 To construct them, one also needs to specify how one wishes the area
1222 to be calculated, via a class
1223
1224 class ActiveAreaSpec;
1225
1226
1227New optimizations:
1228------------------
1229- new clustering strategies have been added:
1230
1231
1232 N2MinHeapTiled : like N2Tiled, except that the non-geometric
1233 part has been replaced with a N ln N algorithm
1234 (overall the strategy still scales as N^2, but with a
1235 smaller coefficient)
1236
1237 NlnNCam, NlnNCam2pi2R, NlnNCam4pi:
1238
1239 NlnN strategies specific to the Cambridge/Aachen
1240 jet-finder -- the fastest of them is NlnNCam.
1241 Depending on the size of the event and of the CPU
1242 cache it may be up to 2.5 times faster than the
1243 CGAL-based NlnN strategy. Experiment on your own
1244 hardware and events to establish whether the
1245 speed gain is significant.
1246
1247 These strategies are based on the work on dynamic
1248 Closest Pair problems by Timothy Chan.
1249
1250 Best : (was present before) now attempts to select best
1251 among N2Plain, N2Tiled, N2MinHeapTiled, NlnN.
1252
1253 As the best option for a given N may depend on R
1254 and the event structure, you are advised to
1255 experiment with individual strategies if the
1256 last few tens of percent in speed are critical.
1257
1258
1259
1260Updates to user interface
1261-------------------------
1262
1263While the v1 interface to fastjet has been maintained for backwards
1264compatibility, for new developments in v2 and related forthcoming
1265work, a new interface is provided as follows:
1266
1267- User accessible classes and enums have had the "Fj" prefix removed
1268 and are instead now in namespace fastjet; the corresponding include
1269 files are in the include/fastjet directory. So, for example instead
1270 of
1271
1272 #include "FjClusterSequence.hh"
1273 //...
1274 FjClusterSequence clust_seq(...)
1275
1276 one now uses the following
1277
1278 #include "fastjet/ClusterSequence.hh"
1279 //...
1280 fastjet::ClusterSequence clust_seq(...)
1281
1282 If typing "fastjet::" the whole time seems too long-winded, you can
1283 abbreviate "fastjet" as "fj" with
1284
1285 namespace fj = fastjet;
1286
1287 or eliminate the need for it altogether with
1288
1289 using namespace fastjet;
1290
1291- a new class, fastjet::JetDefinition, has been introduced for holding
1292 the details of the jet finder (which one, value of R, etc...) that
1293 is to be used in a given clustering.
1294
1295 #include "fastjet/JetDefinition.hh"
1296 #include "fastjet/ClusterSequence.hh"
1297 //...
1298
1299 double R = 0.7;
1300
1301 // define jet algorithm
1302 fastjet::JetDefinition jet_def(fastjet::kt_algorithm, R);
1303
1304 // get the cluster sequence for a vector of 4-momenta and the
1305 // given jet definition
1306 fastjet::ClusterSequence clust_seq(momenta, jet_def);
1307
1308- some errors that previously were assertions now throw an
1309 fastjet::Error -- exception. A fully uniform handling of exceptions
1310 is currently some way away however and users for whom this is an
1311 important issue should contact the authors.