Belle II Software  release-05-01-25
EclHitDebug.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 
13 import os
14 from basf2 import *
15 from simulation import add_simulation
16 from reconstruction import add_tracking_reconstruction, add_ecl_modules
17 
18 set_log_level(LogLevel.ERROR)
19 
20 # Register necessary modules
21 eventinfosetter = register_module('EventInfoSetter')
22 eventinfoprinter = register_module('EventInfoPrinter')
23 
24 # Create geometry
25 # Geometry parameter loader
26 gearbox = register_module('Gearbox')
27 
28 # Geometry builder
29 geometry = register_module('Geometry')
30 
31 # Simulation
32 g4sim = register_module('FullSim')
33 
34 # one event
35 eventinfosetter.param({'evtNumList': [3], 'runList': [1]})
36 
37 import random
38 intseed = random.randint(1, 10000000)
39 
40 pGun = register_module('ParticleGun')
41 param_pGun = {
42  'pdgCodes': [22, 111],
43  'nTracks': 6,
44  'momentumGeneration': 'uniform',
45  'momentumParams': [1., 2.],
46  'thetaGeneration': 'uniform',
47  'thetaParams': [50., 130.],
48  'phiGeneration': 'uniform',
49  'phiParams': [0, 360.],
50  'vertexGeneration': 'uniform',
51  'xVertexParams': [0.0, 0.0],
52  'yVertexParams': [0.0, 0.0],
53  'zVertexParams': [0.0, 0.0],
54 }
55 
56 pGun.param(param_pGun)
57 
58 eclDigi = register_module('ECLDigitizer')
59 eclHit = register_module('ECLHitDebug')
60 
61 makeMatch = register_module('MCMatcherECLClusters')
62 
63 # Create paths
64 main = create_path()
65 main.add_module(eventinfosetter)
66 main.add_module(eventinfoprinter)
67 add_simulation(main)
68 
69 add_tracking_reconstruction(main)
70 main.add_module(eclDigi)
71 main.add_module(eclHit)
72 
73 add_ecl_modules(main)
74 
75 simpleoutput = register_module('RootOutput')
76 simpleoutput.param('outputFileName', 'Output.root')
77 main.add_module(simpleoutput)
78 
79 process(main)
80 print(statistics)