Belle II Software  release-05-01-25
mixed_runs.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 import basf2
5 from ROOT import Belle2
6 import time
7 
8 basf2.set_random_seed("something important")
9 basf2.set_log_level(basf2.LogLevel.ERROR)
10 
11 
12 class DelayEvents(basf2.Module):
13  """Delay second event in each run"""
14 
15  def event(self):
16  """reimplementation of Module::event()."""
17 
18  evtmetadata = Belle2.PyStoreObj('EventMetaData')
19 
20  if not evtmetadata:
21  basf2.B2ERROR('No EventMetaData found')
22  else:
23  event = evtmetadata.obj().getEvent()
24  if event == 2:
25  time.sleep(0.2)
26 
27 
28 # Normal steering file part begins here
29 nruns = 6
30 basf2.set_nprocesses(2)
31 main = basf2.Path()
32 main.add_module("EventInfoSetter", evtNumList=[2] * nruns, expList=[0] * nruns,
33  runList=list(range(1, nruns + 1)))
34 test = main.add_module(DelayEvents())
35 test.set_property_flags(basf2.ModulePropFlags.PARALLELPROCESSINGCERTIFIED)
36 main.add_module('Progress', logLevel=basf2.LogLevel.INFO)
37 basf2.process(main)
Belle2::PyStoreObj
a (simplified) python wrapper for StoreObjPtr.
Definition: PyStoreObj.h:69
basf2.process
def process(path, max_event=0)
Definition: __init__.py:25
mixed_runs.DelayEvents
Definition: mixed_runs.py:12
mixed_runs.DelayEvents.event
def event(self)
Definition: mixed_runs.py:15