From 785a0ca05503732bfa8ccb86c0ed941141f6c42b Mon Sep 17 00:00:00 2001 From: Leonhard Reichenbach Date: Wed, 20 Mar 2024 16:06:05 +0100 Subject: [PATCH] add function to attach conversion if needed --- .../python/k4MarlinWrapper/inputReader.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/k4MarlinWrapper/python/k4MarlinWrapper/inputReader.py b/k4MarlinWrapper/python/k4MarlinWrapper/inputReader.py index 99879862..2cec36fc 100644 --- a/k4MarlinWrapper/python/k4MarlinWrapper/inputReader.py +++ b/k4MarlinWrapper/python/k4MarlinWrapper/inputReader.py @@ -18,7 +18,7 @@ # import sys -from Configurables import LcioEvent, PodioInput +from Configurables import LcioEvent, PodioInput, MarlinProcessorWrapper, EDM4hep2LcioTool def create_reader(input_files, evtSvc): """Create the appropriate reader for the input files""" @@ -37,3 +37,20 @@ def create_reader(input_files, evtSvc): evtSvc.inputs = input_files return read + +def attach_edm4hep2lcio_conversion(algList, read): + """Attach the edm4hep to lcio conversion if necessary e.g. when using create_reader. Should only be run after algList is complete.""" + if not isinstance(read, PodioInput): + # nothing to convert :) + return + + # find first wrapper + for alg in algList: + if isinstance(alg, MarlinProcessorWrapper): + break + + EDM4hep2LcioInput = EDM4hep2LcioTool("InputConversion") + EDM4hep2LcioInput.convertAll = True + # Adjust for the different naming conventions + EDM4hep2LcioInput.collNameMapping = {"MCParticles": "MCParticle"} + alg.EDM4hep2LcioTool = EDM4hep2LcioInput