CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
edm::SubProcess Class Reference

#include <SubProcess.h>

Inheritance diagram for edm::SubProcess:
edm::OutputModule

Classes

struct  ESInfo
 

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 doBeginLuminosityBlock (LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
 
void doBeginRun (RunPrincipal const &principal, IOVSyncValue const &ts)
 
void doEndLuminosityBlock (LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void doEndRun (RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
 
void doEvent (EventPrincipal const &principal, IOVSyncValue const &ts)
 
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
 
void openNewOutputFilesIfNeeded ()
 
void openOutputFiles (FileBlock &fb)
 
void postForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren)
 
void preForkReleaseResources ()
 
void respondToCloseInputFile (FileBlock const &fb)
 
void respondToCloseOutputFiles (FileBlock const &fb)
 
void respondToOpenInputFile (FileBlock const &fb)
 
void respondToOpenOutputFiles (FileBlock const &fb)
 
bool shouldWeCloseOutput () const
 
 SubProcess (ParameterSet &parameterSet, ParameterSet const &topLevelParameterSet, boost::shared_ptr< ProductRegistry const > parentProductRegistry, eventsetup::EventSetupsController &esController, ActivityRegistry &parentActReg, ServiceToken const &token, serviceregistry::ServiceLegacy iLegacy)
 
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 writeLumi (ProcessHistoryID const &parentPhID, int runNumber, int lumiNumber)
 
void writeRun (ProcessHistoryID const &parentPhID, int runNumber)
 
virtual ~SubProcess ()
 
- Public Member Functions inherited from edm::OutputModule
BranchChildren const & branchChildren () const
 
boost::array< bool,
NumBranchTypes > const & 
hasNewlyDroppedBranch () const
 
SelectionsArray const & keptProducts () const
 
int maxEvents () const
 
 OutputModule (ParameterSet const &pset)
 
std::string const & processName () const
 
int remainingEvents () const
 
bool selected (BranchDescription const &desc) const
 
void selectProducts ()
 
bool wantAllEvents () const
 
virtual ~OutputModule ()
 

Private Member Functions

virtual void beginJob ()
 
virtual void beginLuminosityBlock (LuminosityBlockPrincipal const &lb)
 
virtual void beginRun (RunPrincipal const &r)
 
virtual void endJob ()
 
virtual void endLuminosityBlock (LuminosityBlockPrincipal const &lb)
 
virtual void endRun (RunPrincipal const &r)
 
void propagateProducts (BranchType type, Principal const &parentPrincipal, Principal &principal) const
 
virtual void write (EventPrincipal const &e)
 
virtual void writeLuminosityBlock (LuminosityBlockPrincipal const &)
 
virtual void writeRun (RunPrincipal const &)
 

Private Attributes

boost::shared_ptr< ActionTable
const > 
act_table_
 
bool cleaningUpAfterException_
 
std::auto_ptr< ESInfoesInfo_
 
boost::shared_ptr
< eventsetup::EventSetupProvider
esp_
 
boost::scoped_ptr
< HistoryAppender
historyAppender_
 
boost::shared_ptr
< ProductRegistry const > 
parentPreg_
 
std::map< ProcessHistoryID,
ProcessHistoryID
parentToChildPhID_
 
boost::shared_ptr
< SignallingProductRegistry
preg_
 
PrincipalCache principalCache_
 
boost::shared_ptr
< ProcessConfiguration
processConfiguration_
 
std::unique_ptr< ParameterSetprocessParameterSet_
 
std::auto_ptr< Scheduleschedule_
 
ServiceToken serviceToken_
 
std::auto_ptr< SubProcesssubProcess_
 

Additional Inherited Members

- Public Types inherited from edm::OutputModule
typedef OutputModule ModuleType
 
typedef OutputWorker WorkerType
 
- Static Public Member Functions inherited from edm::OutputModule
static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::OutputModule
CurrentProcessingContext const * currentContext () const
 
ModuleDescription const & description () const
 
void doBeginJob ()
 
bool doBeginLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, CurrentProcessingContext const *cpc)
 
bool doBeginRun (RunPrincipal const &rp, EventSetup const &c, CurrentProcessingContext const *cpc)
 
void doEndJob ()
 
bool doEndLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, CurrentProcessingContext const *cpc)
 
bool doEndRun (RunPrincipal const &rp, EventSetup const &c, CurrentProcessingContext const *cpc)
 
bool doEvent (EventPrincipal const &ep, EventSetup const &c, CurrentProcessingContext const *cpc)
 
Trig getTriggerResults (Event const &ep) const
 
Trig getTriggerResults (EventPrincipal const &ep) const
 
ParameterSetID selectorConfig () const
 
void setEventSelectionInfo (std::map< std::string, std::vector< std::pair< std::string, int > > > const &outputModulePathPositions, bool anyProductProduced)
 

Detailed Description

Definition at line 28 of file SubProcess.h.

Constructor & Destructor Documentation

edm::SubProcess::SubProcess ( ParameterSet parameterSet,
ParameterSet const &  topLevelParameterSet,
boost::shared_ptr< ProductRegistry const >  parentProductRegistry,
eventsetup::EventSetupsController esController,
ActivityRegistry parentActReg,
ServiceToken const &  token,
serviceregistry::ServiceLegacy  iLegacy 
)

Definition at line 31 of file SubProcess.cc.

References act_table_, edm::ActivityRegistry::connectToSubProcess(), esp_, edm::ParameterSet::exists(), edm::ParameterSet::getUntrackedParameterSet(), historyAppender_, edm::PrincipalCache::insert(), edm::eventsetup::EventSetupsController::makeProvider(), edm::OutputModule::maxEvents(), cmsPerfStripChart::operate(), edm::ParameterSet::popParameterSet(), edm::popSubProcessParameterSet(), preg_, principalCache_, processConfiguration_, processParameterSet_, schedule_, serviceToken_, edm::OutputModule::setEventSelectionInfo(), edm::IllegalParameters::setThrowAnException(), and subProcess_.

37  :
38  OutputModule(parameterSet),
39  serviceToken_(),
40  parentPreg_(parentProductRegistry),
41  preg_(),
42  act_table_(),
45  esp_(),
46  schedule_(),
48  historyAppender_(new HistoryAppender),
49  esInfo_(0),
50  subProcess_(),
53 
54  std::string const maxEvents("maxEvents");
55  std::string const maxLumis("maxLuminosityBlocks");
56 
57  processParameterSet_.reset(parameterSet.popParameterSet(std::string("process")).release());
58 
59  // if this process has a maxEvents or maxLuminosityBlocks parameter set, remove them.
60  if(processParameterSet_->exists(maxEvents)) {
61  processParameterSet_->popParameterSet(maxEvents);
62  }
63  if(processParameterSet_->exists(maxLumis)) {
64  processParameterSet_->popParameterSet(maxLumis);
65  }
66 
67  // if the top level process has a maxEvents or maxLuminosityBlocks parameter set, add them to this process.
68  if(topLevelParameterSet.exists(maxEvents)) {
69  processParameterSet_->addUntrackedParameter<ParameterSet>(maxEvents, topLevelParameterSet.getUntrackedParameterSet(maxEvents));
70  }
71  if(topLevelParameterSet.exists(maxLumis)) {
72  processParameterSet_->addUntrackedParameter<ParameterSet>(maxLumis, topLevelParameterSet.getUntrackedParameterSet(maxLumis));
73  }
74 
75  // If this process has a subprocess, pop the subprocess parameter set out of the process parameter set
76 
77  boost::shared_ptr<ParameterSet> subProcessParameterSet(popSubProcessParameterSet(*processParameterSet_).release());
78 
79  ScheduleItems items(*parentProductRegistry);
80 
81  ParameterSet const& optionsPset(processParameterSet_->getUntrackedParameterSet("options", ParameterSet()));
82  IllegalParameters::setThrowAnException(optionsPset.getUntrackedParameter<bool>("throwIfIllegalParameter", true));
83 
84  //initialize the services
85  ServiceToken iToken;
86 
87  // get any configured services.
88  std::auto_ptr<std::vector<ParameterSet> > serviceSets = processParameterSet_->popVParameterSet(std::string("services"));
89 
90  ServiceToken newToken = items.initServices(*serviceSets, *processParameterSet_, token, iLegacy, false);
91  parentActReg.connectToSubProcess(*items.actReg_);
92  serviceToken_ = items.addCPRandTNS(*processParameterSet_, newToken);
93 
94 
95  //make the services available
97 
98  // intialize miscellaneous items
99  items.initMisc(*processParameterSet_);
100 
101  // intialize the event setup provider
102  esp_ = esController.makeProvider(*processParameterSet_);
103 
104  // intialize the Schedule
105  schedule_ = items.initSchedule(*processParameterSet_,subProcessParameterSet.get());
106 
107  // set the items
108  act_table_ = items.act_table_;
109  preg_ = items.preg_;
110  processConfiguration_ = items.processConfiguration_;
111 
112  std::map<std::string, std::vector<std::pair<std::string, int> > > outputModulePathPositions;
113  setEventSelectionInfo(outputModulePathPositions, parentProductRegistry->anyProductProduced());
114 
115  boost::shared_ptr<EventPrincipal> ep(new EventPrincipal(preg_, *processConfiguration_, historyAppender_.get()));
117 
118  if(subProcessParameterSet) {
119  subProcess_.reset(new SubProcess(*subProcessParameterSet, topLevelParameterSet, preg_, esController, *items.actReg_, newToken, iLegacy));
120  }
121  }
boost::shared_ptr< SignallingProductRegistry > preg_
Definition: SubProcess.h:218
boost::shared_ptr< ProductRegistry const > parentPreg_
Definition: SubProcess.h:217
std::auto_ptr< ParameterSet > popSubProcessParameterSet(ParameterSet &parameterSet)
Definition: SubProcess.cc:361
boost::shared_ptr< eventsetup::EventSetupProvider > esp_
Definition: SubProcess.h:222
SubProcess(ParameterSet &parameterSet, ParameterSet const &topLevelParameterSet, boost::shared_ptr< ProductRegistry const > parentProductRegistry, eventsetup::EventSetupsController &esController, ActivityRegistry &parentActReg, ServiceToken const &token, serviceregistry::ServiceLegacy iLegacy)
Definition: SubProcess.cc:31
void insert(boost::shared_ptr< RunPrincipal > rp)
void setEventSelectionInfo(std::map< std::string, std::vector< std::pair< std::string, int > > > const &outputModulePathPositions, bool anyProductProduced)
ServiceToken serviceToken_
Definition: SubProcess.h:216
bool cleaningUpAfterException_
Definition: SubProcess.h:228
boost::scoped_ptr< HistoryAppender > historyAppender_
Definition: SubProcess.h:225
static void setThrowAnException(bool v)
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
boost::shared_ptr< ActionTable const > act_table_
Definition: SubProcess.h:219
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:224
int maxEvents() const
Definition: OutputModule.h:46
std::unique_ptr< ParameterSet > processParameterSet_
Definition: SubProcess.h:229
boost::shared_ptr< ProcessConfiguration > processConfiguration_
Definition: SubProcess.h:220
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
OutputModule(ParameterSet const &pset)
edm::SubProcess::~SubProcess ( )
virtual

Definition at line 123 of file SubProcess.cc.

123 {}

Member Function Documentation

void edm::SubProcess::beginJob ( void  )
privatevirtual

Reimplemented from edm::OutputModule.

Definition at line 126 of file SubProcess.cc.

References Selections::begin(), Selections::end(), edm::InEvent, edm::InLumi, edm::InRun, edm::OutputModule::keptProducts(), cmsPerfStripChart::operate(), preg_, schedule_, serviceToken_, and subProcess_.

126  {
127  // Mark dropped branches as dropped in the product registry.
128  {
129  std::set<BranchID> keptBranches;
130  Selections const& keptVectorR = keptProducts()[InRun];
131  for(Selections::const_iterator it = keptVectorR.begin(), itEnd = keptVectorR.end(); it != itEnd; ++it) {
132  keptBranches.insert((*it)->branchID());
133  }
134  Selections const& keptVectorL = keptProducts()[InLumi];
135  for(Selections::const_iterator it = keptVectorL.begin(), itEnd = keptVectorL.end(); it != itEnd; ++it) {
136  keptBranches.insert((*it)->branchID());
137  }
138  Selections const& keptVectorE = keptProducts()[InEvent];
139  for(Selections::const_iterator it = keptVectorE.begin(), itEnd = keptVectorE.end(); it != itEnd; ++it) {
140  keptBranches.insert((*it)->branchID());
141  }
142  for(ProductRegistry::ProductList::const_iterator it = preg_->productList().begin(), itEnd = preg_->productList().end(); it != itEnd; ++it) {
143  if(keptBranches.find(it->second.branchID()) == keptBranches.end()) {
144  it->second.setDropped();
145  }
146  }
147  }
149  schedule_->beginJob();
150  if(subProcess_.get()) subProcess_->doBeginJob();
151  }
boost::shared_ptr< SignallingProductRegistry > preg_
Definition: SubProcess.h:218
SelectionsArray const & keptProducts() const
Definition: OutputModule.h:56
ServiceToken serviceToken_
Definition: SubProcess.h:216
iterator end()
Definition: Selections.h:367
iterator begin()
Definition: Selections.h:366
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::beginLuminosityBlock ( LuminosityBlockPrincipal const &  lb)
privatevirtual

Reimplemented from edm::OutputModule.

Definition at line 279 of file SubProcess.cc.

References printConversionInfo::aux, edm::LuminosityBlockPrincipal::aux(), esInfo_, historyAppender_, edm::InLumi, edm::PrincipalCache::insert(), edm::PrincipalCache::lumiPrincipalPtr(), preg_, principalCache_, processConfiguration_, edm::Principal::processHistoryID(), propagateProducts(), edm::Principal::reader(), edm::PrincipalCache::runPrincipalPtr(), schedule_, and subProcess_.

279  {
280  boost::shared_ptr<LuminosityBlockAuxiliary> aux(new LuminosityBlockAuxiliary(principal.aux()));
281  aux->setProcessHistoryID(principal.processHistoryID());
282  boost::shared_ptr<LuminosityBlockPrincipal> lbpp(new LuminosityBlockPrincipal(aux, preg_, *processConfiguration_, principalCache_.runPrincipalPtr(), historyAppender_.get()));
283  lbpp->fillLuminosityBlockPrincipal(principal.reader());
284  principalCache_.insert(lbpp);
285  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
287  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionBegin> Traits;
288  schedule_->processOneOccurrence<Traits>(lbp, esInfo_->es_);
289  if(subProcess_.get()) subProcess_->doBeginLuminosityBlock(lbp, esInfo_->ts_);
290  }
boost::shared_ptr< SignallingProductRegistry > preg_
Definition: SubProcess.h:218
void insert(boost::shared_ptr< RunPrincipal > rp)
boost::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
boost::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
boost::scoped_ptr< HistoryAppender > historyAppender_
Definition: SubProcess.h:225
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:329
boost::shared_ptr< ProcessConfiguration > processConfiguration_
Definition: SubProcess.h:220
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
void edm::SubProcess::beginRun ( RunPrincipal const &  r)
privatevirtual

Reimplemented from edm::OutputModule.

Definition at line 213 of file SubProcess.cc.

References printConversionInfo::aux, edm::RunPrincipal::aux(), esInfo_, historyAppender_, edm::InRun, edm::PrincipalCache::insert(), edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), parentToChildPhID_, preg_, principalCache_, processConfiguration_, edm::RunAuxiliary::processHistoryID(), edm::Principal::processHistoryID(), propagateProducts(), edm::Principal::reader(), edm::FullHistoryToReducedHistoryMap::reduceProcessHistoryID(), edm::PrincipalCache::runPrincipalPtr(), schedule_, and subProcess_.

213  {
214  boost::shared_ptr<RunAuxiliary> aux(new RunAuxiliary(principal.aux()));
215  aux->setProcessHistoryID(principal.processHistoryID());
216  boost::shared_ptr<RunPrincipal> rpp(new RunPrincipal(aux, preg_, *processConfiguration_, historyAppender_.get()));
217  rpp->fillRunPrincipal(principal.reader());
218  principalCache_.insert(rpp);
219 
220  FullHistoryToReducedHistoryMap & phidConverter(ProcessHistoryRegistry::instance()->extra());
221  ProcessHistoryID const& parentInputReducedPHID = phidConverter.reduceProcessHistoryID(principal.aux().processHistoryID());
222  ProcessHistoryID const& inputReducedPHID = phidConverter.reduceProcessHistoryID(principal.processHistoryID());
223 
224  parentToChildPhID_.insert(std::make_pair(parentInputReducedPHID,inputReducedPHID));
225 
226  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
228  typedef OccurrenceTraits<RunPrincipal, BranchActionBegin> Traits;
229  schedule_->processOneOccurrence<Traits>(rp, esInfo_->es_);
230  if(subProcess_.get()) subProcess_->doBeginRun(rp, esInfo_->ts_);
231  }
boost::shared_ptr< SignallingProductRegistry > preg_
Definition: SubProcess.h:218
static ThreadSafeRegistry * instance()
void insert(boost::shared_ptr< RunPrincipal > rp)
boost::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
boost::scoped_ptr< HistoryAppender > historyAppender_
Definition: SubProcess.h:225
Hash< ProcessHistoryType > ProcessHistoryID
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:224
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:329
boost::shared_ptr< ProcessConfiguration > processConfiguration_
Definition: SubProcess.h:220
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
void edm::SubProcess::clearCounters ( )
inline

Clear all the counters in the trigger report.

Definition at line 191 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

191  {
193  schedule_->clearCounters();
194  if(subProcess_.get()) subProcess_->clearCounters();
195  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::closeOutputFiles ( )
inline

Definition at line 69 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

69  {
71  schedule_->closeOutputFiles();
72  if(subProcess_.get()) subProcess_->closeOutputFiles();
73  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::deleteLumiFromCache ( ProcessHistoryID const &  parentPhID,
int  runNumber,
int  lumiNumber 
)

Definition at line 321 of file SubProcess.cc.

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

321  {
322  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
323  assert(it != parentToChildPhID_.end());
324  principalCache_.deleteLumi(it->second, runNumber, lumiNumber);
325  if(subProcess_.get()) subProcess_->deleteLumiFromCache(it->second, runNumber, lumiNumber);
326  }
void deleteLumi(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi)
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:224
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
void edm::SubProcess::deleteRunFromCache ( ProcessHistoryID const &  parentPhID,
int  runNumber 
)

Definition at line 262 of file SubProcess.cc.

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

262  {
263  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
264  assert(it != parentToChildPhID_.end());
265  principalCache_.deleteRun(it->second, runNumber);
266  if(subProcess_.get()) subProcess_->deleteRunFromCache(it->second, runNumber);
267  }
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:224
void deleteRun(ProcessHistoryID const &phid, RunNumber_t run)
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
void edm::SubProcess::doBeginLuminosityBlock ( LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 270 of file SubProcess.cc.

References esInfo_, esp_, cmsPerfStripChart::operate(), and serviceToken_.

270  {
272  esInfo_.reset(new ESInfo(ts, *esp_));
273  CurrentProcessingContext cpc;
275  esInfo_.reset();
276  }
boost::shared_ptr< eventsetup::EventSetupProvider > esp_
Definition: SubProcess.h:222
void doBeginLuminosityBlock(LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
Definition: SubProcess.cc:270
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
void edm::SubProcess::doBeginRun ( RunPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 204 of file SubProcess.cc.

References esInfo_, esp_, cmsPerfStripChart::operate(), and serviceToken_.

204  {
206  esInfo_.reset(new ESInfo(ts, *esp_));
207  CurrentProcessingContext cpc;
208  doBeginRun(principal, esInfo_->es_, &cpc);
209  esInfo_.reset();
210  }
void doBeginRun(RunPrincipal const &principal, IOVSyncValue const &ts)
Definition: SubProcess.cc:204
boost::shared_ptr< eventsetup::EventSetupProvider > esp_
Definition: SubProcess.h:222
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
void edm::SubProcess::doEndLuminosityBlock ( LuminosityBlockPrincipal const &  principal,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)

Definition at line 293 of file SubProcess.cc.

References cleaningUpAfterException_, esInfo_, esp_, cmsPerfStripChart::operate(), and serviceToken_.

293  {
294  cleaningUpAfterException_ = cleaningUpAfterException;
296  esInfo_.reset(new ESInfo(ts, *esp_));
297  CurrentProcessingContext cpc;
299  esInfo_.reset();
300  }
boost::shared_ptr< eventsetup::EventSetupProvider > esp_
Definition: SubProcess.h:222
ServiceToken serviceToken_
Definition: SubProcess.h:216
bool cleaningUpAfterException_
Definition: SubProcess.h:228
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
void doEndLuminosityBlock(LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
Definition: SubProcess.cc:293
void edm::SubProcess::doEndRun ( RunPrincipal const &  principal,
IOVSyncValue const &  ts,
bool  cleaningUpAfterException 
)

Definition at line 234 of file SubProcess.cc.

References cleaningUpAfterException_, esInfo_, esp_, cmsPerfStripChart::operate(), and serviceToken_.

234  {
235  cleaningUpAfterException_ = cleaningUpAfterException;
237  esInfo_.reset(new ESInfo(ts, *esp_));
238  CurrentProcessingContext cpc;
239  doEndRun(principal, esInfo_->es_, &cpc);
240  esInfo_.reset();
241  }
boost::shared_ptr< eventsetup::EventSetupProvider > esp_
Definition: SubProcess.h:222
ServiceToken serviceToken_
Definition: SubProcess.h:216
bool cleaningUpAfterException_
Definition: SubProcess.h:228
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
void doEndRun(RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
Definition: SubProcess.cc:234
void edm::SubProcess::doEvent ( EventPrincipal const &  principal,
IOVSyncValue const &  ts 
)

Definition at line 170 of file SubProcess.cc.

References esInfo_, esp_, cmsPerfStripChart::operate(), and serviceToken_.

170  {
172  esInfo_.reset(new ESInfo(ts, *esp_));
173  CurrentProcessingContext cpc;
174  doEvent(principal, esInfo_->es_, &cpc);
175  esInfo_.reset();
176  }
boost::shared_ptr< eventsetup::EventSetupProvider > esp_
Definition: SubProcess.h:222
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
void doEvent(EventPrincipal const &principal, IOVSyncValue const &ts)
Definition: SubProcess.cc:170
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 164 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

164  {
166  schedule_->enableEndPaths(active);
167  if(subProcess_.get()) subProcess_->enableEndPaths(active);
168  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::endJob ( void  )
privatevirtual

Reimplemented from edm::OutputModule.

Definition at line 154 of file SubProcess.cc.

References trackerHits::c, edm::ExceptionCollector::hasThrown(), cmsPerfStripChart::operate(), edm::ExceptionCollector::rethrow(), schedule_, serviceToken_, and subProcess_.

154  {
156  ExceptionCollector c("Multiple exceptions were thrown while executing endJob. An exception message follows for each.");
157  schedule_->endJob(c);
158  if(c.hasThrown()) {
159  c.rethrow();
160  }
161  if(subProcess_.get()) subProcess_->doEndJob();
162  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::endLuminosityBlock ( LuminosityBlockPrincipal const &  lb)
privatevirtual

Reimplemented from edm::OutputModule.

Definition at line 303 of file SubProcess.cc.

References cleaningUpAfterException_, esInfo_, edm::InLumi, edm::PrincipalCache::lumiPrincipalPtr(), principalCache_, propagateProducts(), schedule_, and subProcess_.

303  {
304  LuminosityBlockPrincipal& lbp = *principalCache_.lumiPrincipalPtr();
306  typedef OccurrenceTraits<LuminosityBlockPrincipal, BranchActionEnd> Traits;
307  schedule_->processOneOccurrence<Traits>(lbp, esInfo_->es_, cleaningUpAfterException_);
308  if(subProcess_.get()) subProcess_->doEndLuminosityBlock(lbp, esInfo_->ts_, cleaningUpAfterException_);
309  }
bool cleaningUpAfterException_
Definition: SubProcess.h:228
boost::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:329
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
bool edm::SubProcess::endPathsEnabled ( ) const
inline

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

Definition at line 171 of file SubProcess.h.

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

171  {
173  return schedule_->endPathsEnabled();
174  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
void edm::SubProcess::endRun ( RunPrincipal const &  r)
privatevirtual

Reimplemented from edm::OutputModule.

Definition at line 244 of file SubProcess.cc.

References cleaningUpAfterException_, esInfo_, edm::InRun, principalCache_, propagateProducts(), edm::PrincipalCache::runPrincipalPtr(), schedule_, and subProcess_.

244  {
245  RunPrincipal& rp = *principalCache_.runPrincipalPtr();
247  typedef OccurrenceTraits<RunPrincipal, BranchActionEnd> Traits;
248  schedule_->processOneOccurrence<Traits>(rp, esInfo_->es_, cleaningUpAfterException_);
249  if(subProcess_.get()) subProcess_->doEndRun(rp, esInfo_->ts_, cleaningUpAfterException_);
250  }
boost::shared_ptr< RunPrincipal > const & runPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run) const
bool cleaningUpAfterException_
Definition: SubProcess.h:228
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:329
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
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 178 of file SubProcess.h.

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

178  {
180  schedule_->getTriggerReport(rep);
181  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
void edm::SubProcess::openNewOutputFilesIfNeeded ( )
inline

Definition at line 76 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

76  {
78  schedule_->openNewOutputFilesIfNeeded();
79  if(subProcess_.get()) subProcess_->openNewOutputFilesIfNeeded();
80  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::openOutputFiles ( FileBlock fb)
inline

Definition at line 83 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

83  {
85  schedule_->openOutputFiles(fb);
86  if(subProcess_.get()) subProcess_->openOutputFiles(fb);
87  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::postForkReacquireResources ( unsigned int  iChildIndex,
unsigned int  iNumberOfChildren 
)
inlinevirtual

Reimplemented from edm::OutputModule.

Definition at line 129 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

129  {
131  schedule_->postForkReacquireResources(iChildIndex, iNumberOfChildren);
132  if(subProcess_.get()) subProcess_->postForkReacquireResources(iChildIndex, iNumberOfChildren);
133  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::preForkReleaseResources ( )
inlinevirtual

Reimplemented from edm::OutputModule.

Definition at line 123 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

123  {
125  schedule_->preForkReleaseResources();
126  if(subProcess_.get()) subProcess_->preForkReleaseResources();
127  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::propagateProducts ( BranchType  type,
Principal const &  parentPrincipal,
Principal principal 
) const
private

Definition at line 329 of file SubProcess.cc.

References Selections::begin(), Selections::end(), edm::Principal::getGroup(), edm::OutputModule::keptProducts(), edm::Provenance::processHistoryID(), edm::Group::productData(), edm::Provenance::productID(), edm::Provenance::productProvenance(), edm::Provenance::productProvenanceValid(), edm::Group::productUnavailable(), edm::ProductData::prov_, edm::Provenance::resetProductProvenance(), edm::Provenance::setProcessHistoryID(), edm::Provenance::setProductID(), edm::Provenance::setProductProvenance(), edm::Provenance::setStore(), edm::Provenance::store(), and edm::ProductData::wrapper_.

Referenced by beginLuminosityBlock(), beginRun(), endLuminosityBlock(), endRun(), and write().

329  {
330  Selections const& keptVector = keptProducts()[type];
331  for(Selections::const_iterator it = keptVector.begin(), itEnd = keptVector.end(); it != itEnd; ++it) {
332  Group const* parentGroup = parentPrincipal.getGroup((*it)->branchID(), false, false);
333  if(parentGroup != 0) {
334  ProductData const& parentData = parentGroup->productData();
335  Group const* group = principal.getGroup((*it)->branchID(), false, false);
336  if(group != 0) {
337  ProductData& thisData = const_cast<ProductData&>(group->productData());
338  //Propagate the per event(run)(lumi) data for this product to the subprocess.
339  //First, the product itself.
340  thisData.wrapper_ = parentData.wrapper_;
341  // Then the product ID and the ProcessHistory
342  thisData.prov_.setProductID(parentData.prov_.productID());
343  thisData.prov_.setProcessHistoryID(parentData.prov_.processHistoryID());
344  // Then the store, in case the product needs reading in a subprocess.
345  thisData.prov_.setStore(parentData.prov_.store());
346  // And last, the other per event provenance.
347  if(parentData.prov_.productProvenanceValid()) {
348  thisData.prov_.setProductProvenance(*parentData.prov_.productProvenance());
349  } else {
350  thisData.prov_.resetProductProvenance();
351  }
352  // Sets unavailable flag, if known that product is not available
353  (void)group->productUnavailable();
354  }
355  }
356  }
357  }
type
Definition: HCALResponse.h:22
SelectionsArray const & keptProducts() const
Definition: OutputModule.h:56
iterator end()
Definition: Selections.h:367
iterator begin()
Definition: Selections.h:366
void edm::SubProcess::respondToCloseInputFile ( FileBlock const &  fb)
inlinevirtual

Reimplemented from edm::OutputModule.

Definition at line 97 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

97  {
99  schedule_->respondToCloseInputFile(fb);
100  if(subProcess_.get()) subProcess_->respondToCloseInputFile(fb);
101  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::respondToCloseOutputFiles ( FileBlock const &  fb)
inlinevirtual

Reimplemented from edm::OutputModule.

Definition at line 111 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

111  {
113  schedule_->respondToCloseOutputFiles(fb);
114  if(subProcess_.get()) subProcess_->respondToCloseOutputFiles(fb);
115  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::respondToOpenInputFile ( FileBlock const &  fb)
inlinevirtual

Reimplemented from edm::OutputModule.

Definition at line 90 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

90  {
92  schedule_->respondToOpenInputFile(fb);
93  if(subProcess_.get()) subProcess_->respondToOpenInputFile(fb);
94  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
void edm::SubProcess::respondToOpenOutputFiles ( FileBlock const &  fb)
inlinevirtual

Reimplemented from edm::OutputModule.

Definition at line 104 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

104  {
106  schedule_->respondToOpenOutputFiles(fb);
107  if(subProcess_.get()) subProcess_->respondToOpenOutputFiles(fb);
108  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
bool edm::SubProcess::shouldWeCloseOutput ( ) const
inline

Definition at line 118 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

118  {
120  return schedule_->shouldWeCloseOutput() || (subProcess_.get() ? subProcess_->shouldWeCloseOutput() : false);
121  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
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 185 of file SubProcess.h.

References cmsPerfStripChart::operate(), schedule_, serviceToken_, and subProcess_.

185  {
187  return subProcess_.get() ? subProcess_->terminate() : schedule_->terminate();
188  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
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 145 of file SubProcess.h.

References schedule_.

145  {
146  return schedule_->totalEvents();
147  }
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
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 157 of file SubProcess.h.

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

157  {
159  return schedule_->totalEventsFailed();
160  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
int edm::SubProcess::totalEventsPassed ( ) const
inline

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

Definition at line 150 of file SubProcess.h.

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

150  {
152  return schedule_->totalEventsPassed();
153  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
void edm::SubProcess::write ( EventPrincipal const &  e)
privatevirtual

Implements edm::OutputModule.

Definition at line 179 of file SubProcess.cc.

References edm::ProductRegistry::anyProductProduced(), printConversionInfo::aux, edm::EventPrincipal::aux(), edm::EventPrincipal::branchListIndexes(), edm::EventPrincipal::branchMapperPtr(), esInfo_, edm::PrincipalCache::eventPrincipal(), edm::EventPrincipal::eventSelectionIDs(), edm::EventPrincipal::fillEventPrincipal(), edm::InEvent, edm::PrincipalCache::lumiPrincipalPtr(), principalCache_, edm::Principal::processHistoryID(), edm::Principal::productRegistry(), propagateProducts(), edm::Principal::reader(), schedule_, edm::OutputModule::selectorConfig(), subProcess_, and edm::OutputModule::wantAllEvents().

179  {
180  EventAuxiliary aux(principal.aux());
181  aux.setProcessHistoryID(principal.processHistoryID());
182 
183  boost::shared_ptr<EventSelectionIDVector> esids(new EventSelectionIDVector);
184  *esids = principal.eventSelectionIDs();
185  if (principal.productRegistry().anyProductProduced() || !wantAllEvents()) {
186  esids->push_back(selectorConfig());
187  }
188 
189  EventPrincipal& ep = principalCache_.eventPrincipal();
192  esids,
193  boost::shared_ptr<BranchListIndexes>(new BranchListIndexes(principal.branchListIndexes())),
194  principal.branchMapperPtr(),
195  principal.reader());
197  typedef OccurrenceTraits<EventPrincipal, BranchActionBegin> Traits;
198  schedule_->processOneOccurrence<Traits>(ep, esInfo_->es_);
199  if(subProcess_.get()) subProcess_->doEvent(ep, esInfo_->ts_);
200  ep.clearEventPrincipal();
201  }
std::vector< EventSelectionID > EventSelectionIDVector
bool wantAllEvents() const
Definition: OutputModule.h:68
std::vector< BranchListIndex > BranchListIndexes
boost::shared_ptr< LuminosityBlockPrincipal > const & lumiPrincipalPtr(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
void fillEventPrincipal(EventAuxiliary const &aux, boost::shared_ptr< LuminosityBlockPrincipal > lbp, boost::shared_ptr< EventSelectionIDVector > eventSelectionIDs=boost::shared_ptr< EventSelectionIDVector >(), boost::shared_ptr< BranchListIndexes > branchListIndexes=boost::shared_ptr< BranchListIndexes >(), boost::shared_ptr< BranchMapper > mapper=boost::shared_ptr< BranchMapper >(new BranchMapper), DelayedReader *reader=0)
std::auto_ptr< ESInfo > esInfo_
Definition: SubProcess.h:226
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
EventPrincipal & eventPrincipal() const
void propagateProducts(BranchType type, Principal const &parentPrincipal, Principal &principal) const
Definition: SubProcess.cc:329
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
ParameterSetID selectorConfig() const
Definition: OutputModule.h:86
void edm::SubProcess::writeLumi ( ProcessHistoryID const &  parentPhID,
int  runNumber,
int  lumiNumber 
)

Definition at line 312 of file SubProcess.cc.

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

312  {
314  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
315  assert(it != parentToChildPhID_.end());
316  schedule_->writeLumi(principalCache_.lumiPrincipal(it->second, runNumber, lumiNumber));
317  if(subProcess_.get()) subProcess_->writeLumi(it->second, runNumber, lumiNumber);
318  }
LuminosityBlockPrincipal & lumiPrincipal(ProcessHistoryID const &phid, RunNumber_t run, LuminosityBlockNumber_t lumi) const
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:224
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
virtual void edm::SubProcess::writeLuminosityBlock ( LuminosityBlockPrincipal const &  )
inlineprivatevirtual

Implements edm::OutputModule.

Definition at line 212 of file SubProcess.h.

212 { throw 0; }
void edm::SubProcess::writeRun ( ProcessHistoryID const &  parentPhID,
int  runNumber 
)

Definition at line 253 of file SubProcess.cc.

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

253  {
255  std::map<ProcessHistoryID, ProcessHistoryID>::const_iterator it = parentToChildPhID_.find(parentPhID);
256  assert(it != parentToChildPhID_.end());
257  schedule_->writeRun(principalCache_.runPrincipal(it->second, runNumber));
258  if(subProcess_.get()) subProcess_->writeRun(it->second, runNumber);
259  }
ServiceToken serviceToken_
Definition: SubProcess.h:216
std::auto_ptr< Schedule > schedule_
Definition: SubProcess.h:223
std::map< ProcessHistoryID, ProcessHistoryID > parentToChildPhID_
Definition: SubProcess.h:224
std::auto_ptr< SubProcess > subProcess_
Definition: SubProcess.h:227
PrincipalCache principalCache_
Definition: SubProcess.h:221
RunPrincipal & runPrincipal(ProcessHistoryID const &phid, RunNumber_t run) const
virtual void edm::SubProcess::writeRun ( RunPrincipal const &  )
inlineprivatevirtual

Implements edm::OutputModule.

Definition at line 211 of file SubProcess.h.

211 { throw 0; }

Member Data Documentation

boost::shared_ptr<ActionTable const> edm::SubProcess::act_table_
private

Definition at line 219 of file SubProcess.h.

Referenced by SubProcess().

bool edm::SubProcess::cleaningUpAfterException_
private

Definition at line 228 of file SubProcess.h.

Referenced by doEndLuminosityBlock(), doEndRun(), endLuminosityBlock(), and endRun().

std::auto_ptr<ESInfo> edm::SubProcess::esInfo_
private
boost::shared_ptr<eventsetup::EventSetupProvider> edm::SubProcess::esp_
private
boost::scoped_ptr<HistoryAppender> edm::SubProcess::historyAppender_
private

Definition at line 225 of file SubProcess.h.

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

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

Definition at line 217 of file SubProcess.h.

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

Definition at line 224 of file SubProcess.h.

Referenced by beginRun(), deleteLumiFromCache(), deleteRunFromCache(), writeLumi(), and writeRun().

boost::shared_ptr<SignallingProductRegistry> edm::SubProcess::preg_
private

Definition at line 218 of file SubProcess.h.

Referenced by beginJob(), beginLuminosityBlock(), beginRun(), and SubProcess().

PrincipalCache edm::SubProcess::principalCache_
private
boost::shared_ptr<ProcessConfiguration> edm::SubProcess::processConfiguration_
private

Definition at line 220 of file SubProcess.h.

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

std::unique_ptr<ParameterSet> edm::SubProcess::processParameterSet_
private

Definition at line 229 of file SubProcess.h.

Referenced by SubProcess().

std::auto_ptr<Schedule> edm::SubProcess::schedule_
private
ServiceToken edm::SubProcess::serviceToken_
private
std::auto_ptr<SubProcess> edm::SubProcess::subProcess_
private