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) {
293 std::ostringstream stream64;
295 std::vector<std::string> decWord;
296 decWord.reserve(nrDecWord);
300 stream64 << (*ritBit ?
'1' :
'0');
302 if ((((iBit + 1) % 16) == (sizeW64 % 16))) {
306 if (((iBit + 1) % sizeW64) == 0) {
310 decWord.push_back(iW);
318 for (std::vector<std::string>::reverse_iterator ritWord = decWord.rbegin(); ritWord != decWord.rend(); ++ritWord) {
320 myCout <<
" DecisionWord (bitset style): bits " << iWord * sizeW64 + sizeW64 - 1 <<
" : " << iWord * sizeW64
331 int word64Size =
sizeof(word64) * 8;
336 for (
int iBit = 0; iBit < word64Size; ++iBit) {
344 int word64Size =
sizeof(word64) * 8;
349 for (
int iBit = 0; iBit < word64Size; ++iBit) {
361 int word64Size =
sizeof(word64) * 8;
369 wordA = wordA | (iDecision << iBit);
372 if (iBit >= word64Size) {
388 int word64Size =
sizeof(word64) * 8;
395 if (iBit >= word64Size) {
398 wordB = wordB | (iDecision << (iBit - word64Size));
412 myCout <<
" DecisionWordExtended (bitset style): \n ";
420 myCout << (*ritBit ?
'1' :
'0');
422 if ((((iBit + 1) % 16) == (sizeW64 % 16)) && (iBit != 63)) {
432 int word64Size =
sizeof(word64) * 8;
437 for (
int iBit = 0; iBit < word64Size; ++iBit) {
446 int word64Size =
sizeof(word64) * 8;
456 wordE = wordE | (iDecision << iBit);
459 if (iBit >= word64Size) {
594 myCout <<
"\n L1GtFdlWord::print \n" << std::endl;
598 myCout <<
"\n Word " << iWord << std::endl;
600 myCout <<
" Board Id: " << std::hex <<
" hex: " 601 <<
" " << std::setw(4) << std::setfill(
'0') <<
m_boardId << std::setfill(
' ') <<
std::dec 606 int hexBxInEvent = (
m_bxInEvent + baseValue) % baseValue;
608 myCout <<
" BxInEvent: " << std::hex <<
" hex: " 609 <<
" " << std::setw(1) << hexBxInEvent <<
std::dec <<
" dec: " <<
m_bxInEvent << std::endl;
611 myCout <<
" BxNr: " << std::hex <<
" hex: " 612 <<
" " << std::setw(3) << std::setfill(
'0') <<
m_bxNr << std::setfill(
' ') <<
std::dec 613 <<
" dec: " <<
m_bxNr << std::endl;
615 myCout <<
" EventNr: " << std::hex <<
" hex: " 616 <<
" " << std::setw(6) << std::setfill(
'0') <<
m_eventNr << std::setfill(
' ') <<
std::dec 622 myCout <<
"\n Word " << iWord << std::endl;
630 myCout <<
"\n Word " << iWord;
632 myCout <<
" and word " << iWord;
640 myCout <<
"\n Word " << iWord << std::endl;
647 myCout <<
"\n Word " << iWord << std::endl;
649 myCout <<
" PhysicsDeclared: " << std::hex <<
" hex: " 653 myCout <<
" GtPrescaleFactorIndexTech: " << std::hex <<
" hex: " 657 myCout <<
" GtPrescaleFactorIndexAlgo: " << std::hex <<
" hex: " 661 myCout <<
" NoAlgo: " << std::hex <<
" hex: " 662 <<
" " << std::setw(1) << std::setfill(
'0') <<
m_noAlgo << std::setfill(
' ') <<
std::dec 663 <<
" dec: " <<
m_noAlgo << std::endl;
665 myCout <<
" FinalOR: " << std::hex <<
" hex: " 666 <<
" " << std::setw(2) << std::setfill(
'0') <<
m_finalOR << std::setfill(
' ') <<
std::dec 670 myCout <<
"\n Word " << iWord << std::endl;
672 myCout <<
" OrbitNr: " << std::hex <<
" hex: " 673 <<
"" << std::setw(8) << std::setfill(
'0') <<
m_orbitNr << std::setfill(
' ') <<
std::dec 676 myCout <<
" LumiSegmentNr: " << std::hex <<
" hex: " 680 myCout <<
" LocalBxNr: " << std::hex <<
" hex: " 681 <<
" " << std::setw(3) << std::setfill(
'0') <<
m_localBxNr << std::setfill(
' ') <<
std::dec 688 LogDebug(
"L1GtFdlWord") <<
"\nUnpacking FDL block.\n" << std::endl;
716 for (
int iWord = 0; iWord <
BlockSize; ++iWord) {
717 LogTrace(
"L1GtFdlWord") << std::setw(4) << iWord <<
" " << std::hex << std::setfill(
'0') << std::setw(16)
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
void printGtDecisionWord(std::ostream &myCout) const
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
bool operator==(const L1GtFdlWord &) const
equal operator
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)
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 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 printGtDecisionWordExtended(std::ostream &myCout) const
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
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
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)
static const int GtDecisionWordExtendedWord
bool operator!=(const L1GtFdlWord &) const
unequal operator
void setBxInEvent(const int bxInEventValue)
void printGtTechnicalTriggerWord(std::ostream &myCout) const
DecisionWordExtended m_gtDecisionWordExtended
extended algorithm bits, in addition to 128
static const cms_uint64_t BxInEventMask
void print(std::ostream &myCout) const
pretty print the content of a L1GtFdlWord
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)
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