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 edm::AsciiOutputModule edm::GetProductCheckerOutputModule edm::ProvenanceCheckerOutputModule RawEventOutputModuleForBU< Consumer >

Public Types

typedef OutputModule ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

BranchChildren const & branchChildren () const
 
BranchIDLists const * branchIDLists () const
 
std::array< bool,
NumBranchTypes > const & 
hasNewlyDroppedBranch () const
 
SelectedProductsForBranchType
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, ThinnedAssociationsHelper const &)
 
ThinnedAssociationsHelper const * thinnedAssociationsHelper () const
 
bool wantAllEvents () const
 
virtual ~OutputModule ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) 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)
 
ModuleDescription const & description () const
 
void doBeginJob ()
 
bool doBeginLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *mcc)
 
bool doBeginRun (RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc)
 
void doEndJob ()
 
bool doEndLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *mcc)
 
bool doEndRun (RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc)
 
bool doEvent (EventPrincipal const &ep, EventSetup const &c, ActivityRegistry *act, ModuleCallingContext const *mcc)
 
void doPreallocate (PreallocationConfiguration const &)
 
std::map< BranchID::value_type,
BranchID::value_type > const & 
droppedBranchIDToKeptBranchID ()
 
Trig getTriggerResults (EDGetTokenT< TriggerResults > const &token, EventPrincipal const &ep, ModuleCallingContext const *) const
 
ModuleDescription const & moduleDescription () 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 &, ModuleCallingContext const *)
 
virtual void beginRun (RunPrincipal const &, ModuleCallingContext const *)
 
void doCloseFile ()
 Tell the OutputModule that is must end the current file. More...
 
void doOpenFile (FileBlock const &fb)
 
void doPostForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren)
 
void doPreForkReleaseResources ()
 
void doRegisterThinnedAssociations (ProductRegistry const &, ThinnedAssociationsHelper &)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doWriteLuminosityBlock (LuminosityBlockPrincipal const &lbp, ModuleCallingContext const *mcc)
 
void doWriteRun (RunPrincipal const &rp, ModuleCallingContext const *mcc)
 
virtual void endJob ()
 
virtual void endLuminosityBlock (LuminosityBlockPrincipal const &, ModuleCallingContext const *)
 
virtual void endRun (RunPrincipal const &, ModuleCallingContext const *)
 
void fillDependencyGraph ()
 
virtual bool isFileOpen () const
 
void keepThisBranch (BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
 
bool limitReached () const
 
void maybeOpenFile ()
 
virtual void openFile (FileBlock const &)
 
virtual void postForkReacquireResources (unsigned int, unsigned int)
 
virtual void preForkReleaseResources ()
 
bool prePrefetchSelection (StreamID id, EventPrincipal const &, ModuleCallingContext const *)
 
virtual void reallyCloseFile ()
 
virtual void reallyOpenFile ()
 
void registerProductsAndCallbacks (OutputModule const *, ProductRegistry const *)
 
virtual void respondToCloseInputFile (FileBlock const &)
 
virtual void respondToOpenInputFile (FileBlock const &)
 
void setModuleDescription (ModuleDescription const &md)
 
virtual bool shouldWeCloseFile () const
 Ask the OutputModule if we should end the current file. More...
 
void updateBranchParents (EventPrincipal const &ep)
 
std::string workerType () const
 
virtual void write (EventPrincipal const &e, ModuleCallingContext const *)=0
 
virtual void writeLuminosityBlock (LuminosityBlockPrincipal const &, ModuleCallingContext const *)=0
 
virtual void writeRun (RunPrincipal const &, ModuleCallingContext const *)=0
 

Private Attributes

BranchChildren branchChildren_
 
std::unique_ptr< BranchIDListsbranchIDLists_
 
BranchParents branchParents_
 
std::map< BranchID::value_type,
BranchID::value_type
droppedBranchIDToKeptBranchID_
 
std::array< bool, NumBranchTypeshasNewlyDroppedBranch_
 
std::map< BranchID, bool > keepAssociation_
 
SelectedProductsForBranchType keptProducts_
 
int maxEvents_
 
ModuleDescription moduleDescription_
 
std::mutex mutex_
 
BranchIDLists const * origBranchIDLists_
 
std::string process_name_
 
ProductSelector productSelector_
 
ProductSelectorRules productSelectorRules_
 
std::atomic< int > remainingEvents_
 
SharedResourcesAcquirer resourceAcquirer_
 
ParameterSet selectEvents_
 
ParameterSetID selector_config_id_
 
std::vector
< detail::TriggerResultsBasedEventSelector
selectors_
 
std::unique_ptr
< ThinnedAssociationsHelper
thinnedAssociationsHelper_
 
bool wantAllEvents_
 

Friends

template<typename T >
class maker::ModuleHolderT
 
template<typename T >
class OutputModuleCommunicatorT
 
template<typename T >
class WorkerT
 

Detailed Description

Definition at line 52 of file OutputModule.h.

Member Typedef Documentation

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

Definition at line 176 of file OutputModule.h.

Definition at line 57 of file OutputModule.h.

Constructor & Destructor Documentation

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

Definition at line 35 of file OutputModule.cc.

References edm::detail::configureEventSelector(), edm::getAllTriggerNames(), edm::ParameterSet::getUntrackedParameterSet(), hasNewlyDroppedBranch_, edm::ParameterSet::id(), edm::SharedResourcesRegistry::instance(), edm::SharedResourcesRegistry::kLegacyModuleResourceName, process_name_, edm::ParameterSet::registerIt(), edm::SharedResourcesRegistry::registerSharedResource(), selectEvents_, selector_config_id_, selectors_, and wantAllEvents_.

35  :
36  maxEvents_(-1),
38  keptProducts_(),
40  process_name_(),
41  productSelectorRules_(pset, "outputCommands", "OutputModule"),
44  wantAllEvents_(false),
45  selectors_(),
49  origBranchIDLists_(nullptr),
50  thinnedAssociationsHelper_(new ThinnedAssociationsHelper),
52  branchChildren_() {
53 
54  hasNewlyDroppedBranch_.fill(false);
55 
57  process_name_ = tns->getProcessName();
58 
60  pset.getUntrackedParameterSet("SelectEvents", ParameterSet());
61 
62  selectEvents_.registerIt(); // Just in case this PSet is not registered
63 
65  selectors_.resize(1);
66  //need to set wantAllEvents_ in constructor
67  // we will make the remaining selectors once we know how many streams
71  selectors_[0]);
72 
75 
76  }
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
Definition: OutputModule.h:153
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModule.h:169
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
ParameterSet selectEvents_
Definition: OutputModule.h:164
ModuleDescription moduleDescription_
Definition: OutputModule.h:158
ParameterSetID id() const
ParameterSet getUntrackedParameterSet(std::string const &name, ParameterSet const &defaultValue) const
BranchIDLists const * origBranchIDLists_
Definition: OutputModule.h:171
std::string process_name_
Definition: OutputModule.h:155
static SharedResourcesRegistry * instance()
std::unique_ptr< BranchIDLists > branchIDLists_
Definition: OutputModule.h:170
std::unique_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper_
Definition: OutputModule.h:173
void registerSharedResource(const std::string &)
A resource name must be registered before it can be used in the createAcquirer call.
static const std::string kLegacyModuleResourceName
All legacy modules share this resource.
std::vector< detail::TriggerResultsBasedEventSelector > selectors_
Definition: OutputModule.h:161
SelectedProductsForBranchType keptProducts_
Definition: OutputModule.h:152
ProductSelector productSelector_
Definition: OutputModule.h:157
std::vector< std::string > const & getAllTriggerNames()
BranchChildren branchChildren_
Definition: OutputModule.h:179
ProductSelectorRules productSelectorRules_
Definition: OutputModule.h:156
std::atomic< int > remainingEvents_
Definition: OutputModule.h:135
bool configureEventSelector(edm::ParameterSet const &iPSet, std::string const &iProcessName, std::vector< std::string > const &iAllTriggerNames, edm::detail::TriggerResultsBasedEventSelector &oSelector)
ParameterSet const & registerIt()
BranchParents branchParents_
Definition: OutputModule.h:177
ParameterSetID selector_config_id_
Definition: OutputModule.h:165
edm::OutputModule::~OutputModule ( )
virtual

Definition at line 177 of file OutputModule.cc.

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

Member Function Documentation

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

Definition at line 408 of file OutputModule.cc.

References edm::kBaseType().

408  {
409  return kBaseType;
410  }
static const std::string kBaseType("EDAnalyzer")
virtual void edm::OutputModule::beginJob ( void  )
inlineprivatevirtual

Definition at line 219 of file OutputModule.h.

Referenced by doBeginJob().

219 {}
virtual void edm::OutputModule::beginLuminosityBlock ( LuminosityBlockPrincipal const &  ,
ModuleCallingContext const *   
)
inlineprivatevirtual

Reimplemented in RawEventOutputModuleForBU< Consumer >.

Definition at line 224 of file OutputModule.h.

Referenced by doBeginLuminosityBlock().

224 {}
virtual void edm::OutputModule::beginRun ( RunPrincipal const &  ,
ModuleCallingContext const *   
)
inlineprivatevirtual

Reimplemented in RawEventOutputModuleForBU< Consumer >.

Definition at line 221 of file OutputModule.h.

Referenced by doBeginRun().

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

Definition at line 85 of file OutputModule.h.

References branchChildren_.

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

Definition at line 354 of file OutputModule.cc.

References branchIDLists_, droppedBranchIDToKeptBranchID_, and origBranchIDLists_.

354  {
355  if(!droppedBranchIDToKeptBranchID_.empty()) {
356  // Make a private copy of the BranchIDLists.
358  // Check for branches dropped while an EDAlias was kept.
359  for(BranchIDList& branchIDList : *branchIDLists_) {
360  for(BranchID::value_type& branchID : branchIDList) {
361  // 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.
362  std::map<BranchID::value_type, BranchID::value_type>::const_iterator iter = droppedBranchIDToKeptBranchID_.find(branchID);
363  if(iter != droppedBranchIDToKeptBranchID_.end()) {
364  branchID = iter->second;
365  }
366  }
367  }
368  return branchIDLists_.get();
369  }
370  return origBranchIDLists_;
371  }
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModule.h:169
BranchIDLists const * origBranchIDLists_
Definition: OutputModule.h:171
unsigned int value_type
Definition: BranchID.h:16
std::unique_ptr< BranchIDLists > branchIDLists_
Definition: OutputModule.h:170
std::vector< BranchID::value_type > BranchIDList
Definition: BranchIDList.h:18
void edm::OutputModule::configure ( OutputModuleDescription const &  desc)
protected

Definition at line 78 of file OutputModule.cc.

References edm::OutputModuleDescription::branchIDLists_, edm::OutputModuleDescription::maxEvents_, maxEvents_, origBranchIDLists_, and remainingEvents_.

78  {
79  remainingEvents_ = maxEvents_ = desc.maxEvents_;
80  origBranchIDLists_ = desc.branchIDLists_;
81  }
BranchIDLists const * origBranchIDLists_
Definition: OutputModule.h:171
std::atomic< int > remainingEvents_
Definition: OutputModule.h:135
ModuleDescription const & edm::OutputModule::description ( ) const
protected

Definition at line 379 of file OutputModule.cc.

References moduleDescription_.

Referenced by setEventSelectionInfo().

379  {
380  return moduleDescription_;
381  }
ModuleDescription moduleDescription_
Definition: OutputModule.h:158
void edm::OutputModule::doBeginJob ( )
protected

Definition at line 196 of file OutputModule.cc.

References beginJob(), edm::SharedResourcesRegistry::createAcquirer(), edm::SharedResourcesRegistry::instance(), edm::SharedResourcesRegistry::kLegacyModuleResourceName, and resourceAcquirer_.

196  {
197  std::vector<std::string> res = {SharedResourcesRegistry::kLegacyModuleResourceName};
199 
200  this->beginJob();
201  }
SharedResourcesAcquirer resourceAcquirer_
Definition: OutputModule.h:181
SharedResourcesAcquirer createAcquirer(std::vector< std::string > const &) const
static SharedResourcesRegistry * instance()
static const std::string kLegacyModuleResourceName
All legacy modules share this resource.
virtual void beginJob()
Definition: OutputModule.h:219
bool edm::OutputModule::doBeginLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
protected

Definition at line 292 of file OutputModule.cc.

References beginLuminosityBlock(), and FDEBUG.

294  {
295  FDEBUG(2) << "beginLuminosityBlock called\n";
296  beginLuminosityBlock(lbp, mcc);
297  return true;
298  }
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void beginLuminosityBlock(LuminosityBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModule.h:224
bool edm::OutputModule::doBeginRun ( RunPrincipal const &  rp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
protected

Definition at line 267 of file OutputModule.cc.

References beginRun(), and FDEBUG.

269  {
270  FDEBUG(2) << "beginRun called\n";
271  beginRun(rp, mcc);
272  return true;
273  }
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void beginRun(RunPrincipal const &, ModuleCallingContext const *)
Definition: OutputModule.h:221
void edm::OutputModule::doCloseFile ( )
private

Tell the OutputModule that is must end the current file.

Definition at line 341 of file OutputModule.cc.

References branchChildren_, branchParents_, edm::BranchChildren::clear(), fillDependencyGraph(), isFileOpen(), and reallyCloseFile().

341  {
342  if(isFileOpen()) {
344  reallyCloseFile();
345  branchParents_.clear();
347  }
348  }
virtual void reallyCloseFile()
virtual bool isFileOpen() const
Definition: OutputModule.h:233
void fillDependencyGraph()
BranchChildren branchChildren_
Definition: OutputModule.h:179
BranchParents branchParents_
Definition: OutputModule.h:177
void edm::OutputModule::doEndJob ( )
protected

Definition at line 203 of file OutputModule.cc.

References endJob().

203  {
204  endJob();
205  }
virtual void endJob()
Definition: OutputModule.h:220
bool edm::OutputModule::doEndLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
protected

Definition at line 301 of file OutputModule.cc.

References endLuminosityBlock(), and FDEBUG.

303  {
304  FDEBUG(2) << "endLuminosityBlock called\n";
305  endLuminosityBlock(lbp, mcc);
306  return true;
307  }
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void endLuminosityBlock(LuminosityBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModule.h:225
bool edm::OutputModule::doEndRun ( RunPrincipal const &  rp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
protected

Definition at line 276 of file OutputModule.cc.

References endRun(), and FDEBUG.

278  {
279  FDEBUG(2) << "endRun called\n";
280  endRun(rp, mcc);
281  return true;
282  }
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void endRun(RunPrincipal const &, ModuleCallingContext const *)
Definition: OutputModule.h:222
bool edm::OutputModule::doEvent ( EventPrincipal const &  ep,
EventSetup const &  c,
ActivityRegistry act,
ModuleCallingContext const *  mcc 
)
protected

Definition at line 227 of file OutputModule.cc.

References FDEBUG, mutex_, remainingEvents_, resourceAcquirer_, updateBranchParents(), and write().

230  {
231 
232  FDEBUG(2) << "writeEvent called\n";
233 
234  {
235  std::lock_guard<std::mutex> guard(mutex_);
236 
237  {
238  std::lock_guard<SharedResourcesAcquirer> guardAcq(resourceAcquirer_);
239  EventSignalsSentry signals(act,mcc);
240  write(ep, mcc);
241  }
243  }
244  if(remainingEvents_ > 0) {
246  }
247  return true;
248  }
virtual void write(EventPrincipal const &e, ModuleCallingContext const *)=0
SharedResourcesAcquirer resourceAcquirer_
Definition: OutputModule.h:181
void updateBranchParents(EventPrincipal const &ep)
#define FDEBUG(lev)
Definition: DebugMacros.h:18
std::mutex mutex_
Definition: OutputModule.h:182
std::atomic< int > remainingEvents_
Definition: OutputModule.h:135
void edm::OutputModule::doOpenFile ( FileBlock const &  fb)
private

Definition at line 315 of file OutputModule.cc.

References openFile().

315  {
316  openFile(fb);
317  }
virtual void openFile(FileBlock const &)
Definition: OutputModule.h:227
void edm::OutputModule::doPostForkReacquireResources ( unsigned int  iChildIndex,
unsigned int  iNumberOfChildren 
)
private

Definition at line 333 of file OutputModule.cc.

References postForkReacquireResources().

333  {
334  postForkReacquireResources(iChildIndex, iNumberOfChildren);
335  }
virtual void postForkReacquireResources(unsigned int, unsigned int)
Definition: OutputModule.h:231
void edm::OutputModule::doPreallocate ( PreallocationConfiguration const &  iPC)
protected

Definition at line 179 of file OutputModule.cc.

References edm::detail::configureEventSelector(), edm::getAllTriggerNames(), edm::PreallocationConfiguration::numberOfStreams(), process_name_, alignCSCRings::s, selectEvents_, and selectors_.

179  {
180  auto nstreams = iPC.numberOfStreams();
181  selectors_.resize(nstreams);
182 
183  bool seenFirst = false;
184  for(auto& s : selectors_) {
185  if(seenFirst) {
189  s);
190  }
191  seenFirst = true;
192  }
193  }
ParameterSet selectEvents_
Definition: OutputModule.h:164
std::string process_name_
Definition: OutputModule.h:155
std::vector< detail::TriggerResultsBasedEventSelector > selectors_
Definition: OutputModule.h:161
std::vector< std::string > const & getAllTriggerNames()
bool configureEventSelector(edm::ParameterSet const &iPSet, std::string const &iProcessName, std::vector< std::string > const &iAllTriggerNames, edm::detail::TriggerResultsBasedEventSelector &oSelector)
void edm::OutputModule::doPreForkReleaseResources ( )
private

Definition at line 328 of file OutputModule.cc.

References preForkReleaseResources().

328  {
330  }
virtual void preForkReleaseResources()
Definition: OutputModule.h:230
void edm::OutputModule::doRegisterThinnedAssociations ( ProductRegistry const &  ,
ThinnedAssociationsHelper  
)
inlineprivate

Definition at line 194 of file OutputModule.h.

195  { }
void edm::OutputModule::doRespondToCloseInputFile ( FileBlock const &  fb)
private

Definition at line 323 of file OutputModule.cc.

References respondToCloseInputFile().

323  {
325  }
virtual void respondToCloseInputFile(FileBlock const &)
Definition: OutputModule.h:229
void edm::OutputModule::doRespondToOpenInputFile ( FileBlock const &  fb)
private

Definition at line 319 of file OutputModule.cc.

References respondToOpenInputFile().

319  {
321  }
virtual void respondToOpenInputFile(FileBlock const &)
Definition: OutputModule.h:228
void edm::OutputModule::doWriteLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
ModuleCallingContext const *  mcc 
)
private

Definition at line 309 of file OutputModule.cc.

References FDEBUG, and writeLuminosityBlock().

310  {
311  FDEBUG(2) << "writeLuminosityBlock called\n";
312  writeLuminosityBlock(lbp, mcc);
313  }
virtual void writeLuminosityBlock(LuminosityBlockPrincipal const &, ModuleCallingContext const *)=0
#define FDEBUG(lev)
Definition: DebugMacros.h:18
void edm::OutputModule::doWriteRun ( RunPrincipal const &  rp,
ModuleCallingContext const *  mcc 
)
private

Definition at line 285 of file OutputModule.cc.

References FDEBUG, and writeRun().

286  {
287  FDEBUG(2) << "writeRun called\n";
288  writeRun(rp, mcc);
289  }
#define FDEBUG(lev)
Definition: DebugMacros.h:18
virtual void writeRun(RunPrincipal const &, ModuleCallingContext const *)=0
std::map<BranchID::value_type, BranchID::value_type> const& edm::OutputModule::droppedBranchIDToKeptBranchID ( )
inlineprotected

Definition at line 128 of file OutputModule.h.

References droppedBranchIDToKeptBranchID_.

128  {
130  }
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModule.h:169
virtual void edm::OutputModule::endJob ( void  )
inlineprivatevirtual

Definition at line 220 of file OutputModule.h.

Referenced by doEndJob().

220 {}
virtual void edm::OutputModule::endLuminosityBlock ( LuminosityBlockPrincipal const &  ,
ModuleCallingContext const *   
)
inlineprivatevirtual

Reimplemented in RawEventOutputModuleForBU< Consumer >.

Definition at line 225 of file OutputModule.h.

Referenced by doEndLuminosityBlock().

225 {}
virtual void edm::OutputModule::endRun ( RunPrincipal const &  ,
ModuleCallingContext const *   
)
inlineprivatevirtual

Reimplemented in RawEventOutputModuleForBU< Consumer >.

Definition at line 222 of file OutputModule.h.

Referenced by doEndRun().

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

Definition at line 437 of file OutputModule.cc.

References branchChildren_, branchParents_, edm::ParentageRegistry::getMapped(), i, edm::BranchChildren::insertChild(), edm::ParentageRegistry::instance(), j, parents, and edm::Parentage::parents().

Referenced by doCloseFile().

437  {
438  for(BranchParents::const_iterator i = branchParents_.begin(), iEnd = branchParents_.end();
439  i != iEnd; ++i) {
440  BranchID const& child = i->first;
441  std::set<ParentageID> const& eIds = i->second;
442  for(std::set<ParentageID>::const_iterator it = eIds.begin(), itEnd = eIds.end();
443  it != itEnd; ++it) {
444  Parentage entryDesc;
445  ParentageRegistry::instance()->getMapped(*it, entryDesc);
446  std::vector<BranchID> const& parents = entryDesc.parents();
447  for(std::vector<BranchID>::const_iterator j = parents.begin(), jEnd = parents.end();
448  j != jEnd; ++j) {
449  branchChildren_.insertChild(*j, child);
450  }
451  }
452  }
453  }
int i
Definition: DBlmapReader.cc:9
TPRegexp parents
Definition: eve_filter.cc:24
void insertChild(BranchID parent, BranchID child)
bool getMapped(key_type const &k, value_type &result) const
int j
Definition: DBlmapReader.cc:9
BranchChildren branchChildren_
Definition: OutputModule.h:179
static ParentageRegistry * instance()
BranchParents branchParents_
Definition: OutputModule.h:177
void edm::OutputModule::fillDescription ( ParameterSetDescription desc)
static
void edm::OutputModule::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 389 of file OutputModule.cc.

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

389  {
391  desc.setUnknown();
392  descriptions.addDefault(desc);
393  }
Trig edm::OutputModule::getTriggerResults ( EDGetTokenT< TriggerResults > const &  token,
EventPrincipal const &  ep,
ModuleCallingContext const *  mcc 
) const
protected

Definition at line 208 of file OutputModule.cc.

References edm::convert_handle(), edm::PrincipalGetAdapter::getByToken_(), moduleDescription_, edm::PRODUCT_TYPE, query::result, and edm::PrincipalGetAdapter::setConsumer().

208  {
209  //This cast is safe since we only call const functions of the EventPrincipal after this point
210  PrincipalGetAdapter adapter(const_cast<EventPrincipal&>(ep), moduleDescription_);
211  adapter.setConsumer(this);
212  Trig result;
213  auto bh = adapter.getByToken_(TypeID(typeid(TriggerResults)),PRODUCT_TYPE, token, mcc);
214  convert_handle(std::move(bh), result);
215  return result;
216  }
ModuleDescription moduleDescription_
Definition: OutputModule.h:158
detail::TriggerResultsBasedEventSelector::handle_t Trig
Definition: OutputModule.h:50
tuple result
Definition: query.py:137
void convert_handle(BasicHandle &&bh, Handle< T > &result)
Definition: ConvertHandle.h:20
std::array<bool, NumBranchTypes> const& edm::OutputModule::hasNewlyDroppedBranch ( ) const
inline

Definition at line 78 of file OutputModule.h.

References hasNewlyDroppedBranch_.

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

Definition at line 233 of file OutputModule.h.

Referenced by doCloseFile(), and maybeOpenFile().

233 { return true; }
void edm::OutputModule::keepThisBranch ( BranchDescription const &  desc,
std::map< BranchID, BranchDescription const * > &  trueBranchIDToKeptBranchDesc,
std::set< BranchID > &  keptProductsInEvent 
)
private

Definition at line 132 of file OutputModule.cc.

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

Referenced by selectProducts().

134  {
135 
137  trueBranchIDToKeptBranchDesc);
138 
139  switch (desc.branchType()) {
140  case InEvent:
141  {
142  if(desc.produced()) {
143  keptProductsInEvent.insert(desc.originalBranchID());
144  } else {
145  keptProductsInEvent.insert(desc.branchID());
146  }
147  consumes(TypeToGet{desc.unwrappedTypeID(),PRODUCT_TYPE},
148  InputTag{desc.moduleLabel(),
149  desc.productInstanceName(),
150  desc.processName()});
151  break;
152  }
153  case InLumi:
154  {
155  consumes<InLumi>(TypeToGet{desc.unwrappedTypeID(),PRODUCT_TYPE},
156  InputTag(desc.moduleLabel(),
157  desc.productInstanceName(),
158  desc.processName()));
159  break;
160  }
161  case InRun:
162  {
163  consumes<InRun>(TypeToGet{desc.unwrappedTypeID(),PRODUCT_TYPE},
164  InputTag(desc.moduleLabel(),
165  desc.productInstanceName(),
166  desc.processName()));
167  break;
168  }
169  default:
170  assert(false);
171  break;
172  }
173  // Now put it in the list of selected branches.
174  keptProducts_[desc.branchType()].push_back(&desc);
175  }
assert(m_qm.get())
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
SelectedProductsForBranchType keptProducts_
Definition: OutputModule.h:152
static void checkForDuplicateKeptBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc)
SelectedProductsForBranchType const& edm::OutputModule::keptProducts ( ) const
inline

Definition at line 77 of file OutputModule.h.

References keptProducts_.

77 {return keptProducts_;}
SelectedProductsForBranchType keptProducts_
Definition: OutputModule.h:152
bool edm::OutputModule::limitReached ( ) const
inlineprivate

Definition at line 248 of file OutputModule.h.

References remainingEvents_.

248 {return remainingEvents_ == 0;}
std::atomic< int > remainingEvents_
Definition: OutputModule.h:135
int edm::OutputModule::maxEvents ( ) const
inline

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

Definition at line 67 of file OutputModule.h.

References maxEvents_.

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

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

Definition at line 337 of file OutputModule.cc.

References isFileOpen(), and reallyOpenFile().

337  {
338  if(!isFileOpen()) reallyOpenFile();
339  }
virtual void reallyOpenFile()
Definition: OutputModule.h:235
virtual bool isFileOpen() const
Definition: OutputModule.h:233
ModuleDescription const& edm::OutputModule::moduleDescription ( ) const
inlineprotected

Definition at line 102 of file OutputModule.h.

References moduleDescription_.

102  { return moduleDescription_;
103  }
ModuleDescription moduleDescription_
Definition: OutputModule.h:158
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

Definition at line 231 of file OutputModule.h.

Referenced by doPostForkReacquireResources().

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

Definition at line 230 of file OutputModule.h.

Referenced by doPreForkReleaseResources().

230 {}
bool edm::OutputModule::prePrefetchSelection ( StreamID  id,
EventPrincipal const &  ep,
ModuleCallingContext const *  mcc 
)
private

Definition at line 218 of file OutputModule.cc.

References or, alignCSCRings::s, selectors_, and wantAllEvents_.

218  {
219 
220  auto& s = selectors_[id.value()];
221  detail::TRBESSentry products_sentry(s);
222 
223  return wantAllEvents_ or s.wantEvent(ep,mcc);
224  }
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
std::vector< detail::TriggerResultsBasedEventSelector > selectors_
Definition: OutputModule.h:161
void edm::OutputModule::prevalidate ( ConfigurationDescriptions )
static

Definition at line 402 of file OutputModule.cc.

402  {
403  }
std::string const& edm::OutputModule::processName ( ) const
inline

Definition at line 76 of file OutputModule.h.

References process_name_.

Referenced by edm::StreamerOutputModuleBase::serializeRegistry().

76 {return process_name_;}
std::string process_name_
Definition: OutputModule.h:155
void edm::OutputModule::reallyCloseFile ( )
privatevirtual

Definition at line 350 of file OutputModule.cc.

Referenced by doCloseFile().

350  {
351  }
virtual void edm::OutputModule::reallyOpenFile ( )
inlineprivatevirtual

Definition at line 235 of file OutputModule.h.

Referenced by maybeOpenFile().

235 {}
void edm::OutputModule::registerProductsAndCallbacks ( OutputModule const *  ,
ProductRegistry const *   
)
inlineprivate

Definition at line 211 of file OutputModule.h.

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

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

Definition at line 71 of file OutputModule.h.

References remainingEvents_.

71 {return remainingEvents_;}
std::atomic< int > remainingEvents_
Definition: OutputModule.h:135
virtual void edm::OutputModule::respondToCloseInputFile ( FileBlock const &  )
inlineprivatevirtual

Definition at line 229 of file OutputModule.h.

Referenced by doRespondToCloseInputFile().

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

Definition at line 228 of file OutputModule.h.

Referenced by doRespondToOpenInputFile().

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

Definition at line 384 of file OutputModule.cc.

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

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

384  {
385  return productSelector_.selected(desc);
386  }
bool selected(BranchDescription const &desc) const
ProductSelector productSelector_
Definition: OutputModule.h:157
ParameterSetID edm::OutputModule::selectorConfig ( ) const
inlineprotected

Definition at line 105 of file OutputModule.h.

References selector_config_id_.

105 { return selector_config_id_; }
ParameterSetID selector_config_id_
Definition: OutputModule.h:165
void edm::OutputModule::selectProducts ( ProductRegistry const &  preg,
ThinnedAssociationsHelper const &  thinnedAssociationsHelper 
)

Definition at line 83 of file OutputModule.cc.

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

84  {
85  if(productSelector_.initialized()) return;
86  productSelector_.initialize(productSelectorRules_, preg.allBranchDescriptions());
87 
88  // TODO: See if we can collapse keptProducts_ and productSelector_ into a
89  // single object. See the notes in the header for ProductSelector
90  // for more information.
91 
92  std::map<BranchID, BranchDescription const*> trueBranchIDToKeptBranchDesc;
93  std::vector<BranchDescription const*> associationDescriptions;
94  std::set<BranchID> keptProductsInEvent;
95 
96  for(auto const& it : preg.productList()) {
97  BranchDescription const& desc = it.second;
98  if(desc.transient()) {
99  // if the class of the branch is marked transient, output nothing
100  } else if(!desc.present() && !desc.produced()) {
101  // else if the branch containing the product has been previously dropped,
102  // output nothing
103  } else if(desc.unwrappedType() == typeid(ThinnedAssociation)) {
104  associationDescriptions.push_back(&desc);
105  } else if(selected(desc)) {
106  keepThisBranch(desc, trueBranchIDToKeptBranchDesc, keptProductsInEvent);
107  } else {
108  // otherwise, output nothing,
109  // and mark the fact that there is a newly dropped branch of this type.
110  hasNewlyDroppedBranch_[desc.branchType()] = true;
111  }
112  }
113 
115  keptProductsInEvent,
117 
118  for(auto association : associationDescriptions) {
119  if(keepAssociation_[association->branchID()]) {
120  keepThisBranch(*association, trueBranchIDToKeptBranchDesc, keptProductsInEvent);
121  } else {
122  hasNewlyDroppedBranch_[association->branchType()] = true;
123  }
124  }
125 
126  // Now fill in a mapping needed in the case that a branch was dropped while its EDAlias was kept.
128 
130  }
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
Definition: OutputModule.h:153
void keepThisBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModule.h:169
static void fillDroppedToKept(ProductRegistry const &preg, std::map< BranchID, BranchDescription const * > const &trueBranchIDToKeptBranchDesc, std::map< BranchID::value_type, BranchID::value_type > &droppedBranchIDToKeptBranchID_)
std::map< BranchID, bool > keepAssociation_
Definition: OutputModule.h:174
bool selected(BranchDescription const &desc) const
void selectAssociationProducts(std::vector< BranchDescription const * > const &associationDescriptions, std::set< BranchID > const &keptProductsInEvent, std::map< BranchID, bool > &keepAssociation) const
std::unique_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper_
Definition: OutputModule.h:173
ThinnedAssociationsHelper const * thinnedAssociationsHelper() const
ProductSelector productSelector_
Definition: OutputModule.h:157
bool initialized() const
void initialize(ProductSelectorRules const &rules, std::vector< BranchDescription const * > const &branchDescriptions)
ProductSelectorRules productSelectorRules_
Definition: OutputModule.h:156
preg
Definition: Schedule.cc:370
void edm::OutputModule::setEventSelectionInfo ( std::map< std::string, std::vector< std::pair< std::string, int > > > const &  outputModulePathPositions,
bool  anyProductProduced 
)
protected

Definition at line 413 of file OutputModule.cc.

References description(), edm::getParameterSet(), edm::detail::registerProperSelectionInfo(), and selector_config_id_.

414  {
416  description().moduleLabel(),
417  outputModulePathPositions,
418  anyProductProduced);
419  }
ParameterSet const & getParameterSet(ParameterSetID const &id)
ParameterSetID registerProperSelectionInfo(edm::ParameterSet const &iInitial, std::string const &iLabel, std::map< std::string, std::vector< std::pair< std::string, int > > > const &outputModulePathPositions, bool anyProductProduced)
ModuleDescription const & description() const
ParameterSetID selector_config_id_
Definition: OutputModule.h:165
void edm::OutputModule::setModuleDescription ( ModuleDescription const &  md)
inlineprivate

Definition at line 241 of file OutputModule.h.

References popcon2dropbox_job_conf::md, and moduleDescription_.

241  {
243  }
ModuleDescription moduleDescription_
Definition: OutputModule.h:158
virtual bool edm::OutputModule::shouldWeCloseFile ( ) const
inlineprivatevirtual

Ask the OutputModule if we should end the current file.

Definition at line 216 of file OutputModule.h.

216 {return false;}
ThinnedAssociationsHelper const * edm::OutputModule::thinnedAssociationsHelper ( ) const

Definition at line 374 of file OutputModule.cc.

References thinnedAssociationsHelper_.

374  {
375  return thinnedAssociationsHelper_.get();
376  }
std::unique_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper_
Definition: OutputModule.h:173
void edm::OutputModule::updateBranchParents ( EventPrincipal const &  ep)
private

Definition at line 422 of file OutputModule.cc.

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

Referenced by doEvent().

422  {
423  for(EventPrincipal::const_iterator i = ep.begin(), iEnd = ep.end(); i != iEnd; ++i) {
424  if((*i) && (*i)->productProvenancePtr() != 0) {
425  BranchID const& bid = (*i)->branchDescription().branchID();
426  BranchParents::iterator it = branchParents_.find(bid);
427  if(it == branchParents_.end()) {
428  it = branchParents_.insert(std::make_pair(bid, std::set<ParentageID>())).first;
429  }
430  it->second.insert((*i)->productProvenancePtr()->parentageID());
432  }
433  }
434  }
int i
Definition: DBlmapReader.cc:9
void insertEmpty(BranchID parent)
BranchChildren branchChildren_
Definition: OutputModule.h:179
boost::filter_iterator< FilledProductPtr, ProductHolderCollection::const_iterator > const_iterator
Definition: Principal.h:56
BranchParents branchParents_
Definition: OutputModule.h:177
bool edm::OutputModule::wantAllEvents ( ) const
inline

Definition at line 87 of file OutputModule.h.

References wantAllEvents_.

87 {return wantAllEvents_;}
std::string edm::OutputModule::workerType ( ) const
inlineprivate

Definition at line 197 of file OutputModule.h.

197 {return "WorkerT<OutputModule>";}
virtual void edm::OutputModule::write ( EventPrincipal const &  e,
ModuleCallingContext const *   
)
privatepure virtual
virtual void edm::OutputModule::writeLuminosityBlock ( LuminosityBlockPrincipal const &  ,
ModuleCallingContext const *   
)
privatepure virtual
virtual void edm::OutputModule::writeRun ( RunPrincipal const &  ,
ModuleCallingContext const *   
)
privatepure virtual

Friends And Related Function Documentation

template<typename T >
friend class maker::ModuleHolderT
friend

Definition at line 54 of file OutputModule.h.

template<typename T >
friend class OutputModuleCommunicatorT
friend

Definition at line 56 of file OutputModule.h.

template<typename T >
friend class WorkerT
friend

Definition at line 55 of file OutputModule.h.

Member Data Documentation

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

Definition at line 170 of file OutputModule.h.

Referenced by branchIDLists().

BranchParents edm::OutputModule::branchParents_
private

Definition at line 177 of file OutputModule.h.

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

std::map<BranchID::value_type, BranchID::value_type> edm::OutputModule::droppedBranchIDToKeptBranchID_
private

Definition at line 169 of file OutputModule.h.

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

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

Definition at line 153 of file OutputModule.h.

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

std::map<BranchID, bool> edm::OutputModule::keepAssociation_
private

Definition at line 174 of file OutputModule.h.

Referenced by selectProducts().

SelectedProductsForBranchType edm::OutputModule::keptProducts_
private

Definition at line 152 of file OutputModule.h.

Referenced by keepThisBranch(), and keptProducts().

int edm::OutputModule::maxEvents_
private

Definition at line 134 of file OutputModule.h.

Referenced by configure(), and maxEvents().

ModuleDescription edm::OutputModule::moduleDescription_
private
std::mutex edm::OutputModule::mutex_
private

Definition at line 182 of file OutputModule.h.

Referenced by doEvent().

BranchIDLists const* edm::OutputModule::origBranchIDLists_
private

Definition at line 171 of file OutputModule.h.

Referenced by branchIDLists(), and configure().

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

Definition at line 155 of file OutputModule.h.

Referenced by doPreallocate(), OutputModule(), and processName().

ProductSelector edm::OutputModule::productSelector_
private

Definition at line 157 of file OutputModule.h.

Referenced by selected(), and selectProducts().

ProductSelectorRules edm::OutputModule::productSelectorRules_
private

Definition at line 156 of file OutputModule.h.

Referenced by selectProducts().

std::atomic<int> edm::OutputModule::remainingEvents_
private

Definition at line 135 of file OutputModule.h.

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

SharedResourcesAcquirer edm::OutputModule::resourceAcquirer_
private

Definition at line 181 of file OutputModule.h.

Referenced by doBeginJob(), and doEvent().

ParameterSet edm::OutputModule::selectEvents_
private

Definition at line 164 of file OutputModule.h.

Referenced by doPreallocate(), and OutputModule().

ParameterSetID edm::OutputModule::selector_config_id_
private

Definition at line 165 of file OutputModule.h.

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

std::vector<detail::TriggerResultsBasedEventSelector> edm::OutputModule::selectors_
private

Definition at line 161 of file OutputModule.h.

Referenced by doPreallocate(), OutputModule(), and prePrefetchSelection().

std::unique_ptr<ThinnedAssociationsHelper> edm::OutputModule::thinnedAssociationsHelper_
private

Definition at line 173 of file OutputModule.h.

Referenced by selectProducts(), and thinnedAssociationsHelper().

bool edm::OutputModule::wantAllEvents_
private

Definition at line 160 of file OutputModule.h.

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