CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1GtUtils::LogicalExpressionL1Results Class Reference

#include <L1GtUtils.h>

Public Member Functions

const std::vector< std::pair< std::string, bool > > & decisionsAfterMask ()
 
const std::vector< std::pair< std::string, bool > > & decisionsBeforeMask ()
 
const std::vector< std::pair< std::string, int > > & errorCodes (const edm::Event &)
 
const std::vector< L1GtLogicParser::OperandToken > & expL1Triggers ()
 list of triggers in the logical expression, trigger decisions, prescale factors and masks, error codes More...
 
bool isValid ()
 return true if the logical expression is syntactically correct More...
 
 LogicalExpressionL1Results (const std::string &, L1GtUtils &)
 constructor(s) More...
 
const int logicalExpressionRunUpdate (const edm::Run &, const edm::EventSetup &)
 keep the logical expression given in the previous run More...
 
const int logicalExpressionRunUpdate (const edm::Run &, const edm::EventSetup &, const std::string &)
 
const std::vector< std::pair< std::string, int > > & prescaleFactors ()
 
const std::vector< std::pair< std::string, int > > & triggerMasks ()
 
 ~LogicalExpressionL1Results ()
 destructor More...
 

Private Member Functions

bool initialize ()
 
void l1Results (const edm::Event &iEvent)
 
void reset (const std::vector< std::pair< std::string, bool > > &) const
 reset for each L1 trigger the value from pair.second More...
 
void reset (const std::vector< std::pair< std::string, int > > &) const
 

Private Attributes

std::vector< std::pair< std::string, bool > > m_decisionsAfterMask
 
std::vector< std::pair< std::string, bool > > m_decisionsBeforeMask
 
std::vector< std::pair< std::string, int > > m_errorCodes
 
bool m_expBitsTechTrigger
 flag true, if the logical expression is built from technical trigger bits More...
 
std::vector< L1GtLogicParser::OperandTokenm_expL1Triggers
 
size_t m_expL1TriggersSize
 
std::vector< L1GtUtils::TriggerCategorym_expTriggerCategory
 trigger category for each L1 trigger in the logical expression More...
 
std::vector< bool > m_expTriggerInMenu
 
int m_l1ConfCode
 code for L1 trigger configuration More...
 
L1GtUtilsm_l1GtUtils
 
bool m_l1ResultsAlreadyCalled
 set to true if the method l1Results was called once More...
 
std::string m_logicalExpression
 private members as input parameters More...
 
std::vector< std::pair< std::string, int > > m_prescaleFactors
 
std::vector< std::pair< std::string, int > > m_triggerMasks
 
bool m_validL1Configuration
 true if valid L1 configuration - if not, reset all quantities and return More...
 
bool m_validLogicalExpression
 true if the logical expression uses accepted L1GtLogicParser operators More...
 

Detailed Description

Definition at line 157 of file L1GtUtils.h.

Constructor & Destructor Documentation

◆ LogicalExpressionL1Results()

L1GtUtils::LogicalExpressionL1Results::LogicalExpressionL1Results ( const std::string &  expression,
L1GtUtils l1GtUtils 
)
explicit

constructor(s)

trigger decisions, prescale factors and masks from GT record(s)

Definition at line 1790 of file L1GtUtils.cc.

1791  :
1792 
1793  m_logicalExpression(expression),
1794 
1795  m_l1GtUtils(l1GtUtils),
1796 
1797  m_l1ConfCode(-1),
1798 
1799  m_validL1Configuration(false),
1800 
1801  m_validLogicalExpression(false),
1802 
1803  m_l1ResultsAlreadyCalled(false),
1804 
1806 
1807  m_expBitsTechTrigger(false) {
1808  initialize();
1809 }

References initialize().

◆ ~LogicalExpressionL1Results()

L1GtUtils::LogicalExpressionL1Results::~LogicalExpressionL1Results ( )

destructor

Definition at line 1812 of file L1GtUtils.cc.

1812  {
1813  // empty
1814 }

Member Function Documentation

◆ decisionsAfterMask()

const std::vector< std::pair< std::string, bool > > & L1GtUtils::LogicalExpressionL1Results::decisionsAfterMask ( )

Definition at line 2016 of file L1GtUtils.cc.

2016  {
2017  // throw an exception if the result is not computed once per event - user usage error
2018  if (!m_l1ResultsAlreadyCalled) {
2019  throw cms::Exception("FailModule")
2020  << "\nUsage error: "
2021  << "\n Method 'errorCodes' must be called in the event loop before attempting to use this method.\n"
2022  << std::endl;
2023  }
2024 
2025  return m_decisionsAfterMask;
2026 }

References Exception.

Referenced by L1GtAnalyzer::analyzeL1GtUtilsCore().

◆ decisionsBeforeMask()

const std::vector< std::pair< std::string, bool > > & L1GtUtils::LogicalExpressionL1Results::decisionsBeforeMask ( )

Definition at line 2004 of file L1GtUtils.cc.

2004  {
2005  // throw an exception if the result is not computed once per event - user usage error
2006  if (!m_l1ResultsAlreadyCalled) {
2007  throw cms::Exception("FailModule")
2008  << "\nUsage error: "
2009  << "\n Method 'errorCodes' must be called in the event loop before attempting to use this method.\n"
2010  << std::endl;
2011  }
2012 
2013  return m_decisionsBeforeMask;
2014 }

References Exception.

Referenced by L1GtAnalyzer::analyzeL1GtUtilsCore().

◆ errorCodes()

const std::vector< std::pair< std::string, int > > & L1GtUtils::LogicalExpressionL1Results::errorCodes ( const edm::Event iEvent)

Definition at line 2052 of file L1GtUtils.cc.

2053  {
2054  m_l1ResultsAlreadyCalled = false;
2055 
2056  // if not a valid L1 configuration, reset all quantities and return
2057  if (!m_validL1Configuration) {
2063 
2064  m_l1ResultsAlreadyCalled = true;
2065  return m_errorCodes;
2066  }
2067 
2068  l1Results(iEvent);
2069 
2070  m_l1ResultsAlreadyCalled = true;
2071 
2072  return m_errorCodes;
2073 }

References iEvent, L1GtUtils::l1Results(), and reset().

Referenced by L1GtAnalyzer::analyzeL1GtUtilsCore().

◆ expL1Triggers()

const std::vector<L1GtLogicParser::OperandToken>& L1GtUtils::LogicalExpressionL1Results::expL1Triggers ( )
inline

list of triggers in the logical expression, trigger decisions, prescale factors and masks, error codes

Definition at line 180 of file L1GtUtils.h.

180 { return m_expL1Triggers; }

References m_expL1Triggers.

Referenced by L1GtAnalyzer::analyzeL1GtUtilsCore().

◆ initialize()

bool L1GtUtils::LogicalExpressionL1Results::initialize ( void  )
private

parse the logical expression, initialize the private members to required size such that one can just reset them

Definition at line 1816 of file L1GtUtils.cc.

1816  {
1817  // get the vector of triggers corresponding to the logical expression
1818  // check also the logical expression - add/remove spaces if needed
1819 
1820  try {
1821  L1GtLogicParser m_l1AlgoLogicParser = L1GtLogicParser(m_logicalExpression);
1822 
1823  // list of L1 triggers from the logical expression
1824  m_expL1Triggers = m_l1AlgoLogicParser.operandTokenVector();
1826 
1827  m_validLogicalExpression = true;
1828 
1829  } catch (cms::Exception& ex) {
1830  m_validLogicalExpression = false;
1831 
1832  edm::LogWarning("L1GtUtils") << ex;
1833  edm::LogWarning("L1GtUtils") << ex.what();
1834  edm::LogWarning("L1GtUtils") << ex.explainSelf();
1835  }
1836 
1837  // try to convert the string representing each L1 trigger to bit number,
1838  // to check if the logical expression is constructed from bit numbers
1839  // trade-off: cache it here, irrespective of the expression
1840  // when the conversion fails (normally for the first seed,
1841  // if not expression of technical trigger bits), stop and
1842  // set m_expBitsTechTrigger to false
1843 
1844  m_expBitsTechTrigger = true;
1845 
1846  for (size_t iTrig = 0; iTrig < m_expL1TriggersSize; ++iTrig) {
1847  const std::string& bitString = (m_expL1Triggers[iTrig]).tokenName;
1848  std::istringstream bitStream(bitString);
1849  int bitInt;
1850 
1851  if ((bitStream >> bitInt).fail()) {
1852  m_expBitsTechTrigger = false;
1853 
1854  break;
1855  }
1856 
1857  (m_expL1Triggers[iTrig]).tokenNumber = bitInt;
1858  }
1859 
1860  // resize and fill
1868 
1869  LogDebug("L1GtUtils") << std::endl;
1870  LogTrace("L1GtUtils") << "\nLogical expression\n " << m_logicalExpression << "\n has " << m_expL1TriggersSize
1871  << " L1 triggers" << std::endl;
1872  for (size_t iTrig = 0; iTrig < m_expL1TriggersSize; ++iTrig) {
1873  const std::string& trigNameOrAlias = (m_expL1Triggers[iTrig]).tokenName;
1874  LogTrace("L1GtUtils") << " " << trigNameOrAlias << std::endl;
1875 
1876  (m_decisionsBeforeMask[iTrig]).first = trigNameOrAlias;
1877  (m_decisionsBeforeMask[iTrig]).second = false;
1878 
1879  (m_decisionsAfterMask[iTrig]).first = trigNameOrAlias;
1880  (m_decisionsAfterMask[iTrig]).second = false;
1881 
1882  (m_prescaleFactors[iTrig]).first = trigNameOrAlias;
1883  (m_prescaleFactors[iTrig]).second = -1;
1884 
1885  (m_triggerMasks[iTrig]).first = trigNameOrAlias;
1886  (m_triggerMasks[iTrig]).second = -1;
1887 
1888  (m_errorCodes[iTrig]).first = trigNameOrAlias;
1889  (m_errorCodes[iTrig]).second = -1;
1890 
1892 
1893  m_expTriggerInMenu[iTrig] = false;
1894  }
1895  LogTrace("L1GtUtils") << std::endl;
1896 
1897  return true;
1898 }

References L1GtUtils::AlgorithmTrigger, cms::Exception::explainSelf(), dqmdumpme::first, LogDebug, LogTrace, L1GtLogicParser::operandTokenVector(), edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, and cms::Exception::what().

Referenced by LogicalExpressionL1Results().

◆ isValid()

bool L1GtUtils::LogicalExpressionL1Results::isValid ( void  )
inline

return true if the logical expression is syntactically correct

Definition at line 169 of file L1GtUtils.h.

169 { return m_validLogicalExpression; }

References m_validLogicalExpression.

Referenced by ntupleDataFormat._Object::_checkIsValid(), L1GtAnalyzer::beginRun(), and core.AutoHandle.AutoHandle::ReallyLoad().

◆ l1Results()

void L1GtUtils::LogicalExpressionL1Results::l1Results ( const edm::Event iEvent)
private

Definition at line 2089 of file L1GtUtils.cc.

2089  {
2090  // reset the vectors before filling them
2096 
2097  // initialization of actual values for each trigger
2098  bool decisionBeforeMaskValue = false;
2099  bool decisionAfterMaskValue = false;
2100  int prescaleFactorValue = -1;
2101  int triggerMaskValue = -1;
2102  int errorCode = -1;
2103 
2104  LogDebug("L1GtUtils") << std::endl;
2105  LogTrace("L1GtUtils") << "\nLogical expression\n " << m_logicalExpression << std::endl;
2106 
2107  // for each trigger, if it is in the L1 menu, get the prescale factor and trigger mask
2108 
2109  for (size_t iTrig = 0; iTrig < m_expL1TriggersSize; ++iTrig) {
2110  const std::string& trigNameOrAlias = (m_expL1Triggers[iTrig]).tokenName;
2111 
2112  if (m_expTriggerInMenu[iTrig]) {
2113  errorCode = m_l1GtUtils.l1Results(iEvent,
2114  trigNameOrAlias,
2115  decisionBeforeMaskValue,
2116  decisionAfterMaskValue,
2117  prescaleFactorValue,
2118  triggerMaskValue);
2119 
2120  if (errorCode != 0) {
2121  // error while retrieving the results
2122  // for this trigger: set prescale factor to -1, trigger mask to -1
2123 
2124  decisionBeforeMaskValue = false;
2125  decisionAfterMaskValue = false;
2126  prescaleFactorValue = -1;
2127  triggerMaskValue = -1;
2128  }
2129 
2130  } else {
2131  // no trigger name or trigger alias in the menu, no bits:
2132  // for this trigger: set prescale factor to -1, set the error code
2133 
2134  decisionBeforeMaskValue = false;
2135  decisionAfterMaskValue = false;
2136  prescaleFactorValue = -1;
2137  triggerMaskValue = -1;
2138  errorCode = m_l1ConfCode + 1;
2139  }
2140 
2141  LogTrace("L1GtUtils") << "\n" << trigNameOrAlias << ":" << std::endl;
2142 
2143  (m_decisionsBeforeMask[iTrig]).second = decisionBeforeMaskValue;
2144  LogTrace("L1GtUtils") << " decision before mask = " << decisionBeforeMaskValue << std::endl;
2145 
2146  (m_decisionsAfterMask[iTrig]).second = decisionAfterMaskValue;
2147  LogTrace("L1GtUtils") << " decision after mask = " << decisionAfterMaskValue << std::endl;
2148 
2149  (m_prescaleFactors[iTrig]).second = prescaleFactorValue;
2150  LogTrace("L1GtUtils") << " prescale factor = " << prescaleFactorValue << std::endl;
2151 
2152  (m_triggerMasks[iTrig]).second = triggerMaskValue;
2153  LogTrace("L1GtUtils") << " trigger mask = " << triggerMaskValue << std::endl;
2154 
2155  (m_errorCodes[iTrig]).second = errorCode;
2156  LogTrace("L1GtUtils") << " error code = " << errorCode << std::endl;
2157  }
2158 
2159  LogDebug("L1GtUtils") << std::endl;
2160 }

References iEvent, LogDebug, LogTrace, reset(), edm::second(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ logicalExpressionRunUpdate() [1/2]

const int L1GtUtils::LogicalExpressionL1Results::logicalExpressionRunUpdate ( const edm::Run iRun,
const edm::EventSetup evSetup 
)

keep the logical expression given in the previous run

Definition at line 1934 of file L1GtUtils.cc.

1935  {
1936  // check first that a valid L1 configuration was retrieved,
1937  // to prevent also calls before the L1 configuration retrieval
1938 
1939  // initialize error code and L1 configuration code
1940  int errorCode = 0;
1941  int l1ConfCode = 0;
1942 
1943  if (!(m_l1GtUtils.availableL1Configuration(errorCode, l1ConfCode))) {
1944  m_validL1Configuration = false;
1945  return errorCode;
1946  } else {
1947  m_validL1Configuration = true;
1948  m_l1ConfCode = l1ConfCode;
1949  }
1950 
1951  // check if the trigger (name of alias) from the logical expression are in the menu,
1952  // if names are used, set tokenNumber to the corresponding bit number
1953  // if technical trigger bits, set tokenName to the corresponding technical trigger name, if
1954  // a technical trigger exists on that bit
1955  // for each trigger, set also the trigger category
1956 
1957  // initialization
1959  int bitNumber = -1;
1960 
1961  for (size_t iTrig = 0; iTrig < m_expL1TriggersSize; ++iTrig) {
1962  trigCategory = L1GtUtils::AlgorithmTrigger;
1963  bitNumber = -1;
1964  const std::string& trigNameOrAlias = (m_expL1Triggers[iTrig]).tokenName;
1965 
1966  if (!m_expBitsTechTrigger) {
1967  const bool triggerInMenu = m_l1GtUtils.l1AlgoTechTrigBitNumber(trigNameOrAlias, trigCategory, bitNumber);
1968 
1969  (m_expL1Triggers[iTrig]).tokenNumber = bitNumber;
1970  m_expTriggerCategory[iTrig] = trigCategory;
1971  m_expTriggerInMenu[iTrig] = triggerInMenu;
1972 
1973  } else {
1974  std::string aliasL1Trigger;
1975  std::string nameL1Trigger;
1976 
1977  trigCategory = L1GtUtils::TechnicalTrigger;
1978  bitNumber = (m_expL1Triggers[iTrig]).tokenNumber;
1979 
1980  const bool triggerInMenu =
1981  m_l1GtUtils.l1TriggerNameFromBit(bitNumber, trigCategory, aliasL1Trigger, nameL1Trigger);
1982 
1983  if (!triggerInMenu) {
1984  aliasL1Trigger = "Technical_trigger_bit_" + (m_expL1Triggers[iTrig]).tokenName + "_empty";
1985  }
1986 
1987  (m_expL1Triggers[iTrig]).tokenName = aliasL1Trigger;
1988  m_expTriggerCategory[iTrig] = trigCategory;
1989  m_expTriggerInMenu[iTrig] = triggerInMenu;
1990 
1991  // put the names of the technical triggers in the returned quantities
1992 
1993  (m_decisionsBeforeMask[iTrig]).first = aliasL1Trigger;
1994  (m_decisionsAfterMask[iTrig]).first = aliasL1Trigger;
1995  (m_prescaleFactors[iTrig]).first = aliasL1Trigger;
1996  (m_triggerMasks[iTrig]).first = aliasL1Trigger;
1997  (m_errorCodes[iTrig]).first = aliasL1Trigger;
1998  }
1999  }
2000 
2001  return errorCode;
2002 }

References L1GtUtils::AlgorithmTrigger, L1TBPTX_cfi::bitNumber, dqmdumpme::first, AlCaHLTBitMon_QueryRunRegistry::string, and L1GtUtils::TechnicalTrigger.

◆ logicalExpressionRunUpdate() [2/2]

const int L1GtUtils::LogicalExpressionL1Results::logicalExpressionRunUpdate ( const edm::Run iRun,
const edm::EventSetup evSetup,
const std::string &  logicExpression 
)

update quantities related to the logical expression at the beginning of the run new logical expression, replacing the logical expression given the in previous run

Definition at line 1900 of file L1GtUtils.cc.

1902  {
1903  // initialize error code
1904  int errorCode = 0;
1905 
1906  // logical expression has changed - one must re-initialize all quantities related to the logical expression
1907  // and clear the vectors
1908 
1909  m_logicalExpression = logicExpression;
1910  m_validLogicalExpression = false;
1911 
1912  m_l1ResultsAlreadyCalled = false;
1913 
1914  m_expL1TriggersSize = 0;
1915  m_expBitsTechTrigger = false;
1916 
1917  //
1918  m_decisionsBeforeMask.clear();
1919  m_decisionsAfterMask.clear();
1920  m_prescaleFactors.clear();
1921  m_triggerMasks.clear();
1922  m_errorCodes.clear();
1923  m_expTriggerCategory.clear();
1924  m_expTriggerInMenu.clear();
1925 
1926  initialize();
1927 
1928  //
1929  errorCode = logicalExpressionRunUpdate(iRun, evSetup);
1930 
1931  return errorCode;
1932 }

References initialize().

Referenced by L1GtAnalyzer::beginRun().

◆ prescaleFactors()

const std::vector< std::pair< std::string, int > > & L1GtUtils::LogicalExpressionL1Results::prescaleFactors ( )

Definition at line 2028 of file L1GtUtils.cc.

2028  {
2029  // throw an exception if the result is not computed once per event - user usage error
2030  if (!m_l1ResultsAlreadyCalled) {
2031  throw cms::Exception("FailModule")
2032  << "\nUsage error: "
2033  << "\n Method 'errorCodes' must be called in the event loop before attempting to use this method.\n"
2034  << std::endl;
2035  }
2036 
2037  return m_prescaleFactors;
2038 }

References Exception.

Referenced by L1GtAnalyzer::analyzeL1GtUtilsCore().

◆ reset() [1/2]

void L1GtUtils::LogicalExpressionL1Results::reset ( const std::vector< std::pair< std::string, bool > > &  _pairVector) const
private

reset for each L1 trigger the value from pair.second

Definition at line 2075 of file L1GtUtils.cc.

2075  {
2076  std::vector<std::pair<std::string, bool> > pairVector = _pairVector;
2077  for (size_t iTrig = 0; iTrig < m_expL1TriggersSize; ++iTrig) {
2078  (pairVector[iTrig]).second = false;
2079  }
2080 }

References edm::second().

◆ reset() [2/2]

void L1GtUtils::LogicalExpressionL1Results::reset ( const std::vector< std::pair< std::string, int > > &  _pairVector) const
private

Definition at line 2082 of file L1GtUtils.cc.

2082  {
2083  std::vector<std::pair<std::string, int> > pairVector = _pairVector;
2084  for (size_t iTrig = 0; iTrig < m_expL1TriggersSize; ++iTrig) {
2085  (pairVector[iTrig]).second = -1;
2086  }
2087 }

References edm::second().

◆ triggerMasks()

const std::vector< std::pair< std::string, int > > & L1GtUtils::LogicalExpressionL1Results::triggerMasks ( )

Definition at line 2040 of file L1GtUtils.cc.

2040  {
2041  // throw an exception if the result is not computed once per event - user usage error
2042  if (!m_l1ResultsAlreadyCalled) {
2043  throw cms::Exception("FailModule")
2044  << "\nUsage error: "
2045  << "\n Method 'errorCodes' must be called in the event loop before attempting to use this method.\n"
2046  << std::endl;
2047  }
2048 
2049  return m_triggerMasks;
2050 }

References Exception.

Referenced by L1GtAnalyzer::analyzeL1GtUtilsCore().

Member Data Documentation

◆ m_decisionsAfterMask

std::vector<std::pair<std::string, bool> > L1GtUtils::LogicalExpressionL1Results::m_decisionsAfterMask
private

Definition at line 237 of file L1GtUtils.h.

◆ m_decisionsBeforeMask

std::vector<std::pair<std::string, bool> > L1GtUtils::LogicalExpressionL1Results::m_decisionsBeforeMask
private

Definition at line 236 of file L1GtUtils.h.

◆ m_errorCodes

std::vector<std::pair<std::string, int> > L1GtUtils::LogicalExpressionL1Results::m_errorCodes
private

Definition at line 240 of file L1GtUtils.h.

◆ m_expBitsTechTrigger

bool L1GtUtils::LogicalExpressionL1Results::m_expBitsTechTrigger
private

flag true, if the logical expression is built from technical trigger bits

Definition at line 229 of file L1GtUtils.h.

◆ m_expL1Triggers

std::vector<L1GtLogicParser::OperandToken> L1GtUtils::LogicalExpressionL1Results::m_expL1Triggers
private

Definition at line 222 of file L1GtUtils.h.

Referenced by expL1Triggers().

◆ m_expL1TriggersSize

size_t L1GtUtils::LogicalExpressionL1Results::m_expL1TriggersSize
private

Definition at line 223 of file L1GtUtils.h.

◆ m_expTriggerCategory

std::vector<L1GtUtils::TriggerCategory> L1GtUtils::LogicalExpressionL1Results::m_expTriggerCategory
private

trigger category for each L1 trigger in the logical expression

Definition at line 226 of file L1GtUtils.h.

◆ m_expTriggerInMenu

std::vector<bool> L1GtUtils::LogicalExpressionL1Results::m_expTriggerInMenu
private

for each L1 trigger in the logical expression, true if the trigger is found in the current L1 menu

Definition at line 233 of file L1GtUtils.h.

◆ m_l1ConfCode

int L1GtUtils::LogicalExpressionL1Results::m_l1ConfCode
private

code for L1 trigger configuration

Definition at line 211 of file L1GtUtils.h.

◆ m_l1GtUtils

L1GtUtils& L1GtUtils::LogicalExpressionL1Results::m_l1GtUtils
private

Definition at line 205 of file L1GtUtils.h.

◆ m_l1ResultsAlreadyCalled

bool L1GtUtils::LogicalExpressionL1Results::m_l1ResultsAlreadyCalled
private

set to true if the method l1Results was called once

Definition at line 220 of file L1GtUtils.h.

◆ m_logicalExpression

std::string L1GtUtils::LogicalExpressionL1Results::m_logicalExpression
private

private members as input parameters

logical expression

Definition at line 203 of file L1GtUtils.h.

◆ m_prescaleFactors

std::vector<std::pair<std::string, int> > L1GtUtils::LogicalExpressionL1Results::m_prescaleFactors
private

Definition at line 238 of file L1GtUtils.h.

◆ m_triggerMasks

std::vector<std::pair<std::string, int> > L1GtUtils::LogicalExpressionL1Results::m_triggerMasks
private

Definition at line 239 of file L1GtUtils.h.

◆ m_validL1Configuration

bool L1GtUtils::LogicalExpressionL1Results::m_validL1Configuration
private

true if valid L1 configuration - if not, reset all quantities and return

Definition at line 214 of file L1GtUtils.h.

◆ m_validLogicalExpression

bool L1GtUtils::LogicalExpressionL1Results::m_validLogicalExpression
private

true if the logical expression uses accepted L1GtLogicParser operators

Definition at line 217 of file L1GtUtils.h.

Referenced by isValid().

L1GtUtils::LogicalExpressionL1Results::m_logicalExpression
std::string m_logicalExpression
private members as input parameters
Definition: L1GtUtils.h:203
L1GtUtils::LogicalExpressionL1Results::m_l1GtUtils
L1GtUtils & m_l1GtUtils
Definition: L1GtUtils.h:205
L1GtUtils::LogicalExpressionL1Results::logicalExpressionRunUpdate
const int logicalExpressionRunUpdate(const edm::Run &, const edm::EventSetup &, const std::string &)
Definition: L1GtUtils.cc:1900
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
L1GtUtils::LogicalExpressionL1Results::m_decisionsBeforeMask
std::vector< std::pair< std::string, bool > > m_decisionsBeforeMask
Definition: L1GtUtils.h:236
cms::Exception::what
char const * what() const noexcept override
Definition: Exception.cc:103
dqmdumpme.first
first
Definition: dqmdumpme.py:55
L1GtUtils::LogicalExpressionL1Results::m_triggerMasks
std::vector< std::pair< std::string, int > > m_triggerMasks
Definition: L1GtUtils.h:239
L1GtUtils::TechnicalTrigger
Definition: L1GtUtils.h:140
L1GtUtils::LogicalExpressionL1Results::m_expTriggerInMenu
std::vector< bool > m_expTriggerInMenu
Definition: L1GtUtils.h:233
L1GtUtils::LogicalExpressionL1Results::m_expL1Triggers
std::vector< L1GtLogicParser::OperandToken > m_expL1Triggers
Definition: L1GtUtils.h:222
L1GtUtils::TriggerCategory
TriggerCategory
Definition: L1GtUtils.h:140
L1GtUtils::LogicalExpressionL1Results::l1Results
void l1Results(const edm::Event &iEvent)
Definition: L1GtUtils.cc:2089
L1GtUtils::LogicalExpressionL1Results::m_prescaleFactors
std::vector< std::pair< std::string, int > > m_prescaleFactors
Definition: L1GtUtils.h:238
L1GtUtils::LogicalExpressionL1Results::m_l1ResultsAlreadyCalled
bool m_l1ResultsAlreadyCalled
set to true if the method l1Results was called once
Definition: L1GtUtils.h:220
L1GtUtils::availableL1Configuration
const bool availableL1Configuration(int &errorCode, int &l1ConfCode) const
Definition: L1GtUtils.cc:1684
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1GtUtils::LogicalExpressionL1Results::m_l1ConfCode
int m_l1ConfCode
code for L1 trigger configuration
Definition: L1GtUtils.h:211
L1GtUtils::LogicalExpressionL1Results::m_errorCodes
std::vector< std::pair< std::string, int > > m_errorCodes
Definition: L1GtUtils.h:240
edm::LogWarning
Definition: MessageLogger.h:141
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
L1GtUtils::LogicalExpressionL1Results::m_expL1TriggersSize
size_t m_expL1TriggersSize
Definition: L1GtUtils.h:223
L1GtUtils::LogicalExpressionL1Results::initialize
bool initialize()
Definition: L1GtUtils.cc:1816
L1GtUtils::LogicalExpressionL1Results::reset
void reset(const std::vector< std::pair< std::string, bool > > &) const
reset for each L1 trigger the value from pair.second
Definition: L1GtUtils.cc:2075
L1GtLogicParser::operandTokenVector
std::vector< OperandToken > & operandTokenVector()
return the vector of operand tokens
Definition: L1GtLogicParser.h:111
L1GtUtils::l1Results
const int l1Results(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, bool &decisionBeforeMask, bool &decisionAfterMask, int &prescaleFactor, int &triggerMask) const
Definition: L1GtUtils.cc:671
iEvent
int iEvent
Definition: GenABIO.cc:224
L1GtUtils::l1AlgoTechTrigBitNumber
const bool l1AlgoTechTrigBitNumber(const std::string &nameAlgoTechTrig, TriggerCategory &trigCategory, int &bitNumber) const
Definition: L1GtUtils.cc:376
L1GtUtils::LogicalExpressionL1Results::m_validLogicalExpression
bool m_validLogicalExpression
true if the logical expression uses accepted L1GtLogicParser operators
Definition: L1GtUtils.h:217
L1GtUtils::AlgorithmTrigger
Definition: L1GtUtils.h:140
L1GtUtils::LogicalExpressionL1Results::m_expBitsTechTrigger
bool m_expBitsTechTrigger
flag true, if the logical expression is built from technical trigger bits
Definition: L1GtUtils.h:229
L1GtUtils::LogicalExpressionL1Results::m_expTriggerCategory
std::vector< L1GtUtils::TriggerCategory > m_expTriggerCategory
trigger category for each L1 trigger in the logical expression
Definition: L1GtUtils.h:226
L1GtUtils::l1TriggerNameFromBit
const bool l1TriggerNameFromBit(const int &bitNumber, const TriggerCategory &trigCategory, std::string &aliasL1Trigger, std::string &nameL1Trigger) const
Definition: L1GtUtils.cc:488
L1GtLogicParser
Definition: L1GtLogicParser.h:31
Exception
Definition: hltDiff.cc:246
cms::Exception::explainSelf
virtual std::string explainSelf() const
Definition: Exception.cc:108
L1TBPTX_cfi.bitNumber
bitNumber
Definition: L1TBPTX_cfi.py:26
cms::Exception
Definition: Exception.h:70
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
L1GtUtils::LogicalExpressionL1Results::m_validL1Configuration
bool m_validL1Configuration
true if valid L1 configuration - if not, reset all quantities and return
Definition: L1GtUtils.h:214
L1GtUtils::LogicalExpressionL1Results::m_decisionsAfterMask
std::vector< std::pair< std::string, bool > > m_decisionsAfterMask
Definition: L1GtUtils.h:237