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