Skip to content
Snippets Groups Projects
Commit 03c6a09d authored by Frank Winklmeier's avatar Frank Winklmeier
Browse files

Merge branch 'dict.CaloTriggerTool-20201124' into 'master'

CaloTriggerTool: Trying to fix MT dictionary error.

See merge request atlas/athena!38531
parents 15eb65e7 d3c8b91c
No related branches found
No related tags found
No related merge requests found
......@@ -2,13 +2,15 @@
# Declare the package name:
atlas_subdir( CaloTriggerTool )
find_package( ROOT COMPONENTS Core )
# Component(s) in the package:
atlas_add_library( CaloTriggerToolLib
src/*.cxx
PUBLIC_HEADERS CaloTriggerTool
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES AthenaBaseComps AthenaKernel CaloIdentifier GaudiKernel Identifier StoreGateLib TrigT1CaloCalibConditions
PRIVATE_LINK_LIBRARIES LArCablingLib LArIdentifier )
PRIVATE_LINK_LIBRARIES LArCablingLib LArIdentifier ${ROOT_LIBARIES} )
atlas_add_component( CaloTriggerTool
src/components/*.cxx
......
......@@ -17,6 +17,7 @@
#include "CaloIdentifier/LArEM_ID.h"
#include "GaudiKernel/IToolSvc.h"
#include "GaudiKernel/ServiceHandle.h"
#include "TClass.h"
//===========================================================
CaloTriggerTowerService::CaloTriggerTowerService( const std::string& type,
......@@ -94,6 +95,17 @@ StatusCode CaloTriggerTowerService::initialize ()
msg() << MSG::DEBUG << "Successfully accessed LArOnlineID helper" << endmsg;
}
// Make sure the dictionaries for the LArTTCellMap persistent classes
// are available. We used to read this object via a conditions callback,
// but callbacks are not thread-friendly, so this was changed to retrieving
// it from detStore during event processing. However, this meant that
// the TClass's for the persistent objects were also being loaded
// at that time. As of root 6.22.00, at least, TClass can sometimes
// fail to properly load a dictionary when it's being run in a multithreaded
// context. So force the needed dictionaries to load now.
TClass::GetClass ("LArTTCell_P");
TClass::GetClass ("LArTTCell_P::LArTTCell_P_t");
msg()<<MSG::INFO<<" ====> ...CaloTriggerTowerService::init() OK "<< endmsg;
return StatusCode::SUCCESS;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment