Fork me on GitHub

Ignore:
Timestamp:
Sep 29, 2015, 2:08:10 PM (9 years ago)
Author:
Michele Selvaggi <michele.selvaggi@…>
Branches:
ImprovedOutputFile, Timing, dual_readout, llp, master
Children:
a98c7ef
Parents:
d870fc5 (diff), 06ec139 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge remote-tracking branch 'upstream/master'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • external/fastjet/internal/LazyTiling9Alt.hh

    rd870fc5 rd77b51d  
    33
    44//FJSTARTHEADER
    5 // $Id: LazyTiling9Alt.hh 3477 2014-07-29 14:34:39Z salam $
     5// $Id: LazyTiling9Alt.hh 3808 2015-02-20 11:24:53Z soyez $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3737
    3838FASTJET_BEGIN_NAMESPACE      // defined in fastjet/internal/base.hh
     39
     40/// Rounding errors in the Lazy strategies may cause the following
     41/// problem: when browsing tiles in the vicinity of the particles
     42/// being clustered in order to decide which of these tiles may
     43/// contain particles that need to be updated (because theit NN is one
     44/// of the particles that are currently clustered), we discard tiles
     45/// that are deemed "too far from the cell" by the "max_NN_dist"
     46/// criterion. Because of rounding error, this condition can sometimes
     47/// miss cases where an update is needed.
     48///
     49/// An example of this happens if a particle '1' is, say, at the lower
     50/// edge of the rapidity of a given tile, with a particle '2' in the
     51/// tile directly on its left at the same rapidity. Assume also that
     52/// max_NN_dist in 2's tile corresponds to the distance between 2 and
     53/// teh tile of 1. If 2 is 1's NN then in case 2 gets clustered, 1's
     54/// NN needs to be updated. However, rounding errors in the
     55/// calculation of the distance between 1 and 2 may result is
     56/// something slightly larger than the max_NN_dist in 2's tile.
     57///
     58/// This situation corresponds to the bug reported by Jochen Olt on
     59/// February 12 2015 [see issue-tracker/2015-02-infinite-loop],
     60/// causing an infinite loop.
     61///
     62/// To prevent this, the simplest solution is, when looking at tiles
     63/// to browse for updateds, to add a margin of security close to the
     64/// edges of the cell, i.e. instead of updating only tiles for which
     65/// distance<=max_NN_dist, we will update tiles for which
     66/// distance<=max_NN_dist+tile_edge_security_margin.
     67///
     68/// Note that this does not need to be done when computing nearest
     69/// neighbours [rounding errors are tolerated there] but it is
     70/// critical when tracking points that have to be updated.
     71const double tile_edge_security_margin=1.0e-7;
    3972
    4073/// structure analogous to BriefJet, but with the extra information
Note: See TracChangeset for help on using the changeset viewer.