00001 #ifndef MuonKinVsEtaAnalyzer_H 00002 #define MuonKinVsEtaAnalyzer_H 00003 00004 00015 #include <memory> 00016 #include <fstream> 00017 #include "FWCore/Framework/interface/Frameworkfwd.h" 00018 #include "DQMOffline/Muon/src/MuonAnalyzerBase.h" 00019 #include "FWCore/Framework/interface/Event.h" 00020 #include "FWCore/Framework/interface/MakerMacros.h" 00021 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00022 #include "FWCore/ServiceRegistry/interface/Service.h" 00023 #include "DQMServices/Core/interface/DQMStore.h" 00024 #include "DQMServices/Core/interface/MonitorElement.h" 00025 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h" 00026 00027 00028 class MuonKinVsEtaAnalyzer : public MuonAnalyzerBase { 00029 public: 00030 00032 MuonKinVsEtaAnalyzer(const edm::ParameterSet&, MuonServiceProxy *theService); 00033 00035 virtual ~MuonKinVsEtaAnalyzer(); 00036 00038 void beginJob(DQMStore *dbe); 00039 00041 void analyze(const edm::Event&, const edm::EventSetup&, const reco::Muon& recoMu); 00042 00043 00044 private: 00045 // ----------member data --------------------------- 00046 00047 edm::ParameterSet parameters; 00048 // Switch for verbosity 00049 std::string metname; 00050 // STA Label 00051 edm::InputTag theSTACollectionLabel; 00052 00053 //histo binning parameters 00054 int pBin; 00055 double pMin; 00056 double pMax; 00057 00058 int ptBin; 00059 double ptMin; 00060 double ptMax; 00061 00062 int etaBin; 00063 double etaMin; 00064 double etaMax; 00065 00066 int phiBin; 00067 double phiMin; 00068 double phiMax; 00069 00070 //Defining relevant eta regions 00071 double EtaCutMin; 00072 double EtaCutMax; 00073 double etaBMin; 00074 double etaBMax; 00075 double etaECMin; 00076 double etaECMax; 00077 double etaOvlpMin; 00078 double etaOvlpMax; 00079 00080 //the histos 00081 // global muon 00082 std::vector<MonitorElement*> etaGlbTrack; 00083 std::vector<MonitorElement*> phiGlbTrack; 00084 std::vector<MonitorElement*> pGlbTrack; 00085 std::vector<MonitorElement*> ptGlbTrack; 00086 00087 // tracker muon 00088 std::vector<MonitorElement*> etaTrack; 00089 std::vector<MonitorElement*> phiTrack; 00090 std::vector<MonitorElement*> pTrack; 00091 std::vector<MonitorElement*> ptTrack; 00092 00093 // sta muon 00094 std::vector<MonitorElement*> etaStaTrack; 00095 std::vector<MonitorElement*> phiStaTrack; 00096 std::vector<MonitorElement*> pStaTrack; 00097 std::vector<MonitorElement*> ptStaTrack; 00098 00099 // GMPT muon 00100 std::vector<MonitorElement*> etaTightTrack; 00101 std::vector<MonitorElement*> phiTightTrack; 00102 std::vector<MonitorElement*> pTightTrack; 00103 std::vector<MonitorElement*> ptTightTrack; 00104 00105 }; 00106 #endif