CMS 3D CMS Logo

StreamerOutputMsgBuilders.h
Go to the documentation of this file.
1 #ifndef IOPool_Streamer_StreamerOutputMsgBuilders_h
2 #define IOPool_Streamer_StreamerOutputMsgBuilders_h
3 
9 #include <memory>
10 #include <vector>
11 
12 namespace edm {
13  class EventForOutput;
14  class ThinnedAssociationsHelper;
15  class TriggerResults;
16  class ParameterSet;
18 
19  namespace streamer {
20  class InitMsgBuilder;
21  class EventMsgBuilder;
22 
24  public:
25  struct Parameters {
31  };
32 
33  static Parameters parameters(ParameterSet const& ps);
34 
35  explicit StreamerOutputMsgBuilders(Parameters const& p,
37  std::string const& moduleLabel);
38 
41 
42  std::unique_ptr<InitMsgBuilder> serializeRegistry(SerializeDataBuffer& sbuf,
43  std::string const& processName,
44  std::string const& moduleLabel,
45  ParameterSetID const& toplevel,
46  SendJobHeader::ParameterSetMap const* psetMap) const;
47 
48  std::pair<std::unique_ptr<EventMsgBuilder>, uint32_t> serializeEventMetaData(
49  SerializeDataBuffer& sbuf, BranchIDLists const& branchLists, ThinnedAssociationsHelper const& helper) const;
50 
51  std::unique_ptr<EventMsgBuilder> serializeEvent(SerializeDataBuffer& sbuf,
52  EventForOutput const& e,
54  ParameterSetID const& selectorCfg,
55  uint32_t eventMetaDataChecksum) const;
56 
57  private:
58  std::unique_ptr<EventMsgBuilder> serializeEventCommon(uint32 run,
59  uint32 lumi,
60  uint64 event,
61  std::vector<unsigned char> hltbits,
62  unsigned int hltsize,
63  SerializeDataBuffer& sbuf) const;
64 
65  void setHltMask(EventForOutput const& e,
67  std::vector<unsigned char>& hltbits) const;
68 
70 
75 
77 
78  // test luminosity sections
81 
82  unsigned int hltsize_;
83  char host_name_[255];
84 
87 
88  uint32_t eventMetaDataChecksum_ = 0;
89  }; //end-of-class-def
90  } // namespace streamer
91 } // namespace edm
92 
93 #endif
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
Definition: helper.py:1
std::map< ParameterSetID, ParameterSetBlob > ParameterSetMap
std::unique_ptr< EventMsgBuilder > serializeEventCommon(uint32 run, uint32 lumi, uint64 event, std::vector< unsigned char > hltbits, unsigned int hltsize, SerializeDataBuffer &sbuf) const
void setHltMask(EventForOutput const &e, Handle< TriggerResults > const &triggerResults, std::vector< unsigned char > &hltbits) const
std::vector< std::pair< BranchDescription const *, EDGetToken > > SelectedProducts
static void fillDescription(ParameterSetDescription &desc)
std::unique_ptr< EventMsgBuilder > serializeEvent(SerializeDataBuffer &sbuf, EventForOutput const &e, Handle< TriggerResults > const &triggerResults, ParameterSetID const &selectorCfg, uint32_t eventMetaDataChecksum) const
StreamerOutputMsgBuilders(Parameters const &p, SelectedProducts const *selections, std::string const &moduleLabel)
static Parameters parameters(ParameterSet const &ps)
static std::string const triggerResults("TriggerResults")
unsigned long long uint64
Definition: MsgTools.h:15
std::vector< std::string > Strings
Definition: MsgTools.h:19
HLT enums.
unsigned int uint32
Definition: MsgTools.h:14
Definition: event.py:1
std::pair< std::unique_ptr< EventMsgBuilder >, uint32_t > serializeEventMetaData(SerializeDataBuffer &sbuf, BranchIDLists const &branchLists, ThinnedAssociationsHelper const &helper) const
std::unique_ptr< InitMsgBuilder > serializeRegistry(SerializeDataBuffer &sbuf, std::string const &processName, std::string const &moduleLabel, ParameterSetID const &toplevel, SendJobHeader::ParameterSetMap const *psetMap) const