50 auto feeIdConfigFilename = cfgc.
options().
get<std::string>(
"feeId-config-file");
52 if (!feeIdConfigFilename.empty()) {
55 auto crateMasksFilename = cfgc.
options().
get<std::string>(
"crate-masks-file");
57 if (!crateMasksFilename.empty()) {
60 auto electronicsDelayFilename = cfgc.
options().
get<std::string>(
"electronics-delay-file");
62 if (!electronicsDelayFilename.empty()) {
66 bool perGBT = cfgc.
options().
get<
bool>(
"per-gbt");
68 bool perFeeId = cfgc.
options().
get<
bool>(
"per-feeId");
70 std::vector<uint32_t> gbtIds = feeIdConfig.getConfiguredLinkUniqueIDs();
71 std::vector<uint16_t> feeIds;
72 for (
auto& gbtId : gbtIds) {
73 feeIds.emplace_back(feeIdConfig.getGBTUniqueId(gbtId));
77 if (perGBT || perFeeId) {
83 templateSpecs, gbtIds.size(),
84 [&gbtIds]() { return gbtIds.size(); },
85 [&gbtIds, &feeIdConfig, perFeeId](
size_t index) { return perFeeId ? feeIdConfig.getGBTUniqueId(gbtIds[index]) : gbtIds[index]; });
86 specs.insert(specs.end(), parallelSpecs.begin(), parallelSpecs.end());
ConfigParamRegistry & options() const