34#include <unordered_map>
41void customize(std::vector<o2::framework::CallbacksPolicy>& policies)
51void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
55 std::vector<ConfigParamSpec> options{
56 {
"input-type", VariantType::String,
"tracks", {
"tracks"}},
57 {
"dispatching-mode", VariantType::String,
"prompt", {
"determines when to dispatch: prompt, complete"}},
58 {
"configKeyValues", VariantType::String,
"", {
"semicolon separated key=value strings"}},
59 {
"disable-mc", VariantType::Bool,
false, {
"disable sending of MC information"}}};
61 std::swap(workflowOptions, options);
65void customize(std::vector<o2::framework::DispatchPolicy>& policies)
69 auto readerMatcher = [](
auto const& spec) {
70 return std::regex_match(spec.name.begin(), spec.name.end(), std::regex(
".*-reader"));
72 auto triggerMatcher = [](
auto const& query) {
79 policies.push_back({
"prompt-for-reader", readerMatcher, DispatchOp::WhenReady, triggerMatcher});
93 auto inputType = cfgc.
options().
get<std::string>(
"input-type");
94 auto dispmode = cfgc.
options().
get<std::string>(
"dispatching-mode");
95 if (dispmode ==
"complete") {
98 }
else if (inputType ==
"tracks") {
102 bool doMC = not cfgc.
options().
get<
bool>(
"disable-mc");
108 return std::move(specs);
Helper function to tokenize sequences and ranges of integral numbers.
Workflow definition for the TPC reconstruction.
WorkflowSpec defineDataProcessing(ConfigContext const &cfgc)
This function hooks up the the workflow specifications into the DPL driver.
o2::tpc::reco_workflow::CompletionPolicyData gPolicyData
o2::framework::Output gDispatchTrigger
void customize(std::vector< o2::framework::CallbacksPolicy > &policies)
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
std::vector< framework::InputSpec > CompletionPolicyData
framework::DataProcessorSpec getTPCTrackReaderSpec(bool useMC=true)
header::DataDescription description
header::DataOrigin origin
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))