Loading...
Searching...
No Matches
fastjet::ClusterSequenceAreaBase Class Reference
Area-related classes

base class that sets interface for extensions of ClusterSequence that provide information about the area of each jet More...

`#include <fastjet/ClusterSequenceAreaBase.hh>`

Inheritance diagram for fastjet::ClusterSequenceAreaBase:
[legend]
Collaboration diagram for fastjet::ClusterSequenceAreaBase:
[legend]

## Public Member Functions

template<class L>
| ClusterSequenceAreaBase (const std::vector< L > &pseudojets, const JetDefinition &jet_def_in, const bool &writeout_combinations=false)
| a constructor which just carries out the construction of the parent class
| ClusterSequenceAreaBase ()
| default constructor
virtual | ~ClusterSequenceAreaBase ()
| destructor
virtual double | area (const PseudoJet &) const
| return the area associated with the given jet; this base class returns 0.
virtual double | area_error (const PseudoJet &) const
| return the error (uncertainty) associated with the determination of the area of this jet; this base class returns 0.
virtual PseudoJet | area_4vector (const PseudoJet &) const
| return a PseudoJet whose 4-vector is defined by the following integral
virtual bool | is_pure_ghost (const PseudoJet &) const
| true if a jet is made exclusively of ghosts
virtual bool | has_explicit_ghosts () const
| returns true if ghosts are explicitly included within jets for this ClusterSequence;
virtual double | empty_area (const Selector &selector) const
| return the total area, corresponding to the given Selector, that is free of jets, in general based on the inclusive jets.
double | empty_area_from_jets (const std::vector< PseudoJet > &all_jets, const Selector &selector) const
| return the total area, corresponding to the given Selector, that is free of jets, based on the supplied all_jets
virtual double | n_empty_jets (const Selector &selector) const
| return something similar to the number of pure ghost jets in the given selector's range in an active area case.
double | median_pt_per_unit_area (const Selector &selector) const
| the median of (pt/area) for jets contained within the selector range, making use also of the info on n_empty_jets
double | median_pt_per_unit_area_4vector (const Selector &selector) const
| the median of (pt/area_4vector) for jets contained within the selector range, making use also of the info on n_empty_jets
double | median_pt_per_unit_something (const Selector &selector, bool use_area_4vector) const
| the function that does the work for median_pt_per_unit_area and median_pt_per_unit_area_4vector:
virtual void | get_median_rho_and_sigma (const Selector &selector, bool use_area_4vector, double &median, double &sigma, double &mean_area) const
| using jets withing the selector range (and with 4-vector areas if use_area_4vector), calculate the median pt/area, as well as an "error" (uncertainty), which is defined as the 1-sigma half-width of the distribution of pt/A, obtained by looking for the point below which we have (1-0.6827)/2 of the jets (including empty jets).
virtual void | get_median_rho_and_sigma (const std::vector< PseudoJet > &all_jets, const Selector &selector, bool use_area_4vector, double &median, double &sigma, double &mean_area, bool all_are_inclusive=false) const
| a more advanced version of get_median_rho_and_sigma, which allows one to use any "view" of the event containing all jets (so that, e.g.
virtual void | get_median_rho_and_sigma (const Selector &selector, bool use_area_4vector, double &median, double &sigma) const
| same as the full version of get_median_rho_and_error, but without access to the mean_area
virtual void | parabolic_pt_per_unit_area (double &a, double &b, const Selector &selector, double exclude_above=-1.0, bool use_area_4vector=false) const
| fits a form pt_per_unit_area(y) = a + b*y^2 in the selector range.
std::vector< PseudoJet > | subtracted_jets (const double rho, const double ptmin=0.0) const
| return a vector of all subtracted jets, using area_4vector, given rho.
std::vector< PseudoJet > | subtracted_jets (const Selector &selector, const double ptmin=0.0) const
| return a vector of subtracted jets, using area_4vector.
PseudoJet | subtracted_jet (const PseudoJet &jet, const double rho) const
| return a subtracted jet, using area_4vector, given rho
PseudoJet | subtracted_jet (const PseudoJet &jet, const Selector &selector) const
| return a subtracted jet, using area_4vector; note that this is potentially inefficient if repeatedly used for many different jets, because rho will be recalculated each time around.
double | subtracted_pt (const PseudoJet &jet, const double rho, bool use_area_4vector=false) const
| return the subtracted pt, given rho
double | subtracted_pt (const PseudoJet &jet, const Selector &selector, bool use_area_4vector=false) const
| return the subtracted pt; note that this is potentially inefficient if repeatedly used for many different jets, because rho will be recalculated each time around.
Public Member Functions inherited from fastjet::ClusterSequence
| ClusterSequence ()
| default constructor
template<class L>
| ClusterSequence (const std::vector< L > &pseudojets, const JetDefinition &jet_def, const bool &writeout_combinations=false)
| create a ClusterSequence, starting from the supplied set of PseudoJets and clustering them with jet definition specified by jet_def (which also specifies the clustering strategy)
| ClusterSequence (const ClusterSequence &cs)
| copy constructor for a ClusterSequence
ClusterSequence & | operator= (const ClusterSequence &cs)
| explicit assignment operator for a ClusterSequence
std::vector< PseudoJet > | inclusive_jets (const double ptmin=0.0) const
| return a vector of all jets (in the sense of the inclusive algorithm) with pt >= ptmin.
int | n_exclusive_jets (const double dcut) const
| return the number of jets (in the sense of the exclusive algorithm) that would be obtained when running the algorithm with the given dcut.
std::vector< PseudoJet > | exclusive_jets (const double dcut) const
| return a vector of all jets (in the sense of the exclusive algorithm) that would be obtained when running the algorithm with the given dcut.
std::vector< PseudoJet > | exclusive_jets (const int njets) const
| return a vector of all jets when the event is clustered (in the exclusive sense) to exactly njets.
std::vector< PseudoJet > | exclusive_jets_up_to (const int njets) const
| return a vector of all jets when the event is clustered (in the exclusive sense) to exactly njets.
double | exclusive_dmerge (const int njets) const
| return the dmin corresponding to the recombination that went from n+1 to n jets (sometimes known as d_{n n+1}).
double | exclusive_dmerge_max (const int njets) const
| return the maximum of the dmin encountered during all recombinations up to the one that led to an n-jet final state; identical to exclusive_dmerge, except in cases where the dmin do not increase monotonically.
double | exclusive_ymerge (int njets) const
| return the ymin corresponding to the recombination that went from n+1 to n jets (sometimes known as y_{n n+1}).
double | exclusive_ymerge_max (int njets) const
| same as exclusive_dmerge_max, but normalised to squared total energy
int | n_exclusive_jets_ycut (double ycut) const
| the number of exclusive jets at the given ycut
std::vector< PseudoJet > | exclusive_jets_ycut (double ycut) const
| the exclusive jets obtained at the given ycut
std::vector< PseudoJet > | exclusive_subjets (const PseudoJet &jet, const double dcut) const
| return a vector of all subjets of the current jet (in the sense of the exclusive algorithm) that would be obtained when running the algorithm with the given dcut.
int | n_exclusive_subjets (const PseudoJet &jet, const double dcut) const
| return the size of exclusive_subjets(...); still n ln n with same coefficient, but marginally more efficient than manually taking exclusive_subjets.size()
std::vector< PseudoJet > | exclusive_subjets (const PseudoJet &jet, int nsub) const
| return the list of subjets obtained by unclustering the supplied jet down to nsub subjets.
std::vector< PseudoJet > | exclusive_subjets_up_to (const PseudoJet &jet, int nsub) const
| return the list of subjets obtained by unclustering the supplied jet down to nsub subjets (or all constituents if there are fewer than nsub).
double | exclusive_subdmerge (const PseudoJet &jet, int nsub) const
| returns the dij that was present in the merging nsub+1 -> nsub subjets inside this jet.
double | exclusive_subdmerge_max (const PseudoJet &jet, int nsub) const
| returns the maximum dij that occurred in the whole event at the stage that the nsub+1 -> nsub merge of subjets occurred inside this jet.
double | Q () const
| returns the sum of all energies in the event (relevant mainly for e+e-)
double | Q2 () const
| return Q()^2
bool | object_in_jet (const PseudoJet &object, const PseudoJet &jet) const
| returns true iff the object is included in the jet.
bool | has_parents (const PseudoJet &jet, PseudoJet &parent1, PseudoJet &parent2) const
| if the jet has parents in the clustering, it returns true and sets parent1 and parent2 equal to them.
bool | has_child (const PseudoJet &jet, PseudoJet &child) const
| if the jet has a child then return true and give the child jet otherwise return false and set the child to zero
bool | has_child (const PseudoJet &jet, const PseudoJet *&childp) const
| Version of has_child that sets a pointer to the child if the child exists;.
bool | has_partner (const PseudoJet &jet, PseudoJet &partner) const
| if this jet has a child (and so a partner) return true and give the partner, otherwise return false and set the partner to zero
std::vector< PseudoJet > | constituents (const PseudoJet &jet) const
| return a vector of the particles that make up jet
void | print_jets_for_root (const std::vector< PseudoJet > &jets, std::ostream &ostr=std::cout) const
| output the supplied vector of jets in a format that can be read by an appropriate root script; the format is: jet-n jet-px jet-py jet-pz jet-E particle-n particle-rap particle-phi particle-pt particle-n particle-rap particle-phi particle-pt ... #END ... [i.e.
void | print_jets_for_root (const std::vector< PseudoJet > &jets, const std::string &filename, const std::string &comment="") const
| print jets for root to the file labelled filename, with an optional comment at the beginning
void | add_constituents (const PseudoJet &jet, std::vector< PseudoJet > &subjet_vector) const
| add on to subjet_vector the constituents of jet (for internal use mainly)
Strategy | strategy_used () const
| return the enum value of the strategy used to cluster the event
std::string | strategy_string () const
| return the name of the strategy used to cluster the event
std::string | strategy_string (Strategy strategy_in) const
| return the name of the strategy associated with the enum strategy_in
const JetDefinition & | jet_def () const
| return a reference to the jet definition
void | delete_self_when_unused ()
| by calling this routine you tell the ClusterSequence to delete itself when all the Pseudojets associated with it have gone out of scope.
bool | will_delete_self_when_unused () const
| return true if the object has been told to delete itself when unused
void | signal_imminent_self_deletion () const
| tell the ClusterSequence it's about to be self deleted (internal use only)
double | jet_scale_for_algorithm (const PseudoJet &jet) const
| returns the scale associated with a jet as required for this clustering algorithm (kt^2 for the kt-algorithm, 1 for the Cambridge algorithm).
void | plugin_record_ij_recombination (int jet_i, int jet_j, double dij, int &newjet_k)
| record the fact that there has been a recombination between jets()[jet_i] and jets()[jet_k], with the specified dij, and return the index (newjet_k) allocated to the new jet, whose momentum is assumed to be the 4-vector sum of that of jet_i and jet_j
void | plugin_record_ij_recombination (int jet_i, int jet_j, double dij, const PseudoJet &newjet, int &newjet_k)
| as for the simpler variant of plugin_record_ij_recombination, except that the new jet is attributed the momentum and user_index of newjet
void | plugin_record_iB_recombination (int jet_i, double diB)
| record the fact that there has been a recombination between jets()[jet_i] and the beam, with the specified diB; when looking for inclusive jets, any iB recombination will returned to the user as a jet.
void | plugin_associate_extras (Extras *extras_in)
| the plugin can associate some extra information with the ClusterSequence object by calling this function.
void | plugin_associate_extras (std::auto_ptr< Extras > extras_in)
| the plugin can associate some extra information with the ClusterSequence object by calling this function
bool | plugin_activated () const
| returns true when the plugin is allowed to run the show.
const Extras * | extras () const
| returns a pointer to the extras object (may be null)
template<class GBJ>
void | plugin_simple_N2_cluster ()
| allows a plugin to run a templated clustering (nearest-neighbour heuristic)
const std::vector< PseudoJet > & | jets () const
| allow the user to access the internally stored _jets() array, which contains both the initial particles and the various intermediate and final stages of recombination.
const std::vector< history_element > & | history () const
| allow the user to access the raw internal history.
unsigned int | n_particles () const
| returns the number of particles that were provided to the clustering algorithm (helps the user find their way around the history and jets objects if they weren't paying attention beforehand).
std::vector< int > | particle_jet_indices (const std::vector< PseudoJet > &) const
| returns a vector of size n_particles() which indicates, for each of the initial particles (in the order in which they were supplied), which of the supplied jets it belongs to; if it does not belong to any of the supplied jets, the index is set to -1;
std::vector< int > | unique_history_order () const
| routine that returns an order in which to read the history such that clusterings that lead to identical jet compositions but different histories (because of degeneracies in the clustering order) will have matching constituents for each matching entry in the unique_history_order.
std::vector< PseudoJet > | unclustered_particles () const
| return the set of particles that have not been clustered.
std::vector< PseudoJet > | childless_pseudojets () const
| Return the list of pseudojets in the ClusterSequence that do not have children (and are not among the inclusive jets).
bool | contains (const PseudoJet &object) const
| returns true if the object (jet or particle) is contained by (ie belongs to) this cluster sequence.
void | transfer_from_sequence (const ClusterSequence &from_seq, const FunctionOfPseudoJet< PseudoJet > *action_on_jets=0)
| transfer the sequence contained in other_seq into our own; any plugin "extras" contained in the from_seq will be lost from there.
const SharedPtr< PseudoJetStructureBase > & | structure_shared_ptr () const
| retrieve a shared pointer to the wrapper to this ClusterSequence
template<>
void | _bj_set_jetinfo (EEBriefJet *const jetA, const int _jets_index) const
template<>
double | _bj_dist (const EEBriefJet *const jeta, const EEBriefJet *const jetb) const

## Protected Member Functions

void | _check_selector_good_for_median (const Selector &selector) const
| check the selector is suited for the computations i.e. applies jet by jet and has a finite area
virtual void | _get_median_rho_and_sigma (const Selector &selector, bool use_area_4vector, double &median, double &sigma, double &mean_area) const
virtual void | _get_median_rho_and_sigma (const std::vector< PseudoJet > &all_jets, const Selector &selector, bool use_area_4vector, double &median, double &sigma, double &mean_area, bool all_are_inclusive=false) const
virtual void | _get_median_rho_and_sigma (const Selector &selector, bool use_area_4vector, double &median, double &sigma) const
virtual void | _parabolic_pt_per_unit_area (double &a, double &b, const Selector &selector, double exclude_above=-1.0, bool use_area_4vector=false) const
Protected Member Functions inherited from fastjet::ClusterSequence
template<class L>
void | _transfer_input_jets (const std::vector< L > &pseudojets)
| transfer the vector<L> of input jets into our own vector<PseudoJet> _jets (with some reserved space for future growth).
void | _initialise_and_run (const JetDefinition &jet_def, const bool &writeout_combinations)
| This is what is called to do all the initialisation and then run the clustering (may be called by various constructors).
void | _initialise_and_run_no_decant ()
void | _decant_options (const JetDefinition &jet_def, const bool &writeout_combinations)
| fills in the various member variables with "decanted" options from the jet_definition and writeout_combinations variables
void | _decant_options_partial ()
| assuming that the jet definition, writeout_combinations and _structure_shared_ptr have been set (e.g.
void | _fill_initial_history ()
| fill out the history (and jet cross refs) related to the initial set of jets (assumed already to have been "transferred"), without any clustering
void | _do_ij_recombination_step (const int jet_i, const int jet_j, const double dij, int &newjet_k)
| carry out the recombination between the jets numbered jet_i and jet_j, at distance scale dij; return the index newjet_k of the result of the recombination of i and j.
void | _do_iB_recombination_step (const int jet_i, const double diB)
| carry out an recombination step in which _jets[jet_i] merges with the beam,
void | _set_structure_shared_ptr (PseudoJet &j)
| every time a jet is added internally during clustering, this should be called to set the jet's structure shared ptr to point to the CS (and the count of internally associated objects is also updated).
void | _update_structure_use_count ()
| make sure that the CS's internal tally of the use count matches that of the _structure_shared_ptr
Strategy | _best_strategy () const
| returns a suggestion for the best strategy to use on event multiplicity, algorithm, R, etc.
void | get_subhist_set (std::set< const history_element * > &subhist, const PseudoJet &jet, double dcut, int maxjet) const
| set subhist to be a set pointers to history entries corresponding to the subjets of this jet; one stops going working down through the subjets either when

## Additional Inherited Members

Public Types inherited from fastjet::ClusterSequence
enum | JetType { Invalid =-3 , InexistentParent = -2 , BeamJet = -1 }
typedef ClusterSequenceStructure | StructureType
| the structure type associated with a jet belonging to a ClusterSequence
Static Public Member Functions inherited from fastjet::ClusterSequence
static void | print_banner ()
| This is the function that is automatically called during clustering to print the FastJet banner.
static std::ostream * | fastjet_banner_stream ()
| returns a pointer to the stream to be used to print banners (cout by default).
Protected Attributes inherited from fastjet::ClusterSequence
JetDefinition | _jet_def
std::vector< PseudoJet > | _jets
| This contains the physical PseudoJets; for each PseudoJet one can find the corresponding position in the _history by looking at _jets[i].cluster_hist_index().
std::vector< history_element > | _history
| this vector will contain the branching history; for each stage, _history[i].jetp_index indicates where to look in the _jets vector to get the physical PseudoJet.
bool | _writeout_combinations
int | _initial_n
double | _Rparam
double | _R2
double | _invR2
double | _Qtot
Strategy | _strategy
JetAlgorithm | _jet_algorithm
SharedPtr< PseudoJetStructureBase > | _structure_shared_ptr
int | _structure_use_count_after_construction
bool | _deletes_self_when_unused
| if true then the CS will delete itself when the last external object referring to it disappears.

## Detailed Description

base class that sets interface for extensions of ClusterSequence that provide information about the area of each jet

the virtual functions here all return 0, since no area determination is implemented.

Definition at line 48 of file ClusterSequenceAreaBase.hh.

## Constructor & Destructor Documentation

## ClusterSequenceAreaBase() [1/2]

template<class L>

fastjet::ClusterSequenceAreaBase::ClusterSequenceAreaBase | ( | const std::vector< L > & | pseudojets,
|  | const JetDefinition & | jet_def_in,
|  | const bool & | writeout_combinations = false )

inline

a constructor which just carries out the construction of the parent class

Definition at line 53 of file ClusterSequenceAreaBase.hh.

## ClusterSequenceAreaBase() [2/2]

fastjet::ClusterSequenceAreaBase::ClusterSequenceAreaBase | ( |  | ) |

inline

default constructor

Definition at line 61 of file ClusterSequenceAreaBase.hh.

## ~ClusterSequenceAreaBase()

virtual fastjet::ClusterSequenceAreaBase::~ClusterSequenceAreaBase | ( |  | ) |

inline virtual

destructor

Definition at line 65 of file ClusterSequenceAreaBase.hh.

## Member Function Documentation

## area()

virtual double fastjet::ClusterSequenceAreaBase::area | ( | const PseudoJet & |  | ) | const

inline virtual

return the area associated with the given jet; this base class returns 0.

Reimplemented in fastjet::ClusterSequenceActiveArea, fastjet::ClusterSequenceActiveAreaExplicitGhosts, fastjet::ClusterSequenceArea, and fastjet::ClusterSequenceVoronoiArea.

Definition at line 70 of file ClusterSequenceAreaBase.hh.

## area_error()

virtual double fastjet::ClusterSequenceAreaBase::area_error | ( | const PseudoJet & |  | ) | const

inline virtual

return the error (uncertainty) associated with the determination of the area of this jet; this base class returns 0.

Reimplemented in fastjet::ClusterSequenceActiveArea, fastjet::ClusterSequenceArea, and fastjet::ClusterSequenceVoronoiArea.

Definition at line 74 of file ClusterSequenceAreaBase.hh.

## area_4vector()

virtual PseudoJet fastjet::ClusterSequenceAreaBase::area_4vector | ( | const PseudoJet & |  | ) | const

inline virtual

return a PseudoJet whose 4-vector is defined by the following integral

      \int drap d\phi PseudoJet("rap,phi,pt=one") *
                          * Theta("rap,phi inside jet boundary")

where PseudoJet("rap,phi,pt=one") is a 4-vector with the given rapidity (rap), azimuth (phi) and pt=1, while Theta("rap,phi inside jet boundary") is a function that is 1 when rap,phi define a direction inside the jet boundary and 0 otherwise.

This base class returns a null 4-vector.

Reimplemented in fastjet::ClusterSequenceActiveArea, fastjet::ClusterSequenceActiveAreaExplicitGhosts, fastjet::ClusterSequenceArea, and fastjet::ClusterSequenceVoronoiArea.

Definition at line 87 of file ClusterSequenceAreaBase.hh.

## is_pure_ghost()

virtual bool fastjet::ClusterSequenceAreaBase::is_pure_ghost | ( | const PseudoJet & |  | ) | const

inline virtual

true if a jet is made exclusively of ghosts

NB: most area classes do not give any explicit ghost jets, but some do, and they should replace this function with their own version.

Reimplemented in fastjet::ClusterSequenceActiveAreaExplicitGhosts, and fastjet::ClusterSequenceArea.

Definition at line 95 of file ClusterSequenceAreaBase.hh.

## has_explicit_ghosts()

virtual bool fastjet::ClusterSequenceAreaBase::has_explicit_ghosts | ( |  | ) | const

inline virtual

returns true if ghosts are explicitly included within jets for this ClusterSequence;

Derived classes that do include explicit ghosts should provide an alternative version of this routine and set it properly.

Reimplemented in fastjet::ClusterSequenceActiveAreaExplicitGhosts, and fastjet::ClusterSequenceArea.

Definition at line 104 of file ClusterSequenceAreaBase.hh.

## empty_area()

double fastjet::ClusterSequenceAreaBase::empty_area | ( | const Selector & | selector | ) | const

virtual

return the total area, corresponding to the given Selector, that is free of jets, in general based on the inclusive jets.

return the total area, within the selector's range, that is free of jets.

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Calculate this as (range area) - \sum_{i in range} A_i

for ClusterSequences with explicit ghosts, assume that there will never be any empty area, i.e. it is always filled in by pure ghosts jets. This holds for seq.rec. algorithms

Reimplemented in fastjet::ClusterSequenceActiveArea, fastjet::ClusterSequenceActiveAreaExplicitGhosts, fastjet::ClusterSequenceArea, and fastjet::ClusterSequencePassiveArea.

Definition at line 57 of file ClusterSequenceAreaBase.cc.

## empty_area_from_jets()

double fastjet::ClusterSequenceAreaBase::empty_area_from_jets | ( | const std::vector< PseudoJet > & | all_jets,
|  | const Selector & | selector ) const

return the total area, corresponding to the given Selector, that is free of jets, based on the supplied all_jets

return the total area, within range, that is free of jets.

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Calculate this as (range area) - \sum_{i in range} A_i

Definition at line 69 of file ClusterSequenceAreaBase.cc.

## n_empty_jets()

virtual double fastjet::ClusterSequenceAreaBase::n_empty_jets | ( | const Selector & | selector | ) | const

inline virtual

return something similar to the number of pure ghost jets in the given selector's range in an active area case.

For the local implementation we return empty_area/(0.55 pi R^2), based on measured properties of ghost jets with kt and cam (cf arXiv:0802.1188).

Note that the number returned is a double.

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Reimplemented in fastjet::ClusterSequence1GhostPassiveArea, fastjet::ClusterSequenceActiveArea, and fastjet::ClusterSequenceArea.

Definition at line 136 of file ClusterSequenceAreaBase.hh.

## median_pt_per_unit_area()

double fastjet::ClusterSequenceAreaBase::median_pt_per_unit_area | ( | const Selector & | selector | ) | const

the median of (pt/area) for jets contained within the selector range, making use also of the info on n_empty_jets

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Definition at line 86 of file ClusterSequenceAreaBase.cc.

## median_pt_per_unit_area_4vector()

double fastjet::ClusterSequenceAreaBase::median_pt_per_unit_area_4vector | ( | const Selector & | selector | ) | const

the median of (pt/area_4vector) for jets contained within the selector range, making use also of the info on n_empty_jets

The selector passed as an argument has to have a finite area and apply jet-by-jet

Definition at line 102 of file ClusterSequenceAreaBase.cc.

## median_pt_per_unit_something()

double fastjet::ClusterSequenceAreaBase::median_pt_per_unit_something | ( | const Selector & | selector,
|  | bool | use_area_4vector ) const

the function that does the work for median_pt_per_unit_area and median_pt_per_unit_area_4vector:

- something_is_area_4vect = false -> use plain area
- something_is_area_4vect = true -> use 4-vector area

Definition at line 118 of file ClusterSequenceAreaBase.cc.

## get_median_rho_and_sigma() [1/3]

void fastjet::ClusterSequenceAreaBase::get_median_rho_and_sigma | ( | const Selector & | selector,
|  | bool | use_area_4vector,
|  | double & | median,
|  | double & | sigma,
|  | double & | mean_area ) const

virtual

using jets withing the selector range (and with 4-vector areas if use_area_4vector), calculate the median pt/area, as well as an "error" (uncertainty), which is defined as the 1-sigma half-width of the distribution of pt/A, obtained by looking for the point below which we have (1-0.6827)/2 of the jets (including empty jets).

The subtraction for a jet with uncorrected pt pt^U and area A is

pt^S = pt^U - median*A +- sigma*sqrt(A)

where the error is only that associated with the fluctuations in the noise and not that associated with the noise having caused changes in the hard-particle content of the jet.

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

NB: subtraction may also be done with 4-vector area of course, and this is recommended for jets with larger values of R, as long as rho has also been determined with a 4-vector area; using a scalar area causes one to neglect terms of relative order $R^2/8$ in the jet $p_t$.

Reimplemented in fastjet::ClusterSequenceArea.

Definition at line 200 of file ClusterSequenceAreaBase.cc.

## get_median_rho_and_sigma() [2/3]

virtual void fastjet::ClusterSequenceAreaBase::get_median_rho_and_sigma | ( | const std::vector< PseudoJet > & | all_jets,
|  | const Selector & | selector,
|  | bool | use_area_4vector,
|  | double & | median,
|  | double & | sigma,
|  | double & | mean_area,
|  | bool | all_are_inclusive = false ) const

virtual

a more advanced version of get_median_rho_and_sigma, which allows one to use any "view" of the event containing all jets (so that, e.g.

one might use Cam on a different resolution scale without have to rerun the algorithm).

By default it will assume that "all" are not inclusive jets, so that in dealing with empty area it has to calculate the number of empty jets based on the empty area and the the observed <area> of jets rather than a surmised area

Note that for small effective radii, this can cause problems because the harder jets get an area >> <ghost-jet-area> and so the estimate comes out all wrong. In these situations it is highly advisable to use an area with explicit ghosts, since then the "empty" jets are actually visible.

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Reimplemented in fastjet::ClusterSequenceArea.

## get_median_rho_and_sigma() [3/3]

virtual void fastjet::ClusterSequenceAreaBase::get_median_rho_and_sigma | ( | const Selector & | selector,
|  | bool | use_area_4vector,
|  | double & | median,
|  | double & | sigma ) const

inline virtual

same as the full version of get_median_rho_and_error, but without access to the mean_area

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Reimplemented in fastjet::ClusterSequenceArea.

Definition at line 230 of file ClusterSequenceAreaBase.hh.

## parabolic_pt_per_unit_area()

void fastjet::ClusterSequenceAreaBase::parabolic_pt_per_unit_area | ( | double & | a,
|  | double & | b,
|  | const Selector & | selector,
|  | double | exclude_above = -1.0,
|  | bool | use_area_4vector = false ) const

virtual

fits a form pt_per_unit_area(y) = a + b*y^2 in the selector range.

fits a form pt_per_unit_area(y) = a + b*y^2 for jets in range.

exclude_above allows one to exclude large values of pt/area from fit. (if negative, the cut is discarded) use_area_4vector = true uses the 4vector areas.

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

exclude_above allows one to exclude large values of pt/area from fit. use_area_4vector = true uses the 4vector areas.

Reimplemented in fastjet::ClusterSequenceArea.

Definition at line 138 of file ClusterSequenceAreaBase.cc.

## subtracted_jets() [1/2]

vector< PseudoJet > fastjet::ClusterSequenceAreaBase::subtracted_jets | ( | const double | rho,
|  | const double | ptmin = 0.0 ) const

return a vector of all subtracted jets, using area_4vector, given rho.

Only inclusive_jets above ptmin are subtracted and returned. the ordering is the same as that of sorted_by_pt(cs.inclusive_jets()), i.e. not necessarily ordered in pt once subtracted

Definition at line 344 of file ClusterSequenceAreaBase.cc.

## subtracted_jets() [2/2]

vector< PseudoJet > fastjet::ClusterSequenceAreaBase::subtracted_jets | ( | const Selector & | selector,
|  | const double | ptmin = 0.0 ) const

return a vector of subtracted jets, using area_4vector.

Only inclusive_jets above ptmin are subtracted and returned. the ordering is the same as that of sorted_by_pt(cs.inclusive_jets()), i.e. not necessarily ordered in pt once subtracted

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Definition at line 366 of file ClusterSequenceAreaBase.cc.

## subtracted_jet() [1/2]

PseudoJet fastjet::ClusterSequenceAreaBase::subtracted_jet | ( | const PseudoJet & | jet,
|  | const double | rho ) const

return a subtracted jet, using area_4vector, given rho

Definition at line 376 of file ClusterSequenceAreaBase.cc.

## subtracted_jet() [2/2]

PseudoJet fastjet::ClusterSequenceAreaBase::subtracted_jet | ( | const PseudoJet & | jet,
|  | const Selector & | selector ) const

return a subtracted jet, using area_4vector; note that this is potentially inefficient if repeatedly used for many different jets, because rho will be recalculated each time around.

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Definition at line 404 of file ClusterSequenceAreaBase.cc.

## subtracted_pt() [1/2]

double fastjet::ClusterSequenceAreaBase::subtracted_pt | ( | const PseudoJet & | jet,
|  | const double | rho,
|  | bool | use_area_4vector = false ) const

return the subtracted pt, given rho

Definition at line 418 of file ClusterSequenceAreaBase.cc.

## subtracted_pt() [2/2]

double fastjet::ClusterSequenceAreaBase::subtracted_pt | ( | const PseudoJet & | jet,
|  | const Selector & | selector,
|  | bool | use_area_4vector = false ) const

return the subtracted pt; note that this is potentially inefficient if repeatedly used for many different jets, because rho will be recalculated each time around.

The selector passed as an argument has to have a finite area and apply jet-by-jet (see the BackgroundEstimator and Subtractor tools for more generic usages)

Definition at line 439 of file ClusterSequenceAreaBase.cc.

## _check_selector_good_for_median()

void fastjet::ClusterSequenceAreaBase::_check_selector_good_for_median | ( | const Selector & | selector | ) | const

protected

check the selector is suited for the computations i.e. applies jet by jet and has a finite area

Definition at line 453 of file ClusterSequenceAreaBase.cc.

## _get_median_rho_and_sigma() [1/2]

void fastjet::ClusterSequenceAreaBase::_get_median_rho_and_sigma | ( | const Selector & | selector,
|  | bool | use_area_4vector,
|  | double & | median,
|  | double & | sigma,
|  | double & | mean_area ) const

protected virtual

Definition at line 206 of file ClusterSequenceAreaBase.cc.

## _get_median_rho_and_sigma() [2/2]

virtual void fastjet::ClusterSequenceAreaBase::_get_median_rho_and_sigma | ( | const Selector & | selector,
|  | bool | use_area_4vector,
|  | double & | median,
|  | double & | sigma ) const

inline protected virtual

Definition at line 326 of file ClusterSequenceAreaBase.hh.

## _parabolic_pt_per_unit_area()

void fastjet::ClusterSequenceAreaBase::_parabolic_pt_per_unit_area | ( | double & | a,
|  | double & | b,
|  | const Selector & | selector,
|  | double | exclude_above = -1.0,
|  | bool | use_area_4vector = false ) const

protected virtual

Definition at line 144 of file ClusterSequenceAreaBase.cc.

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

- include/fastjet/ClusterSequenceAreaBase.hh
- src/ClusterSequenceAreaBase.cc