5#ifndef TrigT2CaloCommon_TrigCaloDataAccessSvc_h
6#define TrigT2CaloCommon_TrigCaloDataAccessSvc_h
39 using ITrigCaloDataAccessSvc::Status;
43 virtual StatusCode
finalize()
override;
53 std::vector<const TileCell*>& loadedCells )
override;
55 virtual StatusCode
loadMBTS (
const EventContext& context,
56 std::vector<const TileCell*>& loadedCells )
override;
65 PublicToolHandle<LArRodDecoder>
m_larDecoder {
this,
"LArDecoderTool",
"LArRodDecoder/LArRodDecoder",
"Tool to decode LAr raw data" };
66 PublicToolHandle<TileROD_Decoder>
m_tileDecoder {
this,
"TileDecoderTool",
"TileROD_Decoder/TileROD_Decoder",
"Tool to decode Tile raw data" };
68 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
"Tool to monitor performance of the service" };
81 {
this,
"MCSymKey",
"LArMCSym",
"SG Key of LArMCSym object"} ;
83 {
this,
"CablingKey",
"LArOnOffIdMap",
"SG Key for LArOnOffIdMapping"} ;
85 {
this,
"RodFebKey",
"LArFebRodMap",
"SG Key for LArFebRodMapping"} ;
87 {
this,
"LArBadChannelKey",
"LArBadChannel",
"Key of the LArBadChannelCont CDO" };
89 {
this,
"LArRoIMapKey",
"LArRoIMap",
"Key of the LArRoIMap CDO" };
91 {
this,
"CaloDetDescrManager",
"CaloDetDescrManager",
"SG Key for CaloDetDescrManager in the Condition Store" };
93 {
this,
"TileHid2RESrcID",
"TileHid2RESrcIDHLT",
"SG Key of TileHid2RESrcID object"} ;
95 {
this,
"LArDeadOTXFromSC",
"DeadOTXFromSC",
"Key of the DeadOTXFromSC CDO" };
100 (*ii)->setEnergyFast(0.0);
105 (tr)->setTime_nonvirt(-100.0F);
106 (tr)->setQuality_nonvirt(
static_cast<unsigned char>(255), 0, 0);
107 (tr)->setQuality_nonvirt(
static_cast<unsigned char>(255), 0, 1);
117 std::vector<IdentifierHash>
ids;
119 void merge(
const std::initializer_list<FullDetIDs>& list ) {
120 for (
auto& el: list ) {
121 std::copy( el.robs.begin(), el.robs.end(), std::back_inserter(
robs) );
122 std::copy( el.ids.begin(), el.ids.end(), std::back_inserter(
ids) );
153 unsigned int lateInit(
const EventContext& context );
163 void missingROBs(
const std::vector<uint32_t>& request,
164 const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>&
response,
165 std::set<uint32_t>& missing )
const;
170 void clearMissing(
const std::vector<uint32_t>& request,
171 const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>&
response,
Maintain a set of objects, one per slot.
Definition of CaloDetDescrManager.
Mapping between calorimeter trigger id to offline/online Identifier.
DETID
An enum to define subdetector names.
Property holding a SG store/key/clid from which a ReadHandle is made.
Container class for CaloCell.
CaloCellContainer that can accept const cell pointers.
DataModel_detail::iterator< DataVector > iterator
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
Describes the API of the Region of Ineterest geometry.
Container Class for LArCell in a ROB used by EF.
Class which contains statically allocated LArCellCollections.
Property holding a SG store/key/clid from which a ReadHandle is made.
Maintain a set of objects, one per slot.
This class builds the Tile cells.
PublicToolHandle< TileROD_Decoder > m_tileDecoder
std::vector< unsigned int > m_mbts_add_rods
ToolHandle< IRegSelTool > m_regionSelector_TTHEC
unsigned int prepareLArFullCollections(const EventContext &context)
SG::ReadCondHandleKey< TileHid2RESrcID > m_tileHid2RESrcIDKey
SG::ReadHandleKey< CaloBCIDAverage > m_bcidAvgKey
std::mutex m_lardecoderProtect
void reset_TileCol(TileCellCollection *col)
void clearMissing(const std::vector< uint32_t > &request, const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &response, LArCellCont *larcell)
clear fragments of the collection for which ROBs were not available
SG::ReadCondHandleKey< LArFebRodMapping > m_febRodMappingKey
Gaudi::Property< bool > m_applyOffsetCorrection
SG::ReadCondHandleKey< LArOnOffIdMapping > m_onOffIdMappingKey
std::vector< uint32_t > m_vrodid32tile
std::mutex m_tiledecoderProtect
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
PublicToolHandle< LArRodDecoder > m_larDecoder
ToolHandle< GenericMonitoringTool > m_monTool
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
virtual StatusCode initialize() override
virtual StatusCode loadCollections(const EventContext &context, const IRoiDescriptor &roi, const DETID detID, const int sampling, LArTT_Selector< LArCellCont > &loadedCells) override
TrigCaloDataAccessSvc(const std::string &name, ISvcLocator *pSvcLocator)
std::mutex m_getCollMutex
ToolHandle< IRegSelTool > m_regionSelector_FCALEM
unsigned int lateInit(const EventContext &context)
SG::ReadHandleKey< LArDeadOTXFromSC > m_deadOTXFromSCKey
virtual StatusCode loadMBTS(const EventContext &context, std::vector< const TileCell * > &loadedCells) override
unsigned int prepareTileFullCollections(const EventContext &context)
SG::ReadCondHandleKey< LArRoIMap > m_larRoIMapKey
std::vector< std::vector< uint32_t > > m_vrodid32fullDetHG
ToolHandle< IRegSelTool > m_regionSelector_TTEM
SG::SlotSpecificObj< HLTCaloEventCache > m_hLTCaloSlot
std::vector< unsigned int > m_insertedCells
void missingROBs(const std::vector< uint32_t > &request, const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &response, std::set< uint32_t > &missing) const
fill the set of missing robs given the request and response from RoBDatProvider
std::vector< uint32_t > m_vrodid32fullDet
const std::vector< unsigned int > * m_mbts_rods
ToolHandle< IRegSelTool > m_regionSelector_FCALHAD
unsigned int prepareLArCollections(const EventContext &context, const IRoiDescriptor &roi, const int sampling, DETID detector)
LAr TT collections preparation code.
ToolHandle< IRegSelTool > m_regionSelector_TILE
unsigned int convertROBs(const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &robFrags, LArCellCont *larcell, LArRodBlockStructure *&larRodBlockStructure, uint16_t rodMinorVersion, uint32_t robBlockType, const LArDeadOTXFromSC *dead)
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
unsigned int prepareFullCollections(const EventContext &context)
SG::ReadCondHandleKey< LArMCSym > m_mcsymKey
void reset_LArCol(LArCellCollection *coll)
virtual StatusCode finalize() override
unsigned int prepareTileCollections(const EventContext &context, const IRoiDescriptor &roi)
std::vector< IdentifierHash > m_rIdstile
virtual StatusCode loadFullCollections(const EventContext &context, CaloConstCellContainer &cont) override
unsigned int prepareMBTSCollections(const EventContext &context)
Convenience structure to keep together all ROBs and IdentifierHashes for whole detectors.
std::vector< IdentifierHash > ids
std::vector< uint32_t > robs
void merge(const std::initializer_list< FullDetIDs > &list)
convience structure to keep together a collection and auxiliar full collection selectors
LArCellCont * larContainer
LArRodBlockStructure * larRodBlockStructure_per_slot
CaloCellContainer * fullcont
TileCellCont * tileContainer
TileROD_Decoder::D0CellsHLT * d0cells