|
ATLAS Offline Software
|
Go to the documentation of this file.
59 return StatusCode::SUCCESS;
68 if (not externalCacheRDO) {
82 ATH_MSG_DEBUG(
"Created IDCInDetBSErrContainer w/o using external cache");
86 ATH_CHECK(bsIDCErrContainer.
record( std::make_unique<IDCInDetBSErrContainer>(cacheHandle.
ptr())) );
87 ATH_MSG_DEBUG(
"Created SCT IDCInDetBSErrContainer using external cache");
91 std::vector<const ROBFragment*> vecROBFrags;
92 std::vector<IdentifierHash> hashIDs;
94 std::vector<uint32_t> rodList;
100 std::vector<uint32_t> listOfROBs;
104 superRoI.
reserve(roiCollection->size());
116 ATH_MSG_DEBUG(
"Number of ROB fragments " << vecROBFrags.size());
124 ATH_CHECK(lvl1Collection.
record(std::make_unique<InDetTimeCollection>()));
125 ATH_CHECK(bcIDCollection.
record(std::make_unique<InDetTimeCollection>()));
127 lvl1Collection->reserve(vecROBFrags.size());
128 bcIDCollection->reserve(vecROBFrags.size());
134 uint32_t robID{(robFrag)->rod_source_id()};
136 unsigned int lvl1ID{(robFrag)->rod_lvl1_id()};
137 lvl1Collection->emplace_back(robID, lvl1ID);
139 unsigned int bcID{(robFrag)->rod_bc_id()};
140 bcIDCollection->emplace_back(robID, bcID);
142 ATH_MSG_DEBUG(
"Stored LVL1ID " << lvl1ID <<
" and BCID " << bcID <<
" in InDetTimeCollections");
146 if ( not hashIDs.empty() ) {
152 ATH_MSG_DEBUG(
"Out of: " << hashIDs.size() <<
"Hash IDs missing: " << missingCount );
153 if ( missingCount == 0 ) {
154 return StatusCode::SUCCESS;
158 std::unique_ptr<DataPool<SCT3_RawData>> dataItemsPool =
nullptr;
159 if(!externalCacheRDO){
160 dataItemsPool = std::make_unique<DataPool<SCT3_RawData>>(ctx);
161 dataItemsPool->reserve(10000);
163 dataItemsPool = std::make_unique<DataPool<SCT3_RawData>>(ctx);
169 *(rdoContainer.
ptr()),
174 if (statConv.isFailure() && statConv != StatusCode::RECOVERABLE) {
178 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
SG::UpdateHandleKey< IDCInDetBSErrContainer_Cache > m_bsErrContainerCacheKey
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
Gaudi::Property< bool > m_useDataPoolWithCache
Boolean to Use DataPool with IDC online Cache.
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
ROB Data Provider for accessing ROB data.
SG::WriteHandleKey< InDetTimeCollection > m_bcIDCollectionKey
Write handle for BC ID Inner Detector time collection.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SCTRawDataProvider(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< bool > m_storeInDetTimeColls
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
pointer_type ptr()
Dereference the pointer.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode initialize() override
Initialize.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
void push_back(const IRoiDescriptor *roi)
add a RoiDescriptor
void reserve(size_t s)
reserve elements in vector
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
SG::UpdateHandleKey< SCT_RDO_Cache > m_rdoContainerCacheKey
Update handle for SCT RDO and Erorrs Cache.
virtual bool tryAddFromCache(IdentifierHash hashId) override final
Looks in the cache to see if item already exists if not it returns false, If it does exist it incorpo...
ToolHandle< ISCT_CablingTool > m_cabling
Providing mappings of online and offline identifiers and also serial numbers.
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
Read handle for Trigger ROI descriptor collection.
SG::WriteHandleKey< IDCInDetBSErrContainer > m_bsIDCErrContainerKey
Write handle for Inner Detector ByteStream error container.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
BooleanProperty m_roiSeeded
Boolean to determine if SCT Raw Data Provider should be run in RoI seeded mode.
size_type wafer_hash_max(void) const
eformat::ROBFragment< PointerType > ROBFragment
SG::WriteHandleKey< InDetTimeCollection > m_lvl1CollectionKey
Write handle for LVL 1 Inner Detector time collection.
SG::WriteHandleKey< SCT_RDO_Container > m_rdoContainerKey
Write handle for SCT RDO container.
virtual StatusCode execute(const EventContext &ctx) const override
Execute.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
#define ATH_MSG_WARNING(x)
ToolHandle< ISCTRawDataProviderTool > m_rawDataTool
Tool to fill Collections of SCT RDO Containers.
bool tryAddFromCache(size_t i)
Returns true if the value is also in the external cache, sets mask to true if it is.
void setComposite(bool b=true)
bool manageConstituents() const
always manage constituents ???
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
ToolHandle< IRegSelTool > m_regionSelector
Region Selector tool for Athena.
const SCT_ID * m_sctID
Identifier helper class for the SCT subdetector that creates compact Identifier objects and Identifie...