00001 #ifndef PhysicsTools_PatAlgos_PATTriggerProducer_h 00002 #define PhysicsTools_PatAlgos_PATTriggerProducer_h 00003 00004 00005 // -*- C++ -*- 00006 // 00007 // Package: PatAlgos 00008 // Class: pat::PATTriggerProducer 00009 // 00010 // $Id: PATTriggerProducer.h,v 1.16 2011/02/22 18:29:50 vadler Exp $ 00011 // 00040 #include "FWCore/Framework/interface/Frameworkfwd.h" 00041 #include "FWCore/Framework/interface/EDProducer.h" 00042 00043 #include <string> 00044 00045 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00046 #include "FWCore/Utilities/interface/InputTag.h" 00047 00048 #include "L1Trigger/GlobalTriggerAnalyzer/interface/L1GtUtils.h" 00049 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" 00050 00051 00052 namespace pat { 00053 00054 class PATTriggerProducer : public edm::EDProducer { 00055 00056 public: 00057 00058 explicit PATTriggerProducer( const edm::ParameterSet & iConfig ); 00059 ~PATTriggerProducer() {}; 00060 00061 private: 00062 00063 virtual void beginRun( edm::Run & iRun, const edm::EventSetup & iSetup ); 00064 virtual void beginLuminosityBlock( edm::LuminosityBlock & iLuminosityBlock, const edm::EventSetup & iSetup ); 00065 virtual void produce( edm::Event & iEvent, const edm::EventSetup & iSetup ); 00066 00067 std::string nameProcess_; // configuration 00068 bool autoProcessName_; 00069 bool onlyStandAlone_; // configuration 00070 // L1 00071 L1GtUtils l1GtUtils_; 00072 bool addL1Algos_; // configuration (optional with default) 00073 edm::InputTag tagL1GlobalTriggerObjectMapRecord_; // configuration (optional with default) 00074 edm::InputTag tagL1ExtraMu_; // configuration (optional) 00075 edm::InputTag tagL1ExtraNoIsoEG_; // configuration (optional) 00076 edm::InputTag tagL1ExtraIsoEG_; // configuration (optional) 00077 edm::InputTag tagL1ExtraCenJet_; // configuration (optional) 00078 edm::InputTag tagL1ExtraForJet_; // configuration (optional) 00079 edm::InputTag tagL1ExtraTauJet_; // configuration (optional) 00080 edm::InputTag tagL1ExtraETM_; // configuration (optional) 00081 edm::InputTag tagL1ExtraHTM_; // configuration (optional) 00082 bool autoProcessNameL1ExtraMu_; 00083 bool autoProcessNameL1ExtraNoIsoEG_; 00084 bool autoProcessNameL1ExtraIsoEG_; 00085 bool autoProcessNameL1ExtraCenJet_; 00086 bool autoProcessNameL1ExtraForJet_; 00087 bool autoProcessNameL1ExtraTauJet_; 00088 bool autoProcessNameL1ExtraETM_; 00089 bool autoProcessNameL1ExtraHTM_; 00090 bool mainBxOnly_; // configuration (optional with default) 00091 bool saveL1Refs_; // configuration (optional with default) 00092 // HLT 00093 HLTConfigProvider hltConfig_; 00094 bool hltConfigInit_; 00095 edm::InputTag tagTriggerResults_; // configuration (optional with default) 00096 edm::InputTag tagTriggerEvent_; // configuration (optional with default) 00097 std::string hltPrescaleLabel_; // configuration (optional) 00098 std::string labelHltPrescaleTable_; // configuration (optional) 00099 trigger::HLTPrescaleTable hltPrescaleTableRun_; 00100 trigger::HLTPrescaleTable hltPrescaleTableLumi_; 00101 bool addPathModuleLabels_; // configuration (optional with default) 00102 std::vector< std::string > exludeCollections_; // configuration (optional) 00103 00104 }; 00105 00106 } 00107 00108 00109 #endif