From bd5e3ce9384b340b246a20ba581f182f8c0f620e Mon Sep 17 00:00:00 2001
From: Hideyuki Oide <Hideyuki.Oide@cern.ch>
Date: Thu, 21 Sep 2017 15:37:30 +0200
Subject: [PATCH] VrtSecInclusive:  protection for user-defined container name
 conflicts

Former-commit-id: 559eab45ca2a2689d6eabf6b54231471171d5d99
---
 .../VKalVrt/VrtSecInclusive/src/VrtSecInclusive.cxx  | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/Reconstruction/VKalVrt/VrtSecInclusive/src/VrtSecInclusive.cxx b/Reconstruction/VKalVrt/VrtSecInclusive/src/VrtSecInclusive.cxx
index 8145490c6f14..da5135bc8bf7 100644
--- a/Reconstruction/VKalVrt/VrtSecInclusive/src/VrtSecInclusive.cxx
+++ b/Reconstruction/VKalVrt/VrtSecInclusive/src/VrtSecInclusive.cxx
@@ -266,6 +266,18 @@ namespace VKalVrtAthena {
     //
     // Setup StoreGate Variables
     //
+    
+    // Check Return StatusCode::Failure if the user-specified container names have duplication.
+    {
+      std::vector<std::string> userContainerNames { m_jp.selectedTracksContainerName, m_jp.associableTracksContainerName, m_jp.secondaryVerticesContainerName, m_jp.all2trksVerticesContainerName };
+      std::set<std::string> userContainerNamesSet;
+      for( auto& name : userContainerNames ) userContainerNamesSet.insert( name );
+      if( userContainerNamesSet.size() != userContainerNames.size() ) {
+        ATH_MSG_ERROR( " > " << __FUNCTION__ << ": detected duplicated user-specified container name. Please check your job property" );
+        return StatusCode::FAILURE;
+      }
+    }
+    
     auto *selectedBaseTracks          = new xAOD::TrackParticleContainer;
     auto *selectedBaseTracksAux       = new xAOD::TrackParticleAuxContainer;
     auto *associableTracks            = new xAOD::TrackParticleContainer;
-- 
GitLab