Class to wrap a set of SystematicVariations. More...
#include <SystematicSet.h>
Public Types | |
enum | MATCHTYPE { FULL, FULLORCONTINUOUS } |
description: match systematic or continuous version | |
typedef std::set < SystematicVariation > ::iterator | iterator |
construct with an std::initializer_list | |
typedef std::set < SystematicVariation > ::const_iterator | const_iterator |
Public Member Functions | |
SystematicSet () | |
construct an empty set | |
SystematicSet (const std::string &systematics) | |
construct set by splitting single systematics string | |
SystematicSet (const std::vector< std::string > &systematics) | |
construct by vector of systematic names | |
SystematicSet (const std::vector< SystematicVariation > &systematics) | |
construct by vector of SystematicVariation | |
const_iterator | begin () const |
description: const iterator to the beginning of the set | |
const_iterator | end () const |
description: const iterator to the end of the set | |
iterator | find (const SystematicVariation &sys) const |
description: find an element in the set | |
bool | empty () const |
returns: whether the set is empty | |
size_t | size () const |
returns: size of the set | |
void | insert (const SystematicVariation &systematic) |
description: insert a systematic into the set | |
void | insert (const SystematicSet &systematics) |
description: insert a systematic set into this set | |
void | swap (SystematicSet &otherSet) |
description: swap elements of a set | |
void | clear () |
description: clear the set | |
bool | matchSystematic (const SystematicVariation &systematic, MATCHTYPE type=FULL) const |
SystematicSet | filterByBaseName (const std::string &basename) const |
std::set< std::string > | getBaseNames () const |
description: get the set of base systematic names from this set | |
SystematicVariation | getSystematicByBaseName (const std::string &basename) const |
description: get the first systematic matching basename | |
float | getParameterByBaseName (const std::string &basename) const |
returns: the parameter value for the given basename | |
std::pair< unsigned, float > | getToyVariationByBaseName (const std::string &basename) const |
the toy variation for the given basename | |
std::string | name () const |
std::size_t | hash () const |
Static Public Member Functions | |
static SystematicCode | filterForAffectingSystematics (const SystematicSet &systConfig, const SystematicSet &affectingSystematics, SystematicSet &filteredSystematics) |
Class to wrap a set of SystematicVariations.
SystematicSet CP::SystematicSet::filterByBaseName | ( | const std::string & | basename | ) | const |
description: get the subset of systematics matching basename Should this return a SystematicCode instead?
SystematicCode CP::SystematicSet::filterForAffectingSystematics | ( | const SystematicSet & | systConfig, | |
const SystematicSet & | affectingSystematics, | |||
SystematicSet & | filteredSystematics | |||
) | [static] |
description: filter the systematics for the affected systematics returns: success guarantee: strong failures: out of memory II failures: requesting multiple variations on the same systematic (e.g. up & down) failures: requesting an unsupported variation on an otherwise supported systematic (e.g. a 2 sigma variation and the tool only supports 1 sigma variations)
std::pair< unsigned, float > CP::SystematicSet::getToyVariationByBaseName | ( | const std::string & | basename | ) | const |
the toy variation for the given basename
in case there is no toy variation for the given base name, this returns (0,0)
std::size_t CP::SystematicSet::hash | ( | ) | const |
returns: hash value for the joined string. Caches the hash if not already done
std::string CP::SystematicSet::name | ( | ) | const |
returns: the systematics joined into a single string. Caches the name if not already done