Source code for analyzer.modules.common.save_arrays

from analyzer.core.analysis_modules import AnalyzerModule
from analyzer.core.columns import Column
from attrs import define
from analyzer.core.results import SavedColumns
from analyzer.core.analysis_modules import MetadataExpr


@define
[docs] class SaveCols(AnalyzerModule):
[docs] save_name: str
[docs] to_save: dict[str, str]
[docs] remap_hlt_prefix: bool = True
[docs] def run(self, columns, params): ret = {} era_trigger_names = columns.metadata["era"]["trigger_names"] for name, col in self.to_save.items(): real_name = col if real_name.startswith("HLTMAP:"): real_name = "HLT." + era_trigger_names[real_name[7:]] ret[name] = columns[real_name] return columns, [SavedColumns(self.save_name, ret)]
[docs] def inputs(self, metadata): era_trigger_names = metadata["era"]["trigger_names"] ret = [] for col in self.to_save.values(): real_name = col if real_name.startswith("HLTMAP:"): real_name = "HLT." + era_trigger_names[real_name[7:]] ret.append(Column(real_name)) return ret
[docs] def outputs(self, metadata): return []