From f1b4a1d4d76f83fc0bee83bb6beda1b77fb26ce8 Mon Sep 17 00:00:00 2001
From: Florian Uhlig <f.uhlig@gsi.de>
Date: Thu, 11 Feb 2021 17:46:12 +0100
Subject: [PATCH] mvd: Add gFile + gDirectory protection

---
 mvd/CbmMvdPileupManager.cxx | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/mvd/CbmMvdPileupManager.cxx b/mvd/CbmMvdPileupManager.cxx
index 766fc7aac4..8813f5a2db 100644
--- a/mvd/CbmMvdPileupManager.cxx
+++ b/mvd/CbmMvdPileupManager.cxx
@@ -74,7 +74,10 @@ Int_t CbmMvdPileupManager::FillBuffer(TString fileName,
   fBuffer->Delete();
 
   TClonesArray* pointArray = NULL;
-  TFile* saveGFile         = gFile;
+
+  /// Save old global file and folder pointer to avoid messing with FairRoot
+  TFile* oldFile     = gFile;
+  TDirectory* oldDir = gDirectory;
 
   TFile* bgfile = new TFile(fileName);
   if (!bgfile) {
@@ -113,7 +116,10 @@ Int_t CbmMvdPileupManager::FillBuffer(TString fileName,
   delete bgtree;
   bgfile->Close();
   delete bgfile;
-  saveGFile->cd();
+
+  /// Restore old global file and folder pointer to avoid messing with FairRoot
+  gFile      = oldFile;
+  gDirectory = oldDir;
 
   return nBuffer;
 }
-- 
GitLab