ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
LVL1BS::JepRoiByteStreamTool Class Reference

Tool to perform ROB fragments to JEM RoI and CMM RoI, and JEP RoI container to raw data conversions. More...

#include <JepRoiByteStreamTool.h>

Inheritance diagram for LVL1BS::JepRoiByteStreamTool:
Collaboration diagram for LVL1BS::JepRoiByteStreamTool:

Public Member Functions

 JepRoiByteStreamTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~JepRoiByteStreamTool ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
StatusCode convert (const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::JEMRoI > *jeCollection) const
 Convert ROB fragments to JEM RoIs. More...
 
StatusCode convert (const IROBDataProviderSvc::VROBFRAG &robFrags, LVL1::CMMRoI *cmCollection) const
 Convert ROB fragments to CMM RoIs. More...
 
StatusCode convert (const LVL1::JEPRoIBSCollection *jep) const
 Convert JEP RoI Container to bytestream. More...
 
const std::vector< uint32_t > & sourceIDs (const std::string &sgKey) const
 Return reference to vector with all possible Source Identifiers. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool InterfaceID. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
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. More...
 

Private Types

typedef DataVector< LVL1::JEMRoIJemRoiCollection
 
typedef DataVector< LVL1::CMMJetHitsCmmHitsCollection
 
typedef DataVector< LVL1::CMMEtSumsCmmSumsCollection
 
typedef std::map< uint32_t, const LVL1::JEMRoI * > JemRoiMap
 
typedef std::map< int, const LVL1::CMMJetHits * > CmmHitsMap
 
typedef std::map< int, const LVL1::CMMEtSums * > CmmSumsMap
 
typedef IROBDataProviderSvc::VROBFRAG::const_iterator ROBIterator
 
typedef OFFLINE_FRAGMENTS_NAMESPACE::PointerType ROBPointer
 
typedef OFFLINE_FRAGMENTS_NAMESPACE::PointerType RODPointer
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode convertBs (const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::JEMRoI > *jeCollection, LVL1::CMMRoI *cmCollection) const
 Convert bytestream to given container type. More...
 
const LVL1::CMMJetHitsfindCmmHits (int crate, int dataID, const CmmHitsMap &cmmHitsMap) const
 Find CMM hits for given crate, data ID. More...
 
const LVL1::CMMEtSumsfindCmmSums (int crate, int dataID, const CmmSumsMap &cmmEtMap) const
 Find CMM energy sums for given crate, data ID. More...
 
std::vector< uint32_t > makeSourceIDs (bool roiDaq) const
 
void setupJemRoiMap (const JemRoiCollection *jeCollection, JemRoiMap &roiMap) const
 Set up JEM RoIs map. More...
 
void setupCmmHitsMap (const CmmHitsCollection *hitCollection, CmmHitsMap &cmmHitsMap) const
 Set up CMM hits map. More...
 
void setupCmmEtMap (const CmmSumsCollection *enCollection, CmmSumsMap &cmmEtMap) const
 Set up CMM energy sums map. More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

ServiceHandle< IByteStreamCnvSvcm_byteStreamCnvSvc { this, "ByteStreamCnvSvc", "ByteStreamCnvSvc" }
 
ToolHandle< LVL1BS::L1CaloErrorByteStreamToolm_errorTool
 Error collection tool. More...
 
int m_crateOffsetHw
 Property: Hardware crate number offset. More...
 
int m_crateOffsetSw
 Property: Software crate number offset. More...
 
int m_version
 Property: Sub_block header version. More...
 
int m_dataFormat
 Property: Data compression format. More...
 
const int m_crates
 Number of crates. More...
 
const int m_modules
 Number of JEM modules per crate. More...
 
int m_slinks
 Property: Number of slinks per crate when writing out bytestream. More...
 
std::vector< uint32_t > m_sourceIDsProp
 Property: ROB source IDs. More...
 
std::vector< uint32_t > m_sourceIDsRoIBProp
 Property: ROB source IDs for RoIB. More...
 
const eformat::SubDetector m_subDetector
 Sub-detector type. More...
 
const L1CaloSrcIdMap m_srcIdMap
 Source ID converter. More...
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Tool to perform ROB fragments to JEM RoI and CMM RoI, and JEP RoI container to raw data conversions.

Based on ROD document version 1_09h.

Author
Peter Faulkner

Definition at line 53 of file JepRoiByteStreamTool.h.

Member Typedef Documentation

◆ CmmHitsCollection

Definition at line 84 of file JepRoiByteStreamTool.h.

◆ CmmHitsMap

Definition at line 87 of file JepRoiByteStreamTool.h.

◆ CmmSumsCollection

Definition at line 85 of file JepRoiByteStreamTool.h.

◆ CmmSumsMap

Definition at line 88 of file JepRoiByteStreamTool.h.

◆ JemRoiCollection

Definition at line 83 of file JepRoiByteStreamTool.h.

◆ JemRoiMap

typedef std::map<uint32_t, const LVL1::JEMRoI*> LVL1BS::JepRoiByteStreamTool::JemRoiMap
private

Definition at line 86 of file JepRoiByteStreamTool.h.

◆ ROBIterator

typedef IROBDataProviderSvc::VROBFRAG::const_iterator LVL1BS::JepRoiByteStreamTool::ROBIterator
private

Definition at line 89 of file JepRoiByteStreamTool.h.

◆ ROBPointer

Definition at line 90 of file JepRoiByteStreamTool.h.

◆ RODPointer

Definition at line 91 of file JepRoiByteStreamTool.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ JepRoiByteStreamTool()

LVL1BS::JepRoiByteStreamTool::JepRoiByteStreamTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 47 of file JepRoiByteStreamTool.cxx.

51  m_errorTool("LVL1BS::L1CaloErrorByteStreamTool/L1CaloErrorByteStreamTool"),
52  m_crates(2), m_modules(16),
53  m_subDetector (eformat::TDAQ_CALO_JET_PROC_ROI)
54 {
55  declareInterface<JepRoiByteStreamTool>(this);
56 
57  declareProperty("CrateOffsetHw", m_crateOffsetHw = 12,
58  "Offset of JEP crate numbers in bytestream");
59  declareProperty("CrateOffsetSw", m_crateOffsetSw = 0,
60  "Offset of JEP crate numbers in RDOs");
61 
62  // Properties for reading bytestream only
63  declareProperty("ROBSourceIDs", m_sourceIDsProp,
64  "ROB fragment source identifiers");
65  declareProperty("ROBSourceIDsRoIB", m_sourceIDsRoIBProp,
66  "ROB fragment source identifiers");
67 
68  // Properties for writing bytestream only
69  declareProperty("DataVersion", m_version = 1,
70  "Format version number in sub-block header");
71  declareProperty("DataFormat", m_dataFormat = 1,
72  "Format identifier (0-1) in sub-block header");
73  declareProperty("SlinksPerCrate", m_slinks = 1,
74  "The number of S-Links per crate");
75 
76 }

◆ ~JepRoiByteStreamTool()

LVL1BS::JepRoiByteStreamTool::~JepRoiByteStreamTool ( )
virtual

Definition at line 80 of file JepRoiByteStreamTool.cxx.

81 {
82 }

Member Function Documentation

◆ convert() [1/3]

StatusCode LVL1BS::JepRoiByteStreamTool::convert ( const IROBDataProviderSvc::VROBFRAG robFrags,
DataVector< LVL1::JEMRoI > *  jeCollection 
) const

Convert ROB fragments to JEM RoIs.

Definition at line 106 of file JepRoiByteStreamTool.cxx.

109 {
110  return convertBs(robFrags, jeCollection, nullptr);
111 }

◆ convert() [2/3]

StatusCode LVL1BS::JepRoiByteStreamTool::convert ( const IROBDataProviderSvc::VROBFRAG robFrags,
LVL1::CMMRoI cmCollection 
) const

Convert ROB fragments to CMM RoIs.

Definition at line 115 of file JepRoiByteStreamTool.cxx.

118 {
119  return convertBs(robFrags, nullptr, cmCollection);
120 }

◆ convert() [3/3]

StatusCode LVL1BS::JepRoiByteStreamTool::convert ( const LVL1::JEPRoIBSCollection jep) const

Convert JEP RoI Container to bytestream.

Sub-block for neutral format

Definition at line 124 of file JepRoiByteStreamTool.cxx.

126 {
127  const bool debug = msgLvl(MSG::DEBUG);
128  if (debug) msg(MSG::DEBUG);
129 
130  // Get the event assembler
131  FullEventAssembler<L1CaloSrcIdMap>* fea = nullptr;
132  ATH_CHECK( m_byteStreamCnvSvc->getFullEventAssembler (fea,
133  "JepRoiByteStream") );
134  const uint16_t minorVersion = m_srcIdMap.minorVersion();
135  fea->setRodMinorVersion(minorVersion);
136 
137  // Pointer to ROD data vector
138 
140 
142  JemRoiSubBlock subBlock;
143 
144  // Set up the container maps
145 
146  const bool neutralFormat = m_dataFormat == L1CaloSubBlock::NEUTRAL;
147 
148  // JEM RoI map
149  JemRoiMap roiMap;
150  setupJemRoiMap(jep->JemRoi(), roiMap);
151  JemRoiMap::const_iterator mapIter = roiMap.begin();
152  JemRoiMap::const_iterator mapIterEnd = roiMap.end();
153 
154  // CMM hits map
155  CmmHitsMap cmmHitsMap;
156  // CMM energy sums map
157  CmmSumsMap cmmEtMap;
158  if (neutralFormat) {
159  setupCmmHitsMap(jep->CmmHits(), cmmHitsMap);
160  setupCmmEtMap(jep->CmmSums(), cmmEtMap);
161  }
162 
163  // Loop over JEM RoI data
164 
165  const int modulesPerSlink = m_modules / m_slinks;
166  for (int crate = 0; crate < m_crates; ++crate) {
167  const int hwCrate = crate + m_crateOffsetHw;
168 
169  for (int module = 0; module < m_modules; ++module) {
170 
171  // Pack required number of modules per slink
172 
173  if (module % modulesPerSlink == 0) {
174  const int daqOrRoi = 1;
175  const int slink = module / modulesPerSlink;
176  if (debug) {
177  msg() << "Treating crate " << hwCrate
178  << " slink " << slink << endmsg
179  << "Data Version/Format: " << m_version
180  << " " << m_dataFormat << endmsg;
181  }
182  const uint32_t rodIdJem = m_srcIdMap.getRodID(hwCrate, slink, daqOrRoi,
183  m_subDetector);
184  theROD = fea->getRodData(rodIdJem);
185  if (neutralFormat) {
186  const L1CaloUserHeader userHeader;
187  theROD->push_back(userHeader.header());
188  }
189  }
190  if (debug) msg() << "JEM Module " << module << endmsg;
191  if (!theROD) break; // for coverity, shouldn't happen
192 
193  // Create a sub-block (Neutral format only)
194 
195  if (neutralFormat) {
196  subBlock.clear();
197  subBlock.setRoiHeader(m_version, hwCrate, module);
198  }
199 
200  // Find JEM RoIs for this module
201 
202  for (; mapIter != mapIterEnd; ++mapIter) {
203  const LVL1::JEMRoI* const roi = mapIter->second;
204  if (roi->crate() < crate) continue;
205  if (roi->crate() > crate) break;
206  if (roi->jem() < module) continue;
207  if (roi->jem() > module) break;
208  if (roi->hits() || roi->error()) {
209  if (neutralFormat) subBlock.fillRoi(*roi);
210  else theROD->push_back(roi->roiWord());
211  }
212  }
213 
214  // Pack and write the sub-block
215 
216  if (neutralFormat) {
217  if ( !subBlock.pack()) {
218  msg(MSG::ERROR) << "JEM RoI sub-block packing failed" << endmsg;
219  return StatusCode::FAILURE;
220  }
221  if (debug) {
222  msg() << "JEM RoI sub-block data words: "
223  << subBlock.dataWords() << endmsg;
224  }
225  subBlock.write(theROD);
226  }
227  }
228  if (!theROD) break; // for coverity, shouldn't happen
229 
230  // Append CMM RoIs to last S-Link of the system crate
231 
232  if (crate != m_crates - 1) continue;
233 
234  // Create sub-blocks for Neutral format
235 
236  if (neutralFormat) {
237  const int timeslices = 1;
238  const int slice = 0;
239 
240  // CMM-Energy
241 
242  CmmEnergySubBlock enBlock;
243  const int cmmEnergyVersion = 2; // with Missing-ET-Sig
244  enBlock.setCmmHeader(cmmEnergyVersion, m_dataFormat, slice, hwCrate,
246  CmmSubBlock::LEFT, timeslices);
247  int maxDataID = static_cast<int>(LVL1::CMMEtSums::MAXID);
248  for (int dataID = 0; dataID < maxDataID; ++dataID) {
249  int source = dataID;
250  if (dataID >= m_modules) {
251  // coverity[mixed_enums : FALSE]
252  // coverity[switch_on_enum : FALSE]
253  // coverity[first_enum_type : FALSE]
254  switch (dataID) {
257  break;
260  break;
263  break;
267  break;
268  default:
269  continue;
270  }
271  }
272  const LVL1::CMMEtSums* const sums = findCmmSums(crate, dataID, cmmEtMap);
273  if ( sums ) {
274  const unsigned int ex = sums->Ex();
275  const unsigned int ey = sums->Ey();
276  const unsigned int et = sums->Et();
277  const int exErr = sums->ExError();
278  const int eyErr = sums->EyError();
279  const int etErr = sums->EtError();
280  if (dataID == LVL1::CMMEtSums::MISSING_ET_MAP) {
281  enBlock.setMissingEtHits(slice, et);
282  } else if (dataID == LVL1::CMMEtSums::SUM_ET_MAP) {
283  enBlock.setSumEtHits(slice, et);
284  } else if (dataID == LVL1::CMMEtSums::MISSING_ET_SIG_MAP) {
285  enBlock.setMissingEtSigHits(slice, et);
286  } else {
287  enBlock.setSubsums(slice, source, ex, ey, et, exErr, eyErr, etErr);
288  }
289  }
290  }
291  if ( !enBlock.pack()) {
292  msg(MSG::ERROR) << "CMM-Energy sub-block packing failed" << endmsg;
293  return StatusCode::FAILURE;
294  }
295  if (debug) {
296  msg() << "CMM-Energy sub-block data words: "
297  << enBlock.dataWords() << endmsg;
298  }
299  enBlock.write(theROD);
300 
301  // CMM-Jet
302 
303  CmmJetSubBlock jetBlock;
304  jetBlock.setCmmHeader(m_version, m_dataFormat, slice, hwCrate,
306  CmmSubBlock::RIGHT, timeslices);
307  maxDataID = static_cast<int>(LVL1::CMMJetHits::MAXID);
308  for (int dataID = 0; dataID < maxDataID; ++dataID) {
309  int source = dataID;
310  if (dataID >= m_modules) {
311  // coverity[mixed_enums : FALSE]
312  // coverity[switch_on_enum : FALSE]
313  // coverity[first_enum_type : FALSE]
314  switch (dataID) {
317  break;
320  break;
323  break;
326  break;
329  break;
332  break;
334  break;
335  default:
336  continue;
337  }
338  }
339  const LVL1::CMMJetHits* const ch = findCmmHits(crate, dataID, cmmHitsMap);
340  if ( ch ) {
341  const unsigned int hits = ch->Hits();
342  const int errs = ch->Error();
343  if (dataID == LVL1::CMMJetHits::ET_MAP) {
344  jetBlock.setJetEtMap(slice, hits);
345  } else {
346  jetBlock.setJetHits(slice, source, hits, errs);
347  }
348  }
349  }
350  if ( !jetBlock.pack()) {
351  msg(MSG::ERROR) << "CMM-Jet sub-block packing failed" << endmsg;
352  return StatusCode::FAILURE;
353  }
354  if (debug) {
355  msg() << "CMM-Jet sub-block data words: "
356  << jetBlock.dataWords() << endmsg;
357  }
358  jetBlock.write(theROD);
359 
360  } else {
361 
362  // Standard format
363 
364  const LVL1::CMMRoI* const roi = jep->CmmRoi();
365  if ( roi ) {
366  // Make sure word IDs are correct
367  const LVL1::CMMRoI roid(roi->jetEtHits(), roi->sumEtHits(),
368  roi->missingEtHits(), roi->missingEtSigHits(),
369  roi->ex(), roi->ey(), roi->et(),
370  roi->jetEtError(), roi->sumEtError(),
371  roi->missingEtError(), roi->missingEtSigError(),
372  roi->exError(), roi->eyError(), roi->etError());
373  if (roid.jetEtHits() || roid.jetEtError()) {
374  theROD->push_back(roid.jetEtRoiWord());
375  }
376  // CMM-Energy RoIs are not zero-supressed unless all are zero
377  if (roid.sumEtHits() || roid.missingEtHits() ||
378  roid.missingEtSigHits() || roid.ex() || roid.ey() || roid.et() ||
379  roid.sumEtError() || roid.missingEtError() ||
380  roid.missingEtSigError() || roid.exError() || roid.eyError() ||
381  roid.etError()) {
382  theROD->push_back(roid.energyRoiWord0());
383  theROD->push_back(roid.energyRoiWord1());
384  theROD->push_back(roid.energyRoiWord2());
385  }
386  }
387  }
388  }
389 
390  return StatusCode::SUCCESS;
391 }

◆ convertBs()

StatusCode LVL1BS::JepRoiByteStreamTool::convertBs ( const IROBDataProviderSvc::VROBFRAG robFrags,
DataVector< LVL1::JEMRoI > *  jeCollection,
LVL1::CMMRoI cmCollection 
) const
private

Convert bytestream to given container type.

Definition at line 449 of file JepRoiByteStreamTool.cxx.

453 {
454  const bool debug = msgLvl(MSG::DEBUG);
455  if (debug) msg(MSG::DEBUG);
456 
457  // Loop over ROB fragments
458 
459  int robCount = 0;
460  std::set<uint32_t> dupCheck;
461  std::set<uint32_t> dupRoiCheck;
462  ROBIterator rob = robFrags.begin();
463  ROBIterator robEnd = robFrags.end();
464  for (; rob != robEnd; ++rob) {
465 
466  if (debug) {
467  ++robCount;
468  msg() << "Treating ROB fragment " << robCount << endmsg;
469  }
470 
471  // Skip fragments with ROB status errors
472 
473  uint32_t robid = (*rob)->source_id();
474  if ((*rob)->nstatus() > 0) {
475  ROBPointer robData;
476  (*rob)->status(robData);
477  if (*robData != 0) {
478  m_errorTool->robError(robid, *robData);
479  if (debug) msg() << "ROB status error - skipping fragment" << endmsg;
480  continue;
481  }
482  }
483 
484  // Skip duplicate fragments
485 
486  if (!dupCheck.insert(robid).second) {
488  if (debug) msg() << "Skipping duplicate ROB fragment" << endmsg;
489  continue;
490  }
491 
492  // Unpack ROD data (slinks)
493 
494  RODPointer payloadBeg;
496  RODPointer payloadEnd;
497  (*rob)->rod_data(payloadBeg);
498  payloadEnd = payloadBeg + (*rob)->rod_ndata();
499  payload = payloadBeg;
500  if (payload == payloadEnd) {
501  if (debug) msg() << "ROB fragment empty" << endmsg;
502  continue;
503  }
504 
505  // Check identifier
506  const uint32_t sourceID = (*rob)->rod_source_id();
507  if (m_srcIdMap.getRobID(sourceID) != robid ||
508  m_srcIdMap.subDet(sourceID) != m_subDetector ||
509  m_srcIdMap.daqOrRoi(sourceID) != 1 ||
510  (m_srcIdMap.slink(sourceID) != 0 && m_srcIdMap.slink(sourceID) != 2) ||
511  m_srcIdMap.crate(sourceID) < m_crateOffsetHw ||
512  m_srcIdMap.crate(sourceID) >= m_crateOffsetHw + m_crates) {
513  m_errorTool->rodError(robid, L1CaloSubBlock::ERROR_ROD_ID);
514  if (debug) {
515  msg() << "Wrong source identifier in data: "
516  << MSG::hex << sourceID << MSG::dec << endmsg;
517  }
518  continue;
519  }
520  const int rodCrate = m_srcIdMap.crate(sourceID);
521  if (debug) {
522  msg() << "Treating crate " << rodCrate
523  << " slink " << m_srcIdMap.slink(sourceID) << endmsg;
524  }
525 
526  // First word may be User Header
528  L1CaloUserHeader userHeader(*payload);
529  const int minorVersion = (*rob)->rod_version() & 0xffff;
530  userHeader.setVersion(minorVersion);
531  const int headerWords = userHeader.words();
532  if (headerWords != 1) {
534  if (debug) msg() << "Unexpected number of user header words: "
535  << headerWords << endmsg;
536  continue;
537  }
538  for (int i = 0; i < headerWords; ++i) ++payload;
539  }
540 
541  // Loop over sub-blocks if there are any
542 
543  unsigned int rodErr = L1CaloSubBlock::ERROR_NONE;
544  while (payload != payloadEnd) {
545 
547  const int slice = 0;
549  // CMMs
551  CmmJetSubBlock subBlock;
552  payload = subBlock.read(payload, payloadEnd);
553  if (cmCollection != nullptr) {
554  if (subBlock.dataWords() && !subBlock.unpack()) {
555  if (debug) {
556  std::string errMsg(subBlock.unpackErrorMsg());
557  msg() << "CMM-Jet sub-block unpacking failed: "
558  << errMsg << endmsg;
559  }
560  rodErr = subBlock.unpackErrorCode();
561  break;
562  }
563  const LVL1::CMMRoI roi(subBlock.jetEtMap(slice),
564  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
565  cmCollection->setRoiWord(roi.jetEtRoiWord());
566  }
567  } else {
568  CmmEnergySubBlock subBlock;
569  payload = subBlock.read(payload, payloadEnd);
570  if (cmCollection != nullptr) {
571  if (subBlock.dataWords() && !subBlock.unpack()) {
572  if (debug) {
573  std::string errMsg(subBlock.unpackErrorMsg());
574  msg() << "CMM-Energy sub-block unpacking failed: "
575  << errMsg << endmsg;
576  }
577  rodErr = subBlock.unpackErrorCode();
578  break;
579  }
580  const LVL1::CMMRoI roi(0, subBlock.sumEtHits(slice),
581  subBlock.missingEtHits(slice),
582  subBlock.missingEtSigHits(slice),
583  subBlock.ex(slice, CmmEnergySubBlock::TOTAL),
584  subBlock.ey(slice, CmmEnergySubBlock::TOTAL),
585  subBlock.et(slice, CmmEnergySubBlock::TOTAL),
586  0, 0, 0, 0,
587  subBlock.exError(slice, CmmEnergySubBlock::TOTAL),
588  subBlock.eyError(slice, CmmEnergySubBlock::TOTAL),
589  subBlock.etError(slice, CmmEnergySubBlock::TOTAL));
590  cmCollection->setRoiWord(roi.energyRoiWord0());
591  cmCollection->setRoiWord(roi.energyRoiWord1());
592  cmCollection->setRoiWord(roi.energyRoiWord2());
593  }
594  }
595  } else {
596  // JEM RoI
597  JemRoiSubBlock subBlock;
598  payload = subBlock.read(payload, payloadEnd);
599  if (jeCollection != nullptr) {
600  if (subBlock.dataWords() && !subBlock.unpack()) {
601  if (debug) {
602  std::string errMsg(subBlock.unpackErrorMsg());
603  msg() << "JEM RoI sub-block unpacking failed: "
604  << errMsg << endmsg;
605  }
606  rodErr = subBlock.unpackErrorCode();
607  break;
608  }
609  for (int frame = 0; frame < 8; ++frame) {
610  for (int forward = 0; forward < 2; ++forward) {
611  const LVL1::JEMRoI roi = subBlock.roi(frame, forward);
612  if (roi.hits() || roi.error()) {
613  jeCollection->push_back(new LVL1::JEMRoI(roi));
614  }
615  }
616  }
617  }
618  }
619  } else {
620  // Just RoI word
621  LVL1::JEMRoI jroi;
622  LVL1::CMMRoI croi;
623  if (jroi.setRoiWord(*payload)) {
624  if (jeCollection != nullptr) {
625  if (jroi.crate() != rodCrate - m_crateOffsetHw) {
626  if (debug) msg() << "Inconsistent RoI crate number: "
627  << jroi.crate() << endmsg;
629  break;
630  }
631  const uint32_t location = (*payload) & 0xfffc0000;
632  if (dupRoiCheck.insert(location).second) {
633  if (jroi.hits() || jroi.error()) {
634  jeCollection->push_back(new LVL1::JEMRoI(*payload));
635  }
636  } else {
637  if (debug) msg() << "Duplicate RoI word "
638  << MSG::hex << *payload << MSG::dec << endmsg;
640  break;
641  }
642  }
643  } else if (croi.setRoiWord(*payload)) {
644  if (cmCollection != nullptr) {
645  uint32_t roiType = (*payload) & 0xf0000000;
646  if ((roiType & 0xe0000000) == 0xa0000000) roiType = 0xa0000000;
647  if (dupRoiCheck.insert(roiType).second) {
648  cmCollection->setRoiWord(*payload);
649  } else {
650  if (debug) msg() << "Duplicate RoI word "
651  << MSG::hex << *payload << MSG::dec << endmsg;
653  break;
654  }
655  }
656  } else {
657  if (debug) msg() << "Invalid RoI word "
658  << MSG::hex << *payload << MSG::dec << endmsg;
660  break;
661  }
662  ++payload;
663  }
664  }
665  if (rodErr != L1CaloSubBlock::ERROR_NONE)
666  m_errorTool->rodError(robid, rodErr);
667  }
668 
669  return StatusCode::SUCCESS;
670 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
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

◆ finalize()

StatusCode LVL1BS::JepRoiByteStreamTool::finalize ( )
overridevirtual

Definition at line 99 of file JepRoiByteStreamTool.cxx.

100 {
101  return StatusCode::SUCCESS;
102 }

◆ findCmmHits()

const LVL1::CMMJetHits * LVL1BS::JepRoiByteStreamTool::findCmmHits ( int  crate,
int  dataID,
const CmmHitsMap cmmHitsMap 
) const
private

Find CMM hits for given crate, data ID.

Definition at line 674 of file JepRoiByteStreamTool.cxx.

677 {
678  const LVL1::CMMJetHits* hits = 0;
679  CmmHitsMap::const_iterator mapIter;
680  mapIter = cmmHitsMap.find(crate * 100 + dataID);
681  if (mapIter != cmmHitsMap.end()) hits = mapIter->second;
682  return hits;
683 }

◆ findCmmSums()

const LVL1::CMMEtSums * LVL1BS::JepRoiByteStreamTool::findCmmSums ( int  crate,
int  dataID,
const CmmSumsMap cmmEtMap 
) const
private

Find CMM energy sums for given crate, data ID.

Definition at line 687 of file JepRoiByteStreamTool.cxx.

690 {
691  const LVL1::CMMEtSums* sums = 0;
692  CmmSumsMap::const_iterator mapIter;
693  mapIter = cmmEtMap.find(crate * 100 + dataID);
694  if (mapIter != cmmEtMap.end()) sums = mapIter->second;
695  return sums;
696 }

◆ initialize()

StatusCode LVL1BS::JepRoiByteStreamTool::initialize ( )
overridevirtual

Definition at line 87 of file JepRoiByteStreamTool.cxx.

88 {
89  ATH_MSG_INFO( "Initializing " << name());
90 
91  ATH_CHECK( m_errorTool.retrieve() );
92  ATH_CHECK( m_byteStreamCnvSvc.retrieve() );
93 
94  return StatusCode::SUCCESS;
95 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
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.

◆ interfaceID()

const InterfaceID & LVL1BS::JepRoiByteStreamTool::interfaceID ( )
static

AlgTool InterfaceID.

Definition at line 40 of file JepRoiByteStreamTool.cxx.

41 {
42  return IID_IJepRoiByteStreamTool;
43 }

◆ makeSourceIDs()

std::vector< uint32_t > LVL1BS::JepRoiByteStreamTool::makeSourceIDs ( bool  roiDaq) const
private

Definition at line 395 of file JepRoiByteStreamTool.cxx.

396 {
397  std::vector<uint32_t> sourceIDs;
398 
399  if (roiDaq) {
401  }
402  else {
404  }
405 
406  if (sourceIDs.empty()) {
407  const int maxCrates = m_crates + m_crateOffsetHw;
408  const int maxSlinks = m_srcIdMap.maxSlinks();
409  for (int hwCrate = m_crateOffsetHw; hwCrate < maxCrates; ++hwCrate)
410  {
411  for (int slink = 0; slink < maxSlinks; ++slink)
412  {
413  const int daqOrRoi = 1;
414  const uint32_t rodId = m_srcIdMap.getRodID(hwCrate, slink, daqOrRoi,
415  m_subDetector);
416  const uint32_t robId = m_srcIdMap.getRobID(rodId);
417  if (roiDaq)
418  {
419  if (slink < 2) sourceIDs.push_back(robId);
420  }
421  else if (slink >= 2) sourceIDs.push_back(robId);
422  }
423  }
424 
425  }
426  return sourceIDs;
427 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
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.

◆ renounce()

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> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ setupCmmEtMap()

void LVL1BS::JepRoiByteStreamTool::setupCmmEtMap ( const CmmSumsCollection enCollection,
CmmSumsMap cmmEtMap 
) const
private

Set up CMM energy sums map.

Definition at line 737 of file JepRoiByteStreamTool.cxx.

740 {
741  cmmEtMap.clear();
742  if (etCollection) {
743  CmmSumsCollection::const_iterator pos = etCollection->begin();
744  CmmSumsCollection::const_iterator pose = etCollection->end();
745  for (; pos != pose; ++pos) {
746  const LVL1::CMMEtSums* const sums = *pos;
747  const int crate = sums->crate() - m_crateOffsetSw;
748  const int key = crate * 100 + sums->dataID();
749  cmmEtMap.insert(std::make_pair(key, sums));
750  }
751  }
752 }

◆ setupCmmHitsMap()

void LVL1BS::JepRoiByteStreamTool::setupCmmHitsMap ( const CmmHitsCollection hitCollection,
CmmHitsMap cmmHitsMap 
) const
private

Set up CMM hits map.

Definition at line 718 of file JepRoiByteStreamTool.cxx.

721 {
722  cmmHitsMap.clear();
723  if (hitCollection) {
724  CmmHitsCollection::const_iterator pos = hitCollection->begin();
725  CmmHitsCollection::const_iterator pose = hitCollection->end();
726  for (; pos != pose; ++pos) {
727  const LVL1::CMMJetHits* const hits = *pos;
728  const int crate = hits->crate() - m_crateOffsetSw;
729  const int key = crate * 100 + hits->dataID();
730  cmmHitsMap.insert(std::make_pair(key, hits));
731  }
732  }
733 }

◆ setupJemRoiMap()

void LVL1BS::JepRoiByteStreamTool::setupJemRoiMap ( const JemRoiCollection jeCollection,
JemRoiMap roiMap 
) const
private

Set up JEM RoIs map.

Definition at line 700 of file JepRoiByteStreamTool.cxx.

703 {
704  roiMap.clear();
705  if (jeCollection) {
706  JemRoiCollection::const_iterator pos = jeCollection->begin();
707  JemRoiCollection::const_iterator pose = jeCollection->end();
708  for (; pos != pose; ++pos) {
709  const LVL1::JEMRoI* const roi = *pos;
710  const uint32_t key = roi->roiWord();
711  roiMap.insert(std::make_pair(key, roi));
712  }
713  }
714 }

◆ sourceIDs()

const std::vector< uint32_t > & LVL1BS::JepRoiByteStreamTool::sourceIDs ( const std::string &  sgKey) const

Return reference to vector with all possible Source Identifiers.

Definition at line 429 of file JepRoiByteStreamTool.cxx.

431 {
432  const std::string flag("RoIB");
433  const std::string::size_type pos = sgKey.find(flag);
434  const bool roiDaq =
435  (pos == std::string::npos || pos != sgKey.length() - flag.length());
436 
437  if (roiDaq) {
438  static const std::vector<uint32_t> sourceIDs = makeSourceIDs(roiDaq);
439  return sourceIDs;
440  }
441  else {
442  static const std::vector<uint32_t> sourceIDsRoIB = makeSourceIDs(roiDaq);
443  return sourceIDsRoIB;
444  }
445 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
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 DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_byteStreamCnvSvc

ServiceHandle<IByteStreamCnvSvc> LVL1BS::JepRoiByteStreamTool::m_byteStreamCnvSvc { this, "ByteStreamCnvSvc", "ByteStreamCnvSvc" }
private

Definition at line 80 of file JepRoiByteStreamTool.h.

◆ m_crateOffsetHw

int LVL1BS::JepRoiByteStreamTool::m_crateOffsetHw
private

Property: Hardware crate number offset.

Definition at line 121 of file JepRoiByteStreamTool.h.

◆ m_crateOffsetSw

int LVL1BS::JepRoiByteStreamTool::m_crateOffsetSw
private

Property: Software crate number offset.

Definition at line 123 of file JepRoiByteStreamTool.h.

◆ m_crates

const int LVL1BS::JepRoiByteStreamTool::m_crates
private

Number of crates.

Definition at line 129 of file JepRoiByteStreamTool.h.

◆ m_dataFormat

int LVL1BS::JepRoiByteStreamTool::m_dataFormat
private

Property: Data compression format.

Definition at line 127 of file JepRoiByteStreamTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_errorTool

ToolHandle<LVL1BS::L1CaloErrorByteStreamTool> LVL1BS::JepRoiByteStreamTool::m_errorTool
private

Error collection tool.

Definition at line 99 of file JepRoiByteStreamTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_modules

const int LVL1BS::JepRoiByteStreamTool::m_modules
private

Number of JEM modules per crate.

Definition at line 131 of file JepRoiByteStreamTool.h.

◆ m_slinks

int LVL1BS::JepRoiByteStreamTool::m_slinks
private

Property: Number of slinks per crate when writing out bytestream.

Definition at line 133 of file JepRoiByteStreamTool.h.

◆ m_sourceIDsProp

std::vector<uint32_t> LVL1BS::JepRoiByteStreamTool::m_sourceIDsProp
private

Property: ROB source IDs.

Definition at line 135 of file JepRoiByteStreamTool.h.

◆ m_sourceIDsRoIBProp

std::vector<uint32_t> LVL1BS::JepRoiByteStreamTool::m_sourceIDsRoIBProp
private

Property: ROB source IDs for RoIB.

Definition at line 137 of file JepRoiByteStreamTool.h.

◆ m_srcIdMap

const L1CaloSrcIdMap LVL1BS::JepRoiByteStreamTool::m_srcIdMap
private

Source ID converter.

Definition at line 141 of file JepRoiByteStreamTool.h.

◆ m_subDetector

const eformat::SubDetector LVL1BS::JepRoiByteStreamTool::m_subDetector
private

Sub-detector type.

Definition at line 139 of file JepRoiByteStreamTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_version

int LVL1BS::JepRoiByteStreamTool::m_version
private

Property: Sub_block header version.

Definition at line 125 of file JepRoiByteStreamTool.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
LVL1BS::JepRoiByteStreamTool::JemRoiMap
std::map< uint32_t, const LVL1::JEMRoI * > JemRoiMap
Definition: JepRoiByteStreamTool.h:86
LVL1BS::CmmSubBlock::cmmType
static CmmFirmwareCode cmmType(uint32_t word)
CMM differentiation (CMM_CP, CMM_JET, or CMM_ENERGY)
Definition: CmmSubBlock.cxx:60
LVL1::CMMJetHits::LOCAL_FORWARD
@ LOCAL_FORWARD
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:36
LVL1BS::L1CaloSrcIdMap::slink
int slink(uint32_t code) const
Return slink from unpacked moduleID.
Definition: L1CaloSrcIdMap.cxx:73
LVL1BS::JepRoiByteStreamTool::m_modules
const int m_modules
Number of JEM modules per crate.
Definition: JepRoiByteStreamTool.h:131
et
Extra patterns decribing particle interation process.
LVL1BS::CmmJetSubBlock::TOTAL_MAIN
@ TOTAL_MAIN
Definition: CmmJetSubBlock.h:26
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
LVL1BS::CmmSubBlock::RIGHT
@ RIGHT
Definition: CmmSubBlock.h:28
LVL1BS::CmmSubBlock::CMM_JET
@ CMM_JET
Definition: CmmSubBlock.h:25
LVL1BS::JepRoiByteStreamTool::m_slinks
int m_slinks
Property: Number of slinks per crate when writing out bytestream.
Definition: JepRoiByteStreamTool.h:133
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
LVL1BS::JepRoiByteStreamTool::findCmmSums
const LVL1::CMMEtSums * findCmmSums(int crate, int dataID, const CmmSumsMap &cmmEtMap) const
Find CMM energy sums for given crate, data ID.
Definition: JepRoiByteStreamTool.cxx:687
LVL1BS::JepRoiByteStreamTool::m_sourceIDsRoIBProp
std::vector< uint32_t > m_sourceIDsRoIBProp
Property: ROB source IDs for RoIB.
Definition: JepRoiByteStreamTool.h:137
LVL1::CMMEtSums::SUM_ET_MAP
@ SUM_ET_MAP
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMEtSums.h:37
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
FullEventAssembler
Template class for assembling a full atlas raw event from subfragments.
Definition: FullEventAssembler.h:40
LVL1BS::JepRoiByteStreamTool::m_subDetector
const eformat::SubDetector m_subDetector
Sub-detector type.
Definition: JepRoiByteStreamTool.h:139
DataVector< LVL1::CMMEtSums >::const_iterator
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
Definition: DataVector.h:837
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
LVL1::CMMRoI::exError
int exError() const
Return Ex error flags (bit 0 Overflow, bit 1 Parity)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:170
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
LVL1::CMMRoI::sumEtHits
int sumEtHits() const
Return Sum-ET hits.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:120
LVL1::CMMEtSums
CMMEtSums object stores Et sums from the Energy CMMs.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMEtSums.h:33
LVL1BS::L1CaloSubBlock::ERROR_DUPLICATE_ROB
@ ERROR_DUPLICATE_ROB
Definition: L1CaloSubBlock.h:31
LVL1::CMMEtSums::LOCAL
@ LOCAL
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMEtSums.h:36
LVL1BS::CmmSubBlock::cmmBlock
static bool cmmBlock(uint32_t word)
Determine if header word corresponds to CMM.
Definition: CmmSubBlock.cxx:84
LVL1::JEPRoIBSCollection::JemRoi
const DataVector< JEMRoI > * JemRoi() const
Return pointer to JEM RoI collection.
Definition: JEPRoIBSCollection.h:55
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
LVL1BS::JepRoiByteStreamTool::m_srcIdMap
const L1CaloSrcIdMap m_srcIdMap
Source ID converter.
Definition: JepRoiByteStreamTool.h:141
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
LVL1BS::L1CaloSrcIdMap::getRobID
uint32_t getRobID(uint32_t rod_id) const
Make a ROB Source ID from a ROD source ID.
Definition: L1CaloSrcIdMap.cxx:32
LVL1::CMMEtSums::Et
unsigned int Et() const
For triggered time slice.
Definition: CMMEtSums.cxx:90
LVL1BS::JepRoiByteStreamTool::m_dataFormat
int m_dataFormat
Property: Data compression format.
Definition: JepRoiByteStreamTool.h:127
LVL1BS::L1CaloSubBlock::NEUTRAL
@ NEUTRAL
Definition: L1CaloSubBlock.h:28
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
LVL1::CMMRoI::etError
int etError() const
Return Et error flags (bit 0 Overflow, bit 1 Parity)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:180
LVL1::CMMEtSums::REMOTE
@ REMOTE
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMEtSums.h:36
LVL1::CMMJetHits::TOTAL_MAIN
@ TOTAL_MAIN
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:35
LVL1BS::JepRoiByteStreamTool::ROBPointer
OFFLINE_FRAGMENTS_NAMESPACE::PointerType ROBPointer
Definition: JepRoiByteStreamTool.h:90
LVL1BS::CmmEnergySubBlock::TOTAL
@ TOTAL
Definition: CmmEnergySubBlock.h:26
LVL1BS::CmmEnergySubBlock::REMOTE
@ REMOTE
Definition: CmmEnergySubBlock.h:26
LVL1::CMMJetHits::REMOTE_FORWARD
@ REMOTE_FORWARD
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:36
LVL1BS::L1CaloSubBlock::HEADER
@ HEADER
Definition: L1CaloSubBlock.h:27
LVL1BS::CmmJetSubBlock::LOCAL_FORWARD
@ LOCAL_FORWARD
Definition: CmmJetSubBlock.h:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
LVL1::CMMEtSums::dataID
int dataID() const
returns data ID
Definition: CMMEtSums.cxx:85
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
LVL1::CMMEtSums::MAXID
@ MAXID
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMEtSums.h:37
LVL1BS::JepRoiByteStreamTool::m_crates
const int m_crates
Number of crates.
Definition: JepRoiByteStreamTool.h:129
LVL1::CMMRoI::ex
int ex() const
Return Ex.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:135
python.PyAthena.module
module
Definition: PyAthena.py:131
LVL1BS::JepRoiByteStreamTool::m_version
int m_version
Property: Sub_block header version.
Definition: JepRoiByteStreamTool.h:125
LVL1::CMMRoI::jetEtError
int jetEtError() const
Return Jet-ET error flag (bit 1 Parity)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:150
LVL1::CMMEtSums::Ex
unsigned int Ex() const
returns module Ex sum for peak sample
Definition: CMMEtSums.cxx:95
LVL1BS::JepRoiByteStreamTool::sourceIDs
const std::vector< uint32_t > & sourceIDs(const std::string &sgKey) const
Return reference to vector with all possible Source Identifiers.
Definition: JepRoiByteStreamTool.cxx:429
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
LVL1BS::L1CaloSubBlock::ERROR_ROD_ID
@ ERROR_ROD_ID
Definition: L1CaloSubBlock.h:31
LVL1::CMMEtSums::EyError
int EyError() const
returns module Ey sum error for peak sample
Definition: CMMEtSums.cxx:115
AthCommonDataStore
Definition: AthCommonDataStore.h:52
LVL1BS::CmmJetSubBlock::REMOTE_FORWARD
@ REMOTE_FORWARD
Definition: CmmJetSubBlock.h:27
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
LVL1BS::L1CaloSubBlock::ERROR_CRATE_NUMBER
@ ERROR_CRATE_NUMBER
Definition: L1CaloSubBlock.h:34
LVL1::JEPRoIBSCollection::CmmSums
const DataVector< CMMEtSums > * CmmSums() const
Return pointer to CMM energy sums collection.
Definition: JEPRoIBSCollection.h:70
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
LVL1BS::CmmJetSubBlock::LOCAL_MAIN
@ LOCAL_MAIN
Definition: CmmJetSubBlock.h:26
LVL1::CMMEtSums::Ey
unsigned int Ey() const
returns module Ey sum for peak sample
Definition: CMMEtSums.cxx:100
perfmonmt-refit.slice
slice
Definition: perfmonmt-refit.py:52
LVL1BS::JepRoiByteStreamTool::m_crateOffsetSw
int m_crateOffsetSw
Property: Software crate number offset.
Definition: JepRoiByteStreamTool.h:123
LVL1::JEMRoI::error
int error() const
Return error flags (bit 0 Saturation, bit 1 Parity)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMRoI.h:112
lumiFormat.i
int i
Definition: lumiFormat.py:85
LVL1::CMMEtSums::EtError
int EtError() const
returns module ET sum error for peak sample
Definition: CMMEtSums.cxx:105
LVL1BS::JepRoiByteStreamTool::setupCmmHitsMap
void setupCmmHitsMap(const CmmHitsCollection *hitCollection, CmmHitsMap &cmmHitsMap) const
Set up CMM hits map.
Definition: JepRoiByteStreamTool.cxx:718
LVL1::JEMRoI::hits
int hits() const
Return Jet hit map (8 bits Main or 4 bits Forward)
Definition: JEMRoI.cxx:64
LVL1BS::L1CaloSubBlock::ERROR_DUPLICATE_DATA
@ ERROR_DUPLICATE_DATA
Definition: L1CaloSubBlock.h:35
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
LVL1::CMMRoI::sumEtError
int sumEtError() const
Return Sum-ET error flag (bit 1 Parity)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:155
LVL1BS::L1CaloSrcIdMap::crate
int crate(uint32_t code) const
Return crate from unpacked moduleID.
Definition: L1CaloSrcIdMap.cxx:57
LVL1::CMMRoI::jetEtHits
int jetEtHits() const
Return Jet-ET hits.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:115
LVL1::JEPRoIBSCollection::CmmHits
const DataVector< CMMJetHits > * CmmHits() const
Return pointer to CMM hit sums collection.
Definition: JEPRoIBSCollection.h:65
LVL1::CMMJetHits::MAXID
@ MAXID
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:37
master.flag
bool flag
Definition: master.py:29
LVL1::CMMJetHits::REMOTE_MAIN
@ REMOTE_MAIN
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:35
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::CMMRoI::ey
int ey() const
Return Ey.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:140
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LVL1::CMMEtSums::ExError
int ExError() const
returns module Ex sum error for peak sample
Definition: CMMEtSums.cxx:110
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
LVL1BS::L1CaloSubBlock::ERROR_NONE
@ ERROR_NONE
Definition: L1CaloSubBlock.h:31
LVL1::CMMRoI::et
int et() const
Return Et.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:145
LVL1BS::L1CaloSubBlock::wordType
static SubBlockWordType wordType(uint32_t word)
Word identification.
Definition: L1CaloSubBlock.cxx:479
LVL1BS::JepRoiByteStreamTool::setupJemRoiMap
void setupJemRoiMap(const JemRoiCollection *jeCollection, JemRoiMap &roiMap) const
Set up JEM RoIs map.
Definition: JepRoiByteStreamTool.cxx:700
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
LVL1::CMMJetHits::ET_MAP
@ ET_MAP
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:37
LVL1::CMMJetHits::LOCAL_MAIN
@ LOCAL_MAIN
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:35
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
LVL1BS::CmmJetSubBlock::TOTAL_FORWARD
@ TOTAL_FORWARD
Definition: CmmJetSubBlock.h:27
LVL1::CMMRoI::missingEtHits
int missingEtHits() const
Return Missing-ET hits.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:125
LVL1BS::JepRoiByteStreamTool::RODPointer
OFFLINE_FRAGMENTS_NAMESPACE::PointerType RODPointer
Definition: JepRoiByteStreamTool.h:91
LVL1BS::L1CaloSrcIdMap::minorVersion
uint16_t minorVersion() const
Return ROD header minor version to use when writing BS.
Definition: L1CaloSrcIdMap.h:61
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
LVL1::JEMRoI::crate
int crate() const
Return crate number (0-1)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMRoI.h:87
LVL1::JEPRoIBSCollection::CmmRoi
const CMMRoI * CmmRoi() const
Return pointer to CMM RoIs.
Definition: JEPRoIBSCollection.h:60
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
LVL1BS::JepRoiByteStreamTool::makeSourceIDs
std::vector< uint32_t > makeSourceIDs(bool roiDaq) const
Definition: JepRoiByteStreamTool.cxx:395
LVL1::CMMEtSums::crate
int crate() const
Data accessors.
Definition: CMMEtSums.cxx:80
PixelModuleFeMask_create_db.payload
string payload
Definition: PixelModuleFeMask_create_db.py:69
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
LVL1::CMMRoI::eyError
int eyError() const
Return Ey error flags (bit 0 Overflow, bit 1 Parity)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:175
LVL1BS::L1CaloSrcIdMap::subDet
eformat::SubDetector subDet(uint32_t code) const
Return sub-detector for given ID.
Definition: L1CaloSrcIdMap.cxx:89
LVL1BS::JepRoiByteStreamTool::m_byteStreamCnvSvc
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
Definition: JepRoiByteStreamTool.h:81
LVL1BS::CmmEnergySubBlock::LOCAL
@ LOCAL
Definition: CmmEnergySubBlock.h:26
LVL1BS::CmmSubBlock::SYSTEM
@ SYSTEM
Definition: CmmSubBlock.h:27
LVL1::CMMJetHits::TOTAL_FORWARD
@ TOTAL_FORWARD
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:36
LVL1BS::JepRoiByteStreamTool::ROBIterator
IROBDataProviderSvc::VROBFRAG::const_iterator ROBIterator
Definition: JepRoiByteStreamTool.h:89
LVL1BS::JepRoiByteStreamTool::m_errorTool
ToolHandle< LVL1BS::L1CaloErrorByteStreamTool > m_errorTool
Error collection tool.
Definition: JepRoiByteStreamTool.h:99
a
TList * a
Definition: liststreamerinfos.cxx:10
LVL1BS::JepRoiByteStreamTool::findCmmHits
const LVL1::CMMJetHits * findCmmHits(int crate, int dataID, const CmmHitsMap &cmmHitsMap) const
Find CMM hits for given crate, data ID.
Definition: JepRoiByteStreamTool.cxx:674
h
LVL1::CMMRoI::missingEtSigError
int missingEtSigError() const
Return Missing-ET-Sig error flag (bit 1 Parity)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:165
FullEventAssembler::setRodMinorVersion
void setRodMinorVersion(uint16_t m)
change the ROD minor version
LVL1::CMMEtSums::MISSING_ET_SIG_MAP
@ MISSING_ET_SIG_MAP
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMEtSums.h:37
LVL1BS::JepRoiByteStreamTool::m_sourceIDsProp
std::vector< uint32_t > m_sourceIDsProp
Property: ROB source IDs.
Definition: JepRoiByteStreamTool.h:135
LVL1BS::CmmSubBlock::CMM_ENERGY
@ CMM_ENERGY
Definition: CmmSubBlock.h:25
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1BS::JepRoiByteStreamTool::m_crateOffsetHw
int m_crateOffsetHw
Property: Hardware crate number offset.
Definition: JepRoiByteStreamTool.h:121
DEBUG
#define DEBUG
Definition: page_access.h:11
LVL1::JEMRoI::jem
int jem() const
Return JEM number (0-15)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMRoI.h:92
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LVL1BS::CmmSubBlock::LEFT
@ LEFT
Definition: CmmSubBlock.h:28
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
LVL1::CMMJetHits
CMMJetHits class stores Jet hit multiplicities received by and read out from the Jet CMMs.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMJetHits.h:32
LVL1::CMMRoI::setRoiWord
bool setRoiWord(uint32_t roiWord)
Set RoI word with ID check.
Definition: CMMRoI.cxx:90
LVL1BS::L1CaloSrcIdMap::getRodID
uint32_t getRodID(int crate, int slink, int daqOrRoi, eformat::SubDetector subdet) const
Make a ROD Source ID.
Definition: L1CaloSrcIdMap.cxx:18
LVL1::CMMEtSums::MISSING_ET_MAP
@ MISSING_ET_MAP
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMEtSums.h:37
LVL1::CMMRoI::missingEtError
int missingEtError() const
Return Missing-ET error flag (bit 1 Parity)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:160
LVL1BS::L1CaloSubBlock::ERROR_ROI_TYPE
@ ERROR_ROI_TYPE
Definition: L1CaloSubBlock.h:36
LVL1::JEMRoI
JEM RoI data.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMRoI.h:19
copySelective.source
string source
Definition: copySelective.py:32
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
FullEventAssembler::RODDATA
std::vector< uint32_t > RODDATA
ROD data as a vector of unsigned int.
Definition: FullEventAssembler.h:54
LVL1BS::JepRoiByteStreamTool::setupCmmEtMap
void setupCmmEtMap(const CmmSumsCollection *enCollection, CmmSumsMap &cmmEtMap) const
Set up CMM energy sums map.
Definition: JepRoiByteStreamTool.cxx:737
LVL1BS::CmmJetSubBlock::REMOTE_MAIN
@ REMOTE_MAIN
Definition: CmmJetSubBlock.h:26
LVL1BS::JepRoiByteStreamTool::convertBs
StatusCode convertBs(const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::JEMRoI > *jeCollection, LVL1::CMMRoI *cmCollection) const
Convert bytestream to given container type.
Definition: JepRoiByteStreamTool.cxx:449
LVL1::CMMRoI::missingEtSigHits
int missingEtSigHits() const
Return Missing-ET-Sig hits.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:130
LVL1BS::L1CaloSrcIdMap::maxSlinks
int maxSlinks() const
Return the maximum possible number of slinks.
Definition: L1CaloSrcIdMap.cxx:82
LVL1BS::JepRoiByteStreamTool::CmmSumsMap
std::map< int, const LVL1::CMMEtSums * > CmmSumsMap
Definition: JepRoiByteStreamTool.h:88
LVL1BS::JepRoiByteStreamTool::CmmHitsMap
std::map< int, const LVL1::CMMJetHits * > CmmHitsMap
Definition: JepRoiByteStreamTool.h:87
LVL1::CMMEtSums::TOTAL
@ TOTAL
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMEtSums.h:36
LVL1BS::L1CaloUserHeader::isValid
static bool isValid(uint32_t word)
Test for valid header word.
Definition: L1CaloUserHeader.cxx:36
LVL1::JEMRoI::setRoiWord
bool setRoiWord(uint32_t roiWord)
Set RoI word with ID check.
Definition: JEMRoI.cxx:74
LVL1::JEMRoI::roiWord
uint32_t roiWord() const
Return packed RoI word.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JEMRoI.h:117
LVL1BS::L1CaloSrcIdMap::daqOrRoi
int daqOrRoi(uint32_t code) const
Return daqOrRoi from unpacked moduleID.
Definition: L1CaloSrcIdMap.cxx:65
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
LVL1BS::L1CaloSubBlock::ERROR_USER_HEADER
@ ERROR_USER_HEADER
Definition: L1CaloSubBlock.h:32
FullEventAssembler::getRodData
RODDATA * getRodData(uint32_t id)
get a block of ROD data
fitman.k
k
Definition: fitman.py:528
LVL1::CMMRoI
CMM RoI data.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMMRoI.h:21
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37