B-jet trigger online monitoring


In order to ensure the ATLAS triggers and data acquisition systems operate properly, we need an online trigger monitoring framework to do this job. Its function is to quickly recognizes potential issues and checks whether the trigger algorithm configuration runs without problems.

Since this page is dedicated to the online monitoring of b-jet triggers. It will provide an instruction on how to add new histograms or chains in the b-jet slice data quality monitoring of HLT b-jet signature group, as well as the distribution of online histograms that are used for 2017 data quality online monitoring.


How to test the trigger online monitoring configuration

There are two main tools which are used to assess the performance of specific histograms created and filled during data taking using automated evaluations based on pre-defined tests run. They are

  • DQMF: Data Quality Monitoring Framework
  • OHP : Online Histogram Presenter
The detailed instructions on how to test the OHP configuration can be found in this twiki


and this twiki for testing the reference or configuration in DQMF


In this twiki for DQMF, at step 4), if you want to change the DQM configuration for b-jet signature, the relevant xml file resides in daq/segments/DQM/Signatures/BjetSlice/DQM.BjetSlice.xml. Here, you can remove obsolete histograms and algorithms that you no longer want to show on the DQM display, or you can add new ones from the latest update if they are available in the root file when you want to publish histograms on the DQM display. After you finish your modifications on the b-jet slice xml file and are satisfied with your changes, you should send your xml file to the person who is in charge of the online data quality monitoring.

How to make updates in the TrigBjetHypo package

If you need to add new variables for online monitoring or change the distribution of current b-jet signature related histograms. You have to modify some configuration files in the TrigBjetHypo package by following this instruction

# source ( ~lidiaz/public/git_Intro )
# Tutorial:
# https://atlassoftwaredocs.web.cern.ch/gittutorial/
# Git for trigger:
# https://atlassoftwaredocs.web.cern.ch/gittutorial/
# Heather slides:
# https://indico.cern.ch/event/626578/contributions/2530430/attachments/1434022/2204247/20170327.pdf
# Menu twiki (not yet available)

# First you need to setup git
$ lsetup git python

# For full checkout of athena release, only once, after that switch branch
# Setup git, checkout
$ git clone https://:@gitlab.cern.ch:8443//athena.git
# this will make athena directory with the full release(s)
$ cd athena
$ git remote add upstream https://:@gitlab.cern.ch:8443/atlas/athena.git


# For sparse checkout
$ git atlas init-workdir https://:@gitlab.cern.ch:8443/atlas/athena.git  
$ cd athena
#After checkout
$ git fetch upstream #sync fork  
$ git checkout -b TM-mai18 upstream/21.1 --no-track   #Setup the athena codes to be P1 or Tier-0

# check out the version of packages that are in upstream/21.0 - this is like the tag that was in the release:
$ git atlas addpkg TriggerMenu
$ git atlas addpkg TriggerMenuXML  
$ git atlas addpkg TrigBjetHypo
# now you can edit the code of the TrigBjetHypo package

# If you want to test your changes
#In top folder:
$ asetup AthenaP1,21.1,latest
# or
$ asetup 21.0,Athena,r22

# Tell AthenaP1 what you actually want to compile.
$ cp athena/Projects/WorkDir/package_filters_example.txt package_filters.txt
$ emacs package_filters.txt &
# Then add the following lines in the file package_filters.txt to contain the packages you want to compile. These are necessary packages for b-jet trigger development
- .*

$ mkdir build; cd build

$ cmake -DATLAS_PACKAGE_FILTER_FILE=../package_filters.txt ../athena/Projects/WorkDir
$ make -j4
$ ctest --output-on-failure
$ mkdir ../run && cd ../run
$ source ../build/x86_64-slc6-gcc62-opt/setup.sh

# These are the tests to check if new changes work well. Those with "TriggerTest.conf " are for offline tests on T-0 while "TrigP1Test.conf" are for online-like tests on P1
$ trigtest.pl --cleardir --test AthenaTrigRDO _MC_pp_v7 --rundir AthenaTrigRDO _MC_pp_v7 --conf TriggerTest.conf  
$ trigtest.pl --cleardir --test HLT_mcV7 --rundir HLT_mcV7 --conf TrigP1Test.conf
$ trigtest.pl --cleardir --test HLT_physicsV7 --rundir HLT_physicsV7 --conf TrigP1Test.conf
$ trigtest.pl --cleardir --test HLT_physicsV7_run_stop_run --rundir HLT_physicsV7_run_stop_run --conf TrigP1Test.conf

$ trigtest.pl --test BjetSliceAthenaTrigRDO --run BjetSliceAthenaTrigRDO --conf TriggerTest.conf
$ trigtest.pl --test BjetSliceAthenaTrigRDO _MC --run BjetSliceAthenaTrigRDO _MC --conf TriggerTest.conf

# If your update pass necessary tests and you are satisfied with your changes, then you can commit modified files on git  
$ git diff
$ git status
# add the modified files to the stage area
$ git add <file>

# commit files to your local repository:
$ git commit -a -m "My very useful commit message - this is the new ChangeLog, make it good!"
# push the changes from the local repository to your GitLab fork:
$ git push --set-upstream origin TM-march28

#work over multiple days, update in athena
$ lsetup git python
$ git fetch upstream
$ git merge upstream/21.1
$ git checkout TM-mai18
$ asetup AthenaP1,21.1,latest
NOTE: You should always check this twiki for latest instructions on trigger development with Git https://twiki.cern.ch/twiki/bin/view/Atlas/TriggerDevelopmentGit#HOWTO_full_example_of_the_develo

The directory of files you may want to modify is in athena/Trigger/TrigHypothesis/TrigBjetHypo/. After you git push your changes on Git, you can follow this instruction https://twiki.cern.ch/twiki/bin/view/Atlas/TriggerDevelopmentGit#Opening_a_merge_request_MR to create a Merge Request to have your changes included in athena release.

Update for 2017 b-jet signature

Before 2017 data-taking, some updates have been made for the b-jet signature online monitoring including adding new variables for EFBtagFex, EFBtagFexSplit and EFGSCFex algorithms, changing the shape of distributions of some variables and removing obsolete EFBjetFex and EFBjetFexSplit algorithms from the DQM display. The list of new variables is in this image

The variables in black context are those that were available while those in blue context are the new variables. The codes that are related to this update are

  • athena/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx
  • athena/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx
  • athena/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h
  • athena/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h
  • athena/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py
  • athena/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py

Run II Online DQMF 2017

The histograms are grouped by the algorithm that produces them.

  • TrigBtagFex
  • TrigGSCFex
  • TrigVxSecondary
  • TrigVxPrimary
  • TrigBjetHypoNoCut
  • TrigFastTrackFinder
  • EFHistoPrmVtxAllTE


Histogram name Description Reference
sv1_evtx ratio of the sum of the energies of the tracks in the vertex to the sum of the energies of all tracks in the jet sv1_evtx.png
sv1_mass invariant mass of all tracks associated to the vertex sv1_mass.png
sv1_nvtx number of vertices sv1_nvtx.png
sv1_ntkv Number of tracks used in the secondary vertex sv1_ntkv.png
sv1_sig3 Distance between the primary and secondary vertices divided by its uncertainty sv1_sig3.png
sv1_Lxy Transverse distance between the primary and secondary vertices sv1_Lxy.png
sv1_L3d Distance between the primary and secondary vertices sv1_L3d.png
sv1_dR Delta R between the jet axis and the direction of the secondary vertex relative to the primary vertex sv1_dR.png
tag_SV1 Discriminant weight distribution for SV1 (Secondary Vertex) tag_SV1.png
tag_IP3D Discriminant weight distribution for IP3D likelihood tagger tag_IP3D.png
tag_IP2D Discriminant weight distribution for IP2D likelihood tagger tag_IP2D.png
tag_IP3DSV1 Discriminant weight distribution for IP3DSV1 tagger tag_IP3DSV1.png
tag_MV2c10 Discriminant weight distribution for multivariate (MV2c10) tagger tag_MV2c10.png
tag_MV2c20 Discriminant weight distribution for multivariate (MV2c20) tagger tag_MV2c20.png
tag_IP2_c IP2D Likelihood ratio between the b- and c-jet hypotheses tag_IP2_c.png
tag_IP2_cu IP2D Likelihood ratio between the c- and light jet hypotheses tag_IP2_cu.png
tag_IP3_c IP3D Likelihood ratio between the b- and c-jet hypotheses tag_IP3_c.png
tag_IP3_cu IP3D Likelihood ratio between the c- and light jet hypotheses tag_IP3_cu.png
jf_n2tv Number of 2-track vertex candidates (prior to decay chain fit) jf_n2tv.png
jf_ntrkv Number of tracks from displaced vertices with at least two tracks jf_ntrkv.png
jf_nvtx Number of displaced vertices with more than one track jf_nvtx.png
jf_nvtx1t Number of displaced vertices with one track jf_nvtx1t.png
jf_mass Invariant mass of tracks from displaced vertices assuming pion masses jf_mass.png
jf_efrc Fraction of the charged jet energy in the secondary vertices jf_efrc.png
jf_dR Delta R between the jet axis and the vectorial sum of the mo menta of all tracks attached to displaced vertices jf_dR.png
jf_sig3 Significance of the average distance between the primary and displaced vertices jf_sig3.png
jet_pt Jet transverse momentum jet_pt.png
jet_eta Jet pseudo-rapidity jet_eta.png


Histogram name Description Reference
gsc_ntrk Number of tracks gsc_ntrk.png
gsc_width Track width gsc_width.png
gsc_ptsum Sum of transverse momentum of tracks gsc_ptsum.png
gsc_ptdiff PT difference between uncalibrated jet and calibrated jet gsc_ptdiff.png
gsc_ptratio Ratio of PT difference over PT of calibrated jet gsc_ptratio.png


For previous developments on the B-jet slice data quality monitoring, you can follow this page for more information https://twiki.cern.ch/twiki/bin/viewauth/Atlas/BjetSliceDataQualityMonitoring#Introduction

Useful links

https://twiki.cern.ch/twiki/bin/viewauth/Atlas/HLTOnlineMonDQMFTest https://twiki.cern.ch/twiki/bin/viewauth/Atlas/DataQualityMonitoringFramework https://twiki.cern.ch/twiki/bin/view/AtlasProtected/BTagingxAODEDM https://twiki.cern.ch/twiki/bin/viewauth/Atlas/TriggerDevelopmentGit https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/JetTagging/JetTagTools/trunk/src/MultivariateTagManager.cxx

Major updates:
-- HoangDaiNghiaNguyen - 2017-09-17

%RESPONSIBLE% HoangDaiNghiaNguyen
%REVIEW% Never reviewed

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2017-09-17 - HoangDaiNghiaNguyen
    • 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-2020 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