Loading...
Searching...
No Matches
fastjet::CASubJetTagger Class Reference
FastJet tools » Taggers

clean (almost parameter-free) tagger searching for the element in the clustering history that maximises a chosen distance More...

`#include <fastjet/tools/CASubJetTagger.hh>`

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

## Classes

class | JetAux
| class that contains the result internally More...

## Public Types

enum | ScaleChoice { kt2_distance , jade_distance , jade2_distance , plain_distance , mass_drop_distance , dot_product_distance }
| the available choices of auxiliary scale with respect to which to order the splittings More...
typedef CASubJetTaggerStructure | StructureType
| the type of Structure returned
Public Types inherited from fastjet::Transformer
typedef PseudoJetStructureBase | StructureType
| A typedef that is needed to ensure that the PseudoJet::structure_of() template function works.

## Public Member Functions

| CASubJetTagger (ScaleChoice scale_choice=jade_distance, double z_threshold=0.1)
| just constructs
void | set_dr_min (double drmin)
| sets a minimum delta R below which spliting will be ignored (only relevant if set prior to calling run())
virtual std::string | description () const
| returns a textual description of the tagger
void | set_absolute_z_cut (bool abs_z_cut=true)
| If (abs_z_cut) is set to false (the default) then for a splitting to be considered, each subjet must satisfy.
virtual PseudoJet | result (const PseudoJet &jet) const
| runs the tagger on the given jet and returns the tagged PseudoJet if successful, or a PseudoJet==0 otherwise (standard access is through operator()).
Public Member Functions inherited from fastjet::Transformer
| Transformer ()
| default ctor
virtual | ~Transformer ()
| default dtor
Public Member Functions inherited from fastjet::FunctionOfPseudoJet< PseudoJet >
| FunctionOfPseudoJet ()
| default ctor
virtual | ~FunctionOfPseudoJet ()
| default dtor (virtual to allow safe polymorphism)
PseudoJet | operator() (const PseudoJet &pj) const
| apply the function using the "traditional" () operator.

## Protected Member Functions

void | _recurse_through_jet (const PseudoJet &current_jet, JetAux &aux_max, const PseudoJet &original_jet) const

## Protected Attributes

ScaleChoice | _scale_choice
double | _z_threshold
double | _dr2_min
bool | _absolute_z_cut

## Static Protected Attributes

static LimitedWarning | _non_ca_warnings

## Detailed Description

clean (almost parameter-free) tagger searching for the element in the clustering history that maximises a chosen distance

class to help us get a clean (almost parameter-free) handle on substructure inside a C/A jet. It follows the logic described in arXiv:0906.0728 (and is inspired by the original Cambridge algorithm paper in its use of separate angular and dimensionful distances), but provides some extra flexibility.

It searches for all splittings that pass a symmetry cut (zcut) and then selects the one with the largest auxiliary scale choice (e.g. jade distance of the splitting, kt distance of the splitting, etc.)

By default, the zcut is calculated from the fraction of the child pt carried by the parent jet. If one calls set_absolute_z_cut the fraction of transverse momentum will be computed wrt the original jet.

original code copyright (C) 2009 by Gavin Salam, released under the GPL.

# Options

- the distance choice: options are kt2_distance : usual min(kti^2,ktj^2)DeltaR_{ij}^2 jade_distance : kti . ktj DeltaR_{ij}^2 (LI version of jade) jade2_distance : kti . ktj DeltaR_{ij}^4 (LI version of jade * DR^2) plain_distance : DeltaR_{ij}^2 mass_drop_distance : m_jet - max(m_parent1,m_parent2) dot_product_distance: parent1.parent2 (kt2_distance by default)
- the z cut (0 by default)
- by calling set_absolute_z_cut(), one can ask that the pt fraction if calculated wrt the original jet
- by calling set_dr_min(drmin), one can ask that only the recombinations where the 2 objects are (geometrically) distant by at least drmin are kept in the maximisation.

# Input conditions

- the jet must have been obtained from a Cambridge/Aachen cluster sequence

# Output/structure

- the element of the cluster sequence maximising the requested distance (and satisfying the zcut) is returned.
- if the original jet has no parents, it will be returned
- the value of the "z" and distance corresponding to that history element are stored and accessible through result.structure_of<CASubJetTagger>().z(); result.structure_of<CASubJetTagger>().distance();

Definition at line 106 of file CASubJetTagger.hh.

## Member Typedef Documentation

## StructureType

typedef CASubJetTaggerStructure fastjet::CASubJetTagger::StructureType

the type of Structure returned

Definition at line 154 of file CASubJetTagger.hh.

## Member Enumeration Documentation

## ScaleChoice

enum fastjet::CASubJetTagger::ScaleChoice

the available choices of auxiliary scale with respect to which to order the splittings

Definition at line 111 of file CASubJetTagger.hh.

## Constructor & Destructor Documentation

## CASubJetTagger()

fastjet::CASubJetTagger::CASubJetTagger | ( | ScaleChoice | scale_choice = jade_distance,
|  | double | z_threshold = 0.1 )

inline

just constructs

Definition at line 121 of file CASubJetTagger.hh.

## Member Function Documentation

## set_dr_min()

void fastjet::CASubJetTagger::set_dr_min | ( | double | drmin | ) |

inline

sets a minimum delta R below which spliting will be ignored (only relevant if set prior to calling run())

Definition at line 128 of file CASubJetTagger.hh.

## description()

string fastjet::CASubJetTagger::description | ( |  | ) | const

virtual

returns a textual description of the tagger

Implements fastjet::Transformer.

Definition at line 47 of file CASubJetTagger.cc.

## set_absolute_z_cut()

void fastjet::CASubJetTagger::set_absolute_z_cut | ( | bool | abs_z_cut = true | ) |

inline

If (abs_z_cut) is set to false (the default) then for a splitting to be considered, each subjet must satisfy.

       p_{t,sub} > z_threshold * p_{t,parent}

whereas if it is set to true, then each subject must satisfy

       p_{t,sub} > z_threshold * p_{t,original-jet}

where parent is the immediate parent of the splitting, and original jet is the one supplied to the run() function.

Only relevant is called prior to run().

Definition at line 146 of file CASubJetTagger.hh.

## result()

PseudoJet fastjet::CASubJetTagger::result | ( | const PseudoJet & | jet | ) | const

virtual

runs the tagger on the given jet and returns the tagged PseudoJet if successful, or a PseudoJet==0 otherwise (standard access is through operator()).

Implements fastjet::Transformer.

Definition at line 69 of file CASubJetTagger.cc.

## _recurse_through_jet()

void fastjet::CASubJetTagger::_recurse_through_jet | ( | const PseudoJet & | jet,
|  | JetAux & | aux,
|  | const PseudoJet & | original_jet ) const

inline protected

work through the jet, establishing a distance at each branching

make sure the objects are not too close together

Definition at line 105 of file CASubJetTagger.cc.

## Member Data Documentation

## _scale_choice

ScaleChoice fastjet::CASubJetTagger::_scale_choice

protected

Definition at line 171 of file CASubJetTagger.hh.

## _z_threshold

double fastjet::CASubJetTagger::_z_threshold

protected

Definition at line 172 of file CASubJetTagger.hh.

## _dr2_min

double fastjet::CASubJetTagger::_dr2_min

protected

Definition at line 173 of file CASubJetTagger.hh.

## _absolute_z_cut

bool fastjet::CASubJetTagger::_absolute_z_cut

protected

Definition at line 174 of file CASubJetTagger.hh.

## _non_ca_warnings

LimitedWarning fastjet::CASubJetTagger::_non_ca_warnings

static protected

Definition at line 176 of file CASubJetTagger.hh.

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

- tools/fastjet/tools/CASubJetTagger.hh
- tools/CASubJetTagger.cc