Source code for km3pipe.utils.runinfo

# Filename: runinfo.py
"""
Prints the run table for a given detector ID.

Usage:
    runinfo [-t] DET_ID RUN
    runinfo (-h | --help)
    runinfo --version

Options:
    -t                  Show the trigger information.
    -h --help           Show this screen.
    DET_ID              Detector ID (eg. D_ARCA001).
    RUN                 Run number.

"""

import km3pipe as kp

__author__ = "Tamas Gal"
__copyright__ = "Copyright 2018, Tamas Gal and the KM3NeT collaboration."
__credits__ = []
__license__ = "MIT"
__maintainer__ = "Tamas Gal"
__email__ = "tgal@km3net.de"
__status__ = "Development"

[docs]log = kp.logger.get_logger(__name__)
[docs]def runinfo(run_id, det_id, show_trigger=False): db = kp.db.DBManager() df = db.run_table(det_id) row = df[df['RUN'] == run_id] if len(row) == 0: log.error("No database entry for run {0} found.".format(run_id)) return next_row = df[df['RUN'] == (run_id + 1)] if len(next_row) != 0: end_time = next_row['DATETIME'].values[0] duration = ( next_row['UNIXSTARTTIME'].values[0] - row['UNIXSTARTTIME'].values[0] ) / 1000 / 60 else: end_time = duration = float('NaN') print("Run {0} - detector ID: {1}".format(run_id, det_id)) print('-' * 42) print( " Start time: {0}\n" " End time: {1}\n" " Duration [min]: {2:.2f}\n" " Start time defined: {3}\n" " Runsetup ID: {4}\n" " Runsetup name: {5}\n" " T0 Calibration ID: {6}\n".format( row['DATETIME'].values[0], end_time, duration, bool(row['STARTTIME_DEFINED'].values[0]), row['RUNSETUPID'].values[0], row['RUNSETUPNAME'].values[0], row['T0_CALIBSETID'].values[0] ) ) if show_trigger: print(db.trigger_setup(row['RUNSETUPID'].values[0]))
[docs]def main(): from docopt import docopt args = docopt(__doc__, version=kp.version) runinfo(int(args['RUN']), args['DET_ID'], args['-t'])