FastJet  3.1.0-beta.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Subtractor Class Reference

Class that helps perform jet background subtraction. More...

#include <fastjet/tools/Subtractor.hh>

Inherits Transformer.

Public Member Functions

 Subtractor (BackgroundEstimatorBase *bge)
 define a subtractor based on a BackgroundEstimator
 
 Subtractor (double rho)
 define a subtractor that uses a fixed value of rho, the background pt density per unit area (which must be positive)
 
 Subtractor ()
 default constructor
 
virtual ~Subtractor ()
 default dtor
 
configuring the behaviour
void set_defaults ()
 reset all parameters to default values More...
 
void set_use_rho_m (bool use_rho_m_in=true)
 when 'use_rho_m' is true, include in the subtraction the correction from rho_m, the purely longitudinal, particle-mass-induced component of the background density per unit area More...
 
bool use_rho_m () const
 returns whether or not the rho_m component is used
 
void set_safe_mass (bool safe_mass_in=true)
 when 'safe_mass' is true, ensure that the mass of the subtracted 4-vector remain positive More...
 
bool safe_mass () const
 returns whether or not safety tests on the mass are included
 
void set_known_selectors (const Selector &sel_known_vertex, const Selector &sel_leading_vertex)
 This is mostly intended for cherge-hadron-subtracted type of events where we wich to use vertex information to improve the subtraction. More...
 
description and action
virtual PseudoJet result (const PseudoJet &jet) const
 returns a jet that's subtracted More...
 
virtual std::string description () const
 class description
 

Protected Member Functions

PseudoJet _amount_to_subtract (const PseudoJet &jet) const
 compute the 4-vector that should be subtracted from the given jet
 

Protected Attributes

BackgroundEstimatorBase * _bge
 the tool used to estimate the background if has to be mutable in case its underlying selector takes a reference jet
 
double _rho
 the fixed value of rho to use if the user has selected that option
 
bool _use_rho_m
 include the rho_m correction
 
bool _safe_mass
 ensures that the subtracted mass is +ve
 
Selector _sel_known_vertex
 selects the particles with a known vertex origin
 
Selector _sel_leading_vertex
 amongst the particles with a known vertex origin, select those coming from the leading vertex
 
LimitedWarning _unused_rho_m_warning
 

Static Protected Attributes

static const double _invalid_rho = -numeric_limits<double>::infinity()
 a value of rho that is used as a default to label that the stored rho is not valid for subtraction. More...
 

Detailed Description

Class that helps perform jet background subtraction.

This class derives from Transformer and makes use of a pointer to a BackgroundEstimatorBase object in order to determine the background in the vicinity of a given jet and then subtract area*background from the jet. It can also be initialised with a specific fixed value for the background pt density.

Input conditions

The original jet must have area support (4-vector)

Output/interface

The underlying structure of the returned, subtracted jet (i.e. constituents, pieces, etc.) is identical to that of the original jet.

Definition at line 61 of file Subtractor.hh.

Member Function Documentation

void Subtractor::set_defaults ( )

reset all parameters to default values

Note: by default, the rho_m term is not included and the safety test for the mass is not done. This is mostly for backwards compatibility with FastJet 3.0 and is highly likely to change in a future release of FastJet

Definition at line 50 of file Subtractor.cc.

void Subtractor::set_use_rho_m ( bool  use_rho_m_in = true)
inline

when 'use_rho_m' is true, include in the subtraction the correction from rho_m, the purely longitudinal, particle-mass-induced component of the background density per unit area

Note: this will be switched off by default (for backwards compatibility with FastJet 3.0) but is highly likely to change in a future release of FastJet

Definition at line 97 of file Subtractor.hh.

void Subtractor::set_safe_mass ( bool  safe_mass_in = true)
inline

when 'safe_mass' is true, ensure that the mass of the subtracted 4-vector remain positive

when true, if the subtracted mass is negative, we return a 4-vector with 0 mass, pt and phi from the subtracted 4-vector and the rapidity of the original, unsubtracted jet.

Note: this will be switched off by default (for backwards compatibility with FastJet 3.0) but is highly likely to change in a future release of FastJet

Definition at line 117 of file Subtractor.hh.

void Subtractor::set_known_selectors ( const Selector &  sel_known_vertex,
const Selector &  sel_leading_vertex 
)
inline

This is mostly intended for cherge-hadron-subtracted type of events where we wich to use vertex information to improve the subtraction.

Given the following parameters:

Parameters
sel_known_vertexselects the particles with a known vertex origin
sel_leading_vertexamongst the particles with a known vertex origin, select those coming from the leading vertex Momentum identified as coming from the leading vertex will be kept, momentum identified as coming from a non-leading vertex will be eliminated and a regular area-median subtraction will be applied on the 4-vector sum of the particles with unknown vertex origin.

When this is set, we shall ensure that the pt of the subtracted 4-vector is at least the pt of the particles that are known to come from the leading vertex (if it fails, subtraction returns the component that is known to come from the leading vertex — or, the original unsubtracted jet if it contains no particles from the leading vertex). Furthermore, when safe_mass() is on, we also impose a similar constraint on the mass of the subtracted 4-vector (if the test fails, the longitudinal part of the subtracted 4-vector is taken from the component that is known to come from the leading vertex).

Definition at line 148 of file Subtractor.hh.

PseudoJet Subtractor::result ( const PseudoJet &  jet) const
virtual

returns a jet that's subtracted

Parameters
jetthe jet that is to be subtracted
Returns
the subtracted jet

Definition at line 60 of file Subtractor.cc.

Member Data Documentation

FASTJET_BEGIN_NAMESPACE const double Subtractor::_invalid_rho = -numeric_limits<double>::infinity()
staticprotected

a value of rho that is used as a default to label that the stored rho is not valid for subtraction.

Definition at line 198 of file Subtractor.hh.


The documentation for this class was generated from the following files: