diff --git a/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.cxx b/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.cxx index f673ba2dfb9d07a12204a0c5208b670bdd17e414..146cd18b250b7f3dac338f508cb92b0dd607e11e 100644 --- a/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.cxx @@ -21,6 +21,8 @@ StatusCode egammaMonitorElectronAlgorithm::initialize() { ATH_CHECK(m_electronsKey.initialize()); + m_ptcone20Key = m_electronsKey.key() + ".ptcone20"; + ATH_CHECK(m_ptcone20Key.initialize()); if (!m_monTool.empty()) CHECK(m_monTool.retrieve()); return StatusCode::SUCCESS; } @@ -133,15 +135,23 @@ void egammaMonitorElectronAlgorithm::filltopoElectronIsolation( const EventConte auto ptcone30_col = Monitored::Collection("ptcone30", ptcone30_vec); auto ptcone40_col = Monitored::Collection("ptcone40", ptcone40_vec); - - for (const auto& electron : *electrons) { + for (const xAOD::Electron* electron : *electrons){ + + val = 0; + electron->isolationValue(val,xAOD::Iso::topoetcone20); + topoetcone20_vec.push_back( val/Gaudi::Units::GeV ); - topoetcone20_vec.push_back( electron->isolationValue(val,xAOD::Iso::topoetcone20)/Gaudi::Units::GeV); - ptcone20_vec.push_back(electron->isolationValue(val,xAOD::Iso::ptcone20)); - ptcone30_vec.push_back(electron->isolationValue(val,xAOD::Iso::ptcone30)); - ptcone40_vec.push_back(electron->isolationValue(val,xAOD::Iso::ptcone40)); + val = 0; + electron->isolationValue(val,xAOD::Iso::ptcone20); + ptcone20_vec.push_back( val/Gaudi::Units::GeV ); + val = 0; + electron->isolationValue(val,xAOD::Iso::ptcone30); + ptcone30_vec.push_back( val/Gaudi::Units::GeV ); + val = 0; + electron->isolationValue(val,xAOD::Iso::ptcone40); + ptcone40_vec.push_back( val/Gaudi::Units::GeV ); } auto mon = Monitored::Group(m_monTool,ptcone20_col, ptcone30_col, ptcone40_col, topoetcone20_col); diff --git a/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.h b/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.h index 28b3255bec6effe51d13943ef2402012bac4cf77..de9e0c2bc353f1e33e0d6e181fbcf8565f683d49 100644 --- a/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.h +++ b/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.h @@ -21,6 +21,7 @@ #include "xAODTrigger/EmTauRoIContainer.h" #include "StoreGate/ReadHandleKey.h" #include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/ReadDecorHandleKey.h" #include "AthenaBaseComps/AthAlgorithm.h" #include "StoreGate/DataHandle.h" #include "AthenaMonitoringKernel/Monitored.h" @@ -49,6 +50,7 @@ class egammaMonitorElectronAlgorithm: public AthAlgorithm private: SG::ReadHandleKey<xAOD::ElectronContainer> m_electronsKey{ this, "ElectronKey", "Electrons", ""}; + SG::ReadDecorHandleKey<xAOD::ElectronContainer> m_ptcone20Key{ this, "ElectronPtcone20Key", "Electrons.ptcone20", ""}; ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool","","Monitoring tool"}; };