162 auto pRecord = iSetup.
find(it->first);
164 edm::LogWarning(
"RecordNotInIOV") <<
"The EventSetup Record '"<<it->first.name()<<
"' is not available for this IOV.";
166 if(it->second.size() <=
m_index) {
167 throw cms::Exception(
"TooFewCacheIDs")<<
"The vector of cacheIdentifiers for the record "<<it->first.name()<<
" is too short";
169 if(pRecord && pRecord->cacheIdentifier() != it->second[
m_index]) {
170 throw cms::Exception(
"IncorrectCacheID")<<
"The Record "<<it->first.name()<<
" was supposed to have cacheIdentifier: "<<it->second[
m_index]<<
" but instead has "<<pRecord->cacheIdentifier();
181 for(
auto const&
name: recordNames) {
200 desc.
addWildcardUntracked<std::vector<unsigned int> >(
"*")->setComment(
"The label is the name of an EventSetup Record while the vector contains the expected cacheIdentifier values for each beginRun, beginLuminosityBlock and event transition");
T getUntrackedParameter(std::string const &, T const &) const
~EventSetupCacheIdentifierChecker() override
#define DEFINE_FWK_MODULE(type)
static HCTypeTag findType(char const *iTypeName)
find a type based on the types name, if not found will return default HCTypeTag
ParameterWildcardBase * addWildcardUntracked(U const &pattern)
std::vector< std::string > getParameterNamesForType(bool trackiness=true) const
void addDefault(ParameterSetDescription const &psetDescription)
std::map< eventsetup::EventSetupRecordKey, std::vector< unsigned int > > m_recordKeysToExpectedCacheIdentifiers
EventSetupCacheIdentifierChecker(const edm::ParameterSet &)
std::optional< eventsetup::EventSetupRecordGeneric > find(const eventsetup::EventSetupRecordKey &) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
heterocontainer::HCTypeTag TypeTag
const TypeTag & type() const
void analyze(const edm::Event &, const edm::EventSetup &) override
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void beginRun(edm::Run const &, edm::EventSetup const &) override
void check(edm::EventSetup const &)