156 using namespace edm::eventsetup;
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";
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");
unsigned long long cacheIdentifier() const
T getUntrackedParameter(std::string const &, T const &) const
#define DEFINE_FWK_MODULE(type)
ParameterWildcardBase * addWildcardUntracked(U const &pattern)
const eventsetup::EventSetupRecord * find(const eventsetup::EventSetupRecordKey &) const
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 &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
~EventSetupCacheIdentifierChecker()
heterocontainer::HCTypeTag TypeTag
const TypeTag & type() const
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
virtual void beginRun(edm::Run const &, edm::EventSetup const &) override
void check(edm::EventSetup const &)
static HCTypeTag findType(char const *iTypeName)
find a type based on the types name, if not found will return default HCTypeTag