diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx index c577047fb800259df5a0ef5e925adda0a5e6e5fa..966e83443ba1710dcff52e32ceba61ce18e45951 100644 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx +++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx @@ -52,7 +52,7 @@ StatusCode LArHVScaleRetriever::initialize() ATH_MSG_INFO ("Initializing " << name() << "..."); if( m_isMC ) { - CHECK( detStore()->regHandle(m_ilarhvscalecorr,m_keyHVScaleCorr) ); + ATH_CHECK( m_keyHVScaleCorr.initialize() ); }else { CHECK( m_ilarhvcorrtool.retrieve() ) ; } @@ -62,12 +62,18 @@ StatusCode LArHVScaleRetriever::initialize() float LArHVScaleRetriever::Scale(const HWIdentifier& id) const { - if(m_isMC) return m_ilarhvscalecorr->HVScaleCorr(id) ; + if(m_isMC) { + SG::ReadCondHandle<ILArHVScaleCorr> corr (m_keyHVScaleCorr); + return (*corr)->HVScaleCorr(id) ; + } return m_ilarhvcorrtool->Scale(id); } float LArHVScaleRetriever::Scale(const Identifier& id) const { - if(m_isMC) return m_ilarhvscalecorr->HVScaleCorr(id) ; + if(m_isMC) { + SG::ReadCondHandle<ILArHVScaleCorr> corr (m_keyHVScaleCorr); + return (*corr)->HVScaleCorr(id) ; + } return m_ilarhvcorrtool->Scale(id); } diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h index fd86c6aaf75706debac326c575265a8dc3214b25..f43e43996e5bb77765151c204508554057723840 100644 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h +++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h @@ -16,6 +16,7 @@ // FrameWork includes #include "AthenaBaseComps/AthAlgTool.h" +#include "StoreGate/ReadCondHandleKey.h" #include "GaudiKernel/ServiceHandle.h" // LArElecCalib includes @@ -86,11 +87,8 @@ class LArHVScaleRetriever ToolHandle<ILArHVCorrTool> m_ilarhvcorrtool; - const DataHandle<ILArHVScaleCorr> m_ilarhvscalecorr; - std::string m_keyHVScaleCorr; + SG::ReadCondHandleKey<ILArHVScaleCorr> m_keyHVScaleCorr; bool m_isMC; - - }; // I/O operators