MDF produced from re-running HLT2 reconstruction over Passthrough data cannot be processed with DaVinci
(Temporary*) Fix for DST output
In writers[] here, change the line to writers = [bankKiller(BankTypes=["DstData", "HltDecReports"])]. You need to import bankKiller with from PyConf.Algorithms import bankKiller.
Recompile Moore and re-run the HLT2 reconstruction with DST output.
*This fix is temporary because ideally only Hlt2DecReports should be killed, so that we can still access Hlt1 decisions. This is a To Do
Brief summary of encountered problem
I re-ran the HLT2 reconstruction on some 2022 passthrough data to test the SMOG2 HLT2 lines. Following @Sascha Stahl's suggestion in the Upgrade HLT2 channel, I commented out this line in order to re-run HLT2. This step worked and produced a .mdf file.
I then tried to run DaVinci over this mdf file, following this example. I followed Sascha's suggestion again and changed this line from front() to back() to read the more recent HltDecReport. However, when I ran DaVinci, I got the following error:
LHCb::RawDataCnvSvc ERROR Failed to decode raw data from input from:/data/DATA/data.lhcb/kmattiol/data_SMOG2_hlt2_2022_Run255622_addedSMOG2lines_test.mdf LHCb__UnpackRawEvent#4 ERROR LHCb__UnpackRawEvent#4 : Cannot retrieve /Event/DAQ/RawEvent from transient store.
Moore and Davinci options are attached.
Commenting out the options.event_store = 'EvtStoreSvc' line and writing the Moore output to a DST instead of MDF fixed the problem, DaVinci was able to process the DST file
Dataset you were running on
/eos/lhcb/point8/lhcb/data/2022/RAW/PASSTHROUGH/LHCb/COLLISION22/255622/255622_00120000_0000.raw
Moore version used (or nightly, as appropriate)
Moore master compiled on x86_64_v2-centos7-gcc11+dd4hep-opt
Option file used to execute Moore
hlt2_pp_thor_data_2022.py (attached) DaVinci yaml and options also attached
Moore_SMOG2linesonPassthroughData.log