Skip to content

L1Decoder: Seed HLT from Run-3 L1Muon simulation output (xAOD::MuonRoI)

Rafal Bielski requested to merge rbielski/athena:l1decoder-phase1-muon into master

Changes:

  1. Split the roiUnpackers tool array in L1Decoder into legacy RoIB unpackers and Run-3 xAOD unpackers. Update all clients and the configuration to reflect this change.
  2. Handle the "emulation" mode of running by adding explicit flag method in CTP unpacker and explicitly handling the different modes of running in L1Decoder.
  3. Change the IRoIsUnpackingTool interface by introducing an overloaded unpack method using xAOD EDM instead of RoIBResult. In principle this could be split into separate interfaces, but the configuration is common so this avoids code duplication. If needed, the split can be done later once we migrate more objects to xAOD.
  4. Implement the xAOD unpack method for MURoIsUnpackingTool.
  5. Add a new test in TriggerTest which runs muon triggers seeded from Run-3 L1Muon simulation. The test actually fails right now because the downstream HLT code ("L2" muon algorithms) depends on the old Run-2 EDM. The test is needed to aid the adaptation of the downstream code to the new L1 EDM.

Tested with:

athena.py \
-l DEBUG \
-c "setMenu='LS2_v1';doL1Sim=True;enableL1Phase1=True;enableL1CaloLegacy=True;doEmptyMenu=True;doMuonSlice=True;selectChains=['HLT_mu8_L1MU6','HLT_mu14_L1MU10','HLT_mu24_L1MU20','HLT_mu50_L1MU20'];forceEnableAllChains=True;doWriteBS=False;doWriteRDOTrigger=True;" --imf --perfmon --threads=1 --evtMax=20 --filesInput=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.merge.RDO.e4993_s3214_d1536_tid18795273_00/RDO.18795273._000063.pool.root.1 TriggerJobOpts/runHLT_standalone.py 

with some extra print-outs (now removed) which proved the code works as expected:

L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: executing MURoIsUnpackingTool::unpack
L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: There are 1 RoIs in the container
L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: RoI with eta / phi = 0.506267 / 2.97203, thrValue: 99, thrName: DummyThreshold, getThrNumber: 3
L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: checking threshold number 0 name MU4
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Threshold passed: MU4
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Threshold not known MU4 ID#4238688051
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Activated chains: []
L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: checking threshold number 1 name MU6
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Threshold passed: MU6
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Added chain to the RoI/threshold decision HLT_mu8_L1MU6 ID#1467711434
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Number of decisions per RoI after adding chains using threshold MU6 ID#416314713 1
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Activated chains: [1467711434]
L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: checking threshold number 2 name MU10
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Threshold passed: MU10
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Added chain to the RoI/threshold decision HLT_mu14_L1MU10 ID#1696906927
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Number of decisions per RoI after adding chains using threshold MU10 ID#426353733 2
L1Decoder.MURoIsUnpackingTool              0   0   DEBUG Activated chains: [1467711434, 1696906927]
L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: checking threshold number 3 name MU11
L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: checking threshold number 4 name MU20
L1Decoder.MURoIsUnpackingTool              0   0 SUCCESS RB: checking threshold number 5 name MU21

This addresses the muon part of ATR-22762

Edited by Rafal Bielski

Merge request reports