CMS 3D CMS Logo

callAbilities.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_callAbilities_h
2 #define FWCore_Framework_stream_callAbilities_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : callAbilities
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Sat, 03 Aug 2013 16:28:35 GMT
19 //
20 
21 // system include files
22 #include <memory>
23 #include <type_traits>
24 
25 // user include files
29 
30 // forward declarations
31 namespace edm {
32  class EDConsumerBase;
33  class Run;
34  class EventSetup;
35  class LuminosityBlock;
36  class ProcessBlock;
37  namespace stream {
38  //********************************
39  // CallGlobal
40  //********************************
41  namespace callGlobalDetail {
42  template <typename, typename = std::void_t<>>
43  struct has_globalBeginJob : std::false_type {};
44 
45  template <typename T>
46  struct has_globalBeginJob<T, std::void_t<decltype(T::globalBeginJob(nullptr))>> : std::true_type {};
47  } // namespace callGlobalDetail
48  template <typename T, bool>
49  struct CallGlobalImpl {
50  template <typename B>
51  static void set(B* iProd, typename T::GlobalCache const* iCache) {
52  static_cast<T*>(iProd)->setGlobalCache(iCache);
53  }
54  static void beginJob(typename T::GlobalCache* iCache) {
56  T::globalBeginJob(iCache);
57  }
58  }
59  static void endJob(typename T::GlobalCache* iCache) { T::globalEndJob(iCache); }
60  };
61  template <typename T>
62  struct CallGlobalImpl<T, false> {
63  static void set(void* iProd, void const* iCache) {}
64  static void beginJob(void* iCache) {}
65  static void endJob(void* iCache) {}
66  };
67 
68  template <typename T>
70 
71  //********************************
72  // CallInputProcessBlock
73  //********************************
74  template <typename T, bool, bool>
76  static void set(T* iProd,
78  unsigned int iStreamModule) {
79  iProd->setProcessBlockCache(iCaches->get());
80  if (iStreamModule == 0 && iProd->cacheFillersRegistered()) {
81  (*iCaches)->moveProcessBlockCacheFiller(iProd->tokenInfos(), iProd->cacheFillers());
82  }
83  iProd->clearRegistration();
84  }
85 
88  ProductRegistry const& productRegistry,
89  ProcessBlockHelperBase const& processBlockHelperBase,
90  EDConsumerBase const& edConsumerBase) {
91  iCaches->selectInputProcessBlocks(productRegistry, processBlockHelperBase, edConsumerBase);
92  }
93 
95  edm::ProcessBlock const& processBlock,
96  typename T::GlobalCache* iGC,
98  iCaches->accessInputProcessBlock(processBlock);
99  T::accessInputProcessBlock(processBlock, iGC);
100  }
101 
103  iCaches->clearCaches();
104  }
105  };
106 
107  template <typename T>
109  static void set(T* iProd,
111  unsigned int iStreamModule) {
112  iProd->setProcessBlockCache(iCaches->get());
113  if (iStreamModule == 0 && iProd->cacheFillersRegistered()) {
114  (*iCaches)->moveProcessBlockCacheFiller(iProd->tokenInfos(), iProd->cacheFillers());
115  }
116  iProd->clearRegistration();
117  }
118 
121  ProductRegistry const& productRegistry,
122  ProcessBlockHelperBase const& processBlockHelperBase,
123  EDConsumerBase const& edConsumerBase) {
124  iCaches->selectInputProcessBlocks(productRegistry, processBlockHelperBase, edConsumerBase);
125  }
126 
128  edm::ProcessBlock const& processBlock,
129  typename T::GlobalCache*,
131  iCaches->accessInputProcessBlock(processBlock);
132  T::accessInputProcessBlock(processBlock);
133  }
134 
136  iCaches->clearCaches();
137  }
138  };
139 
140  template <typename T>
142  static void set(void*, void const*, unsigned int) {}
144  ProductRegistry const&,
145  ProcessBlockHelperBase const&,
146  EDConsumerBase const&) {}
147 
149  edm::ProcessBlock const&,
150  typename T::GlobalCache*,
152 
154  };
155 
156  template <typename T>
158  static void set(void*, void const*, unsigned int) {}
160  ProductRegistry const&,
161  ProcessBlockHelperBase const&,
162  EDConsumerBase const&) {}
164  edm::ProcessBlock const&,
165  typename T::GlobalCache*,
167 
169  };
170 
171  template <typename T>
172  using CallInputProcessBlock =
174 
175  //********************************
176  // CallGlobalRun
177  //********************************
178  template <typename T, bool>
180  static void beginRun(edm::Run const& iRun,
181  edm::EventSetup const& iES,
182  typename T::GlobalCache const* iGC,
183  std::shared_ptr<typename T::RunCache const>& oCache) {
184  oCache = T::globalBeginRun(iRun, iES, iGC);
185  }
186 
187  template <typename B>
188  static void set(B* iProd, typename T::RunCache const* iCache) {
189  static_cast<T*>(iProd)->setRunCache(iCache);
190  }
191 
192  static void endRun(edm::Run const& iRun, edm::EventSetup const& iES, typename T::RunContext const* iContext) {
193  T::globalEndRun(iRun, iES, iContext);
194  }
195  };
196 
197  template <typename T>
199  static void beginRun(edm::Run const&, edm::EventSetup const&, typename T::GlobalCache const*, impl::dummy_ptr) {}
200  static void set(void* iProd, typename T::RunCache const* iCache) {}
201  static void endRun(edm::Run const&, edm::EventSetup const&, typename T::RunContext const*) {}
202  };
203 
204  template <typename T>
206 
207  //********************************
208  // CallGlobalRunSummary
209  //********************************
210  template <typename T, bool>
212  static void beginRun(edm::Run const& iRun,
213  edm::EventSetup const& iES,
214  typename T::RunContext const* iRC,
215  std::shared_ptr<typename T::RunSummaryCache>& oCache) {
216  oCache = T::globalBeginRunSummary(iRun, iES, iRC);
217  }
218  template <typename B>
219  static void streamEndRunSummary(B* iProd,
220  edm::Run const& iRun,
221  edm::EventSetup const& iES,
222  typename T::RunSummaryCache* iCache) {
223  static_cast<T*>(iProd)->endRunSummary(iRun, iES, iCache);
224  }
225 
226  static void globalEndRun(edm::Run const& iRun,
227  edm::EventSetup const& iES,
228  typename T::RunContext const* iContext,
229  typename T::RunSummaryCache* iCache) {
230  T::globalEndRunSummary(iRun, iES, iContext, iCache);
231  }
232  };
233 
234  template <typename T>
236  static void beginRun(edm::Run const&, edm::EventSetup const&, typename T::RunContext const*, impl::dummy_ptr) {}
237  static void streamEndRunSummary(void* iProd,
238  edm::Run const&,
239  edm::EventSetup const&,
240  typename T::RunSummaryCache const* iCache) {}
241  static void globalEndRun(edm::Run const&,
242  edm::EventSetup const&,
243  typename T::RunContext const*,
244  typename T::RunSummaryCache*) {}
245  };
246 
247  template <typename T>
249 
250  //********************************
251  // CallGlobalLuminosityBlock
252  //********************************
253  template <typename T, bool>
256  edm::EventSetup const& iES,
257  typename T::RunContext const* iRC,
258  std::shared_ptr<typename T::LuminosityBlockCache const>& oCache) {
259  oCache = T::globalBeginLuminosityBlock(Lumi, iES, iRC);
260  }
261 
262  template <typename B>
263  static void set(B* iProd, typename T::LuminosityBlockCache const* iCache) {
264  static_cast<T*>(iProd)->setLuminosityBlockCache(iCache);
265  }
266 
268  edm::EventSetup const& iES,
269  typename T::LuminosityBlockContext const* iContext) {
270  T::globalEndLuminosityBlock(Lumi, iES, iContext);
271  }
272  };
273 
274  template <typename T>
277  edm::EventSetup const&,
278  typename T::RunContext const*,
279  impl::dummy_ptr) {}
280  static void set(void* iProd, typename T::LuminosityBlockCache const* iCache) {}
282  edm::EventSetup const&,
283  typename T::LuminosityBlockContext const*) {}
284  };
285  template <typename T>
287 
288  //********************************
289  // CallGlobalLuminosityBlockSummary
290  //********************************
291  template <typename T, bool>
294  edm::EventSetup const& iES,
295  typename T::LuminosityBlockContext const* iRC,
296  std::shared_ptr<typename T::LuminosityBlockSummaryCache>& oCache) {
297  oCache = T::globalBeginLuminosityBlockSummary(Lumi, iES, iRC);
298  }
299  template <typename B>
300  static void streamEndLuminosityBlockSummary(B* iProd,
301  edm::LuminosityBlock const& iLumi,
302  edm::EventSetup const& iES,
303  typename T::LuminosityBlockSummaryCache* iCache) {
304  static_cast<T*>(iProd)->endLuminosityBlockSummary(iLumi, iES, iCache);
305  }
306 
308  edm::EventSetup const& iES,
309  typename T::LuminosityBlockContext const* iContext,
310  typename T::LuminosityBlockSummaryCache* iCache) {
311  T::globalEndLuminosityBlockSummary(Lumi, iES, iContext, iCache);
312  }
313  };
314 
315  template <typename T>
318  edm::EventSetup const&,
319  typename T::LuminosityBlockContext const*,
320  impl::dummy_ptr) {}
321  static void streamEndLuminosityBlockSummary(void* iProd,
322  edm::LuminosityBlock const&,
323  edm::EventSetup const&,
324  typename T::LuminosityBlockSummaryCache* iCache) {}
326  edm::EventSetup const&,
327  typename T::LuminosityBlockContext const*,
328  typename T::LuminosityBlockSummaryCache*) {}
329  };
330 
331  template <typename T>
334 
335  //********************************
336  // CallWatchProcessBlock
337  //********************************
338  template <typename T, bool, bool>
340  static void beginProcessBlock(edm::ProcessBlock const& iProcessBlock, typename T::GlobalCache* iGC) {
341  T::beginProcessBlock(iProcessBlock, iGC);
342  }
343 
344  static void endProcessBlock(edm::ProcessBlock const& iProcessBlock, typename T::GlobalCache* iGC) {
345  T::endProcessBlock(iProcessBlock, iGC);
346  }
347  };
348 
349  template <typename T>
351  static void beginProcessBlock(edm::ProcessBlock const& processBlock, typename T::GlobalCache*) {
352  T::beginProcessBlock(processBlock);
353  }
354 
355  static void endProcessBlock(edm::ProcessBlock const& processBlock, typename T::GlobalCache*) {
356  T::endProcessBlock(processBlock);
357  }
358  };
359 
360  template <typename T>
362  static void beginProcessBlock(edm::ProcessBlock const&, typename T::GlobalCache*) {}
363  static void endProcessBlock(edm::ProcessBlock const&, typename T::GlobalCache*) {}
364  };
365 
366  template <typename T>
368  static void beginProcessBlock(edm::ProcessBlock const&, typename T::GlobalCache*) {}
369  static void endProcessBlock(edm::ProcessBlock const&, typename T::GlobalCache*) {}
370  };
371 
372  template <typename T>
373  using CallWatchProcessBlock =
375 
376  //********************************
377  // CallBeginProcessBlockProduce
378  //********************************
379  template <typename T, bool, bool>
381  static void produce(edm::ProcessBlock& processBlock, typename T::GlobalCache* globalCache) {
382  T::beginProcessBlockProduce(processBlock, globalCache);
383  }
384  };
385 
386  template <typename T>
388  static void produce(edm::ProcessBlock& processBlock, typename T::GlobalCache*) {
389  T::beginProcessBlockProduce(processBlock);
390  }
391  };
392 
393  template <typename T>
395  static void produce(edm::ProcessBlock&, typename T::GlobalCache*) {}
396  };
397 
398  template <typename T>
400  static void produce(edm::ProcessBlock&, typename T::GlobalCache*) {}
401  };
402 
403  template <typename T>
406 
407  //********************************
408  // CallEndProcessBlockProduce
409  //********************************
410  template <typename T, bool, bool>
412  static void produce(edm::ProcessBlock& processBlock, typename T::GlobalCache* globalCache) {
413  T::endProcessBlockProduce(processBlock, globalCache);
414  }
415  };
416 
417  template <typename T>
419  static void produce(edm::ProcessBlock& processBlock, typename T::GlobalCache*) {
420  T::endProcessBlockProduce(processBlock);
421  }
422  };
423 
424  template <typename T>
426  static void produce(edm::ProcessBlock&, typename T::GlobalCache*) {}
427  };
428 
429  template <typename T>
431  static void produce(edm::ProcessBlock&, typename T::GlobalCache*) {}
432  };
433 
434  template <typename T>
437 
438  //********************************
439  // CallBeginRunProduce
440  //********************************
441  template <typename T, bool>
443  static void produce(edm::Run& iRun, edm::EventSetup const& iES, typename T::RunContext const* iRC) {
444  T::globalBeginRunProduce(iRun, iES, iRC);
445  }
446  };
447 
448  template <typename T>
450  static void produce(edm::Run& iRun, edm::EventSetup const& iES, typename T::RunContext const* iRC) {}
451  };
452 
453  template <typename T>
455 
456  //********************************
457  // CallEndRunProduce
458  //********************************
459  template <typename T, bool bProduce, bool bSummary>
461  static void produce(edm::Run&,
462  edm::EventSetup const&,
463  typename T::RunContext const*,
464  typename T::RunSummaryCache const*) {}
465  };
466 
467  template <typename T>
469  static void produce(edm::Run& iRun,
470  edm::EventSetup const& iES,
471  typename T::RunContext const* iRC,
472  typename T::RunSummaryCache const*) {
473  T::globalEndRunProduce(iRun, iES, iRC);
474  }
475  };
476 
477  template <typename T>
479  static void produce(edm::Run& iRun,
480  edm::EventSetup const& iES,
481  typename T::RunContext const* iRC,
482  typename T::RunSummaryCache const* iRS) {
483  T::globalEndRunProduce(iRun, iES, iRC, iRS);
484  }
485  };
486 
487  template <typename T>
489 
490  //********************************
491  // CallBeginLuminosityBlockProduce
492  //********************************
493  template <typename T, bool>
496  edm::EventSetup const& iES,
497  typename T::LuminosityBlockContext const* iRC) {
498  T::globalBeginLuminosityBlockProduce(Lumi, iES, iRC);
499  }
500  };
501 
502  template <typename T>
505  edm::EventSetup const& iES,
506  typename T::LuminosityBlockContext const* iRC) {}
507  };
508 
509  template <typename T>
512 
513  //********************************
514  // CallEndLuminosityBlockProduce
515  //********************************
516  template <typename T, bool bProduce, bool bSummary>
519  edm::EventSetup const&,
520  typename T::LuminosityBlockContext const*,
521  typename T::LuminosityBlockSummaryCache const*) {}
522  };
523 
524  template <typename T>
527  edm::EventSetup const& iES,
528  typename T::LuminosityBlockContext const* iRC,
529  typename T::LuminosityBlockSummaryCache const*) {
530  T::globalEndLuminosityBlockProduce(Lumi, iES, iRC);
531  }
532  };
533 
534  template <typename T>
537  edm::EventSetup const& iES,
538  typename T::LuminosityBlockContext const* iRC,
539  typename T::LuminosityBlockSummaryCache const* iRS) {
540  T::globalEndLuminosityBlockProduce(Lumi, iES, iRC, iRS);
541  }
542  };
543 
544  template <typename T>
546  CallEndLuminosityBlockProduceImpl<T,
547  T::HasAbility::kEndLuminosityBlockProducer,
549 
550  } // namespace stream
551 } // namespace edm
552 
553 #endif
edm::stream::CallEndProcessBlockProduceImpl< T, false, false >::produce
static void produce(edm::ProcessBlock &, typename T::GlobalCache *)
Definition: callAbilities.h:431
edm::stream::CallWatchProcessBlockImpl< T, true, false >::beginProcessBlock
static void beginProcessBlock(edm::ProcessBlock const &processBlock, typename T::GlobalCache *)
Definition: callAbilities.h:351
edm::stream::CallGlobalImpl::endJob
static void endJob(typename T::GlobalCache *iCache)
Definition: callAbilities.h:59
ProvenanceFwd.h
edm::stream::CallInputProcessBlockImpl< T, false, false >::selectInputProcessBlocks
static void selectInputProcessBlocks(typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &, ProductRegistry const &, ProcessBlockHelperBase const &, EDConsumerBase const &)
Definition: callAbilities.h:159
edm::stream::CallGlobalLuminosityBlockSummary
CallGlobalLuminosityBlockSummaryImpl< T, T::HasAbility::kLuminosityBlockSummaryCache > CallGlobalLuminosityBlockSummary
Definition: callAbilities.h:333
edm::stream::CallGlobalLuminosityBlockImpl
Definition: callAbilities.h:254
edm::stream::CallEndRunProduceImpl::produce
static void produce(edm::Run &, edm::EventSetup const &, typename T::RunContext const *, typename T::RunSummaryCache const *)
Definition: callAbilities.h:461
funct::false
false
Definition: Factorize.h:29
edm::stream::CallInputProcessBlockImpl< T, false, true >::accessInputProcessBlock
static void accessInputProcessBlock(edm::ProcessBlock const &, typename T::GlobalCache *, typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &iCaches)
Definition: callAbilities.h:148
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::stream::CallGlobalLuminosityBlockSummaryImpl
Definition: callAbilities.h:292
edm::Run
Definition: Run.h:45
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::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::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::CallWatchProcessBlockImpl< T, false, true >::endProcessBlock
static void endProcessBlock(edm::ProcessBlock const &, typename T::GlobalCache *)
Definition: callAbilities.h:363
edm::stream::CallGlobalImpl< T, false >::set
static void set(void *iProd, void const *iCache)
Definition: callAbilities.h:63
edm::stream::CallGlobalRunSummaryImpl
Definition: callAbilities.h:211
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::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::stream::CallEndLuminosityBlockProduceImpl::produce
static void produce(edm::LuminosityBlock &, edm::EventSetup const &, typename T::LuminosityBlockContext const *, typename T::LuminosityBlockSummaryCache const *)
Definition: callAbilities.h:518
edm::stream::CallInputProcessBlockImpl< T, false, false >::accessInputProcessBlock
static void accessInputProcessBlock(edm::ProcessBlock const &, typename T::GlobalCache *, typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &iCaches)
Definition: callAbilities.h:163
edm::stream::CallInputProcessBlockImpl< T, false, false >::set
static void set(void *, void const *, unsigned int)
Definition: callAbilities.h:158
edm::stream::CallGlobalLuminosityBlockSummaryImpl< T, false >::streamEndLuminosityBlockSummary
static void streamEndLuminosityBlockSummary(void *iProd, edm::LuminosityBlock const &, edm::EventSetup const &, typename T::LuminosityBlockSummaryCache *iCache)
Definition: callAbilities.h:321
edm::stream::CallBeginLuminosityBlockProduceImpl
Definition: callAbilities.h:494
edm::stream::CallInputProcessBlockImpl< T, false, true >::selectInputProcessBlocks
static void selectInputProcessBlocks(typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &, ProductRegistry const &, ProcessBlockHelperBase const &, EDConsumerBase const &)
Definition: callAbilities.h:143
edm::stream::CallInputProcessBlockImpl< T, true, false >::accessInputProcessBlock
static void accessInputProcessBlock(edm::ProcessBlock const &processBlock, typename T::GlobalCache *, typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &iCaches)
Definition: callAbilities.h:127
edm::stream::CallGlobalLuminosityBlockImpl::endLuminosityBlock
static void endLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext)
Definition: callAbilities.h:267
edm::stream::CallBeginProcessBlockProduceImpl< T, true, false >::produce
static void produce(edm::ProcessBlock &processBlock, typename T::GlobalCache *)
Definition: callAbilities.h:388
edm::stream::callGlobalDetail::has_globalBeginJob
Definition: callAbilities.h:43
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::stream::CallGlobalRunSummaryImpl< T, false >::streamEndRunSummary
static void streamEndRunSummary(void *iProd, edm::Run const &, edm::EventSetup const &, typename T::RunSummaryCache const *iCache)
Definition: callAbilities.h:237
edm::stream::CallBeginLuminosityBlockProduce
CallBeginLuminosityBlockProduceImpl< T, T::HasAbility::kBeginLuminosityBlockProducer > CallBeginLuminosityBlockProduce
Definition: callAbilities.h:511
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
edm::EDConsumerBase
Definition: EDConsumerBase.h:71
edm::stream::CallGlobalImpl::beginJob
static void beginJob(typename T::GlobalCache *iCache)
Definition: callAbilities.h:54
edm::stream::CallBeginRunProduceImpl< T, false >::produce
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC)
Definition: callAbilities.h:450
edm::stream::CallGlobalImpl< T, false >::endJob
static void endJob(void *iCache)
Definition: callAbilities.h:65
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::CallGlobalRunImpl< T, false >::beginRun
static void beginRun(edm::Run const &, edm::EventSetup const &, typename T::GlobalCache const *, impl::dummy_ptr)
Definition: callAbilities.h:199
edm::stream::CallWatchProcessBlock
CallWatchProcessBlockImpl< T, T::HasAbility::kWatchProcessBlock, T::HasAbility::kGlobalCache > CallWatchProcessBlock
Definition: callAbilities.h:374
mix_E10TeV_L13E31_BX432_cfi.Lumi
Lumi
Definition: mix_E10TeV_L13E31_BX432_cfi.py:24
LuminosityBlock
edm::stream::CallEndLuminosityBlockProduceImpl
Definition: callAbilities.h:517
edm::stream::CallInputProcessBlockImpl< T, true, false >::set
static void set(T *iProd, typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type const *iCaches, unsigned int iStreamModule)
Definition: callAbilities.h:109
edm::stream::CallEndLuminosityBlockProduceImpl< T, true, true >::produce
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC, typename T::LuminosityBlockSummaryCache const *iRS)
Definition: callAbilities.h:536
edm::stream::CallGlobalImpl
Definition: callAbilities.h:49
edm::stream::impl::dummy_ptr
Definition: dummy_helpers.h:32
edm::stream::CallGlobalLuminosityBlockSummaryImpl< T, false >::globalEndLuminosityBlock
static void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &, typename T::LuminosityBlockContext const *, typename T::LuminosityBlockSummaryCache *)
Definition: callAbilities.h:325
edm::stream::CallGlobalRunImpl< T, false >::endRun
static void endRun(edm::Run const &, edm::EventSetup const &, typename T::RunContext const *)
Definition: callAbilities.h:201
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
funct::true
true
Definition: Factorize.h:173
edm::stream::CallWatchProcessBlockImpl< T, false, true >::beginProcessBlock
static void beginProcessBlock(edm::ProcessBlock const &, typename T::GlobalCache *)
Definition: callAbilities.h:362
edm::stream::CallEndRunProduceImpl
Definition: callAbilities.h:460
edm::ProcessBlockHelperBase
Definition: ProcessBlockHelperBase.h:18
edm::stream::CallInputProcessBlock
CallInputProcessBlockImpl< T, T::HasAbility::kInputProcessBlockCache, T::HasAbility::kGlobalCache > CallInputProcessBlock
Definition: callAbilities.h:173
edm::stream::CallInputProcessBlockImpl::clearCaches
static void clearCaches(typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &iCaches)
Definition: callAbilities.h:102
edm::stream::CallWatchProcessBlockImpl< T, true, false >::endProcessBlock
static void endProcessBlock(edm::ProcessBlock const &processBlock, typename T::GlobalCache *)
Definition: callAbilities.h:355
edm::stream::CallBeginProcessBlockProduceImpl
Definition: callAbilities.h:380
edm::stream::CallBeginProcessBlockProduce
CallBeginProcessBlockProduceImpl< T, T::HasAbility::kBeginProcessBlockProducer, T::HasAbility::kGlobalCache > CallBeginProcessBlockProduce
Definition: callAbilities.h:405
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::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::CallBeginProcessBlockProduceImpl< T, false, true >::produce
static void produce(edm::ProcessBlock &, typename T::GlobalCache *)
Definition: callAbilities.h:395
edm::stream::CallGlobalLuminosityBlockSummaryImpl< T, false >::beginLuminosityBlock
static void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &, typename T::LuminosityBlockContext const *, impl::dummy_ptr)
Definition: callAbilities.h:317
edm::EventSetup
Definition: EventSetup.h:58
edm::stream::CallGlobalLuminosityBlockImpl< T, false >::endLuminosityBlock
static void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &, typename T::LuminosityBlockContext const *)
Definition: callAbilities.h:281
edm::stream::CallGlobalLuminosityBlockImpl< T, false >::beginLuminosityBlock
static void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &, typename T::RunContext const *, impl::dummy_ptr)
Definition: callAbilities.h:276
edm::stream::impl::choose_unique_ptr::type
std::unique_ptr< T > type
Definition: dummy_helpers.h:50
edm::stream::CallEndProcessBlockProduceImpl
Definition: callAbilities.h:411
edm::stream::CallEndRunProduceImpl< T, true, false >::produce
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, typename T::RunSummaryCache const *)
Definition: callAbilities.h:469
edm::stream::CallBeginProcessBlockProduceImpl< T, false, false >::produce
static void produce(edm::ProcessBlock &, typename T::GlobalCache *)
Definition: callAbilities.h:400
edm::stream::CallGlobalRunSummaryImpl< T, false >::beginRun
static void beginRun(edm::Run const &, edm::EventSetup const &, typename T::RunContext const *, impl::dummy_ptr)
Definition: callAbilities.h:236
edm::stream::CallGlobalRunImpl< T, false >::set
static void set(void *iProd, typename T::RunCache const *iCache)
Definition: callAbilities.h:200
TtFullHadDaughter::B
static const std::string B
Definition: TtFullHadronicEvent.h:9
edm::stream::CallGlobalLuminosityBlockImpl::set
static void set(B *iProd, typename T::LuminosityBlockCache const *iCache)
Definition: callAbilities.h:263
std
Definition: JetResolutionObject.h:76
edm::stream::CallEndLuminosityBlockProduce
CallEndLuminosityBlockProduceImpl< T, T::HasAbility::kEndLuminosityBlockProducer, T::HasAbility::kLuminosityBlockSummaryCache > CallEndLuminosityBlockProduce
Definition: callAbilities.h:548
edm::stream::CallEndProcessBlockProduceImpl< T, false, true >::produce
static void produce(edm::ProcessBlock &, typename T::GlobalCache *)
Definition: callAbilities.h:426
edm::stream::CallBeginProcessBlockProduceImpl::produce
static void produce(edm::ProcessBlock &processBlock, typename T::GlobalCache *globalCache)
Definition: callAbilities.h:381
edm::stream::CallEndProcessBlockProduceImpl< T, true, false >::produce
static void produce(edm::ProcessBlock &processBlock, typename T::GlobalCache *)
Definition: callAbilities.h:419
T
long double T
Definition: Basic3DVectorLD.h:48
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::stream::CallEndProcessBlockProduce
CallEndProcessBlockProduceImpl< T, T::HasAbility::kEndProcessBlockProducer, T::HasAbility::kGlobalCache > CallEndProcessBlockProduce
Definition: callAbilities.h:436
edm::stream::CallGlobalRunSummaryImpl< T, false >::globalEndRun
static void globalEndRun(edm::Run const &, edm::EventSetup const &, typename T::RunContext const *, typename T::RunSummaryCache *)
Definition: callAbilities.h:241
edm::module::AbilityBits::kLuminosityBlockSummaryCache
Definition: moduleAbilityEnums.h:60
edm::stream::CallWatchProcessBlockImpl
Definition: callAbilities.h:339
edm::stream::CallWatchProcessBlockImpl< T, false, false >::beginProcessBlock
static void beginProcessBlock(edm::ProcessBlock const &, typename T::GlobalCache *)
Definition: callAbilities.h:368
edm::stream::CallInputProcessBlockImpl< T, true, false >::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:119
edm::stream::CallInputProcessBlockImpl< T, false, false >::clearCaches
static void clearCaches(typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &)
Definition: callAbilities.h:168
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
edm::stream::CallEndRunProduceImpl< T, true, true >::produce
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, typename T::RunSummaryCache const *iRS)
Definition: callAbilities.h:479
dummy_helpers.h
edm::stream::CallGlobalLuminosityBlockImpl< T, false >::set
static void set(void *iProd, typename T::LuminosityBlockCache const *iCache)
Definition: callAbilities.h:280
EventSetup
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
edm::stream::CallWatchProcessBlockImpl< T, false, false >::endProcessBlock
static void endProcessBlock(edm::ProcessBlock const &, typename T::GlobalCache *)
Definition: callAbilities.h:369
edm::stream::CallGlobalImpl< T, false >::beginJob
static void beginJob(void *iCache)
Definition: callAbilities.h:64
edm::stream::CallBeginLuminosityBlockProduceImpl< T, false >::produce
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC)
Definition: callAbilities.h:504
edm::stream::CallInputProcessBlockImpl< T, true, false >::clearCaches
static void clearCaches(typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &iCaches)
Definition: callAbilities.h:135
edm::stream::CallInputProcessBlockImpl< T, false, true >::clearCaches
static void clearCaches(typename impl::choose_unique_ptr< typename T::InputProcessBlockCache >::type &)
Definition: callAbilities.h:153
edm::stream::CallEndLuminosityBlockProduceImpl< T, true, false >::produce
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC, typename T::LuminosityBlockSummaryCache const *)
Definition: callAbilities.h:526
edm::stream::CallInputProcessBlockImpl< T, false, true >::set
static void set(void *, void const *, unsigned int)
Definition: callAbilities.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::CallGlobalRunImpl
Definition: callAbilities.h:179
FWCoreCommonFwd.h
Run