 |
Belle II Software
release-05-02-19
|
13 #include <analysis/DecayDescriptor/DecayDescriptor.h>
124 VarBase(
const std::string& n,
const std::string& d,
const std::string& g)
132 Var(
const std::string& n,
FunctionPtr f,
const std::string& d,
const std::string& g =
"")
164 std::vector<const Belle2::Variable::Manager::Var*>
getVariables(
const std::vector<std::string>& variables);
169 bool addAlias(
const std::string& alias,
const std::string& variable);
179 bool addCollection(
const std::string& collection,
const std::vector<std::string>& variables);
184 std::vector<std::string>
getCollection(
const std::string& collection);
189 std::vector<std::string>
resolveCollections(
const std::vector<std::string>& variables);
214 std::vector<std::string>
getNames()
const;
238 std::map<std::string, std::string>
m_alias;
242 std::map<std::string, std::shared_ptr<Var>>
m_variables;
273 explicit GroupProxy(
const std::string& groupName)
280 std::function<T> make_function(T* t)
289 #define VARMANAGER_CONCATENATE_DETAIL(x, y) x##y
293 #define VARMANAGER_CONCATENATE(x, y) VARMANAGER_CONCATENATE_DETAIL(x, y)
297 #define VARMANAGER_MAKE_UNIQUE(x) VARMANAGER_CONCATENATE(x, __LINE__)
304 #define REGISTER_VARIABLE(name, function, description) \
305 static Proxy VARMANAGER_MAKE_UNIQUE(_variableproxy)(std::string(name), Belle2::Variable::make_function(function), std::string(description));
312 #define VARIABLE_GROUP(groupName) \
313 static GroupProxy VARMANAGER_MAKE_UNIQUE(_variablegroupproxy)(groupName);
void registerVariable(const std::string &name, const Manager::FunctionPtr &f, const std::string &description)
Register a variable.
A variable returning a floating-point value for a given Particle.
bool createVariable(const std::string &name)
Creates and registers a concrete variable (Var) from a MetaVar, ParameterVar or numeric constant.
std::vector< std::string > getNames() const
Return list of all variable names (in order registered).
Var(const std::string &n, FunctionPtr f, const std::string &d, const std::string &g="")
ctor
const Var * getVariable(std::string name)
Get the variable belonging to the given key.
std::vector< const VarBase * > m_variablesInRegistrationOrder
List of variables in registration order.
std::map< std::string, std::shared_ptr< MetaVar > > m_meta_variables
List of registered meta variables.
Internal class that registers a variable with Manager when constructed.
std::map< std::string, std::string > m_alias
List of registered aliases.
std::string m_currentGroup
Group last set via VARIABLE_GROUP().
std::vector< const Belle2::Variable::Manager::VarBase * > getVariables() const
Return list of all variables (in order registered).
VarBase(const std::string &n, const std::string &d, const std::string &g)
ctor
bool addAlias(const std::string &alias, const std::string &variable)
Add alias Return true if the alias was successfully added.
std::map< std::string, std::vector< std::string > > m_collection
List of registered collections.
Particle Object
Typedef for the cut, that we use Particles as outr base objects.
FunctionPtr function
Pointer to function.
void printAliases()
Print existing aliases.
double evaluate(const std::string &varName, const Particle *p)
evaluate variable 'varName' on given Particle.
std::function< double(const Particle *, const std::vector< double > &)> ParameterFunctionPtr
parameter functions stored take a const Particle*, const std::vector<double>& and return double.
ParameterVar(const std::string &n, ParameterFunctionPtr f, const std::string &d, const std::string &g="")
ctor
std::string name
Unique identifier of the function, used as key.
Abstract base class for different kinds of events.
std::function< double(const Particle *)> FunctionPtr
NOTE: the python interface is documented manually in analysis/doc/Variables.rst (because we use ROOT ...
std::string group
Associated group.
bool addCollection(const std::string &collection, const std::vector< std::string > &variables)
Add collection Return true if the collection was successfully added.
std::map< std::string, std::shared_ptr< ParameterVar > > m_parameter_variables
List of registered parameter variables.
void setVariableGroup(const std::string &groupName)
All variables registered after VARIABLE_GROUP(groupName) will be added to this group.
std::function< FunctionPtr(const std::vector< std::string > &)> MetaFunctionPtr
meta functions stored take a const std::vector<std::string>& and return a FunctionPtr.
std::map< std::string, std::shared_ptr< Var > > m_variables
List of registered variables.
std::vector< std::string > getAliasNames() const
Return a list of all variable alias names (in reverse order added).
std::vector< std::string > resolveCollections(const std::vector< std::string > &variables)
Resolve Collection Returns variable names corresponding to the given collection or if it is not a col...
Class to store reconstructed particles.
Base class for information common to all types of variables.
void assertValidName(const std::string &name)
Abort with B2FATAL if name is not a valid name for a variable.
ParameterFunctionPtr function
Pointer to function.
Proxy(const std::string &name, Manager::FunctionPtr f, const std::string &description)
constructor.
A variable taking additional floating-point arguments to influence the behaviour.
GroupProxy(const std::string &groupName)
constructor.
std::string description
Description of what this function does.
std::vector< std::string > getCollection(const std::string &collection)
Get Collection Returns variable names corresponding to the given collection.
Global list of available variables.
static Manager & Instance()
get singleton instance.