Page MenuHomeHEPForge

README
No OneTemporary

------------------------------------------------------------------------
SoftKiller FastJet contrib
------------------------------------------------------------------------
The SoftKiller FastJet contrib aims to provide an implementation of
the pileup removal technique introduced in
SoftKiller, a particle-level pileup removal method
Matteo Cacciari, Gavin P. Salam, Gregory Soyez
arXiv:1407.0408
The SoftKiller class progressively kills soft particles in order of
increasing pt until half of the event is empty (i.e. rho is zero).
It is constructed using
SoftKiller soft_killer(double rapmax, double grid_spacing,
Selector sifter = Selector());
with
rapmax the maximal (absolute) rapidity extent of the grid
tile_size the requested grid spacing (or equivalent tile size)
sifter when provided, the soft killer is applied
only to particles that pass the sifter (the
others are kept untouched)
For a given event, the SoftKiller is then applied to an event as follows
vector<PseudoJet> event;
vector<PseudoJet> killed_event = soft_killer(event);
For an explicit illustration of how this works, see the example.cc
file which can be built using
make example
and should be run with
./example < ../data/Pythia-Zp2jets-lhc-pileup-1ev.dat
The expected output can be found in example.ref
----------------------------------------------------------------------
More advanced usage
===================
If you have FastJet 3.1, then you can use its RectangularGrid to have
obtain control over the grid; for example to apply a soft killer
separately to central and forward particles you might have:
double central_rapmax = 2.5, forward_rapmax = 5.0, tile_size = 0.5;
// the central SK runs from -central_rapmax to central_rapmax; we
// can have separate rapidity and phi tile sizes, but here keep
// them the same
RectangularGrid central_grid(-central_rapmax, central_rapmax, tile_size, tile_size);
SoftKiller central_killer(central_grid);
Selector central_selector = SelectorAbsRapMax(central_rapmax); // for later use
// for the forward SK, we have a grid from -5.0 to 5.0 but then use
// only grid tiles whose central point passes the forward selector
Selector forward_selector = SelectorAbsRapRange(central_rapmax, forward_rapmax);
RectangularGrid forward_grid(-forward_rapma, forward_rapmax, tile_size, tile_size, forward_selector);
SoftKiller central_killer(forward_grid);
// now process central and forward particles separately
vector<PseudoJet> central_kept_particles = central_killer(central_selector(particles));
vector<PseudoJet> forward_kept_particles = forward_killer(forward_selector(particles));

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 3, 8:05 PM (22 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4710892
Default Alt Text
README (2 KB)

Event Timeline