00001 #ifndef FWCore_Framework_TriggerResultsInserter_h 00002 #define FWCore_Framework_TriggerResultsInserter_h 00003 00004 /* 00005 Author: Jim Kowalkowski 15-1-06 00006 00007 This is an unusual module in that it is always present in the 00008 schedule and it is not configurable. 00009 The ownership of the bitmask is shared with the scheduler 00010 Its purpose is to create a TriggerResults instance and insert it into 00011 the event. 00012 00013 */ 00014 00015 #include "FWCore/Framework/interface/EDProducer.h" 00016 #include "DataFormats/Provenance/interface/ParameterSetID.h" 00017 00018 #include "boost/shared_ptr.hpp" 00019 00020 namespace edm 00021 { 00022 class ParameterSet; 00023 class Event; 00024 class EventSetup; 00025 class HLTGlobalStatus; 00026 00027 class TriggerResultInserter : public edm::EDProducer 00028 { 00029 public: 00030 00031 typedef boost::shared_ptr<HLTGlobalStatus> TrigResPtr; 00032 00033 // standard constructor not supported for this module 00034 explicit TriggerResultInserter(edm::ParameterSet const& ps); 00035 00036 // the pset needed here is the one that defines the trigger path names 00037 TriggerResultInserter(edm::ParameterSet const& ps, const TrigResPtr& trptr); 00038 virtual ~TriggerResultInserter(); 00039 00040 virtual void produce(edm::Event& e, edm::EventSetup const& c); 00041 00042 private: 00043 TrigResPtr trptr_; 00044 00045 ParameterSetID pset_id_; 00046 }; 00047 } 00048 #endif