CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SecondaryEventProvider.cc
Go to the documentation of this file.
6 
7 namespace edm {
8  SecondaryEventProvider::SecondaryEventProvider(std::vector<ParameterSet>& psets,
10  std::shared_ptr<ProcessConfiguration> processConfiguration) :
11  exceptionToActionTable_(new ExceptionToActionTable),
12  workerManager_(std::make_shared<ActivityRegistry>(), *exceptionToActionTable_) {
13  std::vector<std::string> shouldBeUsedLabels;
14  std::set<std::string> unscheduledLabels;
15  const PreallocationConfiguration preallocConfig;
16  for(auto& pset : psets) {
17  std::string label = pset.getParameter<std::string>("@module_label");
19  preg,
20  &preallocConfig,
21  processConfiguration,
22  label,
23  unscheduledLabels,
24  shouldBeUsedLabels);
25  }
26  if(!unscheduledLabels.empty()) {
27  workerManager_.setOnDemandProducts(preg, unscheduledLabels);
28  }
29  } // SecondaryEventProvider::SecondaryEventProvider
30 
31  //NOTE: When the Stream interfaces are propagated to the modules, this code must be updated
32  // to also send the stream based transitions
35  mcc->getGlobalContext(), mcc);
36  }
37 
40  mcc->getGlobalContext(), mcc);
41  }
42 
45  mcc->getGlobalContext(), mcc);
46  }
47 
50  mcc->getGlobalContext(), mcc);
51  }
52 
55  nullptr, nullptr);
56  }
57 }
void beginRun(RunPrincipal &run, const edm::EventSetup &setup, ModuleCallingContext const *)
void beginLuminosityBlock(LuminosityBlockPrincipal &lumi, const edm::EventSetup &setup, ModuleCallingContext const *)
void setOnDemandProducts(ProductRegistry &pregistry, std::set< std::string > const &unscheduledLabels) const
tuple lumi
Definition: fjr2json.py:35
void endLuminosityBlock(LuminosityBlockPrincipal &lumi, const edm::EventSetup &setup, ModuleCallingContext const *)
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)
void processOneOccurrence(typename T::MyPrincipal &principal, EventSetup const &eventSetup, StreamID streamID, typename T::Context const *topContext, U const *context, bool cleaningUpAfterException=false)
Definition: WorkerManager.h:91
processConfiguration
Definition: Schedule.cc:368
static StreamID invalidStreamID()
Definition: StreamID.h:48
void setupPileUpEvent(EventPrincipal &ep, const EventSetup &setup)
SecondaryEventProvider(std::vector< ParameterSet > &psets, ProductRegistry &pregistry, std::shared_ptr< ProcessConfiguration > processConfiguration)
void endRun(RunPrincipal &run, const edm::EventSetup &setup, ModuleCallingContext const *)
GlobalContext const * getGlobalContext() const
preg
Definition: Schedule.cc:368
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")