Belle II Software  release-06-02-00
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)
def std_vector(*args)
Definition: __init__.py:27