From fd9761430e94c3570c52a37f0deeb55408639e8d Mon Sep 17 00:00:00 2001
From: "s.zharko@gsi.de" <s.zharko@gsi.de>
Date: Mon, 5 Feb 2024 16:04:18 +0100
Subject: [PATCH] [BugFix]: replace of TFile::FindObjectAny with TFile::Get in
 the QA-Checker framework

---
 core/qa/checker/CbmQaCheckerFileHandler.cxx | 15 +--------------
 core/qa/checker/CbmQaCheckerFileHandler.h   |  7 -------
 2 files changed, 1 insertion(+), 21 deletions(-)

diff --git a/core/qa/checker/CbmQaCheckerFileHandler.cxx b/core/qa/checker/CbmQaCheckerFileHandler.cxx
index 592c91c100..140c24f711 100644
--- a/core/qa/checker/CbmQaCheckerFileHandler.cxx
+++ b/core/qa/checker/CbmQaCheckerFileHandler.cxx
@@ -101,7 +101,7 @@ void FileHandler::Process(Option_t* opt)
     bool skipObj = false;
     for (int iVer = 0; iVer < nVersions; ++iVer) {
       auto* pInputFile = static_cast<TFile*>(fpInputFiles->At(iVer));
-      vpObjects[iVer]  = ReadObjectFromFile(pInputFile, fpObjDB->GetObject(fFileID, iObj));
+      vpObjects[iVer]  = pInputFile->Get<TNamed>(fpObjDB->GetObject(fFileID, iObj).c_str());
       if (!vpObjects[iVer]) {
         LOG(warn) << "FileHandler: object " << fpObjDB->GetObject(fFileID, iObj) << " is undefined for version "
                   << fpObjDB->GetVersionLabel(iVer) << ". This object will be skipped";
@@ -180,16 +180,3 @@ void FileHandler::Process(Option_t* opt)
 
   }  // iObj
 }
-
-// ---------------------------------------------------------------------------------------------------------------------
-//
-TNamed* FileHandler::ReadObjectFromFile(TFile* pFile, const std::string& path) const
-{
-  int iPosSlash        = path.find_last_of('/') + 1;
-  std::string baseName = path.substr(iPosSlash, path.size());
-  std::string pathName = path.substr(0, iPosSlash);
-  if (pathName.size() > 0) {
-    pFile->cd(pathName.c_str());
-  }
-  return dynamic_cast<TNamed*>(pFile->FindObjectAny(baseName.c_str()));
-}
diff --git a/core/qa/checker/CbmQaCheckerFileHandler.h b/core/qa/checker/CbmQaCheckerFileHandler.h
index aa3235202d..580fae408f 100644
--- a/core/qa/checker/CbmQaCheckerFileHandler.h
+++ b/core/qa/checker/CbmQaCheckerFileHandler.h
@@ -71,13 +71,6 @@ namespace cbm::qa::checker
     /// @return  Pointer to created TDirectory object
     TDirectory* CreateNestedDirectory(const std::string& path);
 
-    /// @brief Iteratively reads object from file by the provided full path to the object
-    /// @param pFile  Pointer to TFile instance
-    /// @param path   Full path to the object inside the file
-    /// @return A pointer to TNamed object
-    TNamed* ReadObjectFromFile(TFile* pFile, const std::string& path) const;
-
-
     int fFileID    = -1;  ///< Index of file
     int fDatasetID = -1;  ///< Index of dataset
 
-- 
GitLab