355 auto beginModuleAlloc =
now();
358 if (iFileName.empty()) {
362 auto logFile = std::make_shared<edm::ThreadSafeOutputFileStream>(iFileName);
364 auto beginTime = TimingServiceBase::jobStartTime();
366 auto esModuleLabelsPtr = std::make_shared<std::vector<std::string>>();
367 auto& esModuleLabels = *esModuleLabelsPtr;
370 if (esModuleLabels.size() <= iDescription.id_ + 1) {
371 esModuleLabels.resize(iDescription.id_ + 2);
374 if (not iDescription.label_.empty()) {
375 esModuleLabels[iDescription.id_ + 1] = iDescription.label_;
377 esModuleLabels[iDescription.id_ + 1] = iDescription.type_;
380 auto moduleCtrDtrPtr = std::make_shared<std::vector<ModuleCtrDtr>>();
381 auto& moduleCtrDtr = *moduleCtrDtrPtr;
382 auto moduleLabelsPtr = std::make_shared<std::vector<std::string>>();
383 auto& moduleLabels = *moduleLabelsPtr;
385 [&moduleLabels, &moduleCtrDtr, beginTime, iFilter](
ModuleDescription const& md) {
386 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
388 auto const mid = md.
id();
389 if (mid < moduleLabels.size()) {
391 moduleCtrDtr[mid].beginConstruction =
t;
393 moduleLabels.resize(mid + 1);
395 moduleCtrDtr.resize(mid + 1);
396 moduleCtrDtr.back().beginConstruction =
t;
398 iFilter->startOnThread(mid);
401 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
402 moduleCtrDtr[md.
id()].endConstruction =
t;
403 auto alloc = iFilter->stopOnThread(md.
id());
405 moduleCtrDtr[md.
id()].constructionAllocInfo = *alloc;
409 auto addDataInDtr = std::make_shared<bool>(
false);
411 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
413 if (iFilter->keepModuleInfo(md.
id())) {
414 auto bmsg = assembleMessage<Step::preModuleTransition>(
415 static_cast<std::underlying_type_t<Phase>
>(Phase::destruction), 0, md.
id(), 0, 0, 0,
t);
419 moduleCtrDtr[md.
id()].beginDestruction =
t;
421 iFilter->startOnThread(md.
id());
424 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
425 if (not *addDataInDtr) {
426 moduleCtrDtr[md.
id()].endDestruction =
t;
428 auto info = iFilter->stopOnThread(md.
id());
431 if (iFilter->keepModuleInfo(md.
id())) {
432 auto emsg = assembleAllocMessage<Step::postModuleTransition>(
433 *
info,
static_cast<std::underlying_type_t<Phase>
>(Phase::destruction), 0, md.
id(), 0, 0, 0,
t);
438 moduleCtrDtr[md.
id()].destructionAllocInfo = *
info;
443 auto sourceCtrPtr = std::make_shared<ModuleCtrDtr>();
444 auto& sourceCtr = *sourceCtrPtr;
446 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
447 sourceCtr.beginConstruction =
t;
448 iFilter->startOnThread();
451 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
452 sourceCtr.endConstruction =
t;
453 auto info = iFilter->stopOnThread();
455 sourceCtr.constructionAllocInfo = *
info;
459 auto recordIndices = std::make_shared<std::vector<std::type_index>>();
461 [
logFile, recordIndices](
auto const& recordsToResolvers,
auto const&)
mutable {
462 std::ostringstream oss;
464 auto recordKeys = recordsToResolvers.recordKeys();
465 std::sort(recordKeys.begin(), recordKeys.end());
466 std::vector<std::string> recordNames;
468 recordNames.reserve(recordKeys.size() + 1);
469 recordNames.emplace_back(
"");
470 recordIndices->reserve(recordKeys.size() + 1);
471 recordIndices->push_back(std::type_index(
typeid(
void)));
472 for (
auto const&
r : recordKeys) {
473 recordNames.push_back(
r.name());
474 recordIndices->push_back(std::type_index(
r.type().value()));
489 addDataInDtr](
auto&,
auto&)
mutable {
490 *addDataInDtr =
true;
492 std::ostringstream oss;
493 moduleIdToLabel(oss, *moduleLabelsPtr,
'M',
"EDModule ID",
"Module label");
495 moduleLabelsPtr.reset();
498 std::ostringstream oss;
499 moduleIdToLabel(oss, *esModuleLabelsPtr,
'N',
"ESModule ID",
"ESModule label");
501 esModuleLabelsPtr.reset();
504 auto const moduleAllocStart = duration_cast<duration_t>(beginModuleAlloc - beginTime).
count();
505 auto msg = assembleMessage<Step::preFrameworkTransition>(
506 static_cast<std::underlying_type_t<Phase>
>(Phase::startTracing), 0, 0, 0, 0, moduleAllocStart);
509 if (not iFilter->globalKeep()) {
510 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
511 auto msg = assembleMessage<Step::preFrameworkTransition>(
512 static_cast<std::underlying_type_t<Phase>
>(
Phase::beginJob), 0, 0, 0, 0,
t);
518 auto srcBeginConstruction = sourceCtrPtr->beginConstruction;
519 auto srcEndConstruction = sourceCtrPtr->endConstruction;
520 auto srcAllocInfo = sourceCtrPtr->constructionAllocInfo;
521 sourceCtrPtr.reset();
523 [&srcBeginConstruction, &srcEndConstruction, &
logFile, &srcAllocInfo](
long long iTime)
mutable {
524 if (srcBeginConstruction != 0 and srcBeginConstruction < iTime) {
525 auto bmsg = assembleMessage<Step::preSourceTransition>(
526 static_cast<std::underlying_type_t<Phase>
>(Phase::construction), 0, srcBeginConstruction);
528 srcBeginConstruction = 0;
530 if (srcEndConstruction != 0 and srcEndConstruction < iTime) {
531 auto bmsg = assembleAllocMessage<Step::postSourceTransition>(
532 srcAllocInfo,
static_cast<std::underlying_type_t<Phase>
>(Phase::construction), 0, srcEndConstruction);
534 srcEndConstruction = 0;
538 std::sort(moduleCtrDtrPtr->begin(), moduleCtrDtrPtr->end(), [](
auto const&
l,
auto const&
r) {
539 return l.beginConstruction <
r.beginConstruction;
542 for (
auto const&
ctr : *moduleCtrDtrPtr) {
543 if (
ctr.beginConstruction != 0) {
544 handleSource(
ctr.beginConstruction);
545 if (iFilter->keepModuleInfo(
id)) {
546 auto bmsg = assembleMessage<Step::preModuleTransition>(
547 static_cast<std::underlying_type_t<Phase>
>(Phase::construction), 0,
id, 0,
ctr.beginConstruction);
550 handleSource(
ctr.endConstruction);
551 if (iFilter->keepModuleInfo(
id)) {
552 auto const& allocInfo =
ctr.constructionAllocInfo;
553 auto emsg = assembleAllocMessage<Step::postModuleTransition>(
555 static_cast<std::underlying_type_t<Phase>
>(Phase::construction),
559 ctr.endConstruction);
566 std::sort(moduleCtrDtrPtr->begin(), moduleCtrDtrPtr->end(), [](
auto const&
l,
auto const&
r) {
567 return l.beginDestruction <
r.beginDestruction;
569 for (
auto const& dtr : *moduleCtrDtrPtr) {
570 if (dtr.beginDestruction != 0) {
571 handleSource(dtr.beginDestruction);
572 if (iFilter->keepModuleInfo(
id)) {
573 auto bmsg = assembleMessage<Step::preModuleTransition>(
574 static_cast<std::underlying_type_t<Phase>
>(Phase::destruction), 0,
id, 0, 0, 0, dtr.beginDestruction);
577 handleSource(dtr.endDestruction);
578 if (iFilter->keepModuleInfo(
id)) {
579 auto emsg = assembleAllocMessage<Step::postModuleTransition>(
580 dtr.destructionAllocInfo,
581 static_cast<std::underlying_type_t<Phase>
>(Phase::destruction),
593 moduleCtrDtrPtr.reset();
595 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
597 auto msg = assembleMessage<Step::preFrameworkTransition>(
598 static_cast<std::underlying_type_t<Phase>
>(
Phase::beginJob), 0, 0, 0, 0,
t);
602 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
603 auto msg = assembleMessage<Step::postFrameworkTransition>(
604 static_cast<std::underlying_type_t<Phase>
>(
Phase::beginJob), 0, 0, 0, 0,
t);
609 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
610 auto msg = assembleMessage<Step::preFrameworkTransition>(
611 static_cast<std::underlying_type_t<Phase>
>(Phase::endJob), 0, 0, 0, 0,
t);
615 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
616 auto msg = assembleMessage<Step::postFrameworkTransition>(
617 static_cast<std::underlying_type_t<Phase>
>(Phase::endJob), 0, 0, 0, 0,
t);
622 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
623 auto msg = assembleMessage<Step::preFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::Event),
626 sc.eventID().luminosityBlock(),
627 sc.eventID().event(),
632 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
634 assembleMessage<Step::postFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::Event),
637 sc.eventID().luminosityBlock(),
638 sc.eventID().event(),
644 if (iFilter->startOnThread()) {
645 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
647 assembleMessage<Step::preFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::clearEvent),
650 sc.eventID().luminosityBlock(),
651 sc.eventID().event(),
657 auto info = iFilter->stopOnThread();
659 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
660 auto msg = assembleAllocMessage<Step::postFrameworkTransition>(
662 static_cast<std::underlying_type_t<Phase>
>(Phase::clearEvent),
665 sc.eventID().luminosityBlock(),
666 sc.eventID().event(),
674 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
675 auto msg = assembleMessage<Step::preFrameworkTransition>(toTransition(gc),
676 toTransitionIndex(gc),
677 gc.luminosityBlockID().run(),
678 gc.luminosityBlockID().luminosityBlock(),
696 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
697 auto msg = assembleMessage<Step::postFrameworkTransition>(toTransition(gc),
698 toTransitionIndex(gc),
699 gc.luminosityBlockID().run(),
700 gc.luminosityBlockID().luminosityBlock(),
718 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
719 auto msg = assembleMessage<Step::preFrameworkTransition>(
720 toTransition(sc),
stream_id(sc), sc.eventID().run(), sc.eventID().luminosityBlock(), 0,
t);
730 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
731 auto msg = assembleMessage<Step::postFrameworkTransition>(
732 toTransition(sc),
stream_id(sc), sc.eventID().run(), sc.eventID().luminosityBlock(), 0,
t);
742 if (iFilter->startOnThread()) {
743 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
744 auto msg = assembleMessage<Step::preSourceTransition>(
745 static_cast<std::underlying_type_t<Phase>
>(Phase::openFile), 0,
t);
750 auto info = iFilter->stopOnThread();
752 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
753 auto msg = assembleAllocMessage<Step::postSourceTransition>(
754 *
info,
static_cast<std::underlying_type_t<Phase>
>(Phase::openFile), 0,
t);
759 if (iFilter->startOnThread()) {
760 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
761 auto msg = assembleMessage<Step::preSourceTransition>(
762 static_cast<std::underlying_type_t<Phase>
>(Phase::Event),
id.
value(),
t);
767 auto info = iFilter->stopOnThread();
769 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
770 auto msg = assembleAllocMessage<Step::postSourceTransition>(
771 *
info,
static_cast<std::underlying_type_t<Phase>
>(Phase::Event),
id.
value(),
t);
777 if (iFilter->startOnThread()) {
778 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
779 auto msg = assembleMessage<Step::preSourceTransition>(
780 static_cast<std::underlying_type_t<Phase>
>(Phase::globalBeginRun),
id.
value(),
t);
785 auto info = iFilter->stopOnThread();
787 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
788 auto msg = assembleAllocMessage<Step::postSourceTransition>(
789 *
info,
static_cast<std::underlying_type_t<Phase>
>(Phase::globalBeginRun),
id.
value(),
t);
795 if (iFilter->startOnThread()) {
796 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
797 auto msg = assembleMessage<Step::preSourceTransition>(
798 static_cast<std::underlying_type_t<Phase>
>(Phase::globalBeginLumi),
id.
value(),
t);
803 auto info = iFilter->stopOnThread();
805 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
806 auto msg = assembleAllocMessage<Step::postSourceTransition>(
807 *
info,
static_cast<std::underlying_type_t<Phase>
>(Phase::globalBeginLumi),
id.
value(),
t);
813 if (iFilter->startOnThread()) {
814 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
815 auto msg = assembleMessage<Step::preSourceTransition>(
816 static_cast<std::underlying_type_t<Phase>
>(Phase::getNextTransition),
t);
821 auto info = iFilter->stopOnThread();
823 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
824 auto msg = assembleAllocMessage<Step::postSourceTransition>(
825 *
info,
static_cast<std::underlying_type_t<Phase>
>(Phase::getNextTransition),
t);
832 if (iFilter->startOnThread(md.
id())) {
833 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
834 auto msg = assembleMessage<Step::preModuleTransition>(
840 auto info = iFilter->stopOnThread(md.
id());
842 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
843 auto msg = assembleAllocMessage<Step::postModuleTransition>(
851 StreamEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
857 if (iFilter->startOnThread(md.
id())) {
858 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
859 auto msg = assembleMessage<Step::preModuleTransition>(
860 static_cast<std::underlying_type_t<Phase>
>(Phase::endJob), 0, md.
id(), 0,
t);
865 auto info = iFilter->stopOnThread(md.
id());
867 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
868 auto msg = assembleAllocMessage<Step::postModuleTransition>(
869 *
info,
static_cast<std::underlying_type_t<Phase>
>(Phase::endJob), 0, md.
id(), 0,
t);
877 StreamEDModuleState<Step::preModuleEventAcquire>(
logFile, beginTime, iFilter));
879 StreamEDModuleState<Step::postModuleEventAcquire>(
logFile, beginTime, iFilter));
881 StreamEDModuleState<Step::preModuleEventDelayedGet>(
logFile, beginTime, iFilter));
883 StreamEDModuleState<Step::postModuleEventDelayedGet>(
logFile, beginTime, iFilter));
885 StreamEDModuleState<Step::preEventReadFromSource>(
logFile, beginTime, iFilter));
887 StreamEDModuleState<Step::postEventReadFromSource>(
logFile, beginTime, iFilter));
892 StreamEDModuleState<Step::preModuleEventAcquire>(
logFile, beginTime, iFilter));
894 StreamEDModuleState<Step::postModuleEventAcquire>(
logFile, beginTime, iFilter));
897 StreamEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
899 StreamEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
902 StreamEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
905 StreamEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
907 StreamEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
909 StreamEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
911 StreamEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
914 GlobalEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
916 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
918 GlobalEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
920 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
922 GlobalEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
924 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
927 GlobalEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
929 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
932 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
935 GlobalEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
937 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
939 GlobalEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
941 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
944 GlobalEDModuleState<Step::preModuleTransition>(
logFile, beginTime, iFilter));
946 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime, iFilter));
958 ESModuleState<Step::preESModuleAcquire>(
logFile, beginTime, recordIndices, iFilter));
960 ESModuleState<Step::postESModuleAcquire>(
logFile, beginTime, recordIndices, iFilter));
963 std::ostringstream oss;
964 oss <<
"# Transition Type Symbol\n";
965 oss <<
"#------------------------ ------\n";
966 oss <<
"# startTracing " << Phase::startTracing <<
"\n" 967 <<
"# construction " << Phase::construction <<
"\n" 968 <<
"# getNextTransition " << Phase::getNextTransition <<
"\n" 970 <<
"# beginStream " << Phase::beginStream <<
"\n" 971 <<
"# openFile " << Phase::openFile <<
"\n" 972 <<
"# beginProcessBlock " << Phase::beginProcessBlock <<
"\n" 973 <<
"# accessInputProcessBlock " << Phase::accessInputProcessBlock <<
"\n" 974 <<
"# globalBeginRun " << Phase::globalBeginRun <<
"\n" 975 <<
"# streamBeginRun " << Phase::streamBeginRun <<
"\n" 976 <<
"# globalBeginLumi " << Phase::globalBeginLumi <<
"\n" 977 <<
"# streamBeginLumi " << Phase::streamBeginLumi <<
"\n" 978 <<
"# Event " << Phase::Event <<
"\n" 979 <<
"# clearEvent " << Phase::clearEvent <<
"\n" 980 <<
"# streamEndLumi " << Phase::streamEndLumi <<
"\n" 981 <<
"# globalEndLumi " << Phase::globalEndLumi <<
"\n" 982 <<
"# globalWriteLumi " << Phase::globalWriteLumi <<
"\n" 983 <<
"# streamEndRun " << Phase::streamEndRun <<
"\n" 984 <<
"# globalEndRun " << Phase::globalEndRun <<
"\n" 985 <<
"# globalWriteRun " << Phase::globalWriteRun <<
"\n" 986 <<
"# endProcessBlock " << Phase::endProcessBlock <<
"\n" 987 <<
"# writeProcessBlock " << Phase::writeProcessBlock <<
"\n" 988 <<
"# endStream " << Phase::endStream <<
"\n" 989 <<
"# endJob " << Phase::endJob <<
"\n" 990 <<
"# destruction " << Phase::destruction <<
"\n\n";
991 constexpr std::string_view kTransition =
" <Transition type> <Transition ID>";
992 constexpr std::string_view kTransitionInfo =
" <Run #> <LumiBlock #> <Event #>";
993 constexpr std::string_view
kTime =
" <Time since begin of cmsRun (us)>";
994 constexpr std::string_view kEDModule =
" <EDModule ID> <Call ID>";
995 constexpr std::string_view kESModule =
" <ESModule ID> <Record ID> <Call ID>";
997 " <# allocs> <# deallocs> <additional bytes> <min bytes> <max bytes> <max allocation bytes>";
999 oss <<
"# Step Symbol Entries\n" 1000 <<
"# -------------------------- ------ ------------------------------------------\n" 1001 <<
"# preSourceTransition " << Step::preSourceTransition << kTransition <<
kTime <<
"\n" 1002 <<
"# postSourceTransition " << Step::postSourceTransition << kTransition <<
kTime <<
" " << kAllocInfo
1004 <<
"# preModuleEventAcquire " << Step::preModuleEventAcquire << kTransition << kEDModule <<
kTime 1006 <<
"# postModuleEventAcquire " << Step::postModuleEventAcquire << kTransition << kEDModule <<
kTime 1007 << kAllocInfo <<
"\n" 1008 <<
"# preModuleTransition " << Step::preModuleTransition << kTransition << kEDModule <<
kTime <<
"\n" 1009 <<
"# preEventReadFromSource " << Step::preEventReadFromSource << kTransition << kEDModule <<
kTime 1011 <<
"# postEventReadFromSource " << Step::postEventReadFromSource << kTransition << kEDModule <<
kTime 1012 << kAllocInfo <<
"\n" 1013 <<
"# postModuleTransition " << Step::postModuleTransition << kTransition << kEDModule <<
kTime 1014 << kAllocInfo <<
"\n" 1015 <<
"# preESModuleTransition " << Step::preESModule << kTransition << kESModule <<
kTime <<
"\n" 1016 <<
"# postESModuleTransition " << Step::postESModule << kTransition << kESModule <<
kTime << kAllocInfo
1018 <<
"# preFrameworkTransition " << Step::preFrameworkTransition << kTransition << kTransitionInfo <<
kTime 1020 <<
"# preFrameworkTransition " << Step::preFrameworkTransition <<
" " 1021 << Phase::clearEvent <<
" <Transition ID>" << kTransitionInfo <<
kTime << kAllocInfo <<
"\n" 1022 <<
"# postFrameworkTransition " << Step::postFrameworkTransition << kTransition << kTransitionInfo
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
void watchPreEvent(PreEvent::slot_type const &iSlot)
void watchPostESModuleRegistration(PostESModuleRegistration::slot_type const &iSlot)
void watchPreAccessInputProcessBlock(PreAccessInputProcessBlock::slot_type const &iSlot)
void watchPostModuleEndProcessBlock(PostModuleEndProcessBlock::slot_type const &iSlot)
void watchPostModuleTransformAcquiring(PostModuleTransformAcquiring::slot_type const &iSlot)
void watchPreESModule(PreESModule::slot_type const &iSlot)
void watchPreModuleEventAcquire(PreModuleEventAcquire::slot_type const &iSlot)
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
void watchPostModuleEndStream(PostModuleEndStream::slot_type const &iSlot)
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
void watchPreModuleConstruction(PreModuleConstruction::slot_type const &iSlot)
void watchPreModuleEndProcessBlock(PreModuleEndProcessBlock::slot_type const &iSlot)
void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const &iSlot)
void watchPostESModuleAcquire(PostESModuleAcquire::slot_type const &iSlot)
void watchPostEvent(PostEvent::slot_type const &iSlot)
void watchPreStreamEndRun(PreStreamEndRun::slot_type const &iSlot)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
void watchPostSourceNextTransition(PostSourceNextTransition::slot_type const &iSlot)
void watchPostEndProcessBlock(PostEndProcessBlock::slot_type const &iSlot)
void watchPreEventReadFromSource(PreEventReadFromSource::slot_type const &iSlot)
void watchPreModuleDestruction(PreModuleDestruction::slot_type const &iSlot)
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const &iSlot)
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
void watchPreModuleAccessInputProcessBlock(PreModuleAccessInputProcessBlock::slot_type const &iSlot)
void watchPreBeginProcessBlock(PreBeginProcessBlock::slot_type const &iSlot)
void watchPreEndProcessBlock(PreEndProcessBlock::slot_type const &iSlot)
void watchPostModuleTransform(PostModuleTransform::slot_type const &iSlot)
void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const &iSlot)
void watchPostESModule(PostESModule::slot_type const &iSlot)
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
void watchPostModuleWriteRun(PostModuleWriteRun::slot_type const &iSlot)
void watchPostModuleWriteProcessBlock(PostModuleWriteProcessBlock::slot_type const &iSlot)
void watchPostModuleWriteLumi(PostModuleWriteLumi::slot_type const &iSlot)
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const &iSlot)
void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const &iSlot)
void watchPostBeginProcessBlock(PostBeginProcessBlock::slot_type const &iSlot)
void watchEventSetupConfiguration(EventSetupConfiguration::slot_type const &iSlot)
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
void watchPreModuleBeginProcessBlock(PreModuleBeginProcessBlock::slot_type const &iSlot)
void watchPostModuleEventAcquire(PostModuleEventAcquire::slot_type const &iSlot)
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
void watchPreSourceNextTransition(PreSourceNextTransition::slot_type const &iSlot)
void watchPreWriteProcessBlock(PreWriteProcessBlock::slot_type const &iSlot)
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void watchPreModuleTransformAcquiring(PreModuleTransformAcquiring::slot_type const &iSlot)
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
void watchPostModuleBeginProcessBlock(PostModuleBeginProcessBlock::slot_type const &iSlot)
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
void watchPreGlobalWriteLumi(PreGlobalWriteLumi::slot_type const &iSlot)
void moduleIdToLabel(std::ostream &oStream, std::vector< std::string > const &iModuleLabels, char moduleIdSymbol, std::string const &iIDHeader, std::string const &iLabelHeader)
void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const &iSlot)
void watchPreModuleTransform(PreModuleTransform::slot_type const &iSlot)
void watchPostAccessInputProcessBlock(PostAccessInputProcessBlock::slot_type const &iSlot)
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
void watchPostGlobalWriteRun(PostGlobalWriteRun::slot_type const &iSlot)
void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const &iSlot)
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const &iSlot)
void watchPostClearEvent(PostClearEvent::slot_type const &iSlot)
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
void watchPreModuleEndStream(PreModuleEndStream::slot_type const &iSlot)
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void watchPreModuleWriteRun(PreModuleWriteRun::slot_type const &iSlot)
void watchPreEndJob(PreEndJob::slot_type const &iSlot)
void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const &iSlot)
void watchPreClearEvent(PreClearEvent::slot_type const &iSlot)
void watchPostGlobalWriteLumi(PostGlobalEndLumi::slot_type const &iSlot)
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
void watchPostModuleAccessInputProcessBlock(PostModuleAccessInputProcessBlock::slot_type const &iSlot)
void watchPostModuleDestruction(PostModuleDestruction::slot_type const &iSlot)
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
void watchPreModuleWriteProcessBlock(PreModuleWriteProcessBlock::slot_type const &iSlot)
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
void watchPostEventReadFromSource(PostEventReadFromSource::slot_type const &iSlot)
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleWriteLumi(PreModuleWriteLumi::slot_type const &iSlot)
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
std::string const & moduleLabel() const
auto stream_id(edm::StreamContext const &cs)
void watchPreGlobalWriteRun(PreGlobalWriteRun::slot_type const &iSlot)
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
void watchPreESModuleAcquire(PreESModuleAcquire::slot_type const &iSlot)
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void watchPostWriteProcessBlock(PostWriteProcessBlock::slot_type const &iSlot)