From c5a3a47ae9754fd85c20dcacdf86a678aa922f10 Mon Sep 17 00:00:00 2001 From: adbailey <adam.bailey@cern.ch> Date: Tue, 17 Jul 2018 17:54:26 +0200 Subject: [PATCH] Fixed bug in retrieving tools via ToolHandleArray in algorithms. Also tidied up a few lines --- Reconstruction/tauRec/src/TauProcessorAlg.cxx | 33 +++++++------------ Reconstruction/tauRec/src/TauRunnerAlg.cxx | 33 +++++++------------ Reconstruction/tauRec/tauRec/TauRunnerAlg.h | 3 +- 3 files changed, 24 insertions(+), 45 deletions(-) diff --git a/Reconstruction/tauRec/src/TauProcessorAlg.cxx b/Reconstruction/tauRec/src/TauProcessorAlg.cxx index 86524146a3a0..4df479fa88e7 100644 --- a/Reconstruction/tauRec/src/TauProcessorAlg.cxx +++ b/Reconstruction/tauRec/src/TauProcessorAlg.cxx @@ -53,9 +53,14 @@ TauProcessorAlg::~TauProcessorAlg() { //----------------------------------------------------------------------------- StatusCode TauProcessorAlg::initialize() { + ATH_CHECK( m_jetInputContainer.initialize() ); + ATH_CHECK( m_tauOutputContainer.initialize() ); + ATH_CHECK( m_tauTrackOutputContainer.initialize() ); + ATH_CHECK( m_tauShotClusOutputContainer.initialize() ); + ATH_CHECK( m_tauShotPFOOutputContainer.initialize() ); + ATH_CHECK( m_tauPi0CellOutputContainer.initialize() ); - //ATH_MSG_INFO("FF::TauProcessorAlg :: initialize()"); - CHECK( m_cellMakerTool.retrieve() ); + ATH_CHECK( m_cellMakerTool.retrieve() ); //------------------------------------------------------------------------- // No tools allocated! @@ -65,30 +70,21 @@ StatusCode TauProcessorAlg::initialize() { return StatusCode::FAILURE; } - StatusCode sc; - - //------------------------------------------------------------------------- // Allocate tools //------------------------------------------------------------------------- + ATH_CHECK( m_tools.retrieve() ); ToolHandleArray<ITauToolBase> ::iterator itT = m_tools.begin(); ToolHandleArray<ITauToolBase> ::iterator itTE = m_tools.end(); ATH_MSG_INFO("List of tools in execution sequence:"); ATH_MSG_INFO("------------------------------------"); - unsigned int tool_count = 0; for (; itT != itTE; ++itT) { - sc = itT->retrieve(); - if (sc.isFailure()) { - ATH_MSG_WARNING("Cannot find tool named <" << *itT << ">"); - return StatusCode::FAILURE; - } else { - ++tool_count; - ATH_MSG_INFO((*itT)->type() << " - " << (*itT)->name()); - (*itT)->setTauEventData(&m_data); - } + ++tool_count; + ATH_MSG_INFO((*itT)->type() << " - " << (*itT)->name()); + (*itT)->setTauEventData(&m_data); } ATH_MSG_INFO(" "); ATH_MSG_INFO("------------------------------------"); @@ -100,13 +96,6 @@ StatusCode TauProcessorAlg::initialize() { /////////////////////////////////////////////////////////////////////////// - ATH_CHECK( m_jetInputContainer.initialize() ); - ATH_CHECK( m_tauOutputContainer.initialize() ); - ATH_CHECK( m_tauTrackOutputContainer.initialize() ); - ATH_CHECK( m_tauShotClusOutputContainer.initialize() ); - ATH_CHECK( m_tauShotPFOOutputContainer.initialize() ); - ATH_CHECK( m_tauPi0CellOutputContainer.initialize() ); - return StatusCode::SUCCESS; } diff --git a/Reconstruction/tauRec/src/TauRunnerAlg.cxx b/Reconstruction/tauRec/src/TauRunnerAlg.cxx index 22c126a44255..e2cc6e30c6dc 100644 --- a/Reconstruction/tauRec/src/TauRunnerAlg.cxx +++ b/Reconstruction/tauRec/src/TauRunnerAlg.cxx @@ -56,33 +56,30 @@ StatusCode TauRunnerAlg::initialize() { return StatusCode::FAILURE; } + ATH_CHECK( m_tauInputContainer.initialize() ); + + ATH_CHECK( m_tauOutputContainer.initialize() ); ATH_CHECK( m_neutralPFOOutputContainer.initialize() ); ATH_CHECK( m_pi0ClusterOutputContainer.initialize() ); ATH_CHECK( m_hadronicPFOOutputContainer.initialize() ); ATH_CHECK( m_vertexOutputContainer.initialize() ); ATH_CHECK( m_chargedPFOOutputContainer.initialize() ); - StatusCode sc; //------------------------------------------------------------------------- // Allocate tools //------------------------------------------------------------------------- + ATH_CHECK( m_tools.retrieve() ); + ToolHandleArray<ITauToolBase> ::iterator itT = m_tools.begin(); ToolHandleArray<ITauToolBase> ::iterator itTE = m_tools.end(); + ATH_MSG_INFO("List of tools in execution sequence:"); ATH_MSG_INFO("------------------------------------"); - unsigned int tool_count = 0; - for (; itT != itTE; ++itT) { - sc = itT->retrieve(); - if (sc.isFailure()) { - ATH_MSG_WARNING("Cannot find tool named <" << *itT << ">"); - return StatusCode::FAILURE; - } else { - ++tool_count; - ATH_MSG_INFO((*itT)->type() << " - " << (*itT)->name()); - (*itT)->setTauEventData(&m_data); - } + ++tool_count; + ATH_MSG_INFO((*itT)->type() << " - " << (*itT)->name()); + (*itT)->setTauEventData(&m_data); } ATH_MSG_INFO(" "); ATH_MSG_INFO("------------------------------------"); @@ -91,12 +88,8 @@ StatusCode TauRunnerAlg::initialize() { ATH_MSG_ERROR("could not allocate any tool!"); return StatusCode::FAILURE; } - /////////////////////////////////////////////////////////////////////////// - ATH_CHECK( m_tauInputContainer.initialize() ); - ATH_CHECK( m_tauOutputContainer.initialize() ); - return StatusCode::SUCCESS; } @@ -125,7 +118,6 @@ StatusCode TauRunnerAlg::finalize() { } else { } - return StatusCode::SUCCESS; } @@ -137,8 +129,6 @@ StatusCode TauRunnerAlg::execute() { StatusCode sc; - - // write neutral PFO container xAOD::PFOContainer* neutralPFOContainer = new xAOD::PFOContainer(); xAOD::PFOAuxContainer* neutralPFOAuxStore = new xAOD::PFOAuxContainer(); @@ -225,8 +215,9 @@ StatusCode TauRunnerAlg::execute() { sc = (*itT)->executePi0ClusterCreator(*pTau, *neutralPFOContainer, *hadronicClusterPFOContainer, *pi0CaloClusterContainer); } else if ( (*itT)->name().find("Pi0ClusterScaler") != std::string::npos){ - sc = (*itT)->executePi0ClusterScaler(*pTau, *chargedPFOContainer); - }else { + sc = (*itT)->executePi0ClusterScaler(*pTau, *chargedPFOContainer); + } + else { sc = (*itT)->execute(*pTau); } if (sc.isFailure()) diff --git a/Reconstruction/tauRec/tauRec/TauRunnerAlg.h b/Reconstruction/tauRec/tauRec/TauRunnerAlg.h index 7b9fcde05185..ccda20daaf7a 100644 --- a/Reconstruction/tauRec/tauRec/TauRunnerAlg.h +++ b/Reconstruction/tauRec/tauRec/TauRunnerAlg.h @@ -59,8 +59,7 @@ class TauRunnerAlg: public AthAlgorithm SG::WriteHandleKey<xAOD::CaloClusterContainer> m_pi0ClusterOutputContainer{this,"Key_pi0ClusterOutputContainer", "TauPi0Clusters", "tau pi0cluster output"}; SG::WriteHandleKey<xAOD::PFOContainer> m_hadronicPFOOutputContainer{this,"Key_hadronicPFOOutputContainer", "TauHadronicParticleFlowObjects", "tau hadronic pfo out key"}; SG::WriteHandleKey<xAOD::VertexContainer> m_vertexOutputContainer{this,"Key_vertexOutputContainer", "TauSecondaryVertices", "input vertex container key"}; - SG::WriteHandleKey<xAOD::PFOContainer> m_chargedPFOOutputContainer{this,"Key_chargedPFOOutputContainer", "TauChargedParticleFlowObjects", "tau charged pfo o\ -ut key"}; + SG::WriteHandleKey<xAOD::PFOContainer> m_chargedPFOOutputContainer{this,"Key_chargedPFOOutputContainer", "TauChargedParticleFlowObjects", "tau charged pfo out key"}; }; -- GitLab