Draft: Backport and expand RDOtoBS skeleton [ATLASSIM-7424]
Follow-on from !83777 (merged). FYI @smh, @tamartin, @sshaw
It is actually useful to be able to generate MC ByteStream for validating some new Run 3 trigger workflows (PEB for analysis) so borrowing @smh's RDOtoBS, this is expanded to handle as much of the Run 3 subdetectors as I could figure out. So far the trigger content is not handled, but will eventually be needed for validation of TLA+PEB chains. Also, the lack of BS encoders for NSW means MMG and sTGC are ignored -- presumably will be wanted at some point for the Run 4 workflow.
For reconstruction from BS in RAWtoALL, other changes are required:
- Blocking various truth algorithms that are otherwise activated in MC
- Writing some additional metadata (
/Digitization/Parameters) and correctly propagating the beam conditions with !84528 (merged). @maszyman, should we factorise the parts touched by our MRs?
A reminder note from @sshaw:
pcPadContainer is not supported beyond Run 3. The RPC decoding code is ... being rewritten for Phase-II. It's being replaced by an xAOD version ... [and] is probably going to be deprecated the moment it can be.
With these changes, RAWtoALL called with:
Reco_tf.py --CA --inputBSFile BS.ttbar.data --outputAODFile AOD.ttbar.fromBS.pool.root --conditionsTag "OFLCOND-MC23-SDR-RUN3-05-03" --geometryVersion ATLAS-R3S-2021-03-02-00 --preExec "from AthenaConfiguration.DetectorConfigFlags import disableDetectors;disableDetectors(flags,['MM','sTGC'],toggle_geometry=True);disableDetectors(flags,['TRT']);flags.InDet.doTruth=False;flags.Tracking.doTruth=False;flags.Egamma.doTruthAssociation=False;flags.Exec.PrintAlgsSequence=True;flags.Reco.PostProcessing.GeantTruthThinning=False" --preInclude "Campaigns.MC23e"
breaks on trying to record duplicate Tile raw channels, work still needed to solve this.
Dumping the ROB IDs with eformat, the output file contains the following:
LAR_EM_BARREL_A_SIDE
LAR_EM_BARREL_C_SIDE
LAR_EM_ENDCAP_A_SIDE
LAR_EM_ENDCAP_C_SIDE
LAR_HAD_ENDCAP_A_SIDE
LAR_HAD_ENDCAP_C_SIDE
LAR_FCAL_A_SIDE
LAR_FCAL_C_SIDE
MUON_MDT_BARREL_A_SIDE
MUON_MDT_BARREL_C_SIDE
MUON_MDT_ENDCAP_A_SIDE
MUON_MDT_ENDCAP_C_SIDE
PIXEL_BARREL
PIXEL_DISK
PIXEL_B_LAYER
PIXEL_IBL
PIXEL_DBM
MUON_RPC_BARREL_A_SIDE
MUON_RPC_BARREL_C_SIDE
SCT_BARREL_A_SIDE
SCT_BARREL_C_SIDE
SCT_ENDCAP_A_SIDE
SCT_ENDCAP_C_SIDE
TRT_BARREL_A_SIDE
TRT_BARREL_C_SIDE
TRT_ENDCAP_A_SIDE
TRT_ENDCAP_C_SIDE
MUON_TGC_ENDCAP_C_SIDE
TILECAL_BARREL_A_SIDE
TILECAL_BARREL_C_SIDE
TILECAL_EXT_A_SIDE
TILECAL_EXT_C_SIDE
Some are missing:
# Don't really need fwd
FORWARD_AFP
FORWARD_AFP
# Are these expected/needed?
LAR_EM_BARREL_ENDCAP_A_SIDE
LAR_EM_BARREL_ENDCAP_C_SIDE
LAR_EM_HAD_ENDCAP_A_SIDE
LAR_EM_HAD_ENDCAP_C_SIDE
# No encoders
MUON_MMEGA_ENDCAP_A_SIDE
MUON_MMEGA_ENDCAP_C_SIDE
MUON_STGC_ENDCAP_A_SIDE
MUON_STGC_ENDCAP_C_SIDE
# Trigger not yet handled
TDAQ_CALO_CLUSTER_PROC_DAQ
TDAQ_CALO_CLUSTER_PROC_ROI
TDAQ_CALO_FEAT_EXTRACT_DAQ
TDAQ_CALO_FEAT_EXTRACT_ROI
TDAQ_CALO_JET_PROC_DAQ
TDAQ_CALO_JET_PROC_ROI
TDAQ_CALO_PREPROC
TDAQ_CALO_TOPO_PROC
TDAQ_CTP
TDAQ_HLT
TDAQ_MUON_CTP_INTERFACE
# Probably don't care
TILECAL_LASER_CRATE