File indexing completed on 2023-03-17 10:55:50
0001 #ifndef TopDiLeptonDQM_H
0002 #define TopDiLeptonDQM_H
0003
0004 #include <string>
0005 #include <vector>
0006 #include <iostream>
0007 #include <fstream>
0008
0009 #include "FWCore/Framework/interface/Event.h"
0010 #include "FWCore/Framework/interface/Frameworkfwd.h"
0011 #include "FWCore/Utilities/interface/InputTag.h"
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 #include "FWCore/Framework/interface/MakerMacros.h"
0014 #include "FWCore/ServiceRegistry/interface/Service.h"
0015 #include "FWCore/Utilities/interface/EDMException.h"
0016
0017 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0018 #include "DQMServices/Core/interface/DQMStore.h"
0019
0020 #include "DataFormats/Common/interface/Ref.h"
0021 #include "DataFormats/Common/interface/Handle.h"
0022 #include "DataFormats/Common/interface/TriggerResults.h"
0023 #include "DataFormats/MuonReco/interface/Muon.h"
0024 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0025 #include "DataFormats/MuonReco/interface/MuonEnergy.h"
0026 #include "DataFormats/MuonReco/interface/MuonIsolation.h"
0027 #include "DataFormats/EgammaCandidates/interface/Electron.h"
0028 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
0029 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
0030 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
0031 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
0032 #include "DataFormats/VertexReco/interface/Vertex.h"
0033 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0034
0035 class TH1F;
0036 class TH2F;
0037
0038 class TopDiLeptonDQM : public DQMEDAnalyzer {
0039 public:
0040 explicit TopDiLeptonDQM(const edm::ParameterSet&);
0041 ~TopDiLeptonDQM() override;
0042
0043 protected:
0044 void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0045
0046 private:
0047 void analyze(const edm::Event&, const edm::EventSetup&) override;
0048
0049 std::string moduleName_;
0050 std::string outputFile_;
0051 edm::EDGetTokenT<edm::TriggerResults> triggerResults_;
0052 std::vector<std::string> hltPaths_;
0053 std::vector<std::string> hltPaths_sig_;
0054 std::vector<std::string> hltPaths_trig_;
0055
0056 std::ofstream outfile;
0057
0058 int N_sig[100];
0059 int N_trig[100];
0060 float Eff[100];
0061
0062 int N_mumu;
0063 int N_muel;
0064 int N_elel;
0065
0066 edm::EDGetTokenT<reco::VertexCollection> vertex_;
0067 double vertex_X_cut_;
0068 double vertex_Y_cut_;
0069 double vertex_Z_cut_;
0070
0071 edm::EDGetTokenT<reco::MuonCollection> muons_;
0072 double muon_pT_cut_;
0073 double muon_eta_cut_;
0074 double muon_iso_cut_;
0075
0076 edm::EDGetTokenT<reco::GsfElectronCollection> elecs_;
0077 double elec_pT_cut_;
0078 double elec_eta_cut_;
0079 double elec_iso_cut_;
0080 double elec_emf_cut_;
0081
0082 double MassWindow_up_;
0083 double MassWindow_down_;
0084
0085 MonitorElement* Events_;
0086 MonitorElement* Trigs_;
0087 MonitorElement* TriggerEff_;
0088 MonitorElement* Ntracks_;
0089
0090 MonitorElement* Nmuons_;
0091 MonitorElement* Nmuons_iso_;
0092 MonitorElement* Nmuons_charge_;
0093 MonitorElement* VxVy_muons_;
0094 MonitorElement* Vz_muons_;
0095 MonitorElement* pT_muons_;
0096 MonitorElement* eta_muons_;
0097 MonitorElement* phi_muons_;
0098
0099 MonitorElement* Nelecs_;
0100 MonitorElement* Nelecs_iso_;
0101 MonitorElement* Nelecs_charge_;
0102 MonitorElement* HoverE_elecs_;
0103 MonitorElement* pT_elecs_;
0104 MonitorElement* eta_elecs_;
0105 MonitorElement* phi_elecs_;
0106
0107 MonitorElement* MuIso_emEt03_;
0108 MonitorElement* MuIso_hadEt03_;
0109 MonitorElement* MuIso_hoEt03_;
0110 MonitorElement* MuIso_nJets03_;
0111 MonitorElement* MuIso_nTracks03_;
0112 MonitorElement* MuIso_sumPt03_;
0113 MonitorElement* MuIso_CombRelIso03_;
0114
0115 MonitorElement* ElecIso_cal_;
0116 MonitorElement* ElecIso_trk_;
0117 MonitorElement* ElecIso_CombRelIso_;
0118
0119 MonitorElement* dimassRC_;
0120 MonitorElement* dimassWC_;
0121 MonitorElement* dimassRC_LOGX_;
0122 MonitorElement* dimassWC_LOGX_;
0123 MonitorElement* dimassRC_LOG10_;
0124 MonitorElement* dimassWC_LOG10_;
0125
0126 MonitorElement* D_eta_muons_;
0127 MonitorElement* D_phi_muons_;
0128 MonitorElement* D_eta_elecs_;
0129 MonitorElement* D_phi_elecs_;
0130 MonitorElement* D_eta_lepts_;
0131 MonitorElement* D_phi_lepts_;
0132 };
0133
0134 #endif
0135
0136
0137
0138
0139