Skip to content

Implement rewriteLVL1 and L1 ByteStream encoder example

Rafal Bielski requested to merge rbielski/athena:rerunlvl1-writebs into master

Changes

  • Update the IL1TriggerByteStreamTool interface to fully support concrete implementations of xAOD -> ByteStream conversion for Level-1 Trigger objects.
  • Implement an example of such conversion based on xAOD::MuonRoI in the ExampleL1TriggerByteStreamTool
  • Implement a Gaudi Converter for xAOD::TrigCompositeContainer#L1TriggerResult which calls the above tool(s)
  • Implement a hook to call the L1 xAOD->BS conversion in HltEventLoopMgr
  • Implement the corresponding python configuration
  • Change the rewriteLVL1 Trigger Modifier to use the new infrastructure

Jira

ATR-19542 for the conversion infrastructure and configuration
ATR-20745 for the encoding interface and example

Tests

Tested with:

athenaHLT.py -o output -l DEBUG -c "decodePhaseIL1=True;rewriteLVL1=True" -n 50 -f /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data18_13TeV.00360026.physics_EnhancedBias.merge.RAW._lb0151._SFO-1._0001.1 TriggerJobOpts/runHLT_standalone.py

Additionally tested that the conversion works by hard-coding the raw data words to 123456, running the above command and checking the output ByteStream data with dump-eformat-in-data.py. The output data look correct:

0x0008b3c3 0x00760001    7733249  sourceid: TDAQ_MUON_CTP_INTERFACE, module=1 (opt=0)
0x0008b3c4 0x00057e5a     360026  run number
0x0008b3c5 0x257f4137  629096759  lvl1 identifier
0x0008b3c6 0x000008ac       2220  bunch crossing identifier
0x0008b3c7 0x00000088        136  lvl1 trigger type
0x0008b3c8 0x00000000          0  detector event type
0x0008b3c9 0x0001e240     123456  data[0]
0x0008b3ca 0x0001e240     123456  data[1]
0x0008b3cb 0x00000000          0  status[0]
0x0008b3cc 0x00000001          1  number of status words
0x0008b3cd 0x00000002          2  number of data words
0x0008b3ce 0x00000001          1  status position
Edited by Rafal Bielski

Merge request reports