26void customize(std::vector<o2::framework::CallbacksPolicy>& policies)
33void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
37 std::vector<ConfigParamSpec> options{
38 {
"input-type", VariantType::String,
"clusters", {
"clusters, tracks"}},
39 {
"disable-mc", VariantType::Bool,
false, {
"disable sending of MC information"}},
40 {
"configKeyValues", VariantType::String,
"", {
"semicolon separated key=value strings"}}};
42 std::swap(workflowOptions, options);
53const std::unordered_map<std::string, InputType>
InputMap{
64 auto inputType = cfgc.
options().
get<std::string>(
"input-type");
65 bool doMC = not cfgc.
options().
get<
bool>(
"disable-mc");
67 std::vector<InputType> inputTypes;
69 inputTypes = o2::RangeTokenizer::tokenize<InputType>(inputType, [](std::string
const& token) {
return InputMap.at(token); });
70 }
catch (std::out_of_range&) {
71 throw std::invalid_argument(std::string(
"invalid input type: ") + inputType);
74 return std::find(inputTypes.begin(), inputTypes.end(),
type) != inputTypes.end();
79 if (!getenv(
"DPL_DISABLE_TPC_TRIGGER_READER") || atoi(getenv(
"DPL_DISABLE_TPC_TRIGGER_READER")) != 1) {
94 return std::move(specs);
Device to produce TPC clusters sharing map.
A const (ready only) version of MCTruthContainer.
WorkflowSpec defineDataProcessing(ConfigContext const &cfgc)
This function hooks up the the workflow specifications into the DPL driver.
const std::unordered_map< std::string, InputType > InputMap
void customize(std::vector< o2::framework::CallbacksPolicy > &policies)
A special IO container - splitting a given vector to enable ROOT IO.
Helper function to tokenize sequences and ranges of integral numbers.
ConfigParamRegistry & options() const
T get(const char *key) const
GLint GLint GLsizei GLint GLenum GLenum type
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
framework::DataProcessorSpec getClusterReaderSpec(bool useMC, const std::vector< int > *tpcSectors=nullptr, const std::vector< int > *laneConfiguration=nullptr)
framework::DataProcessorSpec getTPCTrackReaderSpec(bool useMC=true)
o2::framework::DataProcessorSpec getClusterSharingMapSpec()
framework::DataProcessorSpec getTPCTriggerReaderSpec()
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))