CMS 3D CMS Logo

Public Member Functions | Private Attributes

L1GtTriggerMenu Class Reference

#include <L1GtTriggerMenu.h>

List of all members.

Public Member Functions

void buildGtConditionMap ()
const std::vector< std::vector
< L1GtCaloTemplate > > & 
corCaloTemplate () const
const std::vector< std::vector
< L1GtEnergySumTemplate > > & 
corEnergySumTemplate () const
const std::vector< std::vector
< L1GtMuonTemplate > > & 
corMuonTemplate () const
const AlgorithmMapgtAlgorithmAliasMap () const
 get / set the algorithm map (by alias)
const AlgorithmMapgtAlgorithmMap () const
 get / set the algorithm map (by name)
const bool gtAlgorithmResult (const std::string &algName, const std::vector< bool > &decWord) const
const std::vector< ConditionMap > & gtConditionMap () const
 get / set / build the condition maps
const std::string & gtScaleDbKey () const
 menu associated scale key
const AlgorithmMapgtTechnicalTriggerMap () const
 get / set the technical trigger map
const std::string & gtTriggerMenuImplementation () const
const std::string & gtTriggerMenuInterface () const
 get / set the trigger menu names
const std::string & gtTriggerMenuName () const
 L1GtTriggerMenu (const std::string &, const unsigned int numberConditionChips, const std::vector< std::vector< L1GtMuonTemplate > > &, const std::vector< std::vector< L1GtCaloTemplate > > &, const std::vector< std::vector< L1GtEnergySumTemplate > > &, const std::vector< std::vector< L1GtJetCountsTemplate > > &, const std::vector< std::vector< L1GtCastorTemplate > > &, const std::vector< std::vector< L1GtHfBitCountsTemplate > > &, const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > &, const std::vector< std::vector< L1GtBptxTemplate > > &, const std::vector< std::vector< L1GtExternalTemplate > > &, const std::vector< std::vector< L1GtCorrelationTemplate > > &, const std::vector< std::vector< L1GtMuonTemplate > > &, const std::vector< std::vector< L1GtCaloTemplate > > &, const std::vector< std::vector< L1GtEnergySumTemplate > > &)
 L1GtTriggerMenu ()
 L1GtTriggerMenu (const L1GtTriggerMenu &)
L1GtTriggerMenuoperator= (const L1GtTriggerMenu &)
void print (std::ostream &, int &) const
void setCorCaloTemplate (const std::vector< std::vector< L1GtCaloTemplate > > &)
void setCorEnergySumTemplate (const std::vector< std::vector< L1GtEnergySumTemplate > > &)
void setCorMuonTemplate (const std::vector< std::vector< L1GtMuonTemplate > > &)
void setGtAlgorithmAliasMap (const AlgorithmMap &)
void setGtAlgorithmMap (const AlgorithmMap &)
void setGtConditionMap (const std::vector< ConditionMap > &)
void setGtScaleDbKey (const std::string &)
void setGtTechnicalTriggerMap (const AlgorithmMap &)
void setGtTriggerMenuImplementation (const std::string &)
void setGtTriggerMenuInterface (const std::string &)
void setGtTriggerMenuName (const std::string &)
void setVecBptxTemplate (const std::vector< std::vector< L1GtBptxTemplate > > &)
void setVecCaloTemplate (const std::vector< std::vector< L1GtCaloTemplate > > &)
void setVecCastorTemplate (const std::vector< std::vector< L1GtCastorTemplate > > &)
void setVecCorrelationTemplate (const std::vector< std::vector< L1GtCorrelationTemplate > > &)
void setVecEnergySumTemplate (const std::vector< std::vector< L1GtEnergySumTemplate > > &)
void setVecExternalTemplate (const std::vector< std::vector< L1GtExternalTemplate > > &)
void setVecHfBitCountsTemplate (const std::vector< std::vector< L1GtHfBitCountsTemplate > > &)
void setVecHfRingEtSumsTemplate (const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > &)
void setVecJetCountsTemplate (const std::vector< std::vector< L1GtJetCountsTemplate > > &)
void setVecMuonTemplate (const std::vector< std::vector< L1GtMuonTemplate > > &)
const std::vector< std::vector
< L1GtBptxTemplate > > & 
vecBptxTemplate () const
const std::vector< std::vector
< L1GtCaloTemplate > > & 
vecCaloTemplate () const
const std::vector< std::vector
< L1GtCastorTemplate > > & 
vecCastorTemplate () const
const std::vector< std::vector
< L1GtCorrelationTemplate > > & 
vecCorrelationTemplate () const
const std::vector< std::vector
< L1GtEnergySumTemplate > > & 
vecEnergySumTemplate () const
const std::vector< std::vector
< L1GtExternalTemplate > > & 
vecExternalTemplate () const
const std::vector< std::vector
< L1GtHfBitCountsTemplate > > & 
vecHfBitCountsTemplate () const
const std::vector< std::vector
< L1GtHfRingEtSumsTemplate > > & 
vecHfRingEtSumsTemplate () const
const std::vector< std::vector
< L1GtJetCountsTemplate > > & 
vecJetCountsTemplate () const
const std::vector< std::vector
< L1GtMuonTemplate > > & 
vecMuonTemplate () const
 get / set the vectors containing the conditions
virtual ~L1GtTriggerMenu ()

Private Attributes

AlgorithmMap m_algorithmAliasMap
 map containing the physics algorithms (by alias)
AlgorithmMap m_algorithmMap
 map containing the physics algorithms (by name)
std::vector< ConditionMapm_conditionMap
 map containing the conditions (per condition chip) - transient
std::vector< std::vector
< L1GtCaloTemplate > > 
m_corCaloTemplate
std::vector< std::vector
< L1GtEnergySumTemplate > > 
m_corEnergySumTemplate
std::vector< std::vector
< L1GtMuonTemplate > > 
m_corMuonTemplate
std::string m_scaleDbKey
 menu associated scale key
AlgorithmMap m_technicalTriggerMap
 map containing the technical triggers
std::string m_triggerMenuImplementation
std::string m_triggerMenuInterface
 menu names
std::string m_triggerMenuName
std::vector< std::vector
< L1GtBptxTemplate > > 
m_vecBptxTemplate
std::vector< std::vector
< L1GtCaloTemplate > > 
m_vecCaloTemplate
std::vector< std::vector
< L1GtCastorTemplate > > 
m_vecCastorTemplate
std::vector< std::vector
< L1GtCorrelationTemplate > > 
m_vecCorrelationTemplate
std::vector< std::vector
< L1GtEnergySumTemplate > > 
m_vecEnergySumTemplate
std::vector< std::vector
< L1GtExternalTemplate > > 
m_vecExternalTemplate
std::vector< std::vector
< L1GtHfBitCountsTemplate > > 
m_vecHfBitCountsTemplate
std::vector< std::vector
< L1GtHfRingEtSumsTemplate > > 
m_vecHfRingEtSumsTemplate
std::vector< std::vector
< L1GtJetCountsTemplate > > 
m_vecJetCountsTemplate
std::vector< std::vector
< L1GtMuonTemplate > > 
m_vecMuonTemplate

Detailed Description

Description: L1 trigger menu.

Implementation: <TODO: enter implementation details>

Author:
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Description: forward header for L1 Global Trigger menu.

Implementation: <TODO: enter implementation details>

Author:
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Definition at line 46 of file L1GtTriggerMenu.h.


Constructor & Destructor Documentation

L1GtTriggerMenu::L1GtTriggerMenu ( )

Definition at line 32 of file L1GtTriggerMenu.cc.

  : m_triggerMenuInterface( "NULL" ),
    m_triggerMenuName( "NULL" ),
    m_triggerMenuImplementation( "NULL" ),
    m_scaleDbKey( "NULL" )
{
    // empty
}
L1GtTriggerMenu::L1GtTriggerMenu ( const std::string &  triggerMenuNameVal,
const unsigned int  numberConditionChips,
const std::vector< std::vector< L1GtMuonTemplate > > &  vecMuonTemplateVal,
const std::vector< std::vector< L1GtCaloTemplate > > &  vecCaloTemplateVal,
const std::vector< std::vector< L1GtEnergySumTemplate > > &  vecEnergySumTemplateVal,
const std::vector< std::vector< L1GtJetCountsTemplate > > &  vecJetCountsTemplateVal,
const std::vector< std::vector< L1GtCastorTemplate > > &  vecCastorTemplateVal,
const std::vector< std::vector< L1GtHfBitCountsTemplate > > &  vecHfBitCountsTemplateVal,
const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > &  vecHfRingEtSumsTemplateVal,
const std::vector< std::vector< L1GtBptxTemplate > > &  vecBptxTemplateVal,
const std::vector< std::vector< L1GtExternalTemplate > > &  vecExternalTemplateVal,
const std::vector< std::vector< L1GtCorrelationTemplate > > &  vecCorrelationTemplateVal,
const std::vector< std::vector< L1GtMuonTemplate > > &  corMuonTemplateVal,
const std::vector< std::vector< L1GtCaloTemplate > > &  corCaloTemplateVal,
const std::vector< std::vector< L1GtEnergySumTemplate > > &  corEnergySumTemplateVal 
)

Definition at line 41 of file L1GtTriggerMenu.cc.

References buildGtConditionMap(), and m_conditionMap.

  :
    m_triggerMenuInterface( "NULL" ),
    m_triggerMenuName(triggerMenuNameVal),
    m_triggerMenuImplementation( "NULL" ),
    m_scaleDbKey( "NULL" ),
            m_vecMuonTemplate(vecMuonTemplateVal),
            m_vecCaloTemplate(vecCaloTemplateVal),
            m_vecEnergySumTemplate(vecEnergySumTemplateVal),
            m_vecJetCountsTemplate(vecJetCountsTemplateVal),
            m_vecCastorTemplate(vecCastorTemplateVal),
            m_vecHfBitCountsTemplate(vecHfBitCountsTemplateVal),
            m_vecHfRingEtSumsTemplate(vecHfRingEtSumsTemplateVal),
            m_vecBptxTemplate(vecBptxTemplateVal),
            m_vecExternalTemplate(vecExternalTemplateVal),
            m_vecCorrelationTemplate(vecCorrelationTemplateVal),
            m_corMuonTemplate(corMuonTemplateVal),
            m_corCaloTemplate(corCaloTemplateVal),
            m_corEnergySumTemplate(corEnergySumTemplateVal)
{

    m_conditionMap.resize(numberConditionChips);
    buildGtConditionMap();

}
L1GtTriggerMenu::L1GtTriggerMenu ( const L1GtTriggerMenu rhs)

Definition at line 84 of file L1GtTriggerMenu.cc.

References m_algorithmAliasMap, m_algorithmMap, m_conditionMap, m_corCaloTemplate, m_corEnergySumTemplate, m_corMuonTemplate, m_scaleDbKey, m_technicalTriggerMap, m_triggerMenuImplementation, m_triggerMenuInterface, m_triggerMenuName, m_vecBptxTemplate, m_vecCaloTemplate, m_vecCastorTemplate, m_vecCorrelationTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, m_vecHfBitCountsTemplate, m_vecHfRingEtSumsTemplate, m_vecJetCountsTemplate, and m_vecMuonTemplate.

L1GtTriggerMenu::~L1GtTriggerMenu ( ) [virtual]

Definition at line 124 of file L1GtTriggerMenu.cc.

References m_algorithmAliasMap, m_algorithmMap, and m_conditionMap.

{

    // loop over condition maps (one map per condition chip)
    for (std::vector<ConditionMap>::iterator
        itCondOnChip = m_conditionMap.begin(); itCondOnChip != m_conditionMap.end(); itCondOnChip++) {

        itCondOnChip->clear();

    }

    m_algorithmMap.clear();
    m_algorithmAliasMap.clear();
}

Member Function Documentation

void L1GtTriggerMenu::buildGtConditionMap ( )

Definition at line 186 of file L1GtTriggerMenu.cc.

References m_conditionMap, m_vecBptxTemplate, m_vecCaloTemplate, m_vecCastorTemplate, m_vecCorrelationTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, m_vecHfBitCountsTemplate, m_vecHfRingEtSumsTemplate, m_vecJetCountsTemplate, and m_vecMuonTemplate.

Referenced by L1GtTriggerMenu(), pat::PATTriggerProducer::produce(), and triggerExpression::Data::setEvent().

                                          {

    // clear the conditions from the maps, if any
    for (std::vector<ConditionMap>::iterator itCondOnChip =
            m_conditionMap.begin(); itCondOnChip != m_conditionMap.end(); itCondOnChip++) {

        itCondOnChip->clear();

    }

    // always check that the size of the condition map is greater than the size
    // of the specific condition vector
    size_t condMapSize = m_conditionMap.size();

    //
    size_t vecMuonSize = m_vecMuonTemplate.size();
    if (condMapSize < vecMuonSize) {
        m_conditionMap.resize(vecMuonSize);
        condMapSize = m_conditionMap.size();
    }

    int chipNr = -1;

    for (std::vector<std::vector<L1GtMuonTemplate> >::iterator
            itCondOnChip = m_vecMuonTemplate.begin();
            itCondOnChip != m_vecMuonTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtMuonTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }

    //
    size_t vecCaloSize = m_vecCaloTemplate.size();
    if (condMapSize < vecCaloSize) {
        m_conditionMap.resize(vecCaloSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtCaloTemplate> >::iterator
            itCondOnChip = m_vecCaloTemplate.begin();
            itCondOnChip != m_vecCaloTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtCaloTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }

    //
    size_t vecEnergySumSize = m_vecEnergySumTemplate.size();
    if (condMapSize < vecEnergySumSize) {
        m_conditionMap.resize(vecEnergySumSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtEnergySumTemplate> >::iterator
            itCondOnChip = m_vecEnergySumTemplate.begin();
            itCondOnChip != m_vecEnergySumTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtEnergySumTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }

    //
    size_t vecJetCountsSize = m_vecJetCountsTemplate.size();
    if (condMapSize < vecJetCountsSize) {
        m_conditionMap.resize(vecJetCountsSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtJetCountsTemplate> >::iterator
            itCondOnChip = m_vecJetCountsTemplate.begin();
            itCondOnChip != m_vecJetCountsTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtJetCountsTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }


    //
    size_t vecCastorSize = m_vecCastorTemplate.size();
    if (condMapSize < vecCastorSize) {
        m_conditionMap.resize(vecCastorSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtCastorTemplate> >::iterator
            itCondOnChip = m_vecCastorTemplate.begin();
            itCondOnChip != m_vecCastorTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtCastorTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }

    //
    size_t vecHfBitCountsSize = m_vecHfBitCountsTemplate.size();
    if (condMapSize < vecHfBitCountsSize) {
        m_conditionMap.resize(vecHfBitCountsSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtHfBitCountsTemplate> >::iterator
            itCondOnChip = m_vecHfBitCountsTemplate.begin();
            itCondOnChip != m_vecHfBitCountsTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtHfBitCountsTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }

    //
    size_t vecHfRingEtSumsSize = m_vecHfRingEtSumsTemplate.size();
    if (condMapSize < vecHfRingEtSumsSize) {
        m_conditionMap.resize(vecHfRingEtSumsSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtHfRingEtSumsTemplate> >::iterator
            itCondOnChip = m_vecHfRingEtSumsTemplate.begin();
            itCondOnChip != m_vecHfRingEtSumsTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtHfRingEtSumsTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }

    //
    size_t vecBptxSize = m_vecBptxTemplate.size();
    if (condMapSize < vecBptxSize) {
        m_conditionMap.resize(vecBptxSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtBptxTemplate> >::iterator
            itCondOnChip = m_vecBptxTemplate.begin();
            itCondOnChip != m_vecBptxTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtBptxTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }

    //
    size_t vecExternalSize = m_vecExternalTemplate.size();
    if (condMapSize < vecExternalSize) {
        m_conditionMap.resize(vecExternalSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtExternalTemplate> >::iterator
            itCondOnChip = m_vecExternalTemplate.begin();
            itCondOnChip != m_vecExternalTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtExternalTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }

    //
    size_t vecCorrelationSize = m_vecCorrelationTemplate.size();
    if (condMapSize < vecCorrelationSize) {
        m_conditionMap.resize(vecCorrelationSize);
        condMapSize = m_conditionMap.size();
    }

    chipNr = -1;
    for (std::vector<std::vector<L1GtCorrelationTemplate> >::iterator
            itCondOnChip = m_vecCorrelationTemplate.begin();
            itCondOnChip != m_vecCorrelationTemplate.end();
            itCondOnChip++) {

        chipNr++;

        for (std::vector<L1GtCorrelationTemplate>::iterator
                itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                itCond++) {

            (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
        }
    }




}
const std::vector<std::vector<L1GtCaloTemplate> >& L1GtTriggerMenu::corCaloTemplate ( ) const [inline]

Definition at line 220 of file L1GtTriggerMenu.h.

References m_corCaloTemplate.

Referenced by L1GlobalTriggerGTL::run().

                                                                                  {
        return m_corCaloTemplate;
    }
const std::vector<std::vector<L1GtEnergySumTemplate> >& L1GtTriggerMenu::corEnergySumTemplate ( ) const [inline]

Definition at line 229 of file L1GtTriggerMenu.h.

References m_corEnergySumTemplate.

Referenced by L1GlobalTriggerGTL::run().

const std::vector<std::vector<L1GtMuonTemplate> >& L1GtTriggerMenu::corMuonTemplate ( ) const [inline]

Definition at line 213 of file L1GtTriggerMenu.h.

References m_corMuonTemplate.

Referenced by L1GlobalTriggerGTL::run().

                                                                                  {
        return m_corMuonTemplate;
    }
const AlgorithmMap& L1GtTriggerMenu::gtAlgorithmAliasMap ( ) const [inline]
const AlgorithmMap& L1GtTriggerMenu::gtAlgorithmMap ( ) const [inline]
const bool L1GtTriggerMenu::gtAlgorithmResult ( const std::string &  algName,
const std::vector< bool > &  decWord 
) const

get the result for algorithm with name algName use directly the format of decisionWord (no typedef)

Definition at line 760 of file L1GtTriggerMenu.cc.

References m_algorithmMap.

Referenced by EcalCosmicsHists::determineTriggers(), and L1Filter::filter().

                                              {

    bool algResult = false;

    CItAlgo itAlgo = m_algorithmMap.find(algName);
    if (itAlgo != m_algorithmMap.end()) {
        int bitNumber = (itAlgo->second).algoBitNumber();
        algResult = decWord.at(bitNumber);
        return algResult;
    }

    // return false if the algorithm name is not found in the menu
    // TODO throw exception or LogInfo would be better - but the class is used in
    // XDAQ Trigger Supervisor (outside CMSSW) hence no CMSSW dependence
    // is allowed here...

    return false;

}
const std::vector<ConditionMap>& L1GtTriggerMenu::gtConditionMap ( ) const [inline]
const std::string& L1GtTriggerMenu::gtScaleDbKey ( ) const [inline]

menu associated scale key

Definition at line 111 of file L1GtTriggerMenu.h.

References m_scaleDbKey.

Referenced by L1GtTriggerMenuLiteProducer::beginRun(), and L1GtTriggerMenuTester::printWiki().

                                                 {
        return m_scaleDbKey;
    }
const AlgorithmMap& L1GtTriggerMenu::gtTechnicalTriggerMap ( ) const [inline]
const std::string& L1GtTriggerMenu::gtTriggerMenuImplementation ( ) const [inline]
const std::string& L1GtTriggerMenu::gtTriggerMenuInterface ( ) const [inline]

get / set the trigger menu names

Definition at line 90 of file L1GtTriggerMenu.h.

References m_triggerMenuInterface.

Referenced by L1GtTriggerMenuLiteProducer::beginRun(), and L1GtTriggerMenuTester::printWiki().

const std::string& L1GtTriggerMenu::gtTriggerMenuName ( ) const [inline]
L1GtTriggerMenu & L1GtTriggerMenu::operator= ( const L1GtTriggerMenu rhs)

Definition at line 140 of file L1GtTriggerMenu.cc.

References m_algorithmAliasMap, m_algorithmMap, m_conditionMap, m_corCaloTemplate, m_corEnergySumTemplate, m_corMuonTemplate, m_technicalTriggerMap, m_triggerMenuImplementation, m_triggerMenuInterface, m_triggerMenuName, m_vecBptxTemplate, m_vecCaloTemplate, m_vecCastorTemplate, m_vecCorrelationTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, m_vecHfBitCountsTemplate, m_vecHfRingEtSumsTemplate, m_vecJetCountsTemplate, and m_vecMuonTemplate.

void L1GtTriggerMenu::print ( std::ostream &  myCout,
int &  printVerbosity 
) const

print the trigger menu allow various verbosity levels

Definition at line 553 of file L1GtTriggerMenu.cc.

References m_algorithmMap, m_conditionMap, m_scaleDbKey, m_technicalTriggerMap, m_triggerMenuImplementation, m_triggerMenuInterface, and m_triggerMenuName.

Referenced by L1GtTriggerMenuTester::beginRun().

                                                                         {

    // use another map <int, L1GtAlgorithm> to get the menu sorted after bit number
    // both algorithm and bit numbers are unique
    std::map<int, const L1GtAlgorithm*> algoBitToAlgo;
    typedef std::map<int, const L1GtAlgorithm*>::const_iterator CItBit;

    for (CItAlgo itAlgo = m_algorithmMap.begin(); itAlgo != m_algorithmMap.end(); itAlgo++) {

        int bitNumber = (itAlgo->second).algoBitNumber();
        algoBitToAlgo[bitNumber] = &(itAlgo->second);
    }

    size_t nrDefinedAlgo = algoBitToAlgo.size();

    // idem for technical trigger map - only name and bit number are relevant for them
    std::map<int, const L1GtAlgorithm*> ttBitToTt;

    for (CItAlgo itAlgo = m_technicalTriggerMap.begin(); itAlgo
            != m_technicalTriggerMap.end(); itAlgo++) {

        int bitNumber = (itAlgo->second).algoBitNumber();
        ttBitToTt[bitNumber] = &(itAlgo->second);
    }

    size_t nrDefinedTechTrig = ttBitToTt.size();

    //

    switch (printVerbosity) {

        case 0: {

            // header for printing algorithms

            myCout << "\n   ********** L1 Trigger Menu - printing   ********** \n"
            << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
            << "\nL1 Trigger Menu Name:      " << m_triggerMenuName
            << "\nL1 Trigger Menu Implementation: " << m_triggerMenuImplementation
            << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
            << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined." << "\n\n"
            << "Bit Number "
            << std::right << std::setw(35) << "Algorithm Name" << "  "
            << std::right << std::setw(35) << "Algorithm Alias"
            << std::endl;

            for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {

                int bitNumber = itBit->first;
                std::string aName = (itBit->second)->algoName();
                std::string aAlias = (itBit->second)->algoAlias();

                myCout << std::setw(6) << bitNumber << "     "
                    << std::right << std::setw(35) << aName << "  "
                    << std::right << std::setw(35) << aAlias
                    << std::endl;
            }

            myCout
            << "\nL1 Technical Triggers: " << nrDefinedTechTrig
            << " technical triggers defined." << "\n\n" << std::endl;
            if (nrDefinedTechTrig) {
                myCout << "Bit Number " << " Technical trigger name " << std::endl;
            }

            for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {

                int bitNumber = itBit->first;
                std::string aName = (itBit->second)->algoName();
                std::string aAlias = (itBit->second)->algoAlias();

                myCout << std::setw(6) << bitNumber << "       "
                << std::right << std::setw(35) << aName << "  "
                << std::right << std::setw(35) << aAlias
                << std::endl;
            }

        }
            break;

        case 1: {

            // header for printing algorithms

            myCout << "\n   ********** L1 Trigger Menu - printing   ********** \n"
            << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
            << "\nL1 Trigger Menu Name:      " << m_triggerMenuName
            << "\nL1 Trigger Menu Implementation: " << m_triggerMenuImplementation
            << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
            << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined." << "\n\n"
            << "Bit Number "
            << std::right << std::setw(35) << "Algorithm Name" << "  "
            << std::right << std::setw(35) << "Algorithm Alias"
            << "\n  Logical Expression \n"
            << std::endl;

            for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {

                int bitNumber = itBit->first;
                std::string aName = (itBit->second)->algoName();
                std::string aAlias = (itBit->second)->algoAlias();
                std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();

                myCout << std::setw(6) << bitNumber << "     "
                << std::right << std::setw(35) << aName << "  "
                << std::right << std::setw(35) << aAlias
                << "\n  Logical expression: " << aLogicalExpression << "\n"
                << std::endl;
            }

            myCout
            << "\nL1 Technical Triggers: " << nrDefinedTechTrig
            << " technical triggers defined." << "\n\n" << std::endl;
            if (nrDefinedTechTrig) {
                myCout << "Bit Number " << " Technical trigger name " << std::endl;
            }

            for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {

                int bitNumber = itBit->first;
                std::string aName = (itBit->second)->algoName();

                myCout << std::setw(6) << bitNumber << "       " << aName << std::endl;
            }
        }
            break;

        case 2: {

            // header for printing algorithms

            myCout << "\n   ********** L1 Trigger Menu - printing   ********** \n"
            << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
            << "\nL1 Trigger Menu Name:      " << m_triggerMenuName
            << "\nL1 Trigger Menu Implementation: " << m_triggerMenuImplementation
            << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
            << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined." << "\n\n"
            << std::endl;

            for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
                (itBit->second)->print(myCout);
            }


            myCout << "\nNumber of condition chips: " << m_conditionMap.size() << "\n"
            << std::endl;

            int chipNr = -1;
            int totalNrConditions = 0;

            for (std::vector<ConditionMap>::const_iterator
                    itCondOnChip = m_conditionMap.begin();
                    itCondOnChip != m_conditionMap.end(); itCondOnChip++) {

                chipNr++;

                int condMapSize = itCondOnChip->size();
                totalNrConditions += condMapSize;

                myCout << "\nTotal number of conditions on condition chip " << chipNr
                << ": " << condMapSize
                << " conditions.\n" << std::endl;

                for (CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
                    itCond++) {

                    (itCond->second)->print(myCout);

                }

            }

            myCout << "\nTotal number of conditions on all condition chips: "
            << totalNrConditions << "\n"
            << std::endl;

            myCout
            << "\nL1 Technical Triggers: " << nrDefinedTechTrig
            << " technical triggers defined." << "\n\n" << std::endl;
            if (nrDefinedTechTrig) {
                myCout << "Bit Number " << " Technical trigger name " << std::endl;
            }

            for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {

                int bitNumber = itBit->first;
                std::string aName = (itBit->second)->algoName();

                myCout << std::setw(6) << bitNumber << "       " << aName << std::endl;
            }


        }
            break;

        default: {
            myCout << "\n   ********** L1 Trigger Menu - printing   ********** \n\n"
            << "Verbosity level: " << printVerbosity << " not implemented.\n\n"
            << std::endl;
        }
            break;
    }

}
void L1GtTriggerMenu::setCorCaloTemplate ( const std::vector< std::vector< L1GtCaloTemplate > > &  corCaloTempl)

Definition at line 523 of file L1GtTriggerMenu.cc.

References m_corCaloTemplate.

                                                                     {

    m_corCaloTemplate = corCaloTempl;
}
void L1GtTriggerMenu::setCorEnergySumTemplate ( const std::vector< std::vector< L1GtEnergySumTemplate > > &  corEnergySumTempl)

Definition at line 529 of file L1GtTriggerMenu.cc.

References m_corEnergySumTemplate.

                                                                               {

    m_corEnergySumTemplate = corEnergySumTempl;
}
void L1GtTriggerMenu::setCorMuonTemplate ( const std::vector< std::vector< L1GtMuonTemplate > > &  corMuonTempl)

Definition at line 517 of file L1GtTriggerMenu.cc.

References m_corMuonTemplate.

                                                                     {

    m_corMuonTemplate = corMuonTempl;
}
void L1GtTriggerMenu::setGtAlgorithmAliasMap ( const AlgorithmMap algoMap)

Definition at line 543 of file L1GtTriggerMenu.cc.

References m_algorithmAliasMap.

                                                                        {
    m_algorithmAliasMap = algoMap;
}
void L1GtTriggerMenu::setGtAlgorithmMap ( const AlgorithmMap algoMap)

Definition at line 538 of file L1GtTriggerMenu.cc.

References m_algorithmMap.

                                                                   {
    m_algorithmMap = algoMap;
}
void L1GtTriggerMenu::setGtConditionMap ( const std::vector< ConditionMap > &  condMap)

Definition at line 181 of file L1GtTriggerMenu.cc.

References m_conditionMap.

                                                                              {
    m_conditionMap = condMap;
}
void L1GtTriggerMenu::setGtScaleDbKey ( const std::string &  scaleKey)

Definition at line 451 of file L1GtTriggerMenu.cc.

References m_scaleDbKey.

                                                               {
    m_scaleDbKey = scaleKey;
}
void L1GtTriggerMenu::setGtTechnicalTriggerMap ( const AlgorithmMap ttMap)

Definition at line 548 of file L1GtTriggerMenu.cc.

References m_technicalTriggerMap.

                                                                        {
    m_technicalTriggerMap = ttMap;
}
void L1GtTriggerMenu::setGtTriggerMenuImplementation ( const std::string &  menuImplementation)

Definition at line 446 of file L1GtTriggerMenu.cc.

References m_triggerMenuImplementation.

                                                                                        {
    m_triggerMenuImplementation = menuImplementation;
}
void L1GtTriggerMenu::setGtTriggerMenuInterface ( const std::string &  menuInterface)

Definition at line 438 of file L1GtTriggerMenu.cc.

References m_triggerMenuInterface.

                                                                              {
    m_triggerMenuInterface = menuInterface;
}
void L1GtTriggerMenu::setGtTriggerMenuName ( const std::string &  menuName)

Definition at line 442 of file L1GtTriggerMenu.cc.

References m_triggerMenuName.

                                                                    {
    m_triggerMenuName = menuName;
}
void L1GtTriggerMenu::setVecBptxTemplate ( const std::vector< std::vector< L1GtBptxTemplate > > &  vecBptxTempl)

Definition at line 498 of file L1GtTriggerMenu.cc.

References m_vecBptxTemplate.

                                                                     {

    m_vecBptxTemplate = vecBptxTempl;
}
void L1GtTriggerMenu::setVecCaloTemplate ( const std::vector< std::vector< L1GtCaloTemplate > > &  vecCaloTempl)

Definition at line 462 of file L1GtTriggerMenu.cc.

References m_vecCaloTemplate.

                                                                     {

    m_vecCaloTemplate = vecCaloTempl;
}
void L1GtTriggerMenu::setVecCastorTemplate ( const std::vector< std::vector< L1GtCastorTemplate > > &  vecCastorTempl)

Definition at line 480 of file L1GtTriggerMenu.cc.

References m_vecCastorTemplate.

                                                                         {

    m_vecCastorTemplate = vecCastorTempl;
}
void L1GtTriggerMenu::setVecCorrelationTemplate ( const std::vector< std::vector< L1GtCorrelationTemplate > > &  vecCorrelationTempl)

Definition at line 510 of file L1GtTriggerMenu.cc.

References m_vecCorrelationTemplate.

                                                                                   {

    m_vecCorrelationTemplate = vecCorrelationTempl;
}
void L1GtTriggerMenu::setVecEnergySumTemplate ( const std::vector< std::vector< L1GtEnergySumTemplate > > &  vecEnergySumTempl)

Definition at line 468 of file L1GtTriggerMenu.cc.

References m_vecEnergySumTemplate.

                                                                               {

    m_vecEnergySumTemplate = vecEnergySumTempl;
}
void L1GtTriggerMenu::setVecExternalTemplate ( const std::vector< std::vector< L1GtExternalTemplate > > &  vecExternalTempl)

Definition at line 504 of file L1GtTriggerMenu.cc.

References m_vecExternalTemplate.

                                                                             {

    m_vecExternalTemplate = vecExternalTempl;
}
void L1GtTriggerMenu::setVecHfBitCountsTemplate ( const std::vector< std::vector< L1GtHfBitCountsTemplate > > &  vecHfBitCountsTempl)

Definition at line 486 of file L1GtTriggerMenu.cc.

References m_vecHfBitCountsTemplate.

                                                                                   {

    m_vecHfBitCountsTemplate = vecHfBitCountsTempl;
}
void L1GtTriggerMenu::setVecHfRingEtSumsTemplate ( const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > &  vecHfRingEtSumsTempl)

Definition at line 492 of file L1GtTriggerMenu.cc.

References m_vecHfRingEtSumsTemplate.

                                                                                     {

    m_vecHfRingEtSumsTemplate = vecHfRingEtSumsTempl;
}
void L1GtTriggerMenu::setVecJetCountsTemplate ( const std::vector< std::vector< L1GtJetCountsTemplate > > &  vecJetCountsTempl)

Definition at line 474 of file L1GtTriggerMenu.cc.

References m_vecJetCountsTemplate.

                                                                               {

    m_vecJetCountsTemplate = vecJetCountsTempl;
}
void L1GtTriggerMenu::setVecMuonTemplate ( const std::vector< std::vector< L1GtMuonTemplate > > &  vecMuonTempl)

Definition at line 456 of file L1GtTriggerMenu.cc.

References m_vecMuonTemplate.

                                                                     {

    m_vecMuonTemplate = vecMuonTempl;
}
const std::vector<std::vector<L1GtBptxTemplate> >& L1GtTriggerMenu::vecBptxTemplate ( ) const [inline]

Definition at line 183 of file L1GtTriggerMenu.h.

References m_vecBptxTemplate.

                                {

        return m_vecBptxTemplate;
    }
const std::vector<std::vector<L1GtCaloTemplate> >& L1GtTriggerMenu::vecCaloTemplate ( ) const [inline]

Definition at line 125 of file L1GtTriggerMenu.h.

References m_vecCaloTemplate.

                                                                                  {
        return m_vecCaloTemplate;
    }
const std::vector<std::vector<L1GtCastorTemplate> >& L1GtTriggerMenu::vecCastorTemplate ( ) const [inline]

Definition at line 153 of file L1GtTriggerMenu.h.

References m_vecCastorTemplate.

                                  {

        return m_vecCastorTemplate;
    }
const std::vector<std::vector<L1GtCorrelationTemplate> >& L1GtTriggerMenu::vecCorrelationTemplate ( ) const [inline]

Definition at line 204 of file L1GtTriggerMenu.h.

References m_vecCorrelationTemplate.

const std::vector<std::vector<L1GtEnergySumTemplate> >& L1GtTriggerMenu::vecEnergySumTemplate ( ) const [inline]

Definition at line 133 of file L1GtTriggerMenu.h.

References m_vecEnergySumTemplate.

const std::vector<std::vector<L1GtExternalTemplate> >& L1GtTriggerMenu::vecExternalTemplate ( ) const [inline]

Definition at line 194 of file L1GtTriggerMenu.h.

References m_vecExternalTemplate.

                                    {

        return m_vecExternalTemplate;
    }
const std::vector<std::vector<L1GtHfBitCountsTemplate> >& L1GtTriggerMenu::vecHfBitCountsTemplate ( ) const [inline]

Definition at line 163 of file L1GtTriggerMenu.h.

References m_vecHfBitCountsTemplate.

const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >& L1GtTriggerMenu::vecHfRingEtSumsTemplate ( ) const [inline]

Definition at line 173 of file L1GtTriggerMenu.h.

References m_vecHfRingEtSumsTemplate.

const std::vector<std::vector<L1GtJetCountsTemplate> >& L1GtTriggerMenu::vecJetCountsTemplate ( ) const [inline]

Definition at line 143 of file L1GtTriggerMenu.h.

References m_vecJetCountsTemplate.

const std::vector<std::vector<L1GtMuonTemplate> >& L1GtTriggerMenu::vecMuonTemplate ( ) const [inline]

get / set the vectors containing the conditions

Definition at line 118 of file L1GtTriggerMenu.h.

References m_vecMuonTemplate.

                                                                                  {
        return m_vecMuonTemplate;
    }

Member Data Documentation

map containing the physics algorithms (by alias)

Definition at line 306 of file L1GtTriggerMenu.h.

Referenced by gtAlgorithmAliasMap(), L1GtTriggerMenu(), operator=(), setGtAlgorithmAliasMap(), and ~L1GtTriggerMenu().

map containing the physics algorithms (by name)

Definition at line 303 of file L1GtTriggerMenu.h.

Referenced by gtAlgorithmMap(), gtAlgorithmResult(), L1GtTriggerMenu(), operator=(), print(), setGtAlgorithmMap(), and ~L1GtTriggerMenu().

std::vector<ConditionMap> L1GtTriggerMenu::m_conditionMap [mutable, private]

map containing the conditions (per condition chip) - transient

Definition at line 273 of file L1GtTriggerMenu.h.

Referenced by buildGtConditionMap(), gtConditionMap(), L1GtTriggerMenu(), operator=(), print(), setGtConditionMap(), and ~L1GtTriggerMenu().

std::vector<std::vector<L1GtCaloTemplate> > L1GtTriggerMenu::m_corCaloTemplate [private]

Definition at line 299 of file L1GtTriggerMenu.h.

Referenced by corCaloTemplate(), L1GtTriggerMenu(), operator=(), and setCorCaloTemplate().

std::vector<std::vector<L1GtEnergySumTemplate> > L1GtTriggerMenu::m_corEnergySumTemplate [private]
std::vector<std::vector<L1GtMuonTemplate> > L1GtTriggerMenu::m_corMuonTemplate [private]

Definition at line 298 of file L1GtTriggerMenu.h.

Referenced by corMuonTemplate(), L1GtTriggerMenu(), operator=(), and setCorMuonTemplate().

std::string L1GtTriggerMenu::m_scaleDbKey [private]

menu associated scale key

Definition at line 283 of file L1GtTriggerMenu.h.

Referenced by gtScaleDbKey(), L1GtTriggerMenu(), print(), and setGtScaleDbKey().

map containing the technical triggers

Definition at line 309 of file L1GtTriggerMenu.h.

Referenced by gtTechnicalTriggerMap(), L1GtTriggerMenu(), operator=(), print(), and setGtTechnicalTriggerMap().

std::string L1GtTriggerMenu::m_triggerMenuName [private]
std::vector<std::vector<L1GtBptxTemplate> > L1GtTriggerMenu::m_vecBptxTemplate [private]
std::vector<std::vector<L1GtCaloTemplate> > L1GtTriggerMenu::m_vecCaloTemplate [private]
std::vector<std::vector<L1GtCastorTemplate> > L1GtTriggerMenu::m_vecCastorTemplate [private]
std::vector<std::vector<L1GtEnergySumTemplate> > L1GtTriggerMenu::m_vecEnergySumTemplate [private]
std::vector<std::vector<L1GtExternalTemplate> > L1GtTriggerMenu::m_vecExternalTemplate [private]
std::vector<std::vector<L1GtJetCountsTemplate> > L1GtTriggerMenu::m_vecJetCountsTemplate [private]
std::vector<std::vector<L1GtMuonTemplate> > L1GtTriggerMenu::m_vecMuonTemplate [private]

vectors containing the conditions explicit, due to persistency...

Definition at line 287 of file L1GtTriggerMenu.h.

Referenced by buildGtConditionMap(), L1GtTriggerMenu(), operator=(), setVecMuonTemplate(), and vecMuonTemplate().