From 84785c5669c77ee31db7ae3cc1dc955c837eb885 Mon Sep 17 00:00:00 2001
From: Tigran Mkrtchyan <tmkrtchy@pcatl01.cern.ch>
Date: Sun, 27 Jan 2019 16:50:56 +0100
Subject: [PATCH] update

---
 .../TileCalibAlgs/TileDigiNoiseCalibAlg.h         |  3 +++
 .../TileCalibAlgs/src/TileDigiNoiseCalibAlg.cxx   | 15 ++++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/TileCalorimeter/TileCalib/TileCalibAlgs/TileCalibAlgs/TileDigiNoiseCalibAlg.h b/TileCalorimeter/TileCalib/TileCalibAlgs/TileCalibAlgs/TileDigiNoiseCalibAlg.h
index aa06848c7a6f..a21e573f7c2f 100644
--- a/TileCalorimeter/TileCalib/TileCalibAlgs/TileCalibAlgs/TileDigiNoiseCalibAlg.h
+++ b/TileCalorimeter/TileCalib/TileCalibAlgs/TileCalibAlgs/TileDigiNoiseCalibAlg.h
@@ -20,6 +20,7 @@
 
 // Athena includes
 #include "AthenaBaseComps/AthAlgorithm.h"
+#include "xAODEventInfo/EventInfo.h"
 
 // Tile includes
 #include "TileConditions/TileCablingService.h"
@@ -86,6 +87,8 @@ class TileDigiNoiseCalibAlg: public AthAlgorithm {
     SG::ReadHandleKey<TileDQstatus> m_dqStatusKey;
     SG::ReadHandleKey<TileDigitsContainer> m_digitsContainerKey{this,
       "TileDigitsContainer", "TileDigitsCnt", "Tile digits container"};
+    SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,
+      "EventInfo", "EventInfo", "EventInfo key"};
 
   // Tools / storegate info
     ToolHandle<TileRawChannelBuilderFlatFilter> m_adderFilterAlgTool;
diff --git a/TileCalorimeter/TileCalib/TileCalibAlgs/src/TileDigiNoiseCalibAlg.cxx b/TileCalorimeter/TileCalib/TileCalibAlgs/src/TileDigiNoiseCalibAlg.cxx
index 9d7f8cf0bea8..0b8d5d9c6312 100644
--- a/TileCalorimeter/TileCalib/TileCalibAlgs/src/TileDigiNoiseCalibAlg.cxx
+++ b/TileCalorimeter/TileCalib/TileCalibAlgs/src/TileDigiNoiseCalibAlg.cxx
@@ -110,6 +110,12 @@ StatusCode TileDigiNoiseCalibAlg::initialize() {
 
   CHECK( m_dqStatusKey.initialize() );
 
+  if (!m_eventInfoKey.key().empty()) {
+    ATH_CHECK( m_eventInfoKey.initialize() );
+  }
+  // TileDigitsContainer initialization
+  ATH_CHECK( m_digitsContainerKey.initialize() );
+
   return StatusCode::SUCCESS;
 }
 
@@ -120,9 +126,6 @@ StatusCode TileDigiNoiseCalibAlg::FirstEvt_initialize() {
   // find TileCablingService
   m_cabling = TileCablingService::getInstance();
 
-  // TileDigitsContainer initialization
-  ATH_CHECK( m_digitsContainerKey.initialize() );
-
   // retrieve TileID helper from det store
   CHECK( detStore()->retrieve(m_tileID) );
 
@@ -308,8 +311,9 @@ void TileDigiNoiseCalibAlg::StoreRunInfo (const TileDQstatus* dqStatus) {
     }
   } else {// monogain can use eventinfo
 
-    const xAOD::EventInfo* eventInfo(0);
-    if (evtStore()->retrieve(eventInfo).isFailure()) {
+    SG::ReadHandle<xAOD::EventInfo> eventInfo(m_eventInfoKey); 
+
+    if ( !eventInfo.isValid() ) {
       ATH_MSG_ERROR( "No EventInfo object found! Can't read run number!" );
       m_run = 0;
       m_time = 0;
@@ -322,6 +326,7 @@ void TileDigiNoiseCalibAlg::StoreRunInfo (const TileDQstatus* dqStatus) {
       else
         m_trigType = 0;
     }
+
   }
 
   if (m_time != 0) {
-- 
GitLab