From 92b1e4034e299c46ecb5d40f156229bd437613a3 Mon Sep 17 00:00:00 2001
From: Tim Martin <Tim.Martin@cern.ch>
Date: Tue, 19 Mar 2019 11:13:10 +0100
Subject: [PATCH] Allow for missing inputs in RoIBResultToxAOD for L1C

---
 .../AnalysisTriggerAlgs/src/RoIBResultToxAOD.cxx     | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/src/RoIBResultToxAOD.cxx b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/src/RoIBResultToxAOD.cxx
index b840fc19287..37e317f134b 100644
--- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/src/RoIBResultToxAOD.cxx
+++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/src/RoIBResultToxAOD.cxx
@@ -173,7 +173,11 @@ StatusCode RoIBResultToxAOD::createEmTauRoI( const ROIB::RoIBResult& result,
    xAOD::CPMTowerMap_t cpmtowers;
    if( m_emTauTool.isEnabled() && ( ! m_cpmTowerKey.key().empty() ) ) {
       auto cpmTower = SG::makeHandle( m_cpmTowerKey, ctx );
-      m_emTauTool->mapTowers( cpmTower.cptr(), &cpmtowers );
+      if (cpmTower.isValid()) {
+         m_emTauTool->mapTowers( cpmTower.cptr(), &cpmtowers );
+      } else {
+        ATH_MSG_DEBUG( "No CPMTowerCollection found at " << m_cpmTowerKey.key() );
+      }
    }
 
    // reconstruct ROI
@@ -324,7 +328,11 @@ RoIBResultToxAOD::createJetEnergyRoI( const ROIB::RoIBResult& result,
    std::map< int, LVL1::JetInput* > jetInputs;
    if( m_jetTool.isEnabled() && ( ! m_jetElementKey.key().empty() ) ) {
       auto jetElement = SG::makeHandle( m_jetElementKey, ctx );
-      m_jetTool->mapJetInputs( jetElement.cptr(), &jetInputs );
+      if (jetElement.isValid()) {
+         m_jetTool->mapJetInputs( jetElement.cptr(), &jetInputs );
+      } else {
+         ATH_MSG_DEBUG( "No JetElementContainer found at " << m_jetElementKey.key() );
+      }
    }
    std::vector< std::unique_ptr< LVL1::JetInput > > jetInputsHolder;
    for( auto pair : jetInputs ) {
-- 
GitLab