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
37 merge requests!78241Draft: FPGATrackSim: GenScan code refactor,!78236Draft: Switching Streams https://its.cern.ch/jira/browse/ATR-27417,!78056AFP monitoring: new synchronization and cleaning,!78041AFP monitoring: new synchronization and cleaning,!77990Updating TRT chip masks for L1TRT trigger simulation - ATR-28372,!77733Draft: add new HLT NN JVT, augmented with additional tracking information,!77731Draft: Updates to ZDC reconstruction,!77728Draft: updates to ZDC reconstruction,!77522Draft: sTGC Pad Trigger Emulator,!76725ZdcNtuple: Fix cppcheck warning.,!76611L1CaloFEXByteStream: Fix out-of-bounds array accesses.,!76475Punchthrough AF3 implementation in FastG4,!76474Punchthrough AF3 implementation in FastG4,!76343Draft: MooTrackBuilder: Recalibrate NSW hits in refine method,!75729New implementation of ZDC nonlinear FADC correction.,!75703Draft: Update to HI han config for HLT jets,!75184Draft: Update file heavyions_run.config,!74430Draft: Fixing upper bound for Delayed Jet Triggers,!73963Changing the path of the histograms to "Expert" area,!73875updating ID ART reference plots,!73874AtlasCLHEP_RandomGenerators: Fix cppcheck warnings.,!73449Add muon detectors to DarkJetPEBTLA partial event building,!73343Draft: [TrigEgamma] Add photon ringer chains on bootstrap mechanism,!72972Update L1Calo Jet Trigger Efficiency Monitoring algorithm,!72336Fixed TRT calibration crash,!72176Draft: Improving L1TopoOnline chain that now gets no-empty plots. Activating it by default,!72012Draft: Separate JiveXMLConfig.py into Config files,!71876Fix MET trigger name in MissingETMonitoring,!71820Draft: Adding new TLA End-Of-Fill (EOF) chains and removing obsolete DIPZ chains,!71279Draft: ATR-29330: Move L1_4J15 and the HLT chains seeded by it in the MC Menu,!70990Updates to pulse analysis to support new 2016 p+Pb analysis and 2023 Pb+Pb analysis,!70948[TrigEGam] Adding egamma chains to be monitored,!70777Draft: sTGC offline raw monitoring: strip efficiency re-implementation,!70654Update JetMonitoringStandard.py,!70442Draft: Harmonize output folders+collections in ID Alignment monitoring and update DQM han config,!70269Draft: Initial Preparations for mc23e mu-distribution,!70088Use APRDefaults to name the Event Data TTree/RNTuple
/*
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