Responsible |
Main.JohanSebastianBonilla |
Substructure W/Z 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 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.
- Current package located at
-
Header include:
#include "BoostedJetTaggers/IJSSTagger.h"
- Other package dependencies
Usage Recommendations 2016
Import from
https://twiki.cern.ch/twiki/bin/view/AtlasProtected/BoostedJetTaggingRecommendation2016
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
https://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/PUBNOTES/ATL-PHYS-PUB-2015-033/
Ex:
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://asquith@svn.cern.ch/reps/atlasperf//CombPerf/JetETMiss/BosonTagPreRecPUB2015/trunk BosonTagPreRecPUB2015
To get write access please email
lily.asquith@cernSPAMNOTNOSPAMPLEASE.ch with your afs name.
Show svn tips
Samples
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:
http://toshi.web.cern.ch/toshi/DPD2/p2340/p2340_DAOD_JETM8.html
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
Derivations:
- 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:
http://toshi.web.cern.ch/toshi/DPD2/p1862/p1862_DAOD_JETM8.html
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_*/
%ENDINCLUDE%
Major updates:
--
LilyAsquith
- 2015-04-28
--
JohanSebastianBonilla - 2016-11-24