23void customize(std::vector<ConfigParamSpec>& workflowOptions)
27 std::vector<ConfigParamSpec> options{
28 {
"configFile", VariantType::String,
"", {
"configuration file for configurable parameters"}},
29 {
"timeframes", VariantType::Int, 2000, {
"Number of TFs which will be aggregated per aggregation interval."}},
30 {
"nthreads-SAC-factorization", VariantType::Int, 1, {
"Number of threads which will be used during the factorization of the SACs."}},
31 {
"debug", VariantType::Bool,
false, {
"create debug files"}},
32 {
"compression", VariantType::Int, 1, {
"compression of DeltaSAC: 0 -> No, 1 -> Medium (data compression ratio 2), 2 -> High (data compression ratio ~6)"}},
33 {
"input-lanes", VariantType::Int, 2, {
"Number of parallel pipelines which were set in the TPCDistributeSACSpec device."}},
34 {
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings"}}};
36 std::swap(workflowOptions, options);
50 const auto timeframes =
static_cast<unsigned int>(config.
options().
get<
int>(
"timeframes"));
52 const auto nthreadsFactorization =
static_cast<unsigned long>(config.
options().
get<
int>(
"nthreads-SAC-factorization"));
54 const auto nLanes =
static_cast<unsigned int>(config.
options().
get<
int>(
"input-lanes"));
56 const int compressionTmp = config.
options().
get<
int>(
"compression");
58 switch (compressionTmp) {
59 case static_cast<int>(SACFactorization::SACDeltaCompression::NO):
60 case static_cast<int>(SACFactorization::SACDeltaCompression::MEDIUM):
61 case static_cast<int>(SACFactorization::SACDeltaCompression::HIGH):
65 LOGP(error,
"wrong compression type set. Setting compression to medium compression");
71 workflow.reserve(nLanes);
72 for (
int ilane = 0; ilane < nLanes; ++ilane) {
TPC factorization of SACs.
TPC factorization of SACs.
static void writeINI(std::string const &filename, std::string const &keyOnly="")
static void updateFromFile(std::string const &, std::string const ¶msList="", bool unchangedOnly=false)
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
static void setNThreads(const int nThreads)
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
Global TPC definitions and constants.
DataProcessorSpec getTPCFactorizeSACSpec(const int lane, const unsigned int timeframes, const SACFactorization::SACFactorization::SACDeltaCompression compression, const bool debug)
IDCDeltaCompression
IDC Delta IDC Compression types.
std::string to_string(gsl::span< T, Size > span)
WorkflowSpec defineDataProcessing(ConfigContext const &config)
This function hooks up the the workflow specifications into the DPL driver.
void customize(std::vector< ConfigParamSpec > &workflowOptions)