CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
edm::StreamerOutputModuleBase Class Referenceabstract

#include <StreamerOutputModuleBase.h>

Inheritance diagram for edm::StreamerOutputModuleBase:
edm::one::OutputModule< one::WatchRuns, one::WatchLuminosityBlocks > edm::one::OutputModuleBase edm::EDConsumerBase edm::StreamerOutputModule< Consumer > evf::RecoEventOutputModuleForFU< Consumer >

Public Member Functions

 StreamerOutputModuleBase (ParameterSet const &ps)
 
 ~StreamerOutputModuleBase () override
 
- Public Member Functions inherited from edm::one::OutputModule< one::WatchRuns, one::WatchLuminosityBlocks >
 OutputModule (edm::ParameterSet const &iPSet)
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::OutputModuleBase
BranchIDLists const * branchIDLists ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch () const
 
SelectedProductsForBranchType const & keptProducts () const
 
int maxEvents () const
 
const ModuleDescriptionmoduleDescription () const
 
OutputModuleBaseoperator= (OutputModuleBase const &)=delete
 
 OutputModuleBase (ParameterSet const &pset)
 
 OutputModuleBase (OutputModuleBase const &)=delete
 
std::string const & processName () const
 
int remainingEvents () const
 
bool selected (BranchDescription const &desc) const
 
void selectProducts (ProductRegistry const &preg, ThinnedAssociationsHelper const &)
 
SharedResourcesAcquirersharedResourcesAcquirer ()
 
SubProcessParentageHelper const * subProcessParentageHelper () const
 
ThinnedAssociationsHelper const * thinnedAssociationsHelper () const
 
bool wantAllEvents () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~OutputModuleBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescription (ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::one::OutputModuleBase
static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Private Member Functions

void beginJob () override
 
void beginRun (RunForOutput const &) override
 
virtual void doOutputEvent (EventMsgBuilder const &msg)=0
 
virtual void doOutputHeader (InitMsgBuilder const &init_message)=0
 
void endJob () override
 
void endRun (RunForOutput const &) override
 
Trig getTriggerResults (EDGetTokenT< TriggerResults > const &token, EventForOutput const &e) const
 
std::unique_ptr< EventMsgBuilderserializeEvent (EventForOutput const &e)
 
std::unique_ptr< InitMsgBuilderserializeRegistry ()
 
void setHltMask (EventForOutput const &e)
 
void setLumiSection ()
 
virtual void start ()=0
 
virtual void stop ()=0
 
void write (EventForOutput const &e) override
 
void writeLuminosityBlock (LuminosityBlockForOutput const &) override
 
void writeRun (RunForOutput const &) override
 

Private Attributes

int compressionLevel_
 
std::vector< unsigned char > hltbits_
 
unsigned int hltsize_
 
Strings hltTriggerSelections_
 
char host_name_ [255]
 
std::vector< bool > l1bit_
 
uint32 lumi_
 
int lumiSectionInterval_
 
int maxEventSize_
 
uint32 origSize_
 
uint32 outputModuleId_
 
SelectedProducts const * selections_
 
SerializeDataBuffer serializeDataBuffer_
 
StreamSerializer serializer_
 
double timeInSecSinceUTC
 
edm::EDGetTokenT< edm::TriggerResultstrToken_
 
bool useCompression_
 

Additional Inherited Members

- Public Types inherited from edm::one::OutputModuleBase
typedef OutputModuleBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::one::OutputModuleBase
void configure (OutputModuleDescription const &desc)
 
ModuleDescription const & description () const
 
void doBeginJob ()
 
bool doBeginLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *)
 
bool doBeginRun (RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *)
 
void doEndJob ()
 
bool doEndLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *)
 
bool doEndRun (RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *)
 
bool doEvent (EventPrincipal const &ep, EventSetup const &c, ActivityRegistry *, ModuleCallingContext const *)
 
void doPreallocate (PreallocationConfiguration const &)
 
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID ()
 
ParameterSetID selectorConfig () const
 
void setEventSelectionInfo (std::map< std::string, std::vector< std::pair< std::string, int > > > const &outputModulePathPositions, bool anyProductProduced)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 18 of file StreamerOutputModuleBase.h.

Constructor & Destructor Documentation

edm::StreamerOutputModuleBase::StreamerOutputModuleBase ( ParameterSet const &  ps)
explicit

Definition at line 57 of file StreamerOutputModuleBase.cc.

References SerializeDataBuffer::bufs_, compressionLevel_, FDEBUG, edm::EventSelector::getEventSelectionVString(), hltTriggerSelections_, host_name_, maxEventSize_, serializeDataBuffer_, timeInSecSinceUTC, and useCompression_.

57  :
59  one::OutputModule<one::WatchRuns, one::WatchLuminosityBlocks>(ps),
61  maxEventSize_(ps.getUntrackedParameter<int>("max_event_size")),
62  useCompression_(ps.getUntrackedParameter<bool>("use_compression")),
63  compressionLevel_(ps.getUntrackedParameter<int>("compression_level")),
64  lumiSectionInterval_(ps.getUntrackedParameter<int>("lumiSection_interval")),
67  hltsize_(0),
68  lumi_(0),
69  l1bit_(0),
70  hltbits_(0),
71  origSize_(0),
72  host_name_(),
73  trToken_(consumes<edm::TriggerResults>(edm::InputTag("TriggerResults"))),
75  outputModuleId_(0) {
76  // no compression as default value - we need this!
77 
78  // test luminosity sections
79  struct timeval now;
80  struct timezone dummyTZ;
81  gettimeofday(&now, &dummyTZ);
82  timeInSecSinceUTC = static_cast<double>(now.tv_sec) + (static_cast<double>(now.tv_usec)/1000000.0);
83 
84  if(useCompression_ == true) {
85  if(compressionLevel_ <= 0) {
86  FDEBUG(9) << "Compression Level = " << compressionLevel_
87  << " no compression" << std::endl;
89  useCompression_ = false;
90  } else if(compressionLevel_ > 9) {
91  FDEBUG(9) << "Compression Level = " << compressionLevel_
92  << " using max compression level 9" << std::endl;
94  }
95  }
97  int got_host = gethostname(host_name_, 255);
98  if(got_host != 0) strncpy(host_name_, "noHostNameFoundOrTooLong", sizeof(host_name_));
99  //loadExtraClasses();
100 
101  // 25-Jan-2008, KAB - pull out the trigger selection request
102  // which we need for the INIT message
104  }
#define FDEBUG(lev)
Definition: DebugMacros.h:20
static std::vector< std::string > getEventSelectionVString(edm::ParameterSet const &pset)
SelectedProductsForBranchType const & keptProducts() const
OutputModuleBase(ParameterSet const &pset)
SelectedProducts const * selections_
edm::EDGetTokenT< edm::TriggerResults > trToken_
std::vector< unsigned char > hltbits_
edm::StreamerOutputModuleBase::~StreamerOutputModuleBase ( )
override

Definition at line 106 of file StreamerOutputModuleBase.cc.

106 {}

Member Function Documentation

void edm::StreamerOutputModuleBase::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 123 of file StreamerOutputModuleBase.cc.

123 {}
void edm::StreamerOutputModuleBase::beginRun ( RunForOutput const &  )
overrideprivate

Definition at line 109 of file StreamerOutputModuleBase.cc.

References doOutputHeader(), SerializeDataBuffer::header_buf_, serializeDataBuffer_, serializeRegistry(), and start().

109  {
110  start();
111  std::unique_ptr<InitMsgBuilder> init_message = serializeRegistry();
112  doOutputHeader(*init_message);
114  serializeDataBuffer_.header_buf_.shrink_to_fit();
115  }
virtual void doOutputHeader(InitMsgBuilder const &init_message)=0
std::unique_ptr< InitMsgBuilder > serializeRegistry()
virtual void edm::StreamerOutputModuleBase::doOutputEvent ( EventMsgBuilder const &  msg)
privatepure virtual
virtual void edm::StreamerOutputModuleBase::doOutputHeader ( InitMsgBuilder const &  init_message)
privatepure virtual
void edm::StreamerOutputModuleBase::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 126 of file StreamerOutputModuleBase.cc.

References stop().

126  {
127  stop(); // for closing of files, notify storage manager, etc.
128  }
void edm::StreamerOutputModuleBase::endRun ( RunForOutput const &  )
overrideprivate

Definition at line 118 of file StreamerOutputModuleBase.cc.

References stop().

118  {
119  stop();
120  }
void edm::StreamerOutputModuleBase::fillDescription ( ParameterSetDescription desc)
static

Definition at line 301 of file StreamerOutputModuleBase.cc.

References edm::ParameterSetDescription::addUntracked(), and edm::OutputModule::fillDescription().

Referenced by edm::StreamerOutputModule< Consumer >::fillDescriptions(), and evf::RecoEventOutputModuleForFU< Consumer >::fillDescriptions().

301  {
302  desc.addUntracked<int>("max_event_size", 7000000)
303  ->setComment("Starting size in bytes of the serialized event buffer.");
304  desc.addUntracked<bool>("use_compression", true)
305  ->setComment("If True, compression will be used to write streamer file.");
306  desc.addUntracked<int>("compression_level", 1)
307  ->setComment("ROOT compression level to use.");
308  desc.addUntracked<int>("lumiSection_interval", 0)
309  ->setComment("If 0, use lumi section number from event.\n"
310  "If not 0, the interval in seconds between fake lumi sections.");
312  }
static void fillDescription(ParameterSetDescription &desc, std::vector< std::string > const &iDefaultOutputCommands=ProductSelectorRules::defaultSelectionStrings())
Trig edm::StreamerOutputModuleBase::getTriggerResults ( EDGetTokenT< TriggerResults > const &  token,
EventForOutput const &  e 
) const
private

Definition at line 201 of file StreamerOutputModuleBase.cc.

References edm::OccurrenceForOutput::getByToken(), and mps_fire::result.

Referenced by setHltMask().

201  {
202  Trig result;
203  e.getByToken<TriggerResults>(token, result);
204  return result;
205  }
detail::TriggerResultsBasedEventSelector::handle_t Trig
Definition: OutputModule.h:49
std::unique_ptr< EventMsgBuilder > edm::StreamerOutputModuleBase::serializeEvent ( EventForOutput const &  e)
private

Definition at line 249 of file StreamerOutputModuleBase.cc.

References SerializeDataBuffer::adler32_chksum(), SerializeDataBuffer::bufferPointer(), SerializeDataBuffer::bufs_, compressionLevel_, popcon2dropbox::copy(), SerializeDataBuffer::currentEventSize(), SerializeDataBuffer::currentSpaceUsed(), edm::EventID::event(), hltbits_, hltsize_, host_name_, edm::EventForOutput::id(), l1bit_, lumi_, edm::EventForOutput::luminosityBlock(), lumiSectionInterval_, mps_check::msg, origSize_, outputModuleId_, edm::EventID::run(), edm::one::OutputModuleBase::selectorConfig(), serializeDataBuffer_, edm::StreamSerializer::serializeEvent(), serializer_, setHltMask(), setLumiSection(), TrackRefitter_38T_cff::src, and useCompression_.

Referenced by write().

249  {
250  //Lets Build the Event Message first
251 
252  //Following is strictly DUMMY Data for L! Trig and will be replaced with actual
253  // once figured out, there is no logic involved here.
254  l1bit_.push_back(true);
255  l1bit_.push_back(true);
256  l1bit_.push_back(false);
257  //End of dummy data
258 
259  setHltMask(e);
260 
261  if (lumiSectionInterval_ == 0) {
262  lumi_ = e.luminosityBlock();
263  } else {
264  setLumiSection();
265  }
266 
268 
269  // resize bufs_ to reflect space used in serializer_ + header
270  // I just added an overhead for header of 50000 for now
271  unsigned int src_size = serializeDataBuffer_.currentSpaceUsed();
272  unsigned int new_size = src_size + 50000;
273  if(serializeDataBuffer_.bufs_.size() < new_size) serializeDataBuffer_.bufs_.resize(new_size);
274 
275  auto msg = std::make_unique<EventMsgBuilder>(
276  &serializeDataBuffer_.bufs_[0], serializeDataBuffer_.bufs_.size(), e.id().run(),
277  e.id().event(), lumi_, outputModuleId_, 0,
278  l1bit_, (uint8*)&hltbits_[0], hltsize_,
280  msg->setOrigDataSize(origSize_); // we need this set to zero
281 
282  // copy data into the destination message
283  // an alternative is to have serializer only to the serialization
284  // in serializeEvent, and then call a new member "getEventData" that
285  // takes the compression arguments and a place to put the data.
286  // This will require one less copy. The only catch is that the
287  // space provided in bufs_ should be at least the uncompressed
288  // size + overhead for header because we will not know the actual
289  // compressed size.
290 
291  unsigned char* src = serializeDataBuffer_.bufferPointer();
292  std::copy(src,src + src_size, msg->eventAddr());
293  msg->setEventLength(src_size);
295 
296  l1bit_.clear(); //Clear up for the next event to come.
297  return msg;
298  }
def copy(args, dbName)
ParameterSetID selectorConfig() const
unsigned int currentSpaceUsed() const
unsigned char const * bufferPointer() const
unsigned int uint32
Definition: MsgTools.h:13
tuple msg
Definition: mps_check.py:277
void setHltMask(EventForOutput const &e)
uint32_t adler32_chksum() const
int serializeEvent(EventForOutput const &event, ParameterSetID const &selectorConfig, bool use_compression, int compression_level, SerializeDataBuffer &data_buffer)
unsigned char uint8
Definition: MsgTools.h:11
unsigned int currentEventSize() const
std::vector< unsigned char > hltbits_
std::unique_ptr< InitMsgBuilder > edm::StreamerOutputModuleBase::serializeRegistry ( )
private

Definition at line 143 of file StreamerOutputModuleBase.cc.

References SerializeDataBuffer::adler32_chksum(), edm::one::OutputModuleBase::branchIDLists(), SerializeDataBuffer::bufferPointer(), edm::Hash< I >::compactForm(), popcon2dropbox::copy(), SerializeDataBuffer::currentSpaceUsed(), edm::one::OutputModuleBase::description(), edm::getAllTriggerNames(), edm::getReleaseVersion(), SerializeDataBuffer::header_buf_, hltsize_, hltTriggerSelections_, dttmaxenums::L, edm::ModuleDescription::mainParameterSetID(), edm::one::OutputModuleBase::moduleDescription(), edm::ModuleDescription::moduleLabel(), outputModuleId_, edm::OutputModule::processName(), edm::one::OutputModuleBase::processName(), findQualityFiles::run, serializeDataBuffer_, serializer_, edm::StreamSerializer::serializeRegistry(), TrackRefitter_38T_cff::src, AlCaHLTBitMon_QueryRunRegistry::string, and edm::one::OutputModuleBase::thinnedAssociationsHelper().

Referenced by beginRun().

143  {
144 
146 
147  // resize bufs_ to reflect space used in serializer_ + header
148  // I just added an overhead for header of 50000 for now
149  unsigned int src_size = serializeDataBuffer_.currentSpaceUsed();
150  unsigned int new_size = src_size + 50000;
151  if(serializeDataBuffer_.header_buf_.size() < new_size) serializeDataBuffer_.header_buf_.resize(new_size);
152 
153  //Build the INIT Message
154  //Following values are strictly DUMMY and will be replaced
155  // once available with Utility function etc.
156  uint32 run = 1;
157 
158  //Get the Process PSet ID
160 
161  //In case we need to print it
162  // cms::Digest dig(toplevel.compactForm());
163  // cms::MD5Result r1 = dig.digest();
164  // std::string hexy = r1.toString();
165  // std::cout << "HEX Representation of Process PSetID: " << hexy << std::endl;
166 
167  Strings hltTriggerNames = getAllTriggerNames();
168  hltsize_ = hltTriggerNames.size();
169 
170  //L1 stays dummy as of today
171  Strings l1_names; //3
172  l1_names.push_back("t1");
173  l1_names.push_back("t10");
174  l1_names.push_back("t2");
175 
176  //Setting the process name to HLT
178 
179  std::string moduleLabel = description().moduleLabel();
180  uLong crc = crc32(0L, Z_NULL, 0);
181  Bytef const* buf = (Bytef const*)(moduleLabel.data());
182  crc = crc32(crc, buf, moduleLabel.length());
183  outputModuleId_ = static_cast<uint32>(crc);
184 
185  auto init_message = std::make_unique<InitMsgBuilder>(
187  run, Version((uint8 const*)toplevel.compactForm().c_str()),
188  getReleaseVersion().c_str() , processName.c_str(),
189  moduleLabel.c_str(), outputModuleId_,
190  hltTriggerNames, hltTriggerSelections_, l1_names,
192 
193  // copy data into the destination message
194  unsigned char* src = serializeDataBuffer_.bufferPointer();
195  std::copy(src, src + src_size, init_message->dataAddress());
196  init_message->setDataLength(src_size);
197  return init_message;
198  }
ParameterSetID const & mainParameterSetID() const
ModuleDescription const & description() const
ThinnedAssociationsHelper const * thinnedAssociationsHelper() const
def copy(args, dbName)
std::vector< std::string > Strings
Definition: MsgTools.h:18
std::string const & processName() const
Definition: OutputModule.h:75
std::string const & moduleLabel() const
unsigned int currentSpaceUsed() const
unsigned char const * bufferPointer() const
int serializeRegistry(SerializeDataBuffer &data_buffer, const BranchIDLists &branchIDLists, ThinnedAssociationsHelper const &thinnedAssociationsHelper)
Hash< ParameterSetType > ParameterSetID
unsigned int uint32
Definition: MsgTools.h:13
std::string getReleaseVersion()
const ModuleDescription & moduleDescription() const
uint32_t adler32_chksum() const
std::string const & processName() const
unsigned char uint8
Definition: MsgTools.h:11
std::vector< std::string > const & getAllTriggerNames()
BranchIDLists const * branchIDLists()
void edm::StreamerOutputModuleBase::setHltMask ( EventForOutput const &  e)
private

Definition at line 208 of file StreamerOutputModuleBase.cc.

References getTriggerResults(), hltbits_, hltsize_, mps_fire::i, edm::HandleBase::isValid(), edm::hlt::Pass, parseEventContent::prod, and trToken_.

Referenced by serializeEvent().

208  {
209 
210  hltbits_.clear(); // If there was something left over from last event
211 
213  //Trig const& prod = getTrigMask(e);
214  std::vector<unsigned char> vHltState;
215 
216  if (prod.isValid()) {
218  vHltState.push_back(((prod->at(i)).state()));
219  }
220  } else {
221  // We fill all Trigger bits to valid state.
223  vHltState.push_back(hlt::Pass);
224  }
225  }
226  //Pack into member hltbits_
227  packIntoString(vHltState, hltbits_);
228 
229  //This is Just a printing code.
230  //std::cout << "Size of hltbits:" << hltbits_.size() << std::endl;
231  //for(unsigned int i=0; i != hltbits_.size() ; ++i) {
232  // printBits(hltbits_[i]);
233  //}
234  //std::cout << "\n";
235  }
Trig getTriggerResults(EDGetTokenT< TriggerResults > const &token, EventForOutput const &e) const
uint16_t size_type
accept
Definition: HLTenums.h:19
edm::EDGetTokenT< edm::TriggerResults > trToken_
std::vector< unsigned char > hltbits_
void edm::StreamerOutputModuleBase::setLumiSection ( )
private

Definition at line 239 of file StreamerOutputModuleBase.cc.

References lumi_, lumiSectionInterval_, and timeInSecSinceUTC.

Referenced by serializeEvent().

239  {
240  struct timeval now;
241  struct timezone dummyTZ;
242  gettimeofday(&now, &dummyTZ);
243  double timeInSec = static_cast<double>(now.tv_sec) + (static_cast<double>(now.tv_usec)/1000000.0) - timeInSecSinceUTC;
244  // what about overflows?
245  if(lumiSectionInterval_ > 0) lumi_ = static_cast<uint32>(timeInSec/lumiSectionInterval_) + 1;
246  }
unsigned int uint32
Definition: MsgTools.h:13
virtual void edm::StreamerOutputModuleBase::start ( )
privatepure virtual
virtual void edm::StreamerOutputModuleBase::stop ( )
privatepure virtual
void edm::StreamerOutputModuleBase::write ( EventForOutput const &  e)
overrideprivatevirtual

Implements edm::one::OutputModuleBase.

Definition at line 137 of file StreamerOutputModuleBase.cc.

References doOutputEvent(), mps_check::msg, and serializeEvent().

137  {
138  std::unique_ptr<EventMsgBuilder> msg = serializeEvent(e);
139  doOutputEvent(*msg); // You can't use msg in StreamerOutputModuleBase after this point
140  }
std::unique_ptr< EventMsgBuilder > serializeEvent(EventForOutput const &e)
virtual void doOutputEvent(EventMsgBuilder const &msg)=0
tuple msg
Definition: mps_check.py:277
void edm::StreamerOutputModuleBase::writeLuminosityBlock ( LuminosityBlockForOutput const &  )
overrideprivatevirtual

Implements edm::one::OutputModuleBase.

Definition at line 134 of file StreamerOutputModuleBase.cc.

134 {}
void edm::StreamerOutputModuleBase::writeRun ( RunForOutput const &  )
overrideprivatevirtual

Implements edm::one::OutputModuleBase.

Definition at line 131 of file StreamerOutputModuleBase.cc.

131 {}

Member Data Documentation

int edm::StreamerOutputModuleBase::compressionLevel_
private

Definition at line 49 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), and StreamerOutputModuleBase().

std::vector<unsigned char> edm::StreamerOutputModuleBase::hltbits_
private

Definition at line 63 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), and setHltMask().

unsigned int edm::StreamerOutputModuleBase::hltsize_
private

Definition at line 60 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), serializeRegistry(), and setHltMask().

Strings edm::StreamerOutputModuleBase::hltTriggerSelections_
private

Definition at line 68 of file StreamerOutputModuleBase.h.

Referenced by serializeRegistry(), and StreamerOutputModuleBase().

char edm::StreamerOutputModuleBase::host_name_[255]
private

Definition at line 65 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), and StreamerOutputModuleBase().

std::vector<bool> edm::StreamerOutputModuleBase::l1bit_
private

Definition at line 62 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent().

uint32 edm::StreamerOutputModuleBase::lumi_
private

Definition at line 61 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), and setLumiSection().

int edm::StreamerOutputModuleBase::lumiSectionInterval_
private

Definition at line 52 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), and setLumiSection().

int edm::StreamerOutputModuleBase::maxEventSize_
private

Definition at line 47 of file StreamerOutputModuleBase.h.

Referenced by StreamerOutputModuleBase().

uint32 edm::StreamerOutputModuleBase::origSize_
private

Definition at line 64 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent().

uint32 edm::StreamerOutputModuleBase::outputModuleId_
private

Definition at line 69 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), and serializeRegistry().

SelectedProducts const* edm::StreamerOutputModuleBase::selections_
private

Definition at line 45 of file StreamerOutputModuleBase.h.

SerializeDataBuffer edm::StreamerOutputModuleBase::serializeDataBuffer_
private
StreamSerializer edm::StreamerOutputModuleBase::serializer_
private

Definition at line 55 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), and serializeRegistry().

double edm::StreamerOutputModuleBase::timeInSecSinceUTC
private

Definition at line 53 of file StreamerOutputModuleBase.h.

Referenced by setLumiSection(), and StreamerOutputModuleBase().

edm::EDGetTokenT<edm::TriggerResults> edm::StreamerOutputModuleBase::trToken_
private

Definition at line 67 of file StreamerOutputModuleBase.h.

Referenced by setHltMask().

bool edm::StreamerOutputModuleBase::useCompression_
private

Definition at line 48 of file StreamerOutputModuleBase.h.

Referenced by serializeEvent(), and StreamerOutputModuleBase().