From 63b9fff6d7ee246820a9ac8c2a58c452808086cd Mon Sep 17 00:00:00 2001 From: Florian Uhlig <f.uhlig@gsi.de> Date: Thu, 11 Feb 2021 17:50:38 +0100 Subject: [PATCH] dielectron: Add gFile + gDirectory protection --- .../dielectron/lmvm/CbmAnaDielectronTaskDraw.cxx | 8 ++++++++ .../lmvm/CbmAnaDielectronTaskDrawAll.cxx | 10 +++++++++- .../dielectron/lmvm/CbmAnaLmvmDrawStudy.cxx | 16 ++++++++++++++++ .../papaframework/PairAnalysisSpectrum.cxx | 9 +++++++++ .../dielectron/pi0eta/CbmKresGammaCorrection.cxx | 9 +++++++++ 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/analysis/PWGDIL/dielectron/lmvm/CbmAnaDielectronTaskDraw.cxx b/analysis/PWGDIL/dielectron/lmvm/CbmAnaDielectronTaskDraw.cxx index 0b341d3d50..d762124037 100644 --- a/analysis/PWGDIL/dielectron/lmvm/CbmAnaDielectronTaskDraw.cxx +++ b/analysis/PWGDIL/dielectron/lmvm/CbmAnaDielectronTaskDraw.cxx @@ -59,6 +59,10 @@ void CbmAnaDielectronTaskDraw::DrawHistFromFile(const string& fileName, fCuts.SetDefaultCuts(); + /// Save old global file and folder pointer to avoid messing with FairRoot + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + fHM = new CbmHistManager(); TFile* file = new TFile(fileName.c_str()); fHM->ReadFromFile(file); @@ -94,6 +98,10 @@ void CbmAnaDielectronTaskDraw::DrawHistFromFile(const string& fileName, DrawPmtXY(); DrawMomLikeHist(); SaveCanvasToImage(); + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmAnaDielectronTaskDraw::DrawMomLikeHist() { diff --git a/analysis/PWGDIL/dielectron/lmvm/CbmAnaDielectronTaskDrawAll.cxx b/analysis/PWGDIL/dielectron/lmvm/CbmAnaDielectronTaskDrawAll.cxx index aad49e2288..0f9174e958 100644 --- a/analysis/PWGDIL/dielectron/lmvm/CbmAnaDielectronTaskDrawAll.cxx +++ b/analysis/PWGDIL/dielectron/lmvm/CbmAnaDielectronTaskDrawAll.cxx @@ -52,6 +52,10 @@ void CbmAnaDielectronTaskDrawAll::DrawHistosFromFile( fileNamePhi, fileNameOmegaDalitz}; + /// Save old global file and folder pointer to avoid messing with FairRoot + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + fHM.resize(fNofSignals); for (int i = 0; i < fNofSignals; i++) { fHM[i] = new CbmHistManager(); @@ -84,6 +88,10 @@ void CbmAnaDielectronTaskDrawAll::DrawHistosFromFile( DrawSBgVsMinv(); SaveHist(); SaveCanvasToImage(); + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } @@ -225,7 +233,7 @@ void CbmAnaDielectronTaskDrawAll::DrawMinv(CbmLmvmAnalysisSteps step) { if (fDrawQgp) sQgp->GetXaxis()->SetRangeUser(0, 2.); sPhi->GetXaxis()->SetRangeUser(0, 2.); - /* + /* if (step == kMc) { DrawH1({coctail, sPi0, sEta, sOmegaDalitz, sOmega, sInmed, sQgp, sPhi}, {"", "", "", "", "", "", "", ""}, kLinear, kLog, false, 0.8, 0.8, 0.99, 0.99); diff --git a/analysis/PWGDIL/dielectron/lmvm/CbmAnaLmvmDrawStudy.cxx b/analysis/PWGDIL/dielectron/lmvm/CbmAnaLmvmDrawStudy.cxx index e7d5d4a0d2..ddb8c901ab 100644 --- a/analysis/PWGDIL/dielectron/lmvm/CbmAnaLmvmDrawStudy.cxx +++ b/analysis/PWGDIL/dielectron/lmvm/CbmAnaLmvmDrawStudy.cxx @@ -40,6 +40,10 @@ void CbmAnaLmvmDrawStudy::DrawFromFile(const vector<string>& fileNames, const vector<string>& fileNamesMean, const vector<string>& studyNames, const string& outputDir) { + /// Save old global file and folder pointer to avoid messing with FairRoot + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + fOutputDir = outputDir; SetDefaultDrawStyle(); @@ -74,6 +78,10 @@ void CbmAnaLmvmDrawStudy::DrawFromFile(const vector<string>& fileNames, DrawDistributions("lmvm_study_source_pt_", "fh_source_pt_", kTtCut, kGamma); SaveCanvasToImage(); + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } TCanvas* CbmAnaLmvmDrawStudy::CreateCanvas(const string& name, @@ -121,6 +129,10 @@ void CbmAnaLmvmDrawStudy::SetAnalysisStepLabels(TH1* h) { } void CbmAnaLmvmDrawStudy::DrawMinv() { + /// Save old global file and folder pointer to avoid messing with FairRoot + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + vector<TH1*> hPtCut, hTtCut; hPtCut.resize(fMeanFiles.size()); hTtCut.resize(fMeanFiles.size()); @@ -160,6 +172,10 @@ void CbmAnaLmvmDrawStudy::DrawMinv() { for (int i = 0; i < fNofStudies; i++){ hbg[i]->SetLineWidth(3.); */ + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmAnaLmvmDrawStudy::DrawNofBgTracks() { diff --git a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisSpectrum.cxx b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisSpectrum.cxx index 44d2d83b46..c71335e94e 100644 --- a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisSpectrum.cxx +++ b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisSpectrum.cxx @@ -769,11 +769,20 @@ void PairAnalysisSpectrum::Write() /// /// write to output file /// + + /// Save old global file and folder pointer to avoid messing with FairRoot + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* fout = new TFile("test.root", "RECREATE"); fout->cd(); // fTree->Print(); fTree->Write(); fout->Close(); + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } //______________________________________________ diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresGammaCorrection.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresGammaCorrection.cxx index e1ca4a2999..616a9466c6 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresGammaCorrection.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresGammaCorrection.cxx @@ -46,6 +46,11 @@ void CbmKresGammaCorrection::Init(std::vector<std::vector<double>>& vect_all, (int) OA, (int) IM); /// most recent files for conversion cout << "file is " << Correction_path << endl; + + /// Save old global file and folder pointer to avoid messing with FairRoot + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* fcorrection = new TFile( Correction_path .c_str()); // file with almost ?? Mio photons, homogeneously distributed over interested region @@ -109,6 +114,10 @@ void CbmKresGammaCorrection::Init(std::vector<std::vector<double>>& vect_all, } vect_onetwo.push_back(rapidity_column); } + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmKresGammaCorrection::Finish() { -- GitLab