%CERTIFY%
B-jet trigger online monitoring
Introduction
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.
Instructions
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
https://twiki.cern.ch/twiki/bin/viewauth/Atlas/HLTOnlineMonDQMFTest#Prescription_for_OHP
and this twiki for testing the reference or configuration in
DQMF
https://twiki.cern.ch/twiki/bin/viewauth/Atlas/HLTOnlineMonDQMFTest#Prescription_to_test_reference_o
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
#or
# 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
+Trigger/TriggerCommon/TriggerMenu
+Trigger/TriggerCommon/TriggerMenuXML
+Trigger/TrigHypothesis/TrigBjetHypo
- .*
$ 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
#bjet:
$ 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_mass |
invariant mass of all tracks associated to the vertex |
|
sv1_nvtx |
number of vertices |
|
sv1_ntkv |
Number of tracks used in the secondary vertex |
|
sv1_sig3 |
Distance between the primary and secondary vertices divided by its uncertainty |
|
sv1_Lxy |
Transverse distance between the primary and secondary vertices |
|
sv1_L3d |
Distance between the primary and secondary vertices |
|
sv1_dR |
Delta R between the jet axis and the direction of the secondary vertex relative to the primary vertex |
|
tag_SV1 |
Discriminant weight distribution for SV1 (Secondary Vertex) |
|
tag_IP3D |
Discriminant weight distribution for IP3D likelihood tagger |
|
tag_IP2D |
Discriminant weight distribution for IP2D likelihood tagger |
|
tag_IP3DSV1 |
Discriminant weight distribution for IP3DSV1 tagger |
|
tag_MV2c10 |
Discriminant weight distribution for multivariate (MV2c10) tagger |
|
tag_MV2c20 |
Discriminant weight distribution for multivariate (MV2c20) tagger |
|
tag_IP2_c |
IP2D Likelihood ratio between the b- and c-jet hypotheses |
|
tag_IP2_cu |
IP2D Likelihood ratio between the c- and light jet hypotheses |
|
tag_IP3_c |
IP3D Likelihood ratio between the b- and c-jet hypotheses |
|
tag_IP3_cu |
IP3D Likelihood ratio between the c- and light jet hypotheses |
|
jf_n2tv |
Number of 2-track vertex candidates (prior to decay chain fit) |
|
jf_ntrkv |
Number of tracks from displaced vertices with at least two tracks |
|
jf_nvtx |
Number of displaced vertices with more than one track |
|
jf_nvtx1t |
Number of displaced vertices with one track |
|
jf_mass |
Invariant mass of tracks from displaced vertices assuming pion masses |
|
jf_efrc |
Fraction of the charged jet energy in the secondary vertices |
|
jf_dR |
Delta R between the jet axis and the vectorial sum of the mo menta of all tracks attached to displaced vertices |
|
jf_sig3 |
Significance of the average distance between the primary and displaced vertices |
|
jet_pt |
Jet transverse momentum |
|
jet_eta |
Jet pseudo-rapidity |
|
Histogram name |
Description |
Reference |
gsc_ntrk |
Number of tracks |
|
gsc_width |
Track width |
|
gsc_ptsum |
Sum of transverse momentum of tracks |
|
gsc_ptdiff |
PT difference between uncalibrated jet and calibrated jet |
|
gsc_ptratio |
Ratio of PT difference over PT of calibrated jet |
|
Reference
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