CMS 3D CMS Logo

OutputModuleBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_one_OutputModuleBase_h
2 #define FWCore_Framework_one_OutputModuleBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : OutputModuleBase
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Wed, 31 Jul 2013 15:37:16 GMT
19 //
20 
21 // system include files
22 #include <array>
23 #include <memory>
24 #include <string>
25 #include <vector>
26 #include <map>
27 #include <atomic>
28 #include <set>
29 
30 // user include files
35 
48 
49 // forward declarations
50 namespace edm {
51 
52  class MergeableRunProductMetadata;
53  class ModuleCallingContext;
54  class PreallocationConfiguration;
55  class ActivityRegistry;
56  class ThinnedAssociationsHelper;
57  class SubProcessParentageHelper;
58 
59  template <typename T>
60  class OutputModuleCommunicatorT;
61 
62  namespace maker {
63  template <typename T>
64  class ModuleHolderT;
65  }
66 
67  namespace one {
68 
70  public:
71  template <typename U>
73  template <typename T>
74  friend class ::edm::WorkerT;
75  template <typename T>
76  friend class ::edm::OutputModuleCommunicatorT;
78 
79  explicit OutputModuleBase(ParameterSet const& pset);
80  ~OutputModuleBase() override;
81 
82  OutputModuleBase(OutputModuleBase const&) = delete; // Disallow copying and moving
83  OutputModuleBase& operator=(OutputModuleBase const&) = delete; // Disallow copying and moving
84 
87  int maxEvents() const { return maxEvents_; }
88 
91  int remainingEvents() const { return remainingEvents_; }
92 
93  bool selected(BranchDescription const& desc) const;
94 
96  std::string const& processName() const { return process_name_; }
98  std::array<bool, NumBranchTypes> const& hasNewlyDroppedBranch() const { return hasNewlyDroppedBranch_; }
99 
100  static void fillDescription(
102  std::vector<std::string> const& iDefaultOutputCommands = ProductSelectorRules::defaultSelectionStrings());
103  static void fillDescriptions(ConfigurationDescriptions& descriptions);
104  static const std::string& baseType();
106 
107  //Output modules always need writeRun and writeLumi to be called
108  virtual bool wantsProcessBlocks() const = 0;
109  virtual bool wantsInputProcessBlocks() const = 0;
110  virtual bool wantsGlobalRuns() const = 0;
111  virtual bool wantsGlobalLuminosityBlocks() const = 0;
112  bool wantsStreamRuns() const { return false; }
113  bool wantsStreamLuminosityBlocks() const { return false; };
114 
115  virtual SerialTaskQueue* globalRunsQueue() { return nullptr; }
116  virtual SerialTaskQueue* globalLuminosityBlocksQueue() { return nullptr; }
118 
119  bool wantAllEvents() const { return wantAllEvents_; }
120 
121  BranchIDLists const* branchIDLists();
122 
124 
126 
128 
130 
131  protected:
132  ModuleDescription const& description() const;
133 
135 
137  virtual void preallocLumis(unsigned int);
138 
139  void doBeginJob();
140  void doEndJob();
146  bool doEndRun(RunTransitionInfo const&, ModuleCallingContext const*);
149 
151  std::map<std::string, std::vector<std::pair<std::string, int>>> const& outputModulePathPositions,
152  bool anyProductProduced);
153 
155 
156  std::map<BranchID::value_type, BranchID::value_type> const& droppedBranchIDToKeptBranchID() {
158  }
159 
160  private:
162  std::atomic<int> remainingEvents_;
163 
164  // TODO: Give OutputModule
165  // an interface (protected?) that supplies client code with the
166  // needed functionality *without* giving away implementation
167  // details ... don't just return a reference to keptProducts_, because
168  // we are looking to have the flexibility to change the
169  // implementation of keptProducts_ without modifying clients. When this
170  // change is made, we'll have a one-time-only task of modifying
171  // clients (classes derived from OutputModule) to use the
172  // newly-introduced interface.
173  // TODO: Consider using shared pointers here?
174 
175  // keptProducts_ are pointers to the BranchDescription objects describing
176  // the branches we are to write.
177  //
178  // We do not own the BranchDescriptions to which we point.
180  std::array<bool, NumBranchTypes> hasNewlyDroppedBranch_;
181 
186 
188  std::vector<detail::TriggerResultsBasedEventSelector> selectors_;
190  // ID of the ParameterSet that configured the event selector
191  // subsystem.
193 
194  // needed because of possible EDAliases.
195  // filled in only if key and value are different.
196  std::map<BranchID::value_type, BranchID::value_type> droppedBranchIDToKeptBranchID_;
199 
201 
203  std::map<BranchID, bool> keepAssociation_;
204 
206 
210 
211  //------------------------------------------------------------------
212  // private member functions
213  //------------------------------------------------------------------
214 
216 
220  void doOpenFile(FileBlock const& fb);
221  void doRespondToOpenInputFile(FileBlock const& fb);
222  void doRespondToCloseInputFile(FileBlock const& fb);
225 
226  std::string workerType() const { return "WorkerT<edm::one::OutputModuleBase>"; }
227 
229  void doCloseFile();
230 
232 
233  bool needToRunSelection() const;
234  std::vector<ProductResolverIndexAndSkipBit> productsUsedBySelection() const;
236 
237  // Do the end-of-file tasks; this is only called internally, after
238  // the appropriate tests have been done.
239  virtual void reallyCloseFile();
240 
242  virtual bool shouldWeCloseFile() const { return false; }
243 
244  virtual void write(EventForOutput const&) = 0;
246  ModuleCallingContext const& iModuleCallingContext,
247  Principal const& iPrincipal) const {}
248 
249  virtual void beginJob() {}
250  virtual void endJob() {}
251  virtual void writeLuminosityBlock(LuminosityBlockForOutput const&) = 0;
252  virtual void writeRun(RunForOutput const&) = 0;
253  virtual void writeProcessBlock(ProcessBlockForOutput const&) {}
254  virtual void openFile(FileBlock const&) {}
255  virtual bool isFileOpen() const { return true; }
256 
257  virtual void doBeginRun_(RunForOutput const&) {}
258  virtual void doEndRun_(RunForOutput const&) {}
261  virtual void doRespondToOpenInputFile_(FileBlock const&) {}
262  virtual void doRespondToCloseInputFile_(FileBlock const&) {}
263 
264  virtual void setProcessesWithSelectedMergeableRunProducts(std::set<std::string> const&) {}
265 
266  bool hasAcquire() const { return false; }
267  bool hasAccumulator() const { return false; }
268 
270  std::map<BranchID, BranchDescription const*>& trueBranchIDToKeptBranchDesc,
271  std::set<BranchID>& keptProductsInEvent);
272 
274 
275  bool limitReached() const { return remainingEvents_ == 0; }
276  };
277  } // namespace one
278 } // namespace edm
279 #endif
edm::one::OutputModuleBase::keptProducts_
SelectedProductsForBranchType keptProducts_
Definition: OutputModuleBase.h:179
edm::EventTransitionInfo
Definition: TransitionInfoTypes.h:26
edm::one::OutputModuleBase::remainingEvents
int remainingEvents() const
Definition: OutputModuleBase.h:91
edm::one::OutputModuleBase::moduleDescription
const ModuleDescription & moduleDescription() const
Definition: OutputModuleBase.h:129
edm::StreamID
Definition: StreamID.h:30
edm::one::OutputModuleBase::setModuleDescription
void setModuleDescription(ModuleDescription const &md)
Definition: OutputModuleBase.h:273
edm::SharedResourcesAcquirer
Definition: SharedResourcesAcquirer.h:34
edm::OutputProcessBlockHelper
Definition: OutputProcessBlockHelper.h:20
edm::one::OutputModuleBase::maxEvents
int maxEvents() const
Definition: OutputModuleBase.h:87
edm::one::OutputModuleBase::doRegisterThinnedAssociations
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
Definition: OutputModuleBase.h:224
edm::one::OutputModuleBase::ModuleType
OutputModuleBase ModuleType
Definition: OutputModuleBase.h:77
edm::one::OutputModuleBase::doBeginRun_
virtual void doBeginRun_(RunForOutput const &)
Definition: OutputModuleBase.h:257
SiPixelPI::one
Definition: SiPixelPayloadInspectorHelper.h:39
edm::one::OutputModuleBase::doBeginJob
void doBeginJob()
Definition: OutputModuleBase.cc:216
edm::one::OutputModuleBase::subProcessParentageHelper
SubProcessParentageHelper const * subProcessParentageHelper() const
Definition: OutputModuleBase.h:127
edm::SubProcessParentageHelper
Definition: SubProcessParentageHelper.h:21
edm::one::OutputModuleBase::isFileOpen
virtual bool isFileOpen() const
Definition: OutputModuleBase.h:255
edm::one::OutputModuleBase::moduleDescription_
ModuleDescription moduleDescription_
Definition: OutputModuleBase.h:185
edm::one::OutputModuleBase::globalLuminosityBlocksQueue
virtual SerialTaskQueue * globalLuminosityBlocksQueue()
Definition: OutputModuleBase.h:116
edm::one::OutputModuleBase::productSelector_
ProductSelector productSelector_
Definition: OutputModuleBase.h:184
edm::one::OutputModuleBase::doBeginLuminosityBlock
bool doBeginLuminosityBlock(LumiTransitionInfo const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:291
ActivityRegistry
edm::one::OutputModuleBase::doEndLuminosityBlock_
virtual void doEndLuminosityBlock_(LuminosityBlockForOutput const &)
Definition: OutputModuleBase.h:260
edm::one::OutputModuleBase::doEvent
bool doEvent(EventTransitionInfo const &, ActivityRegistry *, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:248
edm::LumiTransitionInfo
Definition: TransitionInfoTypes.h:42
edm::ProductSelectorRules::defaultSelectionStrings
static const std::vector< std::string > & defaultSelectionStrings()
Definition: ProductSelectorRules.cc:197
propagate_const.h
WaitingTaskHolder.h
edm::one::OutputModuleBase::prevalidate
static void prevalidate(ConfigurationDescriptions &)
Definition: OutputModuleBase.cc:367
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::one::OutputModuleBase::needToRunSelection
bool needToRunSelection() const
Definition: OutputModuleBase.cc:223
edm::one::OutputModuleBase::maxEvents_
int maxEvents_
Definition: OutputModuleBase.h:161
edm::one::OutputModuleBase::runQueue_
SerialTaskQueue runQueue_
Definition: OutputModuleBase.h:208
edm::one::OutputModuleBase::doRespondToOpenInputFile
void doRespondToOpenInputFile(FileBlock const &fb)
Definition: OutputModuleBase.cc:315
edm::one::OutputModuleBase::remainingEvents_
std::atomic< int > remainingEvents_
Definition: OutputModuleBase.h:162
BranchID.h
edm::one::OutputModuleBase::outputProcessBlockHelper_
OutputProcessBlockHelper outputProcessBlockHelper_
Definition: OutputModuleBase.h:205
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
edm::one::OutputModuleBase::wantsGlobalRuns
virtual bool wantsGlobalRuns() const =0
edm::Principal
Definition: Principal.h:56
edm::SerialTaskQueue
Definition: SerialTaskQueue.h:67
edm::one::OutputModuleBase::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: OutputModuleBase.cc:355
edm::one::OutputModuleBase::doBeginLuminosityBlock_
virtual void doBeginLuminosityBlock_(LuminosityBlockForOutput const &)
Definition: OutputModuleBase.h:259
edm::one::OutputModuleBase::doBeginProcessBlock
void doBeginProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.h:142
edm::one::OutputModuleBase::thinnedAssociationsHelper
ThinnedAssociationsHelper const * thinnedAssociationsHelper() const
Definition: OutputModuleBase.cc:347
edm::RunTransitionInfo
Definition: TransitionInfoTypes.h:64
edm::one::OutputModuleBase::doWriteProcessBlock
void doWriteProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:277
getAllTriggerNames.h
edm::ProcessBlockPrincipal
Definition: ProcessBlockPrincipal.h:22
edm::one::OutputModuleBase::baseType
static const std::string & baseType()
Definition: OutputModuleBase.cc:370
edm::one::OutputModuleBase::doBeginRun
bool doBeginRun(RunTransitionInfo const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:263
edm::ModuleDescription
Definition: ModuleDescription.h:21
edm::one::OutputModuleBase::OutputModuleBase
OutputModuleBase(ParameterSet const &pset)
Definition: OutputModuleBase.cc:46
edm::one::OutputModuleBase::sharedResourcesAcquirer
SharedResourcesAcquirer & sharedResourcesAcquirer()
Definition: OutputModuleBase.h:117
edm::one::OutputModuleBase::doRespondToCloseInputFile_
virtual void doRespondToCloseInputFile_(FileBlock const &)
Definition: OutputModuleBase.h:262
edm::LuminosityBlockForOutput
Definition: LuminosityBlockForOutput.h:40
edm::ProductRegistry
Definition: ProductRegistry.h:37
ModuleDescription.h
edm::one::OutputModuleBase::selectProducts
void selectProducts(ProductRegistry const &preg, ThinnedAssociationsHelper const &, ProcessBlockHelperBase const &)
Definition: OutputModuleBase.cc:86
edm::one::OutputModuleBase::doEndJob
void doEndJob()
Definition: OutputModuleBase.cc:221
edm::FileBlock
Definition: FileBlock.h:22
SharedResourcesAcquirer.h
edm::RunForOutput
Definition: RunForOutput.h:40
edm::EDConsumerBase
Definition: EDConsumerBase.h:71
edm::propagate_const
Definition: propagate_const.h:32
edm::one::OutputModuleBase::preActionBeforeRunEventAsync
virtual void preActionBeforeRunEventAsync(WaitingTaskHolder iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const
Definition: OutputModuleBase.h:245
edm::one::OutputModuleBase::beginJob
virtual void beginJob()
Definition: OutputModuleBase.h:249
edm::EventPrincipal
Definition: EventPrincipal.h:48
edm::one::OutputModuleBase::selectorConfig
ParameterSetID selectorConfig() const
Definition: OutputModuleBase.h:134
edm::one::OutputModuleBase::endJob
virtual void endJob()
Definition: OutputModuleBase.h:250
edm::one::OutputModuleBase::keepAssociation_
std::map< BranchID, bool > keepAssociation_
Definition: OutputModuleBase.h:203
edm::one::OutputModuleBase::writeRun
virtual void writeRun(RunForOutput const &)=0
edm::one::OutputModuleBase::writeProcessBlock
virtual void writeProcessBlock(ProcessBlockForOutput const &)
Definition: OutputModuleBase.h:253
edm::one::OutputModuleBase::subProcessParentageHelper_
SubProcessParentageHelper const * subProcessParentageHelper_
Definition: OutputModuleBase.h:200
edm::one::OutputModuleBase::productSelectorRules_
ProductSelectorRules productSelectorRules_
Definition: OutputModuleBase.h:183
edm::ActivityRegistry
Definition: ActivityRegistry.h:134
edm::one::OutputModuleBase::droppedBranchIDToKeptBranchID_
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModuleBase.h:196
edm::MergeableRunProductMetadata
Definition: MergeableRunProductMetadata.h:52
edm::one::OutputModuleBase::wantAllEvents
bool wantAllEvents() const
Definition: OutputModuleBase.h:119
edm::Hash< ParameterSetType >
edm::one::OutputModuleBase::doPreallocate
void doPreallocate(PreallocationConfiguration const &)
Definition: OutputModuleBase.cc:198
edm::maker::ModuleHolderT
Definition: EDAnalyzer.h:25
edm::one::OutputModuleBase::setProcessesWithSelectedMergeableRunProducts
virtual void setProcessesWithSelectedMergeableRunProducts(std::set< std::string > const &)
Definition: OutputModuleBase.h:264
edm::one::OutputModuleBase
Definition: OutputModuleBase.h:69
edm::one::OutputModuleBase::fillDescription
static void fillDescription(ParameterSetDescription &desc, std::vector< std::string > const &iDefaultOutputCommands=ProductSelectorRules::defaultSelectionStrings())
Definition: OutputModuleBase.cc:361
edm::one::OutputModuleBase::doRespondToOpenInputFile_
virtual void doRespondToOpenInputFile_(FileBlock const &)
Definition: OutputModuleBase.h:261
edm::one::OutputModuleBase::doCloseFile
void doCloseFile()
Tell the OutputModule that is must end the current file.
Definition: OutputModuleBase.cc:319
edm::one::OutputModuleBase::~OutputModuleBase
~OutputModuleBase() override
Definition: OutputModuleBase.cc:191
edm::one::OutputModuleBase::doWriteLuminosityBlock
void doWriteLuminosityBlock(LuminosityBlockPrincipal const &lbp, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:306
edm::one::OutputModuleBase::wantsGlobalLuminosityBlocks
virtual bool wantsGlobalLuminosityBlocks() const =0
edm::one::OutputModuleBase::origBranchIDLists_
BranchIDLists const * origBranchIDLists_
Definition: OutputModuleBase.h:198
edm::one::OutputModuleBase::doAccessInputProcessBlock
void doAccessInputProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.h:143
edm::BranchIDLists
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
edm::one::OutputModuleBase::doEndProcessBlock
void doEndProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.h:144
edm::ProductSelector
Definition: ProductSelector.h:26
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::ProductSelectorRules
Definition: ProductSelectorRules.h:24
edm::one::OutputModuleBase::process_name_
std::string process_name_
Definition: OutputModuleBase.h:182
edm::one::OutputModuleBase::selectEvents_
ParameterSet selectEvents_
Definition: OutputModuleBase.h:189
edm::ThinnedAssociationsHelper
Definition: ThinnedAssociationsHelper.h:37
edm::one::OutputModuleBase::doEndLuminosityBlock
bool doEndLuminosityBlock(LumiTransitionInfo const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:298
edm::ProcessBlockHelperBase
Definition: ProcessBlockHelperBase.h:18
edm::ParameterSet
Definition: ParameterSet.h:47
edm::one::OutputModuleBase::branchIDLists_
edm::propagate_const< std::unique_ptr< BranchIDLists > > branchIDLists_
Definition: OutputModuleBase.h:197
EDConsumerBase.h
edm::WaitingTaskHolder
Definition: WaitingTaskHolder.h:32
edm::one::OutputModuleBase::resourcesAcquirer_
SharedResourcesAcquirer resourcesAcquirer_
Definition: OutputModuleBase.h:207
edm::one::OutputModuleBase::openFile
virtual void openFile(FileBlock const &)
Definition: OutputModuleBase.h:254
edm::one::OutputModuleBase::keptProducts
SelectedProductsForBranchType const & keptProducts() const
Definition: OutputModuleBase.h:97
edm::one::OutputModuleBase::branchIDLists
BranchIDLists const * branchIDLists()
Definition: OutputModuleBase.cc:327
edm::one::OutputModuleBase::wantsProcessBlocks
virtual bool wantsProcessBlocks() const =0
edm::one::OutputModuleBase::registerProductsAndCallbacks
void registerProductsAndCallbacks(OutputModuleBase const *, ProductRegistry const *)
Definition: OutputModuleBase.h:231
ProductSelector.h
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
edm::one::OutputModuleBase::doOpenFile
void doOpenFile(FileBlock const &fb)
Definition: OutputModuleBase.cc:313
edm::one::OutputModuleBase::luminosityBlockQueue_
SerialTaskQueue luminosityBlockQueue_
Definition: OutputModuleBase.h:209
BranchIDList.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::one::OutputModuleBase::selector_config_id_
ParameterSetID selector_config_id_
Definition: OutputModuleBase.h:192
edm::one::OutputModuleBase::processName
std::string const & processName() const
Definition: OutputModuleBase.h:96
edm::one::OutputModuleBase::keepThisBranch
void keepThisBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
Definition: OutputModuleBase.cc:144
edm::one::OutputModuleBase::preallocLumis
virtual void preallocLumis(unsigned int)
Definition: OutputModuleBase.cc:214
edm::ProcessBlockForOutput
Definition: ProcessBlockForOutput.h:27
edm::EventForOutput
Definition: EventForOutput.h:50
edm::PreallocationConfiguration
Definition: PreallocationConfiguration.h:27
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
edm::one::OutputModuleBase::description
ModuleDescription const & description() const
Definition: OutputModuleBase.cc:351
edm::SelectedProductsForBranchType
std::array< SelectedProducts, NumBranchTypes > SelectedProductsForBranchType
Definition: SelectedProducts.h:13
edm::one::OutputModuleBase::doWriteRun
void doWriteRun(RunPrincipal const &rp, ModuleCallingContext const *, MergeableRunProductMetadata const *)
Definition: OutputModuleBase.cc:283
edm::one::OutputModuleBase::createAcquirer
virtual SharedResourcesAcquirer createAcquirer()
Definition: OutputModuleBase.cc:193
Frameworkfwd.h
edm::one::OutputModuleBase::selectors_
std::vector< detail::TriggerResultsBasedEventSelector > selectors_
Definition: OutputModuleBase.h:188
edm::one::OutputModuleBase::configure
void configure(OutputModuleDescription const &desc)
Definition: OutputModuleBase.cc:80
edm::one::OutputModuleBase::writeLuminosityBlock
virtual void writeLuminosityBlock(LuminosityBlockForOutput const &)=0
edm::one::OutputModuleBase::hasAcquire
bool hasAcquire() const
Definition: OutputModuleBase.h:266
edm::one::OutputModuleBase::wantsStreamLuminosityBlocks
bool wantsStreamLuminosityBlocks() const
Definition: OutputModuleBase.h:113
edm::one::OutputModuleBase::shouldWeCloseFile
virtual bool shouldWeCloseFile() const
Ask the OutputModule if we should end the current file.
Definition: OutputModuleBase.h:242
edm::one::OutputModuleBase::droppedBranchIDToKeptBranchID
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID()
Definition: OutputModuleBase.h:156
edm::one::OutputModuleBase::hasNewlyDroppedBranch
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
Definition: OutputModuleBase.h:98
edm::one::OutputModuleBase::productsUsedBySelection
std::vector< ProductResolverIndexAndSkipBit > productsUsedBySelection() const
Definition: OutputModuleBase.cc:225
edm::one::OutputModuleBase::outputProcessBlockHelper
OutputProcessBlockHelper const & outputProcessBlockHelper() const
Definition: OutputModuleBase.h:123
edm::one::OutputModuleBase::hasAccumulator
bool hasAccumulator() const
Definition: OutputModuleBase.h:267
ParameterSetfwd.h
edm::one::OutputModuleBase::wantAllEvents_
bool wantAllEvents_
Definition: OutputModuleBase.h:187
edm::one::OutputModuleBase::operator=
OutputModuleBase & operator=(OutputModuleBase const &)=delete
edm::one::OutputModuleBase::prePrefetchSelection
bool prePrefetchSelection(StreamID id, EventPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:237
edm::BranchDescription
Definition: BranchDescription.h:32
edm::one::OutputModuleBase::doEndRun_
virtual void doEndRun_(RunForOutput const &)
Definition: OutputModuleBase.h:258
edm::one::OutputModuleBase::write
virtual void write(EventForOutput const &)=0
edm::one::OutputModuleBase::doEndRun
bool doEndRun(RunTransitionInfo const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:270
genParticles_cff.map
map
Definition: genParticles_cff.py:11
edm::OutputModuleDescription
Definition: OutputModuleDescription.h:17
edm::RunPrincipal
Definition: RunPrincipal.h:34
edm::one::OutputModuleBase::limitReached
bool limitReached() const
Definition: OutputModuleBase.h:275
edm::one::OutputModuleBase::reallyCloseFile
virtual void reallyCloseFile()
Definition: OutputModuleBase.cc:325
edm::one::OutputModuleBase::wantsInputProcessBlocks
virtual bool wantsInputProcessBlocks() const =0
edm::one::OutputModuleBase::globalRunsQueue
virtual SerialTaskQueue * globalRunsQueue()
Definition: OutputModuleBase.h:115
edm::one::OutputModuleBase::workerType
std::string workerType() const
Definition: OutputModuleBase.h:226
edm::one::OutputModuleBase::selected
bool selected(BranchDescription const &desc) const
Definition: OutputModuleBase.cc:353
edm::one::OutputModuleBase::wantsStreamRuns
bool wantsStreamRuns() const
Definition: OutputModuleBase.h:112
edm::one::OutputModuleBase::doRespondToCloseInputFile
void doRespondToCloseInputFile(FileBlock const &fb)
Definition: OutputModuleBase.cc:317
edm::one::OutputModuleBase::doRespondToCloseOutputFile
void doRespondToCloseOutputFile()
Definition: OutputModuleBase.h:223
OutputProcessBlockHelper.h
SelectedProducts.h
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
TriggerResultsBasedEventSelector.h
edm::one::OutputModuleBase::thinnedAssociationsHelper_
edm::propagate_const< std::unique_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
Definition: OutputModuleBase.h:202
ProductSelectorRules.h
edm::one::OutputModuleBase::hasNewlyDroppedBranch_
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
Definition: OutputModuleBase.h:180
FWCoreCommonFwd.h
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29
edm::one::OutputModuleBase::setEventSelectionInfo
void setEventSelectionInfo(std::map< std::string, std::vector< std::pair< std::string, int >>> const &outputModulePathPositions, bool anyProductProduced)
Definition: OutputModuleBase.cc:372