File indexing completed on 2024-04-06 12:22:24
0001 #include <iostream>
0002 #include "CondTools/L1TriggerExt/interface/L1ObjectKeysOnlineProdBaseExt.h"
0003 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0004
0005 class L1TUtmTriggerMenuObjectKeysOnlineProd : public L1ObjectKeysOnlineProdBaseExt {
0006 private:
0007 public:
0008 void fillObjectKeys(L1TriggerKeyExt* pL1TriggerKey) override;
0009
0010 L1TUtmTriggerMenuObjectKeysOnlineProd(const edm::ParameterSet&);
0011 ~L1TUtmTriggerMenuObjectKeysOnlineProd(void) override {}
0012 };
0013
0014 L1TUtmTriggerMenuObjectKeysOnlineProd::L1TUtmTriggerMenuObjectKeysOnlineProd(const edm::ParameterSet& iConfig)
0015 : L1ObjectKeysOnlineProdBaseExt(iConfig) {}
0016
0017 void L1TUtmTriggerMenuObjectKeysOnlineProd::fillObjectKeys(L1TriggerKeyExt* pL1TriggerKey) {
0018 std::string uGTKey = pL1TriggerKey->subsystemKey(L1TriggerKeyExt::kuGT);
0019
0020 uGTKey = uGTKey.substr(0, uGTKey.find(':'));
0021
0022 std::string stage2Schema = "CMS_TRG_L1_CONF";
0023
0024 std::string l1_menu_key;
0025 std::vector<std::string> queryStrings;
0026 queryStrings.push_back("L1_MENU");
0027
0028 std::string l1_menu_name, ugt_key;
0029
0030
0031 l1t::OMDSReader::QueryResults queryResult = m_omdsReader.basicQuery(
0032 queryStrings, stage2Schema, "UGT_KEYS", "UGT_KEYS.ID", m_omdsReader.singleAttribute(uGTKey));
0033
0034 if (queryResult.queryFailed() || queryResult.numberRows() != 1) {
0035 edm::LogError("L1-O2O") << "Cannot get UGT_KEYS.L1_MENU for ID = " << uGTKey << " expect a crash later ";
0036 return;
0037 }
0038
0039 if (!queryResult.fillVariable("L1_MENU", l1_menu_key))
0040 l1_menu_key = "";
0041
0042 pL1TriggerKey->add("L1TUtmTriggerMenuO2ORcd", "L1TUtmTriggerMenu", l1_menu_key);
0043 }
0044
0045
0046 DEFINE_FWK_EVENTSETUP_MODULE(L1TUtmTriggerMenuObjectKeysOnlineProd);