Skip to content

Migrating the config consistency monitoring histogram to MT

I have now implemented basic access to the trigger decision tool via TrigConf::xAODConfigSvc, as per @tamartin 's instructions below. They still return 0, because the database access as described in ATR-20884 is not yet fully implemented. However, this is a first placeholder for the ConfigConsistency_HLT histogram with the correct framework, albeit not all functionalities.

What is now done:

  • The code checks for the SMK in the TDT and in HLTResult (the latter not yet implemented at all as far as I am aware). If these are undefined (0), control bins, NULL, in the histograms are filled.
  • The code checks for the HLT prescale key in the TDT and in HLTResult (the latter not yet implemented). If these are undefined (0), control bins, NULL, in the histogram are filled.
  • If the SMK or prescale keys differ from the two databases, a control bin is filled, INCONSISTENT.
  • If there is no HLTResult to be accessed, a warning is printed and a 7th control bin is filled, No HLTResult (this change addresses ATR-19441). This always happens right now.

I attach a plot of what the histogram looks like in the current version,
MC_Canvas
to be compared with R2: https://atlasdqm.cern.ch/webdisplay/tier0/1/express_express/run_357750/run/HLT/TRHLT/ConfigConsistency_HLT
which has only 6 bins, not the last HLTResult control bin. Please note that currently the NULL bins are filled, but not the INCONSISTENT bin (because they are consistently 0).

I have tested the code on the build AODs from the nightly 2020-08-23T2101, by running the commands

Run3DQTestingDriver.py --dqOffByDefault Input.Files="['/eos/atlas/atlascerngroupdisk/data-art/build-output/master/Athena/x86_64-centos7-gcc8-opt/2020-08-23T2101/TrigAnalysisTest/test_trigAna_RDOtoT0Mon_mt1_build/AOD.pool.root']" DQ.Steering.doHLTMon=True DQ.Steering.HLT.doEgamma=False > mylog.txt &
and
Run3DQTestingDriver.py --dqOffByDefault Input.Files="['/eos/atlas/atlascerngroupdisk/data-art/build-output/master/Athena/x86_64-centos7-gcc8-opt/2020-08-23T2101/TrigP1Test/test_trigP1_v1PhysP1_T0Mon_build/AOD.pool.root']" DQ.Steering.doHLTMon=True DQ.Steering.HLT.doEgamma=False > mylog.txt &

after setting up the latest athena and master version.

I would like to merge this into master to continue with accessing the database in an appropriate way.

Thanks!


OLD DESCRIPTION:

I run into strange problems when trying to access masterKey() and hltPrescaleKey() from the TrigConfigSvc.

In header I have this line: ServiceHandle< TrigConf::ITrigConfigSvc > m_trigConfigSvc{ this, "TrigConfigSvc", "" };

In cxx file: uint32_t dbkeys[2]; dbkeys[0]=m_trigConfigSvc->masterKey(); dbkeys[1]=m_trigConfigSvc->hltPrescaleKey();

This compiles but gives a very complicated error on running (crashes on first event):

2020-Jul-06 12:34:25,042 ERROR [static void ers::ErrorHandler::terminate_handler() at /builds/atlas-tdaq-software/tdaq-cmake/tdaq-common/tdaq-common-04-00-00/ers/src/ErrorHandler.cxx:137] Unhandled 'std::exception' exception was thrown
Parameters = 'name=std::exception'
Qualifiers = 'ers'
host = lxplus771.cern.ch
user = ebergeas (12492)
process id = 1358
thread id = 1358

(...)

0x7f1696db0e23 PyRun_SimpleFileExFlags /mnt/build/jenkins/workspace/lcg_release_tar/BUILDTYPE/Release/COMPILER/gcc8binutils/LABEL/centos7/build/externals/Python-2.7.16/src/Python/2.7.16/Python/pythonrun.c:957:13 + 0xe3 [/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-opt/sw/lcg/releases/Python/2.7.16-e553a/x86_64-centos7-gcc8-opt/bin/../lib/libpython2.7.so.1.0 D[0x125e23]]
0x7f1696dc4ada Py_Main /mnt/build/jenkins/workspace/lcg_release_tar/BUILDTYPE/Release/COMPILER/gcc8binutils/LABEL/centos7/build/externals/Python-2.7.16/src/Python/2.7.16/Modules/main.c:648:44 + 0xc0a [/cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-opt/sw/lcg/releases/Python/2.7.16-e553a/x86_64-centos7-gcc8-opt/bin/../lib/libpython2.7.so.1.0 D[0x139ada]]
0x7f1695fba555 __libc_start_main ??:0 + 0xf5 [/lib64/libc.so.6 D[0x22555]]
eu-addr2line: python: No such file or directory
0x004006be ??? + 0x4006be [python D[0x4006be]]

In the trigops meeting today (7 July) @tamartin mentioned that which TrigConfigSvc is used is set in the py file, and I do not set anything in the py file as far as I am aware.

This WIP-ed MR is for the discussion of this error and how to move forward with the implementation of the consistency histogram. This is what we are aiming for:
https://atlasdqm.cern.ch/webdisplay/tier0/1/express_express/run_357750/run/HLT/TRHLT/

Thanks!

Elin

cc @astruebi , @mark , @fwinkl , @stelzer

Edited by Elin Bergeaas Kuutmann

Merge request reports