diff --git a/Framework/src/PostProcessingConfig.cxx b/Framework/src/PostProcessingConfig.cxx index af431790db..197507f11f 100644 --- a/Framework/src/PostProcessingConfig.cxx +++ b/Framework/src/PostProcessingConfig.cxx @@ -27,7 +27,6 @@ PostProcessingConfig::PostProcessingConfig(const std::string& id, const boost::p moduleName(config.get("qc.postprocessing." + id + ".moduleName")), className(config.get("qc.postprocessing." + id + ".className")), detectorName(config.get("qc.postprocessing." + id + ".detectorName", "MISC")), - qcdbUrl(config.get("qc.config.database.implementation") == "CCDB" ? config.get("qc.config.database.host") : ""), ccdbUrl(config.get("qc.config.conditionDB.url", "")), consulUrl(config.get("qc.config.consul.url", "")), activity(config.get("qc.config.Activity.number", 0), @@ -40,6 +39,11 @@ PostProcessingConfig::PostProcessingConfig(const std::string& id, const boost::p matchAnyRunNumber(config.get("qc.config.postprocessing.matchAnyRunNumber", false)), critical(true) { + // if available, use the source repo as defined in the postprocessing task, otherwise the general QCDB + auto sourceRepo = config.get_child_optional("qc.postprocessing." + id + ".sourceRepo"); + auto databasePath = sourceRepo ? "qc.postprocessing." + id + ".sourceRepo" : "qc.config.database"; + qcdbUrl = config.get(databasePath + ".implementation") == "CCDB" ? config.get(databasePath + ".host") : ""; + for (const auto& initTrigger : config.get_child("qc.postprocessing." + id + ".initTrigger")) { initTriggers.push_back(initTrigger.second.get_value()); }