CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Attributes
hcaltb::HcalTBTriggerDataUnpacker Class Reference

#include <HcalTBTriggerDataUnpacker.h>

Public Member Functions

 HcalTBTriggerDataUnpacker (void)
 
void unpack (const FEDRawData &raw, HcalTBTriggerData &htbtd) const
 

Static Public Attributes

static const int STANDARD_FED_ID = 1
 

Detailed Description

Definition at line 9 of file HcalTBTriggerDataUnpacker.h.

Constructor & Destructor Documentation

◆ HcalTBTriggerDataUnpacker()

hcaltb::HcalTBTriggerDataUnpacker::HcalTBTriggerDataUnpacker ( void  )
inline

Definition at line 11 of file HcalTBTriggerDataUnpacker.h.

11 {}

Member Function Documentation

◆ unpack()

void hcaltb::HcalTBTriggerDataUnpacker::unpack ( const FEDRawData raw,
HcalTBTriggerData htbtd 
) const

Definition at line 56 of file HcalTBTriggerDataUnpacker.cc.

56  {
57  // Use the size to determine which format we have received:
58  //
59  if (raw.size() == 80) { // "old" test beam trigger format
60 
61  const oldTriggerDataFormat *oldtrgblk = (const oldTriggerDataFormat *)(raw.data());
62  htbtd.setStandardData(oldtrgblk->orbitNumber,
63  oldtrgblk->triggerNumber,
64  oldtrgblk->bunchNumber,
65  0, // flags_daq_ttype
66  0,
67  0,
68  0,
69  0, // algo_bits_3->0
70  0, // tech_bits
71  0,
72  0 // gps_1234, gps_5678
73  );
74 
75  htbtd.setExtendedData(oldtrgblk->triggerWord,
76  oldtrgblk->triggerTime_usec,
77  oldtrgblk->triggerTime_base,
78  oldtrgblk->spillNumber,
79  oldtrgblk->runNumber,
80  oldtrgblk->runNumberSequenceId);
81  } else {
82  const newExtendedTrgMsgBlk *newtrgblk;
83 
84  if (raw.size() == 96) // "new" test beam trigger format,
85  // 64-bit header
86  newtrgblk = (const newExtendedTrgMsgBlk *)(raw.data() + 8);
87 
88  else if (raw.size() == 104) // "new" test beam trigger format,
89  // 128-bit header
90  newtrgblk = (const newExtendedTrgMsgBlk *)(raw.data() + 16);
91  else {
92  cerr << "HcalTBtdUnpacker.unpack: data of unknown size ";
93  cerr << raw.size() << endl;
94  return;
95  }
96 
97  // get bunch number from the header
98  //
99  const uint32_t *cdflow = (const uint32_t *)raw.data();
100  int bunch_id = (*cdflow) >> 20;
101 
102  htbtd.setStandardData(newtrgblk->stdBlock.orbitNumber,
103  newtrgblk->stdBlock.eventNumber,
104  bunch_id,
105  newtrgblk->stdBlock.flags_daq_ttype,
106  newtrgblk->stdBlock.algo_bits_3,
107  newtrgblk->stdBlock.algo_bits_2,
108  newtrgblk->stdBlock.algo_bits_1,
109  newtrgblk->stdBlock.algo_bits_0,
110  newtrgblk->stdBlock.tech_bits,
111  newtrgblk->stdBlock.gps_1234,
112  newtrgblk->stdBlock.gps_5678);
113 
114  htbtd.setExtendedData(newtrgblk->triggerWord,
115  newtrgblk->triggerTime_usec,
116  newtrgblk->triggerTime_base,
117  newtrgblk->spillNumber,
118  newtrgblk->runNumber,
119  newtrgblk->runNumberSequenceId);
120  }
121  }

References StandardTrgMsgBlkStruct::algo_bits_0, StandardTrgMsgBlkStruct::algo_bits_1, StandardTrgMsgBlkStruct::algo_bits_2, StandardTrgMsgBlkStruct::algo_bits_3, oldTriggerDataFormat::bunchNumber, EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::cerr, FEDRawData::data(), StandardTrgMsgBlkStruct::eventNumber, StandardTrgMsgBlkStruct::flags_daq_ttype, StandardTrgMsgBlkStruct::gps_1234, StandardTrgMsgBlkStruct::gps_5678, oldTriggerDataFormat::orbitNumber, StandardTrgMsgBlkStruct::orbitNumber, oldTriggerDataFormat::runNumber, newExtendedTrgMsgBlkStruct::runNumber, oldTriggerDataFormat::runNumberSequenceId, newExtendedTrgMsgBlkStruct::runNumberSequenceId, HcalTBTriggerData::setExtendedData(), HcalTBTriggerData::setStandardData(), FEDRawData::size(), oldTriggerDataFormat::spillNumber, newExtendedTrgMsgBlkStruct::spillNumber, newExtendedTrgMsgBlkStruct::stdBlock, StandardTrgMsgBlkStruct::tech_bits, oldTriggerDataFormat::triggerNumber, oldTriggerDataFormat::triggerTime_base, newExtendedTrgMsgBlkStruct::triggerTime_base, oldTriggerDataFormat::triggerTime_usec, newExtendedTrgMsgBlkStruct::triggerTime_usec, oldTriggerDataFormat::triggerWord, and newExtendedTrgMsgBlkStruct::triggerWord.

Referenced by HcalTBObjectUnpacker::produce().

Member Data Documentation

◆ STANDARD_FED_ID

const int hcaltb::HcalTBTriggerDataUnpacker::STANDARD_FED_ID = 1
static

Definition at line 14 of file HcalTBTriggerDataUnpacker.h.

oldTriggerDataFormat::triggerTime_base
uint32_t triggerTime_base
Definition: HcalTBTriggerDataUnpacker.cc:15
oldTriggerDataFormat::runNumberSequenceId
char runNumberSequenceId[16]
Definition: HcalTBTriggerDataUnpacker.cc:18
oldTriggerDataFormat::runNumber
uint32_t runNumber
Definition: HcalTBTriggerDataUnpacker.cc:17
HcalTBTriggerData::setExtendedData
void setExtendedData(uint32_t triggerWord, uint32_t triggerTime_usec, uint32_t triggerTime_base, uint32_t spillNumber, uint32_t runNumber, const char *runNumberSequenceId)
Definition: HcalTBTriggerData.cc:61
StandardTrgMsgBlkStruct::orbitNumber
uint32_t orbitNumber
Definition: HcalTBWriter.cc:112
StandardTrgMsgBlkStruct::algo_bits_1
uint32_t algo_bits_1
Definition: HcalTBWriter.cc:117
newExtendedTrgMsgBlkStruct::triggerTime_base
uint32_t triggerTime_base
Definition: HcalTBWriter.cc:128
FEDRawData::data
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:24
newExtendedTrgMsgBlkStruct::runNumberSequenceId
char runNumberSequenceId[16]
Definition: HcalTBWriter.cc:131
oldTriggerDataFormat::triggerNumber
uint32_t triggerNumber
Definition: HcalTBTriggerDataUnpacker.cc:13
newExtendedTrgMsgBlkStruct::triggerWord
uint32_t triggerWord
Definition: HcalTBWriter.cc:126
newExtendedTrgMsgBlkStruct::runNumber
uint32_t runNumber
Definition: HcalTBWriter.cc:130
newExtendedTrgMsgBlkStruct::spillNumber
uint32_t spillNumber
Definition: HcalTBWriter.cc:129
newExtendedTrgMsgBlkStruct::stdBlock
StandardTrgMsgBlk stdBlock
Definition: HcalTBWriter.cc:125
oldTriggerDataFormat::bunchNumber
uint32_t bunchNumber
Definition: HcalTBTriggerDataUnpacker.cc:20
StandardTrgMsgBlkStruct::gps_5678
uint32_t gps_5678
Definition: HcalTBWriter.cc:121
HcalTBTriggerData::setStandardData
void setStandardData(uint32_t orbitNumber, uint32_t eventNumber, uint16_t bunchNumber, uint32_t flags_daq_ttype, uint32_t algo_bits_3, uint32_t algo_bits_2, uint32_t algo_bits_1, uint32_t algo_bits_0, uint32_t tech_bits, uint32_t gps_1234, uint32_t gps_5678)
Definition: HcalTBTriggerData.cc:37
StandardTrgMsgBlkStruct::algo_bits_3
uint32_t algo_bits_3
Definition: HcalTBWriter.cc:115
StandardTrgMsgBlkStruct::gps_1234
uint32_t gps_1234
Definition: HcalTBWriter.cc:120
oldTriggerDataFormat::spillNumber
uint32_t spillNumber
Definition: HcalTBTriggerDataUnpacker.cc:16
FEDRawData::size
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:45
oldTriggerDataFormat::orbitNumber
uint32_t orbitNumber
Definition: HcalTBTriggerDataUnpacker.cc:19
oldTriggerDataFormat::triggerWord
uint32_t triggerWord
Definition: HcalTBTriggerDataUnpacker.cc:12
StandardTrgMsgBlkStruct::flags_daq_ttype
uint32_t flags_daq_ttype
Definition: HcalTBWriter.cc:114
oldTriggerDataFormat::triggerTime_usec
uint32_t triggerTime_usec
Definition: HcalTBTriggerDataUnpacker.cc:14
StandardTrgMsgBlkStruct::eventNumber
uint32_t eventNumber
Definition: HcalTBWriter.cc:113
newExtendedTrgMsgBlkStruct
Definition: HcalTBWriter.cc:124
StandardTrgMsgBlkStruct::algo_bits_0
uint32_t algo_bits_0
Definition: HcalTBWriter.cc:118
StandardTrgMsgBlkStruct::tech_bits
uint32_t tech_bits
Definition: HcalTBWriter.cc:119
StandardTrgMsgBlkStruct::algo_bits_2
uint32_t algo_bits_2
Definition: HcalTBWriter.cc:116
EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.cerr
cerr
Definition: EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.py:8
newExtendedTrgMsgBlkStruct::triggerTime_usec
uint32_t triggerTime_usec
Definition: HcalTBWriter.cc:127
oldTriggerDataFormat
Definition: HcalTBTriggerDataUnpacker.cc:10