CMS 3D CMS Logo

TriggerResultInserter.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_TriggerResultsInserter_h
2 #define FWCore_Framework_TriggerResultsInserter_h
3 
4 /*
5  Author: Jim Kowalkowski 15-1-06
6 
7  This is an unusual module in that it is always present in the
8  schedule and it is not configurable.
9  The ownership of the bitmask is shared with the scheduler
10  Its purpose is to create a TriggerResults instance and insert it into
11  the event.
12 
13 */
14 
15 #include <vector>
16 
20 
21 #include <memory>
22 
23 namespace edm
24 {
25  class ParameterSet;
26  class Event;
27  class EventSetup;
28  class HLTGlobalStatus;
29  class TriggerResults;
30 
32  {
33  public:
34 
35  typedef std::shared_ptr<HLTGlobalStatus> TrigResPtr;
36 
37  // standard constructor not supported for this module
38  explicit TriggerResultInserter(edm::ParameterSet const& ps);
39 
40  // the pset needed here is the one that defines the trigger path names
41  TriggerResultInserter(edm::ParameterSet const& ps, unsigned int iNStreams);
42 
43  void setTrigResultForStream(unsigned int iStreamIndex,
44  const TrigResPtr& trptr);
45  void produce(StreamID id, edm::Event& e, edm::EventSetup const& c) const final;
46 
47  private:
48  std::vector<edm::propagate_const<TrigResPtr>> resultsPerStream_;
49 
52  };
53 }
54 #endif
std::shared_ptr< HLTGlobalStatus > TrigResPtr
void produce(StreamID id, edm::Event &e, edm::EventSetup const &c) const final
TriggerResultInserter(edm::ParameterSet const &ps)
void setTrigResultForStream(unsigned int iStreamIndex, const TrigResPtr &trptr)
EDPutTokenT< TriggerResults > token_
HLT enums.
std::vector< edm::propagate_const< TrigResPtr > > resultsPerStream_