Belle II Software  release-05-01-25
prescale.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 import basf2
5 basf2.set_random_seed(501)
6 
7 
8 class CountEvents(basf2.Module):
9  """Count the number of events passing this module"""
10 
11  def initialize(self):
12  """Start number of events at zero"""
13 
14  self.num_events = 0
15 
16  def event(self):
17  """Increment number of events each event"""
18  self.num_events += 1
19 
20 
21 input_events = 1000
22 expected_success_events = 6
23 
24 main = basf2.Path()
25 main.add_module("EventInfoSetter", evtNumList=[input_events], expList=[0], runList=[0])
26 prescale_mod = main.add_module('Prescale', prescale=0.01)
27 
28 success_path = basf2.Path()
29 success_count = success_path.add_module(CountEvents())
30 prescale_mod.if_true(success_path)
31 
32 basf2.process(main)
33 
34 print(basf2.statistics)
35 
36 assert success_count.num_events == expected_success_events
basf2.process
def process(path, max_event=0)
Definition: __init__.py:25
prescale.CountEvents
Definition: prescale.py:8
prescale.CountEvents.initialize
def initialize(self)
Definition: prescale.py:11
prescale.CountEvents.num_events
num_events
Stores the total number of events passing this module.
Definition: prescale.py:14
prescale.CountEvents.event
def event(self)
Definition: prescale.py:16