28void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
31 std::vector<o2::framework::ConfigParamSpec> options;
32 options.push_back(
ConfigParamSpec{
"onlyDet", VariantType::String, std::string{
DetID::NONE}, {
"comma separated list of detectors to accept. Overrides skipDet"}});
33 options.push_back(
ConfigParamSpec{
"skipDet", VariantType::String, std::string{
DetID::NONE}, {
"comma separate list of detectors to skip"}});
34 options.push_back(
ConfigParamSpec{
"output-type", VariantType::String,
"ctf", {
"output types: ctf (per TF) or dict (create dictionaries) or both or none"}});
35 options.push_back(
ConfigParamSpec{
"ctf-writer-verbosity", VariantType::Int, 0, {
"verbosity level (0: summary per detector, 1: summary per block"}});
36 options.push_back(
ConfigParamSpec{
"report-data-size-interval", VariantType::Int, 200, {
"report sizes per detector for every N-th timeframe"}});
37 options.push_back(
ConfigParamSpec{
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings"}});
38 std::swap(workflowOptions, options);
41void customize(std::vector<o2::framework::CompletionPolicy>& policies)
54 std::string outType{};
65 throw std::invalid_argument(
"Invalid workflow: no detectors found");
67 outType = configcontext.
options().
get<std::string>(
"output-type");
70 configcontext.
options().
get<
int>(
"ctf-writer-verbosity"),
71 configcontext.
options().
get<
int>(
"report-data-size-interval"))};
72 return std::move(specs);
Definition of the Names Generator class.
static void updateFromString(std::string const &)
Static class with identifiers, bitmasks and names for ALICE detectors.
static constexpr std::string_view NONE
keywork for no-detector
static mask_t getMask(const std::string_view detList)
detector masks from any non-alpha-num delimiter-separated list (empty if NONE is supplied)
bool helpOnCommandLine() const
ConfigParamRegistry & options() const
T get(const char *key) const
void customize(std::vector< o2::framework::ConfigParamSpec > &workflowOptions)
WorkflowSpec defineDataProcessing(ConfigContext const &configcontext)
framework::DataProcessorSpec getCTFWriterSpec(o2::detectors::DetID::mask_t dets, const std::string &outType, int verbosity, int reportInterval)
create a processor spec
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
static CompletionPolicy consumeWhenAllOrdered(const char *name, CompletionPolicy::Matcher matcher)
as consumeWhenAll, but ensures that records are processed with incremental timeSlice (DataHeader::sta...