51 m_config.setTypeAndName (typeAndName);
58 if (
m_config.setProperty (key, std::forward<T> (value)).isFailure())
59 throw std::runtime_error (
"failed to set property: " + key);
73 throw std::runtime_error (
"failed to create tool");
81 throw std::runtime_error (
"The tool does not implement IColumnarTool. First, check to make sure you're in the ColumnarAnalysis release. Then, check to see if the tool inherits from ColumnarTool.");
91 auto columnInfo =
m_tool->getColumnInfo ();
92 for (
auto& [from, to] : renames)
94 for (
auto& column : columnInfo)
96 if (column.name.starts_with (from) && (column.name.size() == from.size() || column.name[from.size()] ==
'.'))
98 std::string newName = to + column.name.substr (from.size());
99 m_tool->renameColumn (column.name, newName);
106 auto columnHeader = std::make_shared<ColumnVectorHeader> ();
119 auto columnHeader = std::make_shared<ColumnVectorHeader> ();
133 throw std::runtime_error (
"failed to apply systematic variation");
137 template<
typename CT>
138 void setColumn (
const std::string& key, std::size_t size, CT* dataPtr)
141 throw std::runtime_error (
"tool not initialized");
146 void setColumnVoid (
const std::string& name, std::size_t size,
const void *dataPtr,
const std::type_info&
type,
bool isConst) {
148 throw std::runtime_error (
"tool not initialized");
156 throw std::runtime_error (
"no columns set");
166 throw std::runtime_error (
"tool not initialized");
167 return m_tool->getColumnInfo ();
174 throw std::runtime_error (
"tool not initialized");
183 std::vector<std::string>
result;
185 result.push_back (sys.name());
Class to wrap a set of SystematicVariations.
Class mimicking the AthMessaging class from the offline software.
AsgMessaging(const std::string &name)
Constructor with a name.
std::vector< CP::SystematicSet > make_systematics_vector(const SystematicSet &systematics)
utility functions for working with systematics