Skip to content

RecJobTransforms: Improve derived format handling in MergePool skeleton

Alaettin Serhan Mete requested to merge amete/athena:23.0-improve-merge into 23.0

In the original implementation we took a few shortcuts for handling derived formats. This MR aims to improve things that are discussed in ATEAM-900. Here we use metadata from the input file to determine the stream name and set things up accordingly. Now it should be able to handle:

  • Merging (D)ESD/(D)AOD files generically (this also concerns POOL merging that's used in AthenaMP), e.g.
Merge_tf.py --CA --inputESDFile ESD.pool.root[,...] --outputESD_MRGFile myMerged.ESD.pool.root
Merge_tf.py --CA --inputAODFile AOD.pool.root[,...] --outputAOD_MRGFile myMerged.AOD.pool.root
  • Merging DESD files through the primary ESD merging logic but retaining the correct stream/metadata information, e.g.
Merge_tf.py --CA --inputESDFile DESD_MCP.pool.root[,...] --outputESD_MRGFile myMerged.DESD_MCP.pool.root
  • Merging DAOD files through the primary AOD merging logic but retaining the correct stream/metadata information, e.g.
Merge_tf.py --CA --inputAODFile DAOD_PHYS.pool.root[,...] --outputAOD_MRGFile myMerged.DAOD_PHYS.pool.root
  • Merging ESD/AOD/DAODs through the dedicated transforms, e.g.
ESDMerge_tf.py --CA --inputESDFile ESD.pool.root[,...] --outputESD_MRGFile myMerged.ESD.pool.root
AODMerge_tf.py --CA --inputAODFile AOD.pool.root[,...] --outputAOD_MRGFile myMerged.AOD.pool.root
DAODMerge_tf.py --CA --inputDAOD_PHYSFile DAOD_PHYS.pool.root[,...] --outputDAOD_PHYS_MRGFile myMerged.DAOD_PHYS.pool.root

Note that we don't have a dedicated merge transform for DESDs (unlike DAOD). Should we choose to do that in the future, the current skeleton can be used out of the box.

In principle the new script should be able to handle formats other than those that are mentioned here unless they need extra components configured for TP conversion.

cc: @gemmeren @maszyman @jmaurer

Edited by Alaettin Serhan Mete

Merge request reports