Belle II Software development
variablesToHistogram.py
1#!/usr/bin/env python3
2
3
10
11# The VariablesToHistogram module saves variables from the VariableManager
12# to TH1F and TH2F here is an example of how to use it.
13#
14# For full documentation please refer to https://software.belle2.org
15# Anything unclear? Ask questions at https://questions.belle2.org
16
17import basf2
18import modularAnalysis as ma # a shorthand for the analysis tools namespace
19
20mypath = basf2.Path() # create a new path
21
22# add input data and ParticleLoader modules to the path
23ma.inputMdstList([basf2.find_file('analysis/tests/mdst.root')], path=mypath)
24ma.fillParticleLists([('K-', 'kaonID > 0.2'), ('pi+', 'pionID > 0.2')], path=mypath)
25ma.reconstructDecay('D0 -> K- pi+', '1.750 < M < 1.95', path=mypath)
26ma.matchMCTruth('D0', path=mypath)
27
28# add the VariablesToHistogram module explicitly
29mypath.add_module('VariablesToHistogram',
30 particleList='D0',
31 variables=[('dM', 100, -2.0, 2.0),
32 ('isSignal', 2, -0.5, 1.5),
33 ('mcErrors', 1025, -0.5, 1024.5),
34 ('p', 1000, 0.0, 5.0),
35 ('E', 1000, 0.0, 5.0),
36 ('daughter(0, kaonID)', 100, 0.0, 1.0),
37 ('daughter(1, pionID)', 100, 0.0, 1.0)],
38 variables_2d=[('dM', 100, -2.0, 2.0, 'isSignal', 2, -0.5, 1.5),
39 ('p', 100, -2.0, 2.0, 'isSignal', 2, -0.5, 1.5),
40 ('dM', 100, -2.0, 2.0, 'mcErrors', 1025, -0.5, 1024.5)])
41
42# you might also like to uncomment the following, and read the help for the
43# convenient wrapper function:
44# print(help(ma.variablesToHistogram))
45
46# process the data
47basf2.process(mypath)
48print(basf2.statistics)