|
|
#include <L1GtAnalyzer.h>
|
| L1GtAnalyzer (const edm::ParameterSet &) |
|
| ~L1GtAnalyzer () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
| EDAnalyzer () |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () |
|
SerialTaskQueue * | globalRunsQueue () |
|
ModuleDescription const & | moduleDescription () const |
|
std::string | workerType () const |
|
| ~EDAnalyzer () override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > 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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
void | analyze (const edm::Event &, const edm::EventSetup &) override |
| analyze each event: event loop over various code snippets More...
|
|
void | analyzeConditionsInEventBlock (const edm::Event &, const edm::EventSetup &) |
| to be used in analyze/produce/filter More...
|
|
void | analyzeConditionsInLumiBlock (const edm::LuminosityBlock &, const edm::EventSetup &) |
| to be used in beginLuminosityBlock More...
|
|
void | analyzeConditionsInRunBlock (const edm::Run &, const edm::EventSetup &) |
|
virtual void | analyzeDecisionReadoutRecord (const edm::Event &, const edm::EventSetup &) |
|
void | analyzeL1GtTriggerMenuLite (const edm::Event &, const edm::EventSetup &) |
| analyze: usage of L1GtTriggerMenuLite More...
|
|
void | analyzeL1GtUtils (const edm::Event &, const edm::EventSetup &) |
|
void | analyzeL1GtUtilsCore (const edm::Event &, const edm::EventSetup &) |
| analyze: usage of L1GtUtils More...
|
|
void | analyzeL1GtUtilsEventSetup (const edm::Event &, const edm::EventSetup &) |
|
void | analyzeL1GtUtilsMenuLite (const edm::Event &, const edm::EventSetup &) |
| for tests, use only one of the following methods More...
|
|
virtual void | analyzeObjectMap (const edm::Event &, const edm::EventSetup &) |
| analyze: object map product More...
|
|
void | analyzeTrigger (const edm::Event &, const edm::EventSetup &) |
| full analysis of an algorithm or technical trigger More...
|
|
void | beginJob () override |
|
void | beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) override |
|
void | beginRun (const edm::Run &, const edm::EventSetup &) override |
|
void | endJob () override |
| end of job More...
|
|
void | endLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) override |
| end section More...
|
|
void | endRun (const edm::Run &, const edm::EventSetup &) override |
|
void | printOutput (std::ostringstream &) |
| print the output stream to the required output, given by m_printOutput More...
|
|
|
typedef EDAnalyzer | ModuleType |
|
typedef ProductLabels | Labels |
|
static const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &) |
|
static bool | wantsGlobalLuminosityBlocks () |
|
static bool | wantsGlobalRuns () |
|
static bool | wantsInputProcessBlocks () |
|
static bool | wantsProcessBlocks () |
|
static bool | wantsStreamLuminosityBlocks () |
|
static bool | wantsStreamRuns () |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
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 ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
Description: test analyzer to illustrate various methods for L1 GT trigger.
Implementation: <TODO: enter implementation details>
- Author
- : Vasile Mihai Ghete - HEPHY Vienna
Definition at line 47 of file L1GtAnalyzer.h.
◆ L1GtAnalyzer()
Definition at line 43 of file L1GtAnalyzer.cc.
120 LogDebug(
"L1GtAnalyzer") <<
"\n Input parameters for L1 GT test analyzer"
127 <<
"\n Condition, if an algorithm trigger is requested: " <<
m_condName
128 <<
"\n Bit number for an algorithm or technical trigger: " <<
m_bitNumber
130 <<
"\n Retrieve input tag from provenance for L1GtTriggerMenuLite in the L1GtUtils: "
132 <<
"\n Retrieve input tag from provenance for L1GlobalTriggerReadoutRecord "
References LogDebug, m_bitNumber, m_condInEdmInputTag, m_condInEventToken, m_condInLumiToken, m_condInRunToken, m_condName, m_l1GmtInputTag, m_l1GtDaqReadoutRecordInputTag, m_l1GtDaqReadoutRecordToken, m_l1GtObjectMapsInputTag, m_l1GtObjectMapsToken, m_l1GtObjectMapTag, m_l1GtObjectMapToken, m_l1GtRecordInputTag, m_l1GtRecordsInputTagProv, m_l1GtTmLInputTag, m_l1GtTmLInputTagProv, m_l1GtTmLToken, m_l1GtUtilsConfiguration, m_l1GtUtilsConfigureBeginRun, and m_nameAlgTechTrig.
◆ ~L1GtAnalyzer()
L1GtAnalyzer::~L1GtAnalyzer |
( |
| ) |
|
|
override |
◆ analyze()
analyze each event: event loop over various code snippets
Implements edm::EDAnalyzer.
Definition at line 1434 of file L1GtAnalyzer.cc.
References analyzeConditionsInEventBlock(), analyzeDecisionReadoutRecord(), analyzeL1GtTriggerMenuLite(), analyzeL1GtUtils(), analyzeL1GtUtilsEventSetup(), analyzeL1GtUtilsMenuLite(), analyzeObjectMap(), analyzeTrigger(), iEvent, m_analyzeConditionsInEventBlockEnable, m_analyzeDecisionReadoutRecordEnable, m_analyzeL1GtUtilsEnable, m_analyzeL1GtUtilsEventSetupEnable, m_analyzeL1GtUtilsMenuLiteEnable, m_analyzeObjectMapEnable, m_analyzeTriggerEnable, and m_l1GtUtilsConfiguration.
◆ analyzeConditionsInEventBlock()
◆ analyzeConditionsInLumiBlock()
to be used in beginLuminosityBlock
Definition at line 1334 of file L1GtAnalyzer.cc.
1335 LogDebug(
"L1GtAnalyzer") <<
"\n**** L1GtAnalyzer::analyzeConditionsInLumiBlock ****\n" << std::endl;
1339 std::ostringstream myCoutStream;
1345 if (!condInLumiBlock.
isValid()) {
1347 <<
"\nrequested in configuration, but not found in the event."
1348 <<
"\nExit the method.\n"
1357 myCoutStream <<
"\nLHC quantities in luminosity section "
1360 <<
"\n Total Intensity Beam 1 (Integer × 10E10 charges) = " << totalIntensityBeam1Val
1361 <<
"\n Total Intensity Beam 2 (Integer × 10E10 charges) = " << totalIntensityBeam2Val << std::endl;
References edm::LuminosityBlock::getByToken(), edm::HandleBase::isValid(), LogDebug, edm::LuminosityBlockBase::luminosityBlock(), m_condInEdmInputTag, m_condInLumiToken, printOutput(), edm::LuminosityBlockBase::run(), edm::ConditionsInLumiBlock::totalIntensityBeam1, and edm::ConditionsInLumiBlock::totalIntensityBeam2.
Referenced by beginLuminosityBlock().
◆ analyzeConditionsInRunBlock()
analyze: usage of ConditionsInEdm
to be used in beginRun
Definition at line 1302 of file L1GtAnalyzer.cc.
1303 LogDebug(
"L1GtAnalyzer") <<
"\n**** L1GtAnalyzer::analyzeConditionsInRunBlock ****\n" << std::endl;
1307 std::ostringstream myCoutStream;
1313 if (!condInRunBlock.
isValid()) {
1315 <<
"\nrequested in configuration, but not found in the event."
1316 <<
"\nExit the method.\n"
1322 const uint16_t beamModeVal = condInRunBlock->
beamMode;
1323 const uint16_t beamMomentumVal = condInRunBlock->
beamMomentum;
1324 const uint32_t lhcFillNumberVal = condInRunBlock->
lhcFillNumber;
1327 myCoutStream <<
"\nLHC quantities in run " << iRun.
run() <<
"\n Beam Mode = " << beamModeVal
1328 <<
"\n Beam Momentum = " << beamMomentumVal <<
" GeV"
1329 <<
"\n LHC Fill Number = " << lhcFillNumberVal << std::endl;
References edm::ConditionsInRunBlock::beamMode, edm::ConditionsInRunBlock::beamMomentum, edm::Run::getByToken(), edm::HandleBase::isValid(), edm::ConditionsInRunBlock::lhcFillNumber, LogDebug, m_condInEdmInputTag, m_condInRunToken, printOutput(), and edm::RunBase::run().
Referenced by beginRun().
◆ analyzeDecisionReadoutRecord()
analyze: decision and decision word bunch cross in event BxInEvent = 0 - L1Accept event
Definition at line 223 of file L1GtAnalyzer.cc.
224 LogDebug(
"L1GtAnalyzer") <<
"\n**** L1GtAnalyzer::analyzeDecisionReadoutRecord ****\n" << std::endl;
228 std::ostringstream myCoutStream;
234 if (!gtReadoutRecord.
isValid()) {
236 <<
"\nrequested in configuration, but not found in the event."
237 <<
"\nExit the method.\n"
244 bool gtDecision = gtReadoutRecord->
decision();
248 edm::LogVerbatim(
"L1GtAnalyzer") <<
"\n GlobalTrigger decision: " << gtDecision << std::endl;
References L1GlobalTriggerReadoutRecord::decision(), L1GlobalTriggerReadoutRecord::decisionWord(), iEvent, edm::HandleBase::isValid(), LogDebug, m_l1GtDaqReadoutRecordInputTag, m_l1GtDaqReadoutRecordToken, L1GlobalTriggerReadoutRecord::printGtDecision(), printOutput(), and L1GlobalTriggerReadoutRecord::printTechnicalTrigger().
Referenced by analyze().
◆ analyzeL1GtTriggerMenuLite()
analyze: usage of L1GtTriggerMenuLite
Definition at line 1140 of file L1GtAnalyzer.cc.
1141 LogDebug(
"L1GtAnalyzer") <<
"\n**** L1GtAnalyzer::analyzeL1GtTriggerMenuLite ****\n" << std::endl;
1145 std::ostringstream myCoutStream;
1154 if (!triggerMenuLite.
isValid()) {
1156 <<
"\nrequested in configuration, but not found in the event."
1157 <<
"\nExit the method.\n"
1164 myCoutStream << (*triggerMenuLite);
1168 const std::string& triggerMenuInterface = triggerMenuLite->gtTriggerMenuInterface();
1169 const std::string& triggerMenuName = triggerMenuLite->gtTriggerMenuName();
1170 const std::string& triggerMenuImplementation = triggerMenuLite->gtTriggerMenuImplementation();
1171 const std::string& scaleDbKey = triggerMenuLite->gtScaleDbKey();
1177 const std::vector<unsigned int>& triggerMaskAlgoTrig = triggerMenuLite->gtTriggerMaskAlgoTrig();
1178 const std::vector<unsigned int>& triggerMaskTechTrig = triggerMenuLite->gtTriggerMaskTechTrig();
1180 const std::vector<std::vector<int> >& prescaleFactorsAlgoTrig = triggerMenuLite->gtPrescaleFactorsAlgoTrig();
1181 const std::vector<std::vector<int> >& prescaleFactorsTechTrig = triggerMenuLite->gtPrescaleFactorsTechTrig();
1185 size_t nrDefinedAlgo = algorithmMap.size();
1186 size_t nrDefinedTech = technicalTriggerMap.size();
1190 myCoutStream <<
"\n ********** L1 Trigger Menu - printing ********** \n"
1191 <<
"\nL1 Trigger Menu Interface: " << triggerMenuInterface
1192 <<
"\nL1 Trigger Menu Name: " << triggerMenuName
1193 <<
"\nL1 Trigger Menu Implementation: " << triggerMenuImplementation
1194 <<
"\nAssociated Scale DB Key: " << scaleDbKey <<
"\n\n"
1195 <<
"\nL1 Physics Algorithms: " << nrDefinedAlgo <<
" algorithms defined."
1197 <<
"Bit Number " << std::right << std::setw(35) <<
"Algorithm Name"
1198 <<
" " << std::right << std::setw(35) <<
"Algorithm Alias"
1199 <<
" " << std::right << std::setw(12) <<
"Trigger Mask";
1200 for (
unsigned iSet = 0; iSet < prescaleFactorsAlgoTrig.size(); iSet++) {
1201 myCoutStream << std::right << std::setw(10) <<
"PF Set " << std::right << std::setw(2) << iSet;
1204 myCoutStream << std::endl;
1207 const unsigned int bitNumber = itTrig->first;
1212 if (itAlias != algorithmAliasMap.end()) {
1213 aAlias = itAlias->second;
1216 myCoutStream << std::setw(6) <<
bitNumber <<
" " << std::right << std::setw(35) << aName <<
" " << std::right
1217 << std::setw(35) << aAlias <<
" " << std::right << std::setw(12) << triggerMaskAlgoTrig[
bitNumber];
1218 for (
unsigned iSet = 0; iSet < prescaleFactorsAlgoTrig.size(); iSet++) {
1219 myCoutStream << std::right << std::setw(12) << prescaleFactorsAlgoTrig[iSet][
bitNumber];
1222 myCoutStream << std::endl;
1225 myCoutStream <<
"\nL1 Technical Triggers: " << nrDefinedTech <<
" technical triggers defined."
1228 if (nrDefinedTech) {
1229 myCoutStream << std::right << std::setw(6) <<
"Bit Number " << std::right << std::setw(45)
1230 <<
" Technical trigger name "
1231 <<
" " << std::right << std::setw(12) <<
"Trigger Mask";
1232 for (
unsigned iSet = 0; iSet < prescaleFactorsTechTrig.size(); iSet++) {
1233 myCoutStream << std::right << std::setw(10) <<
"PF Set " << std::right << std::setw(2) << iSet;
1236 myCoutStream << std::endl;
1244 myCoutStream << std::setw(6) <<
bitNumber <<
" " << std::right << std::setw(45) << aName << std::right
1245 << std::setw(12) << triggerMaskTechTrig[
bitNumber];
1246 for (
unsigned iSet = 0; iSet < prescaleFactorsTechTrig.size(); iSet++) {
1247 myCoutStream << std::right << std::setw(12) << prescaleFactorsTechTrig[iSet][
bitNumber];
1250 myCoutStream << std::endl;
1258 myCoutStream <<
"\nError code retrieving alias for algorithm with bit number " <<
m_bitNumber <<
": " << errorCode
1261 myCoutStream <<
"\nAlias for algorithm with bit number " <<
m_bitNumber <<
": " << (*algorithmAlias) << std::endl;
1267 myCoutStream <<
"\nError code retrieving name for algorithm with bit number " <<
m_bitNumber <<
": " << errorCode
1270 myCoutStream <<
"\nName for algorithm with bit number " <<
m_bitNumber <<
": " << (*algorithmName) << std::endl;
1276 myCoutStream <<
"\nError code retrieving name for technical trigger with bit number " <<
m_bitNumber <<
": "
1277 << errorCode << std::endl;
1279 myCoutStream <<
"\nName for technical trigger with bit number " <<
m_bitNumber <<
": " << (*techTrigName)
1286 myCoutStream <<
"\nError code retrieving bit number for algorithm/technical trigger " <<
m_nameAlgTechTrig <<
": "
1287 << errorCode << std::endl;
References L1TBPTX_cfi::bitNumber, edm::Run::getByToken(), iEvent, edm::HandleBase::isValid(), LogDebug, m_bitNumber, m_l1GtTmLInputTag, m_l1GtTmLToken, m_nameAlgTechTrig, printOutput(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by analyze().
◆ analyzeL1GtUtils()
◆ analyzeL1GtUtilsCore()
analyze: usage of L1GtUtils
Definition at line 259 of file L1GtAnalyzer.cc.
262 std::ostringstream myCoutStream;
274 myCoutStream <<
"\nL1 configuration code: \n"
276 <<
"\n 0 - Retrieve L1 trigger configuration from L1GtTriggerMenuLite only"
277 <<
"\n 10000 L1GtTriggerMenuLite product is valid"
278 <<
"\n 99999 L1GtTriggerMenuLite product not valid. Error."
280 <<
"\n 100000 - Fall through: try first L1GtTriggerMenuLite; if not valid,try event setup."
281 <<
"\n 110000 L1GtTriggerMenuLite product is valid"
282 <<
"\n 120000 L1GtTriggerMenuLite product not valid, event setup valid."
283 <<
"\n 199999 L1GtTriggerMenuLite product not valid, event setup not valid. Error."
285 <<
"\n 200000 - Retrieve L1 trigger configuration from event setup only."
286 <<
"\n 210000 Event setup valid."
287 <<
"\n 299999 Event setup not valid. Error."
289 <<
"\n 300000 - No L1 trigger configuration requested to be retrieved. Error"
290 <<
"\n Must call before using L1GtUtils methods: "
291 <<
"\n getL1GtRunCache(const edm::Event& iEvent, const edm::EventSetup& evSetup,"
292 <<
"\n const bool useL1EventSetup, const bool useL1GtTriggerMenuLite)"
297 myCoutStream <<
"\nL1 configuration code:" << l1ConfCode <<
"\nValid L1 trigger configuration." << std::endl;
299 myCoutStream <<
"\nL1 trigger menu name and implementation:"
305 myCoutStream <<
"\nL1 configuration code:" << l1ConfCode <<
"\nNo valid L1 trigger configuration available."
306 <<
"\nSee text above for error code interpretation"
307 <<
"\nNo return here, in order to test each method, protected against configuration error."
311 myCoutStream <<
"\n******** Results found with input tags retrieved from provenance ******** \n" << std::endl;
332 myCoutStream <<
"\n\nMethods:"
333 <<
"\n decisionBeforeMask(iEvent, m_nameAlgTechTrig, iErrorCode)"
334 <<
"\n decisionAfterMask(iEvent, m_nameAlgTechTrig, iErrorCode)"
335 <<
"\n decision(iEvent, m_nameAlgTechTrig, iErrorCode)"
336 <<
"\n prescaleFactor(iEvent, m_nameAlgTechTrig, iErrorCode)"
337 <<
"\n triggerMask(iEvent, m_nameAlgTechTrig, iErrorCode)"
338 <<
"\n triggerMask(m_nameAlgTechTrig,iErrorCode)"
342 if (iErrorCode == 0) {
343 myCoutStream <<
"\nDecision before trigger mask for " <<
m_nameAlgTechTrig <<
": "
344 << decisionBeforeMaskAlgTechTrig << std::endl;
345 myCoutStream <<
"Decision after trigger mask for " <<
m_nameAlgTechTrig <<
": " << decisionAfterMaskAlgTechTrig
347 myCoutStream <<
"Decision (after trigger mask) for " <<
m_nameAlgTechTrig <<
": " << decisionAlgTechTrig
350 myCoutStream <<
"Prescale factor for " <<
m_nameAlgTechTrig <<
": " << prescaleFactorAlgTechTrig
353 myCoutStream <<
"Trigger mask for " <<
m_nameAlgTechTrig <<
": " << triggerMaskAlgTechTrig
356 }
else if (iErrorCode == 1) {
362 myCoutStream <<
"\nError: "
363 <<
"\n An error was encountered when retrieving decision, mask and prescale factor for "
365 <<
"\n Error code: " << iErrorCode << std::endl;
373 if (iErrorCode == 0) {
374 myCoutStream <<
"\nTrigger mask for " <<
m_nameAlgTechTrig <<
"(faster method): " << triggerMaskAlgTechTrig
377 }
else if (iErrorCode == 1) {
383 myCoutStream <<
"\nError: "
384 <<
"\n An error was encountered when fast retrieving trigger mask for " <<
m_nameAlgTechTrig
393 myCoutStream <<
"\nMethods:"
394 <<
"\n prescaleFactorSetIndex(iEvent, trigCategory, iErrorCode)"
395 <<
"\n prescaleFactorSet(iEvent, trigCategory,iErrorCode)\n"
401 if (iErrorCode == 0) {
402 myCoutStream <<
"\nAlgorithm triggers: index for prescale factor set = " << pfSetIndexAlgorithmTrigger
403 <<
"\nfor run " <<
iEvent.run() <<
", luminosity block " <<
iEvent.luminosityBlock()
407 myCoutStream <<
"\nError encountered when retrieving the prescale factor set index"
408 <<
"\n for algorithm triggers, for run " <<
iEvent.run() <<
", luminosity block "
410 <<
"\n Error code: " << iErrorCode <<
"\n"
417 if (iErrorCode == 0) {
418 myCoutStream <<
"\nAlgorithm triggers: prescale factor set index = " << pfSetIndexAlgorithmTrigger <<
"\nfor run "
419 <<
iEvent.run() <<
", luminosity block " <<
iEvent.luminosityBlock() <<
", with L1 menu \n "
423 for (std::vector<int>::const_iterator cItBit = pfSetAlgorithmTrigger.begin(); cItBit != pfSetAlgorithmTrigger.end();
426 myCoutStream <<
"Bit number " << std::right << std::setw(4) << iBit <<
": prescale factor = " << (*cItBit)
431 myCoutStream <<
"\nError encountered when retrieving the prescale factor set "
432 <<
"\n for algorithm triggers, for run " <<
iEvent.run() <<
", luminosity block "
434 <<
"\n Error code: " << iErrorCode <<
"\n"
440 myCoutStream <<
"\nMethod:"
441 <<
"\n triggerMaskSet(trigCategory, iErrorCode)" << std::endl;
446 if (iErrorCode == 0) {
447 myCoutStream <<
"\nAlgorithm triggers: trigger mask set for run " <<
iEvent.run() <<
", luminosity block "
452 for (std::vector<unsigned int>::const_iterator cItBit = tmSetAlgorithmTrigger.begin();
453 cItBit != tmSetAlgorithmTrigger.end();
456 myCoutStream <<
"Bit number " << std::right << std::setw(4) << iBit <<
": trigger mask = " << (*cItBit)
461 myCoutStream <<
"\nError encountered when retrieving the trigger mask set "
462 <<
"\n for algorithm triggers, for run " <<
iEvent.run() <<
", luminosity block "
464 <<
"\n Error code: " << iErrorCode <<
"\n"
473 myCoutStream <<
"\nMethods:"
474 <<
"\n prescaleFactorSetIndex(iEvent, trigCategory, iErrorCode)"
475 <<
"\n prescaleFactorSet(iEvent, trigCategory,iErrorCode)\n"
481 if (iErrorCode == 0) {
482 myCoutStream <<
"\nTechnical triggers: index for prescale factor set = " << pfSetIndexTechnicalTrigger
483 <<
"\nfor run " <<
iEvent.run() <<
", luminosity block " <<
iEvent.luminosityBlock()
485 <<
"\nMethod: prescaleFactorSetIndex(iEvent, trigCategory, iErrorCode)\n"
489 myCoutStream <<
"\nError encountered when retrieving the prescale factor set index"
490 <<
"\n for technical triggers, for run " <<
iEvent.run() <<
", luminosity block "
492 <<
"\n Error code: " << iErrorCode <<
"\n"
499 if (iErrorCode == 0) {
500 myCoutStream <<
"\nTechnical triggers: prescale factor set index = " << pfSetIndexTechnicalTrigger <<
"\nfor run "
501 <<
iEvent.run() <<
", luminosity block " <<
iEvent.luminosityBlock() <<
", with L1 menu \n "
506 for (std::vector<int>::const_iterator cItBit = pfSetTechnicalTrigger.begin(); cItBit != pfSetTechnicalTrigger.end();
509 myCoutStream <<
"Bit number " << std::right << std::setw(4) << iBit <<
": prescale factor = " << (*cItBit)
514 myCoutStream <<
"\nError encountered when retrieving the prescale factor set "
515 <<
"\n for technical triggers, for run " <<
iEvent.run() <<
", luminosity block "
517 <<
"\n Error code: " << iErrorCode <<
"\n"
523 myCoutStream <<
"\nMethod:"
524 <<
"\n triggerMaskSet(trigCategory, iErrorCode)" << std::endl;
529 if (iErrorCode == 0) {
530 myCoutStream <<
"\nTechnical triggers: trigger mask set for run " <<
iEvent.run() <<
", luminosity block "
535 for (std::vector<unsigned int>::const_iterator cItBit = tmSetTechnicalTrigger.begin();
536 cItBit != tmSetTechnicalTrigger.end();
539 myCoutStream <<
"Bit number " << std::right << std::setw(4) << iBit <<
": trigger mask = " << (*cItBit)
544 myCoutStream <<
"\nError encountered when retrieving the trigger mask set "
545 <<
"\n for technical triggers, for run " <<
iEvent.run() <<
", luminosity block "
547 <<
"\n Error code: " << iErrorCode <<
"\n"
556 const std::vector<L1GtLogicParser::OperandToken>& expL1TriggersProv =
559 const std::vector<std::pair<std::string, bool> >& decisionsBeforeMaskProv =
561 const std::vector<std::pair<std::string, bool> >& decisionsAfterMaskProv =
563 const std::vector<std::pair<std::string, int> >& prescaleFactorsProv =
567 myCoutStream << std::endl;
570 for (
size_t iTrig = 0; iTrig < errorCodesProv.size(); ++iTrig) {
571 if ((errorCodesProv[iTrig]).second != 0) {
572 myCoutStream <<
"\nError encountered when retrieving L1 results for trigger " << (errorCodesProv[iTrig]).
first
573 <<
" (bit number " << (expL1TriggersProv[iTrig]).tokenNumber <<
")\n for run " <<
iEvent.run()
574 <<
", luminosity block " <<
iEvent.luminosityBlock() <<
" with L1 menu \n "
580 << (errorCodesProv[iTrig]).
first <<
" - bit number " << (expL1TriggersProv[iTrig]).tokenNumber
583 myCoutStream <<
" decision before mask = " << (decisionsBeforeMaskProv[iTrig]).
second << std::endl;
585 myCoutStream <<
" decision after mask = " << (decisionsAfterMaskProv[iTrig]).
second << std::endl;
587 myCoutStream <<
" prescale factor = " << (prescaleFactorsProv[iTrig]).
second << std::endl;
589 myCoutStream <<
" trigger mask = " << (triggerMasksProv[iTrig]).
second << std::endl;
591 myCoutStream <<
" error code = " << (errorCodesProv[iTrig]).
second << std::endl;
599 myCoutStream <<
"\n******** Results found with input tags provided in the configuration file ******** \n"
620 <<
"\n decisionBeforeMask(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, m_nameAlgTechTrig, "
622 <<
"\n decisionAfterMask(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, m_nameAlgTechTrig, "
624 <<
"\n decision(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, m_nameAlgTechTrig, iErrorCode)"
625 <<
"\n prescaleFactor(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, m_nameAlgTechTrig, "
627 <<
"\n triggerMask(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, m_nameAlgTechTrig, iErrorCode)"
631 if (iErrorCode == 0) {
632 myCoutStream <<
"\nDecision before trigger mask for " <<
m_nameAlgTechTrig <<
": "
633 << decisionBeforeMaskAlgTechTrigITag << std::endl;
635 << decisionAfterMaskAlgTechTrigITag << std::endl;
636 myCoutStream <<
"Decision (after trigger mask) for " <<
m_nameAlgTechTrig <<
": " << decisionAlgTechTrigITag
639 myCoutStream <<
"Prescale factor for " <<
m_nameAlgTechTrig <<
": " << prescaleFactorAlgTechTrigITag
642 myCoutStream <<
"Trigger mask for " <<
m_nameAlgTechTrig <<
": " << triggerMaskAlgTechTrigITag
645 }
else if (iErrorCode == 1) {
651 myCoutStream <<
"\nError: "
652 <<
"\n An error was encountered when retrieving decision, mask and prescale factor for "
654 <<
"\n Error code: " << iErrorCode << std::endl;
662 myCoutStream <<
"\nMethods:"
663 <<
"\n prescaleFactorSetIndex(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, "
664 "trigCategory, iErrorCode)"
665 <<
"\n prescaleFactorSet(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, "
666 "trigCategory,iErrorCode)\n"
672 if (iErrorCode == 0) {
673 myCoutStream <<
"\nAlgorithm triggers: index for prescale factor set = " << pfSetIndexAlgorithmTriggerITag
674 <<
"\nfor run " <<
iEvent.run() <<
", luminosity block " <<
iEvent.luminosityBlock()
678 myCoutStream <<
"\nError encountered when retrieving the prescale factor set index"
679 <<
"\n for algorithm triggers, for run " <<
iEvent.run() <<
", luminosity block "
681 <<
"\n Error code: " << iErrorCode <<
"\n"
688 if (iErrorCode == 0) {
689 myCoutStream <<
"\nAlgorithm triggers: prescale factor set index = " << pfSetIndexAlgorithmTriggerITag
690 <<
"\nfor run " <<
iEvent.run() <<
", luminosity block " <<
iEvent.luminosityBlock()
694 for (std::vector<int>::const_iterator cItBit = pfSetAlgorithmTriggerITag.begin();
695 cItBit != pfSetAlgorithmTriggerITag.end();
698 myCoutStream <<
"Bit number " << std::right << std::setw(4) << iBit <<
": prescale factor = " << (*cItBit)
703 myCoutStream <<
"\nError encountered when retrieving the prescale factor set "
704 <<
"\n for algorithm triggers, for run " <<
iEvent.run() <<
", luminosity block "
706 <<
"\n Error code: " << iErrorCode <<
"\n"
715 myCoutStream <<
"\nMethods:"
716 <<
"\n prescaleFactorSetIndex(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, "
717 "trigCategory, iErrorCode)"
718 <<
"\n prescaleFactorSet(iEvent, m_l1GtRecordInputTag, m_l1GtDaqReadoutRecordInputTag, "
719 "trigCategory,iErrorCode)\n"
725 if (iErrorCode == 0) {
726 myCoutStream <<
"\nTechnical triggers: index for prescale factor set = " << pfSetIndexTechnicalTriggerITag
727 <<
"\nfor run " <<
iEvent.run() <<
", luminosity block " <<
iEvent.luminosityBlock()
731 myCoutStream <<
"\nError encountered when retrieving the prescale factor set index"
732 <<
"\n for technical triggers, for run " <<
iEvent.run() <<
", luminosity block "
734 <<
"\n Error code: " << iErrorCode <<
"\n"
741 if (iErrorCode == 0) {
742 myCoutStream <<
"\nTechnical triggers: prescale factor set index = " << pfSetIndexTechnicalTriggerITag
743 <<
"\nfor run " <<
iEvent.run() <<
", luminosity block " <<
iEvent.luminosityBlock()
747 for (std::vector<int>::const_iterator cItBit = pfSetTechnicalTriggerITag.begin();
748 cItBit != pfSetTechnicalTriggerITag.end();
751 myCoutStream <<
"Bit number " << std::right << std::setw(4) << iBit <<
": prescale factor = " << (*cItBit)
756 myCoutStream <<
"\nError encountered when retrieving the prescale factor set "
757 <<
"\n for technical triggers, for run " <<
iEvent.run() <<
", luminosity block "
759 <<
"\n Error code: " << iErrorCode <<
"\n"
770 const std::vector<std::pair<std::string, bool> >& decisionsBeforeMask =
772 const std::vector<std::pair<std::string, bool> >& decisionsAfterMask =
777 myCoutStream << std::endl;
780 for (
size_t iTrig = 0; iTrig < errorCodes.size(); ++iTrig) {
781 if ((errorCodes[iTrig]).second != 0) {
782 myCoutStream <<
"\nError encountered when retrieving L1 results for trigger " << (errorCodes[iTrig]).
first
783 <<
" (bit number " << (expL1Triggers[iTrig]).tokenNumber <<
")\n for run " <<
iEvent.run()
784 <<
", luminosity block " <<
iEvent.luminosityBlock() <<
" with L1 menu \n "
790 << (errorCodes[iTrig]).
first <<
" - bit number " << (expL1Triggers[iTrig]).tokenNumber << std::endl;
792 myCoutStream <<
" decision before mask = " << (decisionsBeforeMask[iTrig]).
second << std::endl;
794 myCoutStream <<
" decision after mask = " << (decisionsAfterMask[iTrig]).
second << std::endl;
796 myCoutStream <<
" prescale factor = " << (prescaleFactors[iTrig]).
second << std::endl;
798 myCoutStream <<
" trigger mask = " << (triggerMasks[iTrig]).
second << std::endl;
800 myCoutStream <<
" error code = " << (errorCodes[iTrig]).
second << std::endl;
References L1GtUtils::AlgorithmTrigger, L1GtUtils::availableL1Configuration(), L1GtUtils::decision(), L1GtUtils::decisionAfterMask(), L1GtUtils::decisionBeforeMask(), L1GtUtils::LogicalExpressionL1Results::decisionsAfterMask(), L1GtUtils::LogicalExpressionL1Results::decisionsBeforeMask(), L1GtUtils::LogicalExpressionL1Results::errorCodes(), L1GtUtils::LogicalExpressionL1Results::expL1Triggers(), dqmdumpme::first, iEvent, L1GtUtils::l1TriggerMenu(), L1GtUtils::l1TriggerMenuImplementation(), m_l1GtDaqReadoutRecordInputTag, m_l1GtRecordInputTag, m_l1GtUtils, m_l1GtUtilsLogicalExpression, m_l1GtUtilsProv, m_logicalExpressionL1Results, m_logicalExpressionL1ResultsProv, m_nameAlgTechTrig, L1GtUtils::prescaleFactor(), L1GtUtils::LogicalExpressionL1Results::prescaleFactors(), L1GtUtils::prescaleFactorSet(), L1GtUtils::prescaleFactorSetIndex(), printOutput(), edm::second(), L1GtUtils::TechnicalTrigger, L1GtUtils::triggerMask(), L1GtUtils::LogicalExpressionL1Results::triggerMasks(), and L1GtUtils::triggerMaskSet().
Referenced by analyzeL1GtUtils(), analyzeL1GtUtilsEventSetup(), and analyzeL1GtUtilsMenuLite().
◆ analyzeL1GtUtilsEventSetup()
◆ analyzeL1GtUtilsMenuLite()
◆ analyzeObjectMap()
analyze: object map product
Definition at line 1090 of file L1GtAnalyzer.cc.
1091 LogDebug(
"L1GtAnalyzer") <<
"\n**** L1GtAnalyzer::analyzeObjectMap object map product ****\n" << std::endl;
1095 std::ostringstream myCoutStream;
1102 if (!gtObjectMapRecord.
isValid()) {
1104 <<
"\nrequested in configuration, but not found in the event."
1105 <<
"\nExit the method.\n"
1112 const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtObjectMapRecord->
gtObjectMap();
1115 for (std::vector<L1GlobalTriggerObjectMap>::const_iterator it = objMapVec.begin(); it != objMapVec.end(); ++it) {
1116 (*it).print(myCoutStream);
1123 if (
comb !=
nullptr) {
1125 <<
"): " <<
comb->size() << std::endl;
References bookConverter::comb, L1GlobalTriggerObjectMapRecord::getCombinationsInCond(), L1GlobalTriggerObjectMapRecord::getConditionResult(), L1GlobalTriggerObjectMapRecord::gtObjectMap(), iEvent, edm::HandleBase::isValid(), LogDebug, m_condName, m_l1GtObjectMapTag, m_l1GtObjectMapToken, m_nameAlgTechTrig, printOutput(), and mps_fire::result.
Referenced by analyze().
◆ analyzeTrigger()
full analysis of an algorithm or technical trigger
Definition at line 861 of file L1GtAnalyzer.cc.
862 LogDebug(
"L1GtAnalyzer") <<
"\n**** L1GtAnalyzer::analyzeTrigger ****\n" << std::endl;
866 std::ostringstream myCoutStream;
869 myCoutStream <<
"\n\nFull analysis of an algorithm or technical trigger"
870 <<
"\nMethod: L1GtAnalyzer::analyzeTrigger"
875 const unsigned int lsNumber =
iEvent.luminosityBlock();
876 const unsigned int eventNumber =
iEvent.id().event();
878 myCoutStream <<
"Run: " <<
runNumber <<
" LS: " << lsNumber <<
" Event: " << eventNumber <<
"\n\n" << std::endl;
921 LogDebug(
"L1GtAnalyzer") <<
"\nL1 configuration code:" << l1ConfCode <<
"\nValid L1 trigger configuration.\n"
924 LogTrace(
"L1GtAnalyzer") <<
"\nL1 trigger menu name and implementation:"
931 myCoutStream <<
"\nL1 configuration code:" << l1ConfCode <<
"\nNo valid L1 trigger configuration available."
932 <<
"\nCheck L1GtUtils wiki page for error code interpretation\n"
942 bool decisionBeforeMaskAlgTechTrig =
false;
943 bool decisionAfterMaskAlgTechTrig =
false;
944 bool decisionAlgTechTrig =
false;
945 int prescaleFactorAlgTechTrig = -1;
946 int triggerMaskAlgTechTrig = -1;
971 switch (iErrorCode) {
982 myCoutStream <<
"\nError: "
983 <<
"\n An error was encountered when retrieving decision, mask and prescale factor for "
985 <<
"\n Error code: " << iErrorCode <<
"\n Check L1GtUtils wiki page for error code interpretation"
996 myCoutStream <<
"\nL1Extra collections from all BxInEvent" << std::endl;
1000 myCoutStream <<
"\nL1Extra collections from BxInEvent = 0 (BX for L1A)" << std::endl;
1006 int iErrorRecord = 0;
1008 bool validRecord =
false;
1009 bool gtObjectMapRecordValid =
false;
1020 <<
"\nnot found in the event." << std::endl;
1026 if (gtObjectMapRecord.
isValid()) {
1027 gtObjectMapRecordValid =
true;
1031 iErrorRecord = iErrorRecord + 100;
1033 <<
"\nnot found in the event." << std::endl;
1037 if (validRecord && gtObjectMapRecordValid) {
1079 <<
"\n Trigger mask: " << triggerMaskAlgTechTrig
1080 <<
"\n Prescale factor: " << prescaleFactorAlgTechTrig
1081 <<
"\n Decision before mask: " << decisionBeforeMaskAlgTechTrig
1082 <<
"\n Decision after mask: " << decisionAfterMaskAlgTechTrig
1083 <<
"\n Decision (after mask): " << decisionAlgTechTrig <<
"\n"
References L1GtUtils::availableL1Configuration(), L1GtUtils::decision(), L1GtUtils::decisionAfterMask(), L1GtUtils::decisionBeforeMask(), L1GtUtils::getL1GtRunCache(), iEvent, edm::HandleBase::isValid(), L1GtUtils::l1TriggerMenu(), L1GtUtils::l1TriggerMenuImplementation(), LogDebug, LogTrace, m_l1GtObjectMapsInputTag, m_l1GtObjectMapsToken, m_l1GtObjectMapTag, m_l1GtObjectMapToken, m_l1GtRecordsInputTagProv, m_l1GtUtils, m_l1GtUtilsConfiguration, m_l1GtUtilsProv, m_nameAlgTechTrig, m_retrieveL1Extra, L1GtUtils::prescaleFactor(), L1RetrieveL1Extra::printL1Extra(), printOutput(), L1RetrieveL1Extra::retrieveL1ExtraObjects(), convertSQLiteXML::runNumber, L1GtUtils::triggerMask(), useL1EventSetup(), and useL1GtTriggerMenuLite().
Referenced by analyze().
◆ beginJob()
void L1GtAnalyzer::beginJob |
( |
void |
| ) |
|
|
overrideprivatevirtual |
◆ beginLuminosityBlock()
◆ beginRun()
Reimplemented from edm::EDAnalyzer.
Definition at line 148 of file L1GtAnalyzer.cc.
References analyzeConditionsInRunBlock(), L1GtUtils::getL1GtRunCache(), L1GtUtils::LogicalExpressionL1Results::isValid(), L1GtUtils::LogicalExpressionL1Results::logicalExpressionRunUpdate(), m_analyzeConditionsInRunBlockEnable, m_l1GtUtils, m_l1GtUtilsConfiguration, m_l1GtUtilsConfigureBeginRun, m_l1GtUtilsLogicalExpression, m_l1GtUtilsProv, m_logicalExpressionL1Results, m_logicalExpressionL1ResultsProv, useL1EventSetup(), and useL1GtTriggerMenuLite().
◆ endJob()
void L1GtAnalyzer::endJob |
( |
void |
| ) |
|
|
overrideprivatevirtual |
◆ endLuminosityBlock()
◆ endRun()
◆ printOutput()
void L1GtAnalyzer::printOutput |
( |
std::ostringstream & |
myCout | ) |
|
|
private |
print the output stream to the required output, given by m_printOutput
Definition at line 1395 of file L1GtAnalyzer.cc.
1404 LogTrace(
"L1GtAnalyzer") << myCout.str() << std::endl;
1422 <<
" defined! \n Check available values in the cfi file."
References gather_cfg::cout, LogTrace, and m_printOutput.
Referenced by analyzeConditionsInEventBlock(), analyzeConditionsInLumiBlock(), analyzeConditionsInRunBlock(), analyzeDecisionReadoutRecord(), analyzeL1GtTriggerMenuLite(), analyzeL1GtUtilsCore(), analyzeObjectMap(), and analyzeTrigger().
◆ m_analyzeConditionsInEventBlockEnable
bool L1GtAnalyzer::m_analyzeConditionsInEventBlockEnable |
|
private |
◆ m_analyzeConditionsInLumiBlockEnable
bool L1GtAnalyzer::m_analyzeConditionsInLumiBlockEnable |
|
private |
◆ m_analyzeConditionsInRunBlockEnable
bool L1GtAnalyzer::m_analyzeConditionsInRunBlockEnable |
|
private |
◆ m_analyzeDecisionReadoutRecordEnable
bool L1GtAnalyzer::m_analyzeDecisionReadoutRecordEnable |
|
private |
◆ m_analyzeL1GtTriggerMenuLiteEnable
bool L1GtAnalyzer::m_analyzeL1GtTriggerMenuLiteEnable |
|
private |
◆ m_analyzeL1GtUtilsEnable
bool L1GtAnalyzer::m_analyzeL1GtUtilsEnable |
|
private |
◆ m_analyzeL1GtUtilsEventSetupEnable
bool L1GtAnalyzer::m_analyzeL1GtUtilsEventSetupEnable |
|
private |
◆ m_analyzeL1GtUtilsMenuLiteEnable
bool L1GtAnalyzer::m_analyzeL1GtUtilsMenuLiteEnable |
|
private |
◆ m_analyzeObjectMapEnable
bool L1GtAnalyzer::m_analyzeObjectMapEnable |
|
private |
◆ m_analyzeTriggerEnable
bool L1GtAnalyzer::m_analyzeTriggerEnable |
|
private |
◆ m_bitNumber
unsigned int L1GtAnalyzer::m_bitNumber |
|
private |
◆ m_condInEdmInputTag
◆ m_condInEventToken
◆ m_condInLumiToken
◆ m_condInRunToken
◆ m_condName
std::string L1GtAnalyzer::m_condName |
|
private |
◆ m_l1GmtInputTag
◆ m_l1GtDaqReadoutRecordInputTag
◆ m_l1GtDaqReadoutRecordToken
◆ m_l1GtObjectMapsInputTag
◆ m_l1GtObjectMapsToken
◆ m_l1GtObjectMapTag
◆ m_l1GtObjectMapToken
◆ m_l1GtRecordInputTag
◆ m_l1GtRecordsInputTagProv
bool L1GtAnalyzer::m_l1GtRecordsInputTagProv |
|
private |
◆ m_l1GtTmLInputTag
◆ m_l1GtTmLInputTagProv
bool L1GtAnalyzer::m_l1GtTmLInputTagProv |
|
private |
◆ m_l1GtTmLToken
◆ m_l1GtUtils
◆ m_l1GtUtilsConfiguration
unsigned int L1GtAnalyzer::m_l1GtUtilsConfiguration |
|
private |
◆ m_l1GtUtilsConfigureBeginRun
bool L1GtAnalyzer::m_l1GtUtilsConfigureBeginRun |
|
private |
◆ m_l1GtUtilsLogicalExpression
std::string L1GtAnalyzer::m_l1GtUtilsLogicalExpression |
|
private |
◆ m_l1GtUtilsProv
◆ m_logicalExpressionL1Results
◆ m_logicalExpressionL1ResultsProv
◆ m_nameAlgTechTrig
std::string L1GtAnalyzer::m_nameAlgTechTrig |
|
private |
◆ m_printOutput
int L1GtAnalyzer::m_printOutput |
|
private |
◆ m_retrieveL1Extra
bool getConditionResult(const std::string &algoNameVal, const std::string &condNameVal) const
const std::vector< std::pair< std::string, bool > > & decisionsAfterMask()
static const bool useL1EventSetup(true)
edm::InputTag m_l1GtObjectMapsInputTag
input tags for GT object map collection L1GlobalTriggerObjectMaps
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1GtDaqReadoutRecordToken
const std::vector< int > & prescaleFactorSet(const edm::Event &iEvent, const TriggerCategory &trigCategory, int &errorCode)
const std::vector< unsigned int > & triggerMaskSet(const TriggerCategory &trigCategory, int &errorCode)
uint32_t totalIntensityBeam2
const std::vector< std::pair< std::string, int > > & triggerMasks()
const std::vector< std::pair< std::string, int > > & prescaleFactors()
const std::string & l1TriggerMenuImplementation() const
return the L1 trigger menu implementation
bool m_analyzeConditionsInEventBlockEnable
edm::InputTag m_l1GtRecordInputTag
input tags for GT lite product
edm::EDGetTokenT< L1GlobalTriggerObjectMaps > m_l1GtObjectMapsToken
bool m_analyzeL1GtUtilsEnable
void getL1GtRunCache(const edm::Run &, const edm::EventSetup &, const bool, const bool)
get all the run-constant quantities for L1 trigger and cache them
const bool decisionBeforeMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision before trigger mask for a given algorithm or technical trigger
const int logicalExpressionRunUpdate(const edm::Run &, const edm::EventSetup &, const std::string &)
bool m_analyzeDecisionReadoutRecordEnable
enable / disable various analysis methods
edm::InputTag m_l1GmtInputTag
input tag for muon collection from GMT
U second(std::pair< T, U > const &p)
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
const std::vector< L1GtLogicParser::OperandToken > & expL1Triggers()
list of triggers in the logical expression, trigger decisions, prescale factors and masks,...
virtual void analyzeObjectMap(const edm::Event &, const edm::EventSetup &)
analyze: object map product
T getUntrackedParameter(std::string const &, T const &) const
std::string m_l1GtUtilsLogicalExpression
std::vector< SingleCombInCond > CombinationsInCond
all the object combinations evaluated to true in the condition
const bool decision(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
L1GtUtils::LogicalExpressionL1Results m_logicalExpressionL1ResultsProv
std::string m_nameAlgTechTrig
an algorithm trigger (name or alias) or a technical trigger name
Log< level::Info, false > LogInfo
bool m_l1GtTmLInputTagProv
int m_printOutput
print output
bool m_analyzeL1GtUtilsEventSetupEnable
void analyzeL1GtUtilsCore(const edm::Event &, const edm::EventSetup &)
analyze: usage of L1GtUtils
bool m_analyzeL1GtUtilsMenuLiteEnable
const bool decision(int bxInEventValue) const
void printGtDecision(std::ostream &myCout, int bxInEventValue) const
print global decision and algorithm decision word
const CombinationsInCond * getCombinationsInCond(const std::string &algoNameVal, const std::string &condNameVal) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< L1GtTriggerMenuLite > m_l1GtTmLToken
void analyzeL1GtUtilsMenuLite(const edm::Event &, const edm::EventSetup &)
for tests, use only one of the following methods
bool getByToken(EDGetToken token, Handle< PROD > &result) const
LuminosityBlockNumber_t luminosityBlock() const
void printTechnicalTrigger(std::ostream &myCout, int bxInEventValue) const
print technical triggers
void analyzeConditionsInEventBlock(const edm::Event &, const edm::EventSetup &)
to be used in analyze/produce/filter
L1RetrieveL1Extra m_retrieveL1Extra
void analyzeL1GtUtils(const edm::Event &, const edm::EventSetup &)
L1GtUtils m_l1GtUtilsProv
void analyzeL1GtUtilsEventSetup(const edm::Event &, const edm::EventSetup &)
virtual void analyzeDecisionReadoutRecord(const edm::Event &, const edm::EventSetup &)
const bool availableL1Configuration(int &errorCode, int &l1ConfCode) const
static const bool useL1GtTriggerMenuLite(true)
bool m_analyzeObjectMapEnable
void analyzeL1GtTriggerMenuLite(const edm::Event &, const edm::EventSetup &)
analyze: usage of L1GtTriggerMenuLite
const std::string & l1TriggerMenu() const
return the L1 trigger menu name
bool isValid()
return true if the logical expression is syntactically correct
uint32_t totalIntensityBeam1
bool m_l1GtUtilsConfigureBeginRun
if true, configure (partially) L1GtUtils in beginRun using getL1GtRunCache
bool m_l1GtRecordsInputTagProv
const DecisionWord & decisionWord(int bxInEventValue) const
bool m_analyzeConditionsInRunBlockEnable
const bool decisionAfterMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision after trigger mask for a given algorithm or technical trigger
const std::vector< std::pair< std::string, int > > & errorCodes(const edm::Event &)
edm::InputTag m_l1GtTmLInputTag
input tag for L1GtTriggerMenuLite
void analyzeTrigger(const edm::Event &, const edm::EventSetup &)
full analysis of an algorithm or technical trigger
bool m_analyzeConditionsInLumiBlockEnable
bool m_analyzeTriggerEnable
edm::EDGetTokenT< edm::ConditionsInLumiBlock > m_condInLumiToken
std::vector< bool > DecisionWord
typedefs
unsigned int m_bitNumber
a bit number to retrieve the name and the alias
const std::vector< std::pair< std::string, bool > > & decisionsBeforeMask()
std::string m_condName
a condition in the algorithm trigger to test the object maps
const int triggerMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return trigger mask for a given algorithm or technical trigger
const int prescaleFactorSetIndex(const edm::Event &iEvent, const TriggerCategory &trigCategory, int &errorCode) const
Log< level::Info, true > LogVerbatim
void analyzeConditionsInLumiBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
to be used in beginLuminosityBlock
edm::InputTag m_condInEdmInputTag
input tag for ConditionInEdm products
const std::vector< L1GlobalTriggerObjectMap > & gtObjectMap() const
get / set the vector of object maps
T getParameter(std::string const &) const
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > m_l1GtObjectMapToken
edm::InputTag m_l1GtDaqReadoutRecordInputTag
input tags for GT DAQ product
L1GtUtils::LogicalExpressionL1Results m_logicalExpressionL1Results
void printOutput(std::ostringstream &)
print the output stream to the required output, given by m_printOutput
edm::EDGetTokenT< edm::ConditionsInRunBlock > m_condInRunToken
const int prescaleFactor(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return prescale factor for a given algorithm or technical trigger
edm::InputTag m_l1GtObjectMapTag
input tags for GT object map collection L1GlobalTriggerObjectMapRecord
unsigned int m_l1GtUtilsConfiguration
L1 configuration code for L1GtUtils.
void analyzeConditionsInRunBlock(const edm::Run &, const edm::EventSetup &)
edm::EDGetTokenT< edm::ConditionsInEventBlock > m_condInEventToken
bool m_analyzeL1GtTriggerMenuLiteEnable