24void customize(std::vector<o2::framework::CallbacksPolicy>& policies)
30void customize(std::vector<ConfigParamSpec>& workflowOptions)
32 std::vector<ConfigParamSpec> options{{
"input-subspec", VariantType::UInt32, 1U, {
"Subspecification for input objects"}},
33 {
"output-subspec", VariantType::UInt32, 0U, {
"Subspecification for output objects"}},
34 {
"isMC", VariantType::Bool,
false, {
"Monte-Carlo mode"}},
35 {
"no-badchannelcalib", VariantType::Bool,
false, {
"Disable bad channel calibration"}},
36 {
"no-timecalib", VariantType::Bool,
false, {
"Disable time calibration"}},
37 {
"no-gaincalib", VariantType::Bool,
false, {
"Disable gain calibration"}},
38 {
"drop-led", VariantType::Bool,
false, {
"Drop LED events"}},
39 {
"redirect-led", VariantType::Bool,
false, {
"Redirect LED events"}},
40 {
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings"}}};
42 workflowOptions.insert(workflowOptions.end(), options.begin(), options.end());
50 auto disableBadchannels = cfgc.
options().
get<
bool>(
"no-badchannelcalib"),
51 disableTime = cfgc.
options().
get<
bool>(
"no-timecalib"),
52 disableEnergy = cfgc.
options().
get<
bool>(
"no-gaincalib");
55 auto inputsubspec = cfgc.
options().
get<uint32_t>(
"input-subspec"),
56 outputsubspec = cfgc.
options().
get<uint32_t>(
"output-subspec");
59 auto dropled = cfgc.
options().
get<
bool>(
"drop-led"),
60 redirectled = cfgc.
options().
get<
bool>(
"redirect-led");
62 if (dropled && redirectled) {
63 LOG(fatal) <<
"Ambiguous handling of LED events";
65 uint32_t ledsetting = 0;
WorkflowSpec defineDataProcessing(ConfigContext const &cfgc)
void customize(std::vector< o2::framework::CallbacksPolicy > &policies)
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
framework::DataProcessorSpec getCellRecalibratorSpec(uint32_t inputSubspec, uint32_t outputSubspec, uint32_t ledsettings, bool badChannelCalib, bool timeCalib, bool gainCalib, bool isMC)
Create CellRecalibrator processor spec.
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
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))
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"