CMS 3D CMS Logo

OutputModuleBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_limited_OutputModuleBase_h
2 #define FWCore_Framework_limited_OutputModuleBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : OutputModuleBase
7 //
16 //
17 //
18 
19 // system include files
20 #include <array>
21 #include <memory>
22 #include <string>
23 #include <vector>
24 #include <map>
25 #include <atomic>
26 #include <mutex>
27 #include <set>
28 
29 // user include files
34 
45 
46 // forward declarations
47 namespace edm {
48 
49  class MergeableRunProductMetadata;
50  class ModuleCallingContext;
51  class PreallocationConfiguration;
52  class ActivityRegistry;
53  class ThinnedAssociationsHelper;
54 
55  template <typename T>
56  class OutputModuleCommunicatorT;
57 
58  namespace maker {
59  template <typename T>
60  class ModuleHolderT;
61  }
62 
63  namespace limited {
64 
66  public:
67  template <typename U>
69  template <typename T>
70  friend class ::edm::WorkerT;
71  template <typename T>
72  friend class ::edm::OutputModuleCommunicatorT;
74 
75  explicit OutputModuleBase(ParameterSet const& pset);
76  ~OutputModuleBase() override;
77 
78  OutputModuleBase(OutputModuleBase const&) = delete; // Disallow copying and moving
79  OutputModuleBase& operator=(OutputModuleBase const&) = delete; // Disallow copying and moving
80 
83  int maxEvents() const { return maxEvents_; }
84 
87  int remainingEvents() const { return remainingEvents_; }
88 
89  bool selected(BranchDescription const& desc) const;
90 
92  std::string const& processName() const { return process_name_; }
94  std::array<bool, NumBranchTypes> const& hasNewlyDroppedBranch() const { return hasNewlyDroppedBranch_; }
95 
97  static void fillDescriptions(ConfigurationDescriptions& descriptions);
98  static const std::string& baseType();
100 
101  bool wantAllEvents() const { return wantAllEvents_; }
102 
103  BranchIDLists const* branchIDLists() const;
104 
106 
108 
109  //Output modules always need writeRun and writeLumi to be called
110  bool wantsGlobalRuns() const { return true; }
111  bool wantsGlobalLuminosityBlocks() const { return true; }
112  virtual bool wantsProcessBlocks() const = 0;
113  virtual bool wantsInputProcessBlocks() const = 0;
114  virtual bool wantsStreamRuns() const = 0;
115  virtual bool wantsStreamLuminosityBlocks() const = 0;
116 
117  unsigned int concurrencyLimit() const { return queue_.concurrencyLimit(); }
118 
120 
121  protected:
122  ModuleDescription const& description() const;
123 
125 
127 
128  void doBeginJob();
129  void doEndJob();
130 
131  void doBeginStream(StreamID id);
132  void doEndStream(StreamID id);
133 
135  //For now this is a placeholder
137  ModuleCallingContext const&,
138  Principal const&) const {}
139 
144  bool doEndRun(RunTransitionInfo const&, ModuleCallingContext const*);
147 
149  std::map<std::string, std::vector<std::pair<std::string, int>>> const& outputModulePathPositions,
150  bool anyProductProduced);
151 
153 
154  std::map<BranchID::value_type, BranchID::value_type> const& droppedBranchIDToKeptBranchID() {
156  }
157 
158  private:
160  std::atomic<int> remainingEvents_;
161 
162  // TODO: Give OutputModule
163  // an interface (protected?) that supplies client code with the
164  // needed functionality *without* giving away implementation
165  // details ... don't just return a reference to keptProducts_, because
166  // we are looking to have the flexibility to change the
167  // implementation of keptProducts_ without modifying clients. When this
168  // change is made, we'll have a one-time-only task of modifying
169  // clients (classes derived from OutputModule) to use the
170  // newly-introduced interface.
171  // TODO: Consider using shared pointers here?
172 
173  // keptProducts_ are pointers to the BranchDescription objects describing
174  // the branches we are to write.
175  //
176  // We do not own the BranchDescriptions to which we point.
178  std::array<bool, NumBranchTypes> hasNewlyDroppedBranch_;
179 
184 
186  std::vector<detail::TriggerResultsBasedEventSelector> selectors_;
188  // ID of the ParameterSet that configured the event selector
189  // subsystem.
191 
192  // needed because of possible EDAliases.
193  // filled in only if key and value are different.
194  std::map<BranchID::value_type, BranchID::value_type> droppedBranchIDToKeptBranchID_;
197 
199  std::map<BranchID, bool> keepAssociation_;
201 
202  //------------------------------------------------------------------
203  // private member functions
204  //------------------------------------------------------------------
205 
207 
211  void doOpenFile(FileBlock const& fb);
215 
216  std::string workerType() const { return "WorkerT<edm::limited::OutputModuleBase>"; }
217 
219  void doCloseFile();
220 
222 
223  bool needToRunSelection() const;
224  std::vector<ProductResolverIndexAndSkipBit> productsUsedBySelection() const;
226 
227  // Do the end-of-file tasks; this is only called internally, after
228  // the appropriate tests have been done.
229  virtual void reallyCloseFile();
230 
232  virtual bool shouldWeCloseFile() const { return false; }
233 
234  virtual void write(EventForOutput const&) = 0;
235  virtual void beginJob() {}
236  virtual void endJob() {}
237  virtual void writeLuminosityBlock(LuminosityBlockForOutput const&) = 0;
238  virtual void writeRun(RunForOutput const&) = 0;
239  virtual void openFile(FileBlock const&) const {}
240  virtual bool isFileOpen() const { return true; }
241 
242  virtual void preallocStreams(unsigned int) {}
243  virtual void preallocLumis(unsigned int) {}
244  virtual void preallocate(PreallocationConfiguration const&) {}
245  virtual void doBeginStream_(StreamID) {}
246  virtual void doEndStream_(StreamID) {}
247  virtual void doStreamBeginRun_(StreamID, RunForOutput const&, EventSetup const&) {}
248  virtual void doStreamEndRun_(StreamID, RunForOutput const&, EventSetup const&) {}
249  virtual void doStreamEndRunSummary_(StreamID, RunForOutput const&, EventSetup const&) {}
253 
254  virtual void doBeginRun_(RunForOutput const&) {}
255  virtual void doBeginRunSummary_(RunForOutput const&, EventSetup const&) {}
256  virtual void doEndRun_(RunForOutput const&) {}
257  virtual void doEndRunSummary_(RunForOutput const&, EventSetup const&) {}
262  virtual void doRespondToOpenInputFile_(FileBlock const&) {}
263  virtual void doRespondToCloseInputFile_(FileBlock const&) {}
264 
265  virtual void setProcessesWithSelectedMergeableRunProducts(std::set<std::string> const&) {}
266 
267  bool hasAcquire() const { return false; }
268  bool hasAccumulator() const { return false; }
269 
271  std::map<BranchID, BranchDescription const*>& trueBranchIDToKeptBranchDesc,
272  std::set<BranchID>& keptProductsInEvent);
273 
275 
276  bool limitReached() const { return remainingEvents_ == 0; }
277  };
278  } // namespace limited
279 } // namespace edm
280 #endif
edm::EventTransitionInfo
Definition: TransitionInfoTypes.h:26
edm::limited::OutputModuleBase::beginJob
virtual void beginJob()
Definition: OutputModuleBase.h:235
edm::limited::OutputModuleBase::doBeginRun
bool doBeginRun(RunTransitionInfo const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:275
edm::limited::OutputModuleBase::queue
LimitedTaskQueue & queue()
Definition: OutputModuleBase.h:119
edm::StreamID
Definition: StreamID.h:30
edm::limited::OutputModuleBase::wantAllEvents
bool wantAllEvents() const
Definition: OutputModuleBase.h:101
edm::limited::OutputModuleBase::doOpenFile
void doOpenFile(FileBlock const &fb)
Definition: OutputModuleBase.cc:318
edm::limited::OutputModuleBase::concurrencyLimit
unsigned int concurrencyLimit() const
Definition: OutputModuleBase.h:117
edm::limited::OutputModuleBase::queue_
LimitedTaskQueue queue_
Definition: OutputModuleBase.h:200
edm::limited::OutputModuleBase::wantsStreamLuminosityBlocks
virtual bool wantsStreamLuminosityBlocks() const =0
edm::limited::OutputModuleBase::hasAcquire
bool hasAcquire() const
Definition: OutputModuleBase.h:267
edm::limited::OutputModuleBase::preallocLumis
virtual void preallocLumis(unsigned int)
Definition: OutputModuleBase.h:243
edm::limited::OutputModuleBase::doStreamEndRunSummary_
virtual void doStreamEndRunSummary_(StreamID, RunForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:249
edm::limited::OutputModuleBase::doEvent
bool doEvent(EventTransitionInfo const &, ActivityRegistry *, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:251
edm::limited::OutputModuleBase::droppedBranchIDToKeptBranchID
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID()
Definition: OutputModuleBase.h:154
ActivityRegistry
edm::limited::OutputModuleBase::doStreamEndLuminosityBlockSummary_
virtual void doStreamEndLuminosityBlockSummary_(StreamID, LuminosityBlockForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:252
edm::LumiTransitionInfo
Definition: TransitionInfoTypes.h:42
propagate_const.h
edm::limited::OutputModuleBase::preallocate
virtual void preallocate(PreallocationConfiguration const &)
Definition: OutputModuleBase.h:244
edm::limited::OutputModuleBase::ModuleType
OutputModuleBase ModuleType
Definition: OutputModuleBase.h:73
WaitingTaskHolder.h
edm::limited::OutputModuleBase::doBeginLuminosityBlockSummary_
virtual void doBeginLuminosityBlockSummary_(LuminosityBlockForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:259
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::limited::OutputModuleBase::isFileOpen
virtual bool isFileOpen() const
Definition: OutputModuleBase.h:240
edm::limited::OutputModuleBase::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: OutputModuleBase.cc:356
BranchID.h
edm::limited::OutputModuleBase::workerType
std::string workerType() const
Definition: OutputModuleBase.h:216
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
edm::limited::OutputModuleBase::selectorConfig
ParameterSetID selectorConfig() const
Definition: OutputModuleBase.h:124
edm::limited::OutputModuleBase::branchIDLists
BranchIDLists const * branchIDLists() const
Definition: OutputModuleBase.cc:335
edm::Principal
Definition: Principal.h:56
edm::limited::OutputModuleBase::writeRun
virtual void writeRun(RunForOutput const &)=0
edm::limited::OutputModuleBase::doRespondToCloseInputFile
void doRespondToCloseInputFile(FileBlock const &fb)
Definition: OutputModuleBase.cc:325
edm::limited::OutputModuleBase::description
ModuleDescription const & description() const
Definition: OutputModuleBase.cc:346
edm::limited::OutputModuleBase::moduleDescription
const ModuleDescription & moduleDescription() const
Definition: OutputModuleBase.h:107
edm::limited::OutputModuleBase::doEndLuminosityBlock
bool doEndLuminosityBlock(LumiTransitionInfo const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:304
edm::limited::OutputModuleBase::doEndLuminosityBlock_
virtual void doEndLuminosityBlock_(LuminosityBlockForOutput const &)
Definition: OutputModuleBase.h:260
edm::limited::OutputModuleBase::needToRunSelection
bool needToRunSelection() const
Definition: OutputModuleBase.cc:226
edm::limited::OutputModuleBase::doEndLuminosityBlockSummary_
virtual void doEndLuminosityBlockSummary_(LuminosityBlockForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:261
edm::RunTransitionInfo
Definition: TransitionInfoTypes.h:64
edm::limited::OutputModuleBase::wantsGlobalRuns
bool wantsGlobalRuns() const
Definition: OutputModuleBase.h:110
edm::limited::OutputModuleBase::doStreamEndLuminosityBlock_
virtual void doStreamEndLuminosityBlock_(StreamID, LuminosityBlockForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:251
edm::limited::OutputModuleBase::doBeginRunSummary_
virtual void doBeginRunSummary_(RunForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:255
edm::limited::OutputModuleBase::selectors_
std::vector< detail::TriggerResultsBasedEventSelector > selectors_
Definition: OutputModuleBase.h:186
getAllTriggerNames.h
edm::limited::OutputModuleBase::shouldWeCloseFile
virtual bool shouldWeCloseFile() const
Ask the OutputModule if we should end the current file.
Definition: OutputModuleBase.h:232
edm::limited::OutputModuleBase::openFile
virtual void openFile(FileBlock const &) const
Definition: OutputModuleBase.h:239
edm::ProcessBlockPrincipal
Definition: ProcessBlockPrincipal.h:22
edm::limited::OutputModuleBase::baseType
static const std::string & baseType()
Definition: OutputModuleBase.cc:365
edm::ModuleDescription
Definition: ModuleDescription.h:21
edm::limited::OutputModuleBase::hasNewlyDroppedBranch_
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
Definition: OutputModuleBase.h:178
edm::limited::OutputModuleBase::selectProducts
void selectProducts(ProductRegistry const &preg, ThinnedAssociationsHelper const &)
Definition: OutputModuleBase.cc:83
edm::LuminosityBlockForOutput
Definition: LuminosityBlockForOutput.h:40
edm::ProductRegistry
Definition: ProductRegistry.h:37
ModuleDescription.h
edm::limited::OutputModuleBase::wantsStreamRuns
virtual bool wantsStreamRuns() const =0
edm::FileBlock
Definition: FileBlock.h:20
edm::limited::OutputModuleBase::selectEvents_
ParameterSet selectEvents_
Definition: OutputModuleBase.h:187
edm::limited::OutputModuleBase::doBeginJob
void doBeginJob()
Definition: OutputModuleBase.cc:222
edm::RunForOutput
Definition: RunForOutput.h:39
edm::EDConsumerBase
Definition: EDConsumerBase.h:71
edm::limited::OutputModuleBase::doStreamEndRun_
virtual void doStreamEndRun_(StreamID, RunForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:248
edm::limited::OutputModuleBase::moduleDescription_
ModuleDescription moduleDescription_
Definition: OutputModuleBase.h:183
edm::propagate_const
Definition: propagate_const.h:32
edm::LimitedTaskQueue
Definition: LimitedTaskQueue.h:39
edm::EventPrincipal
Definition: EventPrincipal.h:46
edm::limited::OutputModuleBase::productSelectorRules_
ProductSelectorRules productSelectorRules_
Definition: OutputModuleBase.h:181
edm::limited::OutputModuleBase::reallyCloseFile
virtual void reallyCloseFile()
Definition: OutputModuleBase.cc:333
edm::limited::OutputModuleBase::OutputModuleBase
OutputModuleBase(ParameterSet const &pset)
Definition: OutputModuleBase.cc:43
edm::limited::OutputModuleBase::doAccessInputProcessBlock
void doAccessInputProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.h:141
edm::limited::OutputModuleBase::doBeginProcessBlock
void doBeginProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.h:140
edm::limited::OutputModuleBase::productsUsedBySelection
std::vector< ProductResolverIndexAndSkipBit > productsUsedBySelection() const
Definition: OutputModuleBase.cc:228
edm::limited::OutputModuleBase::wantAllEvents_
bool wantAllEvents_
Definition: OutputModuleBase.h:185
edm::limited::OutputModuleBase::keptProducts_
SelectedProductsForBranchType keptProducts_
Definition: OutputModuleBase.h:177
edm::ActivityRegistry
Definition: ActivityRegistry.h:134
edm::limited::OutputModuleBase::doEndProcessBlock
void doEndProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.h:142
edm::MergeableRunProductMetadata
Definition: MergeableRunProductMetadata.h:52
edm::Hash< ParameterSetType >
edm::limited::OutputModuleBase::doBeginLuminosityBlock
bool doBeginLuminosityBlock(LumiTransitionInfo const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:297
edm::limited::OutputModuleBase::registerProductsAndCallbacks
void registerProductsAndCallbacks(OutputModuleBase const *, ProductRegistry const *)
Definition: OutputModuleBase.h:221
edm::maker::ModuleHolderT
Definition: EDAnalyzer.h:25
LimitedTaskQueue.h
edm::BranchIDLists
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
edm::limited::OutputModuleBase::branchIDLists_
edm::propagate_const< std::unique_ptr< BranchIDLists > > branchIDLists_
Definition: OutputModuleBase.h:195
edm::ProductSelector
Definition: ProductSelector.h:26
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::ProductSelectorRules
Definition: ProductSelectorRules.h:24
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::LimitedTaskQueue::concurrencyLimit
unsigned int concurrencyLimit() const
Definition: LimitedTaskQueue.h:107
edm::limited::OutputModuleBase::prevalidate
static void prevalidate(ConfigurationDescriptions &)
Definition: OutputModuleBase.cc:362
edm::limited::OutputModuleBase::wantsInputProcessBlocks
virtual bool wantsInputProcessBlocks() const =0
edm::ThinnedAssociationsHelper
Definition: ThinnedAssociationsHelper.h:37
edm::limited::OutputModuleBase::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: OutputModuleBase.cc:350
edm::limited::OutputModuleBase::~OutputModuleBase
~OutputModuleBase() override
Definition: OutputModuleBase.cc:203
edm::ParameterSet
Definition: ParameterSet.h:47
EDConsumerBase.h
edm::limited::OutputModuleBase::droppedBranchIDToKeptBranchID_
std::map< BranchID::value_type, BranchID::value_type > droppedBranchIDToKeptBranchID_
Definition: OutputModuleBase.h:194
edm::limited::OutputModuleBase::doStreamBeginRun_
virtual void doStreamBeginRun_(StreamID, RunForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:247
edm::WaitingTaskHolder
Definition: WaitingTaskHolder.h:32
edm::limited::OutputModuleBase::doEndRunSummary_
virtual void doEndRunSummary_(RunForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:257
edm::limited::OutputModuleBase::thinnedAssociationsHelper
ThinnedAssociationsHelper const * thinnedAssociationsHelper() const
Definition: OutputModuleBase.cc:342
edm::limited::OutputModuleBase::selector_config_id_
ParameterSetID selector_config_id_
Definition: OutputModuleBase.h:190
edm::limited::OutputModuleBase::thinnedAssociationsHelper_
edm::propagate_const< std::unique_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
Definition: OutputModuleBase.h:198
ProductSelector.h
edm::limited::OutputModuleBase::write
virtual void write(EventForOutput const &)=0
edm::limited::OutputModuleBase
Definition: OutputModuleBase.h:65
edm::limited::OutputModuleBase::keptProducts
SelectedProductsForBranchType const & keptProducts() const
Definition: OutputModuleBase.h:93
edm::limited::OutputModuleBase::doRegisterThinnedAssociations
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
Definition: OutputModuleBase.h:214
edm::limited::OutputModuleBase::maxEvents_
int maxEvents_
Definition: OutputModuleBase.h:159
edm::limited::OutputModuleBase::doStreamBeginLuminosityBlock_
virtual void doStreamBeginLuminosityBlock_(StreamID, LuminosityBlockForOutput const &, EventSetup const &)
Definition: OutputModuleBase.h:250
edm::limited::OutputModuleBase::doCloseFile
void doCloseFile()
Tell the OutputModule that is must end the current file.
Definition: OutputModuleBase.cc:327
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
edm::limited::OutputModuleBase::wantsGlobalLuminosityBlocks
bool wantsGlobalLuminosityBlocks() const
Definition: OutputModuleBase.h:111
edm::EventSetup
Definition: EventSetup.h:58
edm::limited::OutputModuleBase::writeLuminosityBlock
virtual void writeLuminosityBlock(LuminosityBlockForOutput const &)=0
edm::limited::OutputModuleBase::configure
void configure(OutputModuleDescription const &desc)
Definition: OutputModuleBase.cc:78
BranchIDList.h
edm::limited::OutputModuleBase::prePrefetchSelection
bool prePrefetchSelection(StreamID id, EventPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:240
edm::limited::OutputModuleBase::doRespondToOpenInputFile_
virtual void doRespondToOpenInputFile_(FileBlock const &)
Definition: OutputModuleBase.h:262
edm::limited::OutputModuleBase::productSelector_
ProductSelector productSelector_
Definition: OutputModuleBase.h:182
edm::limited::OutputModuleBase::processName
std::string const & processName() const
Definition: OutputModuleBase.h:92
edm::limited::OutputModuleBase::hasNewlyDroppedBranch
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
Definition: OutputModuleBase.h:94
edm::limited::OutputModuleBase::remainingEvents
int remainingEvents() const
Definition: OutputModuleBase.h:87
edm::limited::OutputModuleBase::origBranchIDLists_
BranchIDLists const * origBranchIDLists_
Definition: OutputModuleBase.h:196
edm::limited::OutputModuleBase::doBeginStream_
virtual void doBeginStream_(StreamID)
Definition: OutputModuleBase.h:245
edm::EventForOutput
Definition: EventForOutput.h:50
edm::PreallocationConfiguration
Definition: PreallocationConfiguration.h:27
edm::limited::OutputModuleBase::doWriteLuminosityBlock
void doWriteLuminosityBlock(LuminosityBlockPrincipal const &lbp, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:311
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
edm::limited::OutputModuleBase::doPreallocate
void doPreallocate(PreallocationConfiguration const &)
Definition: OutputModuleBase.cc:205
edm::SelectedProductsForBranchType
std::array< SelectedProducts, NumBranchTypes > SelectedProductsForBranchType
Definition: SelectedProducts.h:13
edm::limited::OutputModuleBase::doEndStream_
virtual void doEndStream_(StreamID)
Definition: OutputModuleBase.h:246
edm::limited::OutputModuleBase::operator=
OutputModuleBase & operator=(OutputModuleBase const &)=delete
edm::limited::OutputModuleBase::remainingEvents_
std::atomic< int > remainingEvents_
Definition: OutputModuleBase.h:160
edm::limited::OutputModuleBase::limitReached
bool limitReached() const
Definition: OutputModuleBase.h:276
edm::limited::OutputModuleBase::process_name_
std::string process_name_
Definition: OutputModuleBase.h:180
Frameworkfwd.h
edm::limited::OutputModuleBase::doRespondToOpenInputFile
void doRespondToOpenInputFile(FileBlock const &fb)
Definition: OutputModuleBase.cc:320
edm::limited::OutputModuleBase::setModuleDescription
void setModuleDescription(ModuleDescription const &md)
Definition: OutputModuleBase.h:274
edm::limited::OutputModuleBase::doEndJob
void doEndJob()
Definition: OutputModuleBase.cc:224
edm::limited::OutputModuleBase::updateBranchIDListsWithKeptAliases
void updateBranchIDListsWithKeptAliases()
Definition: OutputModuleBase.cc:137
edm::limited::OutputModuleBase::wantsProcessBlocks
virtual bool wantsProcessBlocks() const =0
edm::limited::OutputModuleBase::selected
bool selected(BranchDescription const &desc) const
Definition: OutputModuleBase.cc:348
edm::limited::OutputModuleBase::preallocStreams
virtual void preallocStreams(unsigned int)
Definition: OutputModuleBase.h:242
edm::limited::OutputModuleBase::preActionBeforeRunEventAsync
void preActionBeforeRunEventAsync(WaitingTaskHolder, ModuleCallingContext const &, Principal const &) const
Definition: OutputModuleBase.h:136
edm::limited::OutputModuleBase::doBeginStream
void doBeginStream(StreamID id)
edm::limited::OutputModuleBase::endJob
virtual void endJob()
Definition: OutputModuleBase.h:236
ParameterSetfwd.h
edm::limited::OutputModuleBase::maxEvents
int maxEvents() const
Definition: OutputModuleBase.h:83
edm::limited::OutputModuleBase::doBeginLuminosityBlock_
virtual void doBeginLuminosityBlock_(LuminosityBlockForOutput const &)
Definition: OutputModuleBase.h:258
edm::BranchDescription
Definition: BranchDescription.h:32
edm::limited::OutputModuleBase::doWriteProcessBlock
void doWriteProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)
Definition: OutputModuleBase.h:208
edm::limited::OutputModuleBase::doEndRun
bool doEndRun(RunTransitionInfo const &, ModuleCallingContext const *)
Definition: OutputModuleBase.cc:282
genParticles_cff.map
map
Definition: genParticles_cff.py:11
edm::OutputModuleDescription
Definition: OutputModuleDescription.h:17
edm::limited::OutputModuleBase::setProcessesWithSelectedMergeableRunProducts
virtual void setProcessesWithSelectedMergeableRunProducts(std::set< std::string > const &)
Definition: OutputModuleBase.h:265
edm::limited::OutputModuleBase::keepAssociation_
std::map< BranchID, bool > keepAssociation_
Definition: OutputModuleBase.h:199
edm::RunPrincipal
Definition: RunPrincipal.h:34
edm::limited::OutputModuleBase::hasAccumulator
bool hasAccumulator() const
Definition: OutputModuleBase.h:268
edm::limited::OutputModuleBase::doWriteRun
void doWriteRun(RunPrincipal const &rp, ModuleCallingContext const *, MergeableRunProductMetadata const *)
Definition: OutputModuleBase.cc:289
edm::limited::OutputModuleBase::doEndRun_
virtual void doEndRun_(RunForOutput const &)
Definition: OutputModuleBase.h:256
edm::limited::OutputModuleBase::keepThisBranch
void keepThisBranch(BranchDescription const &desc, std::map< BranchID, BranchDescription const * > &trueBranchIDToKeptBranchDesc, std::set< BranchID > &keptProductsInEvent)
Definition: OutputModuleBase.cc:156
benchmark_cfg.fb
fb
Definition: benchmark_cfg.py:14
edm::limited::OutputModuleBase::doRespondToCloseInputFile_
virtual void doRespondToCloseInputFile_(FileBlock const &)
Definition: OutputModuleBase.h:263
SelectedProducts.h
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
TriggerResultsBasedEventSelector.h
edm::limited::OutputModuleBase::setEventSelectionInfo
void setEventSelectionInfo(std::map< std::string, std::vector< std::pair< std::string, int >>> const &outputModulePathPositions, bool anyProductProduced)
ProductSelectorRules.h
edm::limited::OutputModuleBase::doEndStream
void doEndStream(StreamID id)
edm::limited::OutputModuleBase::doBeginRun_
virtual void doBeginRun_(RunForOutput const &)
Definition: OutputModuleBase.h:254
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29