Belle II Software development
SVDDQMPlotsConfiguration.py
1#!/usr/bin/env python3
2
3
10
11
15
16
17from ROOT import Belle2
18import datetime
19import json
20import argparse
21
22now = datetime.datetime.now()
23
24
25def arg_parser():
26 """ argument parser """
27
28 parser = argparse.ArgumentParser(description=__doc__)
29 parser.add_argument('-j', '--json',
30 type=str,
31 help='input json file',
32 metavar='JSON')
33 return parser
34
35
36if __name__ == "__main__":
37
38 # Argument parsing
39 args = arg_parser().parse_args()
40
41 # open json file
42 f = open(args.json)
43 param = json.load(f)
44
45 print("")
46 print("--> json INFO:")
47 print(" "+str(param["_COMMENT"]))
48 print("")
49
51
52 uniqueID = "SVDDQMPlotsConfiguration_" + str(now.isoformat())
53 uniqueID += "_in-" + param["uniqueID"]["INFO"]["source"]
54 uniqueID += "_useFor-" + param["uniqueID"]["INFO"]["useFor"]
55 uniqueID += "_" + param["uniqueID"]["INFO"]["tag"]
56 print("uniqueID ->", uniqueID)
57 print("")
58
59 payload = Belle2.SVDDQMPlotsConfiguration(uniqueID)
60
61 print("list of sensors:")
62 for sensor in param["listOfSensors"]:
63 payload.addSensorToList(sensor)
64 print(" ", sensor)
65
66 print("")
67 print("3Samples:", param["3Samples"])
68
69 if (param["3Samples"] == 1):
70 payload.enablePlotsFor3SampleMonitoring()
71
72 print("skipHLTRejectedEvents:", param["skipHLTRejectedEvents"])
73
74 if (param["skipHLTRejectedEvents"] == 1):
75 payload.enableSkipHLTRejectedEvents()
76
77 # write out the payload to localdb directory
78 Belle2.Database.Instance().storeData(Belle2.SVDDQMPlotsConfiguration.name, payload, iov)
static IntervalOfValidity always()
Function that returns an interval of validity that is always valid, c.f.
This class handle DQM plots configuration: additional histograms (Charge, SNR, Time),...
static Database & Instance()
Instance of a singleton Database.
Definition Database.cc:41