Boosted Xbb Tagger (Part of Boosted Jet Taggers)

Boosted Jet Taggers: Official JSS Tagger Package


In an effort to simplify the end-user interface for the various boosted object taggers supported by the JSS subgroup, all supported taggers are built into a common environment, IJSSTagger. The new interface is based on BoostedJetTaggers-00-00-25/ and is intended to be a collection of all ATLAS-supported taggers. These taggers are designed to identify the sources of hadronic decays in the ATLAS detector (W/Z/Higgs bosons, top quarks, q/g discrimination, etc.). The methods developed and supported include, but are not limited to:

  • DNN (high-level & low-level variables)
  • BDT
  • 'basic' MVA (2 variable taggers, typically mass+substructure)
  • Shower Deconstruction

    Currently all necessary files are saved in the (BoostedJetTaggers) package, but as development continues, some of these data files (.xml, .json, .dat, .root) will be moved to the central area (SVN). Update to follow.

    A JIRA page exists for the discussion of methodologies and conventions to be applied for all ATLAS taggers.

    IJSSTagger environment is used by the JSS Tagger Package containing the following boosted object taggers: Hbb Tagger, W/Z Tagger, top Tagger, NN Tagger, and BDT Tagger. This twiki will descibe how the HbbTagger is used in the IJSSTagger environment.

The JSS Tagger Interface

To unify the structure of all jet substructure taggers, a base class (interface) has been defined: IJSSTagger, which inherits from IJetSelector.

This interface ensures that all tagging algorithms follow the same structure (no matter who writes them) and users know what to expect from any tagger they implement.
The following functions are defined by the interface:

Function Description
StatusCode initialize() Initialize all of the attributes of the tagger, setup of files to access and working points
int isTagged( xAOD::Jet jet ) Get the tagging result: A return value of 0 means that all cuts PASSED
StatusCode finalize() clear or delete anything necessary
The initialize() function is called once per tagger instance, along with the constructor and its arguments. The result() function is called in the execute part of your analysis and should be called once per large-R jet. The finalize() functions is used in the finalize portion of the analysis and cleans residual memory from the IJSSTagger instance.

Checking Out the BoostedJetTaggers Package

Usage Recommendations 2016

Insert SIMPLE instructions here

Hbb Tagger Information

Initializing the Tool

The constructor takes 6 different arguments. The defaults are bolded where appropriate.


HbbTagger m_HbbTagger = HbbTagger (?,?,Higgs,AK10LCTRIMF5R20,2,"",false,false);

m_HbbTagger.initialize(); // set any attributes that the tool

m_HbbTagger.declareProperty(); // Did we go through wth this? What kinds of properties go in here?

Variable Description Values
working point See the recommendations below for the working points available loose, medium, tight (default?)
recommendations file (Is this still a thing?) Path to the recommendations file ...
boson type Which kind of boson to tag Higgs
algorithm name Which algorithm to use for the jet AK10LCTRIMF5R20
bTag multiplicity Minimum number of required bTagged jets. 2 (Int or just 2?)
decoration prefix String of decoration names?? ""
debug Enable/disable debug output. Useful for tracking down excess false tags. true, false
verbose Significant verbosity to understand what the hell the tagger is doing true, false
One recommendation file is provided for HiggsTagging. Look where to see it? Are we providing one?

Tool Use, Jet Decoration, and Return Value

In the execute() portion of your analysis, the HbbTagger tool that was initialized can be used.


returnValue = m_HbbTagger.isTagged( xAOD::Jet jet ); // run for each large-R jet

returnValue is an integer (0 or 1) denoting whether the large-R jet used as an argument is tagged or not. The isTagged() function may also decorate the argument jet. Is this true for Hbb? The subsection below is from the old tagger.

Retrieving More Information

The tool decorates the jet with a bunch of extra information that can be useful for analyzers in various contexts. A table with the decorations available on the jet after the tool has computed a tagging result for it can be found here.

Benchmark tagging selections

The baseline jet reconstruction algorithm for boosted topologies in Run 2 is the anti-kt $R=1.0$ trimmed with a subjet radius of $R_{subjet} = 0.2$ and a minimum transverse momentum fraction of $f_{cut} =5 $%. After applying a baseline selection of anti-kt $R = 1.0$ trimmed jets, a combination of three requirements on b-tagging based on $R = 0.2$ track jets matched to the large-R calorimeter jet, the trimmed jet mass, and the trimmed jet energy correlation ratio $D_{2}^{\beta=1}$ is used to tag Higgs bosons.

Selection Double b-tagging Large-R jet mass $D_{2}^{\beta=1}$
Loose MV2c20 70% WP 90% window, m=[76,146] GeV -
Medium MV2c20 70% WP 68% window, m= [93,134] GeV -
Tight MV2c20 70% WP 68% window, m=[93,134] GeV $p_T$-dependent cut
The performance of these benchmarks has been documented in ATL-PHYS-PUB-2015-035.

Tagger algorithm

The main algorithm is quite involved and will be described more fully in depth here later. Read the code to see what goes on. In particular, the steps taken are

  • Get all AntiKt2TrackJets asssociated with the jet's ungroomed parent
  • Clean the track jets using the kinematic selections 2. B-tag the two leading track-jets
  • Decorate the track-jets with the b-tagging decision 3. If any track-jets are b-tagged, match the muon (if any) to these b-tagged track-jets
  • Only use muons that have passed kinematic selections
  • If more than 1 muon matches a track jet (within the radius of the track jet), only use the muon closest in DR
  • Create an element link on the fat-jet to the matched muon 4. Correct the fat-jet mass by putting the matched muon back
  • Also correct for double-counting using the energy loss calculation
  • Decorate the fat jet with the corrected jet TLV 5. Set a cut on the corrected fat jet mass 6. Cut on the D2 of the fat-jet (D2 from calorimeter constituents only)
  • Muon Correction (Unsure whether we will support it internally or let the user do the correction)

---++ Systematic uncertainties on tagger inputs

Systematic uncertainties on the tagger inputs are provided and they need to be propagated through your analysis:

Tool Contact

The tool was developed and is maintained by
Mail Giordon Stark and
Mail Miles Wu

-- JohanSebastianBonilla - 2016-11-21

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2016-11-26 - JohanSebastianBonilla
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback