Belle II Software  release-06-00-14
KLMK0LGenerate.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 """
13 <header>
14  <output>KLMK0LOutput.root</output>
15  <contact>Kirill Chilikin (chilikin@lebedev.ru)</contact>
16  <description>Generation of 1000 B -> J/psi K_L0 events for KLM validation.</description>
17 </header>
18 """
19 
20 import basf2
21 from beamparameters import add_beamparameters
22 
23 basf2.set_log_level(basf2.LogLevel.WARNING)
24 
25 # Fixed random seed
26 basf2.set_random_seed(123456)
27 
28 # Create main path
29 main = basf2.create_path()
30 
31 # Event data
32 eventinfosetter = basf2.register_module('EventInfoSetter')
33 eventinfosetter.param('evtNumList', [1000])
34 
35 # Evtgen and beam parameters.
36 evtgen = basf2.register_module('EvtGenInput')
37 evtgen.param('userDECFile', basf2.find_file('klm/validation/btojpsikl0.dec'))
38 beamparameters = add_beamparameters(main, "Y4S")
39 
40 # Geometry and Geant simulation
41 paramloader = basf2.register_module('Gearbox')
42 geometry = basf2.register_module('Geometry')
43 geometry.param('components', ['KLM'])
44 geometry.param('useDB', False)
45 g4sim = basf2.register_module('FullSim')
46 
47 # KLM modules.
48 klmDigitizer = basf2.register_module('KLMDigitizer')
49 klmReconstructor = basf2.register_module('KLMReconstructor')
50 klmClustersReconstructor = basf2.register_module('KLMClustersReconstructor')
51 mc_matcher = basf2.register_module('MCMatcherKLMClusters')
52 
53 # Add progress bars
54 progress = basf2.register_module('Progress')
55 progressBar = basf2.register_module('ProgressBar')
56 
57 # Output
58 output = basf2.register_module('RootOutput')
59 output.param('outputFileName', '../KLMK0LOutput.root')
60 
61 # Add modules to main path
62 main.add_module(eventinfosetter)
63 main.add_module(evtgen)
64 main.add_module(paramloader)
65 main.add_module(geometry)
66 main.add_module(g4sim)
67 
68 main.add_module(klmDigitizer)
69 main.add_module(klmReconstructor)
70 main.add_module(klmClustersReconstructor)
71 main.add_module(mc_matcher)
72 
73 main.add_module(progress)
74 main.add_module(progressBar)
75 
76 main.add_module(output)
77 
78 # Process the path
79 basf2.process(main)