00001 #ifndef EwkMuDQM_H 00002 #define EwkMuDQM_H 00003 00010 #include "FWCore/Framework/interface/Frameworkfwd.h" 00011 #include "FWCore/Framework/interface/MakerMacros.h" 00012 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" 00013 00014 #include "FWCore/Framework/interface/EDAnalyzer.h" 00015 #include "FWCore/Utilities/interface/InputTag.h" 00016 00017 class DQMStore; 00018 class MonitorElement; 00019 class EwkMuDQM : public edm::EDAnalyzer { 00020 public: 00021 EwkMuDQM (const edm::ParameterSet &); 00022 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00023 virtual void beginJob(); 00024 virtual void endJob(); 00025 virtual void beginRun(const edm::Run&, const edm::EventSetup&); 00026 virtual void endRun(const edm::Run&, const edm::EventSetup&); 00027 00028 void init_histograms(); 00029 private: 00030 00031 edm::InputTag trigTag_; 00032 edm::InputTag muonTag_; 00033 edm::InputTag metTag_; 00034 edm::InputTag jetTag_; 00035 edm::InputTag phoTag_; 00036 edm::InputTag pfPhoTag_; 00037 edm::InputTag vertexTag_; 00038 std::vector <std::string> trigPathNames_; 00039 00040 bool isAlsoTrackerMuon_; 00041 double dxyCut_; 00042 double normalizedChi2Cut_; 00043 int trackerHitsCut_; 00044 int pixelHitsCut_; 00045 int muonHitsCut_; 00046 int nMatchesCut_; 00047 00048 bool isRelativeIso_; 00049 bool isCombinedIso_; 00050 double isoCut03_; 00051 00052 double acopCut_; 00053 double metMin_; 00054 double metMax_; 00055 double mtMin_; 00056 double mtMax_; 00057 00058 double ptCut_; 00059 double etaCut_; 00060 00061 double ptThrForZ1_; 00062 double ptThrForZ2_; 00063 00064 double dimuonMassMin_; 00065 double dimuonMassMax_; 00066 00067 double eJetMin_; 00068 int nJetMax_; 00069 00070 double ptThrForPhoton_; 00071 int nPhoMax_ ; 00072 00073 bool isValidHltConfig_; 00074 HLTConfigProvider hltConfigProvider_; 00075 00076 unsigned int nall; 00077 unsigned int nrec; 00078 unsigned int niso; 00079 unsigned int nhlt; 00080 unsigned int nmet; 00081 unsigned int nsel; 00082 unsigned int nz ; 00083 00084 DQMStore* theDbe; 00085 00086 MonitorElement* pt_before_; 00087 MonitorElement* pt_after_; 00088 MonitorElement* eta_before_; 00089 MonitorElement* eta_after_; 00090 MonitorElement* dxy_before_; 00091 MonitorElement* dxy_after_; 00092 MonitorElement* goodewkmuon_before_; 00093 MonitorElement* goodewkmuon_after_; 00094 MonitorElement* iso_before_; 00095 MonitorElement* iso_after_; 00096 MonitorElement* trig_before_; 00097 MonitorElement* trig_after_; 00098 MonitorElement* mt_before_; 00099 MonitorElement* mt_after_; 00100 MonitorElement* met_before_; 00101 MonitorElement* met_after_; 00102 MonitorElement* acop_before_; 00103 MonitorElement* acop_after_; 00104 00105 MonitorElement* njets_before_; 00106 MonitorElement* njets_after_; 00107 MonitorElement* njets_afterZ_; 00108 MonitorElement* leadingjet_pt_before_; 00109 MonitorElement* leadingjet_pt_after_; 00110 MonitorElement* leadingjet_pt_afterZ_; 00111 MonitorElement* leadingjet_eta_before_; 00112 MonitorElement* leadingjet_eta_after_; 00113 MonitorElement* leadingjet_eta_afterZ_; 00114 00115 //MonitorElement* ptPlus_before_; 00116 //MonitorElement* ptMinus_before_; 00117 MonitorElement* ptDiffPM_before_; 00118 //MonitorElement* ptPlus_afterW_; 00119 //MonitorElement* ptMinus_afterW_; 00120 //MonitorElement* ptPlus_afterZ_; 00121 //MonitorElement* ptMinus_afterZ_; 00122 MonitorElement* ptDiffPM_afterZ_; 00123 00124 MonitorElement* met_afterZ_; 00125 MonitorElement* pt1_afterZ_; 00126 MonitorElement* eta1_afterZ_; 00127 MonitorElement* dxy1_afterZ_; 00128 MonitorElement* goodewkmuon1_afterZ_; 00129 MonitorElement* iso1_afterZ_; 00130 MonitorElement* pt2_afterZ_; 00131 MonitorElement* eta2_afterZ_; 00132 MonitorElement* dxy2_afterZ_; 00133 MonitorElement* goodewkmuon2_afterZ_; 00134 MonitorElement* iso2_afterZ_; 00135 00136 // filled if there is a Z-candidate 00137 MonitorElement* n_zselPt1thr_; // number of muons in the event with pt>pt1thr 00138 MonitorElement* n_zselPt2thr_; // number of muons in the event with pt>pt2thr 00139 00140 MonitorElement* ztrig_afterZ_; 00141 MonitorElement* dimuonmass_before_; 00142 MonitorElement* dimuonmass_afterZ_; 00143 00144 MonitorElement* npvs_before_; 00145 MonitorElement* npvs_after_; 00146 MonitorElement* npvs_afterZ_; 00147 00148 MonitorElement* muoncharge_before_; 00149 MonitorElement* muoncharge_after_; 00150 MonitorElement* muoncharge_afterZ_; 00151 00152 MonitorElement* nmuons_; 00153 MonitorElement* ngoodmuons_; 00154 00155 MonitorElement* npfph_; 00156 MonitorElement* nph_; 00157 MonitorElement* pfphPt_; 00158 MonitorElement* phPt_; 00159 MonitorElement* pfphEta_; 00160 MonitorElement* phEta_; 00161 00162 }; 00163 00164 #endif