CMS 3D CMS Logo

SubProcess.cc
Go to the documentation of this file.
2 
37 
38 #include "boost/range/adaptor/reversed.hpp"
39 
40 #include <cassert>
41 #include <string>
42 #include <vector>
43 
44 namespace edm {
45 
47  ParameterSet const& topLevelParameterSet,
48  std::shared_ptr<ProductRegistry const> parentProductRegistry,
49  std::shared_ptr<BranchIDListHelper const> parentBranchIDListHelper,
50  ThinnedAssociationsHelper const& parentThinnedAssociationsHelper,
51  SubProcessParentageHelper const& parentSubProcessParentageHelper,
53  ActivityRegistry& parentActReg,
54  ServiceToken const& token,
56  PreallocationConfiguration const& preallocConfig,
57  ProcessContext const* parentProcessContext)
58  : EDConsumerBase(),
59  serviceToken_(),
60  parentPreg_(parentProductRegistry),
61  preg_(),
62  branchIDListHelper_(),
63  act_table_(),
64  processConfiguration_(),
65  historyLumiOffset_(preallocConfig.numberOfStreams()),
66  historyRunOffset_(historyLumiOffset_ + preallocConfig.numberOfLuminosityBlocks()),
67  processHistoryRegistries_(historyRunOffset_ + preallocConfig.numberOfRuns()),
68  historyAppenders_(historyRunOffset_ + preallocConfig.numberOfRuns()),
69  principalCache_(),
70  esp_(),
71  schedule_(),
72  parentToChildPhID_(),
73  subProcesses_(),
74  processParameterSet_(),
75  productSelectorRules_(parameterSet, "outputCommands", "OutputModule"),
76  productSelector_(),
77  wantAllEvents_(true) {
78  //Setup the event selection
80 
81  ParameterSet selectevents = parameterSet.getUntrackedParameterSet("SelectEvents", ParameterSet());
82 
83  selectevents.registerIt(); // Just in case this PSet is not registered
85  selectevents, tns->getProcessName(), getAllTriggerNames(), selectors_, consumesCollector());
86  std::map<std::string, std::vector<std::pair<std::string, int>>> outputModulePathPositions;
88  selectevents, "", outputModulePathPositions, parentProductRegistry->anyProductProduced());
89 
90  std::map<BranchID, bool> keepAssociation;
91  selectProducts(*parentProductRegistry, parentThinnedAssociationsHelper, keepAssociation);
92 
93  std::string const maxEvents("maxEvents");
94  std::string const maxLumis("maxLuminosityBlocks");
95 
96  // propagate_const<T> has no reset() function
98  std::unique_ptr<ParameterSet>(parameterSet.popParameterSet(std::string("process")).release());
99 
100  // if this process has a maxEvents or maxLuminosityBlocks parameter set, remove them.
101  if (processParameterSet_->exists(maxEvents)) {
102  processParameterSet_->popParameterSet(maxEvents);
103  }
104  if (processParameterSet_->exists(maxLumis)) {
105  processParameterSet_->popParameterSet(maxLumis);
106  }
107 
108  // if the top level process has a maxEvents or maxLuminosityBlocks parameter set, add them to this process.
109  if (topLevelParameterSet.exists(maxEvents)) {
110  processParameterSet_->addUntrackedParameter<ParameterSet>(
111  maxEvents, topLevelParameterSet.getUntrackedParameterSet(maxEvents));
112  }
113  if (topLevelParameterSet.exists(maxLumis)) {
114  processParameterSet_->addUntrackedParameter<ParameterSet>(
115  maxLumis, topLevelParameterSet.getUntrackedParameterSet(maxLumis));
116  }
117 
118  // If there are subprocesses, pop the subprocess parameter sets out of the process parameter set
119  auto subProcessVParameterSet = popSubProcessVParameterSet(*processParameterSet_);
120  bool hasSubProcesses = subProcessVParameterSet.size() != 0ull;
121 
122  // Validates the parameters in the 'options', 'maxEvents', and 'maxLuminosityBlocks'
123  // top level parameter sets. Default values are also set in here if the
124  // parameters were not explicitly set.
126 
127  ScheduleItems items(*parentProductRegistry, *this);
128  actReg_ = items.actReg_;
129 
130  //initialize the services
131  ServiceToken iToken;
132 
133  // get any configured services.
134  auto serviceSets = processParameterSet_->popVParameterSet(std::string("services"));
135 
136  ServiceToken newToken = items.initServices(serviceSets, *processParameterSet_, token, iLegacy, false);
137  parentActReg.connectToSubProcess(*items.actReg_);
138  serviceToken_ = items.addCPRandTNS(*processParameterSet_, newToken);
139 
140  //make the services available
142 
143  // intialize miscellaneous items
144  items.initMisc(*processParameterSet_);
145 
146  // intialize the event setup provider
147  esp_ = esController.makeProvider(*processParameterSet_, actReg_.get());
148 
149  branchIDListHelper_ = items.branchIDListHelper();
150  updateBranchIDListHelper(parentBranchIDListHelper->branchIDLists());
151 
152  thinnedAssociationsHelper_ = items.thinnedAssociationsHelper();
153  thinnedAssociationsHelper_->updateFromParentProcess(
154  parentThinnedAssociationsHelper, keepAssociation, droppedBranchIDToKeptBranchID_);
155 
156  // intialize the Schedule
157  schedule_ = items.initSchedule(*processParameterSet_, hasSubProcesses, preallocConfig, &processContext_);
158 
159  // set the items
160  act_table_ = std::move(items.act_table_);
161  preg_ = items.preg();
162 
163  subProcessParentageHelper_ = items.subProcessParentageHelper();
164  subProcessParentageHelper_->update(parentSubProcessParentageHelper, *parentProductRegistry);
165 
166  //CMS-THREADING this only works since Run/Lumis are synchronous so when principalCache asks for
167  // the reducedProcessHistoryID from a full ProcessHistoryID that registry will not be in use by
168  // another thread. We really need to change how this is done in the PrincipalCache.
170 
171  processConfiguration_ = items.processConfiguration();
173  processContext_.setParentProcessContext(parentProcessContext);
174 
176  for (unsigned int index = 0; index < preallocConfig.numberOfStreams(); ++index) {
177  auto ep = std::make_shared<EventPrincipal>(preg_,
182  index,
183  false /*not primary process*/);
185  }
186  for (unsigned int index = 0; index < preallocConfig.numberOfLuminosityBlocks(); ++index) {
187  auto lbpp = std::make_unique<LuminosityBlockPrincipal>(
190  }
191 
192  inUseLumiPrincipals_.resize(preallocConfig.numberOfLuminosityBlocks());
193 
194  subProcesses_.reserve(subProcessVParameterSet.size());
195  for (auto& subProcessPSet : subProcessVParameterSet) {
196  subProcesses_.emplace_back(subProcessPSet,
197  topLevelParameterSet,
198  preg_,
202  esController,
203  *items.actReg_,
204  newToken,
205  iLegacy,
206  preallocConfig,
207  &processContext_);
208  }
209  }
210 
212 
213  void SubProcess::doBeginJob() { this->beginJob(); }
214 
216 
218  // If event selection is being used, the SubProcess class reads TriggerResults
219  // object(s) in the parent process from the event. This next call is needed for
220  // getByToken to work properly. Normally, this is done by the worker, but since
221  // a SubProcess is not a module, it has no worker.
222  updateLookup(InEvent, *parentPreg_->productLookup(InEvent), false);
223 
224  if (!droppedBranchIDToKeptBranchID().empty()) {
226  }
228  schedule_->convertCurrentProcessAlias(processConfiguration_->processName());
230  //NOTE: this may throw
232  actReg_->preBeginJobSignal_(pathsAndConsumesOfModules_, processContext_);
233  schedule_->beginJob(*preg_, esp_->recordsToProxyIndices());
234  for_all(subProcesses_, [](auto& subProcess) { subProcess.doBeginJob(); });
235  }
236 
240  "Multiple exceptions were thrown while executing endJob. An exception message follows for each.");
241  schedule_->endJob(c);
242  for (auto& subProcess : subProcesses_) {
243  c.call([&subProcess]() { subProcess.doEndJob(); });
244  }
245  if (c.hasThrown()) {
246  c.rethrow();
247  }
248  }
249 
251  ThinnedAssociationsHelper const& parentThinnedAssociationsHelper,
252  std::map<BranchID, bool>& keepAssociation) {
254  return;
256 
257  // TODO: See if we can collapse keptProducts_ and productSelector_ into a
258  // single object. See the notes in the header for ProductSelector
259  // for more information.
260 
261  std::map<BranchID, BranchDescription const*> trueBranchIDToKeptBranchDesc;
262  std::vector<BranchDescription const*> associationDescriptions;
263  std::set<BranchID> keptProductsInEvent;
264 
265  for (auto const& it : preg.productList()) {
266  BranchDescription const& desc = it.second;
267  if (desc.transient()) {
268  // if the class of the branch is marked transient, output nothing
269  } else if (!desc.present() && !desc.produced()) {
270  // else if the branch containing the product has been previously dropped,
271  // output nothing
272  } else if (desc.unwrappedType() == typeid(ThinnedAssociation)) {
273  associationDescriptions.push_back(&desc);
274  } else if (productSelector_.selected(desc)) {
275  keepThisBranch(desc, trueBranchIDToKeptBranchDesc, keptProductsInEvent);
276  }
277  }
278 
279  parentThinnedAssociationsHelper.selectAssociationProducts(
280  associationDescriptions, keptProductsInEvent, keepAssociation);
281 
282  for (auto association : associationDescriptions) {
283  if (keepAssociation[association->branchID()]) {
284  keepThisBranch(*association, trueBranchIDToKeptBranchDesc, keptProductsInEvent);
285  }
286  }
287 
288  // Now fill in a mapping needed in the case that a branch was dropped while its EDAlias was kept.
289  ProductSelector::fillDroppedToKept(preg, trueBranchIDToKeptBranchDesc, droppedBranchIDToKeptBranchID_);
290  }
291 
293  std::map<BranchID, BranchDescription const*>& trueBranchIDToKeptBranchDesc,
294  std::set<BranchID>& keptProductsInEvent) {
295  ProductSelector::checkForDuplicateKeptBranch(desc, trueBranchIDToKeptBranchDesc);
296 
297  if (desc.branchType() == InEvent) {
298  if (desc.produced()) {
299  keptProductsInEvent.insert(desc.originalBranchID());
300  } else {
301  keptProductsInEvent.insert(desc.branchID());
302  }
303  }
305  InputTag{desc.moduleLabel(), desc.productInstanceName(), desc.processName()});
306 
307  // Now put it in the list of selected branches.
308  keptProducts_[desc.branchType()].push_back(std::make_pair(&desc, token));
309  }
310 
312  std::map<BranchID::value_type, BranchID::value_type> const& droppedBranchIDToKeptBranchID) {
313  // Check for branches dropped while an EDAlias was kept.
314  // Replace BranchID of each dropped branch with that of the kept alias.
315  for (BranchIDList& branchIDList : branchIDListHelper_->mutableBranchIDLists()) {
316  for (BranchID::value_type& branchID : branchIDList) {
317  std::map<BranchID::value_type, BranchID::value_type>::const_iterator iter =
318  droppedBranchIDToKeptBranchID.find(branchID);
319  if (iter != droppedBranchIDToKeptBranchID.end()) {
320  branchID = iter->second;
321  }
322  }
323  }
324  for_all(subProcesses_, [&droppedBranchIDToKeptBranchID](auto& subProcess) {
325  subProcess.fixBranchIDListsForEDAliases(droppedBranchIDToKeptBranchID);
326  });
327  }
328 
330  EventPrincipal const& ep,
331  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls) {
333  /* BEGIN relevant bits from OutputModule::doEvent */
334  if (!wantAllEvents_) {
335  EventForOutput e(ep, ModuleDescription(), nullptr);
336  e.setConsumer(this);
337  if (!selectors_.wantEvent(e)) {
338  return;
339  }
340  }
341  processAsync(std::move(iHolder), ep, iEventSetupImpls);
342  /* END relevant bits from OutputModule::doEvent */
343  }
344 
346  EventPrincipal const& principal,
347  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls) {
348  EventAuxiliary aux(principal.aux());
349  aux.setProcessHistoryID(principal.processHistoryID());
350 
351  EventSelectionIDVector esids{principal.eventSelectionIDs()};
352  if (principal.productRegistry().anyProductProduced() || !wantAllEvents_) {
353  esids.push_back(selector_config_id_);
354  }
355 
357  auto& processHistoryRegistry = processHistoryRegistries_[principal.streamID().value()];
358  processHistoryRegistry.registerProcessHistory(principal.processHistory());
359  BranchListIndexes bli(principal.branchListIndexes());
360  branchIDListHelper_->fixBranchListIndexes(bli);
361  bool deepCopyRetriever = false;
362  ep.fillEventPrincipal(
363  aux,
364  &principal.processHistory(),
365  std::move(esids),
366  std::move(bli),
367  *(principal.productProvenanceRetrieverPtr()), //NOTE: this transfers the per product provenance
368  principal.reader(),
369  deepCopyRetriever);
370  ep.setLuminosityBlockPrincipal(inUseLumiPrincipals_[principal.luminosityBlockPrincipal().index()].get());
371  propagateProducts(InEvent, principal, ep);
372 
373  WaitingTaskHolder finalizeEventTask(
374  make_waiting_task(tbb::task::allocate_root(), [&ep, iHolder](std::exception_ptr const* iPtr) mutable {
375  ep.clearEventPrincipal();
376  if (iPtr) {
377  iHolder.doneWaiting(*iPtr);
378  } else {
379  iHolder.doneWaiting(std::exception_ptr());
380  }
381  }));
382  WaitingTaskHolder afterProcessTask;
383  if (subProcesses_.empty()) {
384  afterProcessTask = std::move(finalizeEventTask);
385  } else {
386  afterProcessTask = WaitingTaskHolder(
387  make_waiting_task(tbb::task::allocate_root(),
388  [this, &ep, finalizeEventTask, iEventSetupImpls](std::exception_ptr const* iPtr) mutable {
389  if (not iPtr) {
390  for (auto& subProcess : boost::adaptors::reverse(subProcesses_)) {
391  subProcess.doEventAsync(finalizeEventTask, ep, iEventSetupImpls);
392  }
393  } else {
394  finalizeEventTask.doneWaiting(*iPtr);
395  }
396  }));
397  }
398 
399  schedule_->processOneEventAsync(std::move(afterProcessTask),
400  ep.streamID().value(),
401  ep,
402  *((*iEventSetupImpls)[esp_->subProcessIndex()]),
403  serviceToken_);
404  }
405 
407  RunPrincipal const& principal,
408  IOVSyncValue const& ts,
409  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls) {
411 
412  auto aux = std::make_shared<RunAuxiliary>(principal.aux());
413  aux->setProcessHistoryID(principal.processHistoryID());
414  auto rpp = std::make_shared<RunPrincipal>(aux,
415  preg_,
417  &(historyAppenders_[historyRunOffset_ + principal.index()]),
418  principal.index(),
419  false);
420  auto& processHistoryRegistry = processHistoryRegistries_[historyRunOffset_ + principal.index()];
421  processHistoryRegistry.registerProcessHistory(principal.processHistory());
422  rpp->fillRunPrincipal(processHistoryRegistry, principal.reader());
423  principalCache_.insert(rpp);
424 
425  ProcessHistoryID const& parentInputReducedPHID = principal.reducedProcessHistoryID();
426  ProcessHistoryID const& inputReducedPHID = rpp->reducedProcessHistoryID();
427 
428  parentToChildPhID_.insert(std::make_pair(parentInputReducedPHID, inputReducedPHID));
429 
431  propagateProducts(InRun, principal, rp);
433  beginGlobalTransitionAsync<Traits>(
434  std::move(iHolder), *schedule_, rp, ts, esp_->eventSetupImpl(), iEventSetupImpls, serviceToken_, subProcesses_);
435  }
436 
438  RunPrincipal const& principal,
439  IOVSyncValue const& ts,
440  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls,
441  bool cleaningUpAfterException) {
443  propagateProducts(InRun, principal, rp);
445  endGlobalTransitionAsync<Traits>(std::move(iHolder),
446  *schedule_,
447  rp,
448  ts,
449  esp_->eventSetupImpl(),
450  iEventSetupImpls,
453  cleaningUpAfterException);
454  }
455 
457  ProcessHistoryID const& parentPhID,
458  int runNumber,
459  MergeableRunProductMetadata const* mergeableRunProductMetadata) {
461  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
462  assert(it != parentToChildPhID_.end());
463  auto const& childPhID = it->second;
464 
465  auto subTasks = edm::make_waiting_task(
466  tbb::task::allocate_root(),
467  [this, childPhID, runNumber, task, mergeableRunProductMetadata](std::exception_ptr const* iExcept) mutable {
468  if (iExcept) {
469  task.doneWaiting(*iExcept);
470  } else {
471  ServiceRegistry::Operate operateWriteRun(serviceToken_);
472  for (auto& s : subProcesses_) {
473  s.writeRunAsync(task, childPhID, runNumber, mergeableRunProductMetadata);
474  }
475  }
476  });
477  schedule_->writeRunAsync(WaitingTaskHolder(subTasks),
480  actReg_.get(),
481  mergeableRunProductMetadata);
482  }
483 
485  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
486  assert(it != parentToChildPhID_.end());
487  auto const& childPhID = it->second;
488  principalCache_.deleteRun(childPhID, runNumber);
490  [&childPhID, runNumber](auto& subProcess) { subProcess.deleteRunFromCache(childPhID, runNumber); });
491  }
492 
494  WaitingTaskHolder iHolder,
495  LuminosityBlockPrincipal const& principal,
496  IOVSyncValue const& ts,
497  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls) {
499 
500  auto aux = principal.aux();
501  aux.setProcessHistoryID(principal.processHistoryID());
503  lbpp->setAux(aux);
504  auto& processHistoryRegistry = processHistoryRegistries_[historyLumiOffset_ + lbpp->index()];
505  inUseLumiPrincipals_[principal.index()] = lbpp;
506  processHistoryRegistry.registerProcessHistory(principal.processHistory());
507  lbpp->fillLuminosityBlockPrincipal(&principal.processHistory(), principal.reader());
508  lbpp->setRunPrincipal(principalCache_.runPrincipalPtr());
509  LuminosityBlockPrincipal& lbp = *lbpp;
510  propagateProducts(InLumi, principal, lbp);
512  beginGlobalTransitionAsync<Traits>(std::move(iHolder),
513  *schedule_,
514  lbp,
515  ts,
516  *((*iEventSetupImpls)[esp_->subProcessIndex()]),
517  iEventSetupImpls,
519  subProcesses_);
520  }
521 
523  LuminosityBlockPrincipal const& principal,
524  IOVSyncValue const& ts,
525  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls,
526  bool cleaningUpAfterException) {
528  propagateProducts(InLumi, principal, lbp);
530  endGlobalTransitionAsync<Traits>(std::move(iHolder),
531  *schedule_,
532  lbp,
533  ts,
534  *((*iEventSetupImpls)[esp_->subProcessIndex()]),
535  iEventSetupImpls,
538  cleaningUpAfterException);
539  }
540 
543 
544  auto l = inUseLumiPrincipals_[principal.index()];
545  auto subTasks =
546  edm::make_waiting_task(tbb::task::allocate_root(), [this, l, task](std::exception_ptr const* iExcept) mutable {
547  if (iExcept) {
548  task.doneWaiting(*iExcept);
549  } else {
550  ServiceRegistry::Operate operateWriteLumi(serviceToken_);
551  for (auto& s : subProcesses_) {
552  s.writeLumiAsync(task, *l);
553  }
554  }
555  });
556  schedule_->writeLumiAsync(WaitingTaskHolder(subTasks), *l, &processContext_, actReg_.get());
557  }
558 
560  //release from list but stay around till end of routine
561  auto lb = std::move(inUseLumiPrincipals_[principal.index()]);
562  for (auto& s : subProcesses_) {
563  s.deleteLumiFromCache(*lb);
564  }
565  lb->clearPrincipal();
566  }
567 
568  void SubProcess::doBeginStream(unsigned int iID) {
570  schedule_->beginStream(iID);
571  for_all(subProcesses_, [iID](auto& subProcess) { subProcess.doBeginStream(iID); });
572  }
573 
574  void SubProcess::doEndStream(unsigned int iID) {
576  schedule_->endStream(iID);
577  for_all(subProcesses_, [iID](auto& subProcess) { subProcess.doEndStream(iID); });
578  }
579 
581  unsigned int id,
582  RunPrincipal const& principal,
583  IOVSyncValue const& ts,
584  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls) {
586 
588 
589  beginStreamTransitionAsync<Traits>(std::move(iHolder),
590  *schedule_,
591  id,
592  rp,
593  ts,
594  esp_->eventSetupImpl(),
595  iEventSetupImpls,
597  subProcesses_);
598  }
599 
601  unsigned int id,
602  RunPrincipal const& principal,
603  IOVSyncValue const& ts,
604  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls,
605  bool cleaningUpAfterException) {
608 
609  endStreamTransitionAsync<Traits>(std::move(iHolder),
610  *schedule_,
611  id,
612  rp,
613  ts,
614  esp_->eventSetupImpl(),
615  iEventSetupImpls,
618  cleaningUpAfterException);
619  }
620 
622  WaitingTaskHolder iHolder,
623  unsigned int id,
624  LuminosityBlockPrincipal const& principal,
625  IOVSyncValue const& ts,
626  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls) {
628 
630 
631  beginStreamTransitionAsync<Traits>(std::move(iHolder),
632  *schedule_,
633  id,
634  lbp,
635  ts,
636  *((*iEventSetupImpls)[esp_->subProcessIndex()]),
637  iEventSetupImpls,
639  subProcesses_);
640  }
641 
643  WaitingTaskHolder iHolder,
644  unsigned int id,
645  LuminosityBlockPrincipal const& principal,
646  IOVSyncValue const& ts,
647  std::vector<std::shared_ptr<const EventSetupImpl>> const* iEventSetupImpls,
648  bool cleaningUpAfterException) {
651  endStreamTransitionAsync<Traits>(std::move(iHolder),
652  *schedule_,
653  id,
654  lbp,
655  ts,
656  *((*iEventSetupImpls)[esp_->subProcessIndex()]),
657  iEventSetupImpls,
660  cleaningUpAfterException);
661  }
662 
663  void SubProcess::propagateProducts(BranchType type, Principal const& parentPrincipal, Principal& principal) const {
664  SelectedProducts const& keptVector = keptProducts()[type];
665  for (auto const& item : keptVector) {
666  BranchDescription const& desc = *item.first;
667  ProductResolverBase const* parentProductResolver = parentPrincipal.getProductResolver(desc.branchID());
668  if (parentProductResolver != nullptr) {
669  ProductResolverBase* productResolver = principal.getModifiableProductResolver(desc.branchID());
670  if (productResolver != nullptr) {
671  //Propagate the per event(run)(lumi) data for this product to the subprocess.
672  //First, the product itself.
673  productResolver->connectTo(*parentProductResolver, &parentPrincipal);
674  }
675  }
676  }
677  }
678 
680  branchIDListHelper_->updateFromParent(branchIDLists);
682  [this](auto& subProcess) { subProcess.updateBranchIDListHelper(branchIDListHelper_->branchIDLists()); });
683  }
684 
685  // Call respondToOpenInputFile() on all Modules
688  schedule_->respondToOpenInputFile(fb);
689  for_all(subProcesses_, [&fb](auto& subProcess) { subProcess.respondToOpenInputFile(fb); });
690  }
691 
692  // free function
694  std::vector<std::string> subProcesses =
695  parameterSet.getUntrackedParameter<std::vector<std::string>>("@all_subprocesses");
696  if (!subProcesses.empty()) {
697  return parameterSet.popVParameterSet("subProcesses");
698  }
699  return {};
700  }
701 } // namespace edm
edm::SubProcess::beginJob
void beginJob()
Definition: SubProcess.cc:217
edm::ParameterSet::registerIt
ParameterSet const & registerIt()
Definition: ParameterSet.cc:106
edm::SubProcess::respondToOpenInputFile
void respondToOpenInputFile(FileBlock const &fb)
Definition: SubProcess.cc:686
ThinnedAssociationsHelper.h
IllegalParameters.h
edm::SubProcess::processConfiguration_
std::shared_ptr< ProcessConfiguration const > processConfiguration_
Definition: SubProcess.h:294
ProcessHistoryID.h
edm::EventPrincipal::aux
EventAuxiliary const & aux() const
Definition: EventPrincipal.h:104
ProductResolverBase.h
edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionGlobalEnd >
Definition: OccurrenceTraits.h:336
edm::BranchDescription::productInstanceName
std::string const & productInstanceName() const
Definition: BranchDescription.h:81
edm::eventsetup::EventSetupsController::makeProvider
std::shared_ptr< EventSetupProvider > makeProvider(ParameterSet &, ActivityRegistry *, ParameterSet const *eventSetupPset=nullptr)
Definition: EventSetupsController.cc:36
edm::SubProcess::historyRunOffset_
unsigned int historyRunOffset_
Definition: SubProcess.h:300
edm::SubProcess::historyLumiOffset_
unsigned int historyLumiOffset_
Definition: SubProcess.h:299
edm::SubProcess::selector_config_id_
ParameterSetID selector_config_id_
Definition: SubProcess.h:322
edm::SubProcessParentageHelper
Definition: SubProcessParentageHelper.h:21
edm::EventPrincipal::luminosityBlockPrincipal
LuminosityBlockPrincipal const & luminosityBlockPrincipal() const
Definition: EventPrincipal.h:81
edm::popSubProcessVParameterSet
std::vector< ParameterSet > popSubProcessVParameterSet(ParameterSet &parameterSet)
Definition: SubProcess.cc:693
edm::getAllTriggerNames
std::vector< std::string > const & getAllTriggerNames()
Definition: getAllTriggerNames.cc:22
edm::SubProcess::processHistoryRegistries_
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
Definition: SubProcess.h:301
edm::PRODUCT_TYPE
Definition: ProductKindOfType.h:5
edm::SubProcess::branchIDListHelper
std::shared_ptr< BranchIDListHelper const > branchIDListHelper() const
Definition: SubProcess.h:275
edm::ParameterSet::getUntrackedParameterSet
ParameterSet getUntrackedParameterSet(std::string const &name, ParameterSet const &defaultValue) const
Definition: ParameterSet.cc:2129
edm::SubProcess::keptProducts
SelectedProductsForBranchType const & keptProducts() const
Definition: SubProcess.h:73
edm::validateTopLevelParameterSets
void validateTopLevelParameterSets(ParameterSet *processParameterSet)
Definition: validateTopLevelParameterSets.cc:88
BranchIDListHelper.h
TriggerNamesService.h
WaitingTaskHolder.h
edm::BranchDescription::unwrappedType
TypeWithDict const & unwrappedType() const
Definition: BranchDescription.h:94
edm::OccurrenceTraits< RunPrincipal, BranchActionGlobalBegin >
Definition: OccurrenceTraits.h:65
edm::SubProcess::pathsAndConsumesOfModules_
PathsAndConsumesOfModules pathsAndConsumesOfModules_
Definition: SubProcess.h:296
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ProcessContext
Definition: ProcessContext.h:27
edm::PrincipalCache::setProcessHistoryRegistry
void setProcessHistoryRegistry(ProcessHistoryRegistry const &phr)
Definition: PrincipalCache.h:76
edm::ProductSelector::initialize
void initialize(ProductSelectorRules const &rules, std::vector< BranchDescription const * > const &branchDescriptions)
Definition: ProductSelector.cc:20
edm::SubProcess::updateBranchIDListHelper
void updateBranchIDListHelper(BranchIDLists const &)
Definition: SubProcess.cc:679
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
edm::BranchListIndexes
std::vector< BranchListIndex > BranchListIndexes
Definition: BranchListIndex.h:18
edm::ThinnedAssociation
Definition: ThinnedAssociation.h:14
edm::SubProcess::thinnedAssociationsHelper_
edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
Definition: SubProcess.h:291
edm::ScheduleItems
Definition: ScheduleItems.h:28
edm::SubProcess::subProcesses_
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:309
cms::cuda::assert
assert(be >=bs)
edm::SubProcess::doEndStream
void doEndStream(unsigned int)
Definition: SubProcess.cc:574
edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionStreamBegin >
Definition: OccurrenceTraits.h:258
edm::Principal
Definition: Principal.h:57
edm::EDConsumerBase::consumesCollector
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
Definition: EDConsumerBase.cc:71
edm::ProductSelector::selected
bool selected(BranchDescription const &desc) const
Definition: ProductSelector.cc:55
SignallingProductRegistry.h
ProcessHistoryRegistry.h
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::StreamID::value
unsigned int value() const
Definition: StreamID.h:42
PreallocationConfiguration.h
ESRecordsToProxyIndices.h
ProductRegistry.h
EventSetupsController.h
EventForOutput.h
edm::Principal::processHistory
ProcessHistory const & processHistory() const
Definition: Principal.h:139
edm::WaitingTaskHolder::doneWaiting
void doneWaiting(std::exception_ptr iExcept)
Definition: WaitingTaskHolder.h:75
edm::SubProcess::doStreamEndLuminosityBlockAsync
void doStreamEndLuminosityBlockAsync(WaitingTaskHolder iHolder, unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
Definition: SubProcess.cc:642
edm::RunPrincipal::aux
RunAuxiliary const & aux() const
Definition: RunPrincipal.h:59
getAllTriggerNames.h
edm::PrincipalCache::runPrincipalPtr
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
Definition: PrincipalCache.cc:27
edm::InRun
Definition: BranchType.h:11
edm::SubProcess::doBeginJob
void doBeginJob()
Definition: SubProcess.cc:213
edm::SubProcess::processAsync
void processAsync(WaitingTaskHolder iHolder, EventPrincipal const &e, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
Definition: SubProcess.cc:345
edm::PathsAndConsumesOfModules::initialize
void initialize(Schedule const *, std::shared_ptr< ProductRegistry const >)
Definition: PathsAndConsumesOfModules.cc:14
edm::BranchType
BranchType
Definition: BranchType.h:11
edm::ModuleDescription
Definition: ModuleDescription.h:21
mps_monitormerge.items
list items
Definition: mps_monitormerge.py:29
groupFilesInBlocks.reverse
reverse
Definition: groupFilesInBlocks.py:131
convertSQLiteXML.runNumber
runNumber
Definition: convertSQLiteXML.py:91
edm::EventPrincipal::productProvenanceRetrieverPtr
ProductProvenanceRetriever const * productProvenanceRetrieverPtr() const
Definition: EventPrincipal.h:114
edm::SelectedProducts
std::vector< std::pair< BranchDescription const *, EDGetToken > > SelectedProducts
Definition: SelectedProducts.h:11
edm::OccurrenceTraits< RunPrincipal, BranchActionStreamBegin >
Definition: OccurrenceTraits.h:104
edm::for_all
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:14
edm::LuminosityBlockPrincipal::aux
LuminosityBlockAuxiliary const & aux() const
Definition: LuminosityBlockPrincipal.h:64
edm::ProductRegistry
Definition: ProductRegistry.h:34
edm::BranchDescription::present
bool present() const
Definition: BranchDescription.h:84
ActivityRegistry.h
edm::EventPrincipal::branchListIndexes
BranchListIndexes const & branchListIndexes() const
Definition: EventPrincipal.cc:417
edm::FileBlock
Definition: FileBlock.h:20
edm::SubProcess::wantAllEvents_
bool wantAllEvents_
Definition: SubProcess.h:321
edm::PreallocationConfiguration::numberOfLuminosityBlocks
unsigned int numberOfLuminosityBlocks() const
Definition: PreallocationConfiguration.h:36
edm::ServiceToken
Definition: ServiceToken.h:40
edm::EDConsumerBase
Definition: EDConsumerBase.h:62
edm::PrincipalCache::runPrincipal
RunPrincipal & runPrincipal(ProcessHistoryID const &phid, RunNumber_t run) const
Definition: PrincipalCache.cc:20
edm::ParameterSet::popParameterSet
std::unique_ptr< ParameterSet > popParameterSet(std::string const &name)
Definition: ParameterSet.cc:114
edm::ProcessContext::setProcessConfiguration
void setProcessConfiguration(ProcessConfiguration const *processConfiguration)
Definition: ProcessContext.cc:19
alignCSCRings.s
s
Definition: alignCSCRings.py:92
edm::SubProcess::droppedBranchIDToKeptBranchID
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID()
Definition: SubProcess.h:271
edm::SubProcess::deleteRunFromCache
void deleteRunFromCache(ProcessHistoryID const &parentPhID, int runNumber)
Definition: SubProcess.cc:484
edm::SubProcess::schedule_
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:307
edm::EventPrincipal
Definition: EventPrincipal.h:46
edm::SubProcess::inUseLumiPrincipals_
std::vector< std::shared_ptr< LuminosityBlockPrincipal > > inUseLumiPrincipals_
Definition: SubProcess.h:305
OutputModuleDescription.h
edm::OccurrenceTraits< RunPrincipal, BranchActionGlobalEnd >
Definition: OccurrenceTraits.h:180
edm::SubProcess::SubProcess
SubProcess(ParameterSet &parameterSet, ParameterSet const &topLevelParameterSet, std::shared_ptr< ProductRegistry const > parentProductRegistry, std::shared_ptr< BranchIDListHelper const > parentBranchIDListHelper, ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, SubProcessParentageHelper const &parentSubProcessParentageHelper, eventsetup::EventSetupsController &esController, ActivityRegistry &parentActReg, ServiceToken const &token, serviceregistry::ServiceLegacy iLegacy, PreallocationConfiguration const &preallocConfig, ProcessContext const *parentProcessContext)
Definition: SubProcess.cc:46
edm::ProductSelector::initialized
bool initialized() const
Definition: ProductSelector.h:38
edm::ExceptionCollector
Definition: ExceptionCollector.h:33
edm::BranchDescription::processName
std::string const & processName() const
Definition: BranchDescription.h:73
edm::Principal::processHistoryID
ProcessHistoryID const & processHistoryID() const
Definition: Principal.h:141
edm::BranchIDList
std::vector< BranchID::value_type > BranchIDList
Definition: BranchIDList.h:18
EventPrincipal.h
edm::SubProcess::thinnedAssociationsHelper
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper() const
Definition: SubProcess.h:279
edm::SubProcess::selectProducts
void selectProducts(ProductRegistry const &preg, ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, std::map< BranchID, bool > &keepAssociation)
Definition: SubProcess.cc:250
SubProcessParentageHelper.h
edm::ProductSelector::checkForDuplicateKeptBranch
static void checkForDuplicateKeptBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc)
Definition: ProductSelector.cc:71
edm::Principal::reader
DelayedReader * reader() const
Definition: Principal.h:185
TrackValidation_cff.task
task
Definition: TrackValidation_cff.py:252
edm::ActivityRegistry
Definition: ActivityRegistry.h:132
edm::BranchDescription::originalBranchID
BranchID const & originalBranchID() const
Definition: BranchDescription.h:77
edm::BranchDescription::transient
bool transient() const
Definition: BranchDescription.h:90
edm::ThinnedAssociationsHelper::selectAssociationProducts
void selectAssociationProducts(std::vector< BranchDescription const * > const &associationDescriptions, std::set< BranchID > const &keptProductsInEvent, std::map< BranchID, bool > &keepAssociation) const
Definition: ThinnedAssociationsHelper.cc:79
edm::MergeableRunProductMetadata
Definition: MergeableRunProductMetadata.h:52
edm::SubProcess::doEventAsync
void doEventAsync(WaitingTaskHolder iHolder, EventPrincipal const &principal, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
Definition: SubProcess.cc:329
edm::checkForModuleDependencyCorrectness
void checkForModuleDependencyCorrectness(edm::PathsAndConsumesOfModulesBase const &iPnC, bool iPrintDependencies)
Definition: PathsAndConsumesOfModules.cc:130
edm::BranchDescription::unwrappedTypeID
TypeID unwrappedTypeID() const
Definition: BranchDescription.h:97
edm::Principal::getProductResolver
ConstProductResolverPtr getProductResolver(BranchID const &oid) const
Definition: Principal.cc:527
edm::Hash
Definition: Hash.h:43
edm::SubProcess::serviceToken_
ServiceToken serviceToken_
Definition: SubProcess.h:287
edm::ActivityRegistry::connectToSubProcess
void connectToSubProcess(ActivityRegistry &iOther)
Definition: ActivityRegistry.cc:276
edm::SubProcess::doStreamEndRunAsync
void doStreamEndRunAsync(WaitingTaskHolder iHolder, unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
Definition: SubProcess.cc:600
edm::SubProcess::esp_
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:306
edm::InEvent
Definition: BranchType.h:11
edm::SubProcess::doBeginRunAsync
void doBeginRunAsync(WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
Definition: SubProcess.cc:406
edm::OccurrenceTraits< RunPrincipal, BranchActionStreamEnd >
Definition: OccurrenceTraits.h:142
ExceptionCollector.h
edm::ProductSelector::fillDroppedToKept
static void fillDroppedToKept(ProductRegistry const &preg, std::map< BranchID, BranchDescription const * > const &trueBranchIDToKeptBranchDesc, std::map< BranchID::value_type, BranchID::value_type > &droppedBranchIDToKeptBranchID_)
Definition: ProductSelector.cc:99
edm::make_waiting_task
FunctorWaitingTask< F > * make_waiting_task(ALLOC &&iAlloc, F f)
Definition: WaitingTask.h:87
edm::IOVSyncValue
Definition: IOVSyncValue.h:31
edm::BranchIDLists
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
edm::BranchID::value_type
unsigned int value_type
Definition: BranchID.h:16
edm::Principal::productRegistry
ProductRegistry const & productRegistry() const
Definition: Principal.h:145
edm::SubProcess::~SubProcess
~SubProcess() override
Definition: SubProcess.cc:211
edm::EventAuxiliary
Definition: EventAuxiliary.h:14
edm::SubProcess::propagateProducts
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:663
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
streamTransitionAsync.h
edm::RunPrincipal::index
RunIndex index() const
Definition: RunPrincipal.h:57
edm::SubProcess::keptProducts_
SelectedProductsForBranchType keptProducts_
Definition: SubProcess.h:316
edm::SubProcess::doEndJob
void doEndJob()
Definition: SubProcess.cc:215
HistoryAppender.h
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:674
funct::true
true
Definition: Factorize.h:173
LuminosityBlockAuxiliary.h
edm::ThinnedAssociationsHelper
Definition: ThinnedAssociationsHelper.h:35
edm::SubProcess::deleteLumiFromCache
void deleteLumiFromCache(LuminosityBlockPrincipal &)
Definition: SubProcess.cc:559
edm::SubProcess::productSelectorRules_
ProductSelectorRules productSelectorRules_
Definition: SubProcess.h:317
edm::ParameterSet
Definition: ParameterSet.h:36
edm::ProcessContext::setParentProcessContext
void setParentProcessContext(ProcessContext const *parentProcessContext)
Definition: ProcessContext.cc:23
edm::detail::TriggerResultsBasedEventSelector::wantEvent
bool wantEvent(EventForOutput const &e)
Definition: TriggerResultsBasedEventSelector.cc:148
edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionGlobalBegin >
Definition: OccurrenceTraits.h:219
edm::WaitingTaskHolder
Definition: WaitingTaskHolder.h:30
edm::InLumi
Definition: BranchType.h:11
edm::Principal::getModifiableProductResolver
ProductResolverBase * getModifiableProductResolver(BranchID const &oid)
Definition: Principal.h:152
edm::SubProcess::processParameterSet_
edm::propagate_const< std::unique_ptr< ParameterSet > > processParameterSet_
Definition: SubProcess.h:310
edm::SubProcess::act_table_
std::unique_ptr< ExceptionToActionTable const > act_table_
Definition: SubProcess.h:293
RunPrincipal.h
edm::SubProcess::keepThisBranch
void keepThisBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
Definition: SubProcess.cc:292
edm::PrincipalCache::deleteRun
void deleteRun(ProcessHistoryID const &phid, RunNumber_t run)
Definition: PrincipalCache.cc:103
edm::SubProcess::droppedBranchIDToKeptBranchID_
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: SubProcess.h:327
printConversionInfo.aux
aux
Definition: printConversionInfo.py:19
edm::EDConsumerBase::updateLookup
void updateLookup(BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
Definition: EDConsumerBase.cc:136
edm::Service
Definition: Service.h:30
edm::SubProcess::writeRunAsync
void writeRunAsync(WaitingTaskHolder, ProcessHistoryID const &parentPhID, int runNumber, MergeableRunProductMetadata const *)
Definition: SubProcess.cc:456
edm::EventPrincipal::eventSelectionIDs
EventSelectionIDVector const & eventSelectionIDs() const
Definition: EventPrincipal.cc:415
edm::SubProcess::selectors_
detail::TriggerResultsBasedEventSelector selectors_
Definition: SubProcess.h:323
edm::RunPrincipal::reducedProcessHistoryID
ProcessHistoryID const & reducedProcessHistoryID() const
Definition: RunPrincipal.h:63
edm::ParameterSet::popVParameterSet
std::vector< ParameterSet > popVParameterSet(std::string const &name)
Definition: ParameterSet.cc:143
edm::ProductRegistry::allBranchDescriptions
std::vector< BranchDescription const * > allBranchDescriptions() const
Definition: ProductRegistry.cc:211
edm::BranchDescription::branchType
BranchType const & branchType() const
Definition: BranchDescription.h:121
B2GTnPMonitor_cfi.item
item
Definition: B2GTnPMonitor_cfi.py:147
edm::EventPrincipal::streamID
StreamID streamID() const
Definition: EventPrincipal.h:106
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
edm::SubProcess::actReg_
std::shared_ptr< ActivityRegistry > actReg_
Definition: SubProcess.h:286
edm::EDGetToken
Definition: EDGetToken.h:35
edm::eventsetup::EventSetupsController
Definition: EventSetupsController.h:79
edm::BranchDescription::produced
bool produced() const
Definition: BranchDescription.h:82
LuminosityBlockPrincipal.h
TrackValidation_cff.association
association
Definition: TrackValidation_cff.py:286
WaitingTask.h
SubProcess.h
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:193
FileBlock.h
edm::detail::configureEventSelector
bool configureEventSelector(edm::ParameterSet const &iPSet, std::string const &iProcessName, std::vector< std::string > const &iAllTriggerNames, edm::detail::TriggerResultsBasedEventSelector &oSelector, ConsumesCollector &&iC)
Definition: TriggerResultsBasedEventSelector.cc:80
edm::SubProcess::productSelector_
ProductSelector productSelector_
Definition: SubProcess.h:318
edm::EventForOutput
Definition: EventForOutput.h:50
OccurrenceTraits.h
edm::PreallocationConfiguration
Definition: PreallocationConfiguration.h:27
type
type
Definition: HCALResponse.h:21
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::detail::registerProperSelectionInfo
ParameterSetID registerProperSelectionInfo(edm::ParameterSet const &iInitial, std::string const &iLabel, std::map< std::string, std::vector< std::pair< std::string, int > > > const &outputModulePathPositions, bool anyProductProduced)
Definition: TriggerResultsBasedEventSelector.cc:163
edm::ProductRegistry::productList
ProductList const & productList() const
Definition: ProductRegistry.h:73
edm::SubProcess::endJob
void endJob()
Definition: SubProcess.cc:237
edm::SubProcess::parentToChildPhID_
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:308
edm::SubProcess::doBeginStream
void doBeginStream(unsigned int)
Definition: SubProcess.cc:568
edm::SubProcess::doEndRunAsync
void doEndRunAsync(WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
Definition: SubProcess.cc:437
edm::SubProcess::parentPreg_
std::shared_ptr< ProductRegistry const > parentPreg_
Definition: SubProcess.h:288
edm::BranchDescription::moduleLabel
std::string const & moduleLabel() const
Definition: BranchDescription.h:72
edm::SubProcess::fixBranchIDListsForEDAliases
void fixBranchIDListsForEDAliases(std::map< BranchID::value_type, BranchID::value_type > const &droppedBranchIDToKeptBranchID)
Definition: SubProcess.cc:311
edm::ProductResolverBase
Definition: ProductResolverBase.h:34
edm::PrincipalCache::getAvailableLumiPrincipalPtr
std::shared_ptr< LuminosityBlockPrincipal > getAvailableLumiPrincipalPtr()
Definition: PrincipalCache.cc:49
edm::SubProcess::branchIDListHelper_
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
Definition: SubProcess.h:290
RunAuxiliary.h
edm::parameterSet
ParameterSet const & parameterSet(Provenance const &provenance, ProcessHistory const &history)
Definition: Provenance.cc:11
Data_TkAlMinBias_Run2018C_PromptReco_v3_cff.maxEvents
maxEvents
Definition: Data_TkAlMinBias_Run2018C_PromptReco_v3_cff.py:3
edm::SubProcess::historyAppenders_
std::vector< HistoryAppender > historyAppenders_
Definition: SubProcess.h:302
ThinnedAssociation.h
edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionStreamEnd >
Definition: OccurrenceTraits.h:296
edm::PreallocationConfiguration::numberOfStreams
unsigned int numberOfStreams() const
Definition: PreallocationConfiguration.h:35
edm::ProductResolverBase::connectTo
virtual void connectTo(ProductResolverBase const &, Principal const *)=0
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
edm::BranchDescription
Definition: BranchDescription.h:32
visualization-live-secondInstance_cfg.numberOfStreams
numberOfStreams
Definition: visualization-live-secondInstance_cfg.py:89
globalTransitionAsync.h
edm::SubProcess::doEndLuminosityBlockAsync
void doEndLuminosityBlockAsync(WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
Definition: SubProcess.cc:522
validateTopLevelParameterSets.h
edm::SubProcess::doStreamBeginLuminosityBlockAsync
void doStreamBeginLuminosityBlockAsync(WaitingTaskHolder iHolder, unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
Definition: SubProcess.cc:621
ParameterSet.h
edm::SubProcess::writeLumiAsync
void writeLumiAsync(WaitingTaskHolder, LuminosityBlockPrincipal &)
Definition: SubProcess.cc:541
edm::LuminosityBlockPrincipal::index
LuminosityBlockIndex index() const
Definition: LuminosityBlockPrincipal.h:51
edm::SubProcess::doBeginLuminosityBlockAsync
void doBeginLuminosityBlockAsync(WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
Definition: SubProcess.cc:493
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:126
edm::SubProcess::processContext_
ProcessContext processContext_
Definition: SubProcess.h:295
edm::RunPrincipal
Definition: RunPrincipal.h:34
edm::ProductRegistry::anyProductProduced
bool anyProductProduced() const
Definition: ProductRegistry.h:119
edm::PrincipalCache::eventPrincipal
EventPrincipal & eventPrincipal(unsigned int iStreamIndex) const
Definition: PrincipalCache.h:61
edm::TypeToGet
Definition: TypeToGet.h:32
edm::SubProcess::subProcessParentageHelper_
edm::propagate_const< std::shared_ptr< SubProcessParentageHelper > > subProcessParentageHelper_
Definition: SubProcess.h:292
edm::EventSelectionIDVector
std::vector< EventSelectionID > EventSelectionIDVector
Definition: EventSelectionID.h:16
edm::BranchDescription::branchID
BranchID const & branchID() const
Definition: BranchDescription.h:74
edm::ServiceRegistry::Operate
Definition: ServiceRegistry.h:40
edm::PrincipalCache::insert
void insert(std::shared_ptr< RunPrincipal > rp)
Definition: PrincipalCache.cc:81
SiStripBadComponentsDQMServiceTemplate_cfg.ep
ep
Definition: SiStripBadComponentsDQMServiceTemplate_cfg.py:86
edm::InputTag
Definition: InputTag.h:15
benchmark_cfg.fb
fb
Definition: benchmark_cfg.py:14
EventSelectionID.h
edm::SubProcess::doStreamBeginRunAsync
void doStreamBeginRunAsync(WaitingTaskHolder iHolder, unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
Definition: SubProcess.cc:580
edm::serviceregistry::ServiceLegacy
ServiceLegacy
Definition: ServiceLegacy.h:29
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
edm::PrincipalCache::setNumberOfConcurrentPrincipals
void setNumberOfConcurrentPrincipals(PreallocationConfiguration const &)
Definition: PrincipalCache.cc:16
edm::SubProcess::preg_
std::shared_ptr< ProductRegistry const > preg_
Definition: SubProcess.h:289
unpackBuffers-CaloStage2.token
token
Definition: unpackBuffers-CaloStage2.py:316
edm::SubProcess::principalCache_
PrincipalCache principalCache_
Definition: SubProcess.h:303