00001 #ifndef MuonRecoOneHLT_H 00002 #define MuonRecoOneHLT_H 00003 00004 00005 #include <memory> 00006 #include <fstream> 00007 #include "FWCore/Framework/interface/Frameworkfwd.h" 00008 #include "DQMOffline/Muon/src/MuonAnalyzerBase.h" 00009 #include "FWCore/Framework/interface/Event.h" 00010 #include "FWCore/Framework/interface/MakerMacros.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 #include "FWCore/ServiceRegistry/interface/Service.h" 00013 #include "DQMServices/Core/interface/DQMStore.h" 00014 #include "DQMServices/Core/interface/MonitorElement.h" 00015 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h" 00016 00017 #include "DataFormats/Common/interface/TriggerResults.h" 00018 #include "DataFormats/HLTReco/interface/TriggerEvent.h" 00019 #include "DataFormats/HLTReco/interface/TriggerObject.h" 00020 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h" 00021 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" 00022 00023 #include "CommonTools/TriggerUtils/interface/GenericTriggerEventFlag.h" 00024 00025 class MuonRecoOneHLT : public MuonAnalyzerBase { 00026 public: 00027 00029 MuonRecoOneHLT(const edm::ParameterSet&, MuonServiceProxy *theService); 00030 00032 virtual ~MuonRecoOneHLT(); 00033 00035 void beginJob(DQMStore *dbe); 00036 void beginRun(const edm::Run& iRun, const edm::EventSetup& iSetup); 00037 00039 // void analyze(const edm::Event&, const edm::EventSetup&, const reco::Muon&, const edm::TriggerResults&); 00040 void analyze(const edm::Event&, const edm::EventSetup&, const edm::TriggerResults&); 00041 00042 private: 00043 // ----------member data --------------------------- 00044 edm::ParameterSet parameters; 00045 // Switch for verbosity 00046 std::string metname; 00047 // STA Label 00048 edm::InputTag theMuonCollectionLabel; 00049 edm::InputTag theSTACollectionLabel; 00050 00051 std::vector<std::string> singlemuonExpr_; 00052 std::vector<std::string> doublemuonExpr_; 00053 GenericTriggerEventFlag *_SingleMuonEventFlag; 00054 GenericTriggerEventFlag *_DoubleMuonEventFlag; 00055 00056 //histo binning parameters 00057 int ptBin; 00058 float ptMin; 00059 float ptMax; 00060 00061 int etaBin; 00062 float etaMin; 00063 float etaMax; 00064 00065 int phiBin; 00066 float phiMin; 00067 float phiMax; 00068 00069 int chi2Bin; 00070 float chi2Min; 00071 float chi2Max; 00072 00073 //the histos 00074 MonitorElement* muReco; 00075 00076 // global muon 00077 std::vector<MonitorElement*> etaGlbTrack; 00078 std::vector<MonitorElement*> phiGlbTrack; 00079 std::vector<MonitorElement*> chi2OvDFGlbTrack; 00080 std::vector<MonitorElement*> ptGlbTrack; 00081 00082 // tight muon 00083 MonitorElement* etaTight; 00084 MonitorElement* phiTight; 00085 MonitorElement* chi2OvDFTight; 00086 MonitorElement* ptTight; 00087 00088 // tracker muon 00089 MonitorElement* etaTrack; 00090 MonitorElement* phiTrack; 00091 MonitorElement* chi2OvDFTrack; 00092 MonitorElement* ptTrack; 00093 // sta muon 00094 MonitorElement* etaStaTrack; 00095 MonitorElement* phiStaTrack; 00096 MonitorElement* chi2OvDFStaTrack; 00097 MonitorElement* ptStaTrack; 00098 00099 }; 00100 #endif