Skip to content
Snippets Groups Projects
Commit f8b78693 authored by Soshi Tsuno's avatar Soshi Tsuno
Browse files

update

parent b9ad2b3e
No related branches found
No related tags found
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!33946Replacement InDetBSErrContainer with IDCInDetBSErrContainer (ATLASRECTS-4971)
...@@ -17,6 +17,7 @@ PixelRawDataProvider::PixelRawDataProvider(const std::string& name, ...@@ -17,6 +17,7 @@ PixelRawDataProvider::PixelRawDataProvider(const std::string& name,
ISvcLocator* pSvcLocator) : ISvcLocator* pSvcLocator) :
AthReentrantAlgorithm(name, pSvcLocator) { AthReentrantAlgorithm(name, pSvcLocator) {
declareProperty("RDOCacheKey", m_rdoCacheKey); declareProperty("RDOCacheKey", m_rdoCacheKey);
declareProperty("BSErrorsCacheKey", m_bsErrorsCacheKey);
} }
// Destructor // Destructor
...@@ -50,6 +51,7 @@ StatusCode PixelRawDataProvider::initialize() { ...@@ -50,6 +51,7 @@ StatusCode PixelRawDataProvider::initialize() {
ATH_CHECK( m_rdoCacheKey.initialize( SG::AllowEmpty ) ); ATH_CHECK( m_rdoCacheKey.initialize( SG::AllowEmpty ) );
ATH_CHECK( m_bsErrorsKey.initialize() ); ATH_CHECK( m_bsErrorsKey.initialize() );
ATH_CHECK( m_bsErrorsCacheKey.initialize( SG::AllowEmpty ) );
if (m_roiSeeded) { if (m_roiSeeded) {
ATH_CHECK( m_roiCollectionKey.initialize() ); ATH_CHECK( m_roiCollectionKey.initialize() );
...@@ -133,6 +135,12 @@ StatusCode PixelRawDataProvider::execute(const EventContext& ctx) const { ...@@ -133,6 +135,12 @@ StatusCode PixelRawDataProvider::execute(const EventContext& ctx) const {
static_cast< IPixelRDO_Container* >(rdoContainer.ptr()); static_cast< IPixelRDO_Container* >(rdoContainer.ptr());
std::unique_ptr<IDCInDetBSErrContainer> decodingErrors; std::unique_ptr<IDCInDetBSErrContainer> decodingErrors;
if ( not m_bsErrorsCacheKey.empty() ) {
SG::UpdateHandle<IDCInDetBSErrContainer_Cache> bsErrorsCacheHandle( m_bsErrorsCacheKey, ctx);
decodingErrors = std::make_unique<IDCInDetBSErrContainer>( bsErrorsCacheHandle.ptr() );
} else {
decodingErrors = std::make_unique<IDCInDetBSErrContainer>( m_rawDataTool->SizeOfIDCInDetBSErrContainer(), std::numeric_limits<int>::min() );
}
// ask PixelRawDataProviderTool to decode it and to fill the IDC // ask PixelRawDataProviderTool to decode it and to fill the IDC
if (m_rawDataTool->convert(listOfRobf, containerInterface, *decodingErrors).isFailure()) if (m_rawDataTool->convert(listOfRobf, containerInterface, *decodingErrors).isFailure())
......
...@@ -57,6 +57,7 @@ private: ...@@ -57,6 +57,7 @@ private:
SG::WriteHandleKey<PixelRDO_Container> m_rdoContainerKey { this, "RDOKey", "PixelRDOs"}; SG::WriteHandleKey<PixelRDO_Container> m_rdoContainerKey { this, "RDOKey", "PixelRDOs"};
SG::UpdateHandleKey<PixelRDO_Cache> m_rdoCacheKey; SG::UpdateHandleKey<PixelRDO_Cache> m_rdoCacheKey;
SG::WriteHandleKey<IDCInDetBSErrContainer> m_bsErrorsKey { this, "BSErrorsKey", "PixBSErr"}; SG::WriteHandleKey<IDCInDetBSErrContainer> m_bsErrorsKey { this, "BSErrorsKey", "PixBSErr"};
SG::UpdateHandleKey<IDCInDetBSErrContainer_Cache> m_bsErrorsCacheKey;
SG::ReadCondHandleKey<PixelCablingCondData> m_condCablingKey { this, "PixelCablingCondData", "PixelCablingCondData", "Pixel cabling key"}; SG::ReadCondHandleKey<PixelCablingCondData> m_condCablingKey { this, "PixelCablingCondData", "PixelCablingCondData", "Pixel cabling key"};
}; };
......
...@@ -19,10 +19,6 @@ PixelRawDataProviderTool::PixelRawDataProviderTool(const std::string& type, cons ...@@ -19,10 +19,6 @@ PixelRawDataProviderTool::PixelRawDataProviderTool(const std::string& type, cons
{ {
declareProperty("checkLVL1ID", m_checkLVL1ID = true); declareProperty("checkLVL1ID", m_checkLVL1ID = true);
declareInterface<IPixelRawDataProviderTool>(this); declareInterface<IPixelRawDataProviderTool>(this);
// NEW
declareProperty("BSErrorsCacheKey", m_bsErrorsCacheKey);
} }
PixelRawDataProviderTool::~PixelRawDataProviderTool() {} PixelRawDataProviderTool::~PixelRawDataProviderTool() {}
...@@ -36,8 +32,6 @@ StatusCode PixelRawDataProviderTool::initialize() { ...@@ -36,8 +32,6 @@ StatusCode PixelRawDataProviderTool::initialize() {
ATH_CHECK(m_LVL1CollectionKey.initialize()); ATH_CHECK(m_LVL1CollectionKey.initialize());
ATH_CHECK(m_BCIDCollectionKey.initialize()); ATH_CHECK(m_BCIDCollectionKey.initialize());
ATH_CHECK( m_bsErrorsCacheKey.initialize( SG::AllowEmpty ) );
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
...@@ -47,7 +41,7 @@ StatusCode PixelRawDataProviderTool::finalize() { ...@@ -47,7 +41,7 @@ StatusCode PixelRawDataProviderTool::finalize() {
} }
StatusCode PixelRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecRobs, IPixelRDO_Container* rdoIdc, StatusCode PixelRawDataProviderTool::convert(std::vector<const ROBFragment*>& vecRobs, IPixelRDO_Container* rdoIdc,
IDCInDetBSErrContainer& xdecodingErrors ) const { IDCInDetBSErrContainer& decodingErrors ) const {
if (vecRobs.size()==0) { return StatusCode::SUCCESS; } if (vecRobs.size()==0) { return StatusCode::SUCCESS; }
std::vector<const ROBFragment*>::const_iterator rob_it = vecRobs.begin(); std::vector<const ROBFragment*>::const_iterator rob_it = vecRobs.begin();
...@@ -93,14 +87,6 @@ StatusCode PixelRawDataProviderTool::convert(std::vector<const ROBFragment*>& ve ...@@ -93,14 +87,6 @@ StatusCode PixelRawDataProviderTool::convert(std::vector<const ROBFragment*>& ve
} }
std::unique_ptr<IDCInDetBSErrContainer> decodingErrors;
if ( not m_bsErrorsCacheKey.empty() ) {
SG::UpdateHandle<IDCInDetBSErrContainer_Cache> bsErrorsCacheHandle( m_bsErrorsCacheKey, ctx);
decodingErrors = std::make_unique<IDCInDetBSErrContainer>( bsErrorsCacheHandle.ptr() );
} else {
decodingErrors = std::make_unique<IDCInDetBSErrContainer>( SizeOfIDCInDetBSErrContainer(), std::numeric_limits<int>::min() );
}
// loop over the ROB fragments // loop over the ROB fragments
for (; rob_it!=vecRobs.end(); ++rob_it) { for (; rob_it!=vecRobs.end(); ++rob_it) {
uint32_t robid = (*rob_it)->rob_source_id(); uint32_t robid = (*rob_it)->rob_source_id();
...@@ -122,9 +108,7 @@ StatusCode PixelRawDataProviderTool::convert(std::vector<const ROBFragment*>& ve ...@@ -122,9 +108,7 @@ StatusCode PixelRawDataProviderTool::convert(std::vector<const ROBFragment*>& ve
// here the code for the timing monitoring should be reinserted // here the code for the timing monitoring should be reinserted
// using 1 container per event and subdetector // using 1 container per event and subdetector
StatusCode sc = m_decoder->fillCollection(&**rob_it, rdoIdc, *decodingErrors); StatusCode sc = m_decoder->fillCollection(&**rob_it, rdoIdc, decodingErrors);
xdecodingErrors = *decodingErrors;
const int issuesMessageCountLimit = 100; const int issuesMessageCountLimit = 100;
if (sc==StatusCode::FAILURE) { if (sc==StatusCode::FAILURE) {
......
...@@ -12,9 +12,6 @@ ...@@ -12,9 +12,6 @@
#include "StoreGate/WriteHandleKey.h" #include "StoreGate/WriteHandleKey.h"
#include "InDetRawData/InDetTimeCollection.h" #include "InDetRawData/InDetTimeCollection.h"
// NEW
#include "InDetByteStreamErrors/IDCInDetBSErrContainer.h"
#include "GaudiKernel/EventContext.h" #include "GaudiKernel/EventContext.h"
#include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ToolHandle.h"
...@@ -56,8 +53,6 @@ private: ...@@ -56,8 +53,6 @@ private:
SG::WriteHandleKey<InDetTimeCollection> m_LVL1CollectionKey{this, "LVL1CollectionName", "PixelLVL1ID"}; SG::WriteHandleKey<InDetTimeCollection> m_LVL1CollectionKey{this, "LVL1CollectionName", "PixelLVL1ID"};
SG::WriteHandleKey<InDetTimeCollection> m_BCIDCollectionKey{this, "BCIDCollectionName", "PixelBCID"}; SG::WriteHandleKey<InDetTimeCollection> m_BCIDCollectionKey{this, "BCIDCollectionName", "PixelBCID"};
SG::UpdateHandleKey<IDCInDetBSErrContainer_Cache> m_bsErrorsCacheKey;
mutable std::atomic_int m_DecodeErrCount; mutable std::atomic_int m_DecodeErrCount;
bool m_checkLVL1ID; bool m_checkLVL1ID;
......
...@@ -112,7 +112,7 @@ namespace InDet { ...@@ -112,7 +112,7 @@ namespace InDet {
} }
if( !evtStore()->transientContains<IDCInDetBSErrContainer>(m_decodingErrorsKey) ) { if( !evtStore()->transientContains<IDCInDetBSErrContainer>(m_decodingErrorsKey) ) {
m_decodingErrors = new IDCInDetBSErrContainer(m_id->wafer_hash_max(), std::numeric_limits<int>::min()); m_decodingErrors = new IDCInDetBSErrContainer(m_rawDataTool->SizeOfIDCInDetBSErrContainer(), std::numeric_limits<int>::min());
ATH_CHECK(evtStore()->record(m_decodingErrors, m_decodingErrorsKey)); ATH_CHECK(evtStore()->record(m_decodingErrors, m_decodingErrorsKey));
} else { } else {
ATH_CHECK(evtStore()->retrieve(m_decodingErrors, m_decodingErrorsKey)); ATH_CHECK(evtStore()->retrieve(m_decodingErrors, m_decodingErrorsKey));
......
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