![]() |
ATLAS Offline Software
|
Tool to perform ROB fragments to jet elements, jet hits and energy sums, and JEP container to raw data conversions. More...
#include <JepByteStreamV1Tool.h>
Classes | |
| struct | CmmHitsData |
| struct | CmmSumsData |
| struct | EnergySumsData |
| struct | JepByteStreamToolData |
| struct | JetElementData |
| struct | JetHitsData |
| struct | LocalData |
Public Member Functions | |
| JepByteStreamV1Tool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~JepByteStreamV1Tool () |
| virtual StatusCode | initialize () override |
| virtual StatusCode | finalize () override |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::JetElement > *jeCollection) const |
| Convert ROB fragments to jet elements. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::JEMHits > *hitCollection) const |
| Convert ROB fragments to jet hits. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::JEMEtSums > *etCollection) const |
| Convert ROB fragments to energy sums. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CMMJetHits > *hitCollection) const |
| Convert ROB fragments to CMM jet hits. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CMMEtSums > *etCollection) const |
| Convert ROB fragments to CMM energy sums. | |
| StatusCode | convert (const LVL1::JEPBSCollectionV1 *jep) const |
| Convert JEP 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 Member Functions | |
| StatusCode | convertBs (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, JepByteStreamToolData &data) const |
| Convert bytestream to given container type. | |
| void | decodeCmmEnergy (CmmEnergySubBlock *subBlock, int trigCmm, CmmSumsData &data, LocalData &ld) const |
| Unpack CMM-Energy sub-block. | |
| void | decodeCmmJet (CmmJetSubBlock *subBlock, int trigCmm, CmmHitsData &data, LocalData &ld) const |
| Unpack CMM-Jet sub-block. | |
| void | decodeJem (JemSubBlockV1 *subBlock, int trigJem, JepByteStreamToolData &data, LocalData &ld) const |
| Unpack JEM sub-block. | |
| const LVL1::JetElement * | findJetElement (double eta, double phi, const ConstJetElementMap &jeMap, LVL1::JetElementKey &elementKey) const |
| Find a jet element given eta, phi. | |
| LVL1::JetElement * | findJetElement (const JetElementData &data, double eta, double phi, LVL1::JetElementKey &elementKey) const |
| const LVL1::JEMHits * | findJetHits (int crate, int module, const ConstJetHitsMap &hitsMap) const |
| Find jet hits for given crate, module. | |
| LVL1::JEMHits * | findJetHits (const JetHitsData &data, int crate, int module) const |
| const LVL1::JEMEtSums * | findEnergySums (int crate, int module, const ConstEnergySumsMap &etMap) const |
| Find energy sums for given crate, module. | |
| LVL1::JEMEtSums * | findEnergySums (const EnergySumsData &data, int crate, int module) const |
| const LVL1::CMMJetHits * | findCmmHits (int crate, int dataID, const ConstCmmHitsMap &cmmHitsMap) const |
| Find CMM hits for given crate, data ID. | |
| LVL1::CMMJetHits * | findCmmHits (const CmmHitsData &data, int crate, int dataID) const |
| const LVL1::CMMEtSums * | findCmmSums (int crate, int dataID, const ConstCmmSumsMap &cmmEtMap) const |
| Find CMM energy sums for given crate, data ID. | |
| LVL1::CMMEtSums * | findCmmSums (const CmmSumsData &data, int crate, int dataID) const |
| std::vector< uint32_t > | makeSourceIDs () const |
| void | setupJeMap (const JetElementCollection *jeCollection, ConstJetElementMap &jeMap, LVL1::JetElementKey &elementKey) const |
| Set up jet element map. | |
| void | setupHitsMap (const JetHitsCollection *hitCollection, ConstJetHitsMap &hitsMap) const |
| Set up jet hits map. | |
| void | setupEtMap (const EnergySumsCollection *enCollection, ConstEnergySumsMap &etMap) const |
| Set up energy sums map. | |
| void | setupCmmHitsMap (const CmmHitsCollection *hitCollection, ConstCmmHitsMap &cmmHitsMap) const |
| Set up CMM hits map. | |
| void | setupCmmEtMap (const CmmSumsCollection *enCollection, ConstCmmSumsMap &cmmEtMap) const |
| Set up CMM energy sums map. | |
| bool | slinkSlices (int crate, int module, int modulesPerSlink, int ×lices, int &trigJem, const ConstJetElementMap &jeMap, const ConstJetHitsMap &hitsMap, const ConstEnergySumsMap &etMap, const ConstCmmHitsMap &cmmHitsMap, const ConstCmmSumsMap &cmmEtMap, LVL1::JetElementKey &elementKey) 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_jemMaps |
| Property: Channel mapping tool. | |
| ToolHandle< LVL1BS::L1CaloErrorByteStreamTool > | m_errorTool |
| Property: 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. | |
| const int | m_crates |
| Number of crates. | |
| const int | m_modules |
| Number of JEM 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 jet elements, jet hits and energy sums, and JEP container to raw data conversions.
Based on ROD document version 1_09h.
Definition at line 57 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 133 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 141 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 134 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 143 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 142 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 144 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 140 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 136 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 138 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 132 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 139 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 130 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 135 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 131 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 137 of file JepByteStreamV1Tool.h.
|
private |
Definition at line 145 of file JepByteStreamV1Tool.h.
Definition at line 146 of file JepByteStreamV1Tool.h.
Definition at line 147 of file JepByteStreamV1Tool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
private |
| Enumerator | |
|---|---|
| JET_ELEMENTS | |
| JET_HITS | |
| ENERGY_SUMS | |
| CMM_HITS | |
| CMM_SUMS | |
Definition at line 127 of file JepByteStreamV1Tool.h.
| LVL1BS::JepByteStreamV1Tool::JepByteStreamV1Tool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 52 of file JepByteStreamV1Tool.cxx.
|
virtual |
Definition at line 97 of file JepByteStreamV1Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV1Tool::convert | ( | const LVL1::JEPBSCollectionV1 * | jep | ) | const |
Convert JEP Container to bytestream.
Definition at line 179 of file JepByteStreamV1Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV1Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CMMEtSums > * | etCollection ) const |
Convert ROB fragments to CMM energy sums.
Definition at line 168 of file JepByteStreamV1Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV1Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CMMJetHits > * | hitCollection ) const |
Convert ROB fragments to CMM jet hits.
Definition at line 157 of file JepByteStreamV1Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV1Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::JEMEtSums > * | etCollection ) const |
Convert ROB fragments to energy sums.
Definition at line 146 of file JepByteStreamV1Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV1Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::JEMHits > * | hitCollection ) const |
Convert ROB fragments to jet hits.
Definition at line 135 of file JepByteStreamV1Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV1Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::JetElement > * | jeCollection ) const |
Convert ROB fragments to jet elements.
Definition at line 124 of file JepByteStreamV1Tool.cxx.
|
private |
Convert bytestream to given container type.
Definition at line 594 of file JepByteStreamV1Tool.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-Energy sub-block.
Definition at line 803 of file JepByteStreamV1Tool.cxx.
|
private |
Unpack CMM-Jet sub-block.
Definition at line 1091 of file JepByteStreamV1Tool.cxx.
|
private |
Unpack JEM sub-block.
Definition at line 1266 of file JepByteStreamV1Tool.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
|
overridevirtual |
Definition at line 117 of file JepByteStreamV1Tool.cxx.
|
private |
Definition at line 1565 of file JepByteStreamV1Tool.cxx.
|
private |
Find CMM hits for given crate, data ID.
Definition at line 1556 of file JepByteStreamV1Tool.cxx.
|
private |
Definition at line 1586 of file JepByteStreamV1Tool.cxx.
|
private |
Find CMM energy sums for given crate, data ID.
Definition at line 1577 of file JepByteStreamV1Tool.cxx.
|
private |
Definition at line 1544 of file JepByteStreamV1Tool.cxx.
|
private |
Find energy sums for given crate, module.
Definition at line 1535 of file JepByteStreamV1Tool.cxx.
|
private |
Definition at line 1500 of file JepByteStreamV1Tool.cxx.
|
private |
Find a jet element given eta, phi.
Definition at line 1489 of file JepByteStreamV1Tool.cxx.
|
private |
Definition at line 1523 of file JepByteStreamV1Tool.cxx.
|
private |
Find jet hits for given crate, module.
Definition at line 1514 of file JepByteStreamV1Tool.cxx.
|
overridevirtual |
Definition at line 104 of file JepByteStreamV1Tool.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 45 of file JepByteStreamV1Tool.cxx.
|
private |
Definition at line 561 of file JepByteStreamV1Tool.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 energy sums map.
Definition at line 1674 of file JepByteStreamV1Tool.cxx.
|
private |
Set up CMM hits map.
Definition at line 1655 of file JepByteStreamV1Tool.cxx.
|
private |
Set up energy sums map.
Definition at line 1636 of file JepByteStreamV1Tool.cxx.
|
private |
Set up jet hits map.
Definition at line 1617 of file JepByteStreamV1Tool.cxx.
|
private |
Set up jet element map.
Definition at line 1597 of file JepByteStreamV1Tool.cxx.
|
private |
Get number of slices and triggered slice offset for next slink.
Definition at line 1693 of file JepByteStreamV1Tool.cxx.
| const std::vector< uint32_t > & LVL1BS::JepByteStreamV1Tool::sourceIDs | ( | ) | const |
Return reference to vector with all possible Source Identifiers.
Definition at line 586 of file JepByteStreamV1Tool.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 98 of file JepByteStreamV1Tool.h.
|
private |
Number of channels per module.
Definition at line 272 of file JepByteStreamV1Tool.h.
|
private |
Property: Maximum crate number when writing out bytestream.
Definition at line 286 of file JepByteStreamV1Tool.h.
|
private |
Property: Minimum crate number when writing out bytestream.
Definition at line 284 of file JepByteStreamV1Tool.h.
|
private |
Property: Hardware crate number offset.
Definition at line 264 of file JepByteStreamV1Tool.h.
|
private |
Property: Software crate number offset.
Definition at line 266 of file JepByteStreamV1Tool.h.
|
private |
Number of crates.
Definition at line 274 of file JepByteStreamV1Tool.h.
|
private |
Property: Data compression format.
Definition at line 270 of file JepByteStreamV1Tool.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 280 of file JepByteStreamV1Tool.h.
|
private |
Property: Error collection tool.
Definition at line 261 of file JepByteStreamV1Tool.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 282 of file JepByteStreamV1Tool.h.
|
private |
Property: Channel mapping tool.
Definition at line 259 of file JepByteStreamV1Tool.h.
|
private |
Number of JEM modules per crate.
Definition at line 276 of file JepByteStreamV1Tool.h.
|
private |
Property: Number of slinks per crate when writing out bytestream.
Definition at line 278 of file JepByteStreamV1Tool.h.
|
private |
Property: ROB source IDs.
Definition at line 288 of file JepByteStreamV1Tool.h.
|
private |
Source ID converter.
Definition at line 292 of file JepByteStreamV1Tool.h.
|
private |
Sub-detector type.
Definition at line 290 of file JepByteStreamV1Tool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
private |
Property: Sub_block header version.
Definition at line 268 of file JepByteStreamV1Tool.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.