CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
L1GtTriggerMenuTester Class Reference

#include <L1GtTriggerMenuTester.h>

Inheritance diagram for L1GtTriggerMenuTester:
edm::one::EDAnalyzer< edm::one::WatchRuns > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 L1GtTriggerMenuTester (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Types

typedef std::map< std::string, const L1GtAlgorithm * >::const_iterator CItAlgoP
 constant iterator More...
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 analyze More...
 
void associateL1SeedsHltPath (const edm::Run &, const edm::EventSetup &)
 L1 seed - HLT path association. More...
 
void beginRun (const edm::Run &, const edm::EventSetup &) override
 begin run More...
 
void endRun (const edm::Run &, const edm::EventSetup &) override
 end run More...
 
void printTriggerGroup (const std::string &trigGroupName, const std::map< std::string, const L1GtAlgorithm *> &trigGroup, const bool compactPrint, const bool printPfsRates)
 printing template for a trigger group More...
 
void printWiki ()
 printing in Wiki format More...
 
void retrieveL1EventSetup (const edm::EventSetup &)
 retrieve all the relevant L1 trigger event setup records More...
 

Private Attributes

const AlgorithmMapm_algorithmAliasMap
 
const AlgorithmMapm_algorithmMap
 
std::vector< std::string > m_algoTriggerSeedNotInL1Menu
 vector of algorithm or technical triggers not in the L1 menu More...
 
HLTConfigProvider m_hltConfig
 The instance of the HLTConfigProvider as a data member. More...
 
std::vector< std::vector< std::string > > m_hltPathsForL1AlgorithmTrigger
 vector of HLT paths seeded by a L1 algorithm trigger - vector index corresponds to the bit number More...
 
std::vector< std::vector< std::string > > m_hltPathsForL1TechnicalTrigger
 vector of HLT paths seeded by a L1 technical trigger - vector index corresponds to the bit number More...
 
std::string m_hltProcessName
 process name of HLT process for which to get HLT configuration More...
 
std::string m_hltTableName
 HLT menu was used to associate the HLT path to the L1 algorithm triggers. More...
 
std::string m_htmlFile
 name of HTML file attached to the wiki page More...
 
int m_indexPfSet
 index of prescale factor set to be printed More...
 
const L1GtTriggerMenum_l1GtMenu
 
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcdm_l1GtMenuToken
 
const L1GtPrescaleFactorsm_l1GtPfAlgo
 prescale factors More...
 
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcdm_l1GtPfAlgoToken
 
const L1GtPrescaleFactorsm_l1GtPfTech
 
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcdm_l1GtPfTechToken
 
const L1GtStableParametersm_l1GtStablePar
 stable parameters More...
 
edm::ESGetToken< L1GtStableParameters, L1GtStableParametersRcdm_l1GtStableParToken
 event setup cached stuff More...
 
const L1GtTriggerMaskm_l1GtTmAlgo
 trigger masks & veto masks More...
 
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcdm_l1GtTmAlgoToken
 
const L1GtTriggerMaskm_l1GtTmTech
 
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcdm_l1GtTmTechToken
 
const L1GtTriggerMaskm_l1GtTmVetoAlgo
 
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcdm_l1GtTmVetoAlgoToken
 
const L1GtTriggerMaskm_l1GtTmVetoTech
 
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcdm_l1GtTmVetoTechToken
 
bool m_noThrowIncompatibleMenu
 
unsigned int m_numberAlgorithmTriggers
 number of algorithm triggers More...
 
unsigned int m_numberTechnicalTriggers
 number of technical triggers More...
 
bool m_overwriteHtmlFile
 input parameters More...
 
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
 
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
 
bool m_printPfsRates
 print prescale factors and rates More...
 
const AlgorithmMapm_technicalTriggerMap
 
std::vector< std::string > m_techTriggerSeedNotInL1Menu
 
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
 
const std::vector< unsigned int > * m_triggerMaskTechTrig
 
const std::vector< unsigned int > * m_triggerMaskVetoAlgoTrig
 
const std::vector< unsigned int > * m_triggerMaskVetoTechTrig
 
bool m_useHltMenu
 use a HLT menu for L1 seed - HLT path association More...
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Description: test analyzer for L1 GT trigger menu.
Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Description: test analyzer for L1 GT trigger menu.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Definition at line 53 of file L1GtTriggerMenuTester.h.

Member Typedef Documentation

◆ CItAlgoP

typedef std::map<std::string, const L1GtAlgorithm*>::const_iterator L1GtTriggerMenuTester::CItAlgoP
private

constant iterator

Definition at line 86 of file L1GtTriggerMenuTester.h.

Constructor & Destructor Documentation

◆ L1GtTriggerMenuTester()

L1GtTriggerMenuTester::L1GtTriggerMenuTester ( const edm::ParameterSet parSet)
explicit

Definition at line 56 of file L1GtTriggerMenuTester.cc.

57  : m_overwriteHtmlFile(parSet.getParameter<bool>("OverwriteHtmlFile")),
58  m_htmlFile(parSet.getParameter<std::string>("HtmlFile")),
59  m_useHltMenu(parSet.getParameter<bool>("UseHltMenu")),
60  m_hltProcessName(parSet.getParameter<std::string>("HltProcessName")),
61  m_noThrowIncompatibleMenu(parSet.getParameter<bool>("NoThrowIncompatibleMenu")),
62  m_printPfsRates(parSet.getParameter<bool>("PrintPfsRates")),
63  m_indexPfSet(parSet.getParameter<int>("IndexPfSet")),
64  m_l1GtStableParToken(esConsumes<edm::Transition::BeginRun>()),
65  m_l1GtPfAlgoToken(esConsumes<edm::Transition::BeginRun>()),
66  m_l1GtPfTechToken(esConsumes<edm::Transition::BeginRun>()),
67  m_l1GtTmTechToken(esConsumes<edm::Transition::BeginRun>()),
68  m_l1GtTmVetoAlgoToken(esConsumes<edm::Transition::BeginRun>()),
69  m_l1GtTmVetoTechToken(esConsumes<edm::Transition::BeginRun>()),
70  m_l1GtMenuToken(esConsumes<edm::Transition::BeginRun>()),
73  // empty
74 }
bool m_overwriteHtmlFile
input parameters
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
bool m_printPfsRates
print prescale factors and rates
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > m_l1GtTmTechToken
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd > m_l1GtTmVetoAlgoToken
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd > m_l1GtPfTechToken
int m_indexPfSet
index of prescale factor set to be printed
bool m_useHltMenu
use a HLT menu for L1 seed - HLT path association
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd > m_l1GtTmVetoTechToken
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd > m_l1GtPfAlgoToken
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
edm::ESGetToken< L1GtStableParameters, L1GtStableParametersRcd > m_l1GtStableParToken
event setup cached stuff
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_l1GtMenuToken
std::string m_htmlFile
name of HTML file attached to the wiki page
std::string m_hltProcessName
process name of HLT process for which to get HLT configuration
unsigned int m_numberTechnicalTriggers
number of technical triggers

Member Function Documentation

◆ analyze()

void L1GtTriggerMenuTester::analyze ( const edm::Event iEvent,
const edm::EventSetup evSetup 
)
overrideprivatevirtual

analyze

Implements edm::one::EDAnalyzerBase.

Definition at line 123 of file L1GtTriggerMenuTester.cc.

123  {
124  // empty
125 }

◆ associateL1SeedsHltPath()

void L1GtTriggerMenuTester::associateL1SeedsHltPath ( const edm::Run iRun,
const edm::EventSetup evSetup 
)
private

L1 seed - HLT path association.

Definition at line 183 of file L1GtTriggerMenuTester.cc.

References Exception, L1GtLogicParser::expressionSeedsOperandList(), L1GtTriggerMenu::gtTriggerMenuName(), HLTConfigProvider::hltL1GTSeeds(), mps_fire::i, HLTConfigProvider::init(), m_algorithmAliasMap, m_algoTriggerSeedNotInL1Menu, m_hltConfig, m_hltPathsForL1AlgorithmTrigger, m_hltPathsForL1TechnicalTrigger, m_hltProcessName, m_hltTableName, m_l1GtMenu, m_noThrowIncompatibleMenu, m_numberAlgorithmTriggers, m_numberTechnicalTriggers, m_techTriggerSeedNotInL1Menu, push_back(), edm::second(), HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, HLTConfigProvider::tableName(), and HLTConfigProvider::triggerName().

Referenced by beginRun().

183  {
184  bool hltChanged = true;
185 
186  if (m_hltConfig.init(iRun, evSetup, m_hltProcessName, hltChanged)) {
187  // if init returns TRUE, initialization has succeeded!
188  if (hltChanged) {
189  // HLT configuration has actually changed wrt the previous run
191 
192  edm::LogVerbatim("L1GtTriggerMenuTester") << "\nHLT ConfDB menu name: \n " << m_hltTableName << std::endl;
193 
194  // loop over trigger paths, get the HLTLevel1GTSeed logical expression, and add the path to
195  // each L1 trigger
196 
199 
202 
203  for (unsigned int iHlt = 0; iHlt < m_hltConfig.size(); ++iHlt) {
204  const std::string& hltPathName = m_hltConfig.triggerName(iHlt);
205 
206  const std::vector<std::pair<bool, std::string> >& hltL1Seed = m_hltConfig.hltL1GTSeeds(hltPathName);
207 
208  unsigned int numberHltL1GTSeeds = hltL1Seed.size();
209 
210  edm::LogVerbatim("L1GtTriggerMenuTester") << "\nPath: " << hltPathName << " : <== " << numberHltL1GTSeeds
211  << " HLTLevel1GTSeed module(s)" << std::endl;
212 
213  for (unsigned int iSeedModule = 0; iSeedModule < numberHltL1GTSeeds; ++iSeedModule) {
214  // one needs a non-const logical expression... TODO check why
215  std::string m_l1SeedsLogicalExpression = (hltL1Seed[iSeedModule]).second;
216 
217  edm::LogVerbatim("L1GtTriggerMenuTester") << " '" << m_l1SeedsLogicalExpression << "'";
218 
219  // parse logical expression
220 
221  if (m_l1SeedsLogicalExpression != "L1GlobalDecision") {
222  // check also the logical expression - add/remove spaces if needed
223  L1GtLogicParser m_l1AlgoLogicParser = L1GtLogicParser(m_l1SeedsLogicalExpression);
224 
225  // list of required algorithms for seeding
226  std::vector<L1GtLogicParser::OperandToken> m_l1AlgoSeeds = m_l1AlgoLogicParser.expressionSeedsOperandList();
227  size_t l1AlgoSeedsSize = m_l1AlgoSeeds.size();
228 
229  edm::LogVerbatim("L1GtTriggerMenuTester") << " : <== " << l1AlgoSeedsSize << " L1 seeds" << std::endl;
230 
231  // for each algorithm trigger, check if it is in the L1 menu, get the bit number
232  // and add path to the vector of strings for that bit number
233 
234  for (size_t i = 0; i < l1AlgoSeedsSize; ++i) {
235  const std::string& trigNameOrAlias = (m_l1AlgoSeeds[i]).tokenName;
236 
237  CItAlgo itAlgo = m_algorithmAliasMap->find(trigNameOrAlias);
238  if (itAlgo != m_algorithmAliasMap->end()) {
239  int bitNr = (itAlgo->second).algoBitNumber();
240 
241  (m_hltPathsForL1AlgorithmTrigger.at(bitNr)).push_back(hltPathName);
242 
243  edm::LogVerbatim("L1GtTriggerMenuTester")
244  << " " << trigNameOrAlias << " bit " << bitNr << std::endl;
245 
246  } else {
248  edm::LogVerbatim("L1GtTriggerMenuTester")
249  << " " << trigNameOrAlias << " trigger not in L1 menu " << m_l1GtMenu->gtTriggerMenuName()
250  << std::endl;
251 
252  m_algoTriggerSeedNotInL1Menu.push_back(trigNameOrAlias);
253 
254  } else {
255  throw cms::Exception("FailModule")
256  << "\nAlgorithm " << trigNameOrAlias
257  << ", requested as seed by a HLT path, not found in the L1 trigger menu\n "
258  << m_l1GtMenu->gtTriggerMenuName() << "\nIncompatible L1 and HLT menus.\n"
259  << std::endl;
260  }
261  }
262  }
263  }
264  }
265  }
266  }
267  } else {
268  // if init returns FALSE, initialization has NOT succeeded, which indicates a problem
269  // with the file and/or code and needs to be investigated!
270  edm::LogError("MyAnalyzer") << " HLT config extraction failure with process name " << m_hltProcessName;
271  }
272 }
Log< level::Info, true > LogVerbatim
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< L1GtLogicParser::OperandToken > expressionSeedsOperandList()
std::string m_hltTableName
HLT menu was used to associate the HLT path to the L1 algorithm triggers.
const AlgorithmMap * m_algorithmAliasMap
HLTConfigProvider m_hltConfig
The instance of the HLTConfigProvider as a data member.
const L1GtTriggerMenu * m_l1GtMenu
Log< level::Error, false > LogError
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
const std::string & gtTriggerMenuName() const
U second(std::pair< T, U > const &p)
std::vector< std::string > m_techTriggerSeedNotInL1Menu
unsigned int size() const
number of trigger paths in trigger table
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
deadvectors [0] push_back({0.0175431, 0.538005, 6.80997, 13.29})
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
const std::string & tableName() const
HLT ConfDB table name.
std::vector< std::string > m_algoTriggerSeedNotInL1Menu
vector of algorithm or technical triggers not in the L1 menu
std::vector< std::vector< std::string > > m_hltPathsForL1TechnicalTrigger
vector of HLT paths seeded by a L1 technical trigger - vector index corresponds to the bit number ...
std::vector< std::vector< std::string > > m_hltPathsForL1AlgorithmTrigger
vector of HLT paths seeded by a L1 algorithm trigger - vector index corresponds to the bit number ...
std::string m_hltProcessName
process name of HLT process for which to get HLT configuration
unsigned int m_numberTechnicalTriggers
number of technical triggers

◆ beginRun()

void L1GtTriggerMenuTester::beginRun ( const edm::Run iRun,
const edm::EventSetup evSetup 
)
overrideprivate

begin run

Definition at line 77 of file L1GtTriggerMenuTester.cc.

References associateL1SeedsHltPath(), m_algoTriggerSeedNotInL1Menu, m_l1GtMenu, m_noThrowIncompatibleMenu, m_useHltMenu, L1GtTriggerMenu::print(), printWiki(), and retrieveL1EventSetup().

77  {
78  // retrieve L1 trigger configuration
79  retrieveL1EventSetup(evSetup);
80 
81  // print with various level of verbosity
82 
83  // define an output stream to print into
84  // it can then be directed to whatever log level is desired
85  std::ostringstream myCout;
86 
87  int printVerbosity = 0;
88  m_l1GtMenu->print(myCout, printVerbosity);
89  myCout << std::flush << std::endl;
90 
91  printVerbosity = 1;
92  m_l1GtMenu->print(myCout, printVerbosity);
93  myCout << std::flush << std::endl;
94 
95  printVerbosity = 2;
96  m_l1GtMenu->print(myCout, printVerbosity);
97  myCout << std::flush << std::endl;
98 
99  // redirect myCout to edm::LogVerbatim TODO - parameter to choose the log
100  edm::LogVerbatim("L1GtTriggerMenuTester") << myCout.str() << std::endl;
101 
102  // prepare L1 - HLT
103  if (m_useHltMenu) {
104  associateL1SeedsHltPath(iRun, evSetup);
105 
107  edm::LogVerbatim("L1GtTriggerMenuTester")
108  << "\n List of algorithm triggers used as L1 seeds but not in L1 menu" << std::endl;
109 
110  for (std::vector<std::string>::const_iterator strIter = m_algoTriggerSeedNotInL1Menu.begin();
111  strIter != m_algoTriggerSeedNotInL1Menu.end();
112  ++strIter) {
113  edm::LogVerbatim("L1GtTriggerMenuTester") << " " << (*strIter) << std::endl;
114  }
115  }
116  }
117 
118  // print in wiki format
119  printWiki();
120 }
Log< level::Info, true > LogVerbatim
void associateL1SeedsHltPath(const edm::Run &, const edm::EventSetup &)
L1 seed - HLT path association.
const L1GtTriggerMenu * m_l1GtMenu
void printWiki()
printing in Wiki format
void print(std::ostream &, int &) const
bool m_useHltMenu
use a HLT menu for L1 seed - HLT path association
std::vector< std::string > m_algoTriggerSeedNotInL1Menu
vector of algorithm or technical triggers not in the L1 menu
void retrieveL1EventSetup(const edm::EventSetup &)
retrieve all the relevant L1 trigger event setup records

◆ endRun()

void L1GtTriggerMenuTester::endRun ( const edm::Run ,
const edm::EventSetup evSetup 
)
overrideprivate

end run

Definition at line 128 of file L1GtTriggerMenuTester.cc.

128 {}

◆ printTriggerGroup()

void L1GtTriggerMenuTester::printTriggerGroup ( const std::string &  trigGroupName,
const std::map< std::string, const L1GtAlgorithm *> &  trigGroup,
const bool  compactPrint,
const bool  printPfsRates 
)
private

◆ printWiki()

void L1GtTriggerMenuTester::printWiki ( )
private

printing in Wiki format

Referenced by beginRun().

◆ retrieveL1EventSetup()

void L1GtTriggerMenuTester::retrieveL1EventSetup ( const edm::EventSetup evSetup)
private

retrieve all the relevant L1 trigger event setup records

Definition at line 130 of file L1GtTriggerMenuTester.cc.

References edm::EventSetup::getData(), L1GtTriggerMenu::gtAlgorithmAliasMap(), L1GtTriggerMenu::gtAlgorithmMap(), L1GtStableParameters::gtNumberPhysTriggers(), L1GtStableParameters::gtNumberTechnicalTriggers(), L1GtPrescaleFactors::gtPrescaleFactors(), L1GtTriggerMenu::gtTechnicalTriggerMap(), L1GtTriggerMask::gtTriggerMask(), m_algorithmAliasMap, m_algorithmMap, m_l1GtMenu, m_l1GtMenuToken, m_l1GtPfAlgo, m_l1GtPfAlgoToken, m_l1GtPfTech, m_l1GtPfTechToken, m_l1GtStablePar, m_l1GtStableParToken, m_l1GtTmAlgo, m_l1GtTmAlgoToken, m_l1GtTmTech, m_l1GtTmTechToken, m_l1GtTmVetoAlgo, m_l1GtTmVetoAlgoToken, m_l1GtTmVetoTech, m_l1GtTmVetoTechToken, m_numberAlgorithmTriggers, m_numberTechnicalTriggers, m_prescaleFactorsAlgoTrig, m_prescaleFactorsTechTrig, m_technicalTriggerMap, m_triggerMaskAlgoTrig, m_triggerMaskTechTrig, m_triggerMaskVetoAlgoTrig, and m_triggerMaskVetoTechTrig.

Referenced by beginRun().

130  {
131  // get / update the stable parameters from the EventSetup
132 
134 
135  // number of algorithm triggers
137 
138  // number of technical triggers
140 
141  // int maxNumberTrigger = std::max(m_numberAlgorithmTriggers,
142  // m_numberTechnicalTriggers);
143 
144  // m_triggerMaskSet.reserve(maxNumberTrigger);
145  // m_prescaleFactorSet.reserve(maxNumberTrigger);
146 
147  // get / update the prescale factors from the EventSetup
148 
150 
152 
154 
156 
157  // get / update the trigger mask from the EventSetup
158 
160 
162 
164 
166 
168 
170 
172 
174 
175  // get / update the trigger menu from the EventSetup
176 
177  m_l1GtMenu = &evSetup.getData(m_l1GtMenuToken);
181 }
const AlgorithmMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
const std::vector< unsigned int > & gtTriggerMask() const
get the trigger mask
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
const AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
const L1GtStableParameters * m_l1GtStablePar
stable parameters
const std::vector< unsigned int > * m_triggerMaskVetoAlgoTrig
const AlgorithmMap * m_algorithmAliasMap
const L1GtTriggerMenu * m_l1GtMenu
const AlgorithmMap * m_algorithmMap
const L1GtTriggerMask * m_l1GtTmVetoAlgo
const std::vector< std::vector< int > > & gtPrescaleFactors() const
get the prescale factors by reference
const L1GtPrescaleFactors * m_l1GtPfTech
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > m_l1GtTmTechToken
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd > m_l1GtTmVetoAlgoToken
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd > m_l1GtPfTechToken
const std::vector< unsigned int > * m_triggerMaskVetoTechTrig
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks & veto masks
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd > m_l1GtTmVetoTechToken
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd > m_l1GtPfAlgoToken
const L1GtPrescaleFactors * m_l1GtPfAlgo
prescale factors
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
const AlgorithmMap * m_technicalTriggerMap
const L1GtTriggerMask * m_l1GtTmTech
const L1GtTriggerMask * m_l1GtTmVetoTech
edm::ESGetToken< L1GtStableParameters, L1GtStableParametersRcd > m_l1GtStableParToken
event setup cached stuff
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_l1GtMenuToken
unsigned int gtNumberTechnicalTriggers() const
get / set the number of technical triggers
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd > m_l1GtTmAlgoToken
unsigned int m_numberTechnicalTriggers
number of technical triggers
unsigned int gtNumberPhysTriggers() const
get / set the number of physics trigger algorithms
const std::vector< unsigned int > * m_triggerMaskTechTrig

Member Data Documentation

◆ m_algorithmAliasMap

const AlgorithmMap* L1GtTriggerMenuTester::m_algorithmAliasMap
private

Definition at line 160 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath(), and retrieveL1EventSetup().

◆ m_algorithmMap

const AlgorithmMap* L1GtTriggerMenuTester::m_algorithmMap
private

Definition at line 159 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_algoTriggerSeedNotInL1Menu

std::vector<std::string> L1GtTriggerMenuTester::m_algoTriggerSeedNotInL1Menu
private

vector of algorithm or technical triggers not in the L1 menu

Definition at line 177 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath(), and beginRun().

◆ m_hltConfig

HLTConfigProvider L1GtTriggerMenuTester::m_hltConfig
private

The instance of the HLTConfigProvider as a data member.

Definition at line 165 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath().

◆ m_hltPathsForL1AlgorithmTrigger

std::vector<std::vector<std::string> > L1GtTriggerMenuTester::m_hltPathsForL1AlgorithmTrigger
private

vector of HLT paths seeded by a L1 algorithm trigger - vector index corresponds to the bit number

Definition at line 171 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath(), and printTriggerGroup().

◆ m_hltPathsForL1TechnicalTrigger

std::vector<std::vector<std::string> > L1GtTriggerMenuTester::m_hltPathsForL1TechnicalTrigger
private

vector of HLT paths seeded by a L1 technical trigger - vector index corresponds to the bit number

Definition at line 174 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath().

◆ m_hltProcessName

std::string L1GtTriggerMenuTester::m_hltProcessName
private

process name of HLT process for which to get HLT configuration

Definition at line 102 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath().

◆ m_hltTableName

std::string L1GtTriggerMenuTester::m_hltTableName
private

HLT menu was used to associate the HLT path to the L1 algorithm triggers.

Definition at line 168 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath().

◆ m_htmlFile

std::string L1GtTriggerMenuTester::m_htmlFile
private

name of HTML file attached to the wiki page

Definition at line 96 of file L1GtTriggerMenuTester.h.

Referenced by printTriggerGroup().

◆ m_indexPfSet

int L1GtTriggerMenuTester::m_indexPfSet
private

index of prescale factor set to be printed

Definition at line 112 of file L1GtTriggerMenuTester.h.

◆ m_l1GtMenu

const L1GtTriggerMenu* L1GtTriggerMenuTester::m_l1GtMenu
private

◆ m_l1GtMenuToken

edm::ESGetToken<L1GtTriggerMenu, L1GtTriggerMenuRcd> L1GtTriggerMenuTester::m_l1GtMenuToken
private

Definition at line 124 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtPfAlgo

const L1GtPrescaleFactors* L1GtTriggerMenuTester::m_l1GtPfAlgo
private

prescale factors

Definition at line 136 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtPfAlgoToken

edm::ESGetToken<L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd> L1GtTriggerMenuTester::m_l1GtPfAlgoToken
private

Definition at line 118 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtPfTech

const L1GtPrescaleFactors* L1GtTriggerMenuTester::m_l1GtPfTech
private

Definition at line 138 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtPfTechToken

edm::ESGetToken<L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd> L1GtTriggerMenuTester::m_l1GtPfTechToken
private

Definition at line 119 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtStablePar

const L1GtStableParameters* L1GtTriggerMenuTester::m_l1GtStablePar
private

stable parameters

Definition at line 127 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtStableParToken

edm::ESGetToken<L1GtStableParameters, L1GtStableParametersRcd> L1GtTriggerMenuTester::m_l1GtStableParToken
private

event setup cached stuff

Definition at line 117 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtTmAlgo

const L1GtTriggerMask* L1GtTriggerMenuTester::m_l1GtTmAlgo
private

trigger masks & veto masks

Definition at line 144 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtTmAlgoToken

edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd> L1GtTriggerMenuTester::m_l1GtTmAlgoToken
private

Definition at line 120 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtTmTech

const L1GtTriggerMask* L1GtTriggerMenuTester::m_l1GtTmTech
private

Definition at line 145 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtTmTechToken

edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd> L1GtTriggerMenuTester::m_l1GtTmTechToken
private

Definition at line 121 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtTmVetoAlgo

const L1GtTriggerMask* L1GtTriggerMenuTester::m_l1GtTmVetoAlgo
private

Definition at line 147 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtTmVetoAlgoToken

edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd> L1GtTriggerMenuTester::m_l1GtTmVetoAlgoToken
private

Definition at line 122 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtTmVetoTech

const L1GtTriggerMask* L1GtTriggerMenuTester::m_l1GtTmVetoTech
private

Definition at line 148 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_l1GtTmVetoTechToken

edm::ESGetToken<L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd> L1GtTriggerMenuTester::m_l1GtTmVetoTechToken
private

Definition at line 123 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_noThrowIncompatibleMenu

bool L1GtTriggerMenuTester::m_noThrowIncompatibleMenu
private

do not throw an exceptions if a L1 trigger requested as seed is not available in the L1 menu, just report this

Definition at line 106 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath(), and beginRun().

◆ m_numberAlgorithmTriggers

unsigned int L1GtTriggerMenuTester::m_numberAlgorithmTriggers
private

number of algorithm triggers

Definition at line 130 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath(), printTriggerGroup(), and retrieveL1EventSetup().

◆ m_numberTechnicalTriggers

unsigned int L1GtTriggerMenuTester::m_numberTechnicalTriggers
private

number of technical triggers

Definition at line 133 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath(), printTriggerGroup(), and retrieveL1EventSetup().

◆ m_overwriteHtmlFile

bool L1GtTriggerMenuTester::m_overwriteHtmlFile
private

input parameters

overwrite name of the HTML file containing the detailed L1 menu with the name given in m_htmlFile

Definition at line 93 of file L1GtTriggerMenuTester.h.

◆ m_prescaleFactorsAlgoTrig

const std::vector<std::vector<int> >* L1GtTriggerMenuTester::m_prescaleFactorsAlgoTrig
private

Definition at line 140 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_prescaleFactorsTechTrig

const std::vector<std::vector<int> >* L1GtTriggerMenuTester::m_prescaleFactorsTechTrig
private

Definition at line 141 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_printPfsRates

bool L1GtTriggerMenuTester::m_printPfsRates
private

print prescale factors and rates

Definition at line 109 of file L1GtTriggerMenuTester.h.

◆ m_technicalTriggerMap

const AlgorithmMap* L1GtTriggerMenuTester::m_technicalTriggerMap
private

Definition at line 161 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_techTriggerSeedNotInL1Menu

std::vector<std::string> L1GtTriggerMenuTester::m_techTriggerSeedNotInL1Menu
private

Definition at line 178 of file L1GtTriggerMenuTester.h.

Referenced by associateL1SeedsHltPath().

◆ m_triggerMaskAlgoTrig

const std::vector<unsigned int>* L1GtTriggerMenuTester::m_triggerMaskAlgoTrig
private

Definition at line 150 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_triggerMaskTechTrig

const std::vector<unsigned int>* L1GtTriggerMenuTester::m_triggerMaskTechTrig
private

Definition at line 151 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_triggerMaskVetoAlgoTrig

const std::vector<unsigned int>* L1GtTriggerMenuTester::m_triggerMaskVetoAlgoTrig
private

Definition at line 153 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_triggerMaskVetoTechTrig

const std::vector<unsigned int>* L1GtTriggerMenuTester::m_triggerMaskVetoTechTrig
private

Definition at line 154 of file L1GtTriggerMenuTester.h.

Referenced by retrieveL1EventSetup().

◆ m_useHltMenu

bool L1GtTriggerMenuTester::m_useHltMenu
private

use a HLT menu for L1 seed - HLT path association

Definition at line 99 of file L1GtTriggerMenuTester.h.

Referenced by beginRun(), and printTriggerGroup().