FastJet  3.3.3
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
fastjet::JHTopTagger Class Reference

Class that helps perform boosted top tagging using the "Johns Hopkins" method from arXiv:0806.0848 (Kaplan, Rehermann, Schwartz and Tweedie) More...

#include <fastjet/tools/JHTopTagger.hh>

Inheritance diagram for fastjet::JHTopTagger:
Inheritance graph
[legend]
Collaboration diagram for fastjet::JHTopTagger:
Collaboration graph
[legend]

Public Types

typedef JHTopTaggerStructure StructureType
 
- Public Types inherited from fastjet::TopTaggerBase
typedef TopTaggerBaseStructure StructureType
 the type of the associated structure
 
- 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

 JHTopTagger (const double delta_p=0.10, const double delta_r=0.19, double cos_theta_W_max=0.7, double mW=80.4)
 default ctor The parameters are the following: More...
 
virtual std::string description () const
 returns a textual description of the tagger
 
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()). More...
 
- Public Member Functions inherited from fastjet::TopTaggerBase
void set_top_selector (const Selector &sel)
 sets the selector that is applied to the top candidate
 
void set_W_selector (const Selector &sel)
 sets the selector that is applied to the W candidate
 
virtual std::string description_of_selectors () const
 returns a description of the top and W selectors
 
- 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. More...
 
std::vector< PseudoJetoperator() (const std::vector< PseudoJet > &pjs) const
 apply the function on a vector of PseudoJet, returning a vector of the results. More...
 

Protected Member Functions

std::vector< PseudoJet_split_once (const PseudoJet &jet_to_split, const PseudoJet &reference_jet) const
 runs the Johns Hopkins decomposition procedure
 
- Protected Member Functions inherited from fastjet::TopTaggerBase
double _cos_theta_W (const PseudoJet &result) const
 computes the W helicity angle
 

Protected Attributes

double _delta_p
 
double _delta_r
 
double _cos_theta_W_max
 
double _mW
 
- Protected Attributes inherited from fastjet::TopTaggerBase
Selector _top_selector
 
Selector _W_selector
 
bool _top_selector_set
 
bool _W_selector_set
 

Static Protected Attributes

static LimitedWarning _warnings_nonca
 

Detailed Description

Class that helps perform boosted top tagging using the "Johns Hopkins" method from arXiv:0806.0848 (Kaplan, Rehermann, Schwartz and Tweedie)

The tagger proceeds as follows:

Input conditions

Example

A JHTopTagger can be used as follows:

double delta_p = 0.10; // subjets must carry at least this fraction of the original jet's p_t
double delta_r = 0.19; // subjets must be separated by at least this Manhattan distance
double cos_theta_W_max = 0.7; // the maximal allowed value of the W helicity angle
JHTopTagger top_tagger(delta_p, delta_r, cos_theta_W_max);
// indicate the acceptable range of top, W masses (default: no limits)
top_tagger.set_top_selector(SelectorMassRange(150,200));
top_tagger.set_W_selector (SelectorMassRange( 65, 95));
// now try and tag a jet
PseudoJet top_candidate = top_tagger(jet); // jet should come from a Cambridge/Aachen clustering
if (top_candidate != 0) { // successful tagging
double top_mass = top_candidate.m();
double W_mass = top_candidate.structure_of<JHTopTagger>().W().m();
}

The full set of information available from the structure_of<JHTopTagger>() call is

The structure of the top_candidate can also be accessed through its pieces() function:

The W itself has two pieces (corresponding to W1, W2).

The existence of the first two of the structural calls (W(), non_W()) and the fact that the top is made of two pieces (W, non_W) are features that should be common to all taggers derived from TopTaggerBase.

See also 13 - boosted top tagging for a full usage example.

Definition at line 120 of file JHTopTagger.hh.

Constructor & Destructor Documentation

◆ JHTopTagger()

fastjet::JHTopTagger::JHTopTagger ( const double  delta_p = 0.10,
const double  delta_r = 0.19,
double  cos_theta_W_max = 0.7,
double  mW = 80.4 
)
inline

default ctor The parameters are the following:

Parameters
delta_pfractional pt cut imposed on the subjets (computed as a fraction of the original jet)
delta_rminimal distance between 2 subjets (computed as |y1-y2|+|phi1-phi2|)
cos_theta_W_maxthe maximal value for the polarisation angle of the W
mWthe W mass

The default values of all these parameters are taken from arXiv:0806:0848

Definition at line 134 of file JHTopTagger.hh.

Member Function Documentation

◆ result()

PseudoJet fastjet::JHTopTagger::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()).

Parameters
jetthe PseudoJet to tag

Implements fastjet::Transformer.

Definition at line 62 of file JHTopTagger.cc.


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