From b2528f171240285cefbf67bce9cccc0c9d1a40fa Mon Sep 17 00:00:00 2001 From: Kenneth Long Date: Mon, 19 Jan 2026 10:59:58 -0500 Subject: [PATCH 1/2] Add file meta_info to rabbit input (setupRabbit output) Reformat --- rabbit/tensorwriter.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/rabbit/tensorwriter.py b/rabbit/tensorwriter.py index 9121284..ec81df2 100644 --- a/rabbit/tensorwriter.py +++ b/rabbit/tensorwriter.py @@ -7,7 +7,7 @@ from rabbit import common, h5pyutils -from wums import ioutils, logging, output_tools # isort: skip +from wums import ioutils, logging # isort: skip logger = logging.child_logger(__name__) @@ -485,7 +485,7 @@ def book_systematic( for group in groups: self.dict_systgroups[group].add(name) - def write(self, outfolder="./", outfilename="rabbit_input.hdf5", args={}): + def write(self, outfolder="./", outfilename="rabbit_input.hdf5", meta_data_dict={}): if self.signals.intersection(self.bkgs): raise RuntimeError( @@ -772,17 +772,16 @@ def write(self, outfolder="./", outfilename="rabbit_input.hdf5", args={}): logger.info(f"Write output file {outpath}") f = h5py.File(outpath, rdcc_nbytes=self.chunkSize, mode="w") - # propagate meta info into result file - meta = { - "meta_info": output_tools.make_meta_info_dict( - args=args, wd=common.base_dir - ), - "channel_info": self.channels, - "symmetric_tensor": self.symmetric_tensor, - "systematic_type": self.systematic_type, - } - - ioutils.pickle_dump_h5py("meta", meta, f) + if meta_data_dict is not None: + meta_data_dict.update( + { + "channel_info": self.channels, + "symmetric_tensor": self.symmetric_tensor, + "systematic_type": self.systematic_type, + } + ) + + ioutils.pickle_dump_h5py("meta", meta_data_dict, f) noiidxs = self.get_noiidxs() systsnoconstraint = self.get_systsnoconstraint() From b5f25add8899e652df355f1991440a0676b850d5 Mon Sep 17 00:00:00 2001 From: Kenneth Long Date: Mon, 19 Jan 2026 11:14:16 -0500 Subject: [PATCH 2/2] Avoid failure if meta is empty Fix the fix --- rabbit/tensorwriter.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rabbit/tensorwriter.py b/rabbit/tensorwriter.py index ec81df2..3207671 100644 --- a/rabbit/tensorwriter.py +++ b/rabbit/tensorwriter.py @@ -780,6 +780,8 @@ def write(self, outfolder="./", outfilename="rabbit_input.hdf5", meta_data_dict= "systematic_type": self.systematic_type, } ) + if "meta_info" not in meta_data_dict: + meta_data_dict["meta_info"] = {} ioutils.pickle_dump_h5py("meta", meta_data_dict, f)