47 virtual void endJob()
override;
50 std::vector<edm::EventID>
ids_;
70 ids_(iConfig.getUntrackedParameter<
std::vector<
edm::EventID> >(
"eventSequence")),
94 struct CompareWithoutLumi {
95 CompareWithoutLumi(
edm::EventID const& iThis) : m_this(iThis) {
98 return m_this.run() == iOther.
run() && m_this.event() == iOther.
event();
111 std::vector<edm::EventID>::iterator itFind= std::find_if(
ids_.begin()+
index_,
ids_.end(), CompareWithoutLumi(iEvent.
id()));
112 if(itFind ==
ids_.end()) {
113 throw cms::Exception(
"MissedEvent") <<
"The event " << iEvent.
id() <<
"is not in the list.\n";
121 throw cms::Exception(
"TooManyEvents") <<
"Was passes " <<
ids_.size() <<
" EventIDs but have processed more events than that\n";
143 desc.
addUntracked<std::vector<edm::EventID> >(
"eventSequence");
144 desc.
addUntracked<
unsigned int>(
"multiProcessSequentialEvents", 0
U);
145 descriptions.
add(
"eventIDChecker", desc);
EventNumber_t event() const
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
#define DEFINE_FWK_MODULE(type)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
unsigned int multiProcessSequentialEvents_
virtual void analyze(edm::Event const &, edm::EventSetup const &) override
std::vector< edm::EventID > ids_
unsigned int numberOfEventsLeftBeforeSearch_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
EventIDChecker(edm::ParameterSet const &)
virtual void endJob() override
virtual void beginJob() override