Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make EventSetup get to throw if called without a token when EDModule consumed any ES product #31746

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions FWCore/Framework/interface/EDConsumerBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,8 @@ namespace edm {
return esRecordsToGetFromTransition_[static_cast<unsigned int>(iTrans)];
}

bool esAnyConsumed() const { return m_esTokenInfo.size() != 0; }

protected:
friend class ConsumesCollector;
template <Transition Tr>
Expand Down
15 changes: 9 additions & 6 deletions FWCore/Framework/src/EDAnalyzer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ namespace edm {
e.setConsumer(this);
e.setSharedResourcesAcquirer(&resourceAcquirer_);
EventSignalsSentry sentry(act, mcc);
const EventSetup c{info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), false};
const EventSetup c{
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), esAnyConsumed()};
this->analyze(e, c);
return true;
}
Expand All @@ -50,8 +51,10 @@ namespace edm {
bool EDAnalyzer::doBeginRun(RunTransitionInfo const& info, ModuleCallingContext const* mcc) {
Run r(info, moduleDescription_, mcc, false);
r.setConsumer(this);
const EventSetup c{
info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginRun),
esGetTokenIndices(Transition::BeginRun),
esAnyConsumed()};
this->beginRun(r, c);
return true;
}
Expand All @@ -60,7 +63,7 @@ namespace edm {
Run r(info, moduleDescription_, mcc, true);
r.setConsumer(this);
const EventSetup c{
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), esAnyConsumed()};
this->endRun(r, c);
return true;
}
Expand All @@ -71,7 +74,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginLuminosityBlock),
esGetTokenIndices(Transition::BeginLuminosityBlock),
false};
esAnyConsumed()};
this->beginLuminosityBlock(lb, c);
return true;
}
Expand All @@ -82,7 +85,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::EndLuminosityBlock),
esGetTokenIndices(Transition::EndLuminosityBlock),
false};
esAnyConsumed()};
this->endLuminosityBlock(lb, c);
return true;
}
Expand Down
15 changes: 9 additions & 6 deletions FWCore/Framework/src/EDProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ namespace edm {
e.setProducer(this, &previousParentage_);
e.setSharedResourcesAcquirer(&resourceAcquirer_);
EventSignalsSentry sentry(act, mcc);
const EventSetup c{info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), false};
const EventSetup c{
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), esAnyConsumed()};
this->produce(e, c);
commit_(e, &previousParentageId_);
return true;
Expand All @@ -47,8 +48,10 @@ namespace edm {
Run r(info, moduleDescription_, mcc, false);
r.setConsumer(this);
Run const& cnstR = r;
const EventSetup c{
info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginRun),
esGetTokenIndices(Transition::BeginRun),
esAnyConsumed()};
this->beginRun(cnstR, c);
commit_(r);
}
Expand All @@ -58,7 +61,7 @@ namespace edm {
r.setConsumer(this);
Run const& cnstR = r;
const EventSetup c{
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), esAnyConsumed()};
this->endRun(cnstR, c);
commit_(r);
}
Expand All @@ -70,7 +73,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginLuminosityBlock),
esGetTokenIndices(Transition::BeginLuminosityBlock),
false};
esAnyConsumed()};
this->beginLuminosityBlock(cnstLb, c);
commit_(lb);
}
Expand All @@ -81,7 +84,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::EndLuminosityBlock),
esGetTokenIndices(Transition::EndLuminosityBlock),
false};
esAnyConsumed()};
LuminosityBlock const& cnstLb = lb;
this->endLuminosityBlock(cnstLb, c);
commit_(lb);
Expand Down
26 changes: 15 additions & 11 deletions FWCore/Framework/src/global/EDAnalyzerBase.cc
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ namespace edm {
e.setConsumer(this);
EventSignalsSentry sentry(act, mcc);
const EventSetup c{
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), false};
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), esAnyConsumed()};
this->analyze(e.streamID(), e, c);
return true;
}
Expand Down Expand Up @@ -96,8 +96,10 @@ namespace edm {
Run r(info, moduleDescription_, mcc, false);
r.setConsumer(this);
Run const& cnstR = r;
const EventSetup c{
info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginRun),
esGetTokenIndices(Transition::BeginRun),
esAnyConsumed()};
this->doBeginRun_(cnstR, c);
this->doBeginRunSummary_(cnstR, c);
}
Expand All @@ -107,7 +109,7 @@ namespace edm {
r.setConsumer(this);
Run const& cnstR = r;
const EventSetup c{
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), esAnyConsumed()};
this->doEndRunSummary_(r, c);
this->doEndRun_(cnstR, c);
}
Expand All @@ -119,7 +121,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginLuminosityBlock),
esGetTokenIndices(Transition::BeginLuminosityBlock),
false};
esAnyConsumed()};
this->doBeginLuminosityBlock_(cnstLb, c);
this->doBeginLuminosityBlockSummary_(cnstLb, c);
}
Expand All @@ -131,7 +133,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::EndLuminosityBlock),
esGetTokenIndices(Transition::EndLuminosityBlock),
false};
esAnyConsumed()};
this->doEndLuminosityBlockSummary_(cnstLb, c);
this->doEndLuminosityBlock_(cnstLb, c);
}
Expand All @@ -141,15 +143,17 @@ namespace edm {
void EDAnalyzerBase::doStreamBeginRun(StreamID id, RunTransitionInfo const& info, ModuleCallingContext const* mcc) {
Run r(info, moduleDescription_, mcc, false);
r.setConsumer(this);
const EventSetup c{
info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginRun),
esGetTokenIndices(Transition::BeginRun),
esAnyConsumed()};
this->doStreamBeginRun_(id, r, c);
}
void EDAnalyzerBase::doStreamEndRun(StreamID id, RunTransitionInfo const& info, ModuleCallingContext const* mcc) {
Run r(info, moduleDescription_, mcc, true);
r.setConsumer(this);
const EventSetup c{
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), esAnyConsumed()};
this->doStreamEndRun_(id, r, c);
this->doStreamEndRunSummary_(id, r, c);
}
Expand All @@ -161,7 +165,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginLuminosityBlock),
esGetTokenIndices(Transition::BeginLuminosityBlock),
false};
esAnyConsumed()};
this->doStreamBeginLuminosityBlock_(id, lb, c);
}

Expand All @@ -173,7 +177,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::EndLuminosityBlock),
esGetTokenIndices(Transition::EndLuminosityBlock),
false};
esAnyConsumed()};
this->doStreamEndLuminosityBlock_(id, lb, c);
this->doStreamEndLuminosityBlockSummary_(id, lb, c);
}
Expand Down
28 changes: 16 additions & 12 deletions FWCore/Framework/src/global/EDFilterBase.cc
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ namespace edm {
this, &previousParentages_[streamIndex], hasAcquire() ? &gotBranchIDsFromAcquire_[streamIndex] : nullptr);
EventSignalsSentry sentry(act, mcc);
const EventSetup c{
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), false};
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), esAnyConsumed()};
bool returnValue = this->filter(e.streamID(), e, c);
commit_(e, &previousParentageIds_[streamIndex]);
return returnValue;
Expand All @@ -76,7 +76,7 @@ namespace edm {
e.setProducerForAcquire(this, nullptr, gotBranchIDsFromAcquire_[streamIndex]);
EventAcquireSignalsSentry sentry(act, mcc);
const EventSetup c{
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), false};
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), esAnyConsumed()};
this->doAcquire_(e.streamID(), e, c, holder);
}

Expand Down Expand Up @@ -128,8 +128,10 @@ namespace edm {
Run r(info, moduleDescription_, mcc, false);
r.setConsumer(this);
Run const& cnstR = r;
const EventSetup c{
info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginRun),
esGetTokenIndices(Transition::BeginRun),
esAnyConsumed()};
this->doBeginRun_(cnstR, c);
this->doBeginRunSummary_(cnstR, c);
r.setProducer(this);
Expand All @@ -143,7 +145,7 @@ namespace edm {
r.setProducer(this);
Run const& cnstR = r;
const EventSetup c{
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), esAnyConsumed()};
this->doEndRunSummary_(r, c);
this->doEndRunProduce_(r, c);
this->doEndRun_(cnstR, c);
Expand All @@ -157,7 +159,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginLuminosityBlock),
esGetTokenIndices(Transition::BeginLuminosityBlock),
false};
esAnyConsumed()};
this->doBeginLuminosityBlock_(cnstLb, c);
this->doBeginLuminosityBlockSummary_(cnstLb, c);
lb.setProducer(this);
Expand All @@ -173,7 +175,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::EndLuminosityBlock),
esGetTokenIndices(Transition::EndLuminosityBlock),
false};
esAnyConsumed()};
this->doEndLuminosityBlockSummary_(cnstLb, c);
this->doEndLuminosityBlockProduce_(lb, c);
this->doEndLuminosityBlock_(cnstLb, c);
Expand All @@ -185,15 +187,17 @@ namespace edm {
void EDFilterBase::doStreamBeginRun(StreamID id, RunTransitionInfo const& info, ModuleCallingContext const* mcc) {
Run r(info, moduleDescription_, mcc, false);
r.setConsumer(this);
const EventSetup c{
info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginRun),
esGetTokenIndices(Transition::BeginRun),
esAnyConsumed()};
this->doStreamBeginRun_(id, r, c);
}
void EDFilterBase::doStreamEndRun(StreamID id, RunTransitionInfo const& info, ModuleCallingContext const* mcc) {
Run r(info, moduleDescription_, mcc, true);
r.setConsumer(this);
const EventSetup c{
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), esAnyConsumed()};
this->doStreamEndRun_(id, r, c);
this->doStreamEndRunSummary_(id, r, c);
}
Expand All @@ -205,7 +209,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginLuminosityBlock),
esGetTokenIndices(Transition::BeginLuminosityBlock),
false};
esAnyConsumed()};
this->doStreamBeginLuminosityBlock_(id, lb, c);
}

Expand All @@ -217,7 +221,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::EndLuminosityBlock),
esGetTokenIndices(Transition::EndLuminosityBlock),
false};
esAnyConsumed()};
this->doStreamEndLuminosityBlock_(id, lb, c);
this->doStreamEndLuminosityBlockSummary_(id, lb, c);
}
Expand Down
31 changes: 17 additions & 14 deletions FWCore/Framework/src/global/EDProducerBase.cc
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ namespace edm {
e.setProducerForAcquire(this, nullptr, gotBranchIDsFromAcquire_[streamIndex]);
EventAcquireSignalsSentry sentry(act, mcc);
const EventSetup c{
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), false};
info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), esAnyConsumed()};
this->doAcquire_(e.streamID(), e, c, holder);
}

Expand Down Expand Up @@ -133,8 +133,10 @@ namespace edm {
Run r(info, moduleDescription_, mcc, false);
r.setConsumer(this);
Run const& cnstR = r;
const EventSetup c{
info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginRun),
esGetTokenIndices(Transition::BeginRun),
esAnyConsumed()};
this->doBeginRun_(cnstR, c);
this->doBeginRunSummary_(cnstR, c);
r.setProducer(this);
Expand All @@ -148,7 +150,7 @@ namespace edm {
r.setProducer(this);
Run const& cnstR = r;
const EventSetup c{
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), esAnyConsumed()};
this->doEndRunSummary_(r, c);
this->doEndRunProduce_(r, c);
this->doEndRun_(cnstR, c);
Expand All @@ -162,7 +164,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::BeginLuminosityBlock),
esGetTokenIndices(Transition::BeginLuminosityBlock),
false};
esAnyConsumed()};
this->doBeginLuminosityBlock_(cnstLb, c);
this->doBeginLuminosityBlockSummary_(cnstLb, c);
lb.setProducer(this);
Expand All @@ -178,7 +180,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::EndLuminosityBlock),
esGetTokenIndices(Transition::EndLuminosityBlock),
false};
esAnyConsumed()};
this->doEndLuminosityBlockSummary_(cnstLb, c);
this->doEndLuminosityBlockProduce_(lb, c);
this->doEndLuminosityBlock_(cnstLb, c);
Expand All @@ -190,17 +192,18 @@ namespace edm {
void EDProducerBase::doStreamBeginRun(StreamID id, RunTransitionInfo const& info, ModuleCallingContext const* mcc) {
Run r(info, moduleDescription_, mcc, false);
r.setConsumer(this);
this->doStreamBeginRun_(
id,
r,
EventSetup{
info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false});
this->doStreamBeginRun_(id,
r,
EventSetup{info,
static_cast<unsigned int>(Transition::BeginRun),
esGetTokenIndices(Transition::BeginRun),
esAnyConsumed()});
}
void EDProducerBase::doStreamEndRun(StreamID id, RunTransitionInfo const& info, ModuleCallingContext const* mcc) {
Run r(info, moduleDescription_, mcc, true);
r.setConsumer(this);
const EventSetup c{
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), esAnyConsumed()};
this->doStreamEndRun_(id, r, c);
this->doStreamEndRunSummary_(id, r, c);
}
Expand All @@ -214,7 +217,7 @@ namespace edm {
EventSetup{info,
static_cast<unsigned int>(Transition::BeginLuminosityBlock),
esGetTokenIndices(Transition::BeginLuminosityBlock),
false});
esAnyConsumed()});
}

void EDProducerBase::doStreamEndLuminosityBlock(StreamID id,
Expand All @@ -225,7 +228,7 @@ namespace edm {
const EventSetup c{info,
static_cast<unsigned int>(Transition::EndLuminosityBlock),
esGetTokenIndices(Transition::EndLuminosityBlock),
false};
esAnyConsumed()};
this->doStreamEndLuminosityBlock_(id, lb, c);
this->doStreamEndLuminosityBlockSummary_(id, lb, c);
}
Expand Down
Loading