CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
l1t::L1TGlobalUtil Class Reference

#include <L1TGlobalUtil.h>

Public Member Functions

const std::vector< std::pair< std::string, bool > > & decisionsFinal ()
 
const std::vector< std::pair< std::string, bool > > & decisionsInitial ()
 
const std::vector< std::pair< std::string, bool > > & decisionsInterm ()
 
const bool getAlgBitFromName (const std::string &AlgName, int &bit) const
 
const bool getAlgNameFromBit (int &bit, std::string &AlgName) const
 
const bool getFinalDecisionByBit (int &bit, bool &decision) const
 
const bool getFinalDecisionByName (const std::string &algName, bool &decision) const
 
bool getFinalOR () const
 
const bool getInitialDecisionByBit (int &bit, bool &decision) const
 
const bool getInitialDecisionByName (const std::string &algName, bool &decision) const
 
const bool getIntermDecisionByBit (int &bit, bool &decision) const
 
const bool getIntermDecisionByName (const std::string &algName, bool &decision) const
 
const bool getMaskByBit (int &bit, std::vector< int > &mask) const
 
const bool getMaskByName (const std::string &algName, std::vector< int > &mask) const
 
const bool getPrescaleByBit (int &bit, double &prescale) const
 
const bool getPrescaleByName (const std::string &algName, double &prescale) const
 
const std::string & gtTriggerMenuComment () const
 
const std::string & gtTriggerMenuName () const
 
const std::string & gtTriggerMenuVersion () const
 
 L1TGlobalUtil (edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, UseEventSetupIn use=UseEventSetupIn::Run)
 
 L1TGlobalUtil (edm::ParameterSet const &pset, edm::ConsumesCollector &iC, UseEventSetupIn use=UseEventSetupIn::Run)
 
template<typename T >
 L1TGlobalUtil (edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, T &module, UseEventSetupIn use=UseEventSetupIn::Run)
 
template<typename T >
 L1TGlobalUtil (edm::ParameterSet const &pset, edm::ConsumesCollector &iC, T &module, UseEventSetupIn use=UseEventSetupIn::Run)
 
template<typename T >
 L1TGlobalUtil (edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, T &module, edm::InputTag const &l1tAlgBlkInputTag, edm::InputTag const &l1tExtBlkInputTag, UseEventSetupIn use=UseEventSetupIn::Run)
 
template<typename T >
 L1TGlobalUtil (edm::ParameterSet const &pset, edm::ConsumesCollector &iC, T &module, edm::InputTag const &l1tAlgBlkInputTag, edm::InputTag const &l1tExtBlkInputTag, UseEventSetupIn use=UseEventSetupIn::Run)
 
const std::vector< std::pair< std::string, std::vector< int > > > & masks ()
 
unsigned int numberOfPreScaleColumns () const
 
void OverridePrescalesAndMasks (std::string filename, unsigned int psColumn=1.)
 
unsigned int prescaleColumn () const
 
const std::vector< std::pair< std::string, double > > & prescales ()
 
void retrieveL1 (const edm::Event &iEvent, const edm::EventSetup &evSetup)
 initialize the class (mainly reserve) More...
 
void retrieveL1 (const edm::Event &iEvent, const edm::EventSetup &evSetup, edm::EDGetToken gtAlgToken)
 
void retrieveL1Event (const edm::Event &iEvent, const edm::EventSetup &evSetup)
 
void retrieveL1Event (const edm::Event &iEvent, const edm::EventSetup &evSetup, edm::EDGetToken gtAlgToken)
 
void retrieveL1Setup (const edm::EventSetup &evSetup)
 
void setVerbosity (const int verbosity)
 
bool valid () const
 check that the L1TGlobalUtil has been properly initialised More...
 
virtual ~L1TGlobalUtil ()
 destructor More...
 

Static Public Member Functions

static void fillDescription (edm::ParameterSetDescription &desc, edm::InputTag const &iAlg, edm::InputTag const &iExt, bool readPrescalesFromFile)
 

Private Member Functions

void eventSetupConsumes (edm::ConsumesCollector &iC, UseEventSetupIn useEventSetupIn)
 
 L1TGlobalUtil ()
 
void loadPrescalesAndMasks ()
 
void resetDecisionVectors ()
 clear decision vectors on a menu change More...
 
void resetMaskVectors ()
 
void resetPrescaleVectors ()
 
void retrieveL1Setup (const edm::EventSetup &evSetup, bool isRun)
 

Private Attributes

const std::map< std::string, L1TUtmAlgorithm > * m_algorithmMap
 
std::vector< std::pair< std::string, bool > > m_decisionsFinal
 
std::vector< std::pair< std::string, bool > > m_decisionsInitial
 
std::vector< std::pair< std::string, bool > > m_decisionsInterm
 
bool m_filledPrescales
 
bool m_finalOR
 
std::vector< std::vector< double > > m_initialPrescaleFactorsAlgoTrig
 
const std::map< int, std::vector< int > > m_initialTriggerMaskAlgoTrig
 
const L1TUtmTriggerMenum_l1GtMenu
 
unsigned long long m_l1GtMenuCacheID
 
unsigned long long m_l1GtPfAlgoCacheID
 
const l1t::PrescalesVetosFractHelperm_l1GtPrescalesVetoes
 
edm::ESGetToken< L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcdm_L1TGlobalPrescalesVetosFractEventToken
 
edm::ESGetToken< L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcdm_L1TGlobalPrescalesVetosFractRunToken
 
std::unique_ptr< L1TGlobalUtilHelperm_l1tGlobalUtilHelper
 
edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcdm_L1TUtmTriggerMenuEventToken
 
edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcdm_L1TUtmTriggerMenuRunToken
 
std::vector< std::pair< std::string, std::vector< int > > > m_masks
 
const unsigned int m_maxNumberPhysTriggers = 512
 
unsigned int m_numberOfPreScaleColumns
 
unsigned int m_numberPhysTriggers
 
unsigned int m_PreScaleColumn
 
const std::vector< std::vector< double > > * m_prescaleFactorsAlgoTrig
 
std::string m_preScaleFileName
 
std::vector< std::pair< std::string, double > > m_prescales
 
bool m_readPrescalesFromFile
 
const std::map< int, std::vector< int > > * m_triggerMaskAlgoTrig
 
edm::Handle< BXVector< GlobalAlgBlk > > m_uGtAlgBlk
 
int m_verbosity
 verbosity level More...
 

Detailed Description

Definition at line 44 of file L1TGlobalUtil.h.

Constructor & Destructor Documentation

◆ L1TGlobalUtil() [1/7]

l1t::L1TGlobalUtil::L1TGlobalUtil ( edm::ParameterSet const &  pset,
edm::ConsumesCollector &&  iC,
UseEventSetupIn  use = UseEventSetupIn::Run 
)

Definition at line 38 of file L1TGlobalUtil.cc.

41  : L1TGlobalUtil(pset, iC, useEventSetupIn) {}

◆ L1TGlobalUtil() [2/7]

l1t::L1TGlobalUtil::L1TGlobalUtil ( edm::ParameterSet const &  pset,
edm::ConsumesCollector iC,
UseEventSetupIn  use = UseEventSetupIn::Run 
)

Definition at line 43 of file L1TGlobalUtil.cc.

References eventSetupConsumes(), m_l1tGlobalUtilHelper, m_readPrescalesFromFile, and muonDTDigis_cfi::pset.

46  : L1TGlobalUtil() {
47  m_l1tGlobalUtilHelper = std::make_unique<L1TGlobalUtilHelper>(pset, iC);
48  m_readPrescalesFromFile = m_l1tGlobalUtilHelper->readPrescalesFromFile();
49  eventSetupConsumes(iC, useEventSetupIn);
50 }
std::unique_ptr< L1TGlobalUtilHelper > m_l1tGlobalUtilHelper
void eventSetupConsumes(edm::ConsumesCollector &iC, UseEventSetupIn useEventSetupIn)

◆ L1TGlobalUtil() [3/7]

template<typename T >
l1t::L1TGlobalUtil::L1TGlobalUtil ( edm::ParameterSet const &  pset,
edm::ConsumesCollector &&  iC,
T module,
UseEventSetupIn  use = UseEventSetupIn::Run 
)

Definition at line 248 of file L1TGlobalUtil.h.

◆ L1TGlobalUtil() [4/7]

template<typename T >
l1t::L1TGlobalUtil::L1TGlobalUtil ( edm::ParameterSet const &  pset,
edm::ConsumesCollector iC,
T module,
UseEventSetupIn  use = UseEventSetupIn::Run 
)

Definition at line 255 of file L1TGlobalUtil.h.

References eventSetupConsumes(), m_l1tGlobalUtilHelper, m_readPrescalesFromFile, callgraph::module, and muonDTDigis_cfi::pset.

259  : L1TGlobalUtil() {
260  m_l1tGlobalUtilHelper = std::make_unique<L1TGlobalUtilHelper>(pset, iC, module);
261  m_readPrescalesFromFile = m_l1tGlobalUtilHelper->readPrescalesFromFile();
262  eventSetupConsumes(iC, useEventSetupIn);
263  }
std::unique_ptr< L1TGlobalUtilHelper > m_l1tGlobalUtilHelper
void eventSetupConsumes(edm::ConsumesCollector &iC, UseEventSetupIn useEventSetupIn)

◆ L1TGlobalUtil() [5/7]

template<typename T >
l1t::L1TGlobalUtil::L1TGlobalUtil ( edm::ParameterSet const &  pset,
edm::ConsumesCollector &&  iC,
T module,
edm::InputTag const &  l1tAlgBlkInputTag,
edm::InputTag const &  l1tExtBlkInputTag,
UseEventSetupIn  use = UseEventSetupIn::Run 
)

◆ L1TGlobalUtil() [6/7]

template<typename T >
l1t::L1TGlobalUtil::L1TGlobalUtil ( edm::ParameterSet const &  pset,
edm::ConsumesCollector iC,
T module,
edm::InputTag const &  l1tAlgBlkInputTag,
edm::InputTag const &  l1tExtBlkInputTag,
UseEventSetupIn  use = UseEventSetupIn::Run 
)

Definition at line 275 of file L1TGlobalUtil.h.

References eventSetupConsumes(), WElectronSkim_cff::l1tAlgBlkInputTag, WElectronSkim_cff::l1tExtBlkInputTag, m_l1tGlobalUtilHelper, m_readPrescalesFromFile, callgraph::module, and muonDTDigis_cfi::pset.

281  : L1TGlobalUtil() {
283  std::make_unique<L1TGlobalUtilHelper>(pset, iC, module, l1tAlgBlkInputTag, l1tExtBlkInputTag);
284  m_readPrescalesFromFile = m_l1tGlobalUtilHelper->readPrescalesFromFile();
285  eventSetupConsumes(iC, useEventSetupIn);
286  }
std::unique_ptr< L1TGlobalUtilHelper > m_l1tGlobalUtilHelper
void eventSetupConsumes(edm::ConsumesCollector &iC, UseEventSetupIn useEventSetupIn)

◆ ~L1TGlobalUtil()

l1t::L1TGlobalUtil::~L1TGlobalUtil ( )
virtual

destructor

Definition at line 53 of file L1TGlobalUtil.cc.

53  {
54  // empty
55 }

◆ L1TGlobalUtil() [7/7]

l1t::L1TGlobalUtil::L1TGlobalUtil ( )
private

Definition at line 22 of file L1TGlobalUtil.cc.

References validate-o2o-wbm::f1, m_filledPrescales, m_l1GtMenuCacheID, m_l1GtPfAlgoCacheID, m_numberPhysTriggers, m_PreScaleColumn, m_prescaleFactorsAlgoTrig, m_preScaleFileName, m_readPrescalesFromFile, and m_triggerMaskAlgoTrig.

22  : m_l1GtMenu(nullptr) {
23  // initialize cached IDs
24  m_l1GtMenuCacheID = 0ULL;
25  m_l1GtPfAlgoCacheID = 0ULL;
26  m_filledPrescales = false;
27 
28  edm::FileInPath f1("L1Trigger/L1TGlobal/data/Luminosity/startup/prescale_L1TGlobal.csv");
29  m_preScaleFileName = f1.fullPath();
30  m_numberPhysTriggers = 512; //need to get this out of the EventSetup
31  m_PreScaleColumn = 0;
33 
34  m_prescaleFactorsAlgoTrig = nullptr;
35  m_triggerMaskAlgoTrig = nullptr;
36 }
const L1TUtmTriggerMenu * m_l1GtMenu
std::string m_preScaleFileName
unsigned long long m_l1GtPfAlgoCacheID
unsigned int m_PreScaleColumn
const std::map< int, std::vector< int > > * m_triggerMaskAlgoTrig
const std::vector< std::vector< double > > * m_prescaleFactorsAlgoTrig
unsigned long long m_l1GtMenuCacheID
unsigned int m_numberPhysTriggers

Member Function Documentation

◆ decisionsFinal()

const std::vector<std::pair<std::string, bool> >& l1t::L1TGlobalUtil::decisionsFinal ( )
inline

Definition at line 161 of file L1TGlobalUtil.h.

References m_decisionsFinal.

Referenced by HcalIsoTrkSimAnalyzer::analyze(), HcalIsoTrkAnalyzer::analyze(), and AlCaHcalIsotrkProducer::produce().

161 { return m_decisionsFinal; }
std::vector< std::pair< std::string, bool > > m_decisionsFinal

◆ decisionsInitial()

const std::vector<std::pair<std::string, bool> >& l1t::L1TGlobalUtil::decisionsInitial ( )
inline

Definition at line 159 of file L1TGlobalUtil.h.

References m_decisionsInitial.

159 { return m_decisionsInitial; }
std::vector< std::pair< std::string, bool > > m_decisionsInitial

◆ decisionsInterm()

const std::vector<std::pair<std::string, bool> >& l1t::L1TGlobalUtil::decisionsInterm ( )
inline

Definition at line 160 of file L1TGlobalUtil.h.

References m_decisionsInterm.

160 { return m_decisionsInterm; }
std::vector< std::pair< std::string, bool > > m_decisionsInterm

◆ eventSetupConsumes()

void l1t::L1TGlobalUtil::eventSetupConsumes ( edm::ConsumesCollector iC,
UseEventSetupIn  useEventSetupIn 
)
private

Definition at line 398 of file L1TGlobalUtil.cc.

References edm::BeginRun, edm::ConsumesCollector::esConsumes(), l1t::Event, PrescalesVetosFract_cff::L1TGlobalPrescalesVetosFract, l1t::Run, and l1t::RunAndEvent.

Referenced by L1TGlobalUtil().

398  {
399  if (useEventSetupIn == UseEventSetupIn::Run || useEventSetupIn == UseEventSetupIn::RunAndEvent) {
404  }
405  }
406  if (useEventSetupIn == UseEventSetupIn::Event || useEventSetupIn == UseEventSetupIn::RunAndEvent) {
411  }
412  }
413 }
edm::ESGetToken< L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcd > m_L1TGlobalPrescalesVetosFractRunToken
edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd > m_L1TUtmTriggerMenuRunToken
edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd > m_L1TUtmTriggerMenuEventToken
edm::ESGetToken< L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcd > m_L1TGlobalPrescalesVetosFractEventToken

◆ fillDescription()

static void l1t::L1TGlobalUtil::fillDescription ( edm::ParameterSetDescription desc,
edm::InputTag const &  iAlg,
edm::InputTag const &  iExt,
bool  readPrescalesFromFile 
)
inlinestatic

Definition at line 100 of file L1TGlobalUtil.h.

References submitPVResolutionJobs::desc, and l1t::L1TGlobalUtilHelper::fillDescription().

Referenced by HLTPrescaleProvider::fillPSetDescription().

103  {
104  L1TGlobalUtilHelper::fillDescription(desc, iAlg, iExt, readPrescalesFromFile);
105  }
static void fillDescription(edm::ParameterSetDescription &desc, edm::InputTag const &iAlg, edm::InputTag const &iExt, bool readPrescalesFromFile)

◆ getAlgBitFromName()

const bool l1t::L1TGlobalUtil::getAlgBitFromName ( const std::string &  AlgName,
int &  bit 
) const

Definition at line 458 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, and ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::getIndex().

458  {
459  std::map<std::string, L1TUtmAlgorithm>::const_iterator itAlgo = m_algorithmMap->find(algName);
460  if (itAlgo != m_algorithmMap->end()) {
461  bit = (itAlgo->second).getIndex(); //algoBitNumber();
462  return true;
463  }
464 
465  return false; //did not find anything by that name
466 }
const std::map< std::string, L1TUtmAlgorithm > * m_algorithmMap
ALPAKA_FN_ACC ALPAKA_FN_INLINE constexpr uint32_t getIndex(uint16_t x, uint16_t y)

◆ getAlgNameFromBit()

const bool l1t::L1TGlobalUtil::getAlgNameFromBit ( int &  bit,
std::string &  AlgName 
) const

Definition at line 468 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, and dqmdumpme::first.

Referenced by L1TdeStage2uGT::analyze().

468  {
469  // since we are just looking up the name, doesn't matter which vector we get it from
470  if ((m_decisionsInitial[bit]).first != "NULL") {
471  algName = (m_decisionsInitial[bit]).first;
472  return true;
473  }
474  return false; //No name associated with this bit
475 }
std::vector< std::pair< std::string, bool > > m_decisionsInitial

◆ getFinalDecisionByBit()

const bool l1t::L1TGlobalUtil::getFinalDecisionByBit ( int &  bit,
bool &  decision 
) const

Definition at line 500 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, dqmdumpme::first, and edm::second().

500  {
501  // Need some check that this is a valid bit
502  if ((m_decisionsFinal[bit]).first != "NULL") {
503  decision = (m_decisionsFinal[bit]).second;
504  return true;
505  }
506 
507  return false; //couldn't get the information requested.
508 }
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, bool > > m_decisionsFinal

◆ getFinalDecisionByName()

const bool l1t::L1TGlobalUtil::getFinalDecisionByName ( const std::string &  algName,
bool &  decision 
) const

Definition at line 548 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, and edm::second().

548  {
549  int bit = -1;
550  if (getAlgBitFromName(algName, bit)) {
551  decision = (m_decisionsFinal[bit]).second;
552  return true;
553  }
554 
555  return false; //trigger name was not the menu.
556 }
const bool getAlgBitFromName(const std::string &AlgName, int &bit) const
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, bool > > m_decisionsFinal

◆ getFinalOR()

bool l1t::L1TGlobalUtil::getFinalOR ( ) const
inline

Definition at line 123 of file L1TGlobalUtil.h.

References m_finalOR.

123 { return m_finalOR; }

◆ getInitialDecisionByBit()

const bool l1t::L1TGlobalUtil::getInitialDecisionByBit ( int &  bit,
bool &  decision 
) const

Definition at line 477 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, dqmdumpme::first, and edm::second().

477  {
478  /*
479  for(std::vector<GlobalAlgBlk>::const_iterator algBlk = m_uGtAlgBlk->begin(0); algBlk != m_uGtAlgBlk->end(0); ++algBlk) {
480  decision = algBlk->getAlgoDecisionFinal(bit);
481  }
482  */
483  // Need some check that this is a valid bit
484  if ((m_decisionsInitial[bit]).first != "NULL") {
485  decision = (m_decisionsInitial[bit]).second;
486  return true;
487  }
488 
489  return false; //couldn't get the information requested.
490 }
std::vector< std::pair< std::string, bool > > m_decisionsInitial
U second(std::pair< T, U > const &p)

◆ getInitialDecisionByName()

const bool l1t::L1TGlobalUtil::getInitialDecisionByName ( const std::string &  algName,
bool &  decision 
) const

Definition at line 528 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, and edm::second().

528  {
529  int bit = -1;
530  if (getAlgBitFromName(algName, bit)) {
531  decision = (m_decisionsInitial[bit]).second;
532  return true;
533  }
534 
535  return false; //trigger name was not the menu.
536 }
const bool getAlgBitFromName(const std::string &AlgName, int &bit) const
std::vector< std::pair< std::string, bool > > m_decisionsInitial
U second(std::pair< T, U > const &p)

◆ getIntermDecisionByBit()

const bool l1t::L1TGlobalUtil::getIntermDecisionByBit ( int &  bit,
bool &  decision 
) const

Definition at line 491 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, dqmdumpme::first, and edm::second().

491  {
492  // Need some check that this is a valid bit
493  if ((m_decisionsInterm[bit]).first != "NULL") {
494  decision = (m_decisionsInterm[bit]).second;
495  return true;
496  }
497 
498  return false; //couldn't get the information requested.
499 }
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, bool > > m_decisionsInterm

◆ getIntermDecisionByName()

const bool l1t::L1TGlobalUtil::getIntermDecisionByName ( const std::string &  algName,
bool &  decision 
) const

Definition at line 538 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, and edm::second().

538  {
539  int bit = -1;
540  if (getAlgBitFromName(algName, bit)) {
541  decision = (m_decisionsInterm[bit]).second;
542  return true;
543  }
544 
545  return false; //trigger name was not the menu.
546 }
const bool getAlgBitFromName(const std::string &AlgName, int &bit) const
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, bool > > m_decisionsInterm

◆ getMaskByBit()

const bool l1t::L1TGlobalUtil::getMaskByBit ( int &  bit,
std::vector< int > &  mask 
) const

Definition at line 518 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, dqmdumpme::first, ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::mask, and edm::second().

518  {
519  // Need some check that this is a valid bit
520  if ((m_masks[bit]).first != "NULL") {
521  mask = (m_masks[bit]).second;
522  return true;
523  }
524 
525  return false; //couldn't get the information requested.
526 }
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, std::vector< int > > > m_masks

◆ getMaskByName()

const bool l1t::L1TGlobalUtil::getMaskByName ( const std::string &  algName,
std::vector< int > &  mask 
) const

Definition at line 566 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::mask, and edm::second().

566  {
567  int bit = -1;
568  if (getAlgBitFromName(algName, bit)) {
569  mask = (m_masks[bit]).second;
570  return true;
571  }
572 
573  return false; //trigger name was not the menu.
574 }
const bool getAlgBitFromName(const std::string &AlgName, int &bit) const
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, std::vector< int > > > m_masks

◆ getPrescaleByBit()

const bool l1t::L1TGlobalUtil::getPrescaleByBit ( int &  bit,
double &  prescale 
) const

Definition at line 509 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, dqmdumpme::first, and edm::second().

Referenced by L1TdeStage2uGT::analyze().

509  {
510  // Need some check that this is a valid bit
511  if ((m_prescales[bit]).first != "NULL") {
513  return true;
514  }
515 
516  return false; //couldn't get the information requested.
517 }
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, double > > m_prescales

◆ getPrescaleByName()

const bool l1t::L1TGlobalUtil::getPrescaleByName ( const std::string &  algName,
double &  prescale 
) const

Definition at line 557 of file L1TGlobalUtil.cc.

References triggerObjects_cff::bit, and edm::second().

557  {
558  int bit = -1;
559  if (getAlgBitFromName(algName, bit)) {
561  return true;
562  }
563 
564  return false; //trigger name was not the menu.
565 }
const bool getAlgBitFromName(const std::string &AlgName, int &bit) const
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, double > > m_prescales

◆ gtTriggerMenuComment()

const std::string& l1t::L1TGlobalUtil::gtTriggerMenuComment ( ) const
inline

Definition at line 172 of file L1TGlobalUtil.h.

References L1TUtmTriggerMenu::getComment(), and m_l1GtMenu.

172 { return m_l1GtMenu->getComment(); }
const L1TUtmTriggerMenu * m_l1GtMenu
const std::string & getComment() const

◆ gtTriggerMenuName()

const std::string& l1t::L1TGlobalUtil::gtTriggerMenuName ( ) const
inline

Definition at line 170 of file L1TGlobalUtil.h.

References L1TUtmTriggerMenu::getName(), and m_l1GtMenu.

170 { return m_l1GtMenu->getName(); }
const std::string & getName() const
const L1TUtmTriggerMenu * m_l1GtMenu

◆ gtTriggerMenuVersion()

const std::string& l1t::L1TGlobalUtil::gtTriggerMenuVersion ( ) const
inline

Definition at line 171 of file L1TGlobalUtil.h.

References L1TUtmTriggerMenu::getVersion(), and m_l1GtMenu.

171 { return m_l1GtMenu->getVersion(); }
const L1TUtmTriggerMenu * m_l1GtMenu
const std::string & getVersion() const

◆ loadPrescalesAndMasks()

void l1t::L1TGlobalUtil::loadPrescalesAndMasks ( )
private

Definition at line 282 of file L1TGlobalUtil.cc.

References cuy::col, relativeConstraints::empty, dqmdumpme::first, createfilelist::int, mps_splice::line, LogTrace, setupCalibrationTree_cff::prescale, submitPVValidationJobs::split(), AlCaHLTBitMon_QueryRunRegistry::string, and relativeConstraints::value.

282  {
283  std::ifstream inputPrescaleFile;
284  //std::cout << "Reading prescales from file: " << m_preScaleFileName << std::endl;
285  inputPrescaleFile.open(m_preScaleFileName);
286 
287  std::vector<std::vector<int> > vec;
288  std::vector<std::vector<double> > prescale_vec;
289 
290  if (inputPrescaleFile) {
291  std::string prefix1("#");
292  std::string prefix2("-1");
293 
295 
296  bool first = true;
297 
298  while (getline(inputPrescaleFile, line)) {
299  if (!line.compare(0, prefix1.size(), prefix1))
300  continue;
301  //if( !line.compare(0, prefix2.size(), prefix2) ) continue;
302 
303  istringstream split(line);
304  int value;
305  int col = 0;
306  char sep;
307 
308  while (split >> value) {
309  if (first) {
310  // Each new value read on line 1 should create a new inner vector
311  vec.push_back(std::vector<int>());
312  }
313 
314  vec[col].push_back(value);
315  ++col;
316 
317  // read past the separator
318  split >> sep;
319  }
320 
321  // Finished reading line 1 and creating as many inner
322  // vectors as required
323  first = false;
324  }
325 
326  int NumPrescaleSets = 0;
327  for (int iCol = 0; iCol < int(vec.size()); iCol++) {
328  if (!vec[iCol].empty()) {
329  int firstRow = vec[iCol][0];
330 
331  if (firstRow >= 0)
332  NumPrescaleSets++;
333  //else if( firstRow==-2 ) maskColumn = iCol;
334  //else if( firstRow==-3 ) maskVetoColumn = iCol;
335  }
336  }
337 
338  //std::cout << "NumPrescaleSets= " << NumPrescaleSets << std::endl;
339  if (NumPrescaleSets > 0) {
340  // Fill default prescale set
341  for (int iSet = 0; iSet < NumPrescaleSets; iSet++) {
342  prescale_vec.push_back(std::vector<double>());
343  for (unsigned int iBit = 0; iBit < m_numberPhysTriggers; ++iBit) {
344  int inputDefaultPrescale = 1;
345  prescale_vec[iSet].push_back(inputDefaultPrescale);
346  }
347  }
348 
349  // Fill non-trivial prescale set
350  for (int iBit = 1; iBit < int(vec[0].size()); iBit++) {
351  unsigned int algoBit = vec[0][iBit];
352  // algoBit must be less than the number of triggers
353  if (algoBit < m_numberPhysTriggers) {
354  for (int iSet = 0; iSet < int(vec.size()); iSet++) {
355  int useSet = -1;
356  if (!vec[iSet].empty()) {
357  useSet = vec[iSet][0];
358  }
359  useSet -= 1;
360 
361  if (useSet < 0)
362  continue;
363 
364  int prescale = vec[iSet][iBit];
365  prescale_vec[useSet][algoBit] = prescale;
366  }
367  } else {
368  LogTrace("l1t|Global") << "\nPrescale file has algo bit: " << algoBit
369  << "\nThis is larger than the number of triggers: " << m_numberPhysTriggers
370  << "\nSomething is wrong. Ignoring." << std::endl;
371  }
372  }
373  }
374 
375  } else {
376  LogTrace("l1t|Global") << "\nCould not find file: " << m_preScaleFileName
377  << "\nFilling the prescale vectors with prescale 1"
378  << "\nSetting prescale set to 0" << std::endl;
379 
380  m_PreScaleColumn = 0;
381 
382  for (int col = 0; col < 1; col++) {
383  prescale_vec.push_back(std::vector<double>());
384  for (unsigned int iBit = 0; iBit < m_numberPhysTriggers; ++iBit) {
385  int inputDefaultPrescale = 0;
386  prescale_vec[col].push_back(inputDefaultPrescale);
387  }
388  }
389  }
390 
391  inputPrescaleFile.close();
392 
393  m_initialPrescaleFactorsAlgoTrig = prescale_vec;
394  // setting of bx masks from an input file not enabled; do not see a use case at the moment
395  std::map<int, std::vector<int> > m_initialTriggerMaskAlgoTrig;
396 }
size
Write out results.
std::string m_preScaleFileName
unsigned int m_PreScaleColumn
#define LogTrace(id)
std::vector< std::vector< double > > m_initialPrescaleFactorsAlgoTrig
const std::map< int, std::vector< int > > m_initialTriggerMaskAlgoTrig
Definition: value.py:1
col
Definition: cuy.py:1009
unsigned int m_numberPhysTriggers

◆ masks()

const std::vector<std::pair<std::string, std::vector<int> > >& l1t::L1TGlobalUtil::masks ( )
inline

Definition at line 167 of file L1TGlobalUtil.h.

References m_masks.

167 { return m_masks; }
std::vector< std::pair< std::string, std::vector< int > > > m_masks

◆ numberOfPreScaleColumns()

unsigned int l1t::L1TGlobalUtil::numberOfPreScaleColumns ( ) const
inline

Definition at line 176 of file L1TGlobalUtil.h.

References m_numberOfPreScaleColumns.

176 { return m_numberOfPreScaleColumns; }
unsigned int m_numberOfPreScaleColumns

◆ OverridePrescalesAndMasks()

void l1t::L1TGlobalUtil::OverridePrescalesAndMasks ( std::string  filename,
unsigned int  psColumn = 1. 
)

Definition at line 60 of file L1TGlobalUtil.cc.

References validate-o2o-wbm::f1, corrVsCorr::filename, and HLT_2024v14_cff::psColumn.

60  {
61  edm::FileInPath f1("L1Trigger/L1TGlobal/data/Luminosity/startup/" + filename);
62  m_preScaleFileName = f1.fullPath();
64 }
std::string m_preScaleFileName
unsigned int m_PreScaleColumn

◆ prescaleColumn()

unsigned int l1t::L1TGlobalUtil::prescaleColumn ( ) const
inline

Definition at line 175 of file L1TGlobalUtil.h.

References m_PreScaleColumn.

175 { return m_PreScaleColumn; }
unsigned int m_PreScaleColumn

◆ prescales()

const std::vector<std::pair<std::string, double> >& l1t::L1TGlobalUtil::prescales ( )
inline

Definition at line 164 of file L1TGlobalUtil.h.

References m_prescales.

Referenced by L1TdeStage2uGT::bookHistograms().

164 { return m_prescales; }
std::vector< std::pair< std::string, double > > m_prescales

◆ resetDecisionVectors()

void l1t::L1TGlobalUtil::resetDecisionVectors ( )
private

clear decision vectors on a menu change

Definition at line 415 of file L1TGlobalUtil.cc.

References dqmdumpme::first, and edm::second().

415  {
416  // Reset all the vector contents with null information
417  m_decisionsInitial.clear();
419  m_decisionsInterm.clear();
421  m_decisionsFinal.clear();
423 
424  for (unsigned int algBit = 0; algBit < m_maxNumberPhysTriggers; algBit++) {
425  (m_decisionsInitial[algBit]).first = "NULL";
426  (m_decisionsInitial[algBit]).second = false;
427 
428  (m_decisionsInterm[algBit]).first = "NULL";
429  (m_decisionsInterm[algBit]).second = false;
430 
431  (m_decisionsFinal[algBit]).first = "NULL";
432  (m_decisionsFinal[algBit]).second = false;
433  }
434 }
std::vector< std::pair< std::string, bool > > m_decisionsInitial
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, bool > > m_decisionsInterm
std::vector< std::pair< std::string, bool > > m_decisionsFinal
const unsigned int m_maxNumberPhysTriggers

◆ resetMaskVectors()

void l1t::L1TGlobalUtil::resetMaskVectors ( )
private

Definition at line 447 of file L1TGlobalUtil.cc.

References dqmdumpme::first.

447  {
448  // Reset all the vector contents with null information
449  m_masks.clear();
451 
452  for (unsigned int algBit = 0; algBit < m_maxNumberPhysTriggers; algBit++) {
453  (m_masks[algBit]).first = "NULL";
454  // ccla (m_masks[algBit]).second = true;
455  }
456 }
std::vector< std::pair< std::string, std::vector< int > > > m_masks
const unsigned int m_maxNumberPhysTriggers

◆ resetPrescaleVectors()

void l1t::L1TGlobalUtil::resetPrescaleVectors ( )
private

Definition at line 436 of file L1TGlobalUtil.cc.

References dqmdumpme::first, and edm::second().

436  {
437  // Reset all the vector contents with null information
438  m_prescales.clear();
440 
441  for (unsigned int algBit = 0; algBit < m_maxNumberPhysTriggers; algBit++) {
442  (m_prescales[algBit]).first = "NULL";
443  (m_prescales[algBit]).second = 1;
444  }
445 }
U second(std::pair< T, U > const &p)
std::vector< std::pair< std::string, double > > m_prescales
const unsigned int m_maxNumberPhysTriggers

◆ retrieveL1() [1/2]

void l1t::L1TGlobalUtil::retrieveL1 ( const edm::Event iEvent,
const edm::EventSetup evSetup 
)

initialize the class (mainly reserve)

Definition at line 66 of file L1TGlobalUtil.cc.

References iEvent.

Referenced by L1TdeStage2uGT::analyze(), HcalIsoTrkSimAnalyzer::analyze(), HcalIsoTrkAnalyzer::analyze(), and AlCaHcalIsotrkProducer::produce().

66  {
67  // typically, the L1T menu and prescale table (may change only between Runs)
68  bool isRun = false;
69  retrieveL1Setup(evSetup, isRun);
70  // typically the prescale set index used and the event by event accept/reject info (changes between Events)
71  retrieveL1Event(iEvent, evSetup);
72 }
void retrieveL1Event(const edm::Event &iEvent, const edm::EventSetup &evSetup)
int iEvent
Definition: GenABIO.cc:224
void retrieveL1Setup(const edm::EventSetup &evSetup)

◆ retrieveL1() [2/2]

void l1t::L1TGlobalUtil::retrieveL1 ( const edm::Event iEvent,
const edm::EventSetup evSetup,
edm::EDGetToken  gtAlgToken 
)

Definition at line 74 of file L1TGlobalUtil.cc.

References iEvent.

76  {
77  // typically, the L1T menu and prescale table (may change only between Runs)
78  bool isRun = false;
79  retrieveL1Setup(evSetup, isRun);
80  // typically the prescale set index used and the event by event accept/reject info (changes between Events)
81  retrieveL1Event(iEvent, evSetup, gtAlgToken);
82 }
void retrieveL1Event(const edm::Event &iEvent, const edm::EventSetup &evSetup)
int iEvent
Definition: GenABIO.cc:224
void retrieveL1Setup(const edm::EventSetup &evSetup)

◆ retrieveL1Event() [1/2]

void l1t::L1TGlobalUtil::retrieveL1Event ( const edm::Event iEvent,
const edm::EventSetup evSetup 
)

Definition at line 210 of file L1TGlobalUtil.cc.

References iEvent.

210  {
211  retrieveL1Event(iEvent, evSetup, m_l1tGlobalUtilHelper->l1tAlgBlkToken());
212 }
void retrieveL1Event(const edm::Event &iEvent, const edm::EventSetup &evSetup)
std::unique_ptr< L1TGlobalUtilHelper > m_l1tGlobalUtilHelper
int iEvent
Definition: GenABIO.cc:224

◆ retrieveL1Event() [2/2]

void l1t::L1TGlobalUtil::retrieveL1Event ( const edm::Event iEvent,
const edm::EventSetup evSetup,
edm::EDGetToken  gtAlgToken 
)

Definition at line 214 of file L1TGlobalUtil.cc.

References dqmdumpme::first, ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::getIndex(), iEvent, LogDebug, edm::second(), and AlCaHLTBitMon_QueryRunRegistry::string.

216  {
217  // Get the Global Trigger Output Algorithm block
218  iEvent.getByToken(gtAlgToken, m_uGtAlgBlk);
219  m_finalOR = false;
220 
221  //Make sure we have a valid AlgBlk
222  if (m_uGtAlgBlk.isValid()) {
223  // get the GlabalAlgBlk (Stupid find better way) of BX=0
224  std::vector<GlobalAlgBlk>::const_iterator algBlk = m_uGtAlgBlk->begin(0);
225  if (algBlk != m_uGtAlgBlk->end(0)) {
227  m_PreScaleColumn = static_cast<unsigned int>(algBlk->getPreScColumn());
228 
229  // Fix for MC prescale column being set to index+1 in early versions of uGT emulator
230  if (iEvent.run() == 1) {
231  if (m_prescaleFactorsAlgoTrig->size() == 1 && m_PreScaleColumn == 1)
232  m_PreScaleColumn = 0;
233  }
234 
235  // add protection against out-of-bound index for prescale column
237  LogDebug("l1t|Global") << "Prescale column extracted from GlobalAlgBlk too large: " << m_PreScaleColumn
238  << "\tMaximum value allowed: " << m_prescaleFactorsAlgoTrig->size() - 1
239  << "\tResetting prescale column to 0" << std::endl;
240  m_PreScaleColumn = 0;
241  }
242  }
243  const std::vector<double>& prescaleSet = (*m_prescaleFactorsAlgoTrig)[m_PreScaleColumn];
244 
245  // Grab the final OR from the AlgBlk,
246  m_finalOR = algBlk->getFinalOR();
247 
248  // Make a map of the trigger name and whether it passed various stages (initial,prescale,final)
249  // Note: might be able to improve performance by not full remaking map with names each time
250  for (std::map<std::string, L1TUtmAlgorithm>::const_iterator itAlgo = m_algorithmMap->begin();
251  itAlgo != m_algorithmMap->end();
252  itAlgo++) {
253  // Get the algorithm name
254  std::string algName = itAlgo->first;
255  int algBit = (itAlgo->second).getIndex(); //algoBitNumber();
256 
257  bool decisionInitial = algBlk->getAlgoDecisionInitial(algBit);
258  (m_decisionsInitial[algBit]).first = algName;
259  (m_decisionsInitial[algBit]).second = decisionInitial;
260 
261  bool decisionInterm = algBlk->getAlgoDecisionInterm(algBit);
262  (m_decisionsInterm[algBit]).first = algName;
263  (m_decisionsInterm[algBit]).second = decisionInterm;
264 
265  bool decisionFinal = algBlk->getAlgoDecisionFinal(algBit);
266  (m_decisionsFinal[algBit]).first = algName;
267  (m_decisionsFinal[algBit]).second = decisionFinal;
268 
269  (m_prescales[algBit]).first = algName;
270  if (size_t(algBit) < prescaleSet.size()) {
271  (m_prescales[algBit]).second = prescaleSet[algBit];
272  }
273  }
274  } else {
275  //cout << "Error empty AlgBlk recovered.\n";
276  }
277  } else {
278  //cout<< "Error no valid uGT Algorithm Data with Token provided " << endl;
279  }
280 }
unsigned int m_PreScaleColumn
std::vector< std::pair< std::string, bool > > m_decisionsInitial
const std::map< std::string, L1TUtmAlgorithm > * m_algorithmMap
U second(std::pair< T, U > const &p)
ALPAKA_FN_ACC ALPAKA_FN_INLINE constexpr uint32_t getIndex(uint16_t x, uint16_t y)
int iEvent
Definition: GenABIO.cc:224
const std::vector< std::vector< double > > * m_prescaleFactorsAlgoTrig
std::vector< std::pair< std::string, double > > m_prescales
std::vector< std::pair< std::string, bool > > m_decisionsInterm
bool isValid() const
Definition: HandleBase.h:70
std::vector< std::pair< std::string, bool > > m_decisionsFinal
edm::Handle< BXVector< GlobalAlgBlk > > m_uGtAlgBlk
#define LogDebug(id)

◆ retrieveL1Setup() [1/2]

void l1t::L1TGlobalUtil::retrieveL1Setup ( const edm::EventSetup evSetup)

Definition at line 84 of file L1TGlobalUtil.cc.

Referenced by L1TdeStage2uGT::bookHistograms().

84  {
85  bool isRun = true;
86  retrieveL1Setup(evSetup, isRun);
87 }
void retrieveL1Setup(const edm::EventSetup &evSetup)

◆ retrieveL1Setup() [2/2]

void l1t::L1TGlobalUtil::retrieveL1Setup ( const edm::EventSetup evSetup,
bool  isRun 
)
private

Definition at line 89 of file L1TGlobalUtil.cc.

References edm::eventsetup::EventSetupRecord::cacheIdentifier(), dqmdumpme::first, edm::EventSetup::get(), ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::getIndex(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, LogDebug, LogTrace, l1t::PrescalesVetosFractHelper::readFromEventSetup(), edm::second(), and AlCaHLTBitMon_QueryRunRegistry::string.

89  {
90  // get / update the trigger menu from the EventSetup
91  // local cache & check on cacheIdentifier
92  auto menuRcd = evSetup.get<L1TUtmTriggerMenuRcd>();
93  unsigned long long l1GtMenuCacheID = menuRcd.cacheIdentifier();
94 
95  if (m_l1GtMenuCacheID != l1GtMenuCacheID) {
96  if (isRun) {
98  } else {
100  }
101 
102  //std::cout << "Attempting to fill the map " << std::endl;
104 
105  //reset vectors since we have new menu
107 
108  m_l1GtMenuCacheID = l1GtMenuCacheID;
109  }
110 
112  auto vetosRcd = evSetup.get<L1TGlobalPrescalesVetosFractRcd>();
113  unsigned long long l1GtPfAlgoCacheID = vetosRcd.cacheIdentifier();
114 
115  if (m_l1GtPfAlgoCacheID != l1GtPfAlgoCacheID) {
116  //std::cout << "Reading Prescales and Masks from dB" << std::endl;
117 
118  // clear and dimension
121  m_PreScaleColumn = 0;
124 
125  const L1TGlobalPrescalesVetosFract* es = nullptr;
126  if (isRun) {
127  es = &vetosRcd.get(m_L1TGlobalPrescalesVetosFractRunToken);
128  } else {
129  es = &vetosRcd.get(m_L1TGlobalPrescalesVetosFractEventToken);
130  }
132 
136  (*m_prescaleFactorsAlgoTrig)[0].size(); // assumes all prescale columns are the same length
137 
139 
140  m_l1GtPfAlgoCacheID = l1GtPfAlgoCacheID;
141  }
142  } else {
143  //Load the prescales from external file
144  // clear and dimension
145  if (!m_filledPrescales) {
148 
150 
151  // Set Prescale factors to initial
154  m_filledPrescales = true;
155  }
156  }
157 
158  //Protect against poor prescale column choice (I don't think there is a way this happen as currently structured)
160  LogTrace("l1t|Global") << "\nNo Prescale Set: " << m_PreScaleColumn
161  << "\nMax Prescale Set value : " << m_prescaleFactorsAlgoTrig->size()
162  << "\nSetting prescale column to 0" << std::endl;
163  m_PreScaleColumn = 0;
164  }
165  //std::cout << "Using prescale column: " << m_PreScaleColumn << std::endl;
166  const std::vector<double>& prescaleSet = (*m_prescaleFactorsAlgoTrig)[m_PreScaleColumn];
167 
168  for (std::map<std::string, L1TUtmAlgorithm>::const_iterator itAlgo = m_algorithmMap->begin();
169  itAlgo != m_algorithmMap->end();
170  itAlgo++) {
171  // Get the algorithm name
172  std::string algName = itAlgo->first;
173  int algBit = (itAlgo->second).getIndex(); //algoBitNumber();
174 
175  (m_prescales[algBit]).first = algName;
176  if (size_t(algBit) < prescaleSet.size()) {
177  (m_prescales[algBit]).second = prescaleSet[algBit];
178  }
179  LogDebug("l1t|Global") << "Number of bunch crossings stored: " << (*m_triggerMaskAlgoTrig).size() << endl;
180 
181  const std::map<int, std::vector<int> >* triggerAlgoMaskAlgoTrig = m_triggerMaskAlgoTrig;
182  std::map<int, std::vector<int> >::const_iterator it = triggerAlgoMaskAlgoTrig->begin();
183 
184  std::vector<int> maskedBxs;
185  (m_masks[algBit]).first = algName;
186  (m_masks[algBit]).second = maskedBxs;
187  while (it != triggerAlgoMaskAlgoTrig->end()) {
188  std::vector<int> masks = it->second;
189  //std::cout<< "BX: " << it->first<<" VecSize: "<< masks.size();
190  //std::cout << "\tMasked algos: ";
191  for (unsigned int imask = 0; imask < masks.size(); imask++) {
192  if (masks.at(imask) == algBit)
193  maskedBxs.push_back(it->first);
194  // std::cout << "\t" << masks.at(imask);
195  }
196  //std::cout << "\n";
197  it++;
198  }
199 
200  if (!maskedBxs.empty()) {
201  LogDebug("l1t|Global") << "i Algo: " << algBit << "\t" << algName << " masked\n";
202  for (unsigned int ibx = 0; ibx < maskedBxs.size(); ibx++) {
203  // std::cout << "\t" << maskedBxs.at(ibx);
204  (m_masks[algBit]).second = maskedBxs;
205  }
206  }
207  }
208 }
const L1TUtmTriggerMenu * m_l1GtMenu
edm::ESGetToken< L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcd > m_L1TGlobalPrescalesVetosFractRunToken
edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd > m_L1TUtmTriggerMenuRunToken
unsigned long long m_l1GtPfAlgoCacheID
unsigned int m_numberOfPreScaleColumns
static const PrescalesVetosFractHelper * readFromEventSetup(const L1TGlobalPrescalesVetosFract *es)
unsigned int m_PreScaleColumn
const l1t::PrescalesVetosFractHelper * m_l1GtPrescalesVetoes
void resetDecisionVectors()
clear decision vectors on a menu change
unsigned long long cacheIdentifier() const
#define LogTrace(id)
std::vector< std::vector< double > > m_initialPrescaleFactorsAlgoTrig
const std::map< std::string, L1TUtmAlgorithm > * m_algorithmMap
U second(std::pair< T, U > const &p)
ALPAKA_FN_ACC ALPAKA_FN_INLINE constexpr uint32_t getIndex(uint16_t x, uint16_t y)
const std::map< int, std::vector< int > > m_initialTriggerMaskAlgoTrig
std::vector< std::pair< std::string, std::vector< int > > > m_masks
const std::map< int, std::vector< int > > * m_triggerMaskAlgoTrig
edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd > m_L1TUtmTriggerMenuEventToken
const std::map< int, std::vector< int > > & triggerAlgoBxMask() const
T get() const
Definition: EventSetup.h:79
const std::vector< std::vector< double > > * m_prescaleFactorsAlgoTrig
std::vector< std::pair< std::string, double > > m_prescales
unsigned long long m_l1GtMenuCacheID
const std::map< std::string, L1TUtmAlgorithm > & getAlgorithmMap() const
const std::vector< std::pair< std::string, std::vector< int > > > & masks()
const std::vector< std::vector< double > > & prescaleTable() const
unsigned int m_numberPhysTriggers
edm::ESGetToken< L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcd > m_L1TGlobalPrescalesVetosFractEventToken
#define LogDebug(id)

◆ setVerbosity()

void l1t::L1TGlobalUtil::setVerbosity ( const int  verbosity)
inline

Definition at line 121 of file L1TGlobalUtil.h.

References m_verbosity, and verbosity.

121 { m_verbosity = verbosity; }
const int verbosity
int m_verbosity
verbosity level

◆ valid()

bool l1t::L1TGlobalUtil::valid ( ) const

check that the L1TGlobalUtil has been properly initialised

Definition at line 58 of file L1TGlobalUtil.cc.

58 { return m_l1GtMenuCacheID != 0ULL and m_l1GtMenu != nullptr; }
const L1TUtmTriggerMenu * m_l1GtMenu
unsigned long long m_l1GtMenuCacheID

Member Data Documentation

◆ m_algorithmMap

const std::map<std::string, L1TUtmAlgorithm>* l1t::L1TGlobalUtil::m_algorithmMap
private

Definition at line 204 of file L1TGlobalUtil.h.

◆ m_decisionsFinal

std::vector<std::pair<std::string, bool> > l1t::L1TGlobalUtil::m_decisionsFinal
private

Definition at line 229 of file L1TGlobalUtil.h.

Referenced by decisionsFinal().

◆ m_decisionsInitial

std::vector<std::pair<std::string, bool> > l1t::L1TGlobalUtil::m_decisionsInitial
private

Definition at line 227 of file L1TGlobalUtil.h.

Referenced by decisionsInitial().

◆ m_decisionsInterm

std::vector<std::pair<std::string, bool> > l1t::L1TGlobalUtil::m_decisionsInterm
private

Definition at line 228 of file L1TGlobalUtil.h.

Referenced by decisionsInterm().

◆ m_filledPrescales

bool l1t::L1TGlobalUtil::m_filledPrescales
private

Definition at line 200 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_finalOR

bool l1t::L1TGlobalUtil::m_finalOR
private

Definition at line 224 of file L1TGlobalUtil.h.

Referenced by getFinalOR().

◆ m_initialPrescaleFactorsAlgoTrig

std::vector<std::vector<double> > l1t::L1TGlobalUtil::m_initialPrescaleFactorsAlgoTrig
private

Definition at line 215 of file L1TGlobalUtil.h.

◆ m_initialTriggerMaskAlgoTrig

const std::map<int, std::vector<int> > l1t::L1TGlobalUtil::m_initialTriggerMaskAlgoTrig
private

Definition at line 217 of file L1TGlobalUtil.h.

◆ m_l1GtMenu

const L1TUtmTriggerMenu* l1t::L1TGlobalUtil::m_l1GtMenu
private

Definition at line 191 of file L1TGlobalUtil.h.

Referenced by gtTriggerMenuComment(), gtTriggerMenuName(), and gtTriggerMenuVersion().

◆ m_l1GtMenuCacheID

unsigned long long l1t::L1TGlobalUtil::m_l1GtMenuCacheID
private

Definition at line 192 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_l1GtPfAlgoCacheID

unsigned long long l1t::L1TGlobalUtil::m_l1GtPfAlgoCacheID
private

Definition at line 197 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_l1GtPrescalesVetoes

const l1t::PrescalesVetosFractHelper* l1t::L1TGlobalUtil::m_l1GtPrescalesVetoes
private

Definition at line 196 of file L1TGlobalUtil.h.

◆ m_L1TGlobalPrescalesVetosFractEventToken

edm::ESGetToken<L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcd> l1t::L1TGlobalUtil::m_L1TGlobalPrescalesVetosFractEventToken
private

Definition at line 244 of file L1TGlobalUtil.h.

◆ m_L1TGlobalPrescalesVetosFractRunToken

edm::ESGetToken<L1TGlobalPrescalesVetosFract, L1TGlobalPrescalesVetosFractRcd> l1t::L1TGlobalUtil::m_L1TGlobalPrescalesVetosFractRunToken
private

Definition at line 240 of file L1TGlobalUtil.h.

◆ m_l1tGlobalUtilHelper

std::unique_ptr<L1TGlobalUtilHelper> l1t::L1TGlobalUtil::m_l1tGlobalUtilHelper
private

Definition at line 236 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_L1TUtmTriggerMenuEventToken

edm::ESGetToken<L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd> l1t::L1TGlobalUtil::m_L1TUtmTriggerMenuEventToken
private

Definition at line 242 of file L1TGlobalUtil.h.

◆ m_L1TUtmTriggerMenuRunToken

edm::ESGetToken<L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd> l1t::L1TGlobalUtil::m_L1TUtmTriggerMenuRunToken
private

Definition at line 238 of file L1TGlobalUtil.h.

◆ m_masks

std::vector<std::pair<std::string, std::vector<int> > > l1t::L1TGlobalUtil::m_masks
private

Definition at line 231 of file L1TGlobalUtil.h.

Referenced by masks().

◆ m_maxNumberPhysTriggers

const unsigned int l1t::L1TGlobalUtil::m_maxNumberPhysTriggers = 512
private

Definition at line 208 of file L1TGlobalUtil.h.

◆ m_numberOfPreScaleColumns

unsigned int l1t::L1TGlobalUtil::m_numberOfPreScaleColumns
private

Definition at line 213 of file L1TGlobalUtil.h.

Referenced by numberOfPreScaleColumns().

◆ m_numberPhysTriggers

unsigned int l1t::L1TGlobalUtil::m_numberPhysTriggers
private

Definition at line 207 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_PreScaleColumn

unsigned int l1t::L1TGlobalUtil::m_PreScaleColumn
private

Definition at line 212 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil(), and prescaleColumn().

◆ m_prescaleFactorsAlgoTrig

const std::vector<std::vector<double> >* l1t::L1TGlobalUtil::m_prescaleFactorsAlgoTrig
private

Definition at line 216 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_preScaleFileName

std::string l1t::L1TGlobalUtil::m_preScaleFileName
private

Definition at line 211 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_prescales

std::vector<std::pair<std::string, double> > l1t::L1TGlobalUtil::m_prescales
private

Definition at line 230 of file L1TGlobalUtil.h.

Referenced by prescales().

◆ m_readPrescalesFromFile

bool l1t::L1TGlobalUtil::m_readPrescalesFromFile
private

Definition at line 195 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_triggerMaskAlgoTrig

const std::map<int, std::vector<int> >* l1t::L1TGlobalUtil::m_triggerMaskAlgoTrig
private

Definition at line 218 of file L1TGlobalUtil.h.

Referenced by L1TGlobalUtil().

◆ m_uGtAlgBlk

edm::Handle<BXVector<GlobalAlgBlk> > l1t::L1TGlobalUtil::m_uGtAlgBlk
private

Definition at line 221 of file L1TGlobalUtil.h.

◆ m_verbosity

int l1t::L1TGlobalUtil::m_verbosity
private

verbosity level

Definition at line 234 of file L1TGlobalUtil.h.

Referenced by setVerbosity().