diff --git a/fles/mcbm2018/monitor/CbmCheckDataFormatGdpb2018.cxx b/fles/mcbm2018/monitor/CbmCheckDataFormatGdpb2018.cxx index 976600540789537a51f23d8995e25325ec0b3a93..ab09f0795b6478dda3f500de43644892d8882c2c 100644 --- a/fles/mcbm2018/monitor/CbmCheckDataFormatGdpb2018.cxx +++ b/fles/mcbm2018/monitor/CbmCheckDataFormatGdpb2018.cxx @@ -1367,10 +1367,11 @@ void CbmCheckDataFormatGdpb2018::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmCheckDataFormatGdpb2018::ResetAllHistos() { diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.cxx index c5708cde3e152d7aca15b967e602fcc6656f3dbd..af06f1eefd3be764df14e5ebcf13c37f02198a78 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.cxx @@ -646,10 +646,11 @@ void CbmMcbm2018MonitorDataRates::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorDataRates::ResetAllHistos() { diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmPulser.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmPulser.cxx index 6c6b2b821f92ab9d009fc73260f2d176e591a4d5..1e1e229b0a6238b3b985341fead998fa6fd17551 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmPulser.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmPulser.cxx @@ -1442,10 +1442,11 @@ void CbmMcbm2018MonitorMcbmPulser::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorMcbmPulser::ResetAllHistos() { /****************** STS Sync ******************************************/ diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmRate.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmRate.cxx index 3949008b903f928bf42a45988382814cf4f63343..3f35bd67de16dbe18f5e2b18d80e72f8e8277698 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmRate.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmRate.cxx @@ -1332,10 +1332,11 @@ void CbmMcbm2018MonitorMcbmRate::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorMcbmRate::ResetAllHistos() { /****************** STS Sync ******************************************/ diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmSync.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmSync.cxx index a2932495aa7e3339ec13c3d0caf41daaad6a1a4d..5132d801d045ce3bb3d4d05c88676c395cb24173 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmSync.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMcbmSync.cxx @@ -1592,10 +1592,11 @@ void CbmMcbm2018MonitorMcbmSync::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorMcbmSync::ResetAllHistos() { /****************** STS Sync ******************************************/ diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMuch.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMuch.cxx index 7f87df29a2865481fc162aa1720130fb41bff486..a788a645bcd7221033c0d93611bb060629c91c58 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMuch.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMuch.cxx @@ -2060,10 +2060,11 @@ void CbmMcbm2018MonitorMuch::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorMuch::ResetAllHistos() { LOG(info) << "Reseting all STS histograms."; diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMuchLite.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMuchLite.cxx index 9f09fc3cab3b6cbc0f62078448b85bba244145e8..d37d5f5fa6700cc2d112ab144b6d3dcabf6492a8 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorMuchLite.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorMuchLite.cxx @@ -1653,10 +1653,11 @@ void CbmMcbm2018MonitorMuchLite::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorMuchLite::ResetAllHistos() { diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorSts.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorSts.cxx index 71c83655ba2db2be80eb0cac53f14124425c62ec..8416ea06d6fd1d88c982fcf3d1b3cdf5146e34a0 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorSts.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorSts.cxx @@ -2703,10 +2703,11 @@ void CbmMcbm2018MonitorSts::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorSts::ResetAllHistos() { LOG(info) << "Reseting all STS histograms."; diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorStsPulser.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorStsPulser.cxx index b548473046dd41078926eeb9770761d1547a6fe9..70b9a39368751258697932f0df228092337a8ee4 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorStsPulser.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorStsPulser.cxx @@ -1403,10 +1403,11 @@ void CbmCosy2018MonitorPulser::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmCosy2018MonitorPulser::ResetAllHistos() { LOG(info) << "Reseting all STS histograms."; diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorStsSync.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorStsSync.cxx index bb8f8d5be107e47b7a178581c38189d5173c373b..9114f57e5b0750530e954552e9bab1e673c11cb4 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorStsSync.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorStsSync.cxx @@ -1897,10 +1897,11 @@ void CbmMcbm2018MonitorStsSync::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorStsSync::SavePulserHistos(TString sFileName) { /// Save old global file and folder pointer to avoid messing with FairRoot @@ -1931,10 +1932,11 @@ void CbmMcbm2018MonitorStsSync::SavePulserHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorStsSync::ResetAllHistos() { LOG(info) << "Reseting all STS histograms."; diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTof.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTof.cxx index c11bcab45a79f4e4797e52f44345993fd0438269..1de7fb838033fada37be652e7908b772953fa096 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTof.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTof.cxx @@ -3563,10 +3563,11 @@ void CbmMcbm2018MonitorTof::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorTof::ResetAllHistos() { diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTofPulser.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTofPulser.cxx index e4e2819075b6fc662682465add6369ee037e3cde..bb87352fd59c4ffd606f87505e320be36831ab02 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTofPulser.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTofPulser.cxx @@ -1666,10 +1666,11 @@ void CbmMcbm2018MonitorTofPulser::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018MonitorTofPulser::ResetAllHistos() { diff --git a/fles/mcbm2018/monitor/CbmMcbm2018TofFeeThr.cxx b/fles/mcbm2018/monitor/CbmMcbm2018TofFeeThr.cxx index 2657d60db61560c77b974b7d5cb8d2715b526c7b..36fc7876a21ad8f21f0d4c99314b9d66b973bc05 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018TofFeeThr.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018TofFeeThr.cxx @@ -528,10 +528,11 @@ void CbmMcbm2018TofFeeThr::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018TofFeeThr::ResetAllHistos() { diff --git a/fles/mcbm2018/monitor/CbmMcbm2018TofTestFee.cxx b/fles/mcbm2018/monitor/CbmMcbm2018TofTestFee.cxx index d893bc5fe2b952e1cf84a1e001269e6b84a9a09d..87cbd73cfe8cc07121f7921bd91bbd736f77a8ff 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018TofTestFee.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018TofTestFee.cxx @@ -1914,10 +1914,11 @@ void CbmMcbm2018TofTestFee::SaveAllHistos(TString sFileName) { if ("" != sFileName) { // Restore original directory position histoFile->Close(); - /// Restore old global file and folder pointer to avoid messing with FairRoot - gFile = oldFile; - gDirectory = oldDir; } // if( "" != sFileName ) + + /// Restore old global file and folder pointer to avoid messing with FairRoot + gFile = oldFile; + gDirectory = oldDir; } void CbmMcbm2018TofTestFee::ResetAllHistos() { diff --git a/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.cxx b/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.cxx index 1908197eaa9802efa315fb3744b209ff60413543..62613aa6950b2b8bb7c18510f9f8bc037447768b 100644 --- a/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.cxx +++ b/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.cxx @@ -20,6 +20,7 @@ #include "TH2.h" #include "THttpServer.h" #include "TProfile.h" +#include <TDirectory.h> #include <TFile.h> #include "CbmMuchDigi.h" @@ -698,7 +699,9 @@ void CbmCheckDigisNbCorr::Exec(Option_t* /*option*/) { void CbmCheckDigisNbCorr::Finish() { WriteHistos(); } void CbmCheckDigisNbCorr::WriteHistos() { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); @@ -741,7 +744,8 @@ void CbmCheckDigisNbCorr::WriteHistos() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } ClassImp(CbmCheckDigisNbCorr) diff --git a/fles/mcbm2018/tasks/CbmCheckEvents.cxx b/fles/mcbm2018/tasks/CbmCheckEvents.cxx index f954d3e57977677535e36cbe9465ba5a9d402f4b..35e2dc0ad34d6299df2d5d5da7b146f443b7ee0b 100644 --- a/fles/mcbm2018/tasks/CbmCheckEvents.cxx +++ b/fles/mcbm2018/tasks/CbmCheckEvents.cxx @@ -24,6 +24,7 @@ #include "TH2.h" #include "THttpServer.h" #include "TProfile.h" +#include <TDirectory.h> #include <TFile.h> #include <iomanip> @@ -264,7 +265,9 @@ void CbmCheckEvents::GetTimeDiffT0(CbmEvent* event, TH1* deltaT, TH1* size) { // ---- Finish -------------------------------------------------------- void CbmCheckEvents::Finish() { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* outfile = TFile::Open("test2.root", "RECREATE"); fEventSize->Write(); @@ -287,7 +290,8 @@ void CbmCheckEvents::Finish() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } ClassImp(CbmCheckEvents) diff --git a/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.cxx b/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.cxx index d57aef935da3e883cae9eb733c8c5d30ebe04695..28ae219ea4997d13de7eecb2e78b54b31e6f9893 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.cxx @@ -15,6 +15,7 @@ #include "TH1.h" #include "TH2.h" #include "THttpServer.h" +#include <TDirectory.h> #include <TFile.h> #include "CbmMuchBeamTimeDigi.h" @@ -649,7 +650,9 @@ void CbmMcbm2018EventBuilder::AddDigiToSorter(ECbmModuleId _system, // ---- Finish -------------------------------------------------------- void CbmMcbm2018EventBuilder::Finish() { if (fFillHistos) { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); fDiffTime->Write(); @@ -670,7 +673,8 @@ void CbmMcbm2018EventBuilder::Finish() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } LOG(info) << "Total errors: " << fErrors; } diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisMuch.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisMuch.cxx index ef8d17e1c643b0b721b26755011cf75eb4a16203..63f3bffae864ce9dccde49fd80ee9507cc1cfa0b 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisMuch.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisMuch.cxx @@ -18,6 +18,7 @@ #include "TH1.h" #include "TH2.h" #include "THttpServer.h" +#include <TDirectory.h> #include <TFile.h> #include <iomanip> @@ -199,7 +200,9 @@ void CbmMcbm2019CheckDigisMuch::Exec(Option_t* /*option*/) { void CbmMcbm2019CheckDigisMuch::Finish() { WriteHistos(); } void CbmMcbm2019CheckDigisMuch::WriteHistos() { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); fDigisPerAsicEvo->Write(); @@ -209,7 +212,8 @@ void CbmMcbm2019CheckDigisMuch::WriteHistos() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } ClassImp(CbmMcbm2019CheckDigisMuch) diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisSts.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisSts.cxx index f84c03802b2f9c22e045c7729f06cd11d8934129..110db892f9d6003b14b5eb7402463f0992a9f318 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisSts.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisSts.cxx @@ -18,6 +18,7 @@ #include "TH1.h" #include "TH2.h" #include "THttpServer.h" +#include <TDirectory.h> #include <TFile.h> #include <iomanip> @@ -186,7 +187,9 @@ void CbmMcbm2019CheckDigisSts::Exec(Option_t* /*option*/) { void CbmMcbm2019CheckDigisSts::Finish() { WriteHistos(); } void CbmMcbm2019CheckDigisSts::WriteHistos() { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); fDigisPerAsicEvo->Write(); @@ -195,7 +198,8 @@ void CbmMcbm2019CheckDigisSts::WriteHistos() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } ClassImp(CbmMcbm2019CheckDigisSts) diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.cxx index 96290840e2f5edd52ec0c1967205d126bfad9129..88c58aad453210c90e3acfa9cd492a1caaf836b3 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.cxx @@ -25,9 +25,9 @@ #include "TH2.h" #include "THttpServer.h" #include "TProfile.h" +#include <TDirectory.h> #include <TFile.h> - #include <iomanip> #include <iostream> #include <type_traits> @@ -510,7 +510,10 @@ void CbmMcbm2019CheckDtInDet::FillHistosPerDet(TH1* histoSameTime, void CbmMcbm2019CheckDtInDet::Finish() { WriteHistos(); } void CbmMcbm2019CheckDtInDet::WriteHistos() { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + + TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); fT0T0SameTime->Write(); @@ -548,7 +551,8 @@ void CbmMcbm2019CheckDtInDet::WriteHistos() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } ClassImp(CbmMcbm2019CheckDtInDet) diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.cxx index 642a7ed8ff56d79cc553be0f03dcc2bbb61a9a43..40fb17690dc67402401a4512b152fa044fa9087c 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.cxx @@ -25,9 +25,9 @@ #include "TH2.h" #include "THttpServer.h" #include "TProfile.h" +#include <TDirectory.h> #include <TFile.h> - #include <iomanip> #include <iostream> #include <type_traits> @@ -1113,7 +1113,9 @@ Int_t CbmMcbm2019CheckPulser::FillSystemOffsetHistos(TH1* histo, void CbmMcbm2019CheckPulser::Finish() { WriteHistos(); } void CbmMcbm2019CheckPulser::WriteHistos() { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); fT0StsDiff->Write(); @@ -1189,7 +1191,8 @@ void CbmMcbm2019CheckPulser::WriteHistos() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } ClassImp(CbmMcbm2019CheckPulser) diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.cxx index 6403fe7b31a9fb06285e73c87108b399a1137811..c4da8780fc71c134f61e90df8efe4e5d0a558e67 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.cxx @@ -19,9 +19,9 @@ #include "TH2.h" #include "THttpServer.h" #include "TProfile.h" +#include <TDirectory.h> #include <TFile.h> - #include <iomanip> #include <iostream> #include <type_traits> @@ -626,7 +626,9 @@ void CbmMcbm2019CheckTimingPairs::FillHistos(UInt_t uIndexT0, void CbmMcbm2019CheckTimingPairs::Finish() { WriteHistos(); } void CbmMcbm2019CheckTimingPairs::WriteHistos() { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); for (UInt_t uPair = 0; uPair < fhDtADtB.size(); ++uPair) { @@ -636,7 +638,8 @@ void CbmMcbm2019CheckTimingPairs::WriteHistos() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } ClassImp(CbmMcbm2019CheckTimingPairs) diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx index 1216bf30e5dc7c8859819a47217e1b53518f779d..683a1f8e67b468ffeced53df13383b30fa062757 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx @@ -17,6 +17,7 @@ #include "TH1.h" #include "TH2.h" #include "THttpServer.h" +#include <TDirectory.h> #include <TFile.h> // ---- Default constructor ------------------------------------------- @@ -127,11 +128,11 @@ void CbmMcbm2019TimeWinEventBuilderTask::SaveHistos() { histoFile->cd(); } // for( UInt_t uHisto = 0; uHisto < vHistos.size(); ++uHisto ) + histoFile->Close(); + /// Restore old global file and folder pointer to avoid messing with FairRoot gFile = oldFile; gDirectory = oldDir; - - histoFile->Close(); } //---------------------------------------------------------------------- void CbmMcbm2019TimeWinEventBuilderTask::SetFillHistos(Bool_t bFlag) { diff --git a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx index 5d325e5d37d8e821ca06f11100fbd8b3ff0b7acb..af8c47e6579d6d34e166070b8334a819e141287f 100644 --- a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx +++ b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx @@ -23,6 +23,7 @@ #include "TH1.h" #include "TH2.h" #include "THttpServer.h" +#include <TDirectory.h> #include <TFile.h> #include <iomanip> @@ -415,7 +416,9 @@ void CbmMcbmCheckTimingAlgo::Finish() { } void CbmMcbmCheckTimingAlgo::WriteHistos() { - TFile* old = gFile; + TFile* oldFile = gFile; + TDirectory* oldDir = gDirectory; + TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); for (UInt_t uDetIdx = 0; uDetIdx < fvDets.size(); ++uDetIdx) { @@ -435,7 +438,8 @@ void CbmMcbmCheckTimingAlgo::WriteHistos() { outfile->Close(); delete outfile; - gFile = old; + gFile = oldFile; + gDirectory = oldDir; } // ---- Finish -------------------------------------------------------- diff --git a/fles/mcbm2018/tasks/CbmMcbmCheckTimingTask.cxx b/fles/mcbm2018/tasks/CbmMcbmCheckTimingTask.cxx index 7fa222bf489b7558afbbae51da5b5f6da6a2a20b..5fd266077b9faa3283a20366f8027adc2377fce4 100644 --- a/fles/mcbm2018/tasks/CbmMcbmCheckTimingTask.cxx +++ b/fles/mcbm2018/tasks/CbmMcbmCheckTimingTask.cxx @@ -16,6 +16,7 @@ #include "TH1.h" #include "TH2.h" #include "THttpServer.h" +#include <TDirectory.h> #include <TFile.h> /// C/C++ headers @@ -71,13 +72,13 @@ void CbmMcbmCheckTimingTask::SaveHistos() { /// Obtain vector of pointers on each histo from the algo (+ optionally desired folder) std::vector< std::pair< TNamed *, std::string > > vHistos = fpAlgo->GetHistoVector(); - /// (Re-)Create ROOT file to store the histos - TFile* histoFile = nullptr; - /// Save old global file and folder pointer to avoid messing with FairRoot TFile* oldFile = gFile; TDirectory* oldDir = gDirectory; + /// (Re-)Create ROOT file to store the histos + TFile* histoFile = nullptr; + /// open separate histo file in recreate mode histoFile = new TFile( fsOutFileName , "RECREATE"); histoFile->cd(); @@ -98,8 +99,8 @@ void CbmMcbmCheckTimingTask::SaveHistos() { } // for( UInt_t uHisto = 0; uHisto < vHistos.size(); ++uHisto ) /// Restore original directory position - oldDir->cd(); - histoFile->Close(); + gFile = oldFile; + gDirectory = oldDir; */ } //---------------------------------------------------------------------- diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTrdR.cxx b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTrdR.cxx index 7198fe429042f5dd74f6ebef4c8ef11ee4ad9bbf..70638ccdf89f6acbba958b948d7e12f3a6fcd307 100644 --- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTrdR.cxx +++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTrdR.cxx @@ -117,13 +117,13 @@ void CbmMcbm2018UnpackerTaskTrdR::Finish() { std::vector<std::pair<TNamed*, std::string>> vHistos = fUnpackerAlgo->GetHistoVector(); - /// (Re-)Create ROOT file to store the histos - TFile* histoFile = nullptr; - /// Save old global file and folder pointer to avoid messing with FairRoot TFile* oldFile = gFile; TDirectory* oldDir = gDirectory; + /// (Re-)Create ROOT file to store the histos + TFile* histoFile = nullptr; + // open separate histo file in recreate mode TString histoFileName = fMonitorHistoFileName; histoFile = new TFile(histoFileName.Data(), "RECREATE"); @@ -138,6 +138,7 @@ void CbmMcbm2018UnpackerTaskTrdR::Finish() { vHistos[uHisto].first->Write(); histoFile->cd(); } + /// Restore old global file and folder pointer to avoid messing with FairRoot gFile = oldFile; gDirectory = oldDir;