1 #ifndef FWCore_Framework_stream_EDAnalyzerAdaptor_h 2 #define FWCore_Framework_stream_EDAnalyzerAdaptor_h 56 m_runSummaries.resize(1);
57 m_lumiSummaries.resize(1);
58 typename T::GlobalCache
const*
dummy=
nullptr;
59 m_global.reset( impl::makeGlobal<T>(iPSet,dummy).
release());
65 T::fillDescriptions(descriptions);
68 T::prevalidate(descriptions);
81 auto tmp = impl::makeStreamModule<T>(*m_pset,m_global.get());
82 MyGlobal::set(
tmp,m_global.get());
89 MyGlobal::endJob(m_global.get());
92 MyGlobalRun::set(iProd, m_runs[iIndex].
get());
97 auto s = m_runSummaries[iRun.index()].get();
98 std::lock_guard<decltype(m_runSummaryLock)> guard(m_runSummaryLock);
99 MyGlobalRunSummary::streamEndRunSummary(iProd,iRun,iES,
s);
104 MyGlobalLuminosityBlock::set(iProd, m_lumis[iIndex].
get());
109 auto s = m_lumiSummaries[iLumi.index()].get();
110 std::lock_guard<decltype(m_lumiSummaryLock)> guard(m_lumiSummaryLock);
111 MyGlobalLuminosityBlockSummary::streamEndLuminosityBlockSummary(iProd,iLumi,iES,
s);
118 Run r(rp, moduleDescription(), mcc);
120 Run const& cnstR =
r;
122 MyGlobalRun::beginRun(cnstR,
c,m_global.get(),m_runs[ri]);
123 typename T::RunContext rc(m_runs[ri].
get(),m_global.get());
124 MyGlobalRunSummary::beginRun(cnstR,
c,&rc,m_runSummaries[ri]);
133 Run r(rp, moduleDescription(), mcc);
137 typename T::RunContext rc(m_runs[ri].
get(),m_global.get());
138 MyGlobalRunSummary::globalEndRun(r,
c,&rc,m_runSummaries[ri].
get());
152 RunIndex ri = lbp.runPrincipal().index();
153 typename T::RunContext rc(m_runs[ri].
get(),m_global.get());
154 MyGlobalLuminosityBlock::beginLuminosityBlock(cnstLb,
c,&rc,m_lumis[li]);
155 typename T::LuminosityBlockContext lc(m_lumis[li].
get(),m_runs[ri].
get(),m_global.get());
156 MyGlobalLuminosityBlockSummary::beginLuminosityBlock(cnstLb,
c,&lc,m_lumiSummaries[li]);
169 RunIndex ri = lbp.runPrincipal().index();
170 typename T::LuminosityBlockContext lc(m_lumis[li].
get(),m_runs[ri].
get(),m_global.get());
171 MyGlobalLuminosityBlockSummary::globalEndLuminosityBlock(lb,
c,&lc,m_lumiSummaries[li].
get());
172 MyGlobalLuminosityBlock::endLuminosityBlock(lb,
c,&lc);
197 template<
typename ModType>
200 auto module = std::make_unique<Adaptor>(
pset);
201 return std::unique_ptr<Base>(
module.release());
void setupLuminosityBlock(EDAnalyzerBase *iProd, LuminosityBlockIndex iIndex) override final
CallGlobalRun< T > MyGlobalRun
void doBeginRun(RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc) override final
impl::choose_shared_vec< typename T::RunCache const >::type m_runs
static void fillDescriptions(ConfigurationDescriptions &descriptions)
void setConsumer(EDConsumerBase const *iConsumer)
static std::unique_ptr< Base > makeModule(ParameterSet const &pset)
void setupRun(EDAnalyzerBase *iProd, RunIndex iIndex) override final
void doEndRun(RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc) override final
impl::choose_unique_ptr< typename T::GlobalCache >::type m_global
EDAnalyzerAdaptor< ModType > Type
impl::choose_shared_vec< typename T::RunSummaryCache >::type m_runSummaries
impl::choose_mutex< typename T::RunSummaryCache >::type m_runSummaryLock
CallGlobalLuminosityBlock< T > MyGlobalLuminosityBlock
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 setupStreamModules() override final
impl::choose_shared_vec< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaries
std::unique_ptr< T > type
EDAnalyzerAdaptor(edm::ParameterSet const &iPSet)
void streamEndRunSummary(EDAnalyzerBase *iProd, edm::Run const &iRun, edm::EventSetup const &iES) override final
impl::choose_shared_vec< typename T::LuminosityBlockCache const >::type m_lumis
void doEndLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *mcc) override final
CallGlobalLuminosityBlockSummary< T > MyGlobalLuminosityBlockSummary
void doEndJob() override final
edm::stream::EDAnalyzerAdaptorBase Base
std::vector< std::vector< double > > tmp
impl::choose_mutex< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaryLock
std::vector< std::shared_ptr< T > > type
void streamEndLuminosityBlockSummary(EDAnalyzerBase *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES) override final
void doBeginLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *mcc) override final
ParameterSet const * m_pset
void setConsumer(EDConsumerBase const *iConsumer)
CallGlobalRunSummary< T > MyGlobalRunSummary
static void prevalidate(ConfigurationDescriptions &descriptions)