CMS 3D CMS Logo

Public Member Functions | Private Attributes | Friends

L1GlobalTriggerRecord Class Reference

#include <L1GlobalTriggerRecord.h>

List of all members.

Public Member Functions

const bool decision () const
const DecisionWord decisionWord () const
const DecisionWord decisionWordBeforeMask () const
const unsigned int gtPrescaleFactorIndexAlgo () const
const unsigned int gtPrescaleFactorIndexTech () const
 get/set index of the set of prescale factors
 L1GlobalTriggerRecord ()
 constructors
 L1GlobalTriggerRecord (const unsigned int numberPhysTriggers, const unsigned int numberTechnicalTriggers)
 L1GlobalTriggerRecord (const L1GlobalTriggerRecord &)
 copy constructor
bool operator!= (const L1GlobalTriggerRecord &) const
 unequal operator
L1GlobalTriggerRecordoperator= (const L1GlobalTriggerRecord &)
 assignment operator
bool operator== (const L1GlobalTriggerRecord &) const
 equal operator
void print (std::ostream &myCout) const
 pretty print the content of a L1GlobalTriggerRecord
void printGtDecision (std::ostream &myCout) const
 print global decision and algorithm decision word
void printTechnicalTrigger (std::ostream &myCout) const
 print technical triggers
void reset ()
 clear the record
void setDecision (const bool &dValue)
void setDecisionWord (const DecisionWord &dWordValue)
void setDecisionWordBeforeMask (const DecisionWord &dWordValue)
void setGtPrescaleFactorIndexAlgo (const unsigned int &gtPrescaleFactorIndexAlgoValue)
void setGtPrescaleFactorIndexTech (const unsigned int &gtPrescaleFactorIndexTechValue)
void setTechnicalTriggerWord (const TechnicalTriggerWord &ttWordValue)
void setTechnicalTriggerWordBeforeMask (const TechnicalTriggerWord &ttWordValue)
const TechnicalTriggerWord technicalTriggerWord () const
const TechnicalTriggerWord technicalTriggerWordBeforeMask () const
virtual ~L1GlobalTriggerRecord ()
 destructor

Private Attributes

DecisionWord m_gtDecisionWord
 algorithm decision word for L1A bunch cross
DecisionWord m_gtDecisionWordBeforeMask
 algorithm decision word for L1A bunch cross before applying the masks
bool m_gtGlobalDecision
 global decision for L1A bunch cross
unsigned int m_gtPrescaleFactorIndexAlgo
unsigned int m_gtPrescaleFactorIndexTech
TechnicalTriggerWord m_gtTechnicalTriggerWord
 technical trigger word for L1A bunch cross
TechnicalTriggerWord m_gtTechnicalTriggerWordBeforeMask
 technical trigger word for L1A bunch cross before applying the masks

Friends

std::ostream & operator<< (std::ostream &, const L1GlobalTriggerRecord &)
 output stream operator

Detailed Description

Description: stripped-down record for L1 Global Trigger.

Implementation: <TODO: enter implementation details>

Author:
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Definition at line 35 of file L1GlobalTriggerRecord.h.


Constructor & Destructor Documentation

L1GlobalTriggerRecord::L1GlobalTriggerRecord ( )

constructors

Definition at line 28 of file L1GlobalTriggerRecord.cc.

{

    // empty 

}
L1GlobalTriggerRecord::L1GlobalTriggerRecord ( const unsigned int  numberPhysTriggers,
const unsigned int  numberTechnicalTriggers 
)

Definition at line 35 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.

                                                    {
    
    m_gtDecisionWord.reserve(numberPhysTriggers);
    m_gtTechnicalTriggerWord.reserve(numberTechnicalTriggers);

    m_gtDecisionWordBeforeMask.reserve(numberPhysTriggers);
    m_gtTechnicalTriggerWordBeforeMask.reserve(numberTechnicalTriggers);
    
}
L1GlobalTriggerRecord::L1GlobalTriggerRecord ( const L1GlobalTriggerRecord result)
L1GlobalTriggerRecord::~L1GlobalTriggerRecord ( ) [virtual]

destructor

Definition at line 65 of file L1GlobalTriggerRecord.cc.

{

    // empty now

}

Member Function Documentation

const bool L1GlobalTriggerRecord::decision ( ) const [inline]

get Global Trigger decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0)

Definition at line 65 of file L1GlobalTriggerRecord.h.

References m_gtGlobalDecision.

                                       {
        return m_gtGlobalDecision;
    }
const DecisionWord L1GlobalTriggerRecord::decisionWord ( ) const [inline]

Definition at line 69 of file L1GlobalTriggerRecord.h.

References m_gtDecisionWord.

                                                   {
        return m_gtDecisionWord;
    }
const DecisionWord L1GlobalTriggerRecord::decisionWordBeforeMask ( ) const [inline]

Definition at line 77 of file L1GlobalTriggerRecord.h.

References m_gtDecisionWordBeforeMask.

const unsigned int L1GlobalTriggerRecord::gtPrescaleFactorIndexAlgo ( ) const [inline]

Definition at line 106 of file L1GlobalTriggerRecord.h.

References m_gtPrescaleFactorIndexAlgo.

const unsigned int L1GlobalTriggerRecord::gtPrescaleFactorIndexTech ( ) const [inline]

get/set index of the set of prescale factors

Definition at line 97 of file L1GlobalTriggerRecord.h.

References m_gtPrescaleFactorIndexTech.

bool L1GlobalTriggerRecord::operator!= ( const L1GlobalTriggerRecord result) const

unequal operator

Definition at line 134 of file L1GlobalTriggerRecord.cc.

{

    return !( result == *this);

}
L1GlobalTriggerRecord & L1GlobalTriggerRecord::operator= ( const L1GlobalTriggerRecord result)
bool L1GlobalTriggerRecord::operator== ( const L1GlobalTriggerRecord result) const

equal operator

Definition at line 96 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.

{

    if (m_gtGlobalDecision != result.m_gtGlobalDecision) {
        return false;
    }
    
    if (m_gtDecisionWord != result.m_gtDecisionWord) {
        return false;
    }
    
    if (m_gtTechnicalTriggerWord != result.m_gtTechnicalTriggerWord) {
        return false;
    }

    if (m_gtDecisionWordBeforeMask != result.m_gtDecisionWordBeforeMask) {
        return false;
    }
    
    if (m_gtTechnicalTriggerWordBeforeMask != result.m_gtTechnicalTriggerWordBeforeMask) {
        return false;
    }

    if (m_gtPrescaleFactorIndexTech != result.m_gtPrescaleFactorIndexTech) {
        return false;
    }
    
    if (m_gtPrescaleFactorIndexAlgo != result.m_gtPrescaleFactorIndexAlgo) {
        return false;
    }

    // all members identical
    return true;

}
void L1GlobalTriggerRecord::print ( std::ostream &  myCout) const

pretty print the content of a L1GlobalTriggerRecord

Definition at line 306 of file L1GlobalTriggerRecord.cc.

References m_gtPrescaleFactorIndexTech, printGtDecision(), and printTechnicalTrigger().

Referenced by operator<<().

{

    printGtDecision(myCout);
    
    myCout << std::endl;
        
    printTechnicalTrigger(myCout);
    
    myCout << std::endl;
    myCout << "\n  Index of prescale factor set for technical triggers: " 
        << m_gtPrescaleFactorIndexTech << std::endl;
    myCout << "  Index of prescale factor set for algorithm triggers: " 
        << m_gtPrescaleFactorIndexTech << std::endl;
    myCout << std::endl;
   

}
void L1GlobalTriggerRecord::printGtDecision ( std::ostream &  myCout) const

print global decision and algorithm decision word

Definition at line 188 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, and m_gtGlobalDecision.

Referenced by print().

{

    myCout << std::endl;
    myCout << "\n  Global decision (FinalOR): " << m_gtGlobalDecision << std::endl;

    // decision word (in 64bits words)
    int sizeW64 = 64; // 64 bits words

    int iBit = 0;
    int jBit = m_gtDecisionWord.size();
    int nrDecWord = m_gtDecisionWord.size()/sizeW64;

    std::ostringstream stream64;

    std::vector<std::string> decWord;
    decWord.reserve(nrDecWord);

    for (std::vector<bool>::const_reverse_iterator ritBit = m_gtDecisionWord.rbegin();
            ritBit != m_gtDecisionWord.rend(); ++ritBit) {

        stream64 << (*ritBit ? '1' : '0');

        if ( (((iBit + 1)%16) == (sizeW64%16)) ) {
            stream64  << " ";
        }

        if ( ((iBit + 1)%sizeW64) == 0) {
            std::string iW = stream64.str();
            stream64.str("");

            decWord.push_back(iW);
        }


        iBit++;
        jBit--;
    }

    int iWord = 0;

    myCout << "\n  DecisionWord after trigger mask (bitset style)";
    for (std::vector<std::string>::reverse_iterator ritWord = decWord.rbegin();
            ritWord != decWord.rend(); ++ritWord) {

        myCout << "\n  Bits "
        << iWord*sizeW64 + sizeW64 - 1 << " : " << iWord*sizeW64 << "\n  ";
        myCout << *ritWord;

        iWord++;

    }

}
void L1GlobalTriggerRecord::printTechnicalTrigger ( std::ostream &  myCout) const

print technical triggers

Definition at line 244 of file L1GlobalTriggerRecord.cc.

References m_gtTechnicalTriggerWord.

Referenced by print().

{

    myCout << "\n  Technical triggers after trigger mask  (bitset style):    \n  " ;

    int sizeW64 = 64; // 64 bits words
    int iBit = 0;

    for (std::vector<bool>::const_reverse_iterator ritBit = m_gtTechnicalTriggerWord.rbegin();
            ritBit != m_gtTechnicalTriggerWord.rend(); ++ritBit) {

        myCout << (*ritBit ? '1' : '0');

        if ( (((iBit + 1)%16) == (sizeW64%16)) && (iBit != 63) ) {
            myCout << " ";
        }

        iBit++;
    }


}
void L1GlobalTriggerRecord::reset ( void  )

clear the record

Definition at line 268 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.

{

    m_gtGlobalDecision = false;

    for (std::vector<bool>::iterator itBit = m_gtDecisionWord.begin(); 
        itBit != m_gtDecisionWord.end(); ++itBit) {
        
        *itBit = false;
        
    }
    for (std::vector<bool>::iterator itBit = m_gtTechnicalTriggerWord.begin(); 
        itBit != m_gtTechnicalTriggerWord.end(); ++itBit) {
        
        *itBit = false;
        
    }
    for (std::vector<bool>::iterator itBit = m_gtDecisionWordBeforeMask.begin(); 
        itBit != m_gtDecisionWordBeforeMask.end(); ++itBit) {
        
        *itBit = false;
        
    }

    for (std::vector<bool>::iterator itBit = m_gtTechnicalTriggerWordBeforeMask.begin(); 
        itBit != m_gtTechnicalTriggerWordBeforeMask.end(); ++itBit) {
        
        *itBit = false;
        
    }
 
    m_gtPrescaleFactorIndexTech = 0;
    m_gtPrescaleFactorIndexAlgo = 0;

}
void L1GlobalTriggerRecord::setDecision ( const bool &  dValue)

set global decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0)

Definition at line 145 of file L1GlobalTriggerRecord.cc.

References m_gtGlobalDecision.

{

    m_gtGlobalDecision = dValue;
    
}
void L1GlobalTriggerRecord::setDecisionWord ( const DecisionWord dWordValue)

Definition at line 153 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord.

{

    m_gtDecisionWord = dWordValue;
    
}
void L1GlobalTriggerRecord::setDecisionWordBeforeMask ( const DecisionWord dWordValue)

Definition at line 170 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWordBeforeMask.

{

    m_gtDecisionWordBeforeMask = dWordValue;
    
}
void L1GlobalTriggerRecord::setGtPrescaleFactorIndexAlgo ( const unsigned int &  gtPrescaleFactorIndexAlgoValue) [inline]

Definition at line 110 of file L1GlobalTriggerRecord.h.

References m_gtPrescaleFactorIndexAlgo.

                                                                {
        m_gtPrescaleFactorIndexAlgo = gtPrescaleFactorIndexAlgoValue;
    }
void L1GlobalTriggerRecord::setGtPrescaleFactorIndexTech ( const unsigned int &  gtPrescaleFactorIndexTechValue) [inline]

Definition at line 101 of file L1GlobalTriggerRecord.h.

References m_gtPrescaleFactorIndexTech.

                                                                {
        m_gtPrescaleFactorIndexTech = gtPrescaleFactorIndexTechValue;
    }
void L1GlobalTriggerRecord::setTechnicalTriggerWord ( const TechnicalTriggerWord ttWordValue)

Definition at line 161 of file L1GlobalTriggerRecord.cc.

References m_gtTechnicalTriggerWord.

{

    m_gtTechnicalTriggerWord = ttWordValue;

}
void L1GlobalTriggerRecord::setTechnicalTriggerWordBeforeMask ( const TechnicalTriggerWord ttWordValue)

Definition at line 178 of file L1GlobalTriggerRecord.cc.

References m_gtTechnicalTriggerWordBeforeMask.

const TechnicalTriggerWord L1GlobalTriggerRecord::technicalTriggerWord ( ) const [inline]

Definition at line 73 of file L1GlobalTriggerRecord.h.

References m_gtTechnicalTriggerWord.

const TechnicalTriggerWord L1GlobalTriggerRecord::technicalTriggerWordBeforeMask ( ) const [inline]

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  streamRec,
const L1GlobalTriggerRecord result 
) [friend]

output stream operator

Definition at line 326 of file L1GlobalTriggerRecord.cc.

{
    result.print(streamRec);
    return streamRec;

}

Member Data Documentation

algorithm decision word for L1A bunch cross

Definition at line 139 of file L1GlobalTriggerRecord.h.

Referenced by decisionWord(), L1GlobalTriggerRecord(), operator=(), operator==(), printGtDecision(), reset(), and setDecisionWord().

algorithm decision word for L1A bunch cross before applying the masks

Definition at line 145 of file L1GlobalTriggerRecord.h.

Referenced by decisionWordBeforeMask(), L1GlobalTriggerRecord(), operator=(), operator==(), reset(), and setDecisionWordBeforeMask().

global decision for L1A bunch cross

Definition at line 136 of file L1GlobalTriggerRecord.h.

Referenced by decision(), L1GlobalTriggerRecord(), operator=(), operator==(), printGtDecision(), reset(), and setDecision().

index of the set of prescale factors in the DB/EventSetup for algorithm triggers and technical triggers

Definition at line 152 of file L1GlobalTriggerRecord.h.

Referenced by gtPrescaleFactorIndexTech(), L1GlobalTriggerRecord(), operator=(), operator==(), print(), reset(), and setGtPrescaleFactorIndexTech().

technical trigger word for L1A bunch cross

Definition at line 142 of file L1GlobalTriggerRecord.h.

Referenced by L1GlobalTriggerRecord(), operator=(), operator==(), printTechnicalTrigger(), reset(), setTechnicalTriggerWord(), and technicalTriggerWord().

technical trigger word for L1A bunch cross before applying the masks

Definition at line 148 of file L1GlobalTriggerRecord.h.

Referenced by L1GlobalTriggerRecord(), operator=(), operator==(), reset(), setTechnicalTriggerWordBeforeMask(), and technicalTriggerWordBeforeMask().