CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GtTscObjectKeysOnlineProd.cc
Go to the documentation of this file.
1 
17 // this class header
19 
20 // system include files
21 
22 // user include files
24 
25 // constructor
28  m_enableL1GtParameters(
29  parSet.getParameter<bool> ("EnableL1GtParameters")),
30  m_enableL1GtTriggerMenu(
31  parSet.getParameter<bool> ("EnableL1GtTriggerMenu")),
32  m_enableL1GtPsbSetup(
33  parSet.getParameter<bool> ("EnableL1GtPsbSetup")) {
34 
35  // empty
36 
37 }
38 
39 // destructor
41 
42  // empty
43 
44 }
45 
46 // private methods
47 
49  const std::string& subsystemKey, const std::string& gtSchema) {
50 
51  std::string objectKey;
52 
53  if (!subsystemKey.empty()) {
54 
55  // Execute SQL queries to get keys from OMDS.
56 
57  // SELECT GTFE_SETUP_FK FROM CMS_GT.GT_SETUP WHERE GT_SETUP.ID = MyKey
59  "GTFE_SETUP_FK", gtSchema, "GT_SETUP", "GT_SETUP.ID", m_omdsReader.singleAttribute(
60  subsystemKey));
61 
62  // check if query was successful
63  if (objectKeyResults.queryFailed()) {
64  edm::LogError("L1-O2O")
65  << "Problem with key for record L1GtParametersRcd: query failed ";
66  return objectKey;
67  } else if ( ( objectKeyResults.numberRows() != 1 )) {
68  edm::LogError("L1-O2O") << "Problem with key for record L1GtParametersRcd: "
69  << ( objectKeyResults.numberRows() ) << " rows were returned";
70  return objectKey;
71  }
72 
73  objectKeyResults.fillVariable(objectKey);
74  }
75 
76  return objectKey;
77 }
78 
80  const std::string& subsystemKey, const std::string& gtSchema) {
81 
82  std::string objectKey;
83 
84  if (!subsystemKey.empty()) {
85 
86  // Execute SQL queries to get keys from OMDS.
87 
88  // SELECT L1T_MENU_FK FROM CMS_GT.GT_SETUP WHERE GT_SETUP.ID = MyKey
90  "L1T_MENU_FK", gtSchema, "GT_SETUP", "GT_SETUP.ID", m_omdsReader.singleAttribute(
91  subsystemKey));
92 
93  // check if query was successful
94  if (objectKeyResults.queryFailed()) {
95  edm::LogError("L1-O2O")
96  << "Problem with key for record L1GtTriggerMenuRcd: query failed ";
97  return objectKey;
98  } else if ( ( objectKeyResults.numberRows() != 1 )) {
99  edm::LogError("L1-O2O") << "Problem with key for record L1GtTriggerMenuRcd: "
100  << ( objectKeyResults.numberRows() ) << " rows were returned";
101  return objectKey;
102  }
103 
104  objectKeyResults.fillVariable(objectKey);
105  }
106 
107  return objectKey;
108 
109 }
110 
112  const std::string& subsystemKey, const std::string& gtSchema) {
113 
114  std::string objectKey;
115 
116  if (!subsystemKey.empty()) {
117 
118  // no need to query OMDS, one uses the GT_SETUP key to get the individual PSB keys.
119  // the L1GtPsbSetup key is GT_SETUP key
120  objectKey = subsystemKey;
121 
122  }
123 
124  return objectKey;
125 
126 }
127 
128 // public methods
130 
131  // kMYSUBSYSTEM = kCSCTF, kDTTF, kRPC, kGMT, kRCT, mkGCT, kGT, or kTSP0
132  // subsystemKey = TRIGGERSUP_CONF.{CSCTF_KEY, DTTF_KEY, RPC_KEY, GMT_KEY, RCT_KEY, GCT_KEY, GT_KEY}
133 
134  std::string subsystemKey = pL1TriggerKey->subsystemKey(L1TriggerKey::kGT);
135  const std::string gtSchema = "CMS_GT";
136 
137  //
139  const std::string& objectKey = keyL1GtParameters(subsystemKey, gtSchema);
140  if (!objectKey.empty()) {
141  pL1TriggerKey->add("L1GtParametersRcd", "L1GtParameters", objectKey);
142  }
143  }
144 
145  //
147  const std::string& objectKey = keyL1GtTriggerMenu(subsystemKey, gtSchema);
148  if (!objectKey.empty()) {
149  pL1TriggerKey->add("L1GtTriggerMenuRcd", "L1GtTriggerMenu", objectKey);
150  }
151  }
152 
153  //
154  if (m_enableL1GtPsbSetup) {
155  const std::string& objectKey = keyL1GtPsbSetup(subsystemKey, gtSchema);
156  if (!objectKey.empty()) {
157  pL1TriggerKey->add("L1GtPsbSetupRcd", "L1GtPsbSetup", objectKey);
158  }
159  }
160 
161 }
162 
std::string keyL1GtPsbSetup(const std::string &subsystemKey, const std::string &gtSchema)
bool fillVariable(const std::string &columnName, T &outputVariable) const
Definition: OMDSReader.h:311
const QueryResults singleAttribute(const T &data) const
Definition: OMDSReader.h:295
L1GtTscObjectKeysOnlineProd(const edm::ParameterSet &)
constructor
virtual void fillObjectKeys(ReturnType pL1TriggerKey)
public methods
std::string keyL1GtParameters(const std::string &subsystemKey, const std::string &gtSchema)
keys for individual objects
bool m_enableL1GtParameters
enable key search for each record
boost::shared_ptr< L1TriggerKey > ReturnType
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="") const
Definition: OMDSReader.cc:87
std::string keyL1GtTriggerMenu(const std::string &subsystemKey, const std::string &gtSchema)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:48