00001 #ifndef TopHLTDiMuonDQM_H 00002 #define TopHLTDiMuonDQM_H 00003 00004 /* 00005 * $Date: 2010/08/13 09:12:05 $ 00006 * $Revision: 1.9 $ 00007 * \author M. Marienfeld - DESY Hamburg 00008 */ 00009 00010 #include <string> 00011 #include <vector> 00012 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 #include "FWCore/Framework/interface/Event.h" 00015 #include "FWCore/Framework/interface/EventSetup.h" 00016 #include "FWCore/Framework/interface/Frameworkfwd.h" 00017 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00018 #include "FWCore/Utilities/interface/InputTag.h" 00019 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00020 #include "FWCore/ServiceRegistry/interface/Service.h" 00021 #include "FWCore/Utilities/interface/EDMException.h" 00022 00023 #include "DQMServices/Core/interface/DQMStore.h" 00024 #include "DQMServices/Core/interface/MonitorElement.h" 00025 00026 #include "DataFormats/Math/interface/deltaR.h" 00027 #include "DataFormats/Math/interface/deltaPhi.h" 00028 #include "DataFormats/Common/interface/Handle.h" 00029 #include "DataFormats/Common/interface/TriggerResults.h" 00030 #include "DataFormats/Common/interface/Ref.h" 00031 #include "DataFormats/HLTReco/interface/TriggerObject.h" 00032 #include "DataFormats/HLTReco/interface/TriggerEvent.h" 00033 #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h" 00034 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h" 00035 #include "DataFormats/Candidate/interface/Particle.h" 00036 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h" 00037 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h" 00038 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h" 00039 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h" 00040 #include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" 00041 #include "DataFormats/TrackReco/interface/Track.h" 00042 #include "DataFormats/MuonReco/interface/Muon.h" 00043 #include "DataFormats/MuonReco/interface/MuonFwd.h" 00044 #include "DataFormats/MuonReco/interface/MuonEnergy.h" 00045 #include "DataFormats/MuonReco/interface/MuonIsolation.h" 00046 #include "DataFormats/VertexReco/interface/Vertex.h" 00047 #include "DataFormats/VertexReco/interface/VertexFwd.h" 00048 00049 #include "HLTrigger/HLTfilters/interface/HLTHighLevel.h" 00050 00051 class TopHLTDiMuonDQM : public edm::EDAnalyzer { 00052 00053 public: 00054 00055 TopHLTDiMuonDQM( const edm::ParameterSet& ); 00056 ~TopHLTDiMuonDQM(); 00057 00058 protected: 00059 00060 void beginJob(); 00061 void beginRun(const edm::Run&, const edm::EventSetup&); 00062 void beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&); 00063 00064 void analyze(const edm::Event&, const edm::EventSetup&); 00065 00066 void endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&); 00067 void endRun(const edm::Run&, const edm::EventSetup&); 00068 void endJob(); 00069 00070 private: 00071 00072 DQMStore * dbe_; 00073 std::string monitorName_; 00074 00075 edm::InputTag triggerResults_; 00076 edm::InputTag triggerEvent_; 00077 edm::InputTag triggerFilter_; 00078 00079 edm::InputTag vertex_; 00080 edm::InputTag muons_; 00081 00082 std::vector<std::string> hltPaths_L1_; 00083 std::vector<std::string> hltPaths_L3_; 00084 std::vector<std::string> hltPaths_sig_; 00085 std::vector<std::string> hltPaths_trig_; 00086 00087 double vertex_X_cut_; 00088 double vertex_Y_cut_; 00089 double vertex_Z_cut_; 00090 00091 double muon_pT_cut_; 00092 double muon_eta_cut_; 00093 double muon_iso_cut_; 00094 00095 double MassWindow_up_; 00096 double MassWindow_down_; 00097 00098 MonitorElement * Trigs; 00099 MonitorElement * NTracks; 00100 MonitorElement * NMuons; 00101 MonitorElement * NMuons_charge; 00102 MonitorElement * NMuons_iso; 00103 MonitorElement * PtMuons; 00104 MonitorElement * PtMuons_LOGX; 00105 MonitorElement * EtaMuons; 00106 MonitorElement * PhiMuons; 00107 MonitorElement * CombRelIso03; 00108 MonitorElement * VxVy_muons; 00109 MonitorElement * Vz_muons; 00110 MonitorElement * PixelHits_muons; 00111 MonitorElement * TrackerHits_muons; 00112 00113 MonitorElement * TriggerEfficiencies; 00114 MonitorElement * TriggerEfficiencies_sig; 00115 MonitorElement * TriggerEfficiencies_trig; 00116 00117 MonitorElement * MuonEfficiency_pT; 00118 MonitorElement * MuonEfficiency_pT_sig; 00119 MonitorElement * MuonEfficiency_pT_trig; 00120 00121 MonitorElement * MuonEfficiency_pT_LOGX; 00122 MonitorElement * MuonEfficiency_pT_LOGX_sig; 00123 MonitorElement * MuonEfficiency_pT_LOGX_trig; 00124 00125 MonitorElement * MuonEfficiency_eta; 00126 MonitorElement * MuonEfficiency_eta_sig; 00127 MonitorElement * MuonEfficiency_eta_trig; 00128 00129 MonitorElement * MuonEfficiency_phi; 00130 MonitorElement * MuonEfficiency_phi_sig; 00131 MonitorElement * MuonEfficiency_phi_trig; 00132 00133 MonitorElement * DiMuonMassRC; 00134 MonitorElement * DiMuonMassWC; 00135 MonitorElement * DiMuonMassRC_LOGX; 00136 MonitorElement * DiMuonMassWC_LOGX; 00137 00138 MonitorElement * DeltaEtaMuonsRC; 00139 MonitorElement * DeltaPhiMuonsRC; 00140 MonitorElement * DeltaEtaMuonsWC; 00141 MonitorElement * DeltaPhiMuonsWC; 00142 00143 MonitorElement * DeltaR_Trig; 00144 MonitorElement * DeltaR_Reco; 00145 MonitorElement * DeltaR_Match; 00146 MonitorElement * Trigger_Match; 00147 00148 }; 00149 00150 #endif