CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/FWCore/Framework/src/TriggerResultInserter.h

Go to the documentation of this file.
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