26 using coral::AttributeList;
83 auto ptrResult = std::make_unique<L1MuGMTParameters>();
85 std::vector<std::string> resultColumns = helper.
getColumnList();
86 resultColumns.push_back(
"CMSSW_VERSION");
94 "GMT_SOFTWARE_CONFIG",
96 "GMT_SOFTWARE_CONFIG.KEY",
98 m_omdsReader.singleAttribute(objectKey));
101 const AttributeList& resultRecord = resultLines.
attributeLists().front();
102 checkCMSSWVersion(resultRecord);
107 throw cond::Exception(
"Couldn't find GMT_SOFTWARE_CONFIG record for GMT key `" + objectKey +
"'");
111 const coral::Attribute&
version = configRecord[
"CMSSW_VERSION"];
114 if (version.isNull()) {
115 edm::LogInfo(
"No CMSSW version set in database, accepting " PROJECT_VERSION);
120 const std::string& versionString = version.data<
string>();
123 if (versionString != PROJECT_VERSION) {
125 "CMSSW version mismatch: Configuration requires " + versionString +
", but this is " + PROJECT_VERSION +
"!";
127 if (ignoreVersionMismatch_) {
128 edm::LogWarning(errMsg +
" (will continue because ignoreVersionMismatch is set)");
persistency::Exception Exception
virtual void extractRecord(const AttributeList &source, TOutput &dest)
bool ignoreVersionMismatch_
~L1MuGMTParametersOnlineProducer() override
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
const std::vector< coral::AttributeList > & attributeLists() const
#define RH_ASSIGN_GROUP(TOutput, TGroup)
#define ADD_FIELD(HELPER, OUTPUT_NAME, FIELD_NAME)
Log< level::Info, false > LogInfo
L1MuGMTParametersOnlineProducer(const edm::ParameterSet &)
T getParameter(std::string const &) const
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
virtual std::vector< std::string > getColumnList()
Log< level::Warning, false > LogWarning
void checkCMSSWVersion(const coral::AttributeList &configRecord)