3 from ROOT
import PyConfig
4 PyConfig.IgnoreCommandLineOptions =
True
5 PyConfig.StartGuiThread =
False
7 from argparse
import ArgumentParser
13 __author__ =
"Sam Cunliffe"
14 __email__ =
"sam.cunliffe@desy.de"
18 """Get the command line options
21 argparse.ArgumentParser for this tool
23 parser = ArgumentParser(
24 description=
"Combines several ``software_trigger_result`` files.")
25 parser.add_argument(
"input", nargs=
'*',
26 help=
"Wildcard to select ``software_trigger_results`` files.")
27 parser.add_argument(
"--output",
28 help=
"The combined output ``software_trigger_result`` file name.",
29 default=
"software_trigger_results_combined.root")
33 if __name__ ==
"__main__":
35 args = get_parser().parse_args()
38 if not all([os.path.exists(f)
for f
in args.input]):
39 raise FileNotFoundError(
"Could not find input files: %s" % args.input)
42 sum_out = pd.DataFrame()
46 swtr = uproot.open(fi)[
"software_trigger_results"].pandas.df()
47 if not swtr[
'total_events'][0].any():
54 sum_out = sum_out.add(swtr)
56 root_pandas.to_root(sum_out, key=
'software_trigger_results', path=args.output)
58 print(
"Created file %s" % args.output)