22void customize(std::vector<ConfigParamSpec>& workflowOptions)
26 std::vector<ConfigParamSpec> options{
27 {
"rangeIDC", VariantType::Int, 200, {
"Number of 1D-IDCs which will be used for the calculation of the fourier coefficients. TODO ALREADY SET IN ABERAGEGROUP"}},
28 {
"nFourierCoeff", VariantType::Int, 60, {
"Number of fourier coefficients (real+imag) which will be stored in the CCDB. The maximum can be 'rangeIDC + 2'."}},
29 {
"nthreads", VariantType::Int, 1, {
"Number of threads which will be used during the calculation of the fourier coefficients."}},
30 {
"inputLanes", VariantType::Int, 2, {
"Number of expected input lanes."}},
31 {
"sendOutput", VariantType::Bool,
false, {
"send fourier coefficients"}},
32 {
"use-naive-fft", VariantType::Bool,
false, {
"using naive fourier transform (true) or FFTW (false)"}},
33 {
"process-SACs", VariantType::Bool,
false, {
"Process SACs instead if IDCs"}},
34 {
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings"}}};
36 std::swap(workflowOptions, options);
49 const auto sendOutput = config.
options().
get<
bool>(
"sendOutput");
50 const bool fft = config.
options().
get<
bool>(
"use-naive-fft");
51 const bool processSACs = config.
options().
get<
bool>(
"process-SACs");
52 const auto rangeIDC =
static_cast<unsigned int>(config.
options().
get<
int>(
"rangeIDC"));
53 const auto nFourierCoeff = std::clamp(
static_cast<unsigned int>(config.
options().
get<
int>(
"nFourierCoeff")),
static_cast<unsigned int>(0), rangeIDC + 2);
54 const auto nthreadsFourier =
static_cast<unsigned long>(config.
options().
get<
int>(
"nthreads"));
57 const auto inputLanes = config.
options().
get<
int>(
"inputLanes");
static void writeINI(std::string const &filename, std::string const &keyOnly="")
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
Global TPC definitions and constants.
DataProcessorSpec getTPCFourierTransformAggregatorSpec(const unsigned int rangeIDC, const unsigned int nFourierCoefficientsStore, const bool senddebug, const bool processSACs, const int inputLanes)
std::string to_string(gsl::span< T, Size > span)