CMS 3D CMS Logo

L1GtTscObjectKeysOnlineProd.cc
Go to the documentation of this file.
1 
15 // this class header
17 
18 // system include files
19 
20 // user include files
22 
23 // constructor
26  m_enableL1GtParameters(parSet.getParameter<bool>("EnableL1GtParameters")),
27  m_enableL1GtTriggerMenu(parSet.getParameter<bool>("EnableL1GtTriggerMenu")),
28  m_enableL1GtPsbSetup(parSet.getParameter<bool>("EnableL1GtPsbSetup")) {
29  // empty
30 }
31 
32 // destructor
34  // empty
35 }
36 
37 // private methods
38 
40  const std::string& gtSchema) {
41  std::string objectKey;
42 
43  if (!subsystemKey.empty()) {
44  // Execute SQL queries to get keys from OMDS.
45 
46  // SELECT GTFE_SETUP_FK FROM CMS_GT.GT_SETUP WHERE GT_SETUP.ID = MyKey
48  "GTFE_SETUP_FK", gtSchema, "GT_SETUP", "GT_SETUP.ID", m_omdsReader.singleAttribute(subsystemKey));
49 
50  // check if query was successful
51  if (objectKeyResults.queryFailed()) {
52  edm::LogError("L1-O2O") << "Problem with key for record L1GtParametersRcd: query failed ";
53  return objectKey;
54  } else if ((objectKeyResults.numberRows() != 1)) {
55  edm::LogError("L1-O2O") << "Problem with key for record L1GtParametersRcd: " << (objectKeyResults.numberRows())
56  << " rows were returned";
57  return objectKey;
58  }
59 
60  objectKeyResults.fillVariable(objectKey);
61  }
62 
63  return objectKey;
64 }
65 
67  const std::string& gtSchema) {
68  std::string objectKey;
69 
70  if (!subsystemKey.empty()) {
71  // Execute SQL queries to get keys from OMDS.
72 
73  // SELECT L1T_MENU_FK FROM CMS_GT.GT_SETUP WHERE GT_SETUP.ID = MyKey
75  "L1T_MENU_FK", gtSchema, "GT_SETUP", "GT_SETUP.ID", m_omdsReader.singleAttribute(subsystemKey));
76 
77  // check if query was successful
78  if (objectKeyResults.queryFailed()) {
79  edm::LogError("L1-O2O") << "Problem with key for record L1GtTriggerMenuRcd: query failed ";
80  return objectKey;
81  } else if ((objectKeyResults.numberRows() != 1)) {
82  edm::LogError("L1-O2O") << "Problem with key for record L1GtTriggerMenuRcd: " << (objectKeyResults.numberRows())
83  << " rows were returned";
84  return objectKey;
85  }
86 
87  objectKeyResults.fillVariable(objectKey);
88  }
89 
90  return objectKey;
91 }
92 
94  std::string objectKey;
95 
96  if (!subsystemKey.empty()) {
97  // no need to query OMDS, one uses the GT_SETUP key to get the individual PSB keys.
98  // the L1GtPsbSetup key is GT_SETUP key
99  objectKey = subsystemKey;
100  }
101 
102  return objectKey;
103 }
104 
105 // public methods
107  // kMYSUBSYSTEM = kCSCTF, kDTTF, kRPC, kGMT, kRCT, mkGCT, kGT, or kTSP0
108  // subsystemKey = TRIGGERSUP_CONF.{CSCTF_KEY, DTTF_KEY, RPC_KEY, GMT_KEY, RCT_KEY, GCT_KEY, GT_KEY}
109 
110  std::string subsystemKey = pL1TriggerKey->subsystemKey(L1TriggerKey::kGT);
111  const std::string gtSchema = "CMS_GT";
112 
113  //
115  const std::string& objectKey = keyL1GtParameters(subsystemKey, gtSchema);
116  if (!objectKey.empty()) {
117  pL1TriggerKey->add("L1GtParametersRcd", "L1GtParameters", objectKey);
118  }
119  }
120 
121  //
123  const std::string& objectKey = keyL1GtTriggerMenu(subsystemKey, gtSchema);
124  if (!objectKey.empty()) {
125  pL1TriggerKey->add("L1GtTriggerMenuRcd", "L1GtTriggerMenu", objectKey);
126  }
127  }
128 
129  //
130  if (m_enableL1GtPsbSetup) {
131  const std::string& objectKey = keyL1GtPsbSetup(subsystemKey, gtSchema);
132  if (!objectKey.empty()) {
133  pL1TriggerKey->add("L1GtPsbSetupRcd", "L1GtPsbSetup", objectKey);
134  }
135  }
136 }
137 
l1t::OMDSReader::QueryResults
Definition: OMDSReader.h:49
electrons_cff.bool
bool
Definition: electrons_cff.py:366
L1GtTscObjectKeysOnlineProd::m_enableL1GtPsbSetup
bool m_enableL1GtPsbSetup
Definition: L1GtTscObjectKeysOnlineProd.h:45
MessageLogger.h
L1ObjectKeysOnlineProdBase::m_omdsReader
l1t::OMDSReader m_omdsReader
Definition: L1ObjectKeysOnlineProdBase.h:54
l1t::OMDSReader::singleAttribute
const QueryResults singleAttribute(const T &data) const
Definition: OMDSReader.h:259
L1GtTscObjectKeysOnlineProd::~L1GtTscObjectKeysOnlineProd
~L1GtTscObjectKeysOnlineProd() override
destructor
Definition: L1GtTscObjectKeysOnlineProd.cc:33
L1GtTscObjectKeysOnlineProd::keyL1GtParameters
std::string keyL1GtParameters(const std::string &subsystemKey, const std::string &gtSchema)
keys for individual objects
Definition: L1GtTscObjectKeysOnlineProd.cc:39
l1t::OMDSReader::QueryResults::fillVariable
bool fillVariable(const std::string &columnName, T &outputVariable) const
Definition: OMDSReader.h:274
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1ObjectKeysOnlineProdBase
Definition: L1ObjectKeysOnlineProdBase.h:39
L1GtTscObjectKeysOnlineProd::L1GtTscObjectKeysOnlineProd
L1GtTscObjectKeysOnlineProd(const edm::ParameterSet &)
constructor
Definition: L1GtTscObjectKeysOnlineProd.cc:24
edm::ParameterSet
Definition: ParameterSet.h:47
l1t::OMDSReader::QueryResults::numberRows
int numberRows() const
Definition: OMDSReader.h:60
l1t::OMDSReader::basicQuery
const QueryResults basicQuery(const std::vector< std::string > &columnNames, const std::string &schemaName, const std::string &tableName, const std::string &conditionLHS="", const QueryResults conditionRHS=QueryResults(), const std::string &conditionRHSName="")
Definition: OMDSReader.cc:75
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
L1GtTscObjectKeysOnlineProd.h
L1GtTscObjectKeysOnlineProd::m_enableL1GtTriggerMenu
bool m_enableL1GtTriggerMenu
Definition: L1GtTscObjectKeysOnlineProd.h:44
L1GtTscObjectKeysOnlineProd::m_enableL1GtParameters
bool m_enableL1GtParameters
enable key search for each record
Definition: L1GtTscObjectKeysOnlineProd.h:43
L1TriggerKey::kGT
Definition: L1TriggerKey.h:27
DEFINE_FWK_EVENTSETUP_MODULE
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
L1GtTscObjectKeysOnlineProd::fillObjectKeys
void fillObjectKeys(FillType pL1TriggerKey) override
public methods
Definition: L1GtTscObjectKeysOnlineProd.cc:106
l1t::OMDSReader::QueryResults::queryFailed
bool queryFailed() const
Definition: OMDSReader.h:59
L1GtTscObjectKeysOnlineProd
Definition: L1GtTscObjectKeysOnlineProd.h:24
L1ObjectKeysOnlineProdBase::FillType
std::unique_ptr< L1TriggerKey >::pointer FillType
Definition: L1ObjectKeysOnlineProdBase.h:45
L1GtTscObjectKeysOnlineProd::keyL1GtPsbSetup
std::string keyL1GtPsbSetup(const std::string &subsystemKey, const std::string &gtSchema)
Definition: L1GtTscObjectKeysOnlineProd.cc:93
L1GtTscObjectKeysOnlineProd::keyL1GtTriggerMenu
std::string keyL1GtTriggerMenu(const std::string &subsystemKey, const std::string &gtSchema)
Definition: L1GtTscObjectKeysOnlineProd.cc:66