18 from basf2
import set_log_level, LogLevel, register_module, create_path, process, statistics, set_random_seed, print_params
21 set_log_level(LogLevel.ERROR)
22 set_random_seed(1028307)
25 vertex1 = register_module(
'ParticleGun')
28 vertex1.param(
'nTracks', -1)
29 vertex1.param(
'pdgCodes', [-11, 11, -13, 13])
32 vertex1.param(
'momentumGeneration',
'normal')
33 vertex1.param(
'momentumParams', [1, 0.05])
35 vertex1.param(
'thetaGeneration',
'uniform')
36 vertex1.param(
'thetaParams', [17, 150])
38 vertex1.param(
'phiGeneration',
'uniform')
39 vertex1.param(
'phiParams', [0, 360])
42 vertex1.param(
'independentVertices',
False)
44 vertex1.param(
'vertexGeneration',
'fixed')
45 vertex1.param(
'xVertexParams', [0.0, 0.0])
46 vertex1.param(
'yVertexParams', [0.0, 0.0])
47 vertex1.param(
'zVertexParams', [0.0, 0.0])
50 vertex2 = register_module(
'ParticleGun')
53 vertex2.param(
'nTracks', -1)
54 vertex2.param(
'pdgCodes', [-211, 211, -211])
57 vertex2.param(
'momentumGeneration',
'normal')
58 vertex2.param(
'momentumParams', [1, 0.05])
60 vertex2.param(
'thetaGeneration',
'uniform')
61 vertex2.param(
'thetaParams', [17, 150])
63 vertex2.param(
'phiGeneration',
'uniform')
64 vertex2.param(
'phiParams', [0, 360])
67 vertex2.param(
'independentVertices',
False)
69 vertex2.param(
'vertexGeneration',
'fixed')
70 vertex2.param(
'xVertexParams', [1, 1])
71 vertex2.param(
'yVertexParams', [1, 1])
72 vertex2.param(
'zVertexParams', [1, 1])
75 vertex3 = register_module(
'ParticleGun')
78 vertex3.param(
'nTracks', -1)
79 vertex3.param(
'pdgCodes', [-11, 11])
82 vertex3.param(
'momentumGeneration',
'normal')
83 vertex3.param(
'momentumParams', [0.5, 0.01])
85 vertex3.param(
'thetaGeneration',
'uniform')
86 vertex3.param(
'thetaParams', [60, 120])
88 vertex3.param(
'phiGeneration',
'uniform')
89 vertex3.param(
'phiParams', [0, 360])
92 vertex3.param(
'independentVertices',
False)
94 vertex3.param(
'vertexGeneration',
'fixed')
95 vertex3.param(
'xVertexParams', [0, 0])
96 vertex3.param(
'yVertexParams', [0, 0])
97 vertex3.param(
'zVertexParams', [3, 3])
101 print_params(vertex1)
102 print_params(vertex2)
103 print_params(vertex3)
109 eventinfosetter = register_module(
'EventInfoSetter')
111 progress = register_module(
'Progress')
113 gearbox = register_module(
'Gearbox')
115 geometry = register_module(
'Geometry')
117 simulation = register_module(
'FullSim')
119 output = register_module(
'RootOutput')
123 eventinfosetter.param({
'evtNumList': [10],
'runList': [1]})
126 output.param(
'outputFileName',
'ParticleGunOutput.root')
130 mcparticleprinter = register_module(
'PrintMCParticles')
131 mcparticleprinter.logging.log_level = LogLevel.INFO
133 main.add_module(eventinfosetter)
134 main.add_module(progress)
135 main.add_module(gearbox)
136 main.add_module(geometry)
137 main.add_module(vertex1)
138 main.add_module(vertex2)
139 main.add_module(vertex3)
140 main.add_module(mcparticleprinter)
141 main.add_module(simulation)
142 main.add_module(output)