CMS 3D CMS Logo

ProducingModuleAdaptor.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_ProducingModuleAdaptor_h
2 #define FWCore_Framework_stream_ProducingModuleAdaptor_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : ProducingModuleAdaptor
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Fri, 02 Aug 2013 18:09:18 GMT
19 //
20 
21 // system include files
22 
23 // user include files
35 // forward declarations
36 
37 namespace edm {
39  namespace stream {
40 
41  template <typename T, typename M, typename B>
42  class ProducingModuleAdaptor : public B {
43  public:
45  m_runs.resize(1);
46  m_lumis.resize(1);
47  m_runSummaries.resize(1);
48  m_lumiSummaries.resize(1);
49  typename T::GlobalCache const* dummy = nullptr;
50  m_global = impl::makeGlobal<T>(iPSet, dummy);
51  typename T::InputProcessBlockCache const* dummyInputProcessBlockCacheImpl = nullptr;
52  m_inputProcessBlocks = impl::makeInputProcessBlockCacheImpl(dummyInputProcessBlockCacheImpl);
53  }
54  ProducingModuleAdaptor(const ProducingModuleAdaptor&) = delete; // stop default
55  const ProducingModuleAdaptor& operator=(const ProducingModuleAdaptor&) = delete; // stop default
57 
58  static void fillDescriptions(ConfigurationDescriptions& descriptions) { T::fillDescriptions(descriptions); }
59  static void prevalidate(ConfigurationDescriptions& descriptions) { T::prevalidate(descriptions); }
60 
61  bool wantsProcessBlocks() const final {
62  return T::HasAbility::kWatchProcessBlock or T::HasAbility::kBeginProcessBlockProducer or
63  T::HasAbility::kEndProcessBlockProducer;
64  }
65  bool wantsInputProcessBlocks() const final { return T::HasAbility::kInputProcessBlockCache; }
66  bool wantsGlobalRuns() const final {
69  }
72  T::HasAbility::kBeginLuminosityBlockProducer or T::HasAbility::kEndLuminosityBlockProducer;
73  }
74 
75  bool hasAcquire() const final { return T::HasAbility::kExternalWork; }
76 
77  bool hasAccumulator() const final { return T::HasAbility::kAccumulator; }
78 
79  private:
93 
94  void setupStreamModules() final {
95  this->createStreamModules([this](unsigned int iStreamModule) -> M* {
96  auto tmp = impl::makeStreamModule<T>(*m_pset, m_global.get());
97  MyGlobal::set(tmp, m_global.get());
99  return tmp;
100  });
101  m_pset = nullptr;
102  }
103 
104  void preallocLumis(unsigned int iNLumis) final {
105  m_lumis.resize(iNLumis);
106  m_lumiSummaries.resize(iNLumis);
107  }
108  void doBeginJob() final { MyGlobal::beginJob(m_global.get()); }
109  void doEndJob() final { MyGlobal::endJob(m_global.get()); }
110  void setupRun(M* iProd, RunIndex iIndex) final { MyGlobalRun::set(iProd, m_runs[iIndex].get()); }
111  void streamEndRunSummary(M* iProd, edm::Run const& iRun, edm::EventSetup const& iES) final {
112  auto s = m_runSummaries[iRun.index()].get();
113  std::lock_guard<decltype(m_runSummaryLock)> guard(m_runSummaryLock);
114  MyGlobalRunSummary::streamEndRunSummary(iProd, iRun, iES, s);
115  }
116 
117  void setupLuminosityBlock(M* iProd, LuminosityBlockIndex iIndex) final {
118  MyGlobalLuminosityBlock::set(iProd, m_lumis[iIndex].get());
119  }
121  edm::LuminosityBlock const& iLumi,
122  edm::EventSetup const& iES) final {
123  auto s = m_lumiSummaries[iLumi.index()].get();
124  std::lock_guard<decltype(m_lumiSummaryLock)> guard(m_lumiSummaryLock);
126  }
127 
129  if constexpr (T::HasAbility::kWatchProcessBlock or T::HasAbility::kBeginProcessBlockProducer) {
130  ProcessBlock processBlock(pbp, this->moduleDescription(), mcc, false);
131  ProcessBlock const& cnstProcessBlock = processBlock;
132  processBlock.setConsumer(this->consumer());
133  MyWatchProcessBlock::beginProcessBlock(cnstProcessBlock, m_global.get());
134  if constexpr (T::HasAbility::kBeginProcessBlockProducer) {
135  processBlock.setProducer(this->producer());
136  MyBeginProcessBlockProduce::produce(processBlock, m_global.get());
137  this->commit(processBlock);
138  }
139  }
140  }
141 
143  if constexpr (T::HasAbility::kInputProcessBlockCache) {
144  ProcessBlock processBlock(pbp, this->moduleDescription(), mcc, false);
145  ProcessBlock const& cnstProcessBlock = processBlock;
146  processBlock.setConsumer(this->consumer());
148  }
149  }
150 
151  void doEndProcessBlock(ProcessBlockPrincipal const& pbp, ModuleCallingContext const* mcc) final {
152  if constexpr (T::HasAbility::kWatchProcessBlock or T::HasAbility::kEndProcessBlockProducer) {
153  ProcessBlock processBlock(pbp, this->moduleDescription(), mcc, true);
154  ProcessBlock const& cnstProcessBlock = processBlock;
155  processBlock.setConsumer(this->consumer());
156  MyWatchProcessBlock::endProcessBlock(cnstProcessBlock, m_global.get());
157  if constexpr (T::HasAbility::kEndProcessBlockProducer) {
158  processBlock.setProducer(this->producer());
159  MyEndProcessBlockProduce::produce(processBlock, m_global.get());
160  this->commit(processBlock);
161  }
162  }
163  }
164 
165  void doBeginRun(RunTransitionInfo const& info, ModuleCallingContext const* mcc) final {
167  RunPrincipal const& rp = info.principal();
168  Run r(rp, this->moduleDescription(), mcc, false);
169  r.setConsumer(this->consumer());
170  r.setProducer(this->producer());
171  Run const& cnstR = r;
172  RunIndex ri = rp.index();
173  ESParentContext parentC(mcc);
174  const EventSetup c{info,
175  static_cast<unsigned int>(Transition::BeginRun),
176  this->consumer()->esGetTokenIndices(Transition::BeginRun),
177  parentC,
178  false};
179  MyGlobalRun::beginRun(cnstR, c, m_global.get(), m_runs[ri]);
180  typename T::RunContext rc(m_runs[ri].get(), m_global.get());
182  if constexpr (T::HasAbility::kBeginRunProducer) {
184  this->commit(r);
185  }
186  }
187  }
188 
189  void doEndRun(RunTransitionInfo const& info, ModuleCallingContext const* mcc) final {
191  RunPrincipal const& rp = info.principal();
192  Run r(rp, this->moduleDescription(), mcc, true);
193  r.setConsumer(this->consumer());
194  r.setProducer(this->producer());
195 
196  RunIndex ri = rp.index();
197  typename T::RunContext rc(m_runs[ri].get(), m_global.get());
198  ESParentContext parentC(mcc);
199  const EventSetup c{info,
200  static_cast<unsigned int>(Transition::EndRun),
201  this->consumer()->esGetTokenIndices(Transition::EndRun),
202  parentC,
203  false};
205  if constexpr (T::HasAbility::kEndRunProducer) {
207  this->commit(r);
208  }
209  MyGlobalRun::endRun(r, c, &rc);
210  }
211  }
212 
215  T::HasAbility::kBeginLuminosityBlockProducer) {
216  LuminosityBlockPrincipal const& lbp = info.principal();
217  LuminosityBlock lb(lbp, this->moduleDescription(), mcc, false);
218  lb.setConsumer(this->consumer());
219  lb.setProducer(this->producer());
220  LuminosityBlock const& cnstLb = lb;
221  LuminosityBlockIndex li = lbp.index();
222  RunIndex ri = lbp.runPrincipal().index();
223  typename T::RunContext rc(m_runs[ri].get(), m_global.get());
224  ESParentContext parentC(mcc);
225  const EventSetup c{info,
226  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
227  this->consumer()->esGetTokenIndices(Transition::BeginLuminosityBlock),
228  parentC,
229  false};
230 
232  typename T::LuminosityBlockContext lc(m_lumis[li].get(), m_runs[ri].get(), m_global.get());
234  if constexpr (T::HasAbility::kBeginLuminosityBlockProducer) {
236  this->commit(lb);
237  }
238  }
239  }
242  T::HasAbility::kEndLuminosityBlockProducer) {
243  LuminosityBlockPrincipal const& lbp = info.principal();
244  LuminosityBlock lb(lbp, this->moduleDescription(), mcc, true);
245  lb.setConsumer(this->consumer());
246  lb.setProducer(this->producer());
247 
248  LuminosityBlockIndex li = lbp.index();
249  RunIndex ri = lbp.runPrincipal().index();
250  typename T::LuminosityBlockContext lc(m_lumis[li].get(), m_runs[ri].get(), m_global.get());
251  ESParentContext parentC(mcc);
252  const EventSetup c{info,
253  static_cast<unsigned int>(Transition::EndLuminosityBlock),
254  this->consumer()->esGetTokenIndices(Transition::EndLuminosityBlock),
255  parentC,
256  false};
258  if constexpr (T::HasAbility::kEndLuminosityBlockProducer) {
260  this->commit(lb);
261  }
263  }
264  }
265 
267 
268  using B::consumer;
269 
270  void selectInputProcessBlocks(ProductRegistry const& productRegistry,
271  ProcessBlockHelperBase const& processBlockHelperBase) final {
273  m_inputProcessBlocks, productRegistry, processBlockHelperBase, *consumer());
274  }
275 
276  // ---------- member data --------------------------------
286  };
287  } // namespace stream
288 } // namespace edm
289 
290 #endif
edm::stream::CallGlobalImpl::endJob
static void endJob(typename T::GlobalCache *iCache)
Definition: callAbilities.h:59
edm::stream::CallGlobalLuminosityBlockImpl
Definition: callAbilities.h:254
edm::LuminosityBlockPrincipal::runPrincipal
RunPrincipal const & runPrincipal() const
Definition: LuminosityBlockPrincipal.h:45
edm::stream::CallEndRunProduceImpl::produce
static void produce(edm::Run &, edm::EventSetup const &, typename T::RunContext const *, typename T::RunSummaryCache const *)
Definition: callAbilities.h:461
edm::stream::ProducingModuleAdaptor::hasAccumulator
bool hasAccumulator() const final
Definition: ProducingModuleAdaptor.h:77
edm::stream::ProducingModuleAdaptor::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: ProducingModuleAdaptor.h:58
edm::stream::ProducingModuleAdaptor
Definition: ProducingModuleAdaptor.h:42
edm::stream::ProducingModuleAdaptor::m_lumis
impl::choose_shared_vec< typename T::LuminosityBlockCache const >::type m_lumis
Definition: ProducingModuleAdaptor.h:280
edm::LumiTransitionInfo
Definition: TransitionInfoTypes.h:42
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::stream::CallGlobalLuminosityBlockSummaryImpl
Definition: callAbilities.h:292
edm::Run
Definition: Run.h:45
edm::stream::ProducingModuleAdaptor::wantsProcessBlocks
bool wantsProcessBlocks() const final
Definition: ProducingModuleAdaptor.h:61
edm::stream::ProducingModuleAdaptor::ProducingModuleAdaptor
ProducingModuleAdaptor(edm::ParameterSet const &iPSet)
Definition: ProducingModuleAdaptor.h:44
edm::LuminosityBlock::setProducer
void setProducer(ProducerBase const *iProducer)
Definition: LuminosityBlock.cc:55
LuminosityBlock.h
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::stream::CallInputProcessBlockImpl::accessInputProcessBlock
static void accessInputProcessBlock(edm::ProcessBlock const &processBlock, typename T::GlobalCache *iGC, typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &iCaches)
Definition: callAbilities.h:94
edm::stream::ProducingModuleAdaptor::~ProducingModuleAdaptor
~ProducingModuleAdaptor() override
Definition: ProducingModuleAdaptor.h:56
edm::stream::CallGlobalRunSummaryImpl::streamEndRunSummary
static void streamEndRunSummary(B *iProd, edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunSummaryCache *iCache)
Definition: callAbilities.h:219
edm::stream::ProducingModuleAdaptor::m_runSummaries
impl::choose_shared_vec< typename T::RunSummaryCache >::type m_runSummaries
Definition: ProducingModuleAdaptor.h:281
ProcessBlock.h
edm::stream::CallGlobalLuminosityBlockImpl::beginLuminosityBlock
static void beginLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::LuminosityBlockCache const > &oCache)
Definition: callAbilities.h:255
edm::stream::CallGlobalRunSummaryImpl
Definition: callAbilities.h:211
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
cms::cuda::stream
uint32_t const T *__restrict__ const uint32_t *__restrict__ int32_t int Histo::index_type cudaStream_t stream
Definition: HistoContainer.h:51
edm::stream::impl::choose_shared_vec::type
std::vector< std::shared_ptr< T > > type
Definition: dummy_helpers.h:64
RawToDigi_Repacked_cff.producer
producer
Definition: RawToDigi_Repacked_cff.py:6
edm::stream::CallGlobalImpl::set
static void set(B *iProd, typename T::GlobalCache const *iCache)
Definition: callAbilities.h:51
edm::stream::CallGlobalRunImpl::set
static void set(B *iProd, typename T::RunCache const *iCache)
Definition: callAbilities.h:188
edm::ProcessBlock::setProducer
void setProducer(ProducerBase const *iProducer)
Definition: ProcessBlock.cc:13
edm::stream::CallEndLuminosityBlockProduceImpl::produce
static void produce(edm::LuminosityBlock &, edm::EventSetup const &, typename T::LuminosityBlockContext const *, typename T::LuminosityBlockSummaryCache const *)
Definition: callAbilities.h:518
edm::module::AbilityBits::kBeginRunProducer
Definition: moduleAbilityEnums.h:61
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:153
edm::stream::CallBeginLuminosityBlockProduceImpl
Definition: callAbilities.h:494
callAbilities.h
edm::stream::CallGlobalLuminosityBlockImpl::endLuminosityBlock
static void endLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext)
Definition: callAbilities.h:267
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
edm::RunTransitionInfo
Definition: TransitionInfoTypes.h:64
watchdog.const
const
Definition: watchdog.py:83
edm::ProcessBlockPrincipal
Definition: ProcessBlockPrincipal.h:22
edm::stream::ProducingModuleAdaptor::wantsGlobalLuminosityBlocks
bool wantsGlobalLuminosityBlocks() const final
Definition: ProducingModuleAdaptor.h:70
edm::stream::ProducingModuleAdaptor::doBeginProcessBlock
void doBeginProcessBlock(ProcessBlockPrincipal const &pbp, ModuleCallingContext const *mcc) final
Definition: ProducingModuleAdaptor.h:128
edm::stream::CallInputProcessBlockImpl::set
static void set(T *iProd, typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type const *iCaches, unsigned int iStreamModule)
Definition: callAbilities.h:76
edm::module::AbilityBits::kEndRunProducer
Definition: moduleAbilityEnums.h:62
makeGlobal.h
edm::stream::CallBeginLuminosityBlockProduceImpl::produce
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC)
Definition: callAbilities.h:495
edm::ProductRegistry
Definition: ProductRegistry.h:37
edm::stream::CallGlobalRunImpl::endRun
static void endRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext)
Definition: callAbilities.h:192
alignCSCRings.s
s
Definition: alignCSCRings.py:92
edm::stream::CallGlobalImpl::beginJob
static void beginJob(typename T::GlobalCache *iCache)
Definition: callAbilities.h:54
edm::LuminosityBlockIndex
Definition: LuminosityBlockIndex.h:33
edm::stream::CallBeginRunProduceImpl::produce
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC)
Definition: callAbilities.h:443
edm::stream::CallBeginRunProduceImpl
Definition: callAbilities.h:442
edm::stream::CallGlobalLuminosityBlockSummaryImpl::globalEndLuminosityBlock
static void globalEndLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext, typename T::LuminosityBlockSummaryCache *iCache)
Definition: callAbilities.h:307
edm::stream::ProducingModuleAdaptor::streamEndLuminosityBlockSummary
void streamEndLuminosityBlockSummary(M *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES) final
Definition: ProducingModuleAdaptor.h:120
edm::ProcessBlock::setConsumer
void setConsumer(EDConsumerBase const *iConsumer)
Definition: ProcessBlock.h:53
edm::stream::ProducingModuleAdaptor::doBeginLuminosityBlock
void doBeginLuminosityBlock(LumiTransitionInfo const &info, ModuleCallingContext const *mcc) final
Definition: ProducingModuleAdaptor.h:213
fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::stream::ProducingModuleAdaptor::m_runs
impl::choose_shared_vec< typename T::RunCache const >::type m_runs
Definition: ProducingModuleAdaptor.h:279
Run.h
edm::stream::ProducingModuleAdaptor::m_global
impl::choose_unique_ptr< typename T::GlobalCache >::type m_global
Definition: ProducingModuleAdaptor.h:277
edm::stream::ProducingModuleAdaptor::m_inputProcessBlocks
impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type m_inputProcessBlocks
Definition: ProducingModuleAdaptor.h:278
edm::stream::ProducingModuleAdaptor::doEndProcessBlock
void doEndProcessBlock(ProcessBlockPrincipal const &pbp, ModuleCallingContext const *mcc) final
Definition: ProducingModuleAdaptor.h:151
edm::stream::CallEndLuminosityBlockProduceImpl
Definition: callAbilities.h:517
edm::Transition::BeginLuminosityBlock
edm::stream::ProducingModuleAdaptor::doBeginJob
void doBeginJob() final
Definition: ProducingModuleAdaptor.h:108
edm::stream::ProducingModuleAdaptor::doEndLuminosityBlock
void doEndLuminosityBlock(LumiTransitionInfo const &info, ModuleCallingContext const *mcc) final
Definition: ProducingModuleAdaptor.h:240
edm::stream::ProducingModuleAdaptor::wantsGlobalRuns
bool wantsGlobalRuns() const final
Definition: ProducingModuleAdaptor.h:66
edm::stream::ProducingModuleAdaptor::prevalidate
static void prevalidate(ConfigurationDescriptions &descriptions)
Definition: ProducingModuleAdaptor.h:59
edm::stream::ProducingModuleAdaptor::streamEndRunSummary
void streamEndRunSummary(M *iProd, edm::Run const &iRun, edm::EventSetup const &iES) final
Definition: ProducingModuleAdaptor.h:111
edm::stream::CallGlobalImpl
Definition: callAbilities.h:49
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::RunPrincipal::index
RunIndex index() const
Definition: RunPrincipal.h:57
edm::stream::ProducingModuleAdaptor::doEndJob
void doEndJob() final
Definition: ProducingModuleAdaptor.h:109
edm::stream::CallGlobalRunSummaryImpl::beginRun
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::RunSummaryCache > &oCache)
Definition: callAbilities.h:212
edm::stream::CallWatchProcessBlockImpl::endProcessBlock
static void endProcessBlock(edm::ProcessBlock const &iProcessBlock, typename T::GlobalCache *iGC)
Definition: callAbilities.h:344
edm::stream::ProducingModuleAdaptor::wantsInputProcessBlocks
bool wantsInputProcessBlocks() const final
Definition: ProducingModuleAdaptor.h:65
edm::stream::CallEndRunProduceImpl
Definition: callAbilities.h:460
edm::ProcessBlockHelperBase
Definition: ProcessBlockHelperBase.h:18
edm::ParameterSet
Definition: ParameterSet.h:47
ESParentContext.h
edm::LuminosityBlock::setConsumer
void setConsumer(EDConsumerBase const *iConsumer)
Definition: LuminosityBlock.cc:34
edm::stream::CallInputProcessBlockImpl::clearCaches
static void clearCaches(typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &iCaches)
Definition: callAbilities.h:102
edm::module::AbilityBits::kRunSummaryCache
Definition: moduleAbilityEnums.h:59
edm::stream::CallBeginProcessBlockProduceImpl
Definition: callAbilities.h:380
edm::stream::ProducingModuleAdaptor::doBeginRun
void doBeginRun(RunTransitionInfo const &info, ModuleCallingContext const *mcc) final
Definition: ProducingModuleAdaptor.h:165
RunPrincipal.h
edm::get
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Definition: Event.h:679
edm::stream::CallInputProcessBlockImpl::selectInputProcessBlocks
static void selectInputProcessBlocks(typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &iCaches, ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase, EDConsumerBase const &edConsumerBase)
Definition: callAbilities.h:86
edm::stream::ProducingModuleAdaptor::operator=
const ProducingModuleAdaptor & operator=(const ProducingModuleAdaptor &)=delete
edm::stream::CallGlobalRunSummaryImpl::globalEndRun
static void globalEndRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext, typename T::RunSummaryCache *iCache)
Definition: callAbilities.h:226
edm::stream::ProducingModuleAdaptor::setupStreamModules
void setupStreamModules() final
Definition: ProducingModuleAdaptor.h:94
edm::EventSetup
Definition: EventSetup.h:58
edm::ESParentContext
Definition: ESParentContext.h:21
edm::stream::impl::choose_unique_ptr::type
std::unique_ptr< T > type
Definition: dummy_helpers.h:50
edm::stream::CallEndProcessBlockProduceImpl
Definition: callAbilities.h:411
LuminosityBlockPrincipal.h
edm::Run::setProducer
void setProducer(ProducerBase const *iProducer)
Definition: Run.cc:77
edm::stream::ProducingModuleAdaptor::m_runSummaryLock
impl::choose_mutex< typename T::RunSummaryCache >::type m_runSummaryLock
Definition: ProducingModuleAdaptor.h:282
alignCSCRings.r
r
Definition: alignCSCRings.py:93
TtFullHadDaughter::B
static const std::string B
Definition: TtFullHadronicEvent.h:9
edm::Transition::EndLuminosityBlock
edm::stream::CallGlobalLuminosityBlockImpl::set
static void set(B *iProd, typename T::LuminosityBlockCache const *iCache)
Definition: callAbilities.h:263
edm::stream::ProducingModuleAdaptor::doRespondToCloseOutputFile
void doRespondToCloseOutputFile() final
Definition: ProducingModuleAdaptor.h:266
ConfigurationDescriptions
edm::module::AbilityBits::kRunCache
Definition: moduleAbilityEnums.h:57
edm::stream::CallBeginProcessBlockProduceImpl::produce
static void produce(edm::ProcessBlock &processBlock, typename T::GlobalCache *globalCache)
Definition: callAbilities.h:381
edm::stream::ProducingModuleAdaptor::m_pset
ParameterSet const * m_pset
Definition: ProducingModuleAdaptor.h:285
edm::stream::CallGlobalRunImpl::beginRun
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::GlobalCache const *iGC, std::shared_ptr< typename T::RunCache const > &oCache)
Definition: callAbilities.h:180
edm::Transition::BeginRun
edm::module::AbilityBits::kLuminosityBlockSummaryCache
Definition: moduleAbilityEnums.h:60
edm::stream::impl::makeInputProcessBlockCacheImpl
std::unique_ptr< G > makeInputProcessBlockCacheImpl(G const *)
Definition: makeGlobal.h:49
edm::module::AbilityBits::kLuminosityBlockCache
Definition: moduleAbilityEnums.h:58
edm::stream::CallWatchProcessBlockImpl
Definition: callAbilities.h:339
EventSetup.h
or
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::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
edm::RunIndex
Definition: RunIndex.h:32
OfflineOutput_cfi.consumer
consumer
Definition: OfflineOutput_cfi.py:3
edm::stream::CallEndProcessBlockProduceImpl::produce
static void produce(edm::ProcessBlock &processBlock, typename T::GlobalCache *globalCache)
Definition: callAbilities.h:412
edm::stream::CallInputProcessBlockImpl
Definition: callAbilities.h:75
dummy_helpers.h
TransitionInfoTypes.h
edm::stream::ProducingModuleAdaptor::selectInputProcessBlocks
void selectInputProcessBlocks(ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase) final
Definition: ProducingModuleAdaptor.h:270
edm::LuminosityBlockPrincipal::index
LuminosityBlockIndex index() const
Definition: LuminosityBlockPrincipal.h:51
dummy
Definition: DummySelector.h:38
edm::RunPrincipal
Definition: RunPrincipal.h:34
edm::stream::CallGlobalLuminosityBlockSummaryImpl::streamEndLuminosityBlockSummary
static void streamEndLuminosityBlockSummary(B *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES, typename T::LuminosityBlockSummaryCache *iCache)
Definition: callAbilities.h:300
edm::stream::CallGlobalLuminosityBlockSummaryImpl::beginLuminosityBlock
static void beginLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC, std::shared_ptr< typename T::LuminosityBlockSummaryCache > &oCache)
Definition: callAbilities.h:293
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
edm::stream::ProducingModuleAdaptor::doEndRun
void doEndRun(RunTransitionInfo const &info, ModuleCallingContext const *mcc) final
Definition: ProducingModuleAdaptor.h:189
edm::stream::impl::choose_mutex::type
std::mutex type
Definition: dummy_helpers.h:76
edm::Transition::EndRun
edm::stream::ProducingModuleAdaptor::m_lumiSummaries
impl::choose_shared_vec< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaries
Definition: ProducingModuleAdaptor.h:283
edm::stream::ProducingModuleAdaptor::setupLuminosityBlock
void setupLuminosityBlock(M *iProd, LuminosityBlockIndex iIndex) final
Definition: ProducingModuleAdaptor.h:117
edm::stream::ProducingModuleAdaptor::setupRun
void setupRun(M *iProd, RunIndex iIndex) final
Definition: ProducingModuleAdaptor.h:110
edm::stream::ProducingModuleAdaptor::doAccessInputProcessBlock
void doAccessInputProcessBlock(ProcessBlockPrincipal const &pbp, ModuleCallingContext const *mcc) final
Definition: ProducingModuleAdaptor.h:142
edm::ProcessBlock
Definition: ProcessBlock.h:36
edm::stream::CallWatchProcessBlockImpl::beginProcessBlock
static void beginProcessBlock(edm::ProcessBlock const &iProcessBlock, typename T::GlobalCache *iGC)
Definition: callAbilities.h:340
edm::stream::ProducingModuleAdaptor::hasAcquire
bool hasAcquire() const final
Definition: ProducingModuleAdaptor.h:75
edm::stream::CallGlobalRunImpl
Definition: callAbilities.h:179
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29
edm::stream::ProducingModuleAdaptor::preallocLumis
void preallocLumis(unsigned int iNLumis) final
Definition: ProducingModuleAdaptor.h:104
edm::stream::ProducingModuleAdaptor::m_lumiSummaryLock
impl::choose_mutex< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaryLock
Definition: ProducingModuleAdaptor.h:284