00001 #include <iostream> 00002 00003 #include "HLTrigger/HLTanalyzers/interface/EventHeader.h" 00004 #include "HLTrigger/HLTanalyzers/interface/HLTInfo.h" 00005 00006 #include "FWCore/Framework/interface/Frameworkfwd.h" 00007 #include "FWCore/Framework/interface/MakerMacros.h" 00008 #include "FWCore/Framework/interface/EDAnalyzer.h" 00009 #include "FWCore/Framework/interface/Event.h" 00010 #include "FWCore/Framework/interface/EventSetup.h" 00011 #include "FWCore/Framework/interface/ESHandle.h" 00012 00013 #include "FWCore/ParameterSet/interface/Registry.h" 00014 00015 #include "DataFormats/Common/interface/Handle.h" 00016 00017 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h" 00018 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h" 00019 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapRecord.h" 00020 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapFwd.h" 00021 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMap.h" 00022 00023 #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" 00024 00032 class HLTBitAnalyzer : public edm::EDAnalyzer { 00033 public: 00034 explicit HLTBitAnalyzer(edm::ParameterSet const& conf); 00035 virtual void analyze(edm::Event const& e, edm::EventSetup const& iSetup); 00036 virtual void endJob(); 00037 virtual void beginRun(edm::Run const&, edm::EventSetup const&); 00038 00039 // static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); 00040 00041 // Analysis tree to be filled 00042 TTree *HltTree; 00043 00044 private: 00045 // variables persistent across events should be declared here. 00046 // 00048 00049 EventHeader evt_header_; 00050 HLTInfo hlt_analysis_; 00051 00052 edm::InputTag hltresults_,genEventInfo_; 00053 std::string l1extramc_, l1extramu_; 00054 edm::InputTag m_l1extramu; 00055 edm::InputTag m_l1extraemi; 00056 edm::InputTag m_l1extraemn; 00057 edm::InputTag m_l1extrajetc; 00058 edm::InputTag m_l1extrajetf; 00059 edm::InputTag m_l1extrajet; 00060 edm::InputTag m_l1extrataujet; 00061 edm::InputTag m_l1extramet; 00062 edm::InputTag m_l1extramht; 00063 00064 edm::InputTag gtReadoutRecord_,gtObjectMap_; 00065 edm::InputTag gctBitCounts_,gctRingSums_; 00066 00067 int errCnt; 00068 static int errMax() { return 5; } 00069 00070 std::string _HistName; // Name of histogram file 00071 double _EtaMin,_EtaMax; 00072 TFile* m_file; // pointer to Histogram file 00073 bool _UseTFileService; 00074 00075 };