CMS 3D CMS Logo

StreamerOutputModuleBase.cc
Go to the documentation of this file.
1 
3 
12 
13 #include "zlib.h"
14 
15 namespace edm {
18  one::OutputModule<one::WatchRuns, one::WatchLuminosityBlocks>(ps),
19  StreamerOutputModuleCommon(ps, &keptProducts()[InEvent]),
20  trToken_(consumes<edm::TriggerResults>(edm::InputTag("TriggerResults"))) {}
21 
23 
25  start();
26 
27  std::unique_ptr<InitMsgBuilder> init_message = serializeRegistry(*getSerializerBuffer(),
28  *branchIDLists(),
32  moduleDescription().mainParameterSetID());
33 
34  doOutputHeader(*init_message);
35  serializerBuffer_->clearHeaderBuffer();
36  }
37 
39 
41 
43 
45 
47 
50 
51  std::unique_ptr<EventMsgBuilder> msg = serializeEvent(*getSerializerBuffer(), e, triggerResults, selectorConfig());
52  doOutputEvent(*msg); // You can't use msg in StreamerOutputModuleBase after this point
53  }
54 
56  EventForOutput const& e) const {
57  Trig result;
59  return result;
60  }
61 
65  }
66 } // namespace edm
static void fillDescription(ParameterSetDescription &desc)
std::unique_ptr< EventMsgBuilder > serializeEvent(SerializeDataBuffer &sbuf, EventForOutput const &e, Handle< TriggerResults > const &triggerResults, ParameterSetID const &selectorCfg)
ModuleDescription const & description() const
ThinnedAssociationsHelper const * thinnedAssociationsHelper() const
BasicHandle getByToken(EDGetToken token, TypeID const &typeID) const
Trig getTriggerResults(EDGetTokenT< TriggerResults > const &token, EventForOutput const &e) const
virtual void doOutputHeader(InitMsgBuilder const &init_message)=0
void endRun(RunForOutput const &) override
std::string const & processName() const
Definition: OutputModule.h:81
void write(EventForOutput const &e) override
ParameterSetID selectorConfig() const
std::unique_ptr< SerializeDataBuffer > serializerBuffer_
static void fillDescription(ParameterSetDescription &desc)
void beginRun(RunForOutput const &) override
void writeLuminosityBlock(LuminosityBlockForOutput const &) override
static void fillDescription(ParameterSetDescription &desc, std::vector< std::string > const &iDefaultOutputCommands=ProductSelectorRules::defaultSelectionStrings())
virtual void doOutputEvent(EventMsgBuilder const &msg)=0
StreamerOutputModuleBase(ParameterSet const &ps)
const ModuleDescription & moduleDescription() const
static std::string const triggerResults("TriggerResults")
std::unique_ptr< InitMsgBuilder > serializeRegistry(SerializeDataBuffer &sbuf, BranchIDLists const &branchLists, ThinnedAssociationsHelper const &helper, std::string const &processName, std::string const &moduleLabel, ParameterSetID const &toplevel)
edm::EDGetTokenT< edm::TriggerResults > trToken_
tuple msg
Definition: mps_check.py:285
void writeRun(RunForOutput const &) override
HLT enums.
BranchIDLists const * branchIDLists()