Belle II Software
release-06-02-00
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
z
Typedefs
a
b
c
d
e
i
k
l
m
n
p
r
s
t
u
v
w
Enumerations
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
usingCollections.py
1
#!/usr/bin/env python3
2
3
10
11
# The VariablesToNtuple (and VariablesToTree) module support collections of variables.
12
# You specify a collection instead of a variable name, and the collection will be automatically
13
# resolved to a set of variable names
14
# the Python module variables.collections defines some default collections, just import it
15
#
16
# For full documentation please refer to https://software.belle2.org
17
# Anything unclear? Ask questions at https://questions.belle2.org
18
19
import
basf2
20
import
variables.collections
# collections of variables
21
import
modularAnalysis
as
ma
# a shorthand for the analysis tools namespace
22
from
variables
import
variables
as
vm
# shorthand name for the VariableManager instance
23
24
# You can also define collections yourself
25
vm.addCollection(
'MyCollection'
,
variables.std_vector
(
'daughter(0, kaonID)'
,
'daughter(1, pionID)'
))
26
27
mypath = basf2.Path()
# create a new path
28
29
# add input data and ParticleLoader modules to the path
30
ma.inputMdstList(
'default'
, [basf2.find_file(
'analysis/tests/mdst.root'
)], path=mypath)
31
ma.fillParticleLists([(
'K-'
,
'kaonID > 0.2'
), (
'pi+'
,
'pionID > 0.2'
)], path=mypath)
32
ma.reconstructDecay(
'D0 -> K- pi+'
,
'1.750 < M < 1.95'
, path=mypath)
33
ma.matchMCTruth(
'D0'
, path=mypath)
34
35
# Add the VariablesToNtuple module explicitly
36
# this will write out one row per candidate in the D0 list
37
mypath.add_module(
'VariablesToNtuple'
,
38
particleList=
'D0'
,
39
variables=[
'kinematics'
,
'mc_truth'
,
'MyCollection'
],
40
fileName=
'CollectionVariables.root'
)
41
42
# Important note: In order to specify variable collections by string, e.g.
43
# "kinematics", "mc_truth", etc. you need to import variables.collections, even
44
# if you do not explicitly use any of its symbols (importing
45
# variables.collections sets up some default collections).
46
47
# you might also like to uncomment the following, and read the help for the
48
# convenient wrapper function:
49
# print(help(ma.variablesToNtuple))
50
51
# process the data
52
basf2.process(mypath)
53
print(basf2.statistics)
variables.std_vector
def std_vector(*args)
Definition:
__init__.py:27
variables.collections
Definition:
collections.py:1
analysis
examples
VariableManager
usingCollections.py
Generated on Thu Dec 28 2023 02:17:35 for Belle II Software by
1.9.1