![]() |
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 <JepByteStreamV2Tool.h>
Classes | |
| struct | LocalData |
| struct | JepByteStreamToolData |
| struct | JetElementData |
| struct | EnergySumsData |
| struct | CmxTobData |
| struct | CmxHitsData |
| struct | CmxSumsData |
Public Member Functions | |
| JepByteStreamV2Tool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~JepByteStreamV2Tool () |
| virtual StatusCode | initialize () override |
| virtual StatusCode | finalize () override |
| StatusCode | convert (const EventContext &ctx, const std::string &name, DataVector< LVL1::JetElement > *jeCollection) const |
| Convert ROB fragments to jet elements. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::JetElement > *jeCollection) const |
| StatusCode | convert (const EventContext &ctx, const std::string &name, DataVector< LVL1::JEMEtSums > *etCollection) const |
| Convert ROB fragments to energy sums. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::JEMEtSums > *etCollection) const |
| StatusCode | convert (const EventContext &ctx, const std::string &name, DataVector< LVL1::CMXJetTob > *tobCollection) const |
| Convert ROB fragments to CMX TOBs. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CMXJetTob > *tobCollection) const |
| StatusCode | convert (const EventContext &ctx, const std::string &name, DataVector< LVL1::CMXJetHits > *hitCollection) const |
| Convert ROB fragments to CMX jet hits. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CMXJetHits > *hitCollection) const |
| StatusCode | convert (const EventContext &ctx, const std::string &name, DataVector< LVL1::CMXEtSums > *etCollection) const |
| Convert ROB fragments to CMX energy sums. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CMXEtSums > *etCollection) const |
| StatusCode | convert (const LVL1::JEPBSCollectionV2 *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 | decodeCmxEnergy (CmxEnergySubBlock *subBlock, int trigJem, CmxSumsData &data, LocalData &ld) const |
| Unpack CMX-Energy sub-block. | |
| void | decodeCmxJet (CmxJetSubBlock *subBlock, int trigJem, JepByteStreamToolData &data, LocalData &ld) const |
| Unpack CMX-Jet sub-block. | |
| void | decodeJem (JemSubBlockV2 *subBlock, int trigJem, JepByteStreamToolData &data, LocalData &ld) const |
| Unpack JEM sub-block. | |
| int | tobKey (int crate, int jem, int frame, int loc) const |
| Find TOB map key for given crate, jem, frame, loc. | |
| 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::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::CMXJetTob * | findCmxTob (int key, const ConstCmxTobMap &cmxTobMap) const |
| Find CMX TOB for given key. | |
| LVL1::CMXJetTob * | findCmxTob (const CmxTobData &data, int key) const |
| const LVL1::CMXJetHits * | findCmxHits (int crate, int source, const ConstCmxHitsMap &cmxHitsMap) const |
| Find CMX hits for given crate, source. | |
| LVL1::CMXJetHits * | findCmxHits (const CmxHitsData &data, int crate, int source) const |
| const LVL1::CMXEtSums * | findCmxSums (int crate, int source, const ConstCmxSumsMap &cmxEtMap) const |
| Find CMX energy sums for given crate, source. | |
| LVL1::CMXEtSums * | findCmxSums (const CmxSumsData &data, int crate, int source) const |
| std::vector< uint32_t > | makeSourceIDs () const |
| void | setupJeMap (const JetElementCollection *jeCollection, ConstJetElementMap &jeMap, LVL1::JetElementKey &elementKey) const |
| Set up jet element map. | |
| void | setupEtMap (const EnergySumsCollection *enCollection, ConstEnergySumsMap &etMap) const |
| Set up energy sums map. | |
| void | setupCmxTobMap (const CmxTobCollection *tobCollection, ConstCmxTobMap &cmxTobMap) const |
| Set up CMX TOB map. | |
| void | setupCmxHitsMap (const CmxHitsCollection *hitCollection, ConstCmxHitsMap &cmxHitsMap) const |
| Set up CMX hits map. | |
| void | setupCmxEtMap (const CmxSumsCollection *enCollection, ConstCmxSumsMap &cmxEtMap) const |
| Set up CMX energy sums map. | |
| bool | slinkSlices (int crate, int module, int modulesPerSlink, int ×lices, int &trigJem, const ConstJetElementMap &jeMap, const ConstEnergySumsMap &etMap, const ConstCmxTobMap &cmxTobMap, const ConstCmxHitsMap &cmxHitsMap, const ConstCmxSumsMap &cmxEtMap, LVL1::JetElementKey &elementKey) const |
| Get number of slices and triggered slice offset for next slink. | |
| void | energySubBlockTypes (int source, CmxEnergySubBlock::SourceType &srcType, CmxEnergySubBlock::SumType &sumType, CmxEnergySubBlock::HitsType &hitType) const |
| Get energy subBlock types from CMXEtSums source type. | |
| int | jetSubBlockSourceId (int source) const |
| Get jet hits subBlock source ID from CMXJetHits source type. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| Gaudi::Property< bool > | m_enableEncoding |
| SmartIF< IByteStreamCnvSvc > | m_byteStreamCnvSvc |
| ServiceHandle< IROBDataProviderSvc > | m_robDataProvider |
| 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. | |
| const int | m_frames |
| Number of RoI frames. | |
| const int | m_locations |
| Number of RoI locations. | |
| const int | m_maxTobs |
| Maximum number of TOBs per module. | |
| 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 X_xxx. <<== CHECK
Definition at line 58 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 148 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 156 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 149 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 158 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 147 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 154 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 157 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 159 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 155 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 153 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 151 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 146 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 152 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 145 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 150 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 161 of file JepByteStreamV2Tool.h.
Definition at line 162 of file JepByteStreamV2Tool.h.
Definition at line 163 of file JepByteStreamV2Tool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
private |
| Enumerator | |
|---|---|
| JET_ELEMENTS | |
| ENERGY_SUMS | |
| CMX_TOBS | |
| CMX_HITS | |
| CMX_SUMS | |
Definition at line 142 of file JepByteStreamV2Tool.h.
| LVL1BS::JepByteStreamV2Tool::JepByteStreamV2Tool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 53 of file JepByteStreamV2Tool.cxx.
|
virtual |
Definition at line 100 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const EventContext & | ctx, |
| const std::string & | name, | ||
| DataVector< LVL1::CMXEtSums > * | etCollection ) const |
Convert ROB fragments to CMX energy sums.
Definition at line 223 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const EventContext & | ctx, |
| const std::string & | name, | ||
| DataVector< LVL1::CMXJetHits > * | hitCollection ) const |
Convert ROB fragments to CMX jet hits.
Definition at line 199 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const EventContext & | ctx, |
| const std::string & | name, | ||
| DataVector< LVL1::CMXJetTob > * | tobCollection ) const |
Convert ROB fragments to CMX TOBs.
Definition at line 176 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const EventContext & | ctx, |
| const std::string & | name, | ||
| DataVector< LVL1::JEMEtSums > * | etCollection ) const |
Convert ROB fragments to energy sums.
Definition at line 153 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const EventContext & | ctx, |
| const std::string & | name, | ||
| DataVector< LVL1::JetElement > * | jeCollection ) const |
Convert ROB fragments to jet elements.
Definition at line 130 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const LVL1::JEPBSCollectionV2 * | jep | ) | const |
Convert JEP Container to bytestream.
CMX energy sums map
Definition at line 247 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CMXEtSums > * | etCollection ) const |
Definition at line 236 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CMXJetHits > * | hitCollection ) const |
Definition at line 212 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CMXJetTob > * | tobCollection ) const |
Definition at line 189 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::JEMEtSums > * | etCollection ) const |
Definition at line 166 of file JepByteStreamV2Tool.cxx.
| StatusCode LVL1BS::JepByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::JetElement > * | jeCollection ) const |
Definition at line 143 of file JepByteStreamV2Tool.cxx.
|
private |
Convert bytestream to given container type.
Definition at line 679 of file JepByteStreamV2Tool.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 CMX-Energy sub-block.
Definition at line 879 of file JepByteStreamV2Tool.cxx.
|
private |
Unpack CMX-Jet sub-block.
Definition at line 1058 of file JepByteStreamV2Tool.cxx.
|
private |
Unpack JEM sub-block.
Definition at line 1270 of file JepByteStreamV2Tool.cxx.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
private |
Get energy subBlock types from CMXEtSums source type.
Definition at line 1846 of file JepByteStreamV2Tool.cxx.
|
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 123 of file JepByteStreamV2Tool.cxx.
|
private |
Definition at line 1538 of file JepByteStreamV2Tool.cxx.
|
private |
Find CMX hits for given crate, source.
Definition at line 1529 of file JepByteStreamV2Tool.cxx.
|
private |
Definition at line 1559 of file JepByteStreamV2Tool.cxx.
|
private |
Find CMX energy sums for given crate, source.
Definition at line 1550 of file JepByteStreamV2Tool.cxx.
|
private |
Definition at line 1518 of file JepByteStreamV2Tool.cxx.
|
private |
Find CMX TOB for given key.
Definition at line 1510 of file JepByteStreamV2Tool.cxx.
|
private |
Definition at line 1498 of file JepByteStreamV2Tool.cxx.
|
private |
Find energy sums for given crate, module.
Definition at line 1489 of file JepByteStreamV2Tool.cxx.
|
private |
Definition at line 1475 of file JepByteStreamV2Tool.cxx.
|
private |
Find a jet element given eta, phi.
Definition at line 1464 of file JepByteStreamV2Tool.cxx.
|
overridevirtual |
Definition at line 107 of file JepByteStreamV2Tool.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 46 of file JepByteStreamV2Tool.cxx.
|
private |
Get jet hits subBlock source ID from CMXJetHits source type.
Definition at line 1903 of file JepByteStreamV2Tool.cxx.
|
private |
Definition at line 646 of file JepByteStreamV2Tool.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 CMX energy sums map.
Definition at line 1649 of file JepByteStreamV2Tool.cxx.
|
private |
Set up CMX hits map.
Definition at line 1630 of file JepByteStreamV2Tool.cxx.
|
private |
Set up CMX TOB map.
Definition at line 1608 of file JepByteStreamV2Tool.cxx.
|
private |
Set up energy sums map.
Definition at line 1589 of file JepByteStreamV2Tool.cxx.
|
private |
Set up jet element map.
Definition at line 1570 of file JepByteStreamV2Tool.cxx.
|
private |
Get number of slices and triggered slice offset for next slink.
Definition at line 1668 of file JepByteStreamV2Tool.cxx.
| const std::vector< uint32_t > & LVL1BS::JepByteStreamV2Tool::sourceIDs | ( | ) | const |
Return reference to vector with all possible Source Identifiers.
Definition at line 671 of file JepByteStreamV2Tool.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.
|
private |
Find TOB map key for given crate, jem, frame, loc.
Definition at line 1455 of file JepByteStreamV2Tool.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 118 of file JepByteStreamV2Tool.h.
|
private |
Number of channels per module.
Definition at line 299 of file JepByteStreamV2Tool.h.
|
private |
Property: Maximum crate number when writing out bytestream.
Definition at line 319 of file JepByteStreamV2Tool.h.
|
private |
Property: Minimum crate number when writing out bytestream.
Definition at line 317 of file JepByteStreamV2Tool.h.
|
private |
Property:Hardware crate number offset.
Definition at line 291 of file JepByteStreamV2Tool.h.
|
private |
Property:Software crate number offset.
Definition at line 293 of file JepByteStreamV2Tool.h.
|
private |
Number of crates.
Definition at line 301 of file JepByteStreamV2Tool.h.
|
private |
Property:Data compression format.
Definition at line 297 of file JepByteStreamV2Tool.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 313 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 116 of file JepByteStreamV2Tool.h.
|
private |
Property:Error collection tool.
Definition at line 288 of file JepByteStreamV2Tool.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 315 of file JepByteStreamV2Tool.h.
|
private |
Number of RoI frames.
Definition at line 305 of file JepByteStreamV2Tool.h.
|
private |
Property: Channel mapping tool.
Definition at line 286 of file JepByteStreamV2Tool.h.
|
private |
Number of RoI locations.
Definition at line 307 of file JepByteStreamV2Tool.h.
|
private |
Maximum number of TOBs per module.
Definition at line 309 of file JepByteStreamV2Tool.h.
|
private |
Number of JEM modules per crate.
Definition at line 303 of file JepByteStreamV2Tool.h.
|
private |
Definition at line 284 of file JepByteStreamV2Tool.h.
|
private |
Property: Number of slinks per crate when writing out bytestream.
Definition at line 311 of file JepByteStreamV2Tool.h.
|
private |
Property:ROB source IDs.
Definition at line 321 of file JepByteStreamV2Tool.h.
|
private |
Source ID converter.
Definition at line 325 of file JepByteStreamV2Tool.h.
|
private |
Sub-detector type.
Definition at line 323 of file JepByteStreamV2Tool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
private |
Property:Sub_block header version.
Definition at line 295 of file JepByteStreamV2Tool.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.