CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
edm::OutputModule Class Referenceabstract

#include <OutputModule.h>

Inheritance diagram for edm::OutputModule:
edm::EDConsumerBase DQMRootOutputModule edm::AsciiOutputModule edm::GetProductCheckerOutputModule edm::PoolOutputModule edm::ProvenanceCheckerOutputModule edm::StreamerOutputModuleBase edm::SubProcess FRDEventOutputModule< Consumer >

Public Types

typedef OutputModule ModuleType
 
typedef OutputWorker WorkerType
 

Public Member Functions

BranchChildren const & branchChildren () const
 
BranchIDLists const * branchIDLists () const
 
std::array< bool,
NumBranchTypes > const & 
hasNewlyDroppedBranch () const
 
SelectionsArray const & keptProducts () const
 
int maxEvents () const
 
OutputModuleoperator= (OutputModule const &)=delete
 
 OutputModule (ParameterSet const &pset)
 
 OutputModule (OutputModule const &)=delete
 
std::string const & processName () const
 
int remainingEvents () const
 
bool selected (BranchDescription const &desc) const
 
void selectProducts (ProductRegistry const &preg)
 
bool wantAllEvents () const
 
virtual ~OutputModule ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Protected Member Functions

void configure (OutputModuleDescription const &desc)
 
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)
 
std::map< BranchID::value_type,
BranchID::value_type > const & 
droppedBranchIDToKeptBranchID ()
 
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)
 
- 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)
 

Private Types

typedef std::map< BranchID,
std::set< ParentageID > > 
BranchParents
 

Private Member Functions

virtual void beginJob ()
 
virtual void beginLuminosityBlock (LuminosityBlockPrincipal const &)
 
virtual void beginRun (RunPrincipal const &)
 
void doCloseFile ()
 Tell the OutputModule that is must end the current file. More...
 
void doOpenFile (FileBlock const &fb)
 
virtual void doOpenFile ()
 
void doPostForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren)
 
void doPreForkReleaseResources ()
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doWriteLuminosityBlock (LuminosityBlockPrincipal const &lbp)
 
void doWriteRun (RunPrincipal const &rp)
 
virtual void endJob ()
 
virtual void endLuminosityBlock (LuminosityBlockPrincipal const &)
 
virtual void endRun (RunPrincipal const &)
 
void fillDependencyGraph ()
 
virtual void finishEndFile ()
 
virtual bool isFileOpen () const
 
bool limitReached () const
 
void maybeOpenFile ()
 
virtual void openFile (FileBlock const &)
 
virtual void postForkReacquireResources (unsigned int, unsigned int)
 
virtual void preForkReleaseResources ()
 
void reallyCloseFile ()
 
void registerProductsAndCallbacks (OutputModule const *, ProductRegistry const *)
 
virtual void respondToCloseInputFile (FileBlock const &)
 
virtual void respondToCloseOutputFiles (FileBlock const &)
 
virtual void respondToOpenInputFile (FileBlock const &)
 
virtual void respondToOpenOutputFiles (FileBlock const &)
 
void setModuleDescription (ModuleDescription const &md)
 
virtual bool shouldWeCloseFile () const
 Ask the OutputModule if we should end the current file. More...
 
virtual void startEndFile ()
 
void updateBranchParents (EventPrincipal const &ep)
 
std::string workerType () const
 
virtual void write (EventPrincipal const &e)=0
 
virtual void writeBranchIDListRegistry ()
 
virtual void writeBranchMapper ()
 
virtual void writeFileFormatVersion ()
 
virtual void writeFileIdentifier ()
 
virtual void writeIndexIntoFile ()
 
virtual void writeLuminosityBlock (LuminosityBlockPrincipal const &)=0
 
virtual void writeParameterSetRegistry ()
 
virtual void writeParentageRegistry ()
 
virtual void writeProcessConfigurationRegistry ()
 
virtual void writeProcessHistoryRegistry ()
 
virtual void writeProductDependencies ()
 
virtual void writeProductDescriptionRegistry ()
 
virtual void writeRun (RunPrincipal const &)=0
 

Private Attributes

BranchChildren branchChildren_
 
std::unique_ptr< BranchIDListsbranchIDLists_
 
BranchParents branchParents_
 
CurrentProcessingContext const * current_context_
 
std::map< BranchID::value_type,
BranchID::value_type
droppedBranchIDToKeptBranchID_
 
std::array< bool, NumBranchTypeshasNewlyDroppedBranch_
 
SelectionsArray keptProducts_
 
int maxEvents_
 
ModuleDescription moduleDescription_
 
BranchIDLists const * origBranchIDLists_
 
std::string process_name_
 
bool prodsValid_
 
ProductSelector productSelector_
 
ProductSelectorRules productSelectorRules_
 
int remainingEvents_
 
ParameterSetID selector_config_id_
 
detail::CachedProducts selectors_
 
bool wantAllEvents_
 

Friends

class OutputWorker
 
template<typename T >
class WorkerT
 

Detailed Description

Definition at line 36 of file OutputModule.h.

Member Typedef Documentation

typedef std::map<BranchID, std::set<ParentageID> > edm::OutputModule::BranchParents
private

Definition at line 163 of file OutputModule.h.

Definition at line 40 of file OutputModule.h.

Definition at line 41 of file OutputModule.h.

Constructor & Destructor Documentation

edm::OutputModule::OutputModule ( ParameterSet const &  pset)
explicit

Definition at line 105 of file OutputModule.cc.

References edm::ParameterSet::empty(), edm::getAllTriggerNames(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameterSet(), hasNewlyDroppedBranch_, i, edm::ParameterSet::id(), process_name_, edm::ParameterSet::registerIt(), selector_config_id_, selectors_, edm::detail::CachedProducts::setup(), edm::detail::CachedProducts::setupDefault(), and wantAllEvents_.

105  :
106  maxEvents_(-1),
108  keptProducts_(),
110  process_name_(),
111  productSelectorRules_(pset, "outputCommands", "OutputModule"),
114  current_context_(nullptr),
115  prodsValid_(false),
116  wantAllEvents_(false),
117  selectors_(),
121  origBranchIDLists_(nullptr),
122  branchParents_(),
123  branchChildren_() {
124 
125  hasNewlyDroppedBranch_.fill(false);
126 
128  process_name_ = tns->getProcessName();
129 
130  ParameterSet selectevents =
131  pset.getUntrackedParameterSet("SelectEvents", ParameterSet());
132 
133  selectevents.registerIt(); // Just in case this PSet is not registered
134 
135  selector_config_id_ = selectevents.id();
136  // If selectevents is an emtpy ParameterSet, then we are to write
137  // all events, or one which contains a vstrig 'SelectEvents' that
138  // is empty, we are to write all events. We have no need for any
139  // EventSelectors.
140  if(selectevents.empty()) {
141  wantAllEvents_ = true;
143  return;
144  }
145 
146  std::vector<std::string> path_specs =
147  selectevents.getParameter<std::vector<std::string> >("SelectEvents");
148 
149  if(path_specs.empty()) {
150  wantAllEvents_ = true;
152  return;
153  }
154 
155  // If we get here, we have the possibility of having to deal with
156  // path_specs that look at more than one process.
157  std::vector<parsed_path_spec_t> parsed_paths(path_specs.size());
158  for(size_t i = 0; i < path_specs.size(); ++i) {
159  parse_path_spec(path_specs[i], parsed_paths[i]);
160  }
162  }
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
Definition: OutputModule.h:137
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModule.h:159
int i
Definition: DBlmapReader.cc:9
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
ModuleDescription moduleDescription_
Definition: OutputModule.h:142
CurrentProcessingContext const * current_context_
Definition: OutputModule.h:145
detail::CachedProducts selectors_
Definition: OutputModule.h:152
BranchIDLists const * origBranchIDLists_
Definition: OutputModule.h:161
std::string process_name_
Definition: OutputModule.h:139
SelectionsArray keptProducts_
Definition: OutputModule.h:136
std::unique_ptr< BranchIDLists > branchIDLists_
Definition: OutputModule.h:160
void setup(std::vector< parsed_path_spec_t > const &path_specs, std::vector< std::string > const &triggernames, const std::string &process_name)
ProductSelector productSelector_
Definition: OutputModule.h:141
std::vector< std::string > const & getAllTriggerNames()
Definition: OutputModule.cc:28
BranchChildren branchChildren_
Definition: OutputModule.h:166
ProductSelectorRules productSelectorRules_
Definition: OutputModule.h:140
void setupDefault(std::vector< std::string > const &triggernames)
BranchParents branchParents_
Definition: OutputModule.h:164
ParameterSetID selector_config_id_
Definition: OutputModule.h:155
edm::OutputModule::~OutputModule ( )
virtual

Definition at line 256 of file OutputModule.cc.

256 { }
edm::OutputModule::OutputModule ( OutputModule const &  )
delete

Member Function Documentation

const std::string & edm::OutputModule::baseType ( )
static

Definition at line 502 of file OutputModule.cc.

References edm::kBaseType().

502  {
503  return kBaseType;
504  }
static const std::string kBaseType("EDAnalyzer")
virtual void edm::OutputModule::beginJob ( void  )
inlineprivatevirtual

Reimplemented in edm::SubProcess, edm::PoolOutputModule, and edm::StreamerOutputModuleBase.

Definition at line 201 of file OutputModule.h.

Referenced by doBeginJob().

201 {}
virtual void edm::OutputModule::beginLuminosityBlock ( LuminosityBlockPrincipal const &  )
inlineprivatevirtual

Reimplemented in edm::SubProcess.

Definition at line 206 of file OutputModule.h.

Referenced by doBeginLuminosityBlock().

206 {}
virtual void edm::OutputModule::beginRun ( RunPrincipal const &  )
inlineprivatevirtual

Reimplemented in edm::SubProcess, FRDEventOutputModule< Consumer >, and edm::StreamerOutputModuleBase.

Definition at line 203 of file OutputModule.h.

Referenced by doBeginRun().

203 {}
BranchChildren const& edm::OutputModule::branchChildren ( ) const
inline

Definition at line 69 of file OutputModule.h.

References branchChildren_.

Referenced by edm::RootOutputFile::writeProductDependencies().

69 {return branchChildren_;}
BranchChildren branchChildren_
Definition: OutputModule.h:166
BranchIDLists const * edm::OutputModule::branchIDLists ( ) const

Definition at line 448 of file OutputModule.cc.

References branchIDLists_, droppedBranchIDToKeptBranchID_, and origBranchIDLists_.

Referenced by edm::StreamerOutputModuleBase::serializeRegistry(), and edm::RootOutputFile::writeBranchIDListRegistry().

448  {
449  if(!droppedBranchIDToKeptBranchID_.empty()) {
450  // Make a private copy of the BranchIDLists.
452  // Check for branches dropped while an EDAlias was kept.
453  for(BranchIDList& branchIDList : *branchIDLists_) {
454  for(BranchID::value_type& branchID : branchIDList) {
455  // Replace BranchID of each dropped branch with that of the kept alias, so the alias branch will have the product ID of the original branch.
456  std::map<BranchID::value_type, BranchID::value_type>::const_iterator iter = droppedBranchIDToKeptBranchID_.find(branchID);
457  if(iter != droppedBranchIDToKeptBranchID_.end()) {
458  branchID = iter->second;
459  }
460  }
461  }
462  return branchIDLists_.get();
463  }
464  return origBranchIDLists_;
465  }
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModule.h:159
BranchIDLists const * origBranchIDLists_
Definition: OutputModule.h:161
unsigned int value_type
Definition: BranchID.h:16
std::unique_ptr< BranchIDLists > branchIDLists_
Definition: OutputModule.h:160
std::vector< BranchID::value_type > BranchIDList
Definition: BranchIDList.h:18
void edm::OutputModule::configure ( OutputModuleDescription const &  desc)
protected
CurrentProcessingContext const * edm::OutputModule::currentContext ( ) const
protected

Definition at line 468 of file OutputModule.cc.

References current_context_.

468  {
469  return current_context_;
470  }
CurrentProcessingContext const * current_context_
Definition: OutputModule.h:145
ModuleDescription const & edm::OutputModule::description ( ) const
protected

Definition at line 473 of file OutputModule.cc.

References moduleDescription_.

Referenced by DQMRootOutputModule::openFile(), edm::StreamerOutputModuleBase::serializeRegistry(), and setEventSelectionInfo().

473  {
474  return moduleDescription_;
475  }
ModuleDescription moduleDescription_
Definition: OutputModule.h:142
void edm::OutputModule::doBeginJob ( )
protected

Definition at line 258 of file OutputModule.cc.

References beginJob().

258  {
259  this->beginJob();
260  }
virtual void beginJob()
Definition: OutputModule.h:201
bool edm::OutputModule::doBeginLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
protected

Definition at line 366 of file OutputModule.cc.

References beginLuminosityBlock(), current_context_, and FDEBUG.

368  {
369  detail::CPCSentry sentry(current_context_, cpc);
370  FDEBUG(2) << "beginLuminosityBlock called\n";
372  return true;
373  }
CurrentProcessingContext const * current_context_
Definition: OutputModule.h:145
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void beginLuminosityBlock(LuminosityBlockPrincipal const &)
Definition: OutputModule.h:206
bool edm::OutputModule::doBeginRun ( RunPrincipal const &  rp,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
protected

Definition at line 340 of file OutputModule.cc.

References beginRun(), current_context_, and FDEBUG.

342  {
343  detail::CPCSentry sentry(current_context_, cpc);
344  FDEBUG(2) << "beginRun called\n";
345  beginRun(rp);
346  return true;
347  }
CurrentProcessingContext const * current_context_
Definition: OutputModule.h:145
virtual void beginRun(RunPrincipal const &)
Definition: OutputModule.h:203
#define FDEBUG(lev)
Definition: DebugMacros.h:18
void edm::OutputModule::doCloseFile ( )
private

Tell the OutputModule that is must end the current file.

Definition at line 424 of file OutputModule.cc.

References isFileOpen(), and reallyCloseFile().

Referenced by edm::OutputWorker::closeFile().

424  {
425  if(isFileOpen()) reallyCloseFile();
426  }
virtual bool isFileOpen() const
Definition: OutputModule.h:217
void edm::OutputModule::doEndJob ( )
protected

Definition at line 262 of file OutputModule.cc.

References endJob().

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

262  {
263  endJob();
264  }
virtual void endJob()
Definition: OutputModule.h:202
bool edm::OutputModule::doEndLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
protected

Definition at line 376 of file OutputModule.cc.

References current_context_, endLuminosityBlock(), and FDEBUG.

378  {
379  detail::CPCSentry sentry(current_context_, cpc);
380  FDEBUG(2) << "endLuminosityBlock called\n";
381  endLuminosityBlock(lbp);
382  return true;
383  }
CurrentProcessingContext const * current_context_
Definition: OutputModule.h:145
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void endLuminosityBlock(LuminosityBlockPrincipal const &)
Definition: OutputModule.h:207
bool edm::OutputModule::doEndRun ( RunPrincipal const &  rp,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
protected

Definition at line 350 of file OutputModule.cc.

References current_context_, endRun(), and FDEBUG.

352  {
353  detail::CPCSentry sentry(current_context_, cpc);
354  FDEBUG(2) << "endRun called\n";
355  endRun(rp);
356  return true;
357  }
CurrentProcessingContext const * current_context_
Definition: OutputModule.h:145
virtual void endRun(RunPrincipal const &)
Definition: OutputModule.h:204
#define FDEBUG(lev)
Definition: DebugMacros.h:18
bool edm::OutputModule::doEvent ( EventPrincipal const &  ep,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
protected

Definition at line 299 of file OutputModule.cc.

References current_context_, alignCSCRings::e, FDEBUG, moduleDescription_, prodsValid_, remainingEvents_, selectors_, updateBranchParents(), wantAllEvents_, edm::detail::CachedProducts::wantEvent(), and write().

301  {
302  detail::CPCSentry sentry(current_context_, cpc);
303  PVSentry products_sentry(selectors_, prodsValid_);
304 
305  FDEBUG(2) << "writeEvent called\n";
306 
307  if(!wantAllEvents_) {
308  // use module description and const_cast unless interface to
309  // event is changed to just take a const EventPrincipal
310  Event e(const_cast<EventPrincipal&>(ep), moduleDescription_);
311  if(!selectors_.wantEvent(e)) {
312  return true;
313  }
314  }
315  write(ep);
317  if(remainingEvents_ > 0) {
319  }
320  return true;
321  }
ModuleDescription moduleDescription_
Definition: OutputModule.h:142
CurrentProcessingContext const * current_context_
Definition: OutputModule.h:145
detail::CachedProducts selectors_
Definition: OutputModule.h:152
void updateBranchParents(EventPrincipal const &ep)
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void write(EventPrincipal const &e)=0
bool wantEvent(Event const &e)
void edm::OutputModule::doOpenFile ( FileBlock const &  fb)
private

Definition at line 390 of file OutputModule.cc.

References openFile().

Referenced by edm::OutputWorker::openFile().

390  {
391  openFile(fb);
392  }
virtual void openFile(FileBlock const &)
Definition: OutputModule.h:209
virtual void edm::OutputModule::doOpenFile ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 219 of file OutputModule.h.

Referenced by maybeOpenFile().

219 { }
void edm::OutputModule::doPostForkReacquireResources ( unsigned int  iChildIndex,
unsigned int  iNumberOfChildren 
)
private

Definition at line 416 of file OutputModule.cc.

References postForkReacquireResources().

416  {
417  postForkReacquireResources(iChildIndex, iNumberOfChildren);
418  }
virtual void postForkReacquireResources(unsigned int, unsigned int)
Definition: OutputModule.h:215
void edm::OutputModule::doPreForkReleaseResources ( )
private

Definition at line 411 of file OutputModule.cc.

References preForkReleaseResources().

411  {
413  }
virtual void preForkReleaseResources()
Definition: OutputModule.h:214
void edm::OutputModule::doRespondToCloseInputFile ( FileBlock const &  fb)
private

Definition at line 398 of file OutputModule.cc.

References respondToCloseInputFile().

398  {
400  }
virtual void respondToCloseInputFile(FileBlock const &)
Definition: OutputModule.h:211
void edm::OutputModule::doRespondToCloseOutputFiles ( FileBlock const &  fb)
private

Definition at line 406 of file OutputModule.cc.

References respondToCloseOutputFiles().

406  {
408  }
virtual void respondToCloseOutputFiles(FileBlock const &)
Definition: OutputModule.h:213
void edm::OutputModule::doRespondToOpenInputFile ( FileBlock const &  fb)
private

Definition at line 394 of file OutputModule.cc.

References respondToOpenInputFile().

394  {
396  }
virtual void respondToOpenInputFile(FileBlock const &)
Definition: OutputModule.h:210
void edm::OutputModule::doRespondToOpenOutputFiles ( FileBlock const &  fb)
private

Definition at line 402 of file OutputModule.cc.

References respondToOpenOutputFiles().

402  {
404  }
virtual void respondToOpenOutputFiles(FileBlock const &)
Definition: OutputModule.h:212
void edm::OutputModule::doWriteLuminosityBlock ( LuminosityBlockPrincipal const &  lbp)
private

Definition at line 385 of file OutputModule.cc.

References FDEBUG, and writeLuminosityBlock().

Referenced by edm::OutputWorker::writeLumi().

385  {
386  FDEBUG(2) << "writeLuminosityBlock called\n";
388  }
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void writeLuminosityBlock(LuminosityBlockPrincipal const &)=0
void edm::OutputModule::doWriteRun ( RunPrincipal const &  rp)
private

Definition at line 360 of file OutputModule.cc.

References FDEBUG, and writeRun().

Referenced by edm::OutputWorker::writeRun().

360  {
361  FDEBUG(2) << "writeRun called\n";
362  writeRun(rp);
363  }
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void writeRun(RunPrincipal const &)=0
std::map<BranchID::value_type, BranchID::value_type> const& edm::OutputModule::droppedBranchIDToKeptBranchID ( )
inlineprotected

Definition at line 112 of file OutputModule.h.

References droppedBranchIDToKeptBranchID_.

Referenced by edm::SubProcess::beginJob().

112  {
114  }
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModule.h:159
virtual void edm::OutputModule::endJob ( void  )
inlineprivatevirtual

Reimplemented in edm::SubProcess, and edm::StreamerOutputModuleBase.

Definition at line 202 of file OutputModule.h.

Referenced by doEndJob().

202 {}
virtual void edm::OutputModule::endLuminosityBlock ( LuminosityBlockPrincipal const &  )
inlineprivatevirtual

Reimplemented in edm::SubProcess.

Definition at line 207 of file OutputModule.h.

Referenced by doEndLuminosityBlock().

207 {}
virtual void edm::OutputModule::endRun ( RunPrincipal const &  )
inlineprivatevirtual

Reimplemented in edm::SubProcess, FRDEventOutputModule< Consumer >, and edm::StreamerOutputModuleBase.

Definition at line 204 of file OutputModule.h.

Referenced by doEndRun().

204 {}
void edm::OutputModule::fillDependencyGraph ( )
private

Definition at line 554 of file OutputModule.cc.

References branchChildren_, branchParents_, edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), i, edm::BranchChildren::insertChild(), edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), j, parents, and edm::Parentage::parents().

Referenced by reallyCloseFile().

554  {
555  for(BranchParents::const_iterator i = branchParents_.begin(), iEnd = branchParents_.end();
556  i != iEnd; ++i) {
557  BranchID const& child = i->first;
558  std::set<ParentageID> const& eIds = i->second;
559  for(std::set<ParentageID>::const_iterator it = eIds.begin(), itEnd = eIds.end();
560  it != itEnd; ++it) {
561  Parentage entryDesc;
562  ParentageRegistry::instance()->getMapped(*it, entryDesc);
563  std::vector<BranchID> const& parents = entryDesc.parents();
564  for(std::vector<BranchID>::const_iterator j = parents.begin(), jEnd = parents.end();
565  j != jEnd; ++j) {
566  branchChildren_.insertChild(*j, child);
567  }
568  }
569  }
570  }
int i
Definition: DBlmapReader.cc:9
TPRegexp parents
Definition: eve_filter.cc:24
static ThreadSafeRegistry * instance()
bool getMapped(key_type const &k, value_type &result) const
void insertChild(BranchID parent, BranchID child)
int j
Definition: DBlmapReader.cc:9
BranchChildren branchChildren_
Definition: OutputModule.h:166
BranchParents branchParents_
Definition: OutputModule.h:164
void edm::OutputModule::fillDescription ( ParameterSetDescription desc)
static
void edm::OutputModule::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 483 of file OutputModule.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

483  {
485  desc.setUnknown();
486  descriptions.addDefault(desc);
487  }
virtual void edm::OutputModule::finishEndFile ( )
inlineprivatevirtual

Reimplemented in DQMRootOutputModule, and edm::PoolOutputModule.

Definition at line 245 of file OutputModule.h.

Referenced by reallyCloseFile().

245 {}
Trig edm::OutputModule::getTriggerResults ( Event const &  ep) const
protected

Definition at line 267 of file OutputModule.cc.

References edm::detail::CachedProducts::getOneTriggerResults(), and selectors_.

Referenced by getTriggerResults(), and edm::StreamerOutputModuleBase::setHltMask().

267  {
268  return selectors_.getOneTriggerResults(ev);
269  }
handle_t getOneTriggerResults(Event const &e)
detail::CachedProducts selectors_
Definition: OutputModule.h:152
Trig edm::OutputModule::getTriggerResults ( EventPrincipal const &  ep) const
protected

Definition at line 271 of file OutputModule.cc.

References current_context_, getTriggerResults(), and edm::CurrentProcessingContext::moduleDescription().

271  {
272  // This is bad, because we're returning handles into an Event that
273  // is destructed before the return. It might not fail, because the
274  // actual EventPrincipal is not destroyed, but it still needs to
275  // be cleaned up.
276  Event ev(const_cast<EventPrincipal&>(ep),
278  return getTriggerResults(ev);
279  }
ModuleDescription const * moduleDescription() const
CurrentProcessingContext const * current_context_
Definition: OutputModule.h:145
Trig getTriggerResults(Event const &ep) const
std::array<bool, NumBranchTypes> const& edm::OutputModule::hasNewlyDroppedBranch ( ) const
inline

Definition at line 62 of file OutputModule.h.

References hasNewlyDroppedBranch_.

62 {return hasNewlyDroppedBranch_;}
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
Definition: OutputModule.h:137
virtual bool edm::OutputModule::isFileOpen ( ) const
inlineprivatevirtual

Reimplemented in DQMRootOutputModule, and edm::PoolOutputModule.

Definition at line 217 of file OutputModule.h.

Referenced by doCloseFile(), and maybeOpenFile().

217 { return true; }
SelectionsArray const& edm::OutputModule::keptProducts ( ) const
inline
bool edm::OutputModule::limitReached ( ) const
inlineprivate

Definition at line 228 of file OutputModule.h.

References remainingEvents_.

Referenced by edm::OutputWorker::limitReached().

228 {return remainingEvents_ == 0;}
int edm::OutputModule::maxEvents ( ) const
inline

Accessor for maximum number of events to be written. -1 is used for unlimited.

Definition at line 51 of file OutputModule.h.

References maxEvents_.

Referenced by edm::SubProcess::SubProcess().

51 {return maxEvents_;}
void edm::OutputModule::maybeOpenFile ( )
private

Tell the OutputModule to open an output file, if one is not already open.

Definition at line 420 of file OutputModule.cc.

References doOpenFile(), and isFileOpen().

Referenced by edm::OutputWorker::openNewFileIfNeeded().

420  {
421  if(!isFileOpen()) doOpenFile();
422  }
virtual void doOpenFile()
Definition: OutputModule.h:219
virtual bool isFileOpen() const
Definition: OutputModule.h:217
virtual void edm::OutputModule::openFile ( FileBlock const &  )
inlineprivatevirtual
OutputModule& edm::OutputModule::operator= ( OutputModule const &  )
delete
virtual void edm::OutputModule::postForkReacquireResources ( unsigned int  ,
unsigned int   
)
inlineprivatevirtual

Reimplemented in edm::SubProcess, and edm::PoolOutputModule.

Definition at line 215 of file OutputModule.h.

Referenced by doPostForkReacquireResources().

215 {}
virtual void edm::OutputModule::preForkReleaseResources ( )
inlineprivatevirtual

Reimplemented in edm::SubProcess.

Definition at line 214 of file OutputModule.h.

Referenced by doPreForkReleaseResources().

214 {}
void edm::OutputModule::prevalidate ( ConfigurationDescriptions )
static

Definition at line 496 of file OutputModule.cc.

496  {
497  }
std::string const& edm::OutputModule::processName ( ) const
inline

Definition at line 60 of file OutputModule.h.

References process_name_.

Referenced by edm::StreamerOutputModuleBase::serializeRegistry(), and DQMRootOutputModule::startEndFile().

60 {return process_name_;}
std::string process_name_
Definition: OutputModule.h:139
void edm::OutputModule::reallyCloseFile ( )
private

Definition at line 428 of file OutputModule.cc.

References branchChildren_, branchParents_, edm::BranchChildren::clear(), fillDependencyGraph(), finishEndFile(), startEndFile(), writeBranchIDListRegistry(), writeBranchMapper(), writeFileFormatVersion(), writeFileIdentifier(), writeIndexIntoFile(), writeParameterSetRegistry(), writeParentageRegistry(), writeProcessConfigurationRegistry(), writeProcessHistoryRegistry(), writeProductDependencies(), and writeProductDescriptionRegistry().

Referenced by doCloseFile().

428  {
430  startEndFile();
442  finishEndFile();
443  branchParents_.clear();
445  }
virtual void writeProductDependencies()
Definition: OutputModule.h:243
virtual void writeFileFormatVersion()
Definition: OutputModule.h:234
virtual void writeIndexIntoFile()
Definition: OutputModule.h:236
virtual void finishEndFile()
Definition: OutputModule.h:245
virtual void writeParentageRegistry()
Definition: OutputModule.h:241
virtual void writeProcessConfigurationRegistry()
Definition: OutputModule.h:237
virtual void writeFileIdentifier()
Definition: OutputModule.h:235
void fillDependencyGraph()
BranchChildren branchChildren_
Definition: OutputModule.h:166
virtual void writeParameterSetRegistry()
Definition: OutputModule.h:239
virtual void startEndFile()
Definition: OutputModule.h:233
virtual void writeBranchMapper()
Definition: OutputModule.h:244
BranchParents branchParents_
Definition: OutputModule.h:164
virtual void writeBranchIDListRegistry()
Definition: OutputModule.h:240
virtual void writeProcessHistoryRegistry()
Definition: OutputModule.h:238
virtual void writeProductDescriptionRegistry()
Definition: OutputModule.h:242
void edm::OutputModule::registerProductsAndCallbacks ( OutputModule const *  ,
ProductRegistry const *   
)
inlineprivate

Definition at line 195 of file OutputModule.h.

195 {}
int edm::OutputModule::remainingEvents ( ) const
inline

Accessor for remaining number of events to be written. -1 is used for unlimited.

Definition at line 55 of file OutputModule.h.

References remainingEvents_.

Referenced by edm::PoolOutputModule::beginInputFile().

55 {return remainingEvents_;}
virtual void edm::OutputModule::respondToCloseInputFile ( FileBlock const &  )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule, and edm::SubProcess.

Definition at line 211 of file OutputModule.h.

Referenced by doRespondToCloseInputFile().

211 {}
virtual void edm::OutputModule::respondToCloseOutputFiles ( FileBlock const &  )
inlineprivatevirtual

Reimplemented in edm::SubProcess.

Definition at line 213 of file OutputModule.h.

Referenced by doRespondToCloseOutputFiles().

213 {}
virtual void edm::OutputModule::respondToOpenInputFile ( FileBlock const &  )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule, and edm::SubProcess.

Definition at line 210 of file OutputModule.h.

Referenced by doRespondToOpenInputFile().

210 {}
virtual void edm::OutputModule::respondToOpenOutputFiles ( FileBlock const &  )
inlineprivatevirtual

Reimplemented in edm::SubProcess.

Definition at line 212 of file OutputModule.h.

Referenced by doRespondToOpenOutputFiles().

212 {}
bool edm::OutputModule::selected ( BranchDescription const &  desc) const

Definition at line 478 of file OutputModule.cc.

References productSelector_, and edm::ProductSelector::selected().

Referenced by selectProducts(), and edm::AsciiOutputModule::write().

478  {
479  return productSelector_.selected(desc);
480  }
bool selected(BranchDescription const &desc) const
ProductSelector productSelector_
Definition: OutputModule.h:141
ParameterSetID edm::OutputModule::selectorConfig ( ) const
inlineprotected
void edm::OutputModule::selectProducts ( ProductRegistry const &  preg)

Definition at line 169 of file OutputModule.cc.

References edm::ProductRegistry::allBranchDescriptions(), edm::BranchDescription::branchID(), edm::BranchDescription::branchType(), edm::errors::Configuration, edm::EDConsumerBase::consumes(), droppedBranchIDToKeptBranchID_, edm::hlt::Exception, hasNewlyDroppedBranch_, edm::BranchID::id(), edm::InEvent, edm::ProductSelector::initialize(), edm::ProductSelector::initialized(), edm::InLumi, edm::InRun, edm::BranchDescription::isAlias(), keptProducts_, edm::BranchDescription::moduleLabel(), edm::BranchDescription::originalBranchID(), edm::BranchDescription::present(), edm::BranchDescription::processName(), edm::BranchDescription::produced(), edm::PRODUCT_TYPE, edm::BranchDescription::productInstanceName(), edm::ProductRegistry::productList(), productSelector_, productSelectorRules_, selected(), edm::BranchDescription::transient(), and edm::BranchDescription::unwrappedTypeID().

Referenced by edm::OutputWorker::selectProducts(), and edm::SubProcess::SubProcess().

169  {
170  if(productSelector_.initialized()) return;
171  productSelector_.initialize(productSelectorRules_, preg.allBranchDescriptions());
172 
173  // TODO: See if we can collapse keptProducts_ and productSelector_ into a
174  // single object. See the notes in the header for ProductSelector
175  // for more information.
176 
177  std::map<BranchID, BranchDescription const*> trueBranchIDToKeptBranchDesc;
178 
179  for(auto const& it : preg.productList()) {
180  BranchDescription const& desc = it.second;
181  if(desc.transient()) {
182  // if the class of the branch is marked transient, output nothing
183  } else if(!desc.present() && !desc.produced()) {
184  // else if the branch containing the product has been previously dropped,
185  // output nothing
186  } else if(selected(desc)) {
187  // else if the branch has been selected, put it in the list of selected branches.
188  if(desc.produced()) {
189  // First we check if an equivalent branch has already been selected due to an EDAlias.
190  // We only need the check for products produced in this process.
191  BranchID const& trueBranchID = desc.originalBranchID();
192  std::map<BranchID, BranchDescription const*>::const_iterator iter = trueBranchIDToKeptBranchDesc.find(trueBranchID);
193  if(iter != trueBranchIDToKeptBranchDesc.end()) {
194  throw edm::Exception(errors::Configuration, "Duplicate Output Selection")
195  << "Two (or more) equivalent branches have been selected for output.\n"
196  << "#1: " << BranchKey(desc) << "\n"
197  << "#2: " << BranchKey(*iter->second) << "\n"
198  << "Please drop at least one of them.\n";
199  }
200  trueBranchIDToKeptBranchDesc.insert(std::make_pair(trueBranchID, &desc));
201  }
202  switch (desc.branchType()) {
203  case InEvent:
204  {
205  consumes(TypeToGet{desc.unwrappedTypeID(),PRODUCT_TYPE},
206  InputTag{desc.moduleLabel(),
207  desc.productInstanceName(),
208  desc.processName()});
209  break;
210  }
211  case InLumi:
212  {
213  consumes<InLumi>(TypeToGet{desc.unwrappedTypeID(),PRODUCT_TYPE},
214  InputTag(desc.moduleLabel(),
215  desc.productInstanceName(),
216  desc.processName()));
217  break;
218  }
219  case InRun:
220  {
221  consumes<InRun>(TypeToGet{desc.unwrappedTypeID(),PRODUCT_TYPE},
222  InputTag(desc.moduleLabel(),
223  desc.productInstanceName(),
224  desc.processName()));
225  break;
226  }
227  default:
228  assert(false);
229  break;
230  }
231  // Now put it in the list of selected branches.
232  keptProducts_[desc.branchType()].push_back(&desc);
233  } else {
234  // otherwise, output nothing,
235  // and mark the fact that there is a newly dropped branch of this type.
236  hasNewlyDroppedBranch_[desc.branchType()] = true;
237  }
238  }
239  // Now fill in a mapping needed in the case that a branch was dropped while its EDAlias was kept.
240  for(auto const& it : preg.productList()) {
241  BranchDescription const& desc = it.second;
242  if(!desc.produced() || desc.isAlias()) continue;
243  BranchID const& branchID = desc.branchID();
244  std::map<BranchID, BranchDescription const*>::const_iterator iter = trueBranchIDToKeptBranchDesc.find(branchID);
245  if(iter != trueBranchIDToKeptBranchDesc.end()) {
246  // This branch, produced in this process, or an alias of it, was persisted.
247  BranchID const& keptBranchID = iter->second->branchID();
248  if(keptBranchID != branchID) {
249  // An EDAlias branch was persisted.
250  droppedBranchIDToKeptBranchID_.insert(std::make_pair(branchID.id(), keptBranchID.id()));
251  }
252  }
253  }
254  }
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
Definition: OutputModule.h:137
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModule.h:159
bool selected(BranchDescription const &desc) const
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
SelectionsArray keptProducts_
Definition: OutputModule.h:136
ProductSelector productSelector_
Definition: OutputModule.h:141
bool initialized() const
void initialize(ProductSelectorRules const &rules, std::vector< BranchDescription const * > const &branchDescriptions)
ProductSelectorRules productSelectorRules_
Definition: OutputModule.h:140
void edm::OutputModule::setEventSelectionInfo ( std::map< std::string, std::vector< std::pair< std::string, int > > > const &  outputModulePathPositions,
bool  anyProductProduced 
)
protected

Definition at line 507 of file OutputModule.cc.

References edm::ParameterSet::addParameter(), edm::ParameterSet::copyForModify(), description(), alignCSCRings::e, edm::ParameterSet::exists(), edm::getParameterSet(), i, edm::ParameterSet::id(), diffTwoXMLs::label, edm::ModuleDescription::moduleLabel(), edm::ParameterSet::registerIt(), selector_config_id_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by edm::SubProcess::SubProcess().

508  {
509 
510  ParameterSet selectEventsInfo;
511  selectEventsInfo.copyForModify(getParameterSet(selector_config_id_));
512  selectEventsInfo.addParameter<bool>("InProcessHistory", anyProductProduced);
514  std::vector<std::string> endPaths;
515  std::vector<int> endPathPositions;
516 
517  // The label will be empty if and only if this is a SubProcess
518  // SubProcess's do not appear on any end path
519  if (!label.empty()) {
520  std::map<std::string, std::vector<std::pair<std::string, int> > >::const_iterator iter = outputModulePathPositions.find(label);
521  assert(iter != outputModulePathPositions.end());
522  for (std::vector<std::pair<std::string, int> >::const_iterator i = iter->second.begin(), e = iter->second.end();
523  i != e; ++i) {
524  endPaths.push_back(i->first);
525  endPathPositions.push_back(i->second);
526  }
527  }
528  selectEventsInfo.addParameter<std::vector<std::string> >("EndPaths", endPaths);
529  selectEventsInfo.addParameter<std::vector<int> >("EndPathPositions", endPathPositions);
530  if (!selectEventsInfo.exists("SelectEvents")) {
531  selectEventsInfo.addParameter<std::vector<std::string> >("SelectEvents", std::vector<std::string>());
532  }
533  selectEventsInfo.registerIt();
534 
535  selector_config_id_ = selectEventsInfo.id();
536  }
int i
Definition: DBlmapReader.cc:9
ParameterSet const & getParameterSet(ParameterSetID const &id)
std::string const & moduleLabel() const
ModuleDescription const & description() const
ParameterSetID selector_config_id_
Definition: OutputModule.h:155
void edm::OutputModule::setModuleDescription ( ModuleDescription const &  md)
inlineprivate

Definition at line 221 of file OutputModule.h.

References moduleDescription_.

221  {
222  moduleDescription_ = md;
223  }
ModuleDescription moduleDescription_
Definition: OutputModule.h:142
virtual bool edm::OutputModule::shouldWeCloseFile ( ) const
inlineprivatevirtual

Ask the OutputModule if we should end the current file.

Reimplemented in edm::PoolOutputModule, and edm::TimeoutPoolOutputModule.

Definition at line 198 of file OutputModule.h.

Referenced by edm::OutputWorker::shouldWeCloseFile().

198 {return false;}
virtual void edm::OutputModule::startEndFile ( )
inlineprivatevirtual

Reimplemented in DQMRootOutputModule, and edm::PoolOutputModule.

Definition at line 233 of file OutputModule.h.

Referenced by reallyCloseFile().

233 {}
void edm::OutputModule::updateBranchParents ( EventPrincipal const &  ep)
private

Definition at line 539 of file OutputModule.cc.

References edm::Principal::begin(), branchChildren_, branchParents_, edm::Principal::end(), i, and edm::BranchChildren::insertEmpty().

Referenced by doEvent().

539  {
540  for(EventPrincipal::const_iterator i = ep.begin(), iEnd = ep.end(); i != iEnd; ++i) {
541  if((*i) && (*i)->productProvenancePtr() != 0) {
542  BranchID const& bid = (*i)->branchDescription().branchID();
543  BranchParents::iterator it = branchParents_.find(bid);
544  if(it == branchParents_.end()) {
545  it = branchParents_.insert(std::make_pair(bid, std::set<ParentageID>())).first;
546  }
547  it->second.insert((*i)->productProvenancePtr()->parentageID());
549  }
550  }
551  }
int i
Definition: DBlmapReader.cc:9
void insertEmpty(BranchID parent)
BranchChildren branchChildren_
Definition: OutputModule.h:166
boost::filter_iterator< FilledProductPtr, ProductHolderCollection::const_iterator > const_iterator
Definition: Principal.h:55
BranchParents branchParents_
Definition: OutputModule.h:164
bool edm::OutputModule::wantAllEvents ( ) const
inline
std::string edm::OutputModule::workerType ( ) const
inlineprivate

Definition at line 181 of file OutputModule.h.

181 {return "OutputWorker";}
virtual void edm::OutputModule::write ( EventPrincipal const &  e)
privatepure virtual
virtual void edm::OutputModule::writeBranchIDListRegistry ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 240 of file OutputModule.h.

Referenced by reallyCloseFile().

240 {}
virtual void edm::OutputModule::writeBranchMapper ( )
inlineprivatevirtual

Definition at line 244 of file OutputModule.h.

Referenced by reallyCloseFile().

244 {}
virtual void edm::OutputModule::writeFileFormatVersion ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 234 of file OutputModule.h.

Referenced by reallyCloseFile().

234 {}
virtual void edm::OutputModule::writeFileIdentifier ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 235 of file OutputModule.h.

Referenced by reallyCloseFile().

235 {}
virtual void edm::OutputModule::writeIndexIntoFile ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 236 of file OutputModule.h.

Referenced by reallyCloseFile().

236 {}
virtual void edm::OutputModule::writeLuminosityBlock ( LuminosityBlockPrincipal const &  )
privatepure virtual
virtual void edm::OutputModule::writeParameterSetRegistry ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 239 of file OutputModule.h.

Referenced by reallyCloseFile().

239 {}
virtual void edm::OutputModule::writeParentageRegistry ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 241 of file OutputModule.h.

Referenced by reallyCloseFile().

241 {}
virtual void edm::OutputModule::writeProcessConfigurationRegistry ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 237 of file OutputModule.h.

Referenced by reallyCloseFile().

237 {}
virtual void edm::OutputModule::writeProcessHistoryRegistry ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 238 of file OutputModule.h.

Referenced by reallyCloseFile().

238 {}
virtual void edm::OutputModule::writeProductDependencies ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 243 of file OutputModule.h.

Referenced by reallyCloseFile().

243 {}
virtual void edm::OutputModule::writeProductDescriptionRegistry ( )
inlineprivatevirtual

Reimplemented in edm::PoolOutputModule.

Definition at line 242 of file OutputModule.h.

Referenced by reallyCloseFile().

242 {}
virtual void edm::OutputModule::writeRun ( RunPrincipal const &  )
privatepure virtual

Friends And Related Function Documentation

friend class OutputWorker
friend

Definition at line 39 of file OutputModule.h.

template<typename T >
friend class WorkerT
friend

Definition at line 38 of file OutputModule.h.

Member Data Documentation

BranchChildren edm::OutputModule::branchChildren_
private
std::unique_ptr<BranchIDLists> edm::OutputModule::branchIDLists_
private

Definition at line 160 of file OutputModule.h.

Referenced by branchIDLists().

BranchParents edm::OutputModule::branchParents_
private

Definition at line 164 of file OutputModule.h.

Referenced by fillDependencyGraph(), reallyCloseFile(), and updateBranchParents().

CurrentProcessingContext const* edm::OutputModule::current_context_
private
std::map<BranchID::value_type, BranchID::value_type> edm::OutputModule::droppedBranchIDToKeptBranchID_
private

Definition at line 159 of file OutputModule.h.

Referenced by branchIDLists(), droppedBranchIDToKeptBranchID(), and selectProducts().

std::array<bool, NumBranchTypes> edm::OutputModule::hasNewlyDroppedBranch_
private

Definition at line 137 of file OutputModule.h.

Referenced by hasNewlyDroppedBranch(), OutputModule(), and selectProducts().

SelectionsArray edm::OutputModule::keptProducts_
private

Definition at line 136 of file OutputModule.h.

Referenced by keptProducts(), and selectProducts().

int edm::OutputModule::maxEvents_
private

Definition at line 118 of file OutputModule.h.

Referenced by configure(), and maxEvents().

ModuleDescription edm::OutputModule::moduleDescription_
private

Definition at line 142 of file OutputModule.h.

Referenced by description(), doEvent(), and setModuleDescription().

BranchIDLists const* edm::OutputModule::origBranchIDLists_
private

Definition at line 161 of file OutputModule.h.

Referenced by branchIDLists(), and configure().

std::string edm::OutputModule::process_name_
private

Definition at line 139 of file OutputModule.h.

Referenced by OutputModule(), and processName().

bool edm::OutputModule::prodsValid_
mutableprivate

Definition at line 149 of file OutputModule.h.

Referenced by doEvent().

ProductSelector edm::OutputModule::productSelector_
private

Definition at line 141 of file OutputModule.h.

Referenced by selected(), and selectProducts().

ProductSelectorRules edm::OutputModule::productSelectorRules_
private

Definition at line 140 of file OutputModule.h.

Referenced by selectProducts().

int edm::OutputModule::remainingEvents_
private

Definition at line 119 of file OutputModule.h.

Referenced by configure(), doEvent(), limitReached(), and remainingEvents().

ParameterSetID edm::OutputModule::selector_config_id_
private

Definition at line 155 of file OutputModule.h.

Referenced by OutputModule(), selectorConfig(), and setEventSelectionInfo().

detail::CachedProducts edm::OutputModule::selectors_
mutableprivate

Definition at line 152 of file OutputModule.h.

Referenced by doEvent(), getTriggerResults(), and OutputModule().

bool edm::OutputModule::wantAllEvents_
private

Definition at line 151 of file OutputModule.h.

Referenced by doEvent(), OutputModule(), and wantAllEvents().