Belle II Software  release-06-02-00
variables_python.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 from variables import printVars
13 from variables import std_vector
14 from variables import variables as v
15 # used in FEI
16 import ROOT
17 
18 # some variables should be there
19 assert len(v.getVariables()) > 0
20 
21 printVars()
22 
23 var = v.getVariable('M')
24 assert 'M' == var.name
25 print(var.description)
26 
27 v.addAlias('sigProb', 'extraInfo(SignalProbability)')
28 var = v.getVariable('sigProb')
29 assert 'extraInfo(SignalProbability)' == var.name
30 
31 assert (v.evaluate('constant(123)', ROOT.nullptr) - 123) < 0.001
32 
33 v.addAlias('anotherAlias', 'daughter(1, p)')
34 
35 for vn in v.getAliasNames():
36  assert (vn == 'sigProb' or vn == 'anotherAlias')
37 
38 assert 'extraInfo__boSignalProbability__bc' == ROOT.Belle2.makeROOTCompatible('extraInfo(SignalProbability)')
39 assert 'extraInfo(SignalProbability)' == ROOT.Belle2.invertMakeROOTCompatible('extraInfo__boSignalProbability__bc')
40 
41 v.addCollection('kin', std_vector('p', 'px', 'py', 'pz'))
42 vec = v.getCollection('kin')
43 assert vec[0] == 'p'
44 assert vec[1] == 'px'
45 assert vec[2] == 'py'
46 assert vec[3] == 'pz'