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  class ParameterSet;
25  class Event;
26  class EventSetup;
27  class HLTGlobalStatus;
28  class TriggerResults;
29 
31  public:
32  typedef std::shared_ptr<HLTGlobalStatus> TrigResPtr;
33 
34  // standard constructor not supported for this module
35  explicit TriggerResultInserter(edm::ParameterSet const& ps);
36 
37  // the pset needed here is the one that defines the trigger path names
38  TriggerResultInserter(edm::ParameterSet const& ps, unsigned int iNStreams);
39 
40  void setTrigResultForStream(unsigned int iStreamIndex, const TrigResPtr& trptr);
41  void produce(StreamID id, edm::Event& e, edm::EventSetup const& c) const final;
42 
43  private:
44  std::vector<edm::propagate_const<TrigResPtr>> resultsPerStream_;
45 
48  };
49 } // namespace edm
50 #endif
std::shared_ptr< HLTGlobalStatus > TrigResPtr
TriggerResultInserter(edm::ParameterSet const &ps)
void produce(StreamID id, edm::Event &e, edm::EventSetup const &c) const final
void setTrigResultForStream(unsigned int iStreamIndex, const TrigResPtr &trptr)
EDPutTokenT< TriggerResults > token_
HLT enums.
std::vector< edm::propagate_const< TrigResPtr > > resultsPerStream_