Responsible |
Main.JohanSebastianBonilla |
Boosted Xbb Tagger (Part of Boosted Jet Taggers)
Boosted Jet Taggers: Official JSS Tagger Package
Introduction
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.
- Current package located at
-
Header include:
#include "BoostedJetTaggers/IJSSTagger.h"
- Other package dependencies
- Are there? Or just these two things?
- What about the ASG thing?
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.
Example:
HbbTagger m_HbbTagger = HbbTagger (?,?,Higgs,AK10LCTRIMF5R20,2,"",false,false);
m_HbbTagger.initialize(); // set any attributes that the tool needs...like?
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.
Example:
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

trimmed with a subjet radius of

and a minimum transverse momentum fraction of

%. After applying a baseline selection of anti-kt

trimmed jets, a combination of three requirements on b-tagging based on

track jets matched to the large-R calorimeter jet, the trimmed jet mass, and the trimmed jet energy correlation ratio

is used to tag Higgs bosons.
Selection |
Double b-tagging |
Large-R jet mass |
|
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 |
-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
Giordon Stark and
Miles Wu
--
JohanSebastianBonilla - 2016-11-21