78 : m_boardId(boardIdValue),
79 m_bxInEvent(bxInEventValue),
81 m_eventNr(eventNrValue),
82 m_gtTechnicalTriggerWord(gtTechnicalTriggerWordValue),
83 m_gtDecisionWord(gtDecisionWordValue),
84 m_gtDecisionWordExtended(gtDecisionWordExtendedValue),
85 m_gtPrescaleFactorIndexTech(gtPrescaleFactorIndexTechValue),
86 m_gtPrescaleFactorIndexAlgo(gtPrescaleFactorIndexAlgoValue),
87 m_noAlgo(noAlgoValue),
88 m_finalOR(finalORValue),
89 m_orbitNr(orbitNrValue),
90 m_lumiSegmentNr(lumiSegmentNrValue),
91 m_localBxNr(localBxNrValue)
189 m_bxInEvent = (hexBxInEvent + baseValue / 2) % baseValue - baseValue / 2;
197 int hexBxInEvent = (
m_bxInEvent + baseValue) % baseValue;
228 myCout <<
" Technical triggers (bitset style): \n ";
236 myCout << (*ritBit ?
'1' :
'0');
238 if ((((iBit + 1) % 16) == (sizeW64 % 16)) && (iBit != 63)) {
248 int word64Size =
sizeof(word64) * 8;
252 for (
int iBit = 0; iBit < word64Size; ++iBit) {
261 int word64Size =
sizeof(word64) * 8;
271 wordTT = wordTT | (iDecision << iBit);
274 if (iBit >= word64Size) {
294 std::ostringstream stream64;
296 std::vector<std::string> decWord;
297 decWord.reserve(nrDecWord);
301 stream64 << (*ritBit ?
'1' :
'0');
303 if ((((iBit + 1) % 16) == (sizeW64 % 16))) {
307 if (((iBit + 1) % sizeW64) == 0) {
311 decWord.push_back(iW);
320 for (std::vector<std::string>::reverse_iterator ritWord = decWord.rbegin(); ritWord != decWord.rend(); ++ritWord) {
322 myCout <<
" DecisionWord (bitset style): bits " << iWord * sizeW64 + sizeW64 - 1 <<
" : " << iWord * sizeW64
333 int word64Size =
sizeof(word64) * 8;
338 for (
int iBit = 0; iBit < word64Size; ++iBit) {
346 int word64Size =
sizeof(word64) * 8;
351 for (
int iBit = 0; iBit < word64Size; ++iBit) {
363 int word64Size =
sizeof(word64) * 8;
371 wordA = wordA | (iDecision << iBit);
374 if (iBit >= word64Size) {
390 int word64Size =
sizeof(word64) * 8;
397 if (iBit >= word64Size) {
400 wordB = wordB | (iDecision << (iBit - word64Size));
414 myCout <<
" DecisionWordExtended (bitset style): \n ";
422 myCout << (*ritBit ?
'1' :
'0');
424 if ((((iBit + 1) % 16) == (sizeW64 % 16)) && (iBit != 63)) {
434 int word64Size =
sizeof(word64) * 8;
439 for (
int iBit = 0; iBit < word64Size; ++iBit) {
448 int word64Size =
sizeof(word64) * 8;
458 wordE = wordE | (iDecision << iBit);
461 if (iBit >= word64Size) {
596 myCout <<
"\n L1GtFdlWord::print \n" << std::endl;
600 myCout <<
"\n Word " << iWord << std::endl;
602 myCout <<
" Board Id: " << std::hex <<
" hex: "
603 <<
" " << std::setw(4) << std::setfill(
'0') <<
m_boardId << std::setfill(
' ') <<
std::dec
608 int hexBxInEvent = (
m_bxInEvent + baseValue) % baseValue;
610 myCout <<
" BxInEvent: " << std::hex <<
" hex: "
611 <<
" " << std::setw(1) << hexBxInEvent <<
std::dec <<
" dec: " <<
m_bxInEvent << std::endl;
613 myCout <<
" BxNr: " << std::hex <<
" hex: "
614 <<
" " << std::setw(3) << std::setfill(
'0') <<
m_bxNr << std::setfill(
' ') <<
std::dec
615 <<
" dec: " <<
m_bxNr << std::endl;
617 myCout <<
" EventNr: " << std::hex <<
" hex: "
618 <<
" " << std::setw(6) << std::setfill(
'0') <<
m_eventNr << std::setfill(
' ') <<
std::dec
624 myCout <<
"\n Word " << iWord << std::endl;
632 myCout <<
"\n Word " << iWord;
634 myCout <<
" and word " << iWord;
642 myCout <<
"\n Word " << iWord << std::endl;
649 myCout <<
"\n Word " << iWord << std::endl;
651 myCout <<
" PhysicsDeclared: " << std::hex <<
" hex: "
655 myCout <<
" GtPrescaleFactorIndexTech: " << std::hex <<
" hex: "
659 myCout <<
" GtPrescaleFactorIndexAlgo: " << std::hex <<
" hex: "
663 myCout <<
" NoAlgo: " << std::hex <<
" hex: "
664 <<
" " << std::setw(1) << std::setfill(
'0') <<
m_noAlgo << std::setfill(
' ') <<
std::dec
665 <<
" dec: " <<
m_noAlgo << std::endl;
667 myCout <<
" FinalOR: " << std::hex <<
" hex: "
668 <<
" " << std::setw(2) << std::setfill(
'0') <<
m_finalOR << std::setfill(
' ') <<
std::dec
672 myCout <<
"\n Word " << iWord << std::endl;
674 myCout <<
" OrbitNr: " << std::hex <<
" hex: "
675 <<
"" << std::setw(8) << std::setfill(
'0') <<
m_orbitNr << std::setfill(
' ') <<
std::dec
678 myCout <<
" LumiSegmentNr: " << std::hex <<
" hex: "
682 myCout <<
" LocalBxNr: " << std::hex <<
" hex: "
683 <<
" " << std::setw(3) << std::setfill(
'0') <<
m_localBxNr << std::setfill(
' ') <<
std::dec
690 LogDebug(
"L1GtFdlWord") <<
"\nUnpacking FDL block.\n" << std::endl;
718 for (
int iWord = 0; iWord <
BlockSize; ++iWord) {
719 LogTrace(
"L1GtFdlWord") << std::setw(4) << iWord <<
" " << std::hex << std::setfill(
'0') << std::setw(16)
720 << payload[iWord] <<
std::dec << std::setfill(
' ') << std::endl;
void setGtDecisionWordB(const cms_uint64_t &word64)
static const cms_uint64_t EventNrMask
cms_uint32_t m_eventNr
event number since last L1 reset generated in FDL
static const cms_uint64_t LocalBxNrMask
void setNoAlgoWord64(cms_uint64_t &word64, const int iWord)
cms_uint16_t m_bxNr
bunch cross number of the actual bx
void setGtDecisionWordBWord64(cms_uint64_t &word64, const int iWord)
void setBoardId(const cms_uint16_t &boardIdValue)
set BoardId from a BoardId value
static const int EventNrShift
static const cms_uint64_t BoardIdMask
static const int GtPrescaleFactorIndexTechShift
void setFinalOR(const cms_uint16_t &finalORValue)
static const cms_uint64_t GtDecisionWordAMask
static const unsigned int NumberTechnicalTriggers
void setPhysicsDeclared(const cms_uint16_t &physicsDeclaredValue)
static const cms_uint64_t GtPrescaleFactorIndexAlgoMask
static const int BxInEventShift
static const int GtDecisionWordBShift
void setEventNr(const cms_uint32_t &eventNrValue)
void unpack(const unsigned char *fdlPtr)
void setBoardIdWord64(cms_uint64_t &word64, const int iWord)
static const int FinalORWord
static const cms_uint64_t NoAlgoMask
static const int BxNrShift
void setLumiSegmentNrWord64(cms_uint64_t &word64, const int iWord)
cms_uint16_t m_noAlgo
true if no algorithm (from a defined group - default all) triggered
void setOrbitNrWord64(cms_uint64_t &word64, const int iWord)
void setGtTechnicalTriggerWordWord64(cms_uint64_t &word64, const int iWord)
static const int PhysicsDeclaredShift
static const int LocalBxNrShift
void setLocalBxNr(const cms_uint16_t &localBxNrValue)
void setGtDecisionWordA(const cms_uint64_t &word64)
void printGtDecisionWord(std::ostream &myCout) const
static const int OrbitNrShift
static const int GtDecisionWordBWord
static const int GtDecisionWordAShift
std::vector< bool > DecisionWordExtended
void setGtPrescaleFactorIndexTechWord64(cms_uint64_t &word64, const int iWord)
cms_uint16_t m_gtPrescaleFactorIndexAlgo
static const unsigned int NumberPhysTriggersExtended
static const int GtPrescaleFactorIndexAlgoWord
static const int LumiSegmentNrShift
void setGtTechnicalTriggerWord(const TechnicalTriggerWord >TechnicalTriggerWordValue)
static const int BoardIdShift
static const int NoAlgoShift
void setLumiSegmentNr(const cms_uint16_t &lumiSegmentNrValue)
std::vector< bool > DecisionWord
typedefs
void setBxInEventWord64(cms_uint64_t &word64, const int iWord)
static const int BlockSize
virtual ~L1GtFdlWord()
destructor
void setPhysicsDeclaredWord64(cms_uint64_t &word64, const int iWord)
void printGtDecisionWordExtended(std::ostream &myCout) const
void reset()
reset the content of a L1GtFdlWord
cms_uint16_t m_lumiSegmentNr
luminosity segment number
static const int LumiSegmentNrWord
cms_uint16_t m_gtPrescaleFactorIndexTech
void setEventNrWord64(cms_uint64_t &word64, const int iWord)
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
unsigned short cms_uint16_t
static const int EventNrWord
static const unsigned int NumberPhysTriggers
void setBxNrWord64(cms_uint64_t &word64, const int iWord)
DecisionWord m_gtDecisionWord
algorithm bits
void setGtPrescaleFactorIndexAlgo(const cms_uint16_t >PrescaleFactorIndexAlgoValue)
static const int BoardIdWord
void setGtPrescaleFactorIndexTech(const cms_uint16_t >PrescaleFactorIndexTechValue)
static const cms_uint64_t GtTechnicalTriggerWordMask
static const int BxInEventWord
unsigned int cms_uint32_t
void print(std::ostream &myCout) const
pretty print the content of a L1GtFdlWord
static const cms_uint64_t BxNrMask
void setNoAlgo(const cms_uint16_t &noAlgoValue)
static const int GtTechnicalTriggerWordShift
static const cms_uint64_t GtDecisionWordExtendedMask
cms_uint16_t m_boardId
board identifier
static const int GtDecisionWordAWord
bool operator!=(const L1GtFdlWord &) const
unequal operator
static const cms_uint64_t LumiSegmentNrMask
static const cms_uint64_t PhysicsDeclaredMask
static const int FinalORShift
static const int BxNrWord
int m_bxInEvent
bunch cross in the GT event record
static const int PhysicsDeclaredWord
void setGtDecisionWordExtendedWord64(cms_uint64_t &word64, const int iWord)
static const int OrbitNrWord
static const cms_uint64_t GtPrescaleFactorIndexTechMask
static const cms_uint64_t OrbitNrMask
void setLocalBxNrWord64(cms_uint64_t &word64, const int iWord)
void setGtDecisionWordAWord64(cms_uint64_t &word64, const int iWord)
static const int GtTechnicalTriggerWordWord
static const cms_uint64_t FinalORMask
static const int LocalBxNrWord
static const cms_uint64_t GtDecisionWordBMask
void setOrbitNr(const cms_uint32_t &orbitNrValue)
void printGtTechnicalTriggerWord(std::ostream &myCout) const
static const int GtDecisionWordExtendedWord
void setBxInEvent(const int bxInEventValue)
DecisionWordExtended m_gtDecisionWordExtended
extended algorithm bits, in addition to 128
static const cms_uint64_t BxInEventMask
void setFinalORWord64(cms_uint64_t &word64, const int iWord)
unsigned long long cms_uint64_t
void setBxNr(const cms_uint16_t &bxNrValue)
static const int GtPrescaleFactorIndexTechWord
void setGtPrescaleFactorIndexAlgoWord64(cms_uint64_t &word64, const int iWord)
bool operator==(const L1GtFdlWord &) const
equal operator
cms_uint16_t m_physicsDeclared
set to true when physics declared
static const int NoAlgoWord
void setGtDecisionWordExtended(const DecisionWordExtended >DecisionWordExtendedValue)
TechnicalTriggerWord m_gtTechnicalTriggerWord
technical trigger bits
cms_uint32_t m_orbitNr
orbit number
static const int GtPrescaleFactorIndexAlgoShift
static const int GtDecisionWordExtendedShift
L1GtFdlWord()
constructors