CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
edm::SecondaryEventProvider Class Reference

#include <SecondaryEventProvider.h>

Public Member Functions

void beginJob (ProductRegistry const &iRegistry, eventsetup::ESRecordsToProxyIndices const &)
 
void beginLuminosityBlock (LuminosityBlockPrincipal &lumi, const edm::EventSetupImpl &setup, ModuleCallingContext const *, StreamContext &sContext)
 
void beginRun (RunPrincipal &run, const edm::EventSetupImpl &setup, ModuleCallingContext const *, StreamContext &sContext)
 
void beginStream (edm::StreamID iID, StreamContext &sContext)
 
void endJob ()
 
void endLuminosityBlock (LuminosityBlockPrincipal &lumi, const edm::EventSetupImpl &setup, ModuleCallingContext const *, StreamContext &sContext)
 
void endRun (RunPrincipal &run, const edm::EventSetupImpl &setup, ModuleCallingContext const *, StreamContext &sContext)
 
void endStream (edm::StreamID iID, StreamContext &sContext)
 
 SecondaryEventProvider (std::vector< ParameterSet > &psets, ProductRegistry &pregistry, std::shared_ptr< ProcessConfiguration > processConfiguration)
 
void setupPileUpEvent (EventPrincipal &ep, const EventSetupImpl &setup, StreamContext &sContext)
 

Private Attributes

std::unique_ptr< ExceptionToActionTableexceptionToActionTable_
 
WorkerManager workerManager_
 

Detailed Description

Definition at line 14 of file SecondaryEventProvider.h.

Constructor & Destructor Documentation

◆ SecondaryEventProvider()

edm::SecondaryEventProvider::SecondaryEventProvider ( std::vector< ParameterSet > &  psets,
ProductRegistry pregistry,
std::shared_ptr< ProcessConfiguration processConfiguration 
)

Definition at line 10 of file SecondaryEventProvider.cc.

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

References edm::WorkerManager::addToUnscheduledWorkers(), label, muonDTDigis_cfi::pset, edm::ProductRegistry::setUnscheduledProducts(), AlCaHLTBitMon_QueryRunRegistry::string, and workerManager_.

Member Function Documentation

◆ beginJob()

void edm::SecondaryEventProvider::beginJob ( ProductRegistry const &  iRegistry,
eventsetup::ESRecordsToProxyIndices const &  iIndices 
)

Definition at line 28 of file SecondaryEventProvider.cc.

29  {
30  workerManager_.beginJob(iRegistry, iIndices);
31  }

References edm::WorkerManager::beginJob(), and workerManager_.

◆ beginLuminosityBlock()

void edm::SecondaryEventProvider::beginLuminosityBlock ( LuminosityBlockPrincipal lumi,
const edm::EventSetupImpl setup,
ModuleCallingContext const *  mcc,
StreamContext sContext 
)

Definition at line 46 of file SecondaryEventProvider.cc.

49  {
50  LumiTransitionInfo info(lumi, setup);
51  workerManager_.processOneOccurrence<OccurrenceTraits<LuminosityBlockPrincipal, BranchActionGlobalBegin> >(
52  info, StreamID::invalidStreamID(), nullptr, mcc);
53  workerManager_.processOneOccurrence<OccurrenceTraits<LuminosityBlockPrincipal, BranchActionStreamBegin> >(
54  info, sContext.streamID(), &sContext, mcc);
55  }

References info(), edm::StreamID::invalidStreamID(), edm::WorkerManager::processOneOccurrence(), singleTopDQM_cfi::setup, edm::StreamContext::streamID(), and workerManager_.

◆ beginRun()

void edm::SecondaryEventProvider::beginRun ( RunPrincipal run,
const edm::EventSetupImpl setup,
ModuleCallingContext const *  mcc,
StreamContext sContext 
)

Definition at line 35 of file SecondaryEventProvider.cc.

38  {
39  RunTransitionInfo info(run, setup);
40  workerManager_.processOneOccurrence<OccurrenceTraits<RunPrincipal, BranchActionGlobalBegin> >(
41  info, StreamID::invalidStreamID(), nullptr, mcc);
42  workerManager_.processOneOccurrence<OccurrenceTraits<RunPrincipal, BranchActionStreamBegin> >(
43  info, sContext.streamID(), &sContext, mcc);
44  }

References info(), edm::StreamID::invalidStreamID(), edm::WorkerManager::processOneOccurrence(), writedatasetfile::run, singleTopDQM_cfi::setup, edm::StreamContext::streamID(), and workerManager_.

◆ beginStream()

void edm::SecondaryEventProvider::beginStream ( edm::StreamID  iID,
StreamContext sContext 
)

Definition at line 86 of file SecondaryEventProvider.cc.

86  {
87  workerManager_.beginStream(iID, sContext);
88  }

References edm::WorkerManager::beginStream(), and workerManager_.

◆ endJob()

void edm::SecondaryEventProvider::endJob ( void  )
inline

Definition at line 41 of file SecondaryEventProvider.h.

References edm::WorkerManager::endJob(), and workerManager_.

◆ endLuminosityBlock()

void edm::SecondaryEventProvider::endLuminosityBlock ( LuminosityBlockPrincipal lumi,
const edm::EventSetupImpl setup,
ModuleCallingContext const *  mcc,
StreamContext sContext 
)

Definition at line 68 of file SecondaryEventProvider.cc.

71  {
72  LumiTransitionInfo info(lumi, setup);
73  workerManager_.processOneOccurrence<OccurrenceTraits<LuminosityBlockPrincipal, BranchActionStreamEnd> >(
74  info, sContext.streamID(), &sContext, mcc);
75  workerManager_.processOneOccurrence<OccurrenceTraits<LuminosityBlockPrincipal, BranchActionGlobalEnd> >(
76  info, StreamID::invalidStreamID(), nullptr, mcc);
77  }

References info(), edm::StreamID::invalidStreamID(), edm::WorkerManager::processOneOccurrence(), singleTopDQM_cfi::setup, edm::StreamContext::streamID(), and workerManager_.

◆ endRun()

void edm::SecondaryEventProvider::endRun ( RunPrincipal run,
const edm::EventSetupImpl setup,
ModuleCallingContext const *  mcc,
StreamContext sContext 
)

Definition at line 57 of file SecondaryEventProvider.cc.

60  {
61  RunTransitionInfo info(run, setup);
62  workerManager_.processOneOccurrence<OccurrenceTraits<RunPrincipal, BranchActionStreamEnd> >(
63  info, sContext.streamID(), &sContext, mcc);
64  workerManager_.processOneOccurrence<OccurrenceTraits<RunPrincipal, BranchActionGlobalEnd> >(
65  info, StreamID::invalidStreamID(), nullptr, mcc);
66  }

References info(), edm::StreamID::invalidStreamID(), edm::WorkerManager::processOneOccurrence(), writedatasetfile::run, singleTopDQM_cfi::setup, edm::StreamContext::streamID(), and workerManager_.

◆ endStream()

void edm::SecondaryEventProvider::endStream ( edm::StreamID  iID,
StreamContext sContext 
)

Definition at line 90 of file SecondaryEventProvider.cc.

90  {
91  workerManager_.endStream(iID, sContext);
92  }

References edm::WorkerManager::endStream(), and workerManager_.

◆ setupPileUpEvent()

void edm::SecondaryEventProvider::setupPileUpEvent ( EventPrincipal ep,
const EventSetupImpl setup,
StreamContext sContext 
)

Member Data Documentation

◆ exceptionToActionTable_

std::unique_ptr<ExceptionToActionTable> edm::SecondaryEventProvider::exceptionToActionTable_
private

Definition at line 47 of file SecondaryEventProvider.h.

◆ workerManager_

WorkerManager edm::SecondaryEventProvider::workerManager_
private
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::SecondaryEventProvider::exceptionToActionTable_
std::unique_ptr< ExceptionToActionTable > exceptionToActionTable_
Definition: SecondaryEventProvider.h:47
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:153
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
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::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::WorkerManager::setupOnDemandSystem
void setupOnDemandSystem(EventTransitionInfo const &)
Definition: WorkerManager.cc:138
edm::StreamID::invalidStreamID
static StreamID invalidStreamID()
Definition: StreamID.h:45
edm::SecondaryEventProvider::workerManager_
WorkerManager workerManager_
Definition: SecondaryEventProvider.h:48
writedatasetfile.run
run
Definition: writedatasetfile.py:27
edm::WorkerManager::setupResolvers
void setupResolvers(Principal &principal)
Definition: WorkerManager.cc:129
edm::WorkerManager::endStream
void endStream(StreamID iID, StreamContext &streamContext)
Definition: WorkerManager.cc:115
lumi
Definition: LumiSectionData.h:20
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::WorkerManager::endJob
void endJob()
Definition: WorkerManager.cc:65