mirror of
https://github.com/boostorg/histogram.git
synced 2025-05-10 07:14:05 +00:00
42 lines
1.1 KiB
Python
Executable File
42 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
from icecube.histogram import I3HistogramN
|
|
from icecube import dataio, icetray
|
|
import numpy as np
|
|
import argparse
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("input",
|
|
nargs="+")
|
|
parser.add_argument("-o",
|
|
metavar="output",
|
|
default="merged.i3.gz",
|
|
help="name of output file")
|
|
args = parser.parse_args()
|
|
|
|
histograms = {}
|
|
for fname in args.input:
|
|
print "Processing:", fname
|
|
frame = dataio.I3File(fname).pop_frame()
|
|
for key in frame.keys():
|
|
print " -", key
|
|
h = frame[key]
|
|
if key not in histograms:
|
|
histograms[key] = I3HistogramN(h)
|
|
else:
|
|
histograms[key] += h
|
|
|
|
print "Writing:", args.o
|
|
frame = icetray.I3Frame()
|
|
for key in histograms:
|
|
print " -", key
|
|
frame[key] = histograms[key]
|
|
f = dataio.I3File(args.o, "w")
|
|
f.push(frame)
|
|
f.close()
|
|
|
|
if __name__ == "__main__":
|
|
main()
|