28#include <unordered_map>
32void customize(std::vector<o2::framework::CallbacksPolicy>& policies)
37void customize(std::vector<o2::framework::CompletionPolicy>& policies)
45void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
47 std::vector<o2::framework::ConfigParamSpec> options{
58 {
"subspecificationIn",
o2::framework::VariantType::Int, 0, {
"Subspecification for input in case the workflow runs in parallel on multiple nodes (i.e. different FLPs)"}},
59 {
"subspecificationOut",
o2::framework::VariantType::Int, 0, {
"Subspecification for output in case the workflow runs in parallel on multiple nodes (i.e. different FLPs)"}}};
61 std::swap(workflowOptions, options);
83 cfgc.
options().
get<
bool>(
"enable-digits-printer"),
85 cfgc.
options().
get<
int>(
"subspecificationOut"),
87 cfgc.
options().
get<std::string>(
"output-type"),
88 cfgc.
options().
get<
bool>(
"disable-root-input"),
89 cfgc.
options().
get<
bool>(
"disable-root-output"),
90 cfgc.
options().
get<
bool>(
"disable-decoding-errors"),
91 cfgc.
options().
get<
bool>(
"disable-trigger-reconstruction"));
Helper function to tokenize sequences and ranges of integral numbers.
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
o2::framework::WorkflowSpec defineDataProcessing(o2::framework::ConfigContext const &cfgc)
void customize(std::vector< o2::framework::CallbacksPolicy > &policies)
framework::WorkflowSpec getWorkflow(bool propagateMC=true, bool askDISTSTF=true, bool enableDigitsPrinter=false, int subspecificationIn=0, int subspecificationOut=0, std::string const &cfgInput="digits", std::string const &cfgOutput="clusters", bool disableRootInput=false, bool disableRootOutput=false, bool disableDecodingErrors=false, bool disableTriggerReconstruction=false)
create the workflow for EMCAL reconstruction
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...
static void addNewTimeSliceCallback(std::vector< o2::framework::CallbacksPolicy > &policies)
static void addConfigOption(std::vector< o2::framework::ConfigParamSpec > &opts, const std::string &defOpt=std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE))