CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1GtTscObjectKeysOnlineProd Class Reference

#include <L1GtTscObjectKeysOnlineProd.h>

Inheritance diagram for L1GtTscObjectKeysOnlineProd:
L1ObjectKeysOnlineProdBase edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Member Functions

void fillObjectKeys (FillType pL1TriggerKey) override
 public methods More...
 
 L1GtTscObjectKeysOnlineProd (const edm::ParameterSet &)
 constructor More...
 
 ~L1GtTscObjectKeysOnlineProd () override
 destructor More...
 
- Public Member Functions inherited from L1ObjectKeysOnlineProdBase
 L1ObjectKeysOnlineProdBase (const edm::ParameterSet &)
 
ReturnType produce (const L1TriggerKeyRcd &)
 
 ~L1ObjectKeysOnlineProdBase () override
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ~ESProducer ()(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval) override
 overrides DataProxyProvider method More...
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
 DataProxyProvider ()
 
const ComponentDescriptiondescription () const
 
bool isUsingRecord (const EventSetupRecordKey &) const
 
const KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey) const
 
void resetProxies (const EventSetupRecordKey &iRecordType)
 
void resetProxiesIfTransient (const EventSetupRecordKey &iRecordType)
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Private Member Functions

std::string keyL1GtParameters (const std::string &subsystemKey, const std::string &gtSchema)
 keys for individual objects More...
 
std::string keyL1GtPsbSetup (const std::string &subsystemKey, const std::string &gtSchema)
 
std::string keyL1GtTriggerMenu (const std::string &subsystemKey, const std::string &gtSchema)
 

Private Attributes

bool m_enableL1GtParameters
 enable key search for each record More...
 
bool m_enableL1GtPsbSetup
 
bool m_enableL1GtTriggerMenu
 

Additional Inherited Members

- Public Types inherited from L1ObjectKeysOnlineProdBase
typedef std::unique_ptr< L1TriggerKey >::pointer FillType
 
typedef std::unique_ptr< L1TriggerKeyReturnType
 
- Public Types inherited from edm::eventsetup::DataProxyProvider
typedef std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > KeyedProxies
 
typedef std::vector< EventSetupRecordKeyKeys
 
typedef std::map< EventSetupRecordKey, KeyedProxiesRecordProxies
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
void setWhatProduced (T *iThis, const es::Label &iLabel=es::Label())
 
template<typename T >
void setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
void setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
void setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel=es::Label())
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
void registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList) override
 override DataProxyProvider method More...
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
void eraseAll (const EventSetupRecordKey &iRecordKey)
 deletes all the Proxies in aStream More...
 
void invalidateProxies (const EventSetupRecordKey &iRecordKey)
 
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &)
 
- Protected Attributes inherited from L1ObjectKeysOnlineProdBase
l1t::OMDSReader m_omdsReader
 

Detailed Description

Description: online producer for L1 GT record keys starting from TSC key.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Definition at line 24 of file L1GtTscObjectKeysOnlineProd.h.

Constructor & Destructor Documentation

L1GtTscObjectKeysOnlineProd::L1GtTscObjectKeysOnlineProd ( const edm::ParameterSet parSet)

constructor

Definition at line 24 of file L1GtTscObjectKeysOnlineProd.cc.

24  :
27  parSet.getParameter<bool> ("EnableL1GtParameters")),
29  parSet.getParameter<bool> ("EnableL1GtTriggerMenu")),
31  parSet.getParameter<bool> ("EnableL1GtPsbSetup")) {
32 
33  // empty
34 
35 }
T getParameter(std::string const &) const
bool m_enableL1GtParameters
enable key search for each record
L1ObjectKeysOnlineProdBase(const edm::ParameterSet &)
L1GtTscObjectKeysOnlineProd::~L1GtTscObjectKeysOnlineProd ( )
override

destructor

Definition at line 38 of file L1GtTscObjectKeysOnlineProd.cc.

38  {
39 
40  // empty
41 
42 }

Member Function Documentation

void L1GtTscObjectKeysOnlineProd::fillObjectKeys ( FillType  pL1TriggerKey)
overridevirtual

public methods

Implements L1ObjectKeysOnlineProdBase.

Definition at line 127 of file L1GtTscObjectKeysOnlineProd.cc.

References DEFINE_FWK_EVENTSETUP_MODULE, keyL1GtParameters(), keyL1GtPsbSetup(), keyL1GtTriggerMenu(), L1TriggerKey::kGT, m_enableL1GtParameters, m_enableL1GtPsbSetup, m_enableL1GtTriggerMenu, and AlCaHLTBitMon_QueryRunRegistry::string.

127  {
128 
129  // kMYSUBSYSTEM = kCSCTF, kDTTF, kRPC, kGMT, kRCT, mkGCT, kGT, or kTSP0
130  // subsystemKey = TRIGGERSUP_CONF.{CSCTF_KEY, DTTF_KEY, RPC_KEY, GMT_KEY, RCT_KEY, GCT_KEY, GT_KEY}
131 
132  std::string subsystemKey = pL1TriggerKey->subsystemKey(L1TriggerKey::kGT);
133  const std::string gtSchema = "CMS_GT";
134 
135  //
137  const std::string& objectKey = keyL1GtParameters(subsystemKey, gtSchema);
138  if (!objectKey.empty()) {
139  pL1TriggerKey->add("L1GtParametersRcd", "L1GtParameters", objectKey);
140  }
141  }
142 
143  //
145  const std::string& objectKey = keyL1GtTriggerMenu(subsystemKey, gtSchema);
146  if (!objectKey.empty()) {
147  pL1TriggerKey->add("L1GtTriggerMenuRcd", "L1GtTriggerMenu", objectKey);
148  }
149  }
150 
151  //
152  if (m_enableL1GtPsbSetup) {
153  const std::string& objectKey = keyL1GtPsbSetup(subsystemKey, gtSchema);
154  if (!objectKey.empty()) {
155  pL1TriggerKey->add("L1GtPsbSetupRcd", "L1GtPsbSetup", objectKey);
156  }
157  }
158 
159 }
std::string keyL1GtPsbSetup(const std::string &subsystemKey, const std::string &gtSchema)
std::string keyL1GtParameters(const std::string &subsystemKey, const std::string &gtSchema)
keys for individual objects
bool m_enableL1GtParameters
enable key search for each record
std::string keyL1GtTriggerMenu(const std::string &subsystemKey, const std::string &gtSchema)
std::string L1GtTscObjectKeysOnlineProd::keyL1GtParameters ( const std::string &  subsystemKey,
const std::string &  gtSchema 
)
private

keys for individual objects

Definition at line 46 of file L1GtTscObjectKeysOnlineProd.cc.

References l1t::OMDSReader::basicQuery(), l1t::OMDSReader::QueryResults::fillVariable(), L1ObjectKeysOnlineProdBase::m_omdsReader, l1t::OMDSReader::QueryResults::numberRows(), l1t::OMDSReader::QueryResults::queryFailed(), l1t::OMDSReader::singleAttribute(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by fillObjectKeys().

47  {
48 
49  std::string objectKey;
50 
51  if (!subsystemKey.empty()) {
52 
53  // Execute SQL queries to get keys from OMDS.
54 
55  // SELECT GTFE_SETUP_FK FROM CMS_GT.GT_SETUP WHERE GT_SETUP.ID = MyKey
57  "GTFE_SETUP_FK", gtSchema, "GT_SETUP", "GT_SETUP.ID", m_omdsReader.singleAttribute(
58  subsystemKey));
59 
60  // check if query was successful
61  if (objectKeyResults.queryFailed()) {
62  edm::LogError("L1-O2O")
63  << "Problem with key for record L1GtParametersRcd: query failed ";
64  return objectKey;
65  } else if ( ( objectKeyResults.numberRows() != 1 )) {
66  edm::LogError("L1-O2O") << "Problem with key for record L1GtParametersRcd: "
67  << ( objectKeyResults.numberRows() ) << " rows were returned";
68  return objectKey;
69  }
70 
71  objectKeyResults.fillVariable(objectKey);
72  }
73 
74  return objectKey;
75 }
bool fillVariable(const std::string &columnName, T &outputVariable) const
Definition: OMDSReader.h:311
const QueryResults singleAttribute(const T &data) const
Definition: OMDSReader.h:295
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
std::string L1GtTscObjectKeysOnlineProd::keyL1GtPsbSetup ( const std::string &  subsystemKey,
const std::string &  gtSchema 
)
private

Definition at line 109 of file L1GtTscObjectKeysOnlineProd.cc.

References AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by fillObjectKeys().

110  {
111 
112  std::string objectKey;
113 
114  if (!subsystemKey.empty()) {
115 
116  // no need to query OMDS, one uses the GT_SETUP key to get the individual PSB keys.
117  // the L1GtPsbSetup key is GT_SETUP key
118  objectKey = subsystemKey;
119 
120  }
121 
122  return objectKey;
123 
124 }
std::string L1GtTscObjectKeysOnlineProd::keyL1GtTriggerMenu ( const std::string &  subsystemKey,
const std::string &  gtSchema 
)
private

Definition at line 77 of file L1GtTscObjectKeysOnlineProd.cc.

References l1t::OMDSReader::basicQuery(), l1t::OMDSReader::QueryResults::fillVariable(), L1ObjectKeysOnlineProdBase::m_omdsReader, l1t::OMDSReader::QueryResults::numberRows(), l1t::OMDSReader::QueryResults::queryFailed(), l1t::OMDSReader::singleAttribute(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by fillObjectKeys().

78  {
79 
80  std::string objectKey;
81 
82  if (!subsystemKey.empty()) {
83 
84  // Execute SQL queries to get keys from OMDS.
85 
86  // SELECT L1T_MENU_FK FROM CMS_GT.GT_SETUP WHERE GT_SETUP.ID = MyKey
88  "L1T_MENU_FK", gtSchema, "GT_SETUP", "GT_SETUP.ID", m_omdsReader.singleAttribute(
89  subsystemKey));
90 
91  // check if query was successful
92  if (objectKeyResults.queryFailed()) {
93  edm::LogError("L1-O2O")
94  << "Problem with key for record L1GtTriggerMenuRcd: query failed ";
95  return objectKey;
96  } else if ( ( objectKeyResults.numberRows() != 1 )) {
97  edm::LogError("L1-O2O") << "Problem with key for record L1GtTriggerMenuRcd: "
98  << ( objectKeyResults.numberRows() ) << " rows were returned";
99  return objectKey;
100  }
101 
102  objectKeyResults.fillVariable(objectKey);
103  }
104 
105  return objectKey;
106 
107 }
bool fillVariable(const std::string &columnName, T &outputVariable) const
Definition: OMDSReader.h:311
const QueryResults singleAttribute(const T &data) const
Definition: OMDSReader.h:295
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

Member Data Documentation

bool L1GtTscObjectKeysOnlineProd::m_enableL1GtParameters
private

enable key search for each record

Definition at line 49 of file L1GtTscObjectKeysOnlineProd.h.

Referenced by fillObjectKeys().

bool L1GtTscObjectKeysOnlineProd::m_enableL1GtPsbSetup
private

Definition at line 51 of file L1GtTscObjectKeysOnlineProd.h.

Referenced by fillObjectKeys().

bool L1GtTscObjectKeysOnlineProd::m_enableL1GtTriggerMenu
private

Definition at line 50 of file L1GtTscObjectKeysOnlineProd.h.

Referenced by fillObjectKeys().