CMS 3D CMS Logo

List of all members | Public Member Functions
RCTObjectKeysOnlineProd Class Reference
Inheritance diagram for RCTObjectKeysOnlineProd:
L1ObjectKeysOnlineProdBase edm::ESProducer edm::ESProductResolverFactoryProducer edm::eventsetup::ESProductResolverProvider

Public Member Functions

void fillObjectKeys (FillType pL1TriggerKey) override
 
 RCTObjectKeysOnlineProd (const edm::ParameterSet &)
 
 ~RCTObjectKeysOnlineProd () override
 
- 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 (const ESProducer &)=delete
 
 ESProducer (ESProducer &&)=delete
 
ESResolverIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProduceroperator= (const ESProducer &)=delete
 
ESProduceroperator= (ESProducer &&)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESResolverIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProductResolverFactoryProducer
 ESProductResolverFactoryProducer ()
 
 ESProductResolverFactoryProducer (const ESProductResolverFactoryProducer &)=delete
 
const ESProductResolverFactoryProduceroperator= (const ESProductResolverFactoryProducer &)=delete
 
 ~ESProductResolverFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
void createKeyedResolvers (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
const ComponentDescriptiondescription () const
 
 ESProductResolverProvider ()
 
 ESProductResolverProvider (const ESProductResolverProvider &)=delete
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedResolverskeyedResolvers (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const ESProductResolverProvideroperator= (const ESProductResolverProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~ESProductResolverProvider () noexcept(false)
 

Additional Inherited Members

- Public Types inherited from L1ObjectKeysOnlineProdBase
typedef std::unique_ptr< L1TriggerKey >::pointer FillType
 
typedef std::unique_ptr< L1TriggerKeyReturnType
 
- Static Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProductResolverFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::ESProductResolverProvider
using KeyedResolversVector = std::vector< std::pair< DataKey, std::shared_ptr< ESProductResolver > >>
 
- Protected Member Functions inherited from edm::ESProducer
ESConsumesInfoconsumesInfoPushBackNew ()
 
unsigned int consumesInfoSize () const
 
template<typename CallbackT , typename TList , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
 
template<typename CallbackT , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>, const eventsetup::produce::Null *, const TRecord *, const es::Label &)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TDecorator >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename TFunc >
auto setWhatProduced (TFunc &&func, const es::Label &iLabel={})
 
template<typename TReturn , typename TRecord , typename TFunc , typename TDecorator >
ESConsumesCollectorT< TRecord > setWhatProduced (TFunc &&func, TDecorator &&iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProductResolverFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ESProductResolverFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedResolversVector registerResolvers (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::ESProductResolverProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 
- Protected Attributes inherited from L1ObjectKeysOnlineProdBase
edm::ESGetToken< L1TriggerKey, L1TriggerKeyRcdl1TriggerKeyToken_
 
l1t::OMDSReader m_omdsReader
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 31 of file RCTObjectKeysOnlineProd.cc.

Constructor & Destructor Documentation

◆ RCTObjectKeysOnlineProd()

RCTObjectKeysOnlineProd::RCTObjectKeysOnlineProd ( const edm::ParameterSet iConfig)

Definition at line 53 of file RCTObjectKeysOnlineProd.cc.

54  : L1ObjectKeysOnlineProdBase(iConfig) {}
L1ObjectKeysOnlineProdBase(const edm::ParameterSet &)

◆ ~RCTObjectKeysOnlineProd()

RCTObjectKeysOnlineProd::~RCTObjectKeysOnlineProd ( )
override

Definition at line 56 of file RCTObjectKeysOnlineProd.cc.

56  {
57  // do anything here that needs to be done at desctruction time
58  // (e.g. close files, deallocate resources etc.)
59 }

Member Function Documentation

◆ fillObjectKeys()

void RCTObjectKeysOnlineProd::fillObjectKeys ( FillType  pL1TriggerKey)
overridevirtual

Implements L1ObjectKeysOnlineProdBase.

Definition at line 66 of file RCTObjectKeysOnlineProd.cc.

References l1t::OMDSReader::basicQuery(), gather_cfg::cout, l1t::OMDSReader::QueryResults::fillVariable(), L1TriggerKey::kRCT, L1ObjectKeysOnlineProdBase::m_omdsReader, l1t::OMDSReader::QueryResults::numberRows(), l1t::OMDSReader::QueryResults::queryFailed(), l1t::OMDSReader::singleAttribute(), contentValuesCheck::ss, and AlCaHLTBitMon_QueryRunRegistry::string.

66  {
67  std::string rctKey = pL1TriggerKey->subsystemKey(L1TriggerKey::kRCT);
68 
69  if (!rctKey.empty()) {
70  std::string paremKey, scaleKey, ecalScaleKey, hcalScaleKey;
71  // SELECT RCT_PARAMETER FROM RCT_CONF WHERE RCT_CONF.RCT_KEY = rctKey
73  "RCT_PARAMETER", "CMS_RCT", "RCT_CONF", "RCT_CONF.RCT_KEY", m_omdsReader.singleAttribute(rctKey));
74 
75  if (paremKeyResults.queryFailed() || paremKeyResults.numberRows() != 1) // check query successful
76  {
77  edm::LogError("L1-O2O") << "Problem with RCT Parameter key.";
78  return;
79  }
80 
81  l1t::OMDSReader::QueryResults scaleKeyResults =
82  m_omdsReader.basicQuery("L1T_SCALE_CALO_ET_THRESHOLD_ID",
83  "CMS_RCT",
84  "PAREM_CONF",
85  "PAREM_CONF.PAREM_KEY",
86  paremKeyResults); // not null no need to check
87 
89  "ECAL_CONF", "CMS_RCT", "RCT_CONF", "RCT_CONF.RCT_KEY", m_omdsReader.singleAttribute(rctKey));
90 
91  if (ecalKeyResults.queryFailed() || ecalKeyResults.numberRows() > 1) // check query successful)
92  {
93  edm::LogError("L1-O2O") << "Problem with rct_conf.ecal_conf.";
94  return;
95  }
96  std::string ecalKey;
97  if (!ecalKeyResults.fillVariable(ecalKey))
98  ecalScaleKey = "NULL";
99  else { // fill variable not null
100 
101  if (ecalKey == "NULL")
102  ecalScaleKey = "NULL";
103  else if (ecalKey == "IDENTITY")
104  ecalScaleKey = "IDENTITY";
105  else { // not identity or null
106 
108  "ECAL_LUT_CONFIG_ID", "CMS_RCT", "ECAL_SCALE_KEY", "ECAL_SCALE_KEY.ECAL_TAG", ecalKeyResults);
109 
110  if (ecalScaleKeyResults.queryFailed() || ecalScaleKeyResults.numberRows() > 1) // check query successful)
111  {
112  std::cout << " nrows " << ecalScaleKeyResults.numberRows() << std::endl;
113  edm::LogError("L1-O2O") << "bad results from lut_config_id.";
114  return;
115  }
116  int ecalScaleTemp = -1;
117 
118  ecalScaleKeyResults.fillVariable(ecalScaleTemp);
119 
120  std::stringstream ss;
121  ss << ecalScaleTemp;
122  ecalScaleKey = ss.str();
123  }
124  }
125 
127  "HCAL_CONF", "CMS_RCT", "RCT_CONF", "RCT_CONF.RCT_KEY", m_omdsReader.singleAttribute(rctKey));
128 
129  if (hcalKeyResults.queryFailed() || hcalKeyResults.numberRows() > 1) // check query successful)
130  {
131  edm::LogError("L1-O2O") << "Problem with rct_conf.hcal_conf.";
132  return;
133  }
134  std::string hcalKey;
135  if (!hcalKeyResults.fillVariable(hcalScaleKey))
136  hcalScaleKey = "NULL";
137 
138  paremKeyResults.fillVariable(paremKey);
139  scaleKeyResults.fillVariable(scaleKey);
140 
141  pL1TriggerKey->add("L1RCTParametersRcd", "L1RCTParameters", paremKey);
142  pL1TriggerKey->add("L1EmEtScaleRcd", "L1CaloEtScale", scaleKey);
143  pL1TriggerKey->add("L1CaloEcalScaleRcd", "L1CaloEcalScale", ecalScaleKey);
144  pL1TriggerKey->add("L1CaloHcalScaleRcd", "L1CaloHcalScale", hcalScaleKey);
145  }
146 }
const QueryResults singleAttribute(const T &data) const
Definition: OMDSReader.h:259
Log< level::Error, false > LogError
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
bool fillVariable(const std::string &columnName, T &outputVariable) const
Definition: OMDSReader.h:274