Belle II Software  release-05-02-19
variablesToNtuple.py
1 #!/usr/bin/env python3
2 
3 # The VariablesToNtuple module saves variables from the VariableManager
4 # to a candidate-based (or event-based) TTree
5 #
6 # Thomas Keck and Sam Cunliffe
7 #
8 # For full documentation please refer to https://software.belle2.org
9 # Anything unclear? Ask questions at https://questions.belle2.org
10 
11 import basf2
12 import modularAnalysis as ma # a shorthand for the analysis tools namespace
13 
14 mypath = basf2.Path() # create a new path
15 
16 # add input data and ParticleLoader modules to the path
17 ma.inputMdstList('default', [basf2.find_file('analysis/tests/mdst.root')], path=mypath)
18 ma.fillParticleLists([('K-', 'kaonID > 0.2'), ('pi+', 'pionID > 0.2')], path=mypath)
19 ma.reconstructDecay('D0 -> K- pi+', '1.750 < M < 1.95', path=mypath)
20 ma.matchMCTruth('D0', path=mypath)
21 
22 # Add the VariablesToNtuple module explicitly.
23 # This will write out one row per candidate in the D0 list
24 mypath.add_module('VariablesToNtuple',
25  particleList='D0',
26  variables=['dM', 'isSignal', 'mcErrors', 'p', 'E',
27  'daughter(0, kaonID)', 'daughter(1, pionID)'],
28  fileName='CandidateVariables.root')
29 
30 # Add another instance of the VariablesToNtuple module.
31 # If the particle list is empty one row per event is written to the Ntuple,
32 # but all the variables to specify have to be event-based
33 mypath.add_module('VariablesToNtuple',
34  particleList='',
35  variables=['nTracks', 'isMC', 'year'],
36  fileName='EventVariables.root')
37 
38 # you might also like to uncomment the following, and read the help for the
39 # convenient wrapper function:
40 # print(help(ma.variablesToNtuple))
41 
42 # process the data
43 basf2.process(mypath)
44 print(basf2.statistics)
basf2.process
def process(path, max_event=0)
Definition: __init__.py:25