Belle II Software  release-06-00-14
SpacePointCreatorDemo.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 # This steering file will
13 import basf2 as b2
14 from beamparameters import add_beamparameters
15 
16 numEvents = 25
17 initialValue = 42
18 
19 b2.set_log_level(b2.LogLevel.ERROR)
20 b2.set_random_seed(initialValue)
21 
22 eventinfosetter = b2.register_module('EventInfoSetter')
23 eventinfosetter.param('expList', [0])
24 eventinfosetter.param('runList', [1])
25 eventinfosetter.param('evtNumList', [numEvents])
26 
27 eventinfoprinter = b2.register_module('EventInfoPrinter')
28 
29 gearbox = b2.register_module('Gearbox')
30 
31 pxdDigitizer = b2.register_module('PXDDigitizer')
32 svdDigitizer = b2.register_module('SVDDigitizer')
33 pxdClusterizer = b2.register_module('PXDClusterizer')
34 svdClusterizer = b2.register_module('SVDClusterizer')
35 evtgeninput = b2.register_module('EvtGenInput')
36 evtgeninput.logging.log_level = b2.LogLevel.WARNING
37 
38 geometry = b2.register_module('Geometry')
39 geometry.param('components', ['BeamPipe', 'MagneticFieldConstant4LimitedRSVD',
40  'PXD', 'SVD'])
41 
42 g4sim = b2.register_module('FullSim')
43 g4sim.param('StoreAllSecondaries', True)
44 
45 spCreatorSingle = b2.register_module('SVDSpacePointCreator')
46 spCreatorSingle.logging.log_level = b2.LogLevel.INFO
47 spCreatorSingle.logging.debug_level = 1
48 spCreatorSingle.param('OnlySingleClusterSpacePoints', True)
49 spCreatorSingle.param('NameOfInstance', 'singlesOnly')
50 spCreatorSingle.param('SpacePoints', 'singlesOnly')
51 
52 spCreatorCombi = b2.register_module('SVDSpacePointCreator')
53 spCreatorCombi.logging.log_level = b2.LogLevel.DEBUG
54 spCreatorCombi.logging.debug_level = 1
55 spCreatorCombi.param('OnlySingleClusterSpacePoints', False)
56 spCreatorCombi.param('NameOfInstance', 'couplesAllowed')
57 spCreatorCombi.param('SpacePoints', 'couplesAllowed')
58 
59 spCreatorPXD = b2.register_module('PXDSpacePointCreator')
60 spCreatorPXD.logging.log_level = b2.LogLevel.INFO
61 spCreatorPXD.logging.debug_level = 1
62 spCreatorPXD.param('NameOfInstance', 'pxdOnly')
63 spCreatorPXD.param('SpacePoints', 'pxdOnly')
64 
65 spCreatorTest = b2.register_module('SpacePointCreatorTest')
66 spCreatorTest.logging.log_level = b2.LogLevel.DEBUG
67 spCreatorTest.logging.debug_level = 20
68 spCreatorTest.param('NameOfInstance', 'SPTester')
69 # spCreatorTest.param('SpacePoints', 'couplesAllowed')
70 # spCreatorTest.param('AllSpacePointContainers', [ 'pxdOnly'] )
71 spCreatorTest.param('AllSpacePointContainers', ['singlesOnly', 'couplesAllowed', 'pxdOnly'])
72 
73 # Create paths
74 main = b2.create_path()
75 
76 
77 # beam parameters
78 beamparameters = add_beamparameters(main, "Y4S")
79 # beamparameters = add_beamparameters(main, "Y1S")
80 # beamparameters.param("generateCMS", True)
81 # beamparameters.param("smearVertex", False)
82 # beamparameters.param("smearEnergy", False)
83 # print_params(beamparameters)
84 
85 
86 main.add_module(eventinfosetter)
87 main.add_module(eventinfoprinter)
88 main.add_module(gearbox)
89 main.add_module(geometry)
90 main.add_module(evtgeninput)
91 main.add_module(g4sim)
92 main.add_module(pxdDigitizer)
93 main.add_module(pxdClusterizer)
94 main.add_module(svdDigitizer)
95 main.add_module(svdClusterizer)
96 main.add_module(spCreatorSingle)
97 main.add_module(spCreatorCombi)
98 main.add_module(spCreatorPXD)
99 main.add_module(spCreatorTest)
100 
101 # Process events
102 b2.process(main)
103 
104 print('Event Statistics :')
105 print(b2.statistics)