Belle II Software  release-05-01-25
genDoublePulse.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 from basf2 import *
5 import os
6 import math
7 
8 # ----------------------------------------------------------------------------
9 # Example of generating double calibration pulses with TOPDoublePulseGenerator
10 # ----------------------------------------------------------------------------
11 
12 # Create path
13 main = create_path()
14 
15 # Set number of events to generate
16 eventinfosetter = register_module('EventInfoSetter')
17 eventinfosetter.param('evtNumList', [100])
18 main.add_module(eventinfosetter)
19 
20 # Gearbox: access to database (xml files)
21 gearbox = register_module('Gearbox')
22 main.add_module(gearbox)
23 
24 # Geometry
25 geometry = register_module('Geometry')
26 geometry.param('useDB', False)
27 geometry.param('components', ['TOP'])
28 main.add_module(geometry)
29 
30 # pulse generator
31 calpulse = register_module('TOPDoublePulseGenerator')
32 calpulse.param('asicChannels', [0])
33 calpulse.param('moduleIDs', [1])
34 # intervals = [math.exp(-float(i)/99.0)+1 for i in range(128)]
35 # intervals = intervals + intervals
36 # calpulse.param('sampleTimeIntervals', intervals)
37 calpulse.param('useDatabase', True)
38 calpulse.param('outputFileName', 'usedSampleTimes.root')
39 main.add_module(calpulse)
40 
41 # output
42 main.add_module('RootOutput')
43 
44 # Show progress of processing
45 progress = register_module('Progress')
46 main.add_module(progress)
47 
48 # Process events
49 process(main)
50 
51 # Print call statistics
52 print(statistics)