Belle II Software  release-05-01-25
genCalPulse.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 realistic calibration pulses with TOPCalPulseGenerator
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('TOPCalPulseGenerator')
32 calpulse.param('asicChannels', [0])
33 calpulse.param('moduleIDs', [1])
34 calpulse.param('amplitude', 750.0)
35 main.add_module(calpulse)
36 
37 # digitization
38 topdigi = register_module('TOPDigitizer')
39 topdigi.param('useSampleTimeCalibration', True)
40 main.add_module(topdigi)
41 
42 # output
43 main.add_module('RootOutput')
44 
45 # Show progress of processing
46 progress = register_module('Progress')
47 main.add_module(progress)
48 
49 # Process events
50 process(main)
51 
52 # Print call statistics
53 print(statistics)