Belle II Software  release-05-01-25
SVDReconstructionWithNN.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
10 
11 from basf2 import *
12 from svd.dump_digits import dump_digits
13 from svd.dump_clusters import dump_clusters
14 
15 # show warnings during processing
16 set_log_level(LogLevel.WARNING)
17 
18 # Set database
19 """
20 For phase 3 related studies, use this tag
21 """
22 # use_local_database('localDB_NN_toImport/database_NN_toImport.txt','localDB_NN_toImport')
23 use_central_database("development")
24 
25 # Register modules
26 
27 # Particle gun module
28 particlegun = register_module('ParticleGun')
29 # Create Event information
30 eventinfosetter = register_module('EventInfoSetter')
31 # Show progress of processing
32 progress = register_module('Progress')
33 # Load parameters
34 gearbox = register_module('Gearbox')
35 # Create geometry
36 geometry = register_module('Geometry')
37 # Run simulation
38 simulation = register_module('FullSim')
39 # Add the PXD digitizer, too, to avoid problems with empty events.
40 PXDDIGI = register_module('PXDDigitizer')
41 # SVD digitization module
42 SVDDIGI = register_module('SVDDigitizer')
43 SVDDIGI.param('StartSampling', -31.44)
44 SVDDIGI.param('GenerateShaperDigits', True)
45 # SVDDIGI.param('signalsList', 'SVDSignalsList.csv')
46 # SVDDIGI.param('RandomizeEventTimes', True)
47 # SVDDIGI.param('TimeFrameLow', -180)
48 # SVDDIGI.param('TimeFrameHigh', 150)
49 # SVD signal reconstructor
50 SVDSIGR = register_module('SVDNNShapeReconstructor')
51 # Write RecoDigits so that we can check them
52 SVDSIGR.param('WriteRecoDigits', True)
53 # RecoDigit clusterizer
54 SVDCLUST1 = register_module('SVDNNClusterizer')
55 # ShaperDigit clusterizer
56 SVDCLUST2 = register_module("SVDClusterizerDirect")
57 # Save output of simulation
58 output = register_module('RootOutput')
59 
60 # ============================================================================
61 # Set a fixed random seed for particle generation:
62 set_random_seed(1028307)
63 
64 # ============================================================================
65 # Setting the list of particle codes (PDG codes) for the generated particles
66 particlegun.param('pdgCodes', [-11, 11])
67 
68 # ============================================================================
69 # Setting the number of tracks to be generated per event:
70 particlegun.param('nTracks', 1)
71 
72 # Set the number of events to be processed (100 events)
73 eventinfosetter.param({'evtNumList': [1000], 'expList': [0], 'runList': [0]})
74 
75 # Set output filename
76 output.param('outputFileName', 'SVDTestOutput.root')
77 
78 # Select subdetectors to be built
79 # geometry.param('Components', ['PXD','SVD'])
80 geometry.param('components', ['MagneticField', 'PXD', 'SVD'])
81 
82 # ============================================================================
83 # Do the simulation
84 
85 main = create_path()
86 main.add_module(eventinfosetter)
87 main.add_module(progress)
88 main.add_module(gearbox)
89 main.add_module(geometry)
90 main.add_module(particlegun)
91 main.add_module(simulation)
92 main.add_module(PXDDIGI)
93 main.add_module(SVDDIGI)
94 main.add_module(SVDSIGR)
95 main.add_module(dump_digits())
96 main.add_module(SVDCLUST2)
97 main.add_module(dump_clusters())
98 main.add_module(output)
99 
100 # Process events
101 process(main)
102 
103 # Print call statistics
104 print(statistics)
svd.dump_clusters
Definition: dump_clusters.py:1
svd.dump_digits
Definition: dump_digits.py:1