14#include <fmt/format.h>
34void customize(std::vector<o2::framework::CompletionPolicy>& policies)
41void customize(std::vector<ConfigParamSpec>& workflowOptions)
45 std::vector<ConfigParamSpec> options{
46 {
"input-spec", VariantType::String,
"A:TPC/RAWDATA", {
"selection string input specs"}},
47 {
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings (e.g.: 'TPCCalibPedestal.FirstTimeBin=10;...')"}},
48 {
"configFile", VariantType::String,
"", {
"configuration file for configurable parameters"}},
49 {
"crus", VariantType::String, crusDefault.c_str(), {
"List of TPC crus, comma separated ranges, e.g. 0-3,7,9-15"}},
52 std::swap(workflowOptions, options);
67 const std::string inputSpec = config.
options().
get<std::string>(
"input-spec");
69 const auto crus = o2::RangeTokenizer::tokenize<uint32_t>(config.
options().
get<std::string>(
"crus"));
Processor to convert IDCs to a vector for each pad in a CRU.
Helper function to tokenize sequences and ranges of integral numbers.
static void writeINI(std::string const &filename, std::string const &keyOnly="")
static void updateFromFile(std::string const &, std::string const ¶msList="", bool unchangedOnly=false)
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
Global TPC definitions and constants.
o2::framework::DataProcessorSpec getIDCToVectorSpec(const std::string inputSpec, std::vector< uint32_t > const &crus)
std::string to_string(gsl::span< T, Size > span)
static CompletionPolicy defineByName(std::string const &name, CompletionPolicy::CompletionOp op)
WorkflowSpec defineDataProcessing(ConfigContext const &config)
This function hooks up the the workflow specifications into the DPL driver.
void customize(std::vector< o2::framework::CompletionPolicy > &policies)