15    Wrapper around the variable manager class. 
   16    This is necessary for avoiding to import ROOT globally when 'variables' is imported. 
   22        Return an instance to the variable manager. 
   26        instance = ROOT.Belle2.Variable.Manager.Instance()
 
 
   31        Wrapper around Manager::getVariable(std::string name) and 
   32        Manager::getVariable(const std::string& functionName, const std::vector<std::string>& functionArguments). 
   34        instance = PythonVariableManager._instance()
 
   35        return instance.getVariable(*args)
 
 
   39        Wrapper around Manager::getVariables(const std::vector<std::string>& variables) and 
   40        Manager::getVariables(). 
   42        instance = PythonVariableManager._instance()
 
   43        return instance.getVariables(*args)
 
 
   47        Wrapper around Manager::addAlias(const std::string& alias, const std::string& variable). 
   49        instance = PythonVariableManager._instance()
 
   50        assert (instance.addAlias(alias, variable))
 
 
   55        Wrapper around Manager::printAliases(). 
   57        instance = PythonVariableManager._instance()
 
   58        instance.printAliases()
 
 
   62        Wrapper around Manager::clearAliases(). 
   64        instance = PythonVariableManager._instance()
 
   65        instance.clearAliases()
 
 
   69        Wrapper around Manager::resolveAlias(const std::string& alias). 
   71        instance = PythonVariableManager._instance()
 
   72        return instance.resolveAlias(alias)
 
 
   76        Wrapper around Manager::addCollection(const std::string& collection, const std::vector<std::string>& variables) 
   78        instance = PythonVariableManager._instance()
 
   79        assert (instance.addCollection(*args))
 
 
   83        Wrapper around Manager::getCollection(const std::string& collection). 
   85        instance = PythonVariableManager._instance()
 
   86        return instance.getCollection(collection)
 
 
   90        Wrapper around Manager::resolveCollections(const std::vector<std::string>& variables). 
   92        instance = PythonVariableManager._instance()
 
   93        return instance.resolveCollections(*args)
 
 
   97        Wrapper around Manager::checkDeprecatedVariable(const std::string& name). 
   99        instance = PythonVariableManager._instance()
 
  100        instance.checkDeprecatedVariable(variable)
 
 
  104        Wrapper around Manager::evaluate(const std::string& varName, const Particle* p). 
  106        instance = PythonVariableManager._instance()
 
  107        return instance.evaluate(variable, particle)
 
 
  111        Wrapper around Manager::evaluateVariables(const std::vector<std::string>& varNames, const ParticleList* plist). 
  113        instance = PythonVariableManager._instance()
 
  114        return instance.evaluateVariables(variables, plist.obj())
 
 
  118        Wrapper around Manager::getNames(). 
  120        instance = PythonVariableManager._instance()
 
  121        return instance.getNames()
 
 
  125        Wrapper around Manager::getAliasNames(). 
  127        instance = PythonVariableManager._instance()
 
  128        return instance.getAliasNames()
 
 
  132        Wrapper around Manager::assertValidName(const std::string& name). 
  134        instance = PythonVariableManager._instance()
 
  135        instance.assertValidName(variable)
 
 
 
  142def std_vector(*args):
 
  144    Creates an std::vector which can be passed to pyROOT 
  148    v = ROOT.std.vector(type(args[0]))()
 
  154def getCommandLineOptions():
 
  155    """ Parses the command line options and returns the corresponding arguments. """ 
  156    parser = argparse.ArgumentParser()
 
  157    parser.add_argument(
'--no-pager', dest=
'pager', default=
True, action=
'store_false',
 
  158                        help=
'Use a pager to show output or print to terminal.')
 
  159    args = parser.parse_args()
 
  163def printVars(changedVariableNames=None, listVars=None):
 
  165    Print list of all available variables. 
  168    if changedVariableNames:
 
  169        print(changedVariableNames)
 
  170    print(
'Available variables in Variable::Manager:')
 
  173        listVars = variables.getVariables()
 
  175        listVars = [variables.getVariable(name) 
for name 
in listVars]
 
  177    dict_VariableDataType = {0: 
'double', 1: 
'int', 2: 
'bool'}
 
  181        vars.append((v.group, v.name, v.description,
 
  182                     dict_VariableDataType[v.variabletype]))
 
  186    for (group, name, description, vartype) 
in sorted(vars):
 
  187        if current_group != group:
 
  188            current_group = group
 
  190        rows.append([name, description, vartype])
 
  191    b2utils.pretty_print_description_list(rows)
 
  194def printVariableType(listVars=None):
 
  196    if isinstance(listVars, str):
 
  197        listVars = [listVars]
 
  199    dict_VariableDataType = {0: 
'double', 1: 
'int', 2: 
'bool'}
 
  201    for var_name 
in listVars:
 
  202        var = variables.getVariable(var_name)
 
  203        print(f
"{var_name}: {dict_VariableDataType[var.variabletype]}")
 
  208    Return all PSNM trigger bit names 
  212    bits = ROOT.Belle2.PyDBObj(
'TRGGDLDBFTDLBits')
 
  213    evt = ROOT.Belle2.EventMetaData()
 
  214    ROOT.Belle2.DBStore.Instance().update(evt)
 
  215    size = ROOT.Belle2.TRGSummary.c_ntrgWords * ROOT.Belle2.TRGSummary.c_trgWordSize
 
  216    return [bits.getoutbitname(i) 
for i 
in range(size) 
if bits.getoutbitname(i) != 
'']
 
checkDeprecatedVariable(self, variable)
addAlias(self, alias, variable)
getCollection(self, collection)
assertValidName(self, variable)
evaluate(self, variable, particle)
evaluateVariables(self, variables, plist)
getVariables(self, *args)
resolveAlias(self, alias)
addCollection(self, *args)
resolveCollections(self, *args)