Substructure W/Z 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 WZTagger 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

Import from

W/Z Tagger Information

The recommendation for use of this W/Z tagger in Run-2 is to use the jet collection: AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets , anti-kt R = 1.0 trimmed jets with a subjet radius size of Rsub = 0.2 and fcut = 0.05 (also sometimes denoted as R2 jets). To tag jets as W or Z bosons, a mass window cut and criteria on the energy correlation variable D2 is applied. Two working points are available corresponding to a signal efficiency of 50% (medium) and 25% (tight). A third working point using only a criteria on the mass with an efficiency of 80% will be available soon. The provided working points are only valid for energy and mass calibrated jets. The latest recommended energy and mass calibration can be found on the ApplyJetCalibration2015 twiki.

Initializing the Tool

In addition to initializing the IJSSTagger instance using the IJSSTagger::initialize() function, the WZTagger constructor should also be called, passing in the working point to be used. Two different working points are available:

  • medium (50% signal efficiency)
  • tight (25% signal efficiency) Both working points include a mass window criteria around the peak of the W/Z jet distribution: m(W/Z) +/- 15 GeV. This mass window does not correspond to a fixed signal efficiency due to the changing mass resolution with jet pT. On top of the mass window criteria, cuts are applied on the energy correlation variable D2:

D2 = ECF3*pow(ECF1,3.0)/pow(ECF2,3.0)

It is not necessary for the tool to have the D2 variable itself in the derivations, the tool will calculate it automatically from the energy correlation factors. The parametrization of the different working points is a smooth function of the jet pT. Further information on how the parametrizations were derived can be found in


static BoostedJetTaggers::SmoothedWZTagger("medium","smooth","$ROOTCOREBIN/data/JetSubstructureUtils/config_13TeV_Wtagging_MC15_Prerecommendations_20150809.dat",false,false);

Actually, how does this look like now? This used to go in the execute() function.

Tool Use, Jet Decoration, and Return Value

In the execute() portion of your analysis, the WZTagger tool that was initialized can be used. Inheriting the same environment as the other taggers in the BoostedTJetTaggers package, the tagging results can be obtained by calling the result( xAOD::Jet jet ) function. An xAOD jet can be tagged as follows:

int isWTagged = WTagger.result(*myCalibJet);
int isZTagged = ZTagger.result(*myCalibJet);

!!!Nota Bene!!! The parameterizations were derived for calibrated jets and were only studied in the range of pt<2000 GeV. As such, the sensical return values should only be trusted and used for jet pt <2000 GeV. Please make sure that you're using calibrated jets as explained earlier!!!!

The integer return value for isWTagges and isZTagged is 0/1 for untaggeg/tagged large-R jets. This boson tagger can handle more complex return values, which can be accessed through the JetDecorations. (Are we doing this? And how?)

D2 Distributions

Below are shown a few D2 distributions for W-jets (from W' -> WZ -> qqqq sample) and dijet events for analysis to compare with.



Systematic Uncertainties

Systematic uncertainties for R2 jets will provided for the jet mass, pT and the D2 variable. They are based on the track-jet double-ratio uncertainties from Run-1 and additional uncertainties from the cross-calibration describing detector changes between Run-1 and Run-2 and uncertainties for the high-pT range are added. Uncertainties for the D2 variable will be provided before and after approx. 68% mass window criteria.

In addition uncertainties for the jet mass and energy resolution will be provided.

These uncertainties will soon be implemented in the JetUncertaintyProvider and JERProvider.

The Note

To checkout the note from subversion:

svn co svn+ssh:// BosonTagPreRecPUB2015

To get write access please email with your afs name.

Show svn tips


Recommended samples should be taken from the JetSubstructureAndTagging twiki.

MC15 Samples of Interest (Nominal and Systematic Variations for Uncertainties)

The status for the available JETM8 derivations can be found here:

Quick guide to MC15 p-tags (see AtlasProductionGroupMC15a for details):

  • s2608-s2183 : default simulation (25 ns)
  • s2610-s2616 : high pT physics list variations
    • s2610 : QGSP_BIC
    • s2611 : FTFP_BERT_BIC
    • s2612 : FTFP_BERT_rescattering
    • s2613 : FTFP_BERT_chipsXS
    • s2614 : FTFP_BERT_lowEneutrons
    • s2615 : FTFP_BERT_noDiffraction
    • s2616 : FTFP_BERT_newElastic
  • r6630: 50ns default digi/reco
  • r6633: Week-1 configuration


  • Dijets: derivations available
    • mc15_13TeV:mc15_13TeV.3610*.Pythia8EvtGen_A14NNPDF23LO_jetjet_JZ*W.merge.DAOD_JETM8.e3569_s2576_s2132_r6630_r6264_p2340/
  • Boosted W: xAOD available
    • mc15_13TeV.3012*.Pythia8EvtGen_A14NNPDF23LO_Wprime_WZqqqq_m*.merge.DAOD_JETM8.e3749_*/

DC14 Samples (Nominal and Systematic Variations for Uncertainties)

The status for the available JETM8 derivations can be found here:

The default tag is r5787 (25 ns). Variations:

  • r6144 :run 1 topocluster algo
  • r6142/r6145: noise thresholds up and down
  • r5899: 50ns/5sample reco
  • s2054 modified low-pT physics list (QGSP_BIC)

Derivations: Beware tags r5982, r5984: these are buggy!

  • dijets
    • mc14_13TeV.14791*.Pythia8_AU2CT10_jetjet_JZ*W.recon.AOD.e2743_*/
  • boosted boson
    • mc14_13TeV.1828*.Pythia8_AU2MSTW2008LO_Wprime_WZ_*qq_m*.recon.AOD.e3255_*/

Major updates:


- 2015-04-28

-- JohanSebastianBonilla - 2016-11-24

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2016-11-25 - 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