CMS 3D CMS Logo

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

#include <SubProcess.h>

Inheritance diagram for edm::SubProcess:
edm::EDConsumerBase

Public Member Functions

void clearCounters ()
 Clear all the counters in the trigger report. More...
 
void closeOutputFiles ()
 
void deleteLumiFromCache (ProcessHistoryID const &parentPhID, int runNumber, int lumiNumber)
 
void deleteRunFromCache (ProcessHistoryID const &parentPhID, int runNumber)
 
void doBeginJob ()
 
void doBeginLuminosityBlock (LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
 
void doBeginLuminosityBlockAsync (WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
 
void doBeginRun (RunPrincipal const &principal, IOVSyncValue const &ts)
 
void doBeginRunAsync (WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts)
 
void doBeginStream (unsigned int)
 
void doEndJob ()
 
void doEndLuminosityBlock (LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void doEndRun (RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void doEndStream (unsigned int)
 
void doEventAsync (WaitingTaskHolder iHolder, EventPrincipal const &principal)
 
void doStreamBeginLuminosityBlock (unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
 
void doStreamBeginLuminosityBlockAsync (WaitingTaskHolder iHolder, unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
 
void doStreamBeginRun (unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts)
 
void doStreamBeginRunAsync (WaitingTaskHolder iHolder, unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts)
 
void doStreamEndLuminosityBlock (unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void doStreamEndLuminosityBlockAsync (WaitingTaskHolder iHolder, unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void doStreamEndRun (unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void doStreamEndRunAsync (WaitingTaskHolder iHolder, unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void enableEndPaths (bool active)
 
bool endPathsEnabled () const
 Return true if end_paths are active, and false if they are inactive. More...
 
std::vector< ModuleDescription const * > getAllModuleDescriptions () const
 Return a vector allowing const access to all the ModuleDescriptions for this SubProcess. More...
 
void getTriggerReport (TriggerReport &rep) const
 
SelectedProductsForBranchType const & keptProducts () const
 
void openNewOutputFilesIfNeeded ()
 
void openOutputFiles (FileBlock &fb)
 
SubProcessoperator= (SubProcess const &)=delete
 
SubProcessoperator= (SubProcess &&)=default
 
void postForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren)
 
void preForkReleaseResources ()
 
void respondToCloseInputFile (FileBlock const &fb)
 
void respondToOpenInputFile (FileBlock const &fb)
 
void selectProducts (ProductRegistry const &preg, ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, std::map< BranchID, bool > &keepAssociation)
 
bool shouldWeCloseOutput () const
 
 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)
 
 SubProcess (SubProcess const &)=delete
 
 SubProcess (SubProcess &&)=default
 
bool terminate () const
 
int totalEvents () const
 
int totalEventsFailed () const
 
int totalEventsPassed () const
 Return the number of events which have been passed by one or more trigger paths. More...
 
void updateBranchIDListHelper (BranchIDLists const &)
 
void writeLumi (ProcessHistoryID const &parentPhID, int runNumber, int lumiNumber)
 
void writeRun (ProcessHistoryID const &parentPhID, int runNumber)
 
virtual ~SubProcess ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void beginJob ()
 
void beginLuminosityBlock (LuminosityBlockPrincipal const &lb, IOVSyncValue const &ts)
 
void beginRun (RunPrincipal const &r, IOVSyncValue const &ts)
 
std::shared_ptr< BranchIDListHelper const > branchIDListHelper () const
 
std::shared_ptr< BranchIDListHelper > & branchIDListHelper ()
 
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID ()
 
void endJob ()
 
void endLuminosityBlock (LuminosityBlockPrincipal const &lb, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void endRun (RunPrincipal const &r, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void fixBranchIDListsForEDAliases (std::map< BranchID::value_type, BranchID::value_type > const &droppedBranchIDToKeptBranchID)
 
void keepThisBranch (BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
 
void processAsync (WaitingTaskHolder iHolder, EventPrincipal const &e)
 
void propagateProducts (BranchType type, Principal const &parentPrincipal, Principal &principal) const
 
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper () const
 
std::shared_ptr< ThinnedAssociationsHelperthinnedAssociationsHelper ()
 

Private Attributes

std::unique_ptr< ExceptionToActionTable const > act_table_
 
std::shared_ptr< ActivityRegistryactReg_
 
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
 
std::map< BranchID::value_type, BranchID::value_typedroppedBranchIDToKeptBranchID_
 
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
 
std::vector< HistoryAppenderhistoryAppenders_
 
unsigned int historyLumiOffset_
 
unsigned int historyRunOffset_
 
SelectedProductsForBranchType keptProducts_
 
std::shared_ptr< ProductRegistry const > parentPreg_
 
std::map< ProcessHistoryID, ProcessHistoryIDparentToChildPhID_
 
PathsAndConsumesOfModules pathsAndConsumesOfModules_
 
std::shared_ptr< ProductRegistry const > preg_
 
PrincipalCache principalCache_
 
std::shared_ptr< ProcessConfiguration const > processConfiguration_
 
ProcessContext processContext_
 
std::vector< ProcessHistoryRegistryprocessHistoryRegistries_
 
edm::propagate_const< std::unique_ptr< ParameterSet > > processParameterSet_
 
ProductSelector productSelector_
 
ProductSelectorRules productSelectorRules_
 
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
 
ParameterSetID selector_config_id_
 
detail::TriggerResultsBasedEventSelector selectors_
 
ServiceToken serviceToken_
 
std::vector< SubProcesssubProcesses_
 
edm::propagate_const< std::shared_ptr< SubProcessParentageHelper > > subProcessParentageHelper_
 
edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
 
bool wantAllEvents_
 

Additional Inherited Members

- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 43 of file SubProcess.h.

Constructor & Destructor Documentation

edm::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 at line 44 of file SubProcess.cc.

References edm::ScheduleItems::act_table_, act_table_, edm::ScheduleItems::actReg_, actReg_, edm::ScheduleItems::addCPRandTNS(), edm::ScheduleItems::branchIDListHelper(), branchIDListHelper(), branchIDListHelper_, edm::detail::configureEventSelector(), edm::ActivityRegistry::connectToSubProcess(), edm::EDConsumerBase::consumesCollector(), droppedBranchIDToKeptBranchID_, esp_, edm::ParameterSet::exists(), edm::getAllTriggerNames(), edm::ParameterSet::getUntrackedParameterSet(), historyAppenders_, historyRunOffset_, diffTreeTool::index, edm::ScheduleItems::initMisc(), edm::ScheduleItems::initSchedule(), edm::ScheduleItems::initServices(), edm::PrincipalCache::insert(), mps_monitormerge::items, edm::eventsetup::EventSetupsController::makeProvider(), Data_TkAlMuonIsolated_Run2015B_PromptReco_v1_cff::maxEvents, eostools::move(), edm::PreallocationConfiguration::numberOfStreams(), cmsPerfStripChart::operate(), edm::ParameterSet::popParameterSet(), edm::popSubProcessVParameterSet(), edm::ScheduleItems::preg(), preg_, principalCache_, edm::ScheduleItems::processConfiguration(), processConfiguration_, processContext_, processHistoryRegistries_, processParameterSet_, edm::ParameterSet::registerIt(), edm::detail::registerProperSelectionInfo(), schedule_, selector_config_id_, selectors_, selectProducts(), serviceToken_, edm::PrincipalCache::setNumberOfConcurrentPrincipals(), edm::ProcessContext::setParentProcessContext(), edm::ProcessContext::setProcessConfiguration(), edm::PrincipalCache::setProcessHistoryRegistry(), edm::IllegalParameters::setThrowAnException(), AlCaHLTBitMon_QueryRunRegistry::string, subProcesses_, edm::ScheduleItems::subProcessParentageHelper(), subProcessParentageHelper_, edm::ScheduleItems::thinnedAssociationsHelper(), thinnedAssociationsHelper(), thinnedAssociationsHelper_, ull, updateBranchIDListHelper(), and wantAllEvents_.

55  :
57  serviceToken_(),
58  parentPreg_(parentProductRegistry),
59  preg_(),
61  act_table_(),
63  historyLumiOffset_(preallocConfig.numberOfStreams()),
64  historyRunOffset_(historyLumiOffset_+preallocConfig.numberOfLuminosityBlocks()),
65  processHistoryRegistries_(historyRunOffset_+ preallocConfig.numberOfRuns()),
66  historyAppenders_(historyRunOffset_+preallocConfig.numberOfRuns()),
68  esp_(),
69  schedule_(),
71  subProcesses_(),
73  productSelectorRules_(parameterSet, "outputCommands", "OutputModule"),
75  wantAllEvents_(true) {
76 
77  //Setup the event selection
79 
80  ParameterSet selectevents =
81  parameterSet.getUntrackedParameterSet("SelectEvents", ParameterSet());
82 
83  selectevents.registerIt(); // Just in case this PSet is not registered
85  tns->getProcessName(),
87  selectors_,
89  std::map<std::string, std::vector<std::pair<std::string, int> > > outputModulePathPositions;
91  "",
92  outputModulePathPositions,
93  parentProductRegistry->anyProductProduced());
94 
95  std::map<BranchID, bool> keepAssociation;
96  selectProducts(*parentProductRegistry, parentThinnedAssociationsHelper, keepAssociation);
97 
98  std::string const maxEvents("maxEvents");
99  std::string const maxLumis("maxLuminosityBlocks");
100 
101  // propagate_const<T> has no reset() function
102  processParameterSet_ = std::unique_ptr<ParameterSet>(parameterSet.popParameterSet(std::string("process")).release());
103 
104  // if this process has a maxEvents or maxLuminosityBlocks parameter set, remove them.
105  if(processParameterSet_->exists(maxEvents)) {
106  processParameterSet_->popParameterSet(maxEvents);
107  }
108  if(processParameterSet_->exists(maxLumis)) {
109  processParameterSet_->popParameterSet(maxLumis);
110  }
111 
112  // if the top level process has a maxEvents or maxLuminosityBlocks parameter set, add them to this process.
113  if(topLevelParameterSet.exists(maxEvents)) {
114  processParameterSet_->addUntrackedParameter<ParameterSet>(maxEvents, topLevelParameterSet.getUntrackedParameterSet(maxEvents));
115  }
116  if(topLevelParameterSet.exists(maxLumis)) {
117  processParameterSet_->addUntrackedParameter<ParameterSet>(maxLumis, topLevelParameterSet.getUntrackedParameterSet(maxLumis));
118  }
119 
120  // If there are subprocesses, pop the subprocess parameter sets out of the process parameter set
121  auto subProcessVParameterSet = popSubProcessVParameterSet(*processParameterSet_);
122  bool hasSubProcesses = subProcessVParameterSet.size() != 0ull;
123 
124  ScheduleItems items(*parentProductRegistry, *this);
125  actReg_ = items.actReg_;
126 
127  ParameterSet const& optionsPset(processParameterSet_->getUntrackedParameterSet("options", ParameterSet()));
128  IllegalParameters::setThrowAnException(optionsPset.getUntrackedParameter<bool>("throwIfIllegalParameter", true));
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 
141  //make the services available
143 
144  // intialize miscellaneous items
145  items.initMisc(*processParameterSet_);
146 
147  // intialize the event setup provider
148  esp_ = esController.makeProvider(*processParameterSet_);
149 
150  branchIDListHelper_ = items.branchIDListHelper();
151  updateBranchIDListHelper(parentBranchIDListHelper->branchIDLists());
152 
153  thinnedAssociationsHelper_ = items.thinnedAssociationsHelper();
154  thinnedAssociationsHelper_->updateFromParentProcess(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 
172  processConfiguration_ = items.processConfiguration();
174  processContext_.setParentProcessContext(parentProcessContext);
175 
177  for(unsigned int index = 0; index < preallocConfig.numberOfStreams(); ++index) {
178  auto ep = std::make_shared<EventPrincipal>(preg_,
183  index,
184  false /*not primary process*/);
186  }
187 
188  subProcesses_.reserve(subProcessVParameterSet.size());
189  for(auto& subProcessPSet : subProcessVParameterSet) {
190  subProcesses_.emplace_back(subProcessPSet,
191  topLevelParameterSet,
192  preg_,
194  *thinnedAssociationsHelper_,
196  esController,
197  *items.actReg_,
198  newToken,
199  iLegacy,
200  preallocConfig,
201  &processContext_);
202  }
203  }
unsigned int historyRunOffset_
Definition: SubProcess.h:294
unsigned int historyLumiOffset_
Definition: SubProcess.h:293
ParameterSetID selector_config_id_
Definition: SubProcess.h:314
void insert(std::shared_ptr< RunPrincipal > rp)
void setNumberOfConcurrentPrincipals(PreallocationConfiguration const &)
std::shared_ptr< BranchIDListHelper const > branchIDListHelper() const
Definition: SubProcess.h:275
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
Definition: SubProcess.h:295
edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
Definition: SubProcess.h:285
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
void updateBranchIDListHelper(BranchIDLists const &)
Definition: SubProcess.cc:732
void setParentProcessContext(ProcessContext const *parentProcessContext)
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
#define ull
Definition: vppc_sim_lib.h:15
ServiceToken serviceToken_
Definition: SubProcess.h:281
void selectProducts(ProductRegistry const &preg, ThinnedAssociationsHelper const &parentThinnedAssociationsHelper, std::map< BranchID, bool > &keepAssociation)
Definition: SubProcess.cc:252
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
static void setThrowAnException(bool v)
ProductSelectorRules productSelectorRules_
Definition: SubProcess.h:309
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
edm::propagate_const< std::unique_ptr< ParameterSet > > processParameterSet_
Definition: SubProcess.h:302
bool configureEventSelector(edm::ParameterSet const &iPSet, std::string const &iProcessName, std::vector< std::string > const &iAllTriggerNames, edm::detail::TriggerResultsBasedEventSelector &oSelector, ConsumesCollector &&iC)
void setProcessConfiguration(ProcessConfiguration const *processConfiguration)
std::unique_ptr< ExceptionToActionTable const > act_table_
Definition: SubProcess.h:287
std::vector< ParameterSet > popSubProcessVParameterSet(ParameterSet &parameterSet)
Definition: SubProcess.cc:747
void setProcessHistoryRegistry(ProcessHistoryRegistry const &phr)
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: SubProcess.h:319
ProductSelector productSelector_
Definition: SubProcess.h:310
detail::TriggerResultsBasedEventSelector selectors_
Definition: SubProcess.h:315
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:300
std::shared_ptr< ActivityRegistry > actReg_
Definition: SubProcess.h:280
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
Definition: SubProcess.h:284
std::vector< HistoryAppender > historyAppenders_
Definition: SubProcess.h:296
std::vector< std::string > const & getAllTriggerNames()
std::shared_ptr< ProductRegistry const > parentPreg_
Definition: SubProcess.h:282
ProcessContext processContext_
Definition: SubProcess.h:289
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)
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper() const
Definition: SubProcess.h:277
std::shared_ptr< ProductRegistry const > preg_
Definition: SubProcess.h:283
PrincipalCache principalCache_
Definition: SubProcess.h:297
def move(src, dest)
Definition: eostools.py:510
edm::propagate_const< std::shared_ptr< SubProcessParentageHelper > > subProcessParentageHelper_
Definition: SubProcess.h:286
std::shared_ptr< ProcessConfiguration const > processConfiguration_
Definition: SubProcess.h:288
def operate(timelog, memlog, json_f, num)
edm::SubProcess::~SubProcess ( )
virtual

Definition at line 205 of file SubProcess.cc.

205 {}
edm::SubProcess::SubProcess ( SubProcess const &  )
delete
edm::SubProcess::SubProcess ( SubProcess &&  )
default

Member Function Documentation

void edm::SubProcess::beginJob ( void  )
private

Definition at line 219 of file SubProcess.cc.

References actReg_, edm::checkForModuleDependencyCorrectness(), droppedBranchIDToKeptBranchID(), fixBranchIDListsForEDAliases(), edm::for_all(), edm::InEvent, edm::PathsAndConsumesOfModules::initialize(), cmsPerfStripChart::operate(), parentPreg_, pathsAndConsumesOfModules_, preg_, processContext_, schedule_, serviceToken_, subProcesses_, and edm::EDConsumerBase::updateLookup().

Referenced by doBeginJob().

219  {
220  // If event selection is being used, the SubProcess class reads TriggerResults
221  // object(s) in the parent process from the event. This next call is needed for
222  // getByToken to work properly. Normally, this is done by the worker, but since
223  // a SubProcess is not a module, it has no worker.
224  updateLookup(InEvent, *parentPreg_->productLookup(InEvent),false);
225 
226  if(!droppedBranchIDToKeptBranchID().empty()) {
228  }
231  //NOTE: this may throw
233  actReg_->preBeginJobSignal_(pathsAndConsumesOfModules_, processContext_);
234  schedule_->beginJob(*preg_);
235  for_all(subProcesses_, [](auto& subProcess){ subProcess.doBeginJob(); });
236  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
void updateLookup(BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
PathsAndConsumesOfModules pathsAndConsumesOfModules_
Definition: SubProcess.h:290
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID()
Definition: SubProcess.h:271
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
void initialize(Schedule const *, std::shared_ptr< ProductRegistry const >)
ServiceToken serviceToken_
Definition: SubProcess.h:281
void checkForModuleDependencyCorrectness(edm::PathsAndConsumesOfModulesBase const &iPnC, bool iPrintDependencies)
std::shared_ptr< ActivityRegistry > actReg_
Definition: SubProcess.h:280
std::shared_ptr< ProductRegistry const > parentPreg_
Definition: SubProcess.h:282
void fixBranchIDListsForEDAliases(std::map< BranchID::value_type, BranchID::value_type > const &droppedBranchIDToKeptBranchID)
Definition: SubProcess.cc:318
ProcessContext processContext_
Definition: SubProcess.h:289
std::shared_ptr< ProductRegistry const > preg_
Definition: SubProcess.h:283
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::beginLuminosityBlock ( LuminosityBlockPrincipal const &  lb,
IOVSyncValue const &  ts 
)
private

Definition at line 509 of file SubProcess.cc.

References printConversionInfo::aux, edm::LuminosityBlockPrincipal::aux(), esp_, edm::for_all(), historyAppenders_, historyLumiOffset_, edm::LuminosityBlockPrincipal::index(), edm::InLumi, edm::PrincipalCache::insert(), edm::PrincipalCache::lumiPrincipalPtr(), preg_, principalCache_, processConfiguration_, edm::Principal::processHistory(), edm::Principal::processHistoryID(), processHistoryRegistries_, propagateProducts(), edm::Principal::reader(), edm::PrincipalCache::runPrincipalPtr(), schedule_, and subProcesses_.

Referenced by doBeginLuminosityBlock().

509  {
510  auto aux = std::make_shared<LuminosityBlockAuxiliary>(principal.aux());
511  aux->setProcessHistoryID(principal.processHistoryID());
512  auto lbpp = std::make_shared<LuminosityBlockPrincipal>(aux, preg_, *processConfiguration_, &(historyAppenders_[historyLumiOffset_+principal.index()]),principal.index(),false);
513  auto & processHistoryRegistry = processHistoryRegistries_[historyLumiOffset_+principal.index()];
514  processHistoryRegistry.registerProcessHistory(principal.processHistory());
515  lbpp->fillLuminosityBlockPrincipal(processHistoryRegistry, principal.reader());
516  lbpp->setRunPrincipal(principalCache_.runPrincipalPtr());
517  principalCache_.insert(lbpp);
518  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
520  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionGlobalBegin> Traits;
521  schedule_->processOneGlobal<Traits>(lbp, esp_->eventSetupForInstance(ts));
522  for_all(subProcesses_, [&lbp, &ts](auto& subProcess){ subProcess.doBeginLuminosityBlock(lbp, ts); });
523  }
unsigned int historyLumiOffset_
Definition: SubProcess.h:293
void insert(std::shared_ptr< RunPrincipal > rp)
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
Definition: SubProcess.h:295
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
def principal(options)
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
std::vector< HistoryAppender > historyAppenders_
Definition: SubProcess.h:296
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:716
std::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
std::shared_ptr< ProductRegistry const > preg_
Definition: SubProcess.h:283
PrincipalCache principalCache_
Definition: SubProcess.h:297
std::shared_ptr< ProcessConfiguration const > processConfiguration_
Definition: SubProcess.h:288
void edm::SubProcess::beginRun ( RunPrincipal const &  r,
IOVSyncValue const &  ts 
)
private

Definition at line 416 of file SubProcess.cc.

References printConversionInfo::aux, edm::RunPrincipal::aux(), esp_, edm::for_all(), historyAppenders_, historyRunOffset_, edm::RunPrincipal::index(), edm::InRun, edm::PrincipalCache::insert(), parentToChildPhID_, preg_, principalCache_, processConfiguration_, edm::Principal::processHistory(), edm::Principal::processHistoryID(), processHistoryRegistries_, propagateProducts(), edm::Principal::reader(), edm::RunPrincipal::reducedProcessHistoryID(), edm::PrincipalCache::runPrincipalPtr(), schedule_, and subProcesses_.

Referenced by doBeginRun().

416  {
417  auto aux = std::make_shared<RunAuxiliary>(principal.aux());
418  aux->setProcessHistoryID(principal.processHistoryID());
419  auto rpp = std::make_shared<RunPrincipal>(aux, preg_, *processConfiguration_, &(historyAppenders_[historyRunOffset_+principal.index()]),principal.index(),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 
430  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
432  typedef OccurrenceTraits<RunPrincipal, BranchActionGlobalBegin> Traits;
433  schedule_->processOneGlobal<Traits>(rp, esp_->eventSetupForInstance(ts));
434  for_all(subProcesses_, [&rp, &ts](auto& subProcess){ subProcess.doBeginRun(rp, ts); });
435  }
unsigned int historyRunOffset_
Definition: SubProcess.h:294
void insert(std::shared_ptr< RunPrincipal > rp)
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
Definition: SubProcess.h:295
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
def principal(options)
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
Hash< ProcessHistoryType > ProcessHistoryID
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:300
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
std::vector< HistoryAppender > historyAppenders_
Definition: SubProcess.h:296
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:716
std::shared_ptr< ProductRegistry const > preg_
Definition: SubProcess.h:283
PrincipalCache principalCache_
Definition: SubProcess.h:297
std::shared_ptr< ProcessConfiguration const > processConfiguration_
Definition: SubProcess.h:288
std::shared_ptr<BranchIDListHelper const> edm::SubProcess::branchIDListHelper ( ) const
inlineprivate

Definition at line 275 of file SubProcess.h.

References edm::get_underlying_safe().

Referenced by SubProcess().

std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
Definition: SubProcess.h:284
std::shared_ptr<BranchIDListHelper>& edm::SubProcess::branchIDListHelper ( )
inlineprivate

Definition at line 276 of file SubProcess.h.

References edm::get_underlying_safe().

std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
Definition: SubProcess.h:284
void edm::SubProcess::clearCounters ( )
inline

Clear all the counters in the trigger report.

Definition at line 250 of file SubProcess.h.

References bk::beginJob(), MillePedeFileConverter_cfg::e, Ecal2004TBTDCRanges_v1_cff::endRun, edm::for_all(), cmsPerfStripChart::operate(), and alignCSCRings::r.

250  {
252  schedule_->clearCounters();
253  for_all(subProcesses_, [](auto& subProcess){ subProcess.clearCounters(); });
254  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::closeOutputFiles ( )
inline

Definition at line 128 of file SubProcess.h.

References edm::for_all(), and cmsPerfStripChart::operate().

128  {
130  schedule_->closeOutputFiles();
131  for_all(subProcesses_, [](auto& subProcess) { subProcess.closeOutputFiles(); });
132  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::deleteLumiFromCache ( ProcessHistoryID const &  parentPhID,
int  runNumber,
int  lumiNumber 
)

Definition at line 576 of file SubProcess.cc.

References edm::PrincipalCache::deleteLumi(), edm::for_all(), parentToChildPhID_, principalCache_, and subProcesses_.

576  {
577  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
578  assert(it != parentToChildPhID_.end());
579  auto const& childPhID = it->second;
580  principalCache_.deleteLumi(childPhID, runNumber, lumiNumber);
581  for_all(subProcesses_, [&childPhID, runNumber, lumiNumber](auto& subProcess){ subProcess.deleteLumiFromCache(childPhID, runNumber, lumiNumber); });
582  }
void deleteLumi(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi)
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:300
PrincipalCache principalCache_
Definition: SubProcess.h:297
void edm::SubProcess::deleteRunFromCache ( ProcessHistoryID const &  parentPhID,
int  runNumber 
)

Definition at line 494 of file SubProcess.cc.

References edm::PrincipalCache::deleteRun(), edm::for_all(), parentToChildPhID_, principalCache_, and subProcesses_.

494  {
495  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
496  assert(it != parentToChildPhID_.end());
497  auto const& childPhID = it->second;
498  principalCache_.deleteRun(childPhID, runNumber);
499  for_all(subProcesses_, [&childPhID, runNumber](auto& subProcess){ subProcess.deleteRunFromCache(childPhID, runNumber); });
500  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:300
void deleteRun(ProcessHistoryID const &phid, RunNumber_t run)
PrincipalCache principalCache_
Definition: SubProcess.h:297
void edm::SubProcess::doBeginJob ( )

Definition at line 208 of file SubProcess.cc.

References beginJob().

208  {
209  this->beginJob();
210  }
void edm::SubProcess::doBeginLuminosityBlock ( LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 503 of file SubProcess.cc.

References beginLuminosityBlock(), cmsPerfStripChart::operate(), and serviceToken_.

503  {
506  }
ServiceToken serviceToken_
Definition: SubProcess.h:281
def principal(options)
void beginLuminosityBlock(LuminosityBlockPrincipal const &lb, IOVSyncValue const &ts)
Definition: SubProcess.cc:509
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doBeginLuminosityBlockAsync ( WaitingTaskHolder  iHolder,
LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 526 of file SubProcess.cc.

References printConversionInfo::aux, edm::LuminosityBlockPrincipal::aux(), esp_, historyAppenders_, historyLumiOffset_, edm::LuminosityBlockPrincipal::index(), edm::InLumi, edm::PrincipalCache::insert(), edm::PrincipalCache::lumiPrincipalPtr(), eostools::move(), cmsPerfStripChart::operate(), preg_, principalCache_, processConfiguration_, edm::Principal::processHistory(), edm::Principal::processHistoryID(), processHistoryRegistries_, propagateProducts(), edm::Principal::reader(), edm::PrincipalCache::runPrincipalPtr(), schedule_, serviceToken_, and subProcesses_.

Referenced by edm::subProcessDoGlobalBeginTransitionAsync().

526  {
528 
529  auto aux = std::make_shared<LuminosityBlockAuxiliary>(principal.aux());
530  aux->setProcessHistoryID(principal.processHistoryID());
531  auto lbpp = std::make_shared<LuminosityBlockPrincipal>(aux, preg_, *processConfiguration_, &(historyAppenders_[historyLumiOffset_+principal.index()]),principal.index(),false);
532  auto & processHistoryRegistry = processHistoryRegistries_[historyLumiOffset_+principal.index()];
533  processHistoryRegistry.registerProcessHistory(principal.processHistory());
534  lbpp->fillLuminosityBlockPrincipal(processHistoryRegistry, principal.reader());
535  lbpp->setRunPrincipal(principalCache_.runPrincipalPtr());
536  principalCache_.insert(lbpp);
537  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
539  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionGlobalBegin> Traits;
540  beginGlobalTransitionAsync<Traits>(std::move(iHolder),
541  *schedule_,
542  lbp,
543  ts,
544  esp_->eventSetupForInstance(ts),
545  subProcesses_);
546  }
unsigned int historyLumiOffset_
Definition: SubProcess.h:293
void insert(std::shared_ptr< RunPrincipal > rp)
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
Definition: SubProcess.h:295
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
def principal(options)
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
std::vector< HistoryAppender > historyAppenders_
Definition: SubProcess.h:296
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:716
std::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
std::shared_ptr< ProductRegistry const > preg_
Definition: SubProcess.h:283
PrincipalCache principalCache_
Definition: SubProcess.h:297
def move(src, dest)
Definition: eostools.py:510
std::shared_ptr< ProcessConfiguration const > processConfiguration_
Definition: SubProcess.h:288
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doBeginRun ( RunPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 410 of file SubProcess.cc.

References beginRun(), cmsPerfStripChart::operate(), and serviceToken_.

410  {
412  beginRun(principal,ts);
413  }
void beginRun(RunPrincipal const &r, IOVSyncValue const &ts)
Definition: SubProcess.cc:416
ServiceToken serviceToken_
Definition: SubProcess.h:281
def principal(options)
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doBeginRunAsync ( WaitingTaskHolder  iHolder,
RunPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 438 of file SubProcess.cc.

References printConversionInfo::aux, edm::RunPrincipal::aux(), esp_, historyAppenders_, historyRunOffset_, edm::RunPrincipal::index(), edm::InRun, edm::PrincipalCache::insert(), eostools::move(), cmsPerfStripChart::operate(), parentToChildPhID_, preg_, principalCache_, processConfiguration_, edm::Principal::processHistory(), edm::Principal::processHistoryID(), processHistoryRegistries_, propagateProducts(), edm::Principal::reader(), edm::RunPrincipal::reducedProcessHistoryID(), edm::PrincipalCache::runPrincipalPtr(), schedule_, serviceToken_, and subProcesses_.

Referenced by edm::subProcessDoGlobalBeginTransitionAsync().

438  {
440 
441  auto aux = std::make_shared<RunAuxiliary>(principal.aux());
442  aux->setProcessHistoryID(principal.processHistoryID());
443  auto rpp = std::make_shared<RunPrincipal>(aux, preg_, *processConfiguration_, &(historyAppenders_[historyRunOffset_+principal.index()]),principal.index(),false);
444  auto & processHistoryRegistry = processHistoryRegistries_[historyRunOffset_+principal.index()];
445  processHistoryRegistry.registerProcessHistory(principal.processHistory());
446  rpp->fillRunPrincipal(processHistoryRegistry, principal.reader());
447  principalCache_.insert(rpp);
448 
449  ProcessHistoryID const& parentInputReducedPHID = principal.reducedProcessHistoryID();
450  ProcessHistoryID const& inputReducedPHID = rpp->reducedProcessHistoryID();
451 
452  parentToChildPhID_.insert(std::make_pair(parentInputReducedPHID,inputReducedPHID));
453 
454  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
456  typedef OccurrenceTraits<RunPrincipal, BranchActionGlobalBegin> Traits;
457  beginGlobalTransitionAsync<Traits>(std::move(iHolder),
458  *schedule_,
459  rp,
460  ts,
461  esp_->eventSetupForInstance(ts),
462  subProcesses_);
463  }
unsigned int historyRunOffset_
Definition: SubProcess.h:294
void insert(std::shared_ptr< RunPrincipal > rp)
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
Definition: SubProcess.h:295
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
def principal(options)
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
Hash< ProcessHistoryType > ProcessHistoryID
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:300
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
std::vector< HistoryAppender > historyAppenders_
Definition: SubProcess.h:296
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:716
std::shared_ptr< ProductRegistry const > preg_
Definition: SubProcess.h:283
PrincipalCache principalCache_
Definition: SubProcess.h:297
def move(src, dest)
Definition: eostools.py:510
std::shared_ptr< ProcessConfiguration const > processConfiguration_
Definition: SubProcess.h:288
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doBeginStream ( unsigned int  iID)

Definition at line 585 of file SubProcess.cc.

References edm::for_all(), cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcesses_.

585  {
587  schedule_->beginStream(iID);
588  for_all(subProcesses_, [iID](auto& subProcess){ subProcess.doBeginStream(iID); });
589  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doEndJob ( )

Definition at line 213 of file SubProcess.cc.

References endJob().

Referenced by edm::EventProcessor::endJob().

213  {
214  endJob();
215  }
void edm::SubProcess::doEndLuminosityBlock ( LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)

Definition at line 549 of file SubProcess.cc.

References endLuminosityBlock(), cmsPerfStripChart::operate(), and serviceToken_.

549  {
551  endLuminosityBlock(principal,ts,cleaningUpAfterException);
552  }
ServiceToken serviceToken_
Definition: SubProcess.h:281
def principal(options)
void endLuminosityBlock(LuminosityBlockPrincipal const &lb, IOVSyncValue const &ts, bool cleaningUpAfterException)
Definition: SubProcess.cc:555
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doEndRun ( RunPrincipal const &  principal,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)

Definition at line 467 of file SubProcess.cc.

References endRun(), cmsPerfStripChart::operate(), and serviceToken_.

467  {
469  endRun(principal,ts,cleaningUpAfterException);
470  }
ServiceToken serviceToken_
Definition: SubProcess.h:281
def principal(options)
void endRun(RunPrincipal const &r, IOVSyncValue const &ts, bool cleaningUpAfterException)
Definition: SubProcess.cc:473
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doEndStream ( unsigned int  iID)

Definition at line 592 of file SubProcess.cc.

References edm::for_all(), cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcesses_.

592  {
594  schedule_->endStream(iID);
595  for_all(subProcesses_, [iID](auto& subProcess){ subProcess.doEndStream(iID); });
596  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doEventAsync ( WaitingTaskHolder  iHolder,
EventPrincipal const &  principal 
)

Definition at line 333 of file SubProcess.cc.

References MillePedeFileConverter_cfg::e, eostools::move(), cmsPerfStripChart::operate(), processAsync(), selectors_, serviceToken_, edm::OccurrenceForOutput::setConsumer(), wantAllEvents_, and edm::detail::TriggerResultsBasedEventSelector::wantEvent().

334  {
336  /* BEGIN relevant bits from OutputModule::doEvent */
337  if(!wantAllEvents_) {
338  EventForOutput e(ep, ModuleDescription(), nullptr);
339  e.setConsumer(this);
340  if(!selectors_.wantEvent(e)) {
341  return;
342  }
343  }
344  processAsync(std::move(iHolder),ep);
345  /* END relevant bits from OutputModule::doEvent */
346  }
ServiceToken serviceToken_
Definition: SubProcess.h:281
void processAsync(WaitingTaskHolder iHolder, EventPrincipal const &e)
Definition: SubProcess.cc:349
detail::TriggerResultsBasedEventSelector selectors_
Definition: SubProcess.h:315
def move(src, dest)
Definition: eostools.py:510
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doStreamBeginLuminosityBlock ( unsigned int  iID,
LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 657 of file SubProcess.cc.

References esp_, edm::for_all(), hcalTTPDigis_cfi::id, edm::PrincipalCache::lumiPrincipalPtr(), cmsPerfStripChart::operate(), principalCache_, schedule_, serviceToken_, and subProcesses_.

657  {
659  {
660  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
661  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionStreamBegin> Traits;
662  schedule_->processOneStream<Traits>(id,lbp, esp_->eventSetupForInstance(ts));
663  for_all(subProcesses_, [id, &lbp, &ts](auto& subProcess){ subProcess.doStreamBeginLuminosityBlock(id,lbp, ts); });
664  }
665  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doStreamBeginLuminosityBlockAsync ( WaitingTaskHolder  iHolder,
unsigned int  iID,
LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 667 of file SubProcess.cc.

References esp_, hcalTTPDigis_cfi::id, edm::PrincipalCache::lumiPrincipalPtr(), eostools::move(), cmsPerfStripChart::operate(), principalCache_, schedule_, serviceToken_, and subProcesses_.

Referenced by edm::subProcessDoStreamBeginTransitionAsync().

668  {
670 
671  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionStreamBegin> Traits;
672 
673  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
674 
675  beginStreamTransitionAsync<Traits>(std::move(iHolder),
676  *schedule_,
677  id,
678  lbp,
679  ts,
680  esp_->eventSetupForInstance(ts),
681  subProcesses_);
682  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def move(src, dest)
Definition: eostools.py:510
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doStreamBeginRun ( unsigned int  iID,
RunPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 599 of file SubProcess.cc.

References esp_, edm::for_all(), hcalTTPDigis_cfi::id, cmsPerfStripChart::operate(), principalCache_, edm::PrincipalCache::runPrincipalPtr(), schedule_, serviceToken_, and subProcesses_.

599  {
601  {
602  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
603  typedef OccurrenceTraits<RunPrincipal, BranchActionStreamBegin> Traits;
604  schedule_->processOneStream<Traits>(id,rp, esp_->eventSetupForInstance(ts));
605  for_all(subProcesses_, [id, &rp, &ts](auto& subProcess){ subProcess.doStreamBeginRun(id,rp, ts); });
606  }
607  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doStreamBeginRunAsync ( WaitingTaskHolder  iHolder,
unsigned int  iID,
RunPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 609 of file SubProcess.cc.

References esp_, hcalTTPDigis_cfi::id, eostools::move(), cmsPerfStripChart::operate(), principalCache_, edm::PrincipalCache::runPrincipalPtr(), schedule_, serviceToken_, and subProcesses_.

Referenced by edm::subProcessDoStreamBeginTransitionAsync().

610  {
612 
613  typedef OccurrenceTraits<RunPrincipal, BranchActionStreamBegin> Traits;
614 
615  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
616 
617  beginStreamTransitionAsync<Traits>(std::move(iHolder),
618  *schedule_,
619  id,
620  rp,
621  ts,
622  esp_->eventSetupForInstance(ts),
623  subProcesses_);
624 
625  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def move(src, dest)
Definition: eostools.py:510
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doStreamEndLuminosityBlock ( unsigned int  iID,
LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)

Definition at line 687 of file SubProcess.cc.

References esp_, edm::for_all(), hcalTTPDigis_cfi::id, edm::PrincipalCache::lumiPrincipalPtr(), cmsPerfStripChart::operate(), principalCache_, schedule_, serviceToken_, and subProcesses_.

687  {
689  {
690  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
691  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionStreamEnd> Traits;
692  schedule_->processOneStream<Traits>(id,lbp, esp_->eventSetupForInstance(ts),cleaningUpAfterException);
693  for_all(subProcesses_, [id, &lbp, &ts, cleaningUpAfterException](auto& subProcess){ subProcess.doStreamEndLuminosityBlock(id,lbp, ts,cleaningUpAfterException); });
694  }
695  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doStreamEndLuminosityBlockAsync ( WaitingTaskHolder  iHolder,
unsigned int  iID,
LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)

Definition at line 698 of file SubProcess.cc.

References esp_, hcalTTPDigis_cfi::id, edm::PrincipalCache::lumiPrincipalPtr(), eostools::move(), cmsPerfStripChart::operate(), principalCache_, schedule_, serviceToken_, and subProcesses_.

Referenced by edm::subProcessDoStreamEndTransitionAsync().

699  {
701 
702  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
703  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionStreamEnd> Traits;
704  endStreamTransitionAsync<Traits>(std::move(iHolder),
705  *schedule_,
706  id,
707  lbp,
708  ts,
709  esp_->eventSetupForInstance(ts),
711  cleaningUpAfterException);
712  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def move(src, dest)
Definition: eostools.py:510
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doStreamEndRun ( unsigned int  iID,
RunPrincipal const &  principal,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)

Definition at line 629 of file SubProcess.cc.

References esp_, edm::for_all(), hcalTTPDigis_cfi::id, cmsPerfStripChart::operate(), principalCache_, edm::PrincipalCache::runPrincipalPtr(), schedule_, serviceToken_, and subProcesses_.

629  {
631  {
632  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
633  typedef OccurrenceTraits<RunPrincipal, BranchActionStreamEnd> Traits;
634  schedule_->processOneStream<Traits>(id,rp, esp_->eventSetupForInstance(ts),cleaningUpAfterException);
635  for_all(subProcesses_, [id, &rp, &ts, cleaningUpAfterException](auto& subProcess){ subProcess.doStreamEndRun(id,rp, ts,cleaningUpAfterException); });
636  }
637  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::doStreamEndRunAsync ( WaitingTaskHolder  iHolder,
unsigned int  iID,
RunPrincipal const &  principal,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)

Definition at line 640 of file SubProcess.cc.

References esp_, hcalTTPDigis_cfi::id, eostools::move(), cmsPerfStripChart::operate(), principalCache_, edm::PrincipalCache::runPrincipalPtr(), schedule_, serviceToken_, and subProcesses_.

Referenced by edm::subProcessDoStreamEndTransitionAsync().

641  {
643  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
644  typedef OccurrenceTraits<RunPrincipal, BranchActionStreamEnd> Traits;
645 
646  endStreamTransitionAsync<Traits>(std::move(iHolder),
647  *schedule_,
648  id,
649  rp,
650  ts,
651  esp_->eventSetupForInstance(ts),
653  cleaningUpAfterException);
654  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def move(src, dest)
Definition: eostools.py:510
def operate(timelog, memlog, json_f, num)
std::map<BranchID::value_type, BranchID::value_type> const& edm::SubProcess::droppedBranchIDToKeptBranchID ( )
inlineprivate

Definition at line 271 of file SubProcess.h.

Referenced by beginJob().

271  {
273  }
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: SubProcess.h:319
void edm::SubProcess::enableEndPaths ( bool  active)
inline

Turn end_paths "off" if "active" is false; Turn end_paths "on" if "active" is true.

Definition at line 215 of file SubProcess.h.

References edm::for_all(), and cmsPerfStripChart::operate().

215  {
217  schedule_->enableEndPaths(active);
218  for_all(subProcesses_, [active](auto& subProcess){ subProcess.enableEndPaths(active); });
219  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::endJob ( void  )
private

Definition at line 239 of file SubProcess.cc.

References EnergyCorrector::c, edm::ExceptionCollector::call(), edm::ExceptionCollector::hasThrown(), cmsPerfStripChart::operate(), edm::ExceptionCollector::rethrow(), schedule_, serviceToken_, and subProcesses_.

Referenced by doEndJob().

239  {
241  ExceptionCollector c("Multiple exceptions were thrown while executing endJob. An exception message follows for each.");
242  schedule_->endJob(c);
243  for(auto& subProcess : subProcesses_) {
244  c.call([&subProcess](){ subProcess.doEndJob();});
245  }
246  if(c.hasThrown()) {
247  c.rethrow();
248  }
249  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::endLuminosityBlock ( LuminosityBlockPrincipal const &  lb,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)
private

Definition at line 555 of file SubProcess.cc.

References esp_, edm::for_all(), edm::InLumi, edm::PrincipalCache::lumiPrincipalPtr(), principalCache_, propagateProducts(), schedule_, edm::Principal::setAtEndTransition(), edm::LuminosityBlockPrincipal::setComplete(), and subProcesses_.

Referenced by doEndLuminosityBlock().

555  {
556  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
557  lbp.setComplete();
559  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionGlobalEnd> Traits;
560  lbp.setAtEndTransition(true);
561  schedule_->processOneGlobal<Traits>(lbp, esp_->eventSetupForInstance(ts), cleaningUpAfterException);
562  for_all(subProcesses_, [&lbp, &ts, cleaningUpAfterException](auto& subProcess){ subProcess.doEndLuminosityBlock(lbp, ts, cleaningUpAfterException); });
563  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
def principal(options)
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:716
std::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
bool edm::SubProcess::endPathsEnabled ( ) const
inline

Return true if end_paths are active, and false if they are inactive.

Definition at line 222 of file SubProcess.h.

References cmsPerfStripChart::operate().

222  {
224  return schedule_->endPathsEnabled();
225  }
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::endRun ( RunPrincipal const &  r,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)
private

Definition at line 473 of file SubProcess.cc.

References esp_, edm::for_all(), edm::InRun, principalCache_, propagateProducts(), edm::PrincipalCache::runPrincipalPtr(), schedule_, edm::Principal::setAtEndTransition(), edm::RunPrincipal::setComplete(), and subProcesses_.

Referenced by doEndRun().

473  {
474  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
475  rp.setComplete();
477  typedef OccurrenceTraits<RunPrincipal, BranchActionGlobalEnd> Traits;
478  rp.setAtEndTransition(true);
479  schedule_->processOneGlobal<Traits>(rp, esp_->eventSetupForInstance(ts), cleaningUpAfterException);
480  for_all(subProcesses_, [&rp, &ts, cleaningUpAfterException](auto& subProcess){ subProcess.doEndRun(rp, ts, cleaningUpAfterException); });
481  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
def principal(options)
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
std::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:716
PrincipalCache principalCache_
Definition: SubProcess.h:297
void edm::SubProcess::fixBranchIDListsForEDAliases ( std::map< BranchID::value_type, BranchID::value_type > const &  droppedBranchIDToKeptBranchID)
private

Definition at line 318 of file SubProcess.cc.

References branchIDListHelper_, edm::for_all(), and subProcesses_.

Referenced by beginJob().

318  {
319  // Check for branches dropped while an EDAlias was kept.
320  // Replace BranchID of each dropped branch with that of the kept alias.
321  for(BranchIDList& branchIDList : branchIDListHelper_->mutableBranchIDLists()) {
322  for(BranchID::value_type& branchID : branchIDList) {
323  std::map<BranchID::value_type, BranchID::value_type>::const_iterator iter = droppedBranchIDToKeptBranchID.find(branchID);
324  if(iter != droppedBranchIDToKeptBranchID.end()) {
325  branchID = iter->second;
326  }
327  }
328  }
329  for_all(subProcesses_, [&droppedBranchIDToKeptBranchID](auto& subProcess){ subProcess.fixBranchIDListsForEDAliases(droppedBranchIDToKeptBranchID); });
330  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID()
Definition: SubProcess.h:271
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
unsigned int value_type
Definition: BranchID.h:16
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
Definition: SubProcess.h:284
std::vector< BranchID::value_type > BranchIDList
Definition: BranchIDList.h:18
std::vector<ModuleDescription const*> edm::SubProcess::getAllModuleDescriptions ( ) const

Return a vector allowing const access to all the ModuleDescriptions for this SubProcess.

*** N.B. *** Ownership of the ModuleDescriptions is not *** passed to the caller. Do not call delete on these *** pointers!

void edm::SubProcess::getTriggerReport ( TriggerReport rep) const
inline

Return the trigger report information on paths, modules-in-path, modules-in-endpath, and modules.

Definition at line 229 of file SubProcess.h.

References cmsPerfStripChart::operate().

229  {
231  schedule_->getTriggerReport(rep);
232  }
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
rep
Definition: cuy.py:1188
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::keepThisBranch ( BranchDescription const &  desc,
std::map< BranchID, BranchDescription const * > &  trueBranchIDToKeptBranchDesc,
std::set< BranchID > &  keptProductsInEvent 
)
private

Definition at line 294 of file SubProcess.cc.

References edm::BranchDescription::branchID(), edm::BranchDescription::branchType(), edm::ProductSelector::checkForDuplicateKeptBranch(), edm::EDConsumerBase::consumes(), edm::InEvent, keptProducts_, edm::BranchDescription::moduleLabel(), edm::BranchDescription::originalBranchID(), edm::BranchDescription::processName(), edm::BranchDescription::produced(), edm::PRODUCT_TYPE, edm::BranchDescription::productInstanceName(), and edm::BranchDescription::unwrappedTypeID().

Referenced by selectProducts().

296  {
297 
299  trueBranchIDToKeptBranchDesc);
300 
301  if(desc.branchType() == InEvent) {
302  if(desc.produced()) {
303  keptProductsInEvent.insert(desc.originalBranchID());
304  } else {
305  keptProductsInEvent.insert(desc.branchID());
306  }
307  }
308  EDGetToken token = consumes(TypeToGet{desc.unwrappedTypeID(),PRODUCT_TYPE},
309  InputTag{desc.moduleLabel(),
310  desc.productInstanceName(),
311  desc.processName()});
312 
313  // Now put it in the list of selected branches.
314  keptProducts_[desc.branchType()].push_back(std::make_pair(&desc, token));
315  }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
SelectedProductsForBranchType keptProducts_
Definition: SubProcess.h:308
static void checkForDuplicateKeptBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc)
SelectedProductsForBranchType const& edm::SubProcess::keptProducts ( ) const
inline

Definition at line 70 of file SubProcess.h.

References cmsRelvalreport::principal(), and convertSQLiteXML::runNumber.

Referenced by propagateProducts(), and edm::ScheduleItems::ScheduleItems().

70 {return keptProducts_;}
SelectedProductsForBranchType keptProducts_
Definition: SubProcess.h:308
void edm::SubProcess::openNewOutputFilesIfNeeded ( )
inline

Definition at line 135 of file SubProcess.h.

References edm::for_all(), and cmsPerfStripChart::operate().

135  {
137  schedule_->openNewOutputFilesIfNeeded();
138  for_all(subProcesses_, [](auto& subProcess) { subProcess.openNewOutputFilesIfNeeded(); });
139  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::openOutputFiles ( FileBlock fb)
inline

Definition at line 142 of file SubProcess.h.

References benchmark_cfg::fb, edm::for_all(), and cmsPerfStripChart::operate().

142  {
144  schedule_->openOutputFiles(fb);
145  for_all(subProcesses_, [&fb](auto& subProcess) { subProcess.openOutputFiles(fb); });
146  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
SubProcess& edm::SubProcess::operator= ( SubProcess const &  )
delete
SubProcess& edm::SubProcess::operator= ( SubProcess &&  )
default
void edm::SubProcess::postForkReacquireResources ( unsigned int  iChildIndex,
unsigned int  iNumberOfChildren 
)
inline

Definition at line 180 of file SubProcess.h.

References edm::for_all(), and cmsPerfStripChart::operate().

180  {
182  schedule_->postForkReacquireResources(iChildIndex, iNumberOfChildren);
183  for_all(subProcesses_, [iChildIndex, iNumberOfChildren](auto& subProcess){ subProcess.postForkReacquireResources(iChildIndex, iNumberOfChildren); });
184  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::preForkReleaseResources ( )
inline

Definition at line 174 of file SubProcess.h.

References edm::for_all(), and cmsPerfStripChart::operate().

174  {
176  schedule_->preForkReleaseResources();
177  for_all(subProcesses_, [](auto& subProcess){ subProcess.preForkReleaseResources(); });
178  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::processAsync ( WaitingTaskHolder  iHolder,
EventPrincipal const &  e 
)
private

Definition at line 349 of file SubProcess.cc.

References edm::ProductRegistry::anyProductProduced(), printConversionInfo::aux, edm::EventPrincipal::aux(), branchIDListHelper_, edm::EventPrincipal::branchListIndexes(), edm::EventPrincipal::clearEventPrincipal(), edm::WaitingTaskHolder::doneWaiting(), esp_, edm::PrincipalCache::eventPrincipal(), edm::EventPrincipal::eventSelectionIDs(), edm::EventPrincipal::fillEventPrincipal(), edm::InEvent, edm::PrincipalCache::lumiPrincipalPtr(), edm::make_waiting_task(), eostools::move(), principalCache_, edm::Principal::processHistory(), edm::Principal::processHistoryID(), processHistoryRegistries_, edm::EventPrincipal::productProvenanceRetrieverPtr(), edm::Principal::productRegistry(), propagateProducts(), edm::Principal::reader(), groupFilesInBlocks::reverse, schedule_, selector_config_id_, edm::EventPrincipal::setLuminosityBlockPrincipal(), edm::EventPrincipal::streamID(), subProcesses_, edm::StreamID::value(), and wantAllEvents_.

Referenced by doEventAsync().

350  {
351  EventAuxiliary aux(principal.aux());
352  aux.setProcessHistoryID(principal.processHistoryID());
353 
354  EventSelectionIDVector esids{principal.eventSelectionIDs()};
355  if (principal.productRegistry().anyProductProduced() || !wantAllEvents_) {
356  esids.push_back(selector_config_id_);
357  }
358 
359  EventPrincipal& ep = principalCache_.eventPrincipal(principal.streamID().value());
360  auto & processHistoryRegistry = processHistoryRegistries_[principal.streamID().value()];
361  processHistoryRegistry.registerProcessHistory(principal.processHistory());
362  BranchListIndexes bli(principal.branchListIndexes());
363  branchIDListHelper_->fixBranchListIndexes(bli);
364  bool deepCopyRetriever = false;
365  ep.fillEventPrincipal(aux,
366  processHistoryRegistry,
367  std::move(esids),
368  std::move(bli),
369  *(principal.productProvenanceRetrieverPtr()),//NOTE: this transfers the per product provenance
370  principal.reader(),
371  deepCopyRetriever);
372  ep.setLuminosityBlockPrincipal(principalCache_.lumiPrincipalPtr());
374 
375  WaitingTaskHolder finalizeEventTask( make_waiting_task(tbb::task::allocate_root(),
376  [this,&ep,iHolder](std::exception_ptr const* iPtr) mutable
377  {
378  ep.clearEventPrincipal();
379  if(iPtr) {
380  iHolder.doneWaiting(*iPtr);
381  } else {
382  iHolder.doneWaiting(std::exception_ptr());
383  }
384  }
385  )
386  );
387  WaitingTaskHolder afterProcessTask;
388  if(subProcesses_.empty()) {
389  afterProcessTask = std::move(finalizeEventTask);
390  } else {
391  afterProcessTask = WaitingTaskHolder(
392  make_waiting_task(tbb::task::allocate_root(),
393  [this,&ep,finalizeEventTask] (std::exception_ptr const* iPtr) mutable{
394  if(not iPtr) {
395  for(auto& subProcess: boost::adaptors::reverse(subProcesses_)) {
396  subProcess.doEventAsync(finalizeEventTask,ep);
397  }
398  } else {
399  finalizeEventTask.doneWaiting(*iPtr);
400  }
401  })
402  );
403  }
404 
405  schedule_->processOneEventAsync(std::move(afterProcessTask),
406  ep.streamID().value(),ep, esp_->eventSetup());
407  }
ParameterSetID selector_config_id_
Definition: SubProcess.h:314
std::vector< ProcessHistoryRegistry > processHistoryRegistries_
Definition: SubProcess.h:295
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
std::vector< EventSelectionID > EventSelectionIDVector
def principal(options)
std::vector< BranchListIndex > BranchListIndexes
edm::propagate_const< std::shared_ptr< eventsetup::EventSetupProvider > > esp_
Definition: SubProcess.h:298
EventPrincipal & eventPrincipal(unsigned int iStreamIndex) const
FunctorWaitingTask< F > * make_waiting_task(ALLOC &&iAlloc, F f)
Definition: WaitingTask.h:90
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
Definition: SubProcess.h:284
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:716
std::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
PrincipalCache principalCache_
Definition: SubProcess.h:297
def move(src, dest)
Definition: eostools.py:510
void edm::SubProcess::propagateProducts ( BranchType  type,
Principal const &  parentPrincipal,
Principal principal 
) const
private

Definition at line 716 of file SubProcess.cc.

References edm::BranchDescription::branchID(), edm::ProductResolverBase::connectTo(), edm::Principal::getModifiableProductResolver(), edm::Principal::getProductResolver(), and keptProducts().

Referenced by beginLuminosityBlock(), beginRun(), doBeginLuminosityBlockAsync(), doBeginRunAsync(), endLuminosityBlock(), endRun(), and processAsync().

716  {
717  SelectedProducts const& keptVector = keptProducts()[type];
718  for(auto const& item : keptVector) {
719  BranchDescription const& desc = *item.first;
720  ProductResolverBase const* parentProductResolver = parentPrincipal.getProductResolver(desc.branchID());
721  if(parentProductResolver != nullptr) {
722  ProductResolverBase* productResolver = principal.getModifiableProductResolver(desc.branchID());
723  if(productResolver != nullptr) {
724  //Propagate the per event(run)(lumi) data for this product to the subprocess.
725  //First, the product itself.
726  productResolver->connectTo(*parentProductResolver, &parentPrincipal);
727  }
728  }
729  }
730  }
type
Definition: HCALResponse.h:21
SelectedProductsForBranchType const & keptProducts() const
Definition: SubProcess.h:70
std::vector< std::pair< BranchDescription const *, EDGetToken > > SelectedProducts
def principal(options)
void edm::SubProcess::respondToCloseInputFile ( FileBlock const &  fb)
inline

Definition at line 154 of file SubProcess.h.

References edm::for_all(), and cmsPerfStripChart::operate().

154  {
156  schedule_->respondToCloseInputFile(fb);
157  for_all(subProcesses_, [&fb](auto& subProcess) { subProcess.respondToCloseInputFile(fb); });
158  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::respondToOpenInputFile ( FileBlock const &  fb)

Definition at line 739 of file SubProcess.cc.

References edm::for_all(), cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcesses_.

739  {
741  schedule_->respondToOpenInputFile(fb);
742  for_all(subProcesses_, [&fb](auto& subProcess){ subProcess.respondToOpenInputFile(fb); });
743  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::selectProducts ( ProductRegistry const &  preg,
ThinnedAssociationsHelper const &  parentThinnedAssociationsHelper,
std::map< BranchID, bool > &  keepAssociation 
)

Definition at line 252 of file SubProcess.cc.

References edm::ProductRegistry::allBranchDescriptions(), TrackValidation_cff::association, droppedBranchIDToKeptBranchID_, edm::ProductSelector::fillDroppedToKept(), edm::ProductSelector::initialize(), edm::ProductSelector::initialized(), keepThisBranch(), edm::BranchDescription::present(), edm::BranchDescription::produced(), edm::ProductRegistry::productList(), productSelector_, productSelectorRules_, edm::ThinnedAssociationsHelper::selectAssociationProducts(), edm::ProductSelector::selected(), edm::BranchDescription::transient(), and edm::BranchDescription::unwrappedType().

Referenced by SubProcess().

254  {
255  if(productSelector_.initialized()) return;
256  productSelector_.initialize(productSelectorRules_, preg.allBranchDescriptions());
257 
258  // TODO: See if we can collapse keptProducts_ and productSelector_ into a
259  // single object. See the notes in the header for ProductSelector
260  // for more information.
261 
262  std::map<BranchID, BranchDescription const*> trueBranchIDToKeptBranchDesc;
263  std::vector<BranchDescription const*> associationDescriptions;
264  std::set<BranchID> keptProductsInEvent;
265 
266  for(auto const& it : preg.productList()) {
267  BranchDescription const& desc = it.second;
268  if(desc.transient()) {
269  // if the class of the branch is marked transient, output nothing
270  } else if(!desc.present() && !desc.produced()) {
271  // else if the branch containing the product has been previously dropped,
272  // output nothing
273  } else if(desc.unwrappedType() == typeid(ThinnedAssociation)) {
274  associationDescriptions.push_back(&desc);
275  } else if(productSelector_.selected(desc)) {
276  keepThisBranch(desc, trueBranchIDToKeptBranchDesc, keptProductsInEvent);
277  }
278  }
279 
280  parentThinnedAssociationsHelper.selectAssociationProducts(associationDescriptions,
281  keptProductsInEvent,
282  keepAssociation);
283 
284  for(auto association : associationDescriptions) {
285  if(keepAssociation[association->branchID()]) {
286  keepThisBranch(*association, trueBranchIDToKeptBranchDesc, keptProductsInEvent);
287  }
288  }
289 
290  // Now fill in a mapping needed in the case that a branch was dropped while its EDAlias was kept.
291  ProductSelector::fillDroppedToKept(preg, trueBranchIDToKeptBranchDesc, droppedBranchIDToKeptBranchID_);
292  }
bool selected(BranchDescription const &desc) const
static void fillDroppedToKept(ProductRegistry const &preg, std::map< BranchID, BranchDescription const * > const &trueBranchIDToKeptBranchDesc, std::map< BranchID::value_type, BranchID::value_type > &droppedBranchIDToKeptBranchID_)
ProductSelectorRules productSelectorRules_
Definition: SubProcess.h:309
void keepThisBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
Definition: SubProcess.cc:294
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: SubProcess.h:319
ProductSelector productSelector_
Definition: SubProcess.h:310
bool initialized() const
void initialize(ProductSelectorRules const &rules, std::vector< BranchDescription const * > const &branchDescriptions)
bool edm::SubProcess::shouldWeCloseOutput ( ) const
inline

Definition at line 161 of file SubProcess.h.

References cmsPerfStripChart::operate().

161  {
163  if(schedule_->shouldWeCloseOutput()) {
164  return true;
165  }
166  for(auto const& subProcess : subProcesses_) {
167  if(subProcess.shouldWeCloseOutput()) {
168  return true;
169  }
170  }
171  return false;
172  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
bool edm::SubProcess::terminate ( void  ) const
inline

Return whether each output module has reached its maximum count. If there is a subprocess, get this information from the subprocess.

Definition at line 236 of file SubProcess.h.

References cmsPerfStripChart::operate().

236  {
238  if(schedule_->terminate()) {
239  return true;
240  }
241  for(auto const& subProcess : subProcesses_) {
242  if(subProcess.terminate()) {
243  return true;
244  }
245  }
246  return false;
247  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
std::shared_ptr<ThinnedAssociationsHelper const> edm::SubProcess::thinnedAssociationsHelper ( ) const
inlineprivate

Definition at line 277 of file SubProcess.h.

References edm::get_underlying_safe().

Referenced by SubProcess().

edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
Definition: SubProcess.h:285
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::shared_ptr<ThinnedAssociationsHelper> edm::SubProcess::thinnedAssociationsHelper ( )
inlineprivate

Definition at line 278 of file SubProcess.h.

References edm::get_underlying_safe().

edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
Definition: SubProcess.h:285
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
int edm::SubProcess::totalEvents ( ) const
inline

Return the number of events this SubProcess has tried to process (inclues both successes and failures, including failures due to exceptions during processing).

Definition at line 196 of file SubProcess.h.

196  {
197  return schedule_->totalEvents();
198  }
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
int edm::SubProcess::totalEventsFailed ( ) const
inline

Return the number of events that have not passed any trigger. (N.B. totalEventsFailed() + totalEventsPassed() == totalEvents()

Definition at line 208 of file SubProcess.h.

References cmsPerfStripChart::operate().

208  {
210  return schedule_->totalEventsFailed();
211  }
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
int edm::SubProcess::totalEventsPassed ( ) const
inline

Return the number of events which have been passed by one or more trigger paths.

Definition at line 201 of file SubProcess.h.

References cmsPerfStripChart::operate().

201  {
203  return schedule_->totalEventsPassed();
204  }
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
ServiceToken serviceToken_
Definition: SubProcess.h:281
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::updateBranchIDListHelper ( BranchIDLists const &  branchIDLists)

Definition at line 732 of file SubProcess.cc.

References branchIDListHelper_, edm::for_all(), and subProcesses_.

Referenced by SubProcess().

732  {
733  branchIDListHelper_->updateFromParent(branchIDLists);
734  for_all(subProcesses_, [this](auto& subProcess){ subProcess.updateBranchIDListHelper(branchIDListHelper_->branchIDLists()); });
735  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
Definition: SubProcess.h:284
void edm::SubProcess::writeLumi ( ProcessHistoryID const &  parentPhID,
int  runNumber,
int  lumiNumber 
)

Definition at line 566 of file SubProcess.cc.

References edm::for_all(), edm::PrincipalCache::lumiPrincipal(), cmsPerfStripChart::operate(), parentToChildPhID_, principalCache_, processContext_, schedule_, serviceToken_, and subProcesses_.

566  {
568  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
569  assert(it != parentToChildPhID_.end());
570  auto const& childPhID = it->second;
571  schedule_->writeLumi(principalCache_.lumiPrincipal(childPhID, runNumber, lumiNumber), &processContext_);
572  for_all(subProcesses_, [&childPhID, runNumber, lumiNumber](auto& subProcess){ subProcess.writeLumi(childPhID, runNumber, lumiNumber); });
573  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
LuminosityBlockPrincipal & lumiPrincipal(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:300
ProcessContext processContext_
Definition: SubProcess.h:289
PrincipalCache principalCache_
Definition: SubProcess.h:297
def operate(timelog, memlog, json_f, num)
void edm::SubProcess::writeRun ( ProcessHistoryID const &  parentPhID,
int  runNumber 
)

Definition at line 484 of file SubProcess.cc.

References edm::for_all(), cmsPerfStripChart::operate(), parentToChildPhID_, principalCache_, processContext_, edm::PrincipalCache::runPrincipal(), schedule_, serviceToken_, and subProcesses_.

484  {
486  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
487  assert(it != parentToChildPhID_.end());
488  auto const& childPhID = it->second;
490  for_all(subProcesses_, [&childPhID, runNumber](auto& subProcess){ subProcess.writeRun(childPhID, runNumber); });
491  }
std::vector< SubProcess > subProcesses_
Definition: SubProcess.h:301
edm::propagate_const< std::unique_ptr< Schedule > > schedule_
Definition: SubProcess.h:299
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
ServiceToken serviceToken_
Definition: SubProcess.h:281
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:300
ProcessContext processContext_
Definition: SubProcess.h:289
PrincipalCache principalCache_
Definition: SubProcess.h:297
RunPrincipal & runPrincipal(ProcessHistoryID const &phid, RunNumber_t run) const
def operate(timelog, memlog, json_f, num)

Member Data Documentation

std::unique_ptr<ExceptionToActionTable const> edm::SubProcess::act_table_
private

Definition at line 287 of file SubProcess.h.

Referenced by SubProcess().

std::shared_ptr<ActivityRegistry> edm::SubProcess::actReg_
private

Definition at line 280 of file SubProcess.h.

Referenced by beginJob(), and SubProcess().

edm::propagate_const<std::shared_ptr<BranchIDListHelper> > edm::SubProcess::branchIDListHelper_
private
std::map<BranchID::value_type, BranchID::value_type> edm::SubProcess::droppedBranchIDToKeptBranchID_
private

Definition at line 319 of file SubProcess.h.

Referenced by selectProducts(), and SubProcess().

edm::propagate_const<std::shared_ptr<eventsetup::EventSetupProvider> > edm::SubProcess::esp_
private
std::vector<HistoryAppender> edm::SubProcess::historyAppenders_
private
unsigned int edm::SubProcess::historyLumiOffset_
private

Definition at line 293 of file SubProcess.h.

Referenced by beginLuminosityBlock(), and doBeginLuminosityBlockAsync().

unsigned int edm::SubProcess::historyRunOffset_
private

Definition at line 294 of file SubProcess.h.

Referenced by beginRun(), doBeginRunAsync(), and SubProcess().

SelectedProductsForBranchType edm::SubProcess::keptProducts_
private

Definition at line 308 of file SubProcess.h.

Referenced by keepThisBranch().

std::shared_ptr<ProductRegistry const> edm::SubProcess::parentPreg_
private

Definition at line 282 of file SubProcess.h.

Referenced by beginJob().

std::map<ProcessHistoryID, ProcessHistoryID> edm::SubProcess::parentToChildPhID_
private
PathsAndConsumesOfModules edm::SubProcess::pathsAndConsumesOfModules_
private

Definition at line 290 of file SubProcess.h.

Referenced by beginJob().

std::shared_ptr<ProductRegistry const> edm::SubProcess::preg_
private
PrincipalCache edm::SubProcess::principalCache_
private
std::shared_ptr<ProcessConfiguration const> edm::SubProcess::processConfiguration_
private
ProcessContext edm::SubProcess::processContext_
private

Definition at line 289 of file SubProcess.h.

Referenced by beginJob(), SubProcess(), writeLumi(), and writeRun().

std::vector<ProcessHistoryRegistry> edm::SubProcess::processHistoryRegistries_
private
edm::propagate_const<std::unique_ptr<ParameterSet> > edm::SubProcess::processParameterSet_
private

Definition at line 302 of file SubProcess.h.

Referenced by SubProcess().

ProductSelector edm::SubProcess::productSelector_
private

Definition at line 310 of file SubProcess.h.

Referenced by selectProducts().

ProductSelectorRules edm::SubProcess::productSelectorRules_
private

Definition at line 309 of file SubProcess.h.

Referenced by selectProducts().

edm::propagate_const<std::unique_ptr<Schedule> > edm::SubProcess::schedule_
private
ParameterSetID edm::SubProcess::selector_config_id_
private

Definition at line 314 of file SubProcess.h.

Referenced by processAsync(), and SubProcess().

detail::TriggerResultsBasedEventSelector edm::SubProcess::selectors_
mutableprivate

Definition at line 315 of file SubProcess.h.

Referenced by doEventAsync(), and SubProcess().

ServiceToken edm::SubProcess::serviceToken_
private
std::vector<SubProcess> edm::SubProcess::subProcesses_
private
edm::propagate_const<std::shared_ptr<SubProcessParentageHelper> > edm::SubProcess::subProcessParentageHelper_
private

Definition at line 286 of file SubProcess.h.

Referenced by SubProcess().

edm::propagate_const<std::shared_ptr<ThinnedAssociationsHelper> > edm::SubProcess::thinnedAssociationsHelper_
private

Definition at line 285 of file SubProcess.h.

Referenced by SubProcess().

bool edm::SubProcess::wantAllEvents_
private

Definition at line 313 of file SubProcess.h.

Referenced by doEventAsync(), processAsync(), and SubProcess().