ATLAS Offline Software
JepByteStreamV2Tool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1CALOBYTESTREAM_JEPBYTESTREAMV2TOOL_H
6 #define TRIGT1CALOBYTESTREAM_JEPBYTESTREAMV2TOOL_H
7 
8 #include <stdint.h>
9 
10 #include <map>
11 #include <string>
12 #include <vector>
13 
14 #include "L1CaloSrcIdMap.h"
21 #include "eformat/SourceIdentifier.h"
22 #include "GaudiKernel/ToolHandle.h"
23 
24 #include "CmxEnergySubBlock.h"
25 
26 class IInterface;
27 class InterfaceID;
28 class StatusCode;
29 
30 template <class T> class FullEventAssembler;
31 
32 namespace LVL1 {
33  class CMXJetHits;
34  class CMXJetTob;
35  class CMXEtSums;
36  class IL1CaloMappingTool;
37  class JEMEtSums;
38  class JEPBSCollectionV2;
39  class JetElement;
40  class JetElementKey;
41 }
42 
43 namespace LVL1BS {
44 
45 class CmxJetSubBlock;
46 class JemSubBlockV2;
47 class L1CaloErrorByteStreamTool;
48 class L1CaloSrcIdMap;
49 
59 
60  public:
61  JepByteStreamV2Tool(const std::string& type, const std::string& name,
62  const IInterface* parent);
63  virtual ~JepByteStreamV2Tool();
64 
66  static const InterfaceID& interfaceID();
67 
68  virtual StatusCode initialize() override;
69  virtual StatusCode finalize() override;
70 
72  StatusCode convert(const std::string& name,
73  DataVector<LVL1::JetElement>* jeCollection) const;
74  StatusCode convert(const std::string& sgKey,
75  const IROBDataProviderSvc::VROBFRAG& robFrags,
76  DataVector<LVL1::JetElement>* jeCollection) const;
78  StatusCode convert(const std::string& name,
79  DataVector<LVL1::JEMEtSums>* etCollection) const;
80  StatusCode convert(const std::string& sgKey,
81  const IROBDataProviderSvc::VROBFRAG& robFrags,
82  DataVector<LVL1::JEMEtSums>* etCollection) const;
84  StatusCode convert(const std::string& name,
85  DataVector<LVL1::CMXJetTob>* tobCollection) const;
86  StatusCode convert(const std::string& sgKey,
87  const IROBDataProviderSvc::VROBFRAG& robFrags,
88  DataVector<LVL1::CMXJetTob>* tobCollection) const;
90  StatusCode convert(const std::string& name,
91  DataVector<LVL1::CMXJetHits>* hitCollection) const;
92  StatusCode convert(const std::string& sgKey,
93  const IROBDataProviderSvc::VROBFRAG& robFrags,
94  DataVector<LVL1::CMXJetHits>* hitCollection) const;
96  StatusCode convert(const std::string& name,
97  DataVector<LVL1::CMXEtSums>* etCollection) const;
98  StatusCode convert(const std::string& sgKey,
99  const IROBDataProviderSvc::VROBFRAG& robFrags,
100  DataVector<LVL1::CMXEtSums>* etCollection) const;
101 
103  StatusCode convert(const LVL1::JEPBSCollectionV2* jep) const;
104 
106  const std::vector<uint32_t>& sourceIDs() const;
107 
108  private:
109  // Need option to disable dependency on offline ByteStreamCnvSvc to be able to run
110  // decoding in online HLT framework (which uses TrigByteStreamCnvSvc)
111  Gaudi::Property<bool> m_enableEncoding{
112  this, "enableEncoding", true, "Enable conversion from RDO to ByteStream"};
113  SmartIF<ByteStreamCnvSvc> m_byteStreamCnvSvc;
114 
115  struct LocalData
116  {
118  int coreOverlap = 0;
119  // Unpacking error code
120  unsigned int rodErr = 0;
122  std::vector<unsigned int> uintVec0;
124  std::vector<unsigned int> uintVec1;
126  std::vector<unsigned int> uintVec2;
128  std::vector<int> intVec0;
130  std::vector<int> intVec1;
132  std::vector<int> intVec2;
133  // Jet element key provider
135  };
136 
139 
145  typedef std::map<unsigned int, LVL1::JetElement*> JetElementMap;
146  typedef std::map<unsigned int, const LVL1::JetElement*> ConstJetElementMap;
147  typedef std::map<int, LVL1::JEMEtSums*> EnergySumsMap;
148  typedef std::map<int, const LVL1::JEMEtSums*> ConstEnergySumsMap;
149  typedef std::map<int, LVL1::CMXJetTob*> CmxTobMap;
150  typedef std::map<int, const LVL1::CMXJetTob*> ConstCmxTobMap;
151  typedef std::map<int, LVL1::CMXJetHits*> CmxHitsMap;
152  typedef std::map<int, const LVL1::CMXJetHits*> ConstCmxHitsMap;
153  typedef std::map<int, LVL1::CMXEtSums*> CmxSumsMap;
154  typedef std::map<int, const LVL1::CMXEtSums*> ConstCmxSumsMap;
155 
156  typedef IROBDataProviderSvc::VROBFRAG::const_iterator ROBIterator;
159 
161  {
163  : m_collection(collection){}
165  };
167  {
168  JetElementData (JetElementCollection* const jeCollection)
169  : JepByteStreamToolData (JET_ELEMENTS), m_jeCollection (jeCollection) {}
172  };
174  {
175  EnergySumsData (EnergySumsCollection* const etCollection)
176  : JepByteStreamToolData (ENERGY_SUMS), m_etCollection (etCollection) {}
179  };
181  {
182  CmxTobData (CmxTobCollection* const tobCollection)
183  : JepByteStreamToolData (CMX_TOBS), m_cmxTobCollection (tobCollection) {}
186  };
188  {
189  CmxHitsData (CmxHitsCollection* const hitCollection)
190  : JepByteStreamToolData (CMX_HITS), m_cmxHitCollection (hitCollection) {}
193  };
195  {
196  CmxSumsData (CmxSumsCollection* const etCollection)
197  : JepByteStreamToolData (CMX_SUMS), m_cmxEtCollection (etCollection) {}
200  };
201 
203  StatusCode convertBs(const std::string& sgKey,
204  const IROBDataProviderSvc::VROBFRAG& robFrags,
205  JepByteStreamToolData& data) const;
207  void decodeCmxEnergy(CmxEnergySubBlock* subBlock, int trigJem, CmxSumsData& data,
208  LocalData& ld) const;
210  void decodeCmxJet(CmxJetSubBlock* subBlock, int trigJem,
212  LocalData& ld) const;
214  void decodeJem(JemSubBlockV2* subBlock, int trigJem,
216  LocalData& ld) const;
217 
219  int tobKey(int crate, int jem, int frame, int loc) const;
221  const LVL1::JetElement* findJetElement(double eta, double phi,
222  const ConstJetElementMap& jeMap,
223  LVL1::JetElementKey& elementKey) const;
224  LVL1::JetElement* findJetElement(const JetElementData& data, double eta, double phi,
225  LVL1::JetElementKey& elementKey) const;
227  const LVL1::JEMEtSums* findEnergySums(int crate, int module,
228  const ConstEnergySumsMap& etMap) const;
229  LVL1::JEMEtSums* findEnergySums(const EnergySumsData& data, int crate, int module) const;
231  const LVL1::CMXJetTob* findCmxTob(int key,
232  const ConstCmxTobMap& cmxTobMap) const;
233  LVL1::CMXJetTob* findCmxTob(const CmxTobData& data, int key) const;
235  const LVL1::CMXJetHits* findCmxHits(int crate, int source,
236  const ConstCmxHitsMap& cmxHitsMap) const;
237  LVL1::CMXJetHits* findCmxHits(const CmxHitsData& data, int crate, int source) const;
239  const LVL1::CMXEtSums* findCmxSums(int crate, int source,
240  const ConstCmxSumsMap& cmxEtMap) const;
241  LVL1::CMXEtSums* findCmxSums(const CmxSumsData& data, int crate, int source) const;
242 
243  std::vector<uint32_t> makeSourceIDs() const;
244 
246  void setupJeMap(const JetElementCollection* jeCollection,
247  ConstJetElementMap& jeMap,
248  LVL1::JetElementKey& elementKey) const;
250  void setupEtMap(const EnergySumsCollection* enCollection,
251  ConstEnergySumsMap& etMap) const;
253  void setupCmxTobMap(const CmxTobCollection* tobCollection,
254  ConstCmxTobMap& cmxTobMap) const;
256  void setupCmxHitsMap(const CmxHitsCollection* hitCollection,
257  ConstCmxHitsMap& cmxHitsMap) const;
259  void setupCmxEtMap(const CmxSumsCollection* enCollection,
260  ConstCmxSumsMap& cmxEtMap) const;
261 
263  bool slinkSlices(int crate, int module, int modulesPerSlink,
264  int& timeslices, int& trigJem,
265  const ConstJetElementMap& jeMap,
266  const ConstEnergySumsMap& etMap,
267  const ConstCmxTobMap& cmxTobMap,
268  const ConstCmxHitsMap& cmxHitsMap,
269  const ConstCmxSumsMap& cmxEtMap,
270  LVL1::JetElementKey& elementKey) const;
272  void energySubBlockTypes(int source,
275  CmxEnergySubBlock::HitsType& hitType) const;
277  int jetSubBlockSourceId(int source) const;
278 
281  ToolHandle<LVL1::IL1CaloMappingTool> m_jemMaps;
283  ToolHandle<LVL1BS::L1CaloErrorByteStreamTool> m_errorTool;
284 
294  const int m_channels;
296  const int m_crates;
298  const int m_modules;
300  const int m_frames;
302  const int m_locations;
304  const int m_maxTobs;
306  int m_slinks;
316  std::vector<uint32_t> m_sourceIDsProp;
318  const eformat::SubDetector m_subDetector;
321 };
322 
323 } // end namespace
324 
325 #endif
LVL1BS::JepByteStreamV2Tool::decodeJem
void decodeJem(JemSubBlockV2 *subBlock, int trigJem, JepByteStreamToolData &data, LocalData &ld) const
Unpack JEM sub-block.
Definition: JepByteStreamV2Tool.cxx:1266
LVL1BS::JepByteStreamV2Tool::decodeCmxEnergy
void decodeCmxEnergy(CmxEnergySubBlock *subBlock, int trigJem, CmxSumsData &data, LocalData &ld) const
Unpack CMX-Energy sub-block.
Definition: JepByteStreamV2Tool.cxx:872
LVL1BS::JepByteStreamV2Tool::m_forceSlices
int m_forceSlices
Property: Force number of slices in bytestream.
Definition: JepByteStreamV2Tool.h:310
LVL1BS::JepByteStreamV2Tool::findCmxTob
const LVL1::CMXJetTob * findCmxTob(int key, const ConstCmxTobMap &cmxTobMap) const
Find CMX TOB for given key.
Definition: JepByteStreamV2Tool.cxx:1506
LVL1BS::JepByteStreamV2Tool::m_slinks
int m_slinks
Property: Number of slinks per crate when writing out bytestream.
Definition: JepByteStreamV2Tool.h:306
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
LVL1BS::JepByteStreamV2Tool::ENERGY_SUMS
@ ENERGY_SUMS
Definition: JepByteStreamV2Tool.h:137
LVL1BS::JepByteStreamV2Tool::m_version
int m_version
Property:Sub_block header version.
Definition: JepByteStreamV2Tool.h:290
LVL1BS::JepByteStreamV2Tool::JepByteStreamToolData
Definition: JepByteStreamV2Tool.h:161
LVL1BS::JepByteStreamV2Tool::CMX_TOBS
@ CMX_TOBS
Definition: JepByteStreamV2Tool.h:137
LVL1BS::JepByteStreamV2Tool::LocalData::intVec0
std::vector< int > intVec0
Int unpacking vector 0.
Definition: JepByteStreamV2Tool.h:128
xAOD::JEMEtSums
JEMEtSums_v2 JEMEtSums
Define the latest version of the JEMEtSums class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/JEMEtSums.h:15
LVL1BS::JepByteStreamV2Tool::~JepByteStreamV2Tool
virtual ~JepByteStreamV2Tool()
Definition: JepByteStreamV2Tool.cxx:98
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
LVL1BS::JepByteStreamV2Tool::JetElementData::m_jeCollection
JetElementCollection *const m_jeCollection
Definition: JepByteStreamV2Tool.h:170
FullEventAssembler
Template class for assembling a full atlas raw event from subfragments.
Definition: FullEventAssembler.h:40
LVL1BS::JepByteStreamV2Tool::CmxHitsData
Definition: JepByteStreamV2Tool.h:188
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
LVL1BS::JepByteStreamV2Tool::initialize
virtual StatusCode initialize() override
Definition: JepByteStreamV2Tool.cxx:105
LVL1BS::JepByteStreamV2Tool::energySubBlockTypes
void energySubBlockTypes(int source, CmxEnergySubBlock::SourceType &srcType, CmxEnergySubBlock::SumType &sumType, CmxEnergySubBlock::HitsType &hitType) const
Get energy subBlock types from CMXEtSums source type.
Definition: JepByteStreamV2Tool.cxx:1842
LVL1BS::L1CaloSrcIdMap
This class provides conversion between Lower level Source ID to higher level source ID for L1Calo Byt...
Definition: L1CaloSrcIdMap.h:22
JetElementKey.h
LVL1BS::JepByteStreamV2Tool::m_robDataProvider
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Definition: JepByteStreamV2Tool.h:279
LVL1BS::CmxEnergySubBlock::SourceType
SourceType
Definition: CmxEnergySubBlock.h:29
LVL1BS::JepByteStreamV2Tool::tobKey
int tobKey(int crate, int jem, int frame, int loc) const
Find TOB map key for given crate, jem, frame, loc.
Definition: JepByteStreamV2Tool.cxx:1451
LVL1BS::JepByteStreamV2Tool::m_jemMaps
ToolHandle< LVL1::IL1CaloMappingTool > m_jemMaps
Property: Channel mapping tool.
Definition: JepByteStreamV2Tool.h:281
LVL1BS::JepByteStreamV2Tool::CmxHitsData::CmxHitsData
CmxHitsData(CmxHitsCollection *const hitCollection)
Definition: JepByteStreamV2Tool.h:189
LVL1BS::JepByteStreamV2Tool::findJetElement
const LVL1::JetElement * findJetElement(double eta, double phi, const ConstJetElementMap &jeMap, LVL1::JetElementKey &elementKey) const
Find a jet element given eta, phi.
Definition: JepByteStreamV2Tool.cxx:1460
LVL1BS::JepByteStreamV2Tool::m_errorTool
ToolHandle< LVL1BS::L1CaloErrorByteStreamTool > m_errorTool
Property:Error collection tool.
Definition: JepByteStreamV2Tool.h:283
LVL1BS::JepByteStreamV2Tool::JetElementData
Definition: JepByteStreamV2Tool.h:167
LVL1BS::JepByteStreamV2Tool::CmxSumsCollection
DataVector< LVL1::CMXEtSums > CmxSumsCollection
Definition: JepByteStreamV2Tool.h:144
LVL1BS::JepByteStreamV2Tool::ConstEnergySumsMap
std::map< int, const LVL1::JEMEtSums * > ConstEnergySumsMap
Definition: JepByteStreamV2Tool.h:148
LVL1BS::JepByteStreamV2Tool::CmxSumsMap
std::map< int, LVL1::CMXEtSums * > CmxSumsMap
Definition: JepByteStreamV2Tool.h:153
LVL1BS::JepByteStreamV2Tool::sourceIDs
const std::vector< uint32_t > & sourceIDs() const
Return reference to vector with all possible Source Identifiers.
Definition: JepByteStreamV2Tool.cxx:664
LVL1BS::JepByteStreamV2Tool::LocalData::rodErr
unsigned int rodErr
Definition: JepByteStreamV2Tool.h:120
LVL1BS::JepByteStreamV2Tool::finalize
virtual StatusCode finalize() override
Definition: JepByteStreamV2Tool.cxx:121
LVL1BS::JepByteStreamV2Tool::setupCmxEtMap
void setupCmxEtMap(const CmxSumsCollection *enCollection, ConstCmxSumsMap &cmxEtMap) const
Set up CMX energy sums map.
Definition: JepByteStreamV2Tool.cxx:1645
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1BS::JepByteStreamV2Tool::m_dfltSlices
int m_dfltSlices
Property: Default number of slices in simulation.
Definition: JepByteStreamV2Tool.h:308
LVL1BS::JepByteStreamV2Tool::jetSubBlockSourceId
int jetSubBlockSourceId(int source) const
Get jet hits subBlock source ID from CMXJetHits source type.
Definition: JepByteStreamV2Tool.cxx:1899
LVL1BS::JepByteStreamV2Tool::CmxTobData
Definition: JepByteStreamV2Tool.h:181
LVL1BS::JepByteStreamV2Tool::ROBPointer
OFFLINE_FRAGMENTS_NAMESPACE::PointerType ROBPointer
Definition: JepByteStreamV2Tool.h:157
LVL1BS::JepByteStreamV2Tool::CollectionType
CollectionType
Definition: JepByteStreamV2Tool.h:137
LVL1BS::JepByteStreamV2Tool::ConstCmxHitsMap
std::map< int, const LVL1::CMXJetHits * > ConstCmxHitsMap
Definition: JepByteStreamV2Tool.h:152
LVL1BS::JepByteStreamV2Tool::JetElementCollection
DataVector< LVL1::JetElement > JetElementCollection
Definition: JepByteStreamV2Tool.h:140
LVL1BS::JepByteStreamV2Tool::CmxTobData::CmxTobData
CmxTobData(CmxTobCollection *const tobCollection)
Definition: JepByteStreamV2Tool.h:182
LVL1BS::JepByteStreamV2Tool
Tool to perform ROB fragments to jet elements, jet hits and energy sums, and JEP container to raw dat...
Definition: JepByteStreamV2Tool.h:58
LVL1BS::JepByteStreamV2Tool::CmxTobData::m_cmxTobCollection
CmxTobCollection *const m_cmxTobCollection
Definition: JepByteStreamV2Tool.h:184
xAOD::CMXJetTob
CMXJetTob_v1 CMXJetTob
Define the latest version of the CMXJetTob class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CMXJetTob.h:17
LVL1BS::JepByteStreamV2Tool::CmxTobData::m_cmxTobMap
CmxTobMap m_cmxTobMap
Definition: JepByteStreamV2Tool.h:185
LVL1BS::JepByteStreamV2Tool::CmxHitsData::m_cmxHitCollection
CmxHitsCollection *const m_cmxHitCollection
Definition: JepByteStreamV2Tool.h:191
python.PyAthena.module
module
Definition: PyAthena.py:134
LVL1BS::JepByteStreamV2Tool::m_subDetector
const eformat::SubDetector m_subDetector
Sub-detector type.
Definition: JepByteStreamV2Tool.h:318
LVL1BS::JepByteStreamV2Tool::JetElementData::JetElementData
JetElementData(JetElementCollection *const jeCollection)
Definition: JepByteStreamV2Tool.h:168
OFFLINE_FRAGMENTS_NAMESPACE::PointerType
const DataType * PointerType
Definition: RawEvent.h:25
LVL1BS::CmxEnergySubBlock::HitsType
HitsType
Definition: CmxEnergySubBlock.h:28
LVL1BS::JepByteStreamV2Tool::m_crateMax
int m_crateMax
Property: Maximum crate number when writing out bytestream.
Definition: JepByteStreamV2Tool.h:314
LVL1BS::JepByteStreamV2Tool::setupCmxHitsMap
void setupCmxHitsMap(const CmxHitsCollection *hitCollection, ConstCmxHitsMap &cmxHitsMap) const
Set up CMX hits map.
Definition: JepByteStreamV2Tool.cxx:1626
LVL1BS::JepByteStreamV2Tool::ROBIterator
IROBDataProviderSvc::VROBFRAG::const_iterator ROBIterator
Definition: JepByteStreamV2Tool.h:156
LVL1::JetElement
Jet elements are the inputs to the Jet, ETmiss and ETsum triggers.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetElement.h:43
xAOD::JetElement
JetElement_v2 JetElement
Define the latest version of the JetElement class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/JetElement.h:16
LVL1BS::JepByteStreamV2Tool::setupCmxTobMap
void setupCmxTobMap(const CmxTobCollection *tobCollection, ConstCmxTobMap &cmxTobMap) const
Set up CMX TOB map.
Definition: JepByteStreamV2Tool.cxx:1604
LVL1BS::JepByteStreamV2Tool::CmxSumsData::m_cmxEtCollection
CmxSumsCollection *const m_cmxEtCollection
Definition: JepByteStreamV2Tool.h:198
LVL1BS::JepByteStreamV2Tool::CmxSumsData
Definition: JepByteStreamV2Tool.h:195
LVL1::JEPBSCollectionV2
Jet/Energy Processor container for writing bytestream post-LS1.
Definition: JEPBSCollectionV2.h:26
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1BS::JepByteStreamV2Tool::m_enableEncoding
Gaudi::Property< bool > m_enableEncoding
Definition: JepByteStreamV2Tool.h:111
LVL1BS::JepByteStreamV2Tool::LocalData
Definition: JepByteStreamV2Tool.h:116
LVL1BS::JepByteStreamV2Tool::CmxHitsMap
std::map< int, LVL1::CMXJetHits * > CmxHitsMap
Definition: JepByteStreamV2Tool.h:151
LVL1BS::JepByteStreamV2Tool::m_crateOffsetHw
int m_crateOffsetHw
Property:Hardware crate number offset.
Definition: JepByteStreamV2Tool.h:286
LVL1BS::JepByteStreamV2Tool::m_byteStreamCnvSvc
SmartIF< ByteStreamCnvSvc > m_byteStreamCnvSvc
Definition: JepByteStreamV2Tool.h:113
LVL1BS::JepByteStreamV2Tool::ConstCmxTobMap
std::map< int, const LVL1::CMXJetTob * > ConstCmxTobMap
Definition: JepByteStreamV2Tool.h:150
AthAlgTool.h
LVL1BS::JepByteStreamV2Tool::m_maxTobs
const int m_maxTobs
Maximum number of TOBs per module.
Definition: JepByteStreamV2Tool.h:304
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1BS::JepByteStreamV2Tool::CmxSumsData::m_cmxEtMap
CmxSumsMap m_cmxEtMap
Definition: JepByteStreamV2Tool.h:199
LVL1BS::JepByteStreamV2Tool::CMX_SUMS
@ CMX_SUMS
Definition: JepByteStreamV2Tool.h:138
LVL1BS::JepByteStreamV2Tool::EnergySumsMap
std::map< int, LVL1::JEMEtSums * > EnergySumsMap
Definition: JepByteStreamV2Tool.h:147
LVL1BS::JepByteStreamV2Tool::EnergySumsData::m_etCollection
EnergySumsCollection *const m_etCollection
Definition: JepByteStreamV2Tool.h:177
LVL1BS::JepByteStreamV2Tool::findCmxSums
const LVL1::CMXEtSums * findCmxSums(int crate, int source, const ConstCmxSumsMap &cmxEtMap) const
Find CMX energy sums for given crate, source.
Definition: JepByteStreamV2Tool.cxx:1546
IROBDataProviderSvc::VROBFRAG
std::vector< const ROBF * > VROBFRAG
Definition: IROBDataProviderSvc.h:29
LVL1BS::JepByteStreamV2Tool::convertBs
StatusCode convertBs(const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, JepByteStreamToolData &data) const
Convert bytestream to given container type.
Definition: JepByteStreamV2Tool.cxx:672
LVL1BS::JepByteStreamV2Tool::EnergySumsCollection
DataVector< LVL1::JEMEtSums > EnergySumsCollection
Definition: JepByteStreamV2Tool.h:141
LVL1BS::JepByteStreamV2Tool::JET_ELEMENTS
@ JET_ELEMENTS
Definition: JepByteStreamV2Tool.h:137
ByteStreamCnvSvc.h
DataVector< LVL1::JetElement >
LVL1BS::JepByteStreamV2Tool::LocalData::uintVec1
std::vector< unsigned int > uintVec1
Unsigned int unpacking vector 1.
Definition: JepByteStreamV2Tool.h:124
LVL1BS::JepByteStreamV2Tool::JepByteStreamToolData::m_collection
const CollectionType m_collection
Definition: JepByteStreamV2Tool.h:164
LVL1BS::JepByteStreamV2Tool::m_frames
const int m_frames
Number of RoI frames.
Definition: JepByteStreamV2Tool.h:300
xAOD::CMXEtSums
CMXEtSums_v1 CMXEtSums
Define the latest version of the CMXEtSums class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CMXEtSums.h:20
LVL1BS::JepByteStreamV2Tool::m_channels
const int m_channels
Number of channels per module.
Definition: JepByteStreamV2Tool.h:294
LVL1BS::JepByteStreamV2Tool::EnergySumsData::EnergySumsData
EnergySumsData(EnergySumsCollection *const etCollection)
Definition: JepByteStreamV2Tool.h:175
LVL1::JetElementKey
The JetElementKey object provides the key for each JetElement depending on its eta,...
Definition: JetElementKey.h:51
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
LVL1BS::JepByteStreamV2Tool::LocalData::uintVec2
std::vector< unsigned int > uintVec2
Unsigned int unpacking vector 2.
Definition: JepByteStreamV2Tool.h:126
LVL1BS::JepByteStreamV2Tool::CmxHitsCollection
DataVector< LVL1::CMXJetHits > CmxHitsCollection
Definition: JepByteStreamV2Tool.h:143
LVL1BS::CmxJetSubBlock
Sub-Block class for CMX-Jet data post LS1.
Definition: CmxJetSubBlock.h:23
LVL1BS::JepByteStreamV2Tool::CmxSumsData::CmxSumsData
CmxSumsData(CmxSumsCollection *const etCollection)
Definition: JepByteStreamV2Tool.h:196
LVL1::CMXEtSums
CMXEtSums object stores Et sums from the Energy CMXs.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXEtSums.h:27
LVL1BS::JepByteStreamV2Tool::interfaceID
static const InterfaceID & interfaceID()
AlgTool InterfaceID.
Definition: JepByteStreamV2Tool.cxx:44
LVL1BS::JepByteStreamV2Tool::convert
StatusCode convert(const std::string &name, DataVector< LVL1::JetElement > *jeCollection) const
Convert ROB fragments to jet elements.
Definition: JepByteStreamV2Tool.cxx:128
LVL1BS::JepByteStreamV2Tool::m_crateMin
int m_crateMin
Property: Minimum crate number when writing out bytestream.
Definition: JepByteStreamV2Tool.h:312
LVL1BS::JepByteStreamV2Tool::JepByteStreamV2Tool
JepByteStreamV2Tool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: JepByteStreamV2Tool.cxx:51
LVL1BS::JemSubBlockV2
Sub-Block class for JEM data post LS1.
Definition: JemSubBlockV2.h:25
LVL1BS::JepByteStreamV2Tool::EnergySumsData
Definition: JepByteStreamV2Tool.h:174
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
LVL1BS::JepByteStreamV2Tool::slinkSlices
bool slinkSlices(int crate, int module, int modulesPerSlink, int &timeslices, 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.
Definition: JepByteStreamV2Tool.cxx:1664
LVL1BS::JepByteStreamV2Tool::ConstCmxSumsMap
std::map< int, const LVL1::CMXEtSums * > ConstCmxSumsMap
Definition: JepByteStreamV2Tool.h:154
LVL1BS::JepByteStreamV2Tool::m_locations
const int m_locations
Number of RoI locations.
Definition: JepByteStreamV2Tool.h:302
LVL1BS::CmxEnergySubBlock::SumType
SumType
Definition: CmxEnergySubBlock.h:30
LVL1BS::JepByteStreamV2Tool::RODPointer
OFFLINE_FRAGMENTS_NAMESPACE::PointerType RODPointer
Definition: JepByteStreamV2Tool.h:158
LVL1BS::JepByteStreamV2Tool::m_sourceIDsProp
std::vector< uint32_t > m_sourceIDsProp
Property:ROB source IDs.
Definition: JepByteStreamV2Tool.h:316
LVL1BS::JepByteStreamV2Tool::JetElementMap
std::map< unsigned int, LVL1::JetElement * > JetElementMap
Definition: JepByteStreamV2Tool.h:145
LVL1BS::JepByteStreamV2Tool::LocalData::coreOverlap
int coreOverlap
Jet elements to accept (0=Core, 1=Overlap)
Definition: JepByteStreamV2Tool.h:118
LVL1::CMXJetTob
TOB data received by the merger modules.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXJetTob.h:24
LVL1BS::JepByteStreamV2Tool::m_crateOffsetSw
int m_crateOffsetSw
Property:Software crate number offset.
Definition: JepByteStreamV2Tool.h:288
LVL1::JEMEtSums
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMEtSums.h:27
LVL1BS::JepByteStreamV2Tool::CmxHitsData::m_cmxHitsMap
CmxHitsMap m_cmxHitsMap
Definition: JepByteStreamV2Tool.h:192
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1BS::JepByteStreamV2Tool::findCmxHits
const LVL1::CMXJetHits * findCmxHits(int crate, int source, const ConstCmxHitsMap &cmxHitsMap) const
Find CMX hits for given crate, source.
Definition: JepByteStreamV2Tool.cxx:1525
LVL1BS::JepByteStreamV2Tool::EnergySumsData::m_etMap
EnergySumsMap m_etMap
Definition: JepByteStreamV2Tool.h:178
LVL1BS::JepByteStreamV2Tool::JetElementData::m_jeMap
JetElementMap m_jeMap
Definition: JepByteStreamV2Tool.h:171
LVL1BS
Definition: ZdcByteStreamReadV1V2Tool.h:47
LVL1BS::JepByteStreamV2Tool::setupJeMap
void setupJeMap(const JetElementCollection *jeCollection, ConstJetElementMap &jeMap, LVL1::JetElementKey &elementKey) const
Set up jet element map.
Definition: JepByteStreamV2Tool.cxx:1566
LVL1BS::JepByteStreamV2Tool::CmxTobMap
std::map< int, LVL1::CMXJetTob * > CmxTobMap
Definition: JepByteStreamV2Tool.h:149
L1CaloSrcIdMap.h
LVL1BS::JepByteStreamV2Tool::m_srcIdMap
const L1CaloSrcIdMap m_srcIdMap
Source ID converter.
Definition: JepByteStreamV2Tool.h:320
LVL1BS::JepByteStreamV2Tool::JepByteStreamToolData::JepByteStreamToolData
JepByteStreamToolData(const CollectionType collection)
Definition: JepByteStreamV2Tool.h:162
LVL1BS::JepByteStreamV2Tool::CmxTobCollection
DataVector< LVL1::CMXJetTob > CmxTobCollection
Definition: JepByteStreamV2Tool.h:142
LVL1BS::JepByteStreamV2Tool::LocalData::uintVec0
std::vector< unsigned int > uintVec0
Unsigned int unpacking vector 0.
Definition: JepByteStreamV2Tool.h:122
LVL1BS::JepByteStreamV2Tool::LocalData::elementKey
LVL1::JetElementKey elementKey
Definition: JepByteStreamV2Tool.h:134
LVL1BS::JepByteStreamV2Tool::LocalData::intVec2
std::vector< int > intVec2
Int unpacking vector 2.
Definition: JepByteStreamV2Tool.h:132
AthAlgTool
Definition: AthAlgTool.h:26
LVL1BS::JepByteStreamV2Tool::CMX_HITS
@ CMX_HITS
Definition: JepByteStreamV2Tool.h:138
LVL1BS::JepByteStreamV2Tool::LocalData::intVec1
std::vector< int > intVec1
Int unpacking vector 1.
Definition: JepByteStreamV2Tool.h:130
LVL1BS::CmxEnergySubBlock
Sub-Block class for CMX-Energy data post LS1.
Definition: CmxEnergySubBlock.h:23
LVL1BS::JepByteStreamV2Tool::ConstJetElementMap
std::map< unsigned int, const LVL1::JetElement * > ConstJetElementMap
Definition: JepByteStreamV2Tool.h:146
LVL1BS::JepByteStreamV2Tool::decodeCmxJet
void decodeCmxJet(CmxJetSubBlock *subBlock, int trigJem, JepByteStreamToolData &data, LocalData &ld) const
Unpack CMX-Jet sub-block.
Definition: JepByteStreamV2Tool.cxx:1054
LVL1BS::JepByteStreamV2Tool::m_modules
const int m_modules
Number of JEM modules per crate.
Definition: JepByteStreamV2Tool.h:298
geometry_dat_to_json.ld
ld
Definition: geometry_dat_to_json.py:14
IROBDataProviderSvc.h
LVL1::CMXJetHits
Summary of JEP (Jet) hits produced by the merger modules.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXJetHits.h:24
xAOD::CMXJetHits
CMXJetHits_v1 CMXJetHits
Define the latest version of the CMXJetHits class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CMXJetHits.h:20
LVL1BS::JepByteStreamV2Tool::makeSourceIDs
std::vector< uint32_t > makeSourceIDs() const
Definition: JepByteStreamV2Tool.cxx:639
LVL1BS::JepByteStreamV2Tool::m_crates
const int m_crates
Number of crates.
Definition: JepByteStreamV2Tool.h:296
LVL1BS::JepByteStreamV2Tool::findEnergySums
const LVL1::JEMEtSums * findEnergySums(int crate, int module, const ConstEnergySumsMap &etMap) const
Find energy sums for given crate, module.
Definition: JepByteStreamV2Tool.cxx:1485
CmxEnergySubBlock.h
ServiceHandle< IROBDataProviderSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
LVL1BS::JepByteStreamV2Tool::m_dataFormat
int m_dataFormat
Property:Data compression format.
Definition: JepByteStreamV2Tool.h:292
LVL1BS::JepByteStreamV2Tool::setupEtMap
void setupEtMap(const EnergySumsCollection *enCollection, ConstEnergySumsMap &etMap) const
Set up energy sums map.
Definition: JepByteStreamV2Tool.cxx:1585