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