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);
103 helper.extractRecord(resultRecord, *ptrResult);
107 throw cond::Exception(
"Couldn't find GMT_SOFTWARE_CONFIG record for GMT key `" + objectKey +
"'");
111 const coral::Attribute&
version = configRecord[
"CMSSW_VERSION"];
115 edm::LogInfo(
"No CMSSW version set in database, accepting " PROJECT_VERSION);
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
T getParameter(std::string const &) const
MergeMethodISOSpecialUseANDFwd
bool ignoreVersionMismatch_
~L1MuGMTParametersOnlineProducer() override
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
#define RH_ASSIGN_GROUP(TOutput, TGroup)
const std::vector< coral::AttributeList > & attributeLists() const
#define ADD_FIELD(HELPER, OUTPUT_NAME, FIELD_NAME)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Log< level::Info, false > LogInfo
MergeMethodMIPSpecialUseANDBrl
L1MuGMTParametersOnlineProducer(const edm::ParameterSet &)
MergeMethodMIPSpecialUseANDFwd
MergeMethodISOSpecialUseANDBrl
Log< level::Warning, false > LogWarning
void checkCMSSWVersion(const coral::AttributeList &configRecord)