Skip to content
Snippets Groups Projects
Commit 8400f388 authored by Marcin Nowak's avatar Marcin Nowak :radioactive: Committed by Edward Moyse
Browse files

Use APRDefaults to name the Event Data TTree/RNTuple

Use APRDefaults to name the Event Data TTree/RNTuple
parent 79886b68
No related branches found
No related tags found
No related merge requests found
/*
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
//====================================================================
// Package : StorageSvc (The POOL project)
// Package : Athena APR StorageSvc (former POOL project)
//
// @author M.Frank
//====================================================================
......@@ -17,10 +17,12 @@ using namespace pool;
DbType DbType::getType(const std::string& name) {
if ( "ROOT_Key" == name )
return ROOTKEY_StorageType;
else if ( "ROOT_Tree" == name )
else if ( "ROOT_Tree" == name or name == "ROOTTREE" )
return ROOTTREE_StorageType;
else if ( "ROOT_TreeIndex" == name )
else if ( "ROOT_TreeIndex" == name or name == "ROOTTREEINDEX")
return ROOTTREEINDEX_StorageType;
else if ( "ROOT_RNTuple" == name or name == "ROOTRNTUPLE")
return ROOTRNTUPLE_StorageType;
else if ( "ROOT_All" == name )
return ROOT_StorageType;
else if ( "POOL_RDBMS" == name )
......
......@@ -26,6 +26,7 @@
#include "StorageSvc/DbReflex.h"
#include "FileCatalog/IFileCatalog.h"
#include "RootUtils/APRDefaults.h"
#include "AuxDiscoverySvc.h"
......@@ -82,15 +83,17 @@ StatusCode AthenaPoolCnvSvc::initialize() {
}
}
ATH_MSG_DEBUG("Setting StorageType to " << m_storageTechProp.value());
#define CHECK_TECH(TECH) \
if(m_storageTechProp.value() == #TECH) m_dbType = pool::TECH##_StorageType
CHECK_TECH(ROOTTREE);
CHECK_TECH(ROOTTREEINDEX);
CHECK_TECH(ROOTRNTUPLE);
m_dbType = pool::DbType::getType( m_storageTechProp.value() );
if( m_dbType == TEST_StorageType ) {
ATH_MSG_FATAL("Unknown StorageType rquested: " << m_storageTechProp.value());
return StatusCode::FAILURE;
}
if( m_containerPrefixProp.value() == "Default" ) {
// select default storage element name accoring to storage tech
if( m_dbType.exactMatch(pool::ROOTRNTUPLE_StorageType) ) m_containerPrefixProp.setValue( APRDefaults::RNTupleNames::EventData );
else m_containerPrefixProp.setValue( APRDefaults::TTreeNames::EventData );
}
// Extracting INPUT POOL ItechnologySpecificAttributes for Domain, Database and Container.
extractPoolAttributes(m_inputPoolAttr, &m_inputAttr, &m_inputAttr, &m_inputAttr);
// Extracting the INPUT POOL ItechnologySpecificAttributes which are to be printed for each event
......
......@@ -207,8 +207,9 @@ private: // properties
/// Default Storage Tech for containers (ROOTTREE, ROOTTREEINDEX, ROOTRNTUPLE)
StringProperty m_storageTechProp{this,"StorageTechnology", "ROOTTREEINDEX"};
/// PoolContainerPrefix, prefix for top level POOL container
StringProperty m_containerPrefixProp{this,"PoolContainerPrefix","CollectionTree"};
/// POOL Container name prefix - will be part of or whole TTree/RNTuple name
/// 'Default' takes the prefix from APRDefaults according to StorageTech
StringProperty m_containerPrefixProp{this,"PoolContainerPrefix","Default"};
/// TopLevelContainerName, naming hint policy for top level POOL container: default = "<type>"
StringProperty m_containerNameHintProp{this,"TopLevelContainerName",""};
/// SubLevelBranchName, naming hint policy for POOL branching: ("" = no branching)
......
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