Belle II Software  release-05-01-25
phase2_simulate.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
8 import os
9 from basf2 import *
10 from generators import *
11 
12 print('***')
13 print('*** Used steering script:')
14 with open(sys.argv[0], 'r') as fin:
15  print(fin.read(), end="")
16 print('*** end of the script.')
17 print('***')
18 
19 fileOUT = sys.argv[1]
20 
21 dec_file = None
22 final_state = 'mixed'
23 
24 # main path
25 main = create_path()
26 
27 # event info setter
28 main.add_module("EventInfoSetter", expList=1002, runList=0, evtNumList=100)
29 
30 # create geometry from xml file
31 gearbox = register_module('Gearbox')
32 geomfile = '/geometry/Beast2_phase2.xml'
33 if geomfile != 'None':
34  gearbox.param('fileName', geomfile)
35 
36 main.add_module(gearbox)
37 geometry = register_module('Geometry')
38 geometry.param('useDB', False)
39 geometry.param('components', ['SVD'])
40 main.add_module(geometry)
41 
42 # EvtGen
43 add_evtgen_generator(path=main, finalstate=final_state, signaldecfile=dec_file)
44 
45 # Simulation
46 main.add_module('FullSim', StoreAllSecondaries=True)
47 
48 # Digitizer
49 main.add_module('SVDDigitizer')
50 
51 main.add_module("Progress")
52 main.add_module('RootOutput', outputFileName=fileOUT)
53 
54 # generate events
55 process(main)
56 
57 # show call statistics
58 print(statistics)