38 if(payload.size() != 4) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload size in 'ME Data Record' is different than expected"; }
41 if(
GetHexBits(payload[0], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[0] has more than 16 bits in 'ME Data Record'"; }
42 if(
GetHexBits(payload[1], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[1] has more than 16 bits in 'ME Data Record'"; }
43 if(
GetHexBits(payload[2], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[2] has more than 16 bits in 'ME Data Record'"; }
44 if(
GetHexBits(payload[3], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[3] has more than 16 bits in 'ME Data Record'"; }
46 uint16_t MEa = payload[0];
47 uint16_t MEb = payload[1];
48 uint16_t MEc = payload[2];
49 uint16_t MEd = payload[3];
52 if(
GetHexBits(MEa, 15, 15) != 1) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in MEa are incorrect"; }
53 if(
GetHexBits(MEb, 15, 15) != 1) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in MEb are incorrect"; }
54 if(
GetHexBits(MEc, 15, 15) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in MEc are incorrect"; }
55 if(
GetHexBits(MEd, 15, 15) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in MEd are incorrect"; }
70 uint16_t MEa = payload[0];
71 uint16_t MEb = payload[1];
72 uint16_t MEc = payload[2];
73 uint16_t MEd = payload[3];
83 int iOut = res->size() - 1;
118 (res->at(iOut)).push_ME(ME_);
std::vector< uint32_t > payload() const
#define DEFINE_L1T_UNPACKER(type)
void set_key_wire_group(int bits)
void set_tbin_num(int bits)
virtual int checkFormat(const Block &block)
virtual bool unpack(const Block &block, UnpackerCollections *coll) override
std::vector< EMTFOutput > EMTFOutputCollection
const int Format_Errors() const
void set_quality(int bits)
void set_csc_ID(int bits)
void set_clct_key_half_strip(int bits)
void set_station(int bits)
void set_me_bxn(int bits)
uint16_t GetHexBits(uint16_t word, uint16_t lowBit, uint16_t highBit)
void set_clct_pattern(int bits)