FastJet  3.0.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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:
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()).
- 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
 FunctionOfPseudoJet (const PseudoJet &constant_value)
 ctor that creates a constant function
virtual ~FunctionOfPseudoJet ()
 default dtor (virtual to allow safe polymorphism)
PseudoJet operator() (const PseudoJet &pj) const
 apply the function using the "traditional" () operator.
std::vector< PseudoJetoperator() (const std::vector< PseudoJet > &pjs) const
 apply the function on a vector of PseudoJet, returning a vector of the results.

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 118 of file JHTopTagger.hh.

Constructor & Destructor Documentation

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 132 of file JHTopTagger.hh.

Member Function Documentation

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 60 of file JHTopTagger.cc.


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