Skip to content
Snippets Groups Projects
Commit efdea544 authored by Rodri's avatar Rodri
Browse files

blackened

parent c5a4a0d9
No related branches found
No related tags found
1 merge request!67Draft: Resolve "Reading summary slices and extracting the rates of each optical module"
Pipeline #25147 passed
...@@ -15,21 +15,25 @@ import os ...@@ -15,21 +15,25 @@ import os
import numpy as np import numpy as np
import h5py import h5py
def get_doms_rates(slices, frame): def get_doms_rates(slices, frame):
raw_rates = [km3io.online.get_rate(getattr(slices.rates[frame],f"ch{i}")) for i in range(31)] raw_rates = [
km3io.online.get_rate(getattr(slices.rates[frame], f"ch{i}")) for i in range(31)
]
return np.sum(raw_rates, axis=0) return np.sum(raw_rates, axis=0)
def main(): def main():
arguments = docopt(__doc__) arguments = docopt(__doc__)
data = {} data = {}
for key in arguments: for key in arguments:
data[key.replace('-','')] = arguments[key] data[key.replace("-", "")] = arguments[key]
reader = km3io.OnlineReader(data['input_file']) reader = km3io.OnlineReader(data["input_file"])
summary_slices = reader.summaryslices summary_slices = reader.summaryslices
detector = km3pipe.hardware.Detector(data['detector_file']) detector = km3pipe.hardware.Detector(data["detector_file"])
n_slices = len(summary_slices.slices) n_slices = len(summary_slices.slices)
...@@ -37,18 +41,25 @@ def main(): ...@@ -37,18 +41,25 @@ def main():
for dom in detector.dom_ids: for dom in detector.dom_ids:
doms_rates[dom] = np.zeros(n_slices) doms_rates[dom] = np.zeros(n_slices)
for i in range (n_slices): for i in range(n_slices):
rates = get_doms_rates(summary_slices, i) rates = get_doms_rates(summary_slices, i)
dom_ids = summary_slices.slices[i].dom_id dom_ids = summary_slices.slices[i].dom_id
for j in range(len(dom_ids)-1): for j in range(len(dom_ids) - 1):
doms_rates[dom_ids[j]][i] = rates[j] doms_rates[dom_ids[j]][i] = rates[j]
f = h5py.File(data['output_file'], "a") f = h5py.File(data["output_file"], "a")
f.create_dataset("frame_indices",data=np.array(summary_slices.headers.frame_index)) f.create_dataset("frame_indices", data=np.array(summary_slices.headers.frame_index))
f.create_dataset("frame_times" ,data=np.array(summary_slices.headers.UTC_seconds * 1e9 + summary_slices.headers.UTC_16nanosecondcycles * 16)) f.create_dataset(
"frame_times",
data=np.array(
summary_slices.headers.UTC_seconds * 1e9
+ summary_slices.headers.UTC_16nanosecondcycles * 16
),
)
for key, value in doms_rates.items(): for key, value in doms_rates.items():
f.create_dataset(str(key), data=value) f.create_dataset(str(key), data=value)
if __name__ == "__main__": if __name__ == "__main__":
main() main()
...@@ -36,7 +36,12 @@ setup( ...@@ -36,7 +36,12 @@ setup(
install_requires=read_requirements("install"), install_requires=read_requirements("install"),
extras_require={kind: read_requirements(kind) for kind in ["dev"]}, extras_require={kind: read_requirements(kind) for kind in ["dev"]},
python_requires=">=3.6", python_requires=">=3.6",
entry_points={"console_scripts": ["KPrintTree=km3io.utils.kprinttree:main","ExtractDomRates=km3io.utils.ExtractDomRates:main"]}, entry_points={
"console_scripts": [
"KPrintTree=km3io.utils.kprinttree:main",
"ExtractDomRates=km3io.utils.extract_dom_rates:main",
]
},
classifiers=[ classifiers=[
"Intended Audience :: Developers", "Intended Audience :: Developers",
"Intended Audience :: Science/Research", "Intended Audience :: Science/Research",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment