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

#include <fastjet/tools/MassDropTagger.hh>

Inheritance diagram for fastjet::MassDropTagger:
Inheritance graph
Collaboration diagram for fastjet::MassDropTagger:
Collaboration graph

Public Types

typedef MassDropTaggerStructure 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

 MassDropTagger (const double mu=0.67, const double ycut=0.09)
 default ctor
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, a PseudoJet==0 otherwise (standard access is through operator()). More...
- 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 Attributes

double _mu
double _ycut

Static Protected Attributes

static LimitedWarning _warnings_nonca
static LimitedWarning _negative_mass_warning

Detailed Description

Class that helps perform 2-pronged boosted tagging using the "mass-drop" technique (with asymmetry cut) introduced by Jonathan Butterworth, Adam Davison, Mathieu Rubin and Gavin Salam in arXiv:0802.2470 in the context of a boosted Higgs search.

The tagger proceeds as follows:

0. start from a jet obtained from with the Cambridge/Aachen algorithm

  1. undo the last step of the clustering step j -> j1 + j2 (label them such as j1 is the most massive).
  2. if there is a mass drop, i.e. m_j1/m_j < mu_cut, and the splitting is sufficiently symmetric, ${\rm min}(p_{tj1}^2,p_{tj2}^2)\Delta R_{j1,j2}^2 > y_{\rm cut} m_j^2$, keep j as the result of the tagger (with j1 and j2 its 2 subjets)
  3. otherwise, redefine j to be equal to j1 and return to step 1.

Note that in the original proposal, j1 and j2 are both required to be b-tagged and a filter (with Rfilt=min(0.3,Rbb/2) and n_filt=3) is also applied to j to obtain the final "Higgs candidate". See the example 12 - boosted Higgs tagging for details.


The constructor has the following arguments:

Input conditions


See also 12 - boosted Higgs tagging for a usage example.

Definition at line 92 of file MassDropTagger.hh.

Member Function Documentation

◆ result()

PseudoJet fastjet::MassDropTagger::result ( const PseudoJet jet) const

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

jetthe PseudoJet to tag

Implements fastjet::Transformer.

Definition at line 57 of file

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