 |
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());
118 ATH_MSG_DEBUG(
"Number of ROB fragments " << vecROBFrags.size());
126 ATH_CHECK(lvl1Collection.
record(std::make_unique<InDetTimeCollection>()));
127 ATH_CHECK(bcIDCollection.
record(std::make_unique<InDetTimeCollection>()));
129 lvl1Collection->reserve(vecROBFrags.size());
130 bcIDCollection->reserve(vecROBFrags.size());
136 uint32_t robID{(robFrag)->rod_source_id()};
138 unsigned int lvl1ID{(robFrag)->rod_lvl1_id()};
139 lvl1Collection->emplace_back(robID, lvl1ID);
141 unsigned int bcID{(robFrag)->rod_bc_id()};
142 bcIDCollection->emplace_back(robID, bcID);
144 ATH_MSG_DEBUG(
"Stored LVL1ID " << lvl1ID <<
" and BCID " << bcID <<
" in InDetTimeCollections");
148 if ( not hashIDs.empty() ) {
154 ATH_MSG_DEBUG(
"Out of: " << hashIDs.size() <<
"Hash IDs missing: " << missingCount );
155 if ( missingCount == 0 ) {
156 return StatusCode::SUCCESS;
160 std::unique_ptr<DataPool<SCT3_RawData>> dataItemsPool =
nullptr;
161 if(!externalCacheRDO){
162 dataItemsPool = std::make_unique<DataPool<SCT3_RawData>>(ctx);
163 dataItemsPool->reserve(10000);
165 dataItemsPool = std::make_unique<DataPool<SCT3_RawData>>(ctx);
171 *(rdoContainer.
ptr()),
176 if (statConv.isFailure() && statConv != StatusCode::RECOVERABLE) {
180 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.
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
size_type wafer_hash_max() const
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.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
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.
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...