59 return module().shouldWeCloseFile();
82 auto t = [&
mod =
module(), &rp, globalContext, token, desc = &
description(), activityRegistry, mergeableRunProductMetadata, iTask]()
mutable {
83 std::exception_ptr ex;
94 mod.doWriteRun(rp, &mcc, mergeableRunProductMetadata);
96 ex = std::current_exception();
116 auto t=[&
mod =
module(), &lbp, activityRegistry, token, globalContext,desc = &
description(),iTask]()
mutable {
117 std::exception_ptr ex;
124 activityRegistry->preModuleWriteLumiSignal_(globalContext, mcc);
129 mod.doWriteLuminosityBlock(lbp, &mcc);
131 ex = std::current_exception();
149 return module().keptProducts();
154 module().selectProducts(preg, helper);
159 bool anyProductProduced) {
160 module().setEventSelectionInfo(outputModulePathPositions, anyProductProduced);
165 return module().description();
170 return std::unique_ptr<edm::OutputModuleCommunicator>{};
173 return std::make_unique<OutputModuleCommunicatorT<edm::OutputModule>>(iMod);
176 return std::make_unique<OutputModuleCommunicatorT<edm::global::OutputModuleBase>>(iMod);
179 return std::make_unique<OutputModuleCommunicatorT<edm::one::OutputModuleBase>>(iMod);
182 return std::make_unique<OutputModuleCommunicatorT<edm::limited::OutputModuleBase>>(iMod);
RunPrincipal const & runPrincipal() const
void push(T &&iAction)
asynchronously pushes functor iAction into queue
SharedResourcesAcquirer & sharedResourcesAcquirer()
std::unique_ptr< T, F > make_sentry(T *iObject, F iFunc)
NOTE: if iObject is null, then iFunc will not be called.
Timestamp const & beginTime() const
std::array< SelectedProducts, NumBranchTypes > SelectedProductsForBranchType
FunctorTask< F > * make_functor_task(ALLOC &&iAlloc, F f)
void selectProducts(edm::ProductRegistry const &preg, ThinnedAssociationsHelper const &) override
SharedResourcesAcquirer & sharedResourcesAcquirer()
PostModuleWriteLumi postModuleWriteLumiSignal_
void configure(edm::OutputModuleDescription const &desc) override
LuminosityBlockIndex index() const
void push(T &&iAction)
asynchronously pushes functor iAction into queue
ServiceToken presentToken() const
bool shouldWeCloseFile() const override
ModuleDescription const & description() const override
edm::SelectedProductsForBranchType const & keptProducts() const override
void writeRunAsync(WaitingTaskHolder iTask, edm::RunPrincipal const &rp, ProcessContext const *, ActivityRegistry *, MergeableRunProductMetadata const *) override
void doneWaiting(std::exception_ptr iExcept)
static ServiceRegistry & instance()
Timestamp const & endTime() const
std::unique_ptr< edm::OutputModuleCommunicator > createCommunicatorIfNeeded(void *)
void closeFile() override
PostModuleWriteRun postModuleWriteRunSignal_
static LuminosityBlockIndex invalidLuminosityBlockIndex()
SerialTaskQueueChain & serialQueueChain() const
LimitedTaskQueue & queue()
void writeLumiAsync(WaitingTaskHolder iTask, edm::LuminosityBlockPrincipal const &lbp, ProcessContext const *, ActivityRegistry *) override
void setEventSelectionInfo(std::map< std::string, std::vector< std::pair< std::string, int > > > const &outputModulePathPositions, bool anyProductProduced) override
PreModuleWriteRun preModuleWriteRunSignal_
bool limitReached() const override
bool wantAllEvents() const override
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
T mod(const T &a, const T &b)
void openFile(edm::FileBlock const &fb) override
LuminosityBlockID id() const