FastJet 3.0alpha3
NEWS
00001 Release Notes for fastjet
00002 -------------------------
00003 
00004 ================================================================
00005 Summary of changes from v3.0alpha2 -> v3.0alpha3:  03 June 2011
00006 ================================================================
00007 
00008 New features
00009 - Added a series of "Transformer"s in tools/:
00010    * Subtractor: subtract the jet using a BackgroundEstimator
00011    * Boost/Unboost: boosts/unboosts a jet
00012    * MassDropTagger: look for a mass drop in the jet substructure
00013    * NSubjettinessTagger: 2-pronged tagger based on rest-frame 2-subjettiness
00014    * CASubJetTagger: 2-pronged tagger based on maximal distance in jet history
00015    * Filter updated from alpha2 (bug fixes & new constructors)
00016   NB: examples 11 (boosted Higgs) and 12 (Filter) illustrate usage.
00017 
00018 similar to Filter (example 12); further info in doxygen.
00019 - CS::delete_self_when_unused() allows it to handle its own memory management
00020 - GhostedAreaSpec can take a Selector to help specify ghost placement
00021 - added a FunctionOfPseudoJet<T> base class to help standardise tool interfaces
00022 - ClusterSequence::transfer_from_sequence now allows for a
00023   FunctionOfPseudoJet<PseudoJet> argument to transform (e.g. boost)
00024   the jets from an old sequence as they are transferred to the new one
00025 - fortran interface now has basic area functionality
00026 
00027 Changes to features introduced in alpha2 and alpha1:
00028 - Numerous changes to BackgroundEstimator 
00029     * it allows manual encoding of rapidity dependence;
00030     * it can calculate density of quantities other than pt;
00031     * it has additional constructors, plus methods to reset its ClusterSequence, etc.
00032     * its sigma() now properly handles finite numbers of jets (+ other bug fixes).
00033 - jet.pieces() for a jet from a clustering now returns the two parents
00034 - various changes to behaviour of a jet's structural calls; see new table in doc
00035 - PseudoJet::extra_properties<...>() -> PseudoJet::structure_of<...>() (cf example 12)
00036 - join(...) can now include a recombiner argument; it also now supports areas
00037 - Selector::count(jets) to know how many pass a cut (also new: Selector::sift)
00038 
00039 Other changes 
00040 - by default a PseudoJet is constructed with zero momentum
00041 - by default a JetDefinition has an undefined_jet_algorithm
00042 - efficiency improvements in PtYPhiM and ghost generation
00043 - all uses of RangeDefinition now replaced by Selector. Old interfaces
00044   retained, but deprecated.
00045 - added an example (09) to illustrate how to add user-info to a PseudoJet
00046 - doxygen output now configured with an internal search engine
00047 
00048 Bug fixes
00049 - the default recombiner used to set the user_index to the non-default
00050   value of 0. Now it sets it to the default (-1).
00051 - fixed crashes of VoronoiAreas for particles on a grid (also in 2.4.3)
00052 
00053 
00054 ================================================================
00055 Summary of changes from v3.0alpha1 -> v3.0alpha2:  10 March 2011
00056 ================================================================
00057 
00058 New features:
00059 - two jets, a and b can now be joined:  PseudoJet c = join(a,b),
00060   intended to facilitate packaging the result of substructure tools;
00061   individual pieces can be recovered with c.pieces();
00062 - New PseudoJetStructureBase class, to help implement such features
00063 - New fastjet/tools/Filter.hh provides a unified interface to filtering and trimming
00064 - New very preliminary fastjet/tools/BackgroundEstimator.hh to provide
00065   a more flexible interface to estimation of backgrounds (removal of
00066   hardest jets, etc.).
00067 - a few extra Selectors
00068 
00069 Changes to features introduced in alpha1:
00070 - Selector is now in fastjet/Selector.hh (no longer fastjet/tools/...)
00071 - Selector::relocate(...) and is_relocatable() renamed to
00072   Selector::set_reference(...) and takes_reference()
00073 - PseudoJet::ExtraInfo has been renamed PseudoJet::UserInfoBase and
00074   corresponding access functions are now called set_user_info(...), etc.
00075 
00076 Other changes and fixes
00077 - some legacy headers removed
00078 - bug fixes in NlnNCam strategies for R>pi
00079 
00080 ===========================================================
00081 Summary of changes from v2.4.X -> v3.0alpha1:  27 January 2011
00082 ===========================================================
00083 
00084 This is an alpha release, previewing some of the new features that are
00085 expected to be available in FastJet version 3. Interfaces of new
00086 features may yet evolve.
00087 
00088 New features:
00089 - Several extensions to PseudoJet:
00090   * it now knows what ClusterSequence it belongs to
00091   * info about internals of jets can be accessed e.g. as jet.constituents()
00092   * it now has a virtual destructor + other support for classes derived from PseudoJet
00093   * new facilities for associating user info with a jet (see PseudoJet::ExtraInfo)
00094   * some of these features make use of a new SharedPtr class 
00095     (intended mainly for advanced users)  
00096     similar to C++0x std::shared_ptr
00097   * calculation of phi and rapidity (cached) only on request
00098 - R can now be taken larger than pi/2 for natively coded jet algorithms
00099 - Addition of "Selector" tools through #include "fastjet/tools/Selector.hh"
00100 - New plugin for D0RunICone (code contributed by Lars Sonnenschein)
00101 - Improvements to fortran wrapper (access to SISCone, jet constituents, etc.)
00102 
00103 Bug fixes:
00104 - fixed issue with inconsistent returned sign in PseudoJet::delta_phi_to(...)
00105 
00106 Other notable changes:
00107 - Revamping of examples
00108 - by default all plugins are now packaged into libfastjetplugins.
00109   Note that "external" libraries like libsiscone are still separate.
00110 - Significant improvements to doxygen documentation
00111 
00112 ===========================================================
00113 Summary of changes from v2.4.1 -> v2.4.2:  26 February 2010
00114 ===========================================================
00115 - exclusive_ymerge_max(...) was not working; now fixed
00116 - the D0RunIIConePlugin gave segfaults for some parameters; now fixed
00117 - the D0RunIIConePlugin gave different results on 32/64 bit machines;
00118   optimisation flags now changed just for D0 code so that 32 bit gives same
00119   results as 64 bit. 
00120 - changes to configure.ac to better handle fortran compiler checks
00121 - removed some orphan/redundant code that was generating compilation warnings
00122 - added an "--enable-monolithic" option to ./configure which causes
00123   all plugins to be placed in a single library (except SISCone)
00124 - added a "--list-plugins" option to fastjet-config
00125 
00126 =======================================================
00127 Summary of changes from v2.4.0 -> v2.4.1:  29 May 2009
00128 =======================================================
00129 
00130 Fixes to the build system
00131 -------------------------
00132 - Included SISCone 2.0.1 (shared libs now enabled by default in
00133   SISCone too, and other small fixes)
00134 - Fixed platform-dependent failures during make check
00135 - Fixed gcc 4.4 compatibility issues (missing headers)
00136 - Fixed a problem on Mac OS X with the arguments provided by
00137   "fastjet-config --libs" (--rpath versus -rpath).
00138 - fastjet-config has new optional arguments (--rpath=no, --runpath)
00139   related to finding shared libraries at runtime on linux. 
00140   Run fastjet-config without any arguments for more info.
00141   To instead use static libraries, either configure with the
00142   --disable-shared option, or use fastjet-config with the --shared=no option.
00143 - fastjet-config can now take --cxxflags and --libs in a single invocation
00144 - With --cxxflags, fastjet-config now returns the minimal required set of arguments 
00145 - Various other small mods (better fortran support, standardisation, ...)
00146   [thanks to Andy Buckley and David Grellscheid for suggestions]
00147 
00148 Also
00149 ----
00150 - Added a fortran wrapper for pp sequential recombination algorithms
00151 - Fixed issue in median rho estimation when some jets have zero area
00152 - Expanded descriptions that are returned by ATLAS/TrackJet/CMS plugins
00153 - Warnings are no longer given when using exclusive jets with
00154   Cam/Aachen and certain e+e- algorithms (the warnings were misleading)
00155 - Small fixes to the manual
00156 
00157 =======================================================
00158 Summary of changes from v2.3.X -> v2.4.0: 17 April 2009
00159 =======================================================
00160 
00161 
00162 New pp algorithms
00163 -----------------
00164 
00165 - added implementation of generalised kt algorithm (genkt_algorithm) for pp
00166 - added D0RunIICone plugin [--enable-d0runiicone at configure time]
00167 - added ATLASCone Plugin [--enable-atlascone at configure time]
00168 - added CMSIterativeConePlugin [--enable-cmsiterativecone at configure time]
00169 - added TrackJet Plugin (used by CDF in UE studies)
00170   [--enable-trackjet at configure time]
00171 
00172 Introduction of e+e- algorithms
00173 -------------------------------
00174 
00175 - added an implementation of the e+e- kt algorithm (ee_kt_algorithm),
00176 - added EECambridgePlugin for the (original) e+e- Cambridge algorithm
00177 - added JADEPlugin for the JADE algorithm (see the ChangeLog or header
00178   file for details)
00179 - added SISConeSphericalPlugin [enabled by default] for SISCone in
00180   e+e- and other spherical environments.
00181 - native implementation of generalised kt algorithm for e+e- (ee_genkt_algorithm)
00182   [also provides access to e+e- form of anti-kt alg, conical jets on a sphere]
00183 - added JadePlugin for the e+e- Jade algorithm
00184 
00185 Meta-algorithms
00186 ----------------
00187 
00188 - added NestedDefs plugin for daisy-chaining multiple jet definitions
00189   [still under testing; API may change in the future]
00190 
00191 New functionality
00192 -----------------
00193 - added subjet functions for viewing jet at particular dcut, etc.
00194 - added access to exclusive jets based on ycut as well as dcut (for e+e-)
00195 - added support for asymmetric rapidity ranges in GhostedAreaSpec
00196 - added support for a CircularRange (derived from RangeDefinition) for
00197   use in background estimation
00198 - added class NNH to help users implement algorithms with
00199   user-chosen distance measure (see JadePlugin for an example)
00200 
00201 Interface modifications
00202 -----------------------
00203 - removed default value of 0.5 for overlap_threshold in
00204   CDFMidPointPlugin, CDFJetCluPlugin and SISConePlugin constructors
00205 
00206   *** may break backwards compatibility ***
00207 
00208 - a JetDefinition(jet_alg) constructor, without an R value, is no
00209   longer legal, except when jet_alg is ee_kt_algorithm (it has no R).
00210 
00211   *** may break backwards compatibility ***
00212 
00213 - in SISCone, new way of accessing the information about pass at which
00214   a jet was found (old method retained for 2.4, but now deprecated)
00215 
00216 
00217 Configure modifications
00218 -----------------------
00219 - added --enable-allplugins and --enable-allcxxplugins options, to
00220   avoid having to specify a long list of individual plugins
00221 - shared libraries are now enabled by default
00222 
00223 Bugs fixed
00224 ----------
00225 - fixed missing support for periodicity in azimuth in RangeDefinition
00226   class
00227 
00228 Other modifications
00229 -----------------------
00230 - added support for CGAL 3.4 (for non-standard locations, specify
00231   --with-cgaldir at configure time)
00232 - removed restriction that fastjet throws exception on empty events
00233 - added an example that illustrates the use of subjet techniques for
00234   a boosted Higgs->b+bbar search
00235 
00236 Still to come
00237 -------------
00238 - add CMSIterativeCone Plugin
00239 
00240 
00241 
00242 =======================================================================
00243 Summary of changes from v2.3.3 -> v2.3.4 (bug fix release): 15 Aug 2008
00244 ==========================================================
00245 
00246 - fixed infinite-loop bug in JetClu plugin on certain rare events
00247 
00248 - fixed compatibility issues of certain example programs with g++-4.3
00249 
00250 - incorporated SISCone 1.3.3 with similar g++-4.3 fixes
00251 
00252 =======================================================================
00253 Summary of changes from v2.3.2 -> v2.3.3 (bug fix release): 28 Apr 2008
00254 ==========================================================
00255 
00256 - fixed missing installation of .../config_auto.h
00257 
00258 - fixed missing typename in .../SearchTree.hh
00259 
00260 =======================================================================
00261 Summary of changes from v2.3.1 -> v2.3.2 (bug fix release): 03 Apr 2008
00262 ==========================================================
00263 
00264 - fixes to propagation of CXXFLAGS through the build chain
00265 
00266 - small change in Voronoi area code to fix crashes on regular
00267   (calorimeter) layouts of momenta
00268 
00269 - small change in active areas code to fix crashes on algorithms that
00270   do not cluster all particles
00271 
00272 - eliminated "using namespace std" that had accidentally been left in
00273   certain area header files
00274 
00275 - incorporation of SISCone 1.3.2 with fixes for inappropriate public
00276   symbols and to build framework
00277 
00278 
00279 ======================================================================
00280 Summary of changes from v2.3.0 -> v2.3.1 (bug fix release)
00281 ==========================================================
00282 
00283 - Fixed compilation issues under windows VC7.1 (reported by
00284   I. Belyaev); also included SISCone 1.3.1 with similar fixes.
00285 
00286 - Fixed speed issue under optimized compilation of CDF MidPoint plugin
00287   for 32 bit architectures that had arisen subsequent to the switch to
00288   autotools with its common optimization settings.
00289 
00290 - Fixed "make check" failure with the --disable-siscone option.
00291 
00292 - Fixed crash in exclusive_dmerge(njets) for njets=0 (reported by P. Lenzi)
00293 
00294 
00295 ======================================================================
00296 Summary of changes from v2.1.0 (previous stable release) to v2.3.0
00297 ===================================
00298 
00299 - added the anti-kt algorithm (LPTHE-07-03), which is a sequential
00300   recombination algorithm that gives conical jets.
00301 
00302 - Added Passive and Voronoi areas, and new common class for accessing
00303   all types of areas, ClusterSequenceArea.
00304 
00305 - switched to autotools for compilation and installation:
00306      ./configure --prefix=... 
00307      make
00308      make check      [optional]
00309      make install
00310 
00311   NB: users should no longer include fastjet-2.x.y/Makefile
00312   when building their own programs, and instead should use
00313     g++ -c file.cc `fastjet-config --cxxflags`
00314     g++ file.o `fastjet-config --libs --plugins` 
00315 
00316 - plugin include files are now to be accessed with fastjet/ in 
00317   front of them, i.e.
00318     #include "fastjet/SISConePlugin.hh"
00319   A simple #include "SISConePlugin.hh" is now obsolete but will
00320   continue to work through 2.x
00321 
00322 - Added RangeDefinition class to provide more flexibility in UE/pileup
00323   estimation.
00324 
00325 - New facilities for navigating the cluster sequence (has_parents,
00326   has_child and has_partner members of ClusterSequence)
00327 
00328 - other bug fixes and small enhancements (including SISCone-1.3.0,
00329   improvements to plugin facilities).
00330 
00331 See individual beta-releases below for more information, as well as
00332 the ChangeLog.
00333 
00334 
00335 ======================================================================
00336 Changes from v2.2beta0 to v2.3-beta0
00337 ===================================
00338 
00339 - switched to autotools for compilation and installation;
00340 
00341 - old build procedure still available for now, with files called
00342   makefile.static  (make -f makefile.static); 
00343 
00344   test-script.sh has been renamed test-static.sh and builds and 
00345   tests using the old procedure.
00346 
00347 - plugins include files are now to be accessed with fastjet/ in 
00348   front of them, i.e.
00349   #include "fastjet/SISConePlugin.hh"
00350 
00351   For backwards compatibility, the old access method will continue
00352   to work throughout v2.x, i.e.
00353   #include "SISConePlugin.hh"
00354 
00355 - added PseudoJet::reset(...) functions to reset the contents of a
00356   PseudoJet.
00357 
00358 - added fastjet_version_string()
00359 
00360 - added a function PtYPhiM(...) that returns a PseudoJet with the
00361   given py, rapidity , phi and mass.  Defined in PseudoJet.hh
00362 
00363 - added a directory fortran_wrapper/ to illustrate how to access
00364   fastjet from fortran
00365 
00366 - some small bug fixes in the CDF midpoint code
00367 
00368 
00369 ======================================================================
00370 Changes from v2.1.0 to v2.2beta0
00371 ===============================
00372 
00373 - added the anti-kt algorithm (LPTHE-07-03)
00374 
00375 - Provided  a new common class for accessing all different types of  
00376   areas: ClusterSequenceArea.
00377 
00378 - added functionality for Passive areas and Voronoi areas. 
00379   Areas are now defined much in the same way as jets, via an 
00380   AreaDefinition, which is passed as an argument
00381   to ClusterSequenceArea. NB: the Voronoi area uses Fortune's
00382   sweepline code for calculating the Voronoi diagram and so does not
00383   require CGAL to be installed (it still is needed for NlnN kt
00384   clustering). 
00385 
00386 - Added class RangeDefinition which allows detailed definitions
00387   of the rapidity-azimuth ranges over which to study jet areas
00388   and possibly perform noise subtraction
00389 
00390 - added facilities for navigating the cluster sequence (has_parents,
00391   has_child and has_partner members of ClusterSequence)
00392 
00393 - changed plugin base class, so that it now includes R() virtual
00394   member, and modified the various plugins to account for this.
00395 
00396 - modified the plugin interface to provide facilities to help with
00397   passive areas.
00398 
00399 - included SISCone-1.2.0 rather than 1.1.1.
00400 
00401 - adapted SISCone plugin to the 1.2.0 release of SISCone -- main
00402   changes are facilities and improvements related areas: some speed
00403   improvements on the split-merge (relevant for active areas) and a
00404   fairly efficient way of running passive areas.
00405 
00406 - added ClusterSequence::print_jets_for_root(...) and a corresponding root
00407   script (example/root/jet-plots.C), so as to provide a crude
00408   visualisation tool.
00409 
00410 
00411 ======================================================================
00412 Summary of main changes from v2.0.0 to v2.1.0
00413 =============================================
00414 
00415 - added plugin structure for external jet finders.
00416 
00417 - included plugins for SISCone, CDFMidPoint, CDFJetClu, PxCone (with
00418   extensions for MidPoint and bug fixes for PxCone relative to public
00419   codes).
00420 
00421 - introduced option of control over recombination scheme, with a
00422   RecombinationScheme enum, which applies also to area_4vector.
00423 
00424 - added description() member function to JetDefinition class, so 
00425   that you can get a (string) summary of what you're running!
00426 
00427 - changed the default number of repeats in ActiveAreaSpec to 1 (which
00428   is sufficient for most purposes).
00429 
00430 For further details, see the changes listed in detail below.
00431 
00432 ======================================================================
00433 Changes from v2.1.0b4 to v2.1.0
00434 ===============================
00435 
00436 - corrected bug in test-script.sh
00437 
00438 - removed PxCone from default tests and from 
00439   plugins/usage_examples/many_algs_example.cc (to avoid fortran
00440   compilation issues).
00441 
00442 ======================================================================
00443 Changes from v2.1.0b3 to v2.1.0b4
00444 =================================
00445 
00446 FastJet modifications
00447 ---------------------
00448 
00449 - default number of repeats for the active area specification has been
00450   changed from 5 to 1 (the latter goes fast, but note that it provides
00451   a zero error estimate for the area).
00452 
00453 Plugin modifications
00454 --------------------
00455 
00456 - adapted plugin to accomodate new scale for use in the SISCone
00457   split-merge (pttilde), with a corresponding change of interface.
00458 
00459   Changed default number of passes for SISCone to 0.
00460   
00461 - Added the pttilde scale choice to the CDF plugin.
00462 
00463 
00464 
00465 ======================================================================
00466 Changes from v2.1.0b2 to v2.1.0b3
00467 =================================
00468 
00469 FastJet enhancements
00470 --------------------
00471 
00472 - methods for estimating the underlying now have the option of using
00473   area_4vector rather than the plain area
00474 
00475 FastJet bug fixes
00476 -----------------
00477 
00478 - area_4vector is now calculated with the same recombination scheme as
00479   the jets themselves
00480 
00481 - massless recombination schemes now work correctly on particles with
00482   zero momentum
00483 
00484 - PseudoJet::phi_std() returned wrong result for phi < pi -- thanks to
00485   Oscar Stal for pointing this out.
00486 
00487 Plugin modifications
00488 --------------------
00489 
00490 - the plugin mechanism now allows a plugin to add "extra" information
00491   to the ClusterSequence, essentially by providing an auto_ptr to a
00492   class derived from (the new) ClusterSequence::Extras; an example of
00493   this has been implemented with siscone (SISConeExtras) which allows
00494   a user to access the initial (stable) protocones.
00495 
00496 - included new siscone version (1.1) which uses transverse mass (mt) rather
00497   than pt in the split-merge procedure, to address an IR problem in
00498   events where the hadronic part conserves momentum -- this can have
00499   an effect on some physical distributions; the siscone update also
00500   addresses issues with collinear safety and co-circular points.
00501 
00502 - included bug fixes to pxcone regarding 2pi periodicity when
00503   recombining momenta
00504 
00505 - modified the version of the CDF midpoint cone code so as to allow it
00506   to use mt and Et as the parameters in the split--merge step.
00507 
00508 ======================================================================
00509 Changes from v2.1.0b1 to v2.1.0b2
00510 =================================
00511 
00512 Bug fixes
00513 ---------
00514 
00515 - included new siscone version which solves the memory-leak problem
00516 
00517 Other changes
00518 -------------
00519 
00520 - added sample output from the test-script as test-script-output-orig.txt
00521 
00522 ======================================================================
00523 Changes from v2.1.0b0 to v2.1.0b1
00524 =========================
00525 
00526 New features:
00527 -------------
00528 
00529 - added the SISCone plugin and the beta version of the siscone code
00530   (authored by Soyez & Salam)
00531 
00532 Bug fixes
00533 ---------
00534 
00535 - removed extraneous semicolons after functions that were causing
00536   problems on some compilers.
00537 
00538 Other additions
00539 ---------------
00540 
00541 - Added COPYING file with GPL license
00542 
00543 ======================================================================
00544 Changes from v2.0 to v2.1 (beta0)
00545 =========================
00546 
00547 New features:
00548 -------------
00549 
00550 - introduced option of control over recombination scheme, with a
00551   RecombinationScheme enum (a variable of this type should be provided
00552   to the JetDefinition constructor) and also the possibility of an
00553   externally defined recombination scheme.
00554 
00555 - introduced a "plugin" facility for alternative jet finders, via an
00556   abstract base class
00557  
00558     class JetDefinition::Plugin
00559 
00560   Plugins are to be provided as classes derived from this,
00561   implementing the relevant virtual functions (see manual and examples
00562   for further info).
00563 
00564 - introduced "description" member function for the JetDefinition
00565   class, which returns a (std::string) textual description of the
00566   algorithm defined.
00567 
00568 - provided plugins for CDF JetClu, CDF Midpoint, PxCone code; the
00569   plugins, the code they interface to and example programs are to be
00570   found in the new plugins/ directory.
00571 
00572 - added ClusterSequence::unclustered_particles() a vector containing
00573   the unclustered particles (relevant for some plugin algorithms).
00574 
00575 Minor additions
00576 ---------------
00577 
00578 - introduced PseudoJet::squared_distance (does same as "plain_distance")
00579 
00580 
00581 
00582 Notational changes:
00583 -------------------
00584 
00585 - in the documentation, replaced eta -> y, to make it clear that it's
00586   rapidity and not pseudorapidity that is being used throughout. Some
00587   internal code continues to use variables called "eta" -- but these
00588   are actually proper rapidity.
00589 
00590 
00591 ======================================================================
00592 Changes from v1.0 to v2.0
00593 =========================
00594 
00595 New features:
00596 -------------
00597 
00598 - the longitudinally invariant inclusive Cambridge/Aachen jet finder
00599   has been added.
00600 
00601   Note that the exclusive jets extraction for the Cambridge jet-finder
00602   does not provide the definition as given in the original Cambridge
00603   paper. See the documentation for further details
00604 
00605 - classes have been introduced for running jet clustering and
00606   simultaneously collecting information about the area of each jet. 
00607   The base class specifying the functionality is
00608    
00609     class ClusterSequenceWithArea;
00610 
00611   itself derived from ClusterSequence.
00612 
00613   Two derived classes that provide the actual areas functionality are:
00614 
00615     class ClusterSequenceActiveArea;
00616     class ClusterSequenceActiveAreaExplicitGhosts;
00617 
00618   To construct them, one also needs to specify how one wishes the area
00619   to be calculated, via a class
00620 
00621     class ActiveAreaSpec;
00622 
00623 
00624 New optimizations:
00625 ------------------
00626 - new clustering strategies have been added:
00627   
00628   
00629     N2MinHeapTiled : like N2Tiled, except that the non-geometric
00630                      part has been replaced with a N ln N algorithm
00631                      (overall the strategy still scales as N^2, but with a
00632                      smaller coefficient)
00633 
00634     NlnNCam, NlnNCam2pi2R, NlnNCam4pi:
00635 
00636                      NlnN strategies specific to the Cambridge/Aachen
00637                      jet-finder -- the fastest of them is NlnNCam.
00638                      Depending on the size of the event and of the CPU
00639                      cache it may be up to 2.5 times faster than the
00640                      CGAL-based NlnN strategy. Experiment on your own
00641                      hardware and events to establish whether the
00642                      speed gain is significant.
00643 
00644                      These strategies are based on the work on dynamic
00645                      Closest Pair problems by Timothy Chan.
00646 
00647     Best           : (was present before) now attempts to select best 
00648                      among N2Plain, N2Tiled, N2MinHeapTiled, NlnN. 
00649 
00650                      As the best option for a given N may depend on R
00651                      and the event structure, you are advised to
00652                      experiment with individual strategies if the
00653                      last few tens of percent in speed are critical.
00654                      
00655 
00656 
00657 Updates to user interface
00658 -------------------------
00659 
00660 While the v1 interface to fastjet has been maintained for backwards
00661 compatibility, for new developments in v2 and related forthcoming
00662 work, a new interface is provided as follows:
00663 
00664 - User accessible classes and enums have had the "Fj" prefix removed
00665   and are instead now in namespace fastjet; the corresponding include
00666   files are in the include/fastjet directory. So, for example instead
00667   of
00668 
00669     #include "FjClusterSequence.hh"
00670     //...
00671     FjClusterSequence clust_seq(...)
00672 
00673   one now uses the following
00674 
00675     #include "fastjet/ClusterSequence.hh"
00676     //...
00677     fastjet::ClusterSequence clust_seq(...)
00678 
00679   If typing "fastjet::" the whole time seems too long-winded, you can
00680   abbreviate "fastjet" as "fj" with
00681 
00682     namespace fj = fastjet;
00683 
00684   or eliminate the need for it altogether with
00685 
00686     using namespace fastjet;
00687   
00688 - a new class, fastjet::JetDefinition, has been introduced for holding
00689   the details of the jet finder (which one, value of R, etc...) that
00690   is to be used in a given clustering.
00691 
00692     #include "fastjet/JetDefinition.hh"
00693     #include "fastjet/ClusterSequence.hh"
00694     //...
00695 
00696     double R = 0.7;
00697 
00698     // define jet algorithm
00699     fastjet::JetDefinition jet_def(fastjet::kt_algorithm, R);
00700 
00701     // get the cluster sequence for a vector of 4-momenta and the 
00702     // given jet definition
00703     fastjet::ClusterSequence clust_seq(momenta, jet_def);
00704 
00705 - some errors that previously were assertions now throw an
00706   fastjet::Error -- exception. A fully uniform handling of exceptions
00707   is currently some way away however and users for whom this is an
00708   important issue should contact the authors.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends