Belle II Software  release-05-01-25
PXDTest.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
13 
14 from basf2 import *
15 
16 # show warnings during processing
17 set_log_level(LogLevel.WARNING)
18 
19 # Register modules
20 
21 # Particle gun module
22 particlegun = register_module('ParticleGun')
23 # Create Event information
24 eventinfosetter = register_module('EventInfoSetter')
25 # Show progress of processing
26 progress = register_module('Progress')
27 # Load parameters
28 gearbox = register_module('Gearbox')
29 # Create geometry
30 geometry = register_module('Geometry')
31 # Run simulation
32 simulation = register_module('FullSim')
33 # PXD digitization module
34 PXDDIGI = register_module('PXDDigitizer')
35 # PXD clusterizer
36 PXDCLUST = register_module('PXDClusterizer')
37 # Save output of simulation
38 output = register_module('RootOutput')
39 
40 # ============================================================================
41 # Set a fixed random seed for particle generation:
42 set_random_seed(1028307)
43 
44 # ============================================================================
45 # Setting the list of particle codes (PDG codes) for the generated particles
46 particlegun.param('pdgCodes', [-11, 11])
47 
48 # ============================================================================
49 # Setting the number of tracks to be generated per event:
50 particlegun.param('nTracks', 1)
51 
52 # ============================================================================
53 # Set the number of events to be processed (10 events)
54 eventinfosetter.param({'evtNumList': [1000], 'runList': [1]})
55 
56 # Set output filename
57 output.param('outputFileName', 'PXDTestOutput.root')
58 
59 # Select subdetectors to be built
60 geometry.param('components', ['MagneticField', 'PXD'])
61 
62 PXDDIGI.set_log_level(LogLevel.INFO)
63 
64 PXDCLUST.set_log_level(LogLevel.INFO)
65 
66 # ============================================================================
67 # Do the simulation
68 
69 main = create_path()
70 main.add_module(eventinfosetter)
71 main.add_module(progress)
72 main.add_module(gearbox)
73 main.add_module(geometry)
74 main.add_module(particlegun)
75 main.add_module(simulation)
76 main.add_module(PXDDIGI)
77 main.add_module(PXDCLUST)
78 
79 main.add_module(output)
80 
81 # Process events
82 process(main)
83 
84 # Print call statistics
85 print(statistics)
86 #