30 class ModuleCallingContext;
87 if (!(*it)->singleProduct())
continue;
89 BranchID branchID = (*it)->branchDescription().branchID();
93 throw cms::Exception(
"BranchIDMissMatch") <<
"While processing " <<
id <<
" request for BranchID " << branchID <<
" returned BranchID " << oh.
desc()->
branchID() <<
"\n";
96 TypeID const& tid((*it)->branchDescription().unwrappedTypeID());
98 (*it)->branchDescription().moduleLabel(),
99 (*it)->branchDescription().productInstanceName(),
100 (*it)->branchDescription().processName(),
108 if(0 != bh.provenance() && bh.provenance()->branchDescription().branchID() != branchID) {
109 throw cms::Exception(
"BranchIDMissMatch") <<
"While processing " <<
id <<
" getByLabel request for " << (*it)->branchDescription().moduleLabel()
110 <<
" '" << (*it)->branchDescription().productInstanceName() <<
"' " << (*it)->branchDescription().processName()
111 <<
"\n should have returned BranchID " << branchID <<
" but returned BranchID " << bh.provenance()->branchDescription().branchID() <<
"\n";
117 std::ostringstream str;
119 check(e, str.str(), mcc);
122 std::ostringstream str;
124 check(l, str.str(), mcc);
127 std::ostringstream str;
129 check(r, str.str(), mcc);
144 descriptions.
add(
"productChecker", desc);
virtual void write(EventPrincipal const &e, edm::ModuleCallingContext const *) override
virtual void writeLuminosityBlock(LuminosityBlockPrincipal const &, edm::ModuleCallingContext const *) override
const_iterator end() const
#define DEFINE_FWK_MODULE(type)
virtual void writeRun(RunPrincipal const &, edm::ModuleCallingContext const *) override
EventID const & id() const
virtual ~GetProductCheckerOutputModule()
BranchID const & branchID() const
static void check(Principal const &p, std::string const &id, edm::ModuleCallingContext const *mcc)
OutputHandle getForOutput(BranchID const &bid, bool getProd, ModuleCallingContext const *mcc) const
const_iterator begin() const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(ConfigurationDescriptions &descriptions)
static void fillDescription(ParameterSetDescription &desc)
boost::filter_iterator< FilledProductPtr, ProductHolderCollection::const_iterator > const_iterator
BasicHandle getByLabel(KindOfType kindOfType, TypeID const &typeID, InputTag const &inputTag, EDConsumerBase const *consumes, ModuleCallingContext const *mcc) const
BranchDescription const * desc() const
GetProductCheckerOutputModule(ParameterSet const &pset)
LuminosityBlockID id() const