Fork me on GitHub

source: git/external/fastjet/contribs/SoftKiller/README@ 1641926

Timing
Last change on this file since 1641926 was 35cdc46, checked in by Pavel Demin <demin@…>, 10 years ago

upgrade FastJet to version 3.1.0-beta.1, upgrade Nsubjettiness to version 2.1.0, add SoftKiller version 1.0.0

  • Property mode set to 100644
File size: 2.7 KB
Line 
1------------------------------------------------------------------------
2SoftKiller FastJet contrib
3------------------------------------------------------------------------
4
5The SoftKiller FastJet contrib aims to provide an implementation of
6the pileup removal technique introduced in
7
8 SoftKiller, a particle-level pileup removal method
9 Matteo Cacciari, Gavin P. Salam, Gregory Soyez
10 arXiv:1407.0408
11
12The SoftKiller class progressively kills soft particles in order of
13increasing pt until half of the event is empty (i.e. rho is zero).
14It is constructed using
15
16 SoftKiller soft_killer(double rapmax, double grid_spacing,
17 Selector sifter = Selector());
18
19with
20
21 rapmax the maximal (absolute) rapidity extent of the grid
22 tile_size the requested grid spacing (or equivalent tile size)
23 sifter when provided, the soft killer is applied
24 only to particles that pass the sifter (the
25 others are kept untouched)
26
27For a given event, the SoftKiller is then applied to an event as follows
28
29 vector<PseudoJet> event;
30 vector<PseudoJet> killed_event = soft_killer(event);
31
32For an explicit illustration of how this works, see the example.cc
33file which can be built using
34
35 make example
36
37and should be run with
38
39 ./example < ../data/Pythia-Zp2jets-lhc-pileup-1ev.dat
40
41The expected output can be found in example.ref
42
43----------------------------------------------------------------------
44More advanced usage
45===================
46
47If you have FastJet 3.1, then you can use its RectangularGrid to have
48obtain control over the grid; for example to apply a soft killer
49separately to central and forward particles you might have:
50
51 double central_rapmax = 2.5, forward_rapmax = 5.0, tile_size = 0.5;
52
53 // the central SK runs from -central_rapmax to central_rapmax; we
54 // can have separate rapidity and phi tile sizes, but here keep
55 // them the same
56 RectangularGrid central_grid(-central_rapmax, central_rapmax, tile_size, tile_size);
57 SoftKiller central_killer(central_grid);
58 Selector central_selector = SelectorAbsRapMax(central_rapmax); // for later use
59
60 // for the forward SK, we have a grid from -5.0 to 5.0 but then use
61 // only grid tiles whose central point passes the forward selector
62 Selector forward_selector = SelectorAbsRapRange(central_rapmax, forward_rapmax);
63 RectangularGrid forward_grid(-forward_rapma, forward_rapmax, tile_size, tile_size, forward_selector);
64 SoftKiller central_killer(forward_grid);
65
66 // now process central and forward particles separately
67 vector<PseudoJet> central_kept_particles = central_killer(central_selector(particles));
68 vector<PseudoJet> forward_kept_particles = forward_killer(forward_selector(particles));
69
70
Note: See TracBrowser for help on using the repository browser.