From a3422ebdce6c288473b0b14d336b818f26f322b7 Mon Sep 17 00:00:00 2001
From: Andreas Salzburger <Andreas.Salzburger@cern.ch>
Date: Tue, 24 Oct 2017 17:10:33 +0200
Subject: [PATCH] introducing ROOT file check and exception throwing in case
 ...

---
 .../ACTFW/Plugins/Root/RootTrackParametersWriter.ipp | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/Plugins/Root/include/ACTFW/Plugins/Root/RootTrackParametersWriter.ipp b/Plugins/Root/include/ACTFW/Plugins/Root/RootTrackParametersWriter.ipp
index 9de93ae6..043dda02 100644
--- a/Plugins/Root/include/ACTFW/Plugins/Root/RootTrackParametersWriter.ipp
+++ b/Plugins/Root/include/ACTFW/Plugins/Root/RootTrackParametersWriter.ipp
@@ -111,6 +111,10 @@ FW::Root::RootTrackParametersWriter<T>::RootTrackParametersWriter(
   , m_outputTree(nullptr)
 {
   m_outputFile = TFile::Open(m_cfg.filePath.c_str(), m_cfg.fileMode.c_str());
+  if (!m_outputFile) {
+    throw std::ios_base::failure("Could not open '" + m_cfg.filePath);
+  }
+  
   m_outputFile->cd();
   m_outputTree
       = new TTree(m_cfg.treeName.c_str(), "TTree from TrackParametersWriter");
@@ -154,10 +158,8 @@ template <class T>
 FW::ProcessCode
 FW::Root::RootTrackParametersWriter<T>::endRun()
 {
-  if (m_outputFile) {
-    m_outputFile->cd();
-    m_outputTree->Write();
-    m_outputFile->Close();
-  }
+  m_outputFile->cd();
+  m_outputTree->Write();
+  m_outputFile->Close();
   return FW::ProcessCode::SUCCESS;
 }
-- 
GitLab