Go to the documentation of this file. 1 #ifndef FWCore_Framework_stream_EDAnalyzerAdaptor_h
2 #define FWCore_Framework_stream_EDAnalyzerAdaptor_h
43 template <
typename ABase,
typename ModType>
48 template <
typename ModType>
61 typename T::GlobalCache
const*
dummy =
nullptr;
122 if constexpr (T::HasAbility::kWatchProcessBlock) {
131 if constexpr (T::HasAbility::kInputProcessBlockCache) {
140 if constexpr (T::HasAbility::kWatchProcessBlock) {
153 Run const& cnstR =
r;
242 template <
typename ModType>
245 auto module = std::make_unique<Adaptor>(
pset);
246 return std::unique_ptr<Base>(module.release());
static void endJob(typename T::GlobalCache *iCache)
RunPrincipal const & runPrincipal() const
void streamEndRunSummary(EDAnalyzerBase *iProd, edm::Run const &iRun, edm::EventSetup const &iES) final
impl::choose_mutex< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaryLock
static void streamEndRunSummary(B *iProd, edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunSummaryCache *iCache)
static void beginLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::LuminosityBlockCache const > &oCache)
static std::unique_ptr< Base > makeModule(ParameterSet const &pset)
void doAccessInputProcessBlock(ProcessBlockPrincipal const &pbp, ModuleCallingContext const *mcc) final
EDAnalyzerAdaptor< ModType > Type
std::vector< std::shared_ptr< T > > type
static void set(B *iProd, typename T::GlobalCache const *iCache)
static void set(B *iProd, typename T::RunCache const *iCache)
static void endLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext)
impl::choose_unique_ptr< typename T::GlobalCache >::type m_global
void doEndRun(RunTransitionInfo const &info, ModuleCallingContext const *mcc) final
void doBeginLuminosityBlock(LumiTransitionInfo const &info, ModuleCallingContext const *mcc) final
static void endRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext)
bool wantsGlobalLuminosityBlocks() const final
static void beginJob(typename T::GlobalCache *iCache)
void doEndProcessBlock(ProcessBlockPrincipal const &pbp, ModuleCallingContext const *mcc) final
static void globalEndLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext, typename T::LuminosityBlockSummaryCache *iCache)
void createStreamModules(T iFunc)
void setConsumer(EDConsumerBase const *iConsumer)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
impl::choose_shared_vec< typename T::LuminosityBlockCache const >::type m_lumis
void doEndLuminosityBlock(LumiTransitionInfo const &info, ModuleCallingContext const *mcc) final
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::RunSummaryCache > &oCache)
static void endProcessBlock(edm::ProcessBlock const &iProcessBlock, typename T::GlobalCache *iGC)
EDAnalyzerAdaptor(edm::ParameterSet const &iPSet)
ParameterSet const * m_pset
void setConsumer(EDConsumerBase const *iConsumer)
impl::choose_shared_vec< typename T::RunSummaryCache >::type m_runSummaries
T const & get(Event const &event, InputTag const &tag) noexcept(false)
impl::choose_mutex< typename T::RunSummaryCache >::type m_runSummaryLock
void doBeginProcessBlock(ProcessBlockPrincipal const &pbp, ModuleCallingContext const *mcc) final
~EDAnalyzerAdaptor() override
static void globalEndRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext, typename T::RunSummaryCache *iCache)
std::unique_ptr< T > type
impl::choose_shared_vec< typename T::RunCache const >::type m_runs
static void prevalidate(ConfigurationDescriptions &descriptions)
void setupLuminosityBlock(EDAnalyzerBase *iProd, LuminosityBlockIndex iIndex) final
static void set(B *iProd, typename T::LuminosityBlockCache const *iCache)
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::GlobalCache const *iGC, std::shared_ptr< typename T::RunCache const > &oCache)
const EDAnalyzerAdaptor & operator=(const EDAnalyzerAdaptor &)=delete
bool wantsProcessBlocks() const final
void streamEndLuminosityBlockSummary(EDAnalyzerBase *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES) final
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
void preallocLumis(unsigned int iNLumis) final
void doBeginRun(RunTransitionInfo const &info, ModuleCallingContext const *mcc) final
impl::choose_shared_vec< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaries
LuminosityBlockIndex index() const
bool wantsInputProcessBlocks() const final
static void streamEndLuminosityBlockSummary(B *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES, typename T::LuminosityBlockSummaryCache *iCache)
static void beginLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC, std::shared_ptr< typename T::LuminosityBlockSummaryCache > &oCache)
static void fillDescriptions(ConfigurationDescriptions &descriptions)
void setupStreamModules() final
const EDConsumerBase * consumer() const
edm::stream::EDAnalyzerAdaptorBase Base
void setupRun(EDAnalyzerBase *iProd, RunIndex iIndex) final
const ModuleDescription & moduleDescription() const
static void beginProcessBlock(edm::ProcessBlock const &iProcessBlock, typename T::GlobalCache *iGC)
bool wantsGlobalRuns() const final