@@ -283,6 +283,10 @@ TObject* CcdbDatabase::retrieveTObject(std::string path, std::map<std::string, s
283283 auto * object = ccdbApi->retrieveFromTFileAny <TObject>(path, metadata, timestamp, headers);
284284 if (object == nullptr ) {
285285 ILOG (Warning, Support) << " We could NOT retrieve the object " << path << " with timestamp " << timestamp << " ." << ENDM;
286+ ILOG (Debug, Support) << " and with metadata:" << ENDM;
287+ for (auto [metaKey, metaVal] : metadata) {
288+ ILOG (Debug, Support) << metaKey << " , " << metaVal << ENDM;
289+ }
286290 return nullptr ;
287291 }
288292 ILOG (Debug, Support) << " Retrieved object " << path << " with timestamp " << timestamp << ENDM;
@@ -307,11 +311,14 @@ void* CcdbDatabase::retrieveAny(const type_info& tinfo, const string& path, cons
307311 return object;
308312}
309313
310- std::shared_ptr<o2::quality_control::core::MonitorObject> CcdbDatabase::retrieveMO (std::string objectPath, std::string objectName, long timestamp, const core::Activity& activity)
314+ std::shared_ptr<o2::quality_control::core::MonitorObject> CcdbDatabase::retrieveMO (std::string objectPath, std::string objectName,
315+ long timestamp, const core::Activity& activity,
316+ const std::map<std::string, std::string>& metadataToRetrieve)
311317{
312318 string fullPath = activity.mProvenance + " /" + objectPath + " /" + objectName;
313319 map<string, string> headers;
314320 map<string, string> metadata = activity_helpers::asDatabaseMetadata (activity, false );
321+ metadata.insert (metadataToRetrieve.begin (), metadataToRetrieve.end ());
315322 TObject* obj = retrieveTObject (fullPath, metadata, timestamp, &headers);
316323
317324 // no object found
@@ -348,10 +355,13 @@ std::shared_ptr<o2::quality_control::core::MonitorObject> CcdbDatabase::retrieve
348355 return mo;
349356}
350357
351- std::shared_ptr<o2::quality_control::core::QualityObject> CcdbDatabase::retrieveQO (std::string qoPath, long timestamp, const core::Activity& activity)
358+ std::shared_ptr<o2::quality_control::core::QualityObject> CcdbDatabase::retrieveQO (std::string qoPath, long timestamp,
359+ const core::Activity& activity,
360+ const std::map<std::string, std::string>& metadataToRetrieve)
352361{
353362 map<string, string> headers;
354363 map<string, string> metadata = activity_helpers::asDatabaseMetadata (activity, false );
364+ metadata.insert (metadataToRetrieve.begin (), metadataToRetrieve.end ());
355365 auto fullPath = activity.mProvenance + " /" + qoPath;
356366 TObject* obj = retrieveTObject (fullPath, metadata, timestamp, &headers);
357367 if (obj == nullptr ) {
0 commit comments