![]() |
ATLAS Offline Software
|
Tool to perform ROB fragments to CPM towers, CPM hits and CMM-CP hits, and CP container to raw data conversions. More...
#include <CpByteStreamV1Tool.h>
Classes | |
| struct | CmmHitsData |
| struct | CpByteStreamToolData |
| struct | CpmHitsData |
| struct | CpmTowerData |
| struct | LocalData |
Public Member Functions | |
| CpByteStreamV1Tool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~CpByteStreamV1Tool () |
| virtual StatusCode | initialize () override |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CPMTower > *ttCollection) const |
| Convert ROB fragments to CPM towers. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CPMHits > *hitCollection) const |
| Convert ROB fragments to CPM hits. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CMMCPHits > *hitCollection) const |
| Convert ROB fragments to CMM-CP hits. | |
| StatusCode | convert (const LVL1::CPBSCollectionV1 *cp) const |
| Convert CP Container to bytestream. | |
| const std::vector< uint32_t > & | sourceIDs () const |
| Return reference to vector with all possible Source Identifiers. | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
| AlgTool InterfaceID. | |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| enum | CollectionType { CPM_TOWERS , CPM_HITS , CMM_CP_HITS } |
| typedef DataVector< LVL1::CPMTower > | CpmTowerCollection |
| typedef DataVector< LVL1::CPMHits > | CpmHitsCollection |
| typedef DataVector< LVL1::CMMCPHits > | CmmCpHitsCollection |
| typedef std::map< unsigned int, const LVL1::CPMTower * > | ConstCpmTowerMap |
| typedef std::map< unsigned int, LVL1::CPMTower * > | CpmTowerMap |
| typedef std::map< int, const LVL1::CPMHits * > | ConstCpmHitsMap |
| typedef std::map< int, LVL1::CPMHits * > | CpmHitsMap |
| typedef std::map< int, const LVL1::CMMCPHits * > | ConstCmmCpHitsMap |
| typedef std::map< int, LVL1::CMMCPHits * > | CmmCpHitsMap |
| typedef IROBDataProviderSvc::VROBFRAG::const_iterator | ROBIterator |
| typedef OFFLINE_FRAGMENTS_NAMESPACE::PointerType | ROBPointer |
| typedef OFFLINE_FRAGMENTS_NAMESPACE::PointerType | RODPointer |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| std::vector< uint32_t > | makeSourceIDs () const |
| Create list of all source IDs. | |
| StatusCode | convertBs (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, CpByteStreamToolData &data) const |
| Convert bytestream to given container type. | |
| void | decodeCmmCp (CmmCpSubBlock *subBlock, int trigCmm, CmmHitsData &data, LocalData &ld) const |
| Unpack CMM-CP sub-block. | |
| void | decodeCpm (CpmSubBlockV1 *subBlock, int trigCpm, CpByteStreamToolData &data, LocalData &ld) const |
| Unpack CPM sub-block. | |
| const LVL1::CPMTower * | findCpmTower (unsigned int key, const ConstCpmTowerMap &ttMap) const |
| Find a CPM tower for given key. | |
| LVL1::CPMTower * | findCpmTower (const CpmTowerData &data, unsigned int key) const |
| const LVL1::CPMHits * | findCpmHits (int crate, int module, const ConstCpmHitsMap &hitsMap) const |
| Find CPM hits for given crate, module. | |
| LVL1::CPMHits * | findCpmHits (const CpmHitsData &data, int crate, int module) const |
| const LVL1::CMMCPHits * | findCmmCpHits (int crate, int dataID, const ConstCmmCpHitsMap &cmmHitsMap) const |
| Find CMM-CP hits for given crate, data ID. | |
| LVL1::CMMCPHits * | findCmmCpHits (const CmmHitsData &data, int crate, int dataID) const |
| void | setupCpmTowerMap (const CpmTowerCollection *ttCollection, ConstCpmTowerMap &ttMap, LVL1::TriggerTowerKey &towerKey) const |
| Set up CPM tower map. | |
| void | setupCpmHitsMap (const CpmHitsCollection *hitCollection, ConstCpmHitsMap &hitsMap) const |
| Set up CPM hits map. | |
| void | setupCmmCpHitsMap (const CmmCpHitsCollection *hitCollection, ConstCmmCpHitsMap &cmmHitsMap) const |
| Set up CMM-CP hits map. | |
| bool | slinkSlices (int crate, int module, int modulesPerSlink, int ×lices, int &trigJem, const ConstCpmTowerMap &ttMap, const ConstCpmHitsMap &hitsMap, const ConstCmmCpHitsMap &cmmHitsMap, LVL1::TriggerTowerKey &towerKey) const |
| Get number of slices and triggered slice offset for next slink. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| ServiceHandle< IByteStreamCnvSvc > | m_byteStreamCnvSvc { this, "ByteStreamCnvSvc", "ByteStreamCnvSvc" } |
| ToolHandle< LVL1::IL1CaloMappingTool > | m_cpmMaps |
| Channel mapping tool. | |
| ToolHandle< LVL1BS::L1CaloErrorByteStreamTool > | m_errorTool |
| Error collection tool. | |
| int | m_crateOffsetHw |
| Property: Hardware crate number offset. | |
| int | m_crateOffsetSw |
| Property: Software crate number offset. | |
| int | m_version |
| Property: Sub_block header version. | |
| int | m_dataFormat |
| Property: Data compression format. | |
| const int | m_channels |
| Number of channels per module. | |
| int | m_crates |
| Property: Number of crates. | |
| const int | m_modules |
| Number of CPM modules per crate. | |
| int | m_slinks |
| Property: Number of slinks per crate when writing out bytestream. | |
| int | m_dfltSlices |
| Property: Default number of slices in simulation. | |
| int | m_forceSlices |
| Property: Force number of slices in bytestream. | |
| int | m_crateMin |
| Property: Minimum crate number when writing out bytestream. | |
| int | m_crateMax |
| Property: Maximum crate number when writing out bytestream. | |
| std::vector< uint32_t > | m_sourceIDsProp |
| Property: ROB source IDs. | |
| const eformat::SubDetector | m_subDetector |
| Sub-detector type. | |
| const L1CaloSrcIdMap | m_srcIdMap |
| Source ID converter. | |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Tool to perform ROB fragments to CPM towers, CPM hits and CMM-CP hits, and CP container to raw data conversions.
Based on ROD document version 1_09h.
Definition at line 54 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 119 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 125 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 124 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 122 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 120 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 118 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 123 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 117 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 121 of file CpByteStreamV1Tool.h.
|
private |
Definition at line 126 of file CpByteStreamV1Tool.h.
Definition at line 127 of file CpByteStreamV1Tool.h.
Definition at line 128 of file CpByteStreamV1Tool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
private |
| LVL1BS::CpByteStreamV1Tool::CpByteStreamV1Tool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 47 of file CpByteStreamV1Tool.cxx.
|
virtual |
Definition at line 92 of file CpByteStreamV1Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV1Tool::convert | ( | const LVL1::CPBSCollectionV1 * | cp | ) | const |
Convert CP Container to bytestream.
Vector for current CMM-CP hit0 sub-blocks
Vector for current CMM-CP hit1 sub-blocks
Definition at line 145 of file CpByteStreamV1Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV1Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CMMCPHits > * | hitCollection ) const |
Convert ROB fragments to CMM-CP hits.
Definition at line 134 of file CpByteStreamV1Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV1Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CPMHits > * | hitCollection ) const |
| StatusCode LVL1BS::CpByteStreamV1Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CPMTower > * | ttCollection ) const |
Convert ROB fragments to CPM towers.
Definition at line 112 of file CpByteStreamV1Tool.cxx.
|
private |
Convert bytestream to given container type.
Definition at line 459 of file CpByteStreamV1Tool.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
private |
Unpack CMM-CP sub-block.
Definition at line 651 of file CpByteStreamV1Tool.cxx.
|
private |
Unpack CPM sub-block.
Definition at line 796 of file CpByteStreamV1Tool.cxx.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
private |
Definition at line 1041 of file CpByteStreamV1Tool.cxx.
|
private |
Find CMM-CP hits for given crate, data ID.
Definition at line 1032 of file CpByteStreamV1Tool.cxx.
|
private |
Definition at line 1020 of file CpByteStreamV1Tool.cxx.
|
private |
Find CPM hits for given crate, module.
Definition at line 1010 of file CpByteStreamV1Tool.cxx.
|
private |
Definition at line 999 of file CpByteStreamV1Tool.cxx.
|
private |
Find a CPM tower for given key.
Definition at line 991 of file CpByteStreamV1Tool.cxx.
|
overridevirtual |
Definition at line 99 of file CpByteStreamV1Tool.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
static |
AlgTool InterfaceID.
Definition at line 40 of file CpByteStreamV1Tool.cxx.
|
private |
Create list of all source IDs.
Definition at line 426 of file CpByteStreamV1Tool.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
private |
Set up CMM-CP hits map.
Definition at line 1089 of file CpByteStreamV1Tool.cxx.
|
private |
Set up CPM hits map.
Definition at line 1070 of file CpByteStreamV1Tool.cxx.
|
private |
Set up CPM tower map.
Definition at line 1052 of file CpByteStreamV1Tool.cxx.
|
private |
Get number of slices and triggered slice offset for next slink.
Definition at line 1108 of file CpByteStreamV1Tool.cxx.
| const std::vector< uint32_t > & LVL1BS::CpByteStreamV1Tool::sourceIDs | ( | ) | const |
Return reference to vector with all possible Source Identifiers.
Definition at line 451 of file CpByteStreamV1Tool.cxx.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 86 of file CpByteStreamV1Tool.h.
|
private |
Number of channels per module.
Definition at line 219 of file CpByteStreamV1Tool.h.
|
private |
Channel mapping tool.
Definition at line 206 of file CpByteStreamV1Tool.h.
|
private |
Property: Maximum crate number when writing out bytestream.
Definition at line 233 of file CpByteStreamV1Tool.h.
|
private |
Property: Minimum crate number when writing out bytestream.
Definition at line 231 of file CpByteStreamV1Tool.h.
|
private |
Property: Hardware crate number offset.
Definition at line 211 of file CpByteStreamV1Tool.h.
|
private |
Property: Software crate number offset.
Definition at line 213 of file CpByteStreamV1Tool.h.
|
private |
Property: Number of crates.
Definition at line 221 of file CpByteStreamV1Tool.h.
|
private |
Property: Data compression format.
Definition at line 217 of file CpByteStreamV1Tool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Property: Default number of slices in simulation.
Definition at line 227 of file CpByteStreamV1Tool.h.
|
private |
Error collection tool.
Definition at line 208 of file CpByteStreamV1Tool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Property: Force number of slices in bytestream.
Definition at line 229 of file CpByteStreamV1Tool.h.
|
private |
Number of CPM modules per crate.
Definition at line 223 of file CpByteStreamV1Tool.h.
|
private |
Property: Number of slinks per crate when writing out bytestream.
Definition at line 225 of file CpByteStreamV1Tool.h.
|
private |
Property: ROB source IDs.
Definition at line 235 of file CpByteStreamV1Tool.h.
|
private |
Source ID converter.
Definition at line 239 of file CpByteStreamV1Tool.h.
|
private |
Sub-detector type.
Definition at line 237 of file CpByteStreamV1Tool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
private |
Property: Sub_block header version.
Definition at line 215 of file CpByteStreamV1Tool.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.