5#ifndef TrigT2CaloCommon_TrigCaloDataAccessSvc_h
6#define TrigT2CaloCommon_TrigCaloDataAccessSvc_h
40#include <initializer_list>
48 using base_class::base_class;
49 using ITrigCaloDataAccessSvc::Status;
53 virtual StatusCode
finalize()
override;
63 std::vector<const TileCell*>& loadedCells )
override;
65 virtual StatusCode
loadMBTS (
const EventContext& context,
66 std::vector<const TileCell*>& loadedCells )
override;
75 PublicToolHandle<LArRodDecoder>
m_larDecoder {
this,
"LArDecoderTool",
"LArRodDecoder/LArRodDecoder",
"Tool to decode LAr raw data" };
76 PublicToolHandle<TileROD_Decoder>
m_tileDecoder {
this,
"TileDecoderTool",
"TileROD_Decoder/TileROD_Decoder",
"Tool to decode Tile raw data" };
78 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
"Tool to monitor performance of the service" };
90 {
this,
"BCIDAvgKey",
"CaloBCIDAverage",
"SG Key of CaloBCIDAverage object"} ;
92 {
this,
"MCSymKey",
"LArMCSym",
"SG Key of LArMCSym object"} ;
94 {
this,
"CablingKey",
"LArOnOffIdMap",
"SG Key for LArOnOffIdMapping"} ;
96 {
this,
"RodFebKey",
"LArFebRodMap",
"SG Key for LArFebRodMapping"} ;
98 {
this,
"LArBadChannelKey",
"LArBadChannel",
"Key of the LArBadChannelCont CDO" };
100 {
this,
"LArRoIMapKey",
"LArRoIMap",
"Key of the LArRoIMap CDO" };
102 {
this,
"CaloDetDescrManager",
"CaloDetDescrManager",
"SG Key for CaloDetDescrManager in the Condition Store" };
104 {
this,
"TileHid2RESrcID",
"TileHid2RESrcIDHLT",
"SG Key of TileHid2RESrcID object"} ;
106 {
this,
"LArDeadOTXFromSC",
"DeadOTXFromSC",
"Key of the DeadOTXFromSC CDO" };
120 std::unique_ptr<TileROD_Decoder::D0CellsHLT>
d0cells;
136 void lateInit(
const EventContext& context );
146 void missingROBs(
const std::vector<uint32_t>& request,
147 const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>&
response,
148 std::set<uint32_t>& missing )
const;
153 void clearMissing(
const std::vector<uint32_t>& request,
154 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.
CaloCellContainer that can accept const cell pointers.
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
SG::ReadCondHandleKey< TileHid2RESrcID > m_tileHid2RESrcIDKey
StatusCode prepareLArFullCollections(const EventContext &context)
SG::ReadHandleKey< CaloBCIDAverage > m_bcidAvgKey
void lateInit(const EventContext &context)
std::mutex m_lardecoderProtect
void reset_TileCol(TileCellCollection *col)
void convertROBs(const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &robFrags, LArCellCont *larcell, LArRodBlockStructure *&larRodBlockStructure, uint16_t rodMinorVersion, uint32_t robBlockType, const LArDeadOTXFromSC *dead)
StatusCode prepareMBTSCollections(const EventContext &context)
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
std::mutex m_getCollMutex
ToolHandle< IRegSelTool > m_regionSelector_FCALEM
SG::ReadHandleKey< LArDeadOTXFromSC > m_deadOTXFromSCKey
virtual StatusCode loadMBTS(const EventContext &context, std::vector< const TileCell * > &loadedCells) override
SG::ReadCondHandleKey< LArRoIMap > m_larRoIMapKey
std::vector< std::vector< uint32_t > > m_vrodid32fullDetHG
ToolHandle< IRegSelTool > m_regionSelector_TTEM
StatusCode prepareTileFullCollections(const EventContext &context)
SG::SlotSpecificObj< HLTCaloEventCache > m_hLTCaloSlot
StatusCode prepareLArCollections(const EventContext &context, const IRoiDescriptor &roi, const int sampling, DETID detector)
LAr TT collections preparation code.
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
ToolHandle< IRegSelTool > m_regionSelector_FCALHAD
ToolHandle< IRegSelTool > m_regionSelector_TILE
std::once_flag m_lateInitFlag
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
SG::ReadCondHandleKey< LArMCSym > m_mcsymKey
StatusCode prepareTileCollections(const EventContext &context, const IRoiDescriptor &roi)
void reset_LArCol(LArCellCollection *coll)
virtual StatusCode finalize() override
std::vector< IdentifierHash > m_rIdstile
virtual StatusCode loadFullCollections(const EventContext &context, CaloConstCellContainer &cont) override
convience structure to keep together a collection and auxiliar full collection selectors
LArRodBlockStructure * larRodBlockStructure_per_slot
std::unique_ptr< TileCellCont > tileContainer
std::unique_ptr< CaloCellContainer > fullcont
std::unique_ptr< TileROD_Decoder::D0CellsHLT > d0cells
std::unique_ptr< LArCellCont > larContainer