Belle II Software  release-06-00-14
print_calib_trig_results.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 # --------------------------------------------------------------------------
13 # Prints Calibration trigger results from a raw sroot file
14 # --------------------------------------------------------------------------
15 
16 import basf2 as b2
17 from ROOT import Belle2
18 
19 from collections import defaultdict
20 
21 results = defaultdict(int)
22 
23 
24 class PrintCalibTriggerResults(b2.Module):
25 
26  '''
27  Prints Calibration trigger results in a well formatted way.
28  User is prompted to continue or quit at each event
29  '''
30 
31  def event(self):
32  '''
33  Print log likelihoods and wait for user respond.
34  '''
35 
36  evtMetaData = Belle2.PyStoreObj('EventMetaData')
37  exp = evtMetaData.obj().getExperiment()
38  run = evtMetaData.obj().getRun()
39  evt = evtMetaData.obj().getEvent()
40  print()
41  print('Experiment ' + str(exp) + ' Run ' + str(run) + ' Event ' + str(evt) + ':')
42  print()
43  trigger_result = Belle2.PyStoreObj('SoftwareTriggerResult')
44  for name, result in trigger_result.getResults():
45  print('Result ' + str(name) + ': ' + str(result))
46  if result == 1:
47  global results
48  results[name] += 1
49  print('')
50 
51 
52 b2.set_log_level(b2.LogLevel.ERROR)
53 
54 # Create path
55 main = b2.create_path()
56 
57 # Root input
58 roinput = b2.register_module('SeqRootInput')
59 main.add_module(roinput)
60 
61 # print array of log likelihoods
62 main.add_module(PrintCalibTriggerResults())
63 
64 # Process events
65 b2.process(main)
66 
67 print(results)
a (simplified) python wrapper for StoreObjPtr.
Definition: PyStoreObj.h:67
static ExpRun getRun(map< ExpRun, pair< double, double >> runs, double t)
Get exp number + run number from time.
Definition: Splitter.cc:264