From acfe4483eeb72326eae670886622fb59b5e7948c Mon Sep 17 00:00:00 2001 From: Leonhard Reichenbach Date: Mon, 18 Mar 2024 13:52:33 +0100 Subject: [PATCH] Add inputReader for easy re-use --- .../python/k4MarlinWrapper/inputReader.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 k4MarlinWrapper/python/k4MarlinWrapper/inputReader.py diff --git a/k4MarlinWrapper/python/k4MarlinWrapper/inputReader.py b/k4MarlinWrapper/python/k4MarlinWrapper/inputReader.py new file mode 100644 index 00000000..99879862 --- /dev/null +++ b/k4MarlinWrapper/python/k4MarlinWrapper/inputReader.py @@ -0,0 +1,39 @@ +# +# Copyright (c) 2019-2024 Key4hep-Project. +# +# This file is part of Key4hep. +# See https://key4hep.github.io/key4hep-doc/ for further info. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +import sys +from Configurables import LcioEvent, PodioInput + +def create_reader(input_files, evtSvc): + """Create the appropriate reader for the input files""" + if input_files[0].endswith(".slcio"): + if any(not f.endswith(".slcio") for f in input_files): + print("All input files need to have the same format (LCIO)") + sys.exit(1) + + read = LcioEvent() + read.Files = input_files + else: + if any(not f.endswith(".root") for f in input_files): + print("All input files need to have the same format (EDM4hep)") + sys.exit(1) + read = PodioInput("PodioInput") + evtSvc.inputs = input_files + + return read