1 Release Notes
for fastjet
2 -------------------------
4 ================================================================
5 Summary of changes from v3.0.5 -> v3.0.6: 2013-10-29
6 ================================================================
7 This is a minor maintenance release. Main changes:
8 * fixed compilation issues
for two plugins under OS X 10.9 (Mavericks)
12 ================================================================
13 Summary of changes from v3.0.4 -> v3.0.5: 2013-09-16
14 ================================================================
15 This is a minor maintenance release. Main changes:
16 * modified include guards, to solve coexistence issue
for fjcore
17 * resolved (bogus) compiler warning about uninitialised variables
18 * added an example
event file that was missing from the distribution
20 ================================================================
21 Summary of changes from v3.0.3 -> v3.0.4: 2013-06-05
22 ================================================================
24 This is a minor maintenance release. Changes include:
25 * dummy init of
PseudoJet rapidity to avoid warnings with some configs.
26 * minor code structure adjustments to allow
for release of fjcore
27 * inclusion of SISCone 2.0.6
29 ================================================================
30 Summary of changes from v3.0.2 -> v3.0.3: 26/06/12
31 ================================================================
33 This is a bug-fix release, fixing
35 * compilation issues with g++-4.7 and clang
36 * issue of missing documentation figures in the tarball
37 * issue with the --enable-extra-warnings flag in configure
39 ================================================================
40 Summary of changes from v3.0.1 -> v3.0.2: 17/01/12
41 ================================================================
43 This is a bug-fix release, including
45 * small fixes to the build system and fastjet-config
46 * further licence clarifications
47 * user can force early printing of banner with ClusterSequence::print_banner()
48 * included SISCone 2.0.5 (with small modifications to the build system)
50 ================================================================
51 Summary of changes from v3.0.0 -> v3.0.1: 25/11/11
52 ================================================================
54 Version 3.0.1 includes further reorganisation of the manual (version to
55 appear on arXiv), and a number of small additional changes, including :
57 *
PseudoJet now also has a pt() member function for transverse momentum
58 * minor speed improvements (very low N + strategy choice for N ~ 20-50)
59 * elimination of many compilation warnings found with -Wextra -Wshadow
60 * clarification of licenses for many of the plugins + new plugin banners
61 * fixed a memory leak in the ATLASConePlugin
63 ================================================================
64 Summary of changes from v2.4.4 -> v3.0.0: 09/10/11
65 ================================================================
67 Changes relative to the 2.4.x series include:
69 Addition of FastJet tools:
71 * Filtering, trimming, pruning and a few boosted
object taggers as
72 part of a new native "Transformers" framework for post-clustering
75 * New background estimation and subtraction interface, with
80 * Enhancement of the
PseudoJet class so that jets are now aware of their
81 internal structure (e.g. one can use jet.constituents()).
82 * It is possible to associate arbitrary user information with a
PseudoJet.
83 * Selectors, which allow easy communication of cuts across different functions
87 * Improved doxygen and examples
88 * aids for easier memory management
89 * elimination of the R<pi/2 restriction on native jet algorithms
91 * new plugins (GridJet and two D0RunICone plugins)
92 * enhanced fortran wrappers
94 Interface modifications (May break backwards compatibility):
96 * by default a
JetDefinition is initialised to undefined_jet_algorithm
97 instead of kt_algorithm with a radius of 1.
98 *
JetDefinition::DefaultRecombiner sets the user index of the result
99 of the recombination to -1 (the default for a
PseudoJet;
100 previously was being set to 0)
101 * ghosts are placed more sensibly in 3.0 than in the 2.X series;
102 call ghost_area_spec.set_fj2_placement(true) to reinstate old behaviour
103 * CS::exclusive_subjets used to silently return fewer subjets than
104 requested if there were too few particles in a jet; to be
105 consistent with exclusive_jets(...) it now throws an exception;
106 use exclusive_jets_up_to(...) and exclusive_subjets_up_to(...) to
108 * ATLASCone and TrackJet plugins use stable_sort instead of sort for
109 more stable behaviour across architectures and compiler versions;
110 this can change clustering results in events with degeneracies.
111 * some legacy headers have been removed (include/FjPseudoJet.hh and
112 include/FjClusterSequence.hh), and some classes are deprecated:
115 and CircularRange (use
Selector instead); see appendix G in manual
116 for further small removals.
118 Configure modifications
120 * the plugins are by default built in a single 'libfastjetplugin'
121 library. This is transparent if you use the fastjet-config
122 script. The previous behaviour (each plugin in its own library)
123 can be recovered by passing the --disable-monolithic option to
125 * an additional library, libfastjettools, contains tools like
126 boosted
object taggers, filters, etc. It is included by default
127 with "fastjet-config --libs"
130 New features relative to 3.0beta1:
132 * addition of
Pruner class
137 Bug fixes and other changes relative to 3.0beta1:
139 * JetMedianBackgroundEstimator::set_particles(...) no longer resets other parameters
140 * fixed issue with persistency of internal recombiner in
Filter
142 jet def) and also CS::set_jet_algorithm(...), CS::set_jet_def(...)
145 ================================================================
146 Summary of changes from v3.0beta1 -> v3.0.0: 09 October 2011
147 ================================================================
149 - addition of
Pruner class
154 Bug fixes and other changes
155 - JetMedianBackgroundEstimator::set_particles(...) no longer resets other parameters
156 - fixed issue with persistency of internal recombiner in
Filter
157 - removed deprecated
ClusterSequence constructor with R (rather than jet def)
158 and also CS::set_jet_algorithm(...), CS::set_jet_def(...)
160 ================================================================
161 Summary of changes from v3.0alpha3 -> v3.0beta1: 10 August 2011
162 ================================================================
164 - Reorganised background estimation to have a JetMedianBackgroundEstimator
166 [v3.0alpha3 programs should replace BackgroundEstimator
167 -> JetMedianBackgroundEstimator, and use a new order of constructor arguments]
171 delete_recombiner_when_unused()
172 - improved
Filter (for area and recombiner support, also works with a subtractor)
173 - added a --config flag to fastjet-config
175 Bug fixes and other changes
176 - some speed gains in the default recombiner
177 - TrackJet and ATLASCone now use stable_sort (can change results;
178 makes results stable across machine architectures & compilers, cf BUGS)
179 - fixed bugs in Voronoi areas (as in v.2.4.4)
180 - fixed bugs in handling of empty areas in background estimator (as in 2.4.4)
181 - renamed SelectorMXXX -> SelectorMassXXX
183 - exclusive_[sub]jets(njets) now consistenty throws an error if it
184 can't deliver njets; exclusive_[sub]jets_upto(njets) gives up to njets
189 - reorganisation of substantial parts of the manual
192 ================================================================
193 Summary of changes from v3.0alpha2 -> v3.0alpha3: 03 June 2011
194 ================================================================
198 *
Subtractor: subtract the jet using a BackgroundEstimator
201 * NSubjettinessTagger: 2-pronged tagger based on rest-frame 2-subjettiness
202 *
CASubJetTagger: 2-pronged tagger based on maximal distance in jet history
203 *
Filter updated from alpha2 (bug fixes & new constructors)
204 NB: examples 11 (boosted Higgs) and 12 (
Filter) illustrate usage.
206 - CS::delete_self_when_unused() allows it to handle its own memory management
211 the jets from an old sequence as they are transferred to the new one
212 - fortran interface now has basic area functionality
214 Changes to features introduced in alpha2 and alpha1:
215 - Numerous changes to BackgroundEstimator
216 * it allows manual encoding of rapidity dependence;
217 * it can calculate density of quantities other than pt;
218 * it has additional constructors, plus methods to reset its
ClusterSequence, etc.
219 * its sigma() now properly handles finite numbers of jets (+ other bug fixes).
220 - jet.pieces() for a jet from a clustering now returns the two parents
221 - various changes to behaviour of a jet's structural calls; see new table in doc
222 - PseudoJet::extra_properties<...>() -> PseudoJet::structure_of<...>() (cf example 12)
223 - join(...) can now include a recombiner argument; it also now supports areas
224 -
Selector::count(jets) to know how many pass a cut (also new:
Selector::sift)
227 - by default a PseudoJet is constructed with zero momentum
229 - efficiency improvements in PtYPhiM and ghost generation
231 retained, but deprecated.
232 - added an example (09) to illustrate how to add user-info to a PseudoJet
233 - doxygen output now configured with an internal search engine
236 - the default recombiner used to set the user_index to the non-default
237 value of 0. Now it sets it to the default (-1).
238 - fixed crashes of VoronoiAreas for particles on a grid (also in 2.4.3)
241 ================================================================
242 Summary of changes from v3.0alpha1 -> v3.0alpha2: 10 March 2011
243 ================================================================
246 - two jets, a and b can now be joined: PseudoJet c = join(a,b),
247 intended to facilitate packaging the result of substructure tools;
248 individual pieces can be recovered with c.pieces();
250 - New fastjet/tools/
Filter.hh provides a unified interface to filtering and trimming
251 - New very preliminary fastjet/tools/BackgroundEstimator.hh to provide
252 a more flexible interface to estimation of backgrounds (removal of
254 - a few extra Selectors
256 Changes to features introduced in alpha1:
258 -
Selector::relocate(...) and is_relocatable() renamed to
259 Selector::set_reference(...) and takes_reference()
260 - PseudoJet::ExtraInfo has been renamed PseudoJet::UserInfoBase and
261 corresponding access functions are now called set_user_info(...), etc.
263 Other changes and fixes
264 - some legacy headers removed
265 - bug fixes in NlnNCam strategies for R>pi
267 ===========================================================
268 Summary of changes from v2.4.X -> v3.0alpha1: 27 January 2011
269 ===========================================================
271 This is an alpha release, previewing some of the new features that are
272 expected to be available in FastJet version 3. Interfaces of new
273 features may yet evolve.
276 - Several extensions to PseudoJet:
277 * it now knows what ClusterSequence it belongs to
278 * info about internals of jets can be accessed e.g. as jet.constituents()
279 * it now has a virtual destructor + other support for classes derived from PseudoJet
280 * new facilities for associating user info with a jet (see PseudoJet::ExtraInfo)
281 * some of these features make use of a new
SharedPtr class
282 (intended mainly for advanced users)
283 similar to C++0x std::shared_ptr
284 * calculation of phi and rapidity (cached) only on request
285 - R can now be taken larger than pi/2 for natively coded jet algorithms
286 - Addition of "
Selector" tools through
#include "fastjet/tools/Selector.hh"
287 - New plugin
for D0RunICone (code contributed by Lars Sonnenschein)
288 - Improvements to fortran wrapper (access to SISCone, jet constituents, etc.)
291 - fixed issue with inconsistent returned sign in PseudoJet::delta_phi_to(...)
293 Other notable changes:
294 - Revamping of examples
295 - by default all plugins are now packaged into libfastjetplugins.
296 Note that "external" libraries like libsiscone are still separate.
297 - Significant improvements to doxygen documentation
299 ===========================================================
300 Summary of changes from v2.4.1 -> v2.4.2: 26 February 2010
301 ===========================================================
302 - exclusive_ymerge_max(...) was not working; now fixed
305 optimisation flags now changed just for D0 code so that 32 bit gives same
307 - changes to configure.ac to better handle fortran compiler checks
308 - removed some orphan/redundant code that was generating compilation warnings
309 - added an "--enable-monolithic" option to ./configure which causes
310 all plugins to be placed in a single library (except SISCone)
311 - added a "--list-plugins" option to fastjet-config
313 =======================================================
314 Summary of changes from v2.4.0 -> v2.4.1: 29 May 2009
315 =======================================================
317 Fixes to the build system
318 -------------------------
319 - Included SISCone 2.0.1 (shared libs now enabled by default in
320 SISCone too, and other small fixes)
321 - Fixed platform-dependent failures during make check
322 - Fixed gcc 4.4 compatibility issues (missing headers)
323 - Fixed a problem on Mac OS X with the arguments provided by
324 "fastjet-config --libs" (--rpath versus -rpath).
325 - fastjet-config has new optional arguments (--rpath=no, --runpath)
326 related to finding shared libraries at runtime on linux.
327 Run fastjet-config without any arguments for more info.
328 To instead use static libraries, either configure with the
329 --disable-shared option, or use fastjet-config with the --shared=no option.
330 - fastjet-config can now take --cxxflags and --libs in a single invocation
331 - With --cxxflags, fastjet-config now returns the minimal required set of arguments
332 - Various other small mods (better fortran support, standardisation, ...)
333 [thanks to Andy Buckley and David Grellscheid for suggestions]
337 - Added a fortran wrapper for pp sequential recombination algorithms
338 - Fixed issue in median rho estimation when some jets have zero area
339 - Expanded descriptions that are returned by ATLAS/TrackJet/CMS plugins
340 - Warnings are no longer given when using exclusive jets with
341 Cam/Aachen and certain e+e- algorithms (the warnings were misleading)
342 - Small fixes to the manual
344 =======================================================
345 Summary of changes from v2.3.X -> v2.4.0: 17 April 2009
346 =======================================================
352 - added implementation of generalised kt algorithm (genkt_algorithm) for pp
353 - added D0RunIICone plugin [--enable-d0runiicone at configure time]
354 - added ATLASCone Plugin [--enable-atlascone at configure time]
356 - added TrackJet Plugin (used by CDF in UE studies)
357 [--enable-trackjet at configure time]
359 Introduction of e+e- algorithms
360 -------------------------------
362 - added an implementation of the e+e- kt algorithm (ee_kt_algorithm),
364 - added JADEPlugin for the JADE algorithm (see the ChangeLog or header
367 e+e- and other spherical environments.
368 - native implementation of generalised kt algorithm for e+e- (ee_genkt_algorithm)
369 [also provides access to e+e- form of anti-kt alg, conical jets on a sphere]
370 - added
JadePlugin for the e+e- Jade algorithm
375 - added NestedDefs plugin for daisy-chaining multiple jet definitions
376 [still under testing; API may change in the future]
380 - added subjet functions for viewing jet at particular dcut, etc.
381 - added access to exclusive jets based on ycut as well as dcut (for e+e-)
384 use in background estimation
385 - added class
NNH to help users implement algorithms with
386 user-chosen distance measure (see
JadePlugin for an example)
388 Interface modifications
389 -----------------------
390 - removed default value of 0.5 for overlap_threshold in
391 CDFMidPointPlugin, CDFJetCluPlugin and
SISConePlugin constructors
393 *** may break backwards compatibility ***
395 - a
JetDefinition(jet_alg) constructor, without an R value, is no
396 longer legal, except when jet_alg is ee_kt_algorithm (it has no R).
398 *** may break backwards compatibility ***
400 - in SISCone, new way of accessing the information about pass at which
401 a jet was found (old method retained for 2.4, but now deprecated)
404 Configure modifications
405 -----------------------
406 - added --enable-allplugins and --enable-allcxxplugins options, to
407 avoid having to specify a
long list of individual plugins
408 - shared libraries are now enabled by default
416 -----------------------
417 - added support for CGAL 3.4 (for non-standard locations, specify
418 --with-cgaldir at configure time)
419 - removed restriction that fastjet throws exception on empty events
420 - added an example that illustrates the use of subjet techniques for
421 a boosted Higgs->b+bbar search
425 - add CMSIterativeCone Plugin
429 =======================================================================
430 Summary of changes from v2.3.3 -> v2.3.4 (bug fix release): 15 Aug 2008
431 ==========================================================
433 - fixed infinite-loop bug in JetClu plugin on certain rare events
435 - fixed compatibility issues of certain example programs with g++-4.3
437 - incorporated SISCone 1.3.3 with similar g++-4.3 fixes
439 =======================================================================
440 Summary of changes from v2.3.2 -> v2.3.3 (bug fix release): 28 Apr 2008
441 ==========================================================
443 - fixed missing installation of .../config_auto.h
445 - fixed missing typename in .../SearchTree.hh
447 =======================================================================
448 Summary of changes from v2.3.1 -> v2.3.2 (bug fix release): 03 Apr 2008
449 ==========================================================
451 - fixes to propagation of CXXFLAGS through the build chain
453 - small change in Voronoi area code to fix crashes on regular
454 (calorimeter) layouts of momenta
456 - small change in active areas code to fix crashes on algorithms that
457 do not cluster all particles
459 - eliminated "using namespace std" that had accidentally been left in
460 certain area header files
462 - incorporation of SISCone 1.3.2 with fixes for inappropriate public
463 symbols and to build framework
466 ======================================================================
467 Summary of changes from v2.3.0 -> v2.3.1 (bug fix release)
468 ==========================================================
470 - Fixed compilation issues under windows VC7.1 (reported by
471 I. Belyaev); also included SISCone 1.3.1 with similar fixes.
473 - Fixed speed issue under optimized compilation of CDF MidPoint plugin
474 for 32 bit architectures that had arisen subsequent to the switch to
475 autotools with its common optimization settings.
477 - Fixed "make check" failure with the --disable-siscone option.
479 - Fixed crash in exclusive_dmerge(njets) for njets=0 (reported by P. Lenzi)
482 ======================================================================
483 Summary of changes from v2.1.0 (previous stable release) to v2.3.0
484 ===================================
486 - added the anti-kt algorithm (LPTHE-07-03), which is a sequential
487 recombination algorithm that gives conical jets.
489 - Added Passive and Voronoi areas, and new common class for accessing
492 - switched to autotools for compilation and installation:
493 ./configure --prefix=...
495 make check [optional]
498 NB: users should no longer include fastjet-2.x.y/Makefile
499 when building their own programs, and instead should use
500 g++ -c file.cc `fastjet-config --cxxflags`
501 g++ file.o `fastjet-config --libs --plugins`
503 - plugin include files are now to be accessed with fastjet/ in
505 #include "fastjet/SISConePlugin.hh"
506 A simple #include
"SISConePlugin.hh" is now obsolete but will
507 continue to work through 2.x
512 - New facilities for navigating the cluster sequence (has_parents,
513 has_child and has_partner members of ClusterSequence)
515 - other bug fixes and small enhancements (including SISCone-1.3.0,
516 improvements to plugin facilities).
518 See individual beta-releases below for more information, as well as
522 ======================================================================
523 Changes from v2.2beta0 to v2.3-beta0
524 ===================================
526 - switched to autotools
for compilation and installation;
528 - old build procedure still available
for now, with files called
529 makefile.static (make -f makefile.static);
531 test-script.sh has been renamed test-
static.sh and builds and
532 tests
using the old procedure.
534 - plugins include files are now to be accessed with fastjet/ in
536 #include
"fastjet/SISConePlugin.hh"
538 For backwards compatibility, the old access method will
continue
539 to work throughout v2.x, i.e.
540 #include
"SISConePlugin.hh"
542 - added PseudoJet::reset(...) functions to reset the contents of a
545 - added fastjet_version_string()
547 - added a function PtYPhiM(...) that returns a PseudoJet with the
548 given py, rapidity , phi and mass. Defined in PseudoJet.hh
550 - added a directory fortran_wrapper/ to illustrate how to access
553 - some small bug fixes in the CDF midpoint code
556 ======================================================================
557 Changes from v2.1.0 to v2.2beta0
558 ===============================
560 - added the anti-kt algorithm (LPTHE-07-03)
562 - Provided a new common class for accessing all different types of
565 - added functionality for Passive areas and Voronoi areas.
566 Areas are now defined much in the same way as jets, via an
569 sweepline code for calculating the Voronoi diagram and so does not
570 require CGAL to be installed (it still is needed for NlnN kt
574 of the rapidity-azimuth ranges over which to study jet areas
575 and possibly perform noise subtraction
577 - added facilities for navigating the cluster sequence (has_parents,
578 has_child and has_partner members of ClusterSequence)
580 - changed plugin base class, so that it now includes R() virtual
581 member, and modified the various plugins to account for this.
583 - modified the plugin interface to provide facilities to help with
586 - included SISCone-1.2.0 rather than 1.1.1.
588 - adapted SISCone plugin to the 1.2.0 release of SISCone --
main
589 changes are facilities and improvements related areas: some speed
590 improvements on the split-merge (relevant for active areas) and a
591 fairly efficient way of running passive areas.
593 - added ClusterSequence::print_jets_for_root(...) and a corresponding root
594 script (example/root/jet-plots.C), so as to provide a crude
598 ======================================================================
599 Summary of
main changes from v2.0.0 to v2.1.0
600 =============================================
602 - added plugin structure for external jet finders.
604 - included plugins for SISCone, CDFMidPoint, CDFJetClu, PxCone (with
605 extensions for MidPoint and bug fixes for PxCone relative to public
608 - introduced option of control over recombination scheme, with a
611 - added description() member function to
JetDefinition class, so
612 that you can get a (
string) summary of what you're running!
614 - changed the default number of repeats in
ActiveAreaSpec to 1 (which
615 is sufficient for most purposes).
617 For further details, see the changes listed in detail below.
619 ======================================================================
620 Changes from v2.1.0b4 to v2.1.0
621 ===============================
623 - corrected bug in test-script.sh
625 - removed PxCone from default tests and from
626 plugins/usage_examples/many_algs_example.cc (to avoid fortran
629 ======================================================================
630 Changes from v2.1.0b3 to v2.1.0b4
631 =================================
633 FastJet modifications
634 ---------------------
636 - default number of repeats for the active area specification has been
637 changed from 5 to 1 (the latter goes fast, but note that it provides
638 a zero error estimate for the area).
643 - adapted plugin to accomodate new scale for use in the SISCone
644 split-merge (pttilde), with a corresponding change of interface.
646 Changed default number of passes for SISCone to 0.
648 - Added the pttilde scale choice to the CDF plugin.
652 ======================================================================
653 Changes from v2.1.0b2 to v2.1.0b3
654 =================================
659 - methods for estimating the underlying now have the option of using
660 area_4vector rather than the plain area
665 - area_4vector is now calculated with the same recombination scheme as
668 - massless recombination schemes now work correctly on particles with
671 - PseudoJet::phi_std() returned wrong result for phi < pi -- thanks to
672 Oscar Stal for pointing this out.
677 - the plugin mechanism now allows a plugin to add "extra" information
678 to the ClusterSequence, essentially by providing an auto_ptr to a
679 class derived from (the new) ClusterSequence::Extras; an example of
680 this has been implemented with siscone (
SISConeExtras) which allows
681 a user to access the initial (stable) protocones.
683 - included new siscone version (1.1) which uses transverse mass (mt) rather
684 than pt in the split-merge procedure, to address an IR problem in
685 events where the hadronic part conserves momentum -- this can have
686 an effect on some physical distributions; the siscone update also
687 addresses issues with collinear safety and co-circular points.
689 - included bug fixes to pxcone regarding 2pi periodicity when
692 - modified the version of the CDF midpoint cone code so as to allow it
693 to use mt and Et as the parameters in the split--merge step.
695 ======================================================================
696 Changes from v2.1.0b1 to v2.1.0b2
697 =================================
702 - included new siscone version which solves the memory-leak problem
707 - added sample output from the test-script as test-script-output-orig.txt
709 ======================================================================
710 Changes from v2.1.0b0 to v2.1.0b1
711 =========================
716 - added the SISCone plugin and the beta version of the siscone code
717 (authored by Soyez & Salam)
722 - removed extraneous semicolons after functions that were causing
723 problems on some compilers.
728 - Added COPYING file with GPL license
730 ======================================================================
731 Changes from v2.0 to v2.1 (beta0)
732 =========================
737 - introduced option of control over recombination scheme, with a
739 to the
JetDefinition constructor) and also the possibility of an
740 externally defined recombination scheme.
742 - introduced a "plugin" facility for alternative jet finders, via an
747 Plugins are to be provided as classes derived from this,
748 implementing the relevant virtual functions (see manual and examples
751 - introduced "description" member function for the
JetDefinition
752 class, which returns a (std::
string) textual description of the
755 - provided plugins for CDF JetClu, CDF Midpoint, PxCone code; the
756 plugins, the code they interface to and example programs are to be
757 found in the new plugins/ directory.
759 - added ClusterSequence::unclustered_particles() a vector containing
760 the unclustered particles (relevant for some plugin algorithms).
765 - introduced PseudoJet::squared_distance (does same as "plain_distance")
772 - in the documentation, replaced eta -> y, to make it clear that it's
773 rapidity and not pseudorapidity that is being used throughout. Some
774 internal code continues to use variables called "eta" -- but these
775 are actually proper rapidity.
778 ======================================================================
779 Changes from v1.0 to v2.0
780 =========================
785 - the longitudinally invariant inclusive Cambridge/Aachen jet finder
788 Note that the exclusive jets extraction for the Cambridge jet-finder
789 does not provide the definition as given in the original Cambridge
790 paper. See the documentation for further details
792 - classes have been introduced for running jet clustering and
793 simultaneously collecting information about the area of each jet.
794 The base class specifying the functionality is
798 itself derived from ClusterSequence.
800 Two derived classes that provide the actual areas functionality are:
805 To construct them, one also needs to specify how one wishes the area
806 to be calculated, via a class
813 - new clustering strategies have been added:
816 N2MinHeapTiled : like N2Tiled, except that the non-geometric
817 part has been replaced with a N ln N algorithm
818 (overall the strategy still scales as N^2, but with a
821 NlnNCam, NlnNCam2pi2R, NlnNCam4pi:
823 NlnN strategies specific to the Cambridge/Aachen
824 jet-finder -- the fastest of them is NlnNCam.
825 Depending on the size of the event and of the CPU
826 cache it may be up to 2.5 times faster than the
827 CGAL-based NlnN strategy. Experiment on your own
828 hardware and events to establish whether the
829 speed gain is significant.
831 These strategies are based on the work on dynamic
832 Closest Pair problems by Timothy Chan.
834 Best : (was present before) now attempts to select best
835 among N2Plain, N2Tiled, N2MinHeapTiled, NlnN.
837 As the best option for a given N may depend on R
838 and the event structure, you are advised to
839 experiment with individual strategies if the
840 last few tens of percent in speed are critical.
844 Updates to user interface
845 -------------------------
847 While the v1 interface to fastjet has been maintained for backwards
848 compatibility, for new developments in v2 and related forthcoming
849 work, a new interface is provided as follows:
851 - User accessible classes and enums have had the "Fj" prefix removed
852 and are instead now in namespace fastjet; the corresponding include
853 files are in the include/fastjet directory. So, for example instead
856 #include "FjClusterSequence.hh"
858 FjClusterSequence clust_seq(...)
860 one now uses the following
862 #include "fastjet/ClusterSequence.hh"
866 If typing "fastjet::" the whole time seems too
long-winded, you can
867 abbreviate "fastjet" as "fj" with
869 namespace fj = fastjet;
871 or eliminate the need for it altogether with
873 using namespace fastjet;
875 - a new class, fastjet::
JetDefinition, has been introduced for holding
876 the details of the jet finder (which one, value of R, etc...) that
877 is to be used in a given clustering.
879 #include "fastjet/JetDefinition.hh"
880 #include "fastjet/ClusterSequence.hh"
892 - some errors that previously were assertions now
throw an
893 fastjet::Error -- exception. A fully uniform handling of exceptions
894 is currently some way away however and users
for whom
this is an
895 important issue should contact the authors.
Class that helps perform 2-pronged boosted tagging using a reclustering in the jet's rest frame...
Class to un-boost a PseudoJet.
Selector SelectorIsZero()
select PseudoJet with 0 momentum
General class for user to obtain ClusterSequence with additional area information.
Class that helps perform jet background subtraction.
Class that helps perform filtering (Butterworth, Davison, Rubin and Salam, arXiv:0802.2470) and trimming (Krohn, Thaler and Wang, arXiv:0912.1342) on jets, optionally in conjunction with subtraction (Cacciari and Salam, arXiv:0707.1378).
Implementation of the D0 Run II Cone (plugin for fastjet v2.1 upwards)
Like ClusterSequence with computation of the active jet area.
the longitudinally invariant kt algorithm
class that holds a generic area definition
clean (almost parameter-free) tagger searching for the element in the clustering history that maximis...
class for holding a range definition specification, given by limits on rapidity and azimuth...
Help solve closest pair problems with generic interparticle and beam distance.
Contains any information related to the clustering that should be directly accessible to PseudoJet...
A base class that provides a common interface for top taggers that are able to return a W (in additio...
Transformer that prunes a jet.
Implementation of the spherical version of the SISCone algorithm (plugin for fastjet v2...
class to provide facilities for giving warnings up to some maximum number of times and to provide glo...
Class that helps perform 2-pronged boosted tagging using the "mass-drop" technique (with asymmetry cu...
Class that helps perform boosted top tagging using the "Johns Hopkins" method from arXiv:0806...
int main()
an example program showing how to use fastjet
base class that sets interface for extensions of ClusterSequence that provide information about the a...
Implementation of the e+e- Cambridge algorithm (plugin for fastjet v2.4 upwards)
base class corresponding to errors that can be thrown by FastJet
Abstract base class that provides the basic interface for classes that estimate levels of background ...
Like ClusterSequence with computation of the active jet area with the addition of explicit ghosts...
RecombinationScheme
the various recombination schemes
an implementation of C++0x shared pointers (or boost's)
Class that encodes information about cuts and other selection criteria that can be applied to PseudoJ...
base class providing interface for a generic function of a PseudoJet
Implementation of the CMS Iterative Cone (plugin for fastjet v2.4 upwards)
Implementation of the e+e- Jade algorithm (plugin for fastjet v2.4 upwards)
Parameters to configure the computation of jet areas using ghosts.
Implementation of the SISCone algorithm (plugin for fastjet v2.1 upwards)
plugin for fastjet (v3.0 upwards) that clusters particles such that all particles in a given cell of ...
Class to contain pseudojets, including minimal information of use to jet-clustering routines...
Class to boost a PseudoJet.
class that is intended to hold a full definition of the jet clusterer