CMS 3D CMS Logo

SecondaryEventProvider.cc
Go to the documentation of this file.
8 
9 namespace edm {
10  SecondaryEventProvider::SecondaryEventProvider(std::vector<ParameterSet>& psets,
11  ProductRegistry& preg,
12  std::shared_ptr<ProcessConfiguration> processConfiguration)
13  : exceptionToActionTable_(new ExceptionToActionTable),
14  workerManager_(std::make_shared<ActivityRegistry>(), *exceptionToActionTable_) {
15  std::vector<std::string> shouldBeUsedLabels;
16  std::set<std::string> unscheduledLabels;
17  const PreallocationConfiguration preallocConfig;
18  for (auto& pset : psets) {
19  std::string label = pset.getParameter<std::string>("@module_label");
21  pset, preg, &preallocConfig, processConfiguration, label, unscheduledLabels, shouldBeUsedLabels);
22  }
23  if (!unscheduledLabels.empty()) {
24  preg.setUnscheduledProducts(unscheduledLabels);
25  }
26  } // SecondaryEventProvider::SecondaryEventProvider
27 
29  eventsetup::ESRecordsToProxyIndices const& iIndices) {
30  workerManager_.beginJob(iRegistry, iIndices);
31  }
32 
33  //NOTE: When the Stream interfaces are propagated to the modules, this code must be updated
34  // to also send the stream based transitions
36  const EventSetupImpl& setup,
37  ModuleCallingContext const* mcc,
38  StreamContext& sContext) {
41  info, StreamID::invalidStreamID(), nullptr, mcc);
43  info, sContext.streamID(), &sContext, mcc);
44  }
45 
47  const EventSetupImpl& setup,
48  ModuleCallingContext const* mcc,
49  StreamContext& sContext) {
52  info, StreamID::invalidStreamID(), nullptr, mcc);
54  info, sContext.streamID(), &sContext, mcc);
55  }
56 
58  const EventSetupImpl& setup,
59  ModuleCallingContext const* mcc,
60  StreamContext& sContext) {
63  info, sContext.streamID(), &sContext, mcc);
65  info, StreamID::invalidStreamID(), nullptr, mcc);
66  }
67 
69  const EventSetupImpl& setup,
70  ModuleCallingContext const* mcc,
71  StreamContext& sContext) {
74  info, sContext.streamID(), &sContext, mcc);
76  info, StreamID::invalidStreamID(), nullptr, mcc);
77  }
78 
80  const EventSetupImpl& setup,
81  StreamContext& sContext) {
85  }
87  workerManager_.beginStream(iID, sContext);
88  }
89 
91  workerManager_.endStream(iID, sContext);
92  }
93 } // namespace edm
edm::EventTransitionInfo
Definition: TransitionInfoTypes.h:26
edm::StreamID
Definition: StreamID.h:30
edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionGlobalEnd >
Definition: OccurrenceTraits.h:356
edm::eventsetup::ESRecordsToProxyIndices
Definition: ESRecordsToProxyIndices.h:35
edm::SecondaryEventProvider::endStream
void endStream(edm::StreamID iID, StreamContext &sContext)
Definition: SecondaryEventProvider.cc:90
edm::LumiTransitionInfo
Definition: TransitionInfoTypes.h:42
edm::EventSetupImpl
Definition: EventSetupImpl.h:48
edm::SecondaryEventProvider::setupPileUpEvent
void setupPileUpEvent(EventPrincipal &ep, const EventSetupImpl &setup, StreamContext &sContext)
Definition: SecondaryEventProvider.cc:79
edm::OccurrenceTraits< RunPrincipal, BranchActionGlobalBegin >
Definition: OccurrenceTraits.h:71
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::WorkerManager::addToUnscheduledWorkers
void addToUnscheduledWorkers(ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration > processConfiguration, std::string label, std::set< std::string > &unscheduledLabels, std::vector< std::string > &shouldBeUsedLabels)
Definition: WorkerManager.cc:42
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionStreamBegin >
Definition: OccurrenceTraits.h:274
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:153
PreallocationConfiguration.h
ProductRegistry.h
edm::RunTransitionInfo
Definition: TransitionInfoTypes.h:64
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
edm::OccurrenceTraits< RunPrincipal, BranchActionStreamBegin >
Definition: OccurrenceTraits.h:112
edm::ProductRegistry
Definition: ProductRegistry.h:37
edm::EventPrincipal
Definition: EventPrincipal.h:46
edm::OccurrenceTraits< RunPrincipal, BranchActionGlobalEnd >
Definition: OccurrenceTraits.h:192
edm::StreamContext
Definition: StreamContext.h:31
edm::ActivityRegistry
Definition: ActivityRegistry.h:133
edm::SecondaryEventProvider::beginStream
void beginStream(edm::StreamID iID, StreamContext &sContext)
Definition: SecondaryEventProvider.cc:86
edm::OccurrenceTraits< RunPrincipal, BranchActionStreamEnd >
Definition: OccurrenceTraits.h:152
edm::SecondaryEventProvider::beginJob
void beginJob(ProductRegistry const &iRegistry, eventsetup::ESRecordsToProxyIndices const &)
Definition: SecondaryEventProvider.cc:28
edm::WorkerManager::processOneOccurrence
void processOneOccurrence(typename T::TransitionInfoType &, StreamID, typename T::Context const *topContext, U const *context, bool cleaningUpAfterException=false)
Definition: WorkerManager.h:107
edm::SecondaryEventProvider::endLuminosityBlock
void endLuminosityBlock(LuminosityBlockPrincipal &lumi, const edm::EventSetupImpl &setup, ModuleCallingContext const *, StreamContext &sContext)
Definition: SecondaryEventProvider.cc:68
edm::WorkerManager::beginJob
void beginJob(ProductRegistry const &iRegistry, eventsetup::ESRecordsToProxyIndices const &)
Definition: WorkerManager.cc:81
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::WorkerManager::beginStream
void beginStream(StreamID iID, StreamContext &streamContext)
Definition: WorkerManager.cc:109
edm::SecondaryEventProvider::endRun
void endRun(RunPrincipal &run, const edm::EventSetupImpl &setup, ModuleCallingContext const *, StreamContext &sContext)
Definition: SecondaryEventProvider.cc:57
edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionGlobalBegin >
Definition: OccurrenceTraits.h:233
edm::StreamContext::streamID
StreamID const & streamID() const
Definition: StreamContext.h:54
edm::WorkerManager::setupOnDemandSystem
void setupOnDemandSystem(EventTransitionInfo const &)
Definition: WorkerManager.cc:138
edm::StreamID::invalidStreamID
static StreamID invalidStreamID()
Definition: StreamID.h:45
ExceptionActions.h
edm::SecondaryEventProvider::beginRun
void beginRun(RunPrincipal &run, const edm::EventSetupImpl &setup, ModuleCallingContext const *, StreamContext &sContext)
Definition: SecondaryEventProvider.cc:35
edm::ExceptionToActionTable
Definition: ExceptionActions.h:16
edm::SecondaryEventProvider::workerManager_
WorkerManager workerManager_
Definition: SecondaryEventProvider.h:48
edm::PreallocationConfiguration
Definition: PreallocationConfiguration.h:27
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
edm::SecondaryEventProvider::SecondaryEventProvider
SecondaryEventProvider(std::vector< ParameterSet > &psets, ProductRegistry &pregistry, std::shared_ptr< ProcessConfiguration > processConfiguration)
Definition: SecondaryEventProvider.cc:10
SecondaryEventProvider.h
edm::SecondaryEventProvider::beginLuminosityBlock
void beginLuminosityBlock(LuminosityBlockPrincipal &lumi, const edm::EventSetupImpl &setup, ModuleCallingContext const *, StreamContext &sContext)
Definition: SecondaryEventProvider.cc:46
edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionStreamEnd >
Definition: OccurrenceTraits.h:314
edm::WorkerManager::setupResolvers
void setupResolvers(Principal &principal)
Definition: WorkerManager.cc:129
edm::WorkerManager::endStream
void endStream(StreamID iID, StreamContext &streamContext)
Definition: WorkerManager.cc:115
TransitionInfoTypes.h
ParameterSet.h
edm::RunPrincipal
Definition: RunPrincipal.h:34
lumi
Definition: LumiSectionData.h:20
StreamID.h
edm::ProductRegistry::setUnscheduledProducts
void setUnscheduledProducts(std::set< std::string > const &unscheduledLabels)
Definition: ProductRegistry.cc:221
SiStripBadComponentsDQMServiceTemplate_cfg.ep
ep
Definition: SiStripBadComponentsDQMServiceTemplate_cfg.py:86
label
const char * label
Definition: PFTauDecayModeTools.cc:11
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29