343 typedef std::vector<StableProvenance const*> Provenances;
344 Provenances provenances;
346 iEvent.getAllStableProvenance(provenances);
349 LogAbsolute(
"EventContent") <<
"\n" <<
indentation_ <<
"Event " << std::setw(5) <<
evno_ <<
" contains " 350 << provenances.size() <<
" product" << (provenances.size() == 1 ?
"" :
"s")
351 <<
" with friendlyClassName, moduleLabel, productInstanceName and processName:" 356 for(
auto const& provenance : provenances) {
359 const std::string kEndPathStatus(
"edm::EndPathStatus");
360 if(className == kPathStatus || className == kEndPathStatus) {
366 std::string const& modLabel = provenance->moduleLabel();
378 LogAbsolute(
"EventContent") <<
indentation_ << friendlyName
380 <<
"\" \"" << instanceName <<
"\" \"" 381 << processName <<
"\"" 382 <<
" (productId = " << provenance->productID() <<
")" 386 auto const& prov =
iEvent.getProvenance(provenance->branchID());
387 auto const *productProvenance = prov.productProvenance();
388 if(productProvenance) {
389 const bool isAlias = productProvenance->branchID() != provenance->branchID();
391 LogAbsolute(
"EventContent") << prov;
393 aliasForModLabel =
iEvent.getProvenance(productProvenance->branchID()).moduleLabel();
394 LogAbsolute(
"EventContent") <<
"Is an alias for " << aliasForModLabel;
396 ProcessHistory
const *processHistory = prov.processHistoryPtr();
398 for(ProcessConfiguration
const& pc: *processHistory) {
399 if(pc.processName() == prov.processName()) {
402 ParameterSet const* processPset = psetRegistry->getMapped(psetID);
406 LogAbsolute(
"EventContent") <<
"Alias PSet";
408 LogAbsolute(
"EventContent") << processPset->getParameterSet(modLabel);
410 if(isAlias and processPset->existsAs<
ParameterSet>(aliasForModLabel)) {
411 LogAbsolute(
"EventContent") << processPset->getParameterSet(aliasForModLabel);
422 +
std::string(
"\" + \"") + instanceName +
"\" \"" + processName +
"\"";
433 verboseIndentation_);
437 std::string class_and_label = friendlyName +
"_" + modLabel;
444 LogAbsolute(
"EventContent") << startIndent <<
" \"" << className <<
"\"" <<
" is an unknown type" << std::endl;
448 iEvent.getByLabel(InputTag(modLabel,
std::vector< std::string > getModuleLabels_
std::string verboseIndentation_
std::map< std::string, int > cumulates_
std::string friendlyName(std::string const &iFullName)
Hash< ParameterSetType > ParameterSetID
std::vector< std::string > moduleLabels_
bool binary_search_all(ForwardSequence const &s, Datum const &d)
wrappers for std::binary_search
static Registry * instance()
std::string className(const T &t)