CMS 3D CMS Logo

L1GctTSCObjectKeysOnlineProd.cc
Go to the documentation of this file.
3 
5  public:
7  : L1ObjectKeysOnlineProdBase( iConfig ) {}
9 
10  void fillObjectKeys( FillType pL1TriggerKey ) override ;
11  private:
12 };
13 
14 void
16 {
17  // kMYSUBSYSTEM = kCSCTF, kDTTF, kRPC, kGMT, kRCT, kGCT, kGT, or kTSP0
18  // subsystemKey = TRIGGERSUP_CONF.{CSCTF_KEY, DTTF_KEY, RPC_KEY, GMT_KEY, RCT_KEY, GCT_KEY, GT_KEY}
19  std::string subsystemKey = pL1TriggerKey->subsystemKey( L1TriggerKey::kGCT ) ;
20 
21  if( !subsystemKey.empty() )
22  {
23  // Execute SQL queries to get data from OMDS (using key) and make C++ object.
24  // Example: SELECT A_PARAMETER FROM CMS_XXX.XXX_CONF WHERE XXX_CONF.XXX_KEY = subsystemKey
25 
26  // get main crate key
27  l1t::OMDSReader::QueryResults mainCrateKeyResults =
29  "GCT_MAIN_CRATE_KEY",
30  "CMS_GCT",
31  "GCT_CONFIG",
32  "GCT_CONFIG.CONFIG_KEY",
33  m_omdsReader.singleAttribute( subsystemKey ) );
34 
35 
36  // get phys params key
37  l1t::OMDSReader::QueryResults physParamsKeyResults =
39  "GCT_PHYS_PARAMS_KEY",
40  "CMS_GCT",
41  "GCT_MAIN_CRATE",
42  "GCT_MAIN_CRATE.CONFIG_KEY",
43  mainCrateKeyResults );
44 
45  std::string physParamsKey ;
46 
47  if( physParamsKeyResults.queryFailed() ) {
48  edm::LogError("L1-O2O")
49  << "Problem with key for record L1GctJetFinderParamsRcd: query failed ";
50  }
51  else if( physParamsKeyResults.numberRows() != 1 ) {
52  edm::LogError("L1-O2O")
53  << "Problem with key for record L1GctJetFinderParamsRcd: "
54  << (physParamsKeyResults.numberRows()) << " rows were returned";
55  }
56  else {
57  physParamsKeyResults.fillVariable( physParamsKey ) ;
58  }
59 
60  pL1TriggerKey->add( "L1GctJetFinderParamsRcd", "L1GctJetFinderParams", physParamsKey ) ;
61  pL1TriggerKey->add( "L1JetEtScaleRcd", "L1CaloEtScale", physParamsKey ) ;
62  pL1TriggerKey->add( "L1HtMissScaleRcd", "L1CaloEtScale", physParamsKey ) ;
63  pL1TriggerKey->add( "L1HfRingEtScaleRcd", "L1CaloEtScale", physParamsKey ) ;
64 
65  }
66 }
67 
bool fillVariable(const std::string &columnName, T &outputVariable) const
Definition: OMDSReader.h:311
const QueryResults singleAttribute(const T &data) const
Definition: OMDSReader.h:295
std::unique_ptr< L1TriggerKey >::pointer FillType
void fillObjectKeys(FillType pL1TriggerKey) override
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:86
L1GctTSCObjectKeysOnlineProd(const edm::ParameterSet &iConfig)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60