Skip to content
Snippets Groups Projects
Commit 7b15a415 authored by Andrea Coccaro's avatar Andrea Coccaro
Browse files

Merge branch 'increase_ROB_buffer_size' into '22.0'

ROBDataProviderSvc and HltROBDataProviderSvc: Increase ROB buffer size

See merge request !54557
parents 7882bcd9 681cd661
No related branches found
No related tags found
4 merge requests!69091Fix correlated smearing bug in JER in JetUncertainties in 22.0,!58791DataQualityConfigurations: Modify L1Calo config for web display,!546092022-06-28: daily merge of 22.0 into master,!54557ROBDataProviderSvc and HltROBDataProviderSvc: Increase ROB buffer size
......@@ -236,7 +236,7 @@ void ROBDataProviderSvc::setNextEvent( const EventContext& context, const RawEve
m_maskL2EFModuleID = (re->nlvl2_trigger_info() != 0);
// get all the ROBFragments
const size_t MAX_ROBFRAGMENTS = 2048;
const size_t MAX_ROBFRAGMENTS = 4096;
OFFLINE_FRAGMENTS_NAMESPACE::PointerType robF[MAX_ROBFRAGMENTS];
OFFLINE_FRAGMENTS_NAMESPACE::PointerType rePointer;
re->start(rePointer);
......
......@@ -13,13 +13,15 @@
// eformat
#include "eformat/Status.h"
#include "eformat/write/FullEventFragment.h" // max number of possible ROB fragments
// Athena
// STL includes
#include <algorithm> // std::find
// Maximum number of ROB fragments in ROB buffer
static const size_t MAX_ROBFRAGMENTS = 4096;
HltROBDataProviderSvc::HltROBDataProviderSvc(const std::string& name, ISvcLocator* pSvcLocator) :
base_class(name, pSvcLocator)
{
......@@ -322,11 +324,11 @@ void HltROBDataProviderSvc::setNextEvent(const EventContext& context, const RawE
//--------------------+
// get all the ROBFragments
OFFLINE_FRAGMENTS_NAMESPACE::PointerType robF[eformat::write::MAX_UNCHECKED_FRAGMENTS];
size_t number_robs = re->children(robF,eformat::write::MAX_UNCHECKED_FRAGMENTS);
if (number_robs == eformat::write::MAX_UNCHECKED_FRAGMENTS) {
OFFLINE_FRAGMENTS_NAMESPACE::PointerType robF[MAX_ROBFRAGMENTS];
size_t number_robs = re->children(robF,MAX_ROBFRAGMENTS);
if (number_robs == MAX_ROBFRAGMENTS) {
ATH_MSG_ERROR("ROB buffer overflow: ROBs found = " << number_robs
<< " Max. number of ROBs allowed = " << eformat::write::MAX_UNCHECKED_FRAGMENTS);
<< " Max. number of ROBs allowed = " << MAX_ROBFRAGMENTS);
}
std::vector<ROBF> rob_fragments;
rob_fragments.reserve(number_robs);
......@@ -542,7 +544,7 @@ int HltROBDataProviderSvc::collectCompleteEventData(const EventContext& context,
if (!m_enabledROBs.value().empty()) {
vRobInfos.reserve( m_enabledROBs.value().size() ) ;
} else {
vRobInfos.reserve( eformat::write::MAX_UNCHECKED_FRAGMENTS ) ;
vRobInfos.reserve( MAX_ROBFRAGMENTS ) ;
}
// Get ROB Fragments for complete event with DataCollector
......
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