|
FastJet 3.0alpha3
|
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.
1.7.4