Belle II Software
release-08-01-10
Main Page
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
w
x
z
Typedefs
a
b
c
d
e
g
i
k
l
m
n
p
r
s
t
u
v
w
Enumerations
a
b
c
e
f
g
n
p
s
v
z
Enumerator
c
d
f
p
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
k
l
m
n
o
p
r
s
t
u
v
w
z
Related Functions
b
c
d
g
i
o
r
s
t
Files
File List
File Members
All
Functions
Typedefs
Macros
opticalGun.py
1
#!/usr/bin/env python3
2
# -*- coding: utf-8 -*-
3
4
11
12
# ---------------------------------------------------------------
13
# Example of usage of the OpticalGun module.
14
# It simulates two sources at the left and right side of prism,
15
# outside quartz, pointed towards the PMTs
16
# ---------------------------------------------------------------
17
18
import
basf2
as
b2
19
20
# Create path
21
main = b2.create_path()
22
23
24
# Set number of events to generate
25
main.add_module(
'EventInfoSetter'
,
26
expList=[1003],
# 0 for nominal phase 3, 1002 for phase II, 1003 for early phase III
27
evtNumList=[10])
28
29
# Gearbox
30
main.add_module(
'Gearbox'
)
31
32
# Geometry
33
main.add_module(
'Geometry'
)
34
35
# Optical sources
36
main.add_module(
'OpticalGun'
,
37
maxAlpha=45.0,
38
na=0.5,
39
startTime=0,
40
pulseWidth=10.0e-3,
# laser time Jitter, in ns
41
numPhotons=10,
42
diameter=10.0e-3,
# source diameter in cm
43
slotID=5,
# if nonzero, local (slot) referenc frame is used, otherwise Belle II
44
x=-22.6,
45
y=0.0,
46
z=-129.9,
47
phi=0.0,
48
theta=180.0,
49
psi=0.0,
50
angularDistribution=
'Gaussian'
)
51
main.add_module(
'OpticalGun'
,
52
maxAlpha=45.0,
53
na=0.5,
54
startTime=0,
55
pulseWidth=10.0e-3,
56
numPhotons=10,
57
diameter=10.0e-3,
58
slotID=5,
59
x=22.6,
60
y=0.0,
61
z=-129.9,
62
phi=0.0,
63
theta=180.0,
64
psi=0.0,
65
angularDistribution=
'Gaussian'
)
66
67
# Simulation
68
main.add_module(
'FullSim'
)
69
70
# TOP digitization
71
main.add_module(
'TOPDigitizer'
)
72
73
# Output
74
main.add_module(
'RootOutput'
,
75
outputFileName=
'opticalGun.root'
)
76
77
# Show progress of processing
78
main.add_module(
'Progress'
)
79
80
# Process events
81
b2.process(main)
82
83
# Print call statistics
84
print(b2.statistics)
top
examples
opticalGun.py
Generated on Mon Sep 23 2024 14:04:32 for Belle II Software by
1.9.1