CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/Physics/src/TopDiLeptonDQM.h

Go to the documentation of this file.
00001 #ifndef TopDiLeptonDQM_H
00002 #define TopDiLeptonDQM_H
00003 
00004 #include <string>
00005 #include <vector>
00006 #include <iostream>
00007 #include <fstream>
00008 
00009 #include "FWCore/Framework/interface/EDAnalyzer.h"
00010 #include "FWCore/Framework/interface/Event.h"
00011 #include "FWCore/Framework/interface/Frameworkfwd.h"
00012 #include "FWCore/Utilities/interface/InputTag.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "FWCore/Framework/interface/MakerMacros.h"
00015 #include "FWCore/ServiceRegistry/interface/Service.h"
00016 #include "FWCore/Utilities/interface/EDMException.h"
00017 
00018 #include "DQMServices/Core/interface/DQMStore.h"
00019 #include "DQMServices/Core/interface/MonitorElement.h"
00020 
00021 #include "DataFormats/Common/interface/Ref.h"
00022 #include "DataFormats/Common/interface/Handle.h"
00023 #include "DataFormats/Common/interface/TriggerResults.h"
00024 #include "DataFormats/MuonReco/interface/Muon.h"
00025 #include "DataFormats/MuonReco/interface/MuonFwd.h" 
00026 #include "DataFormats/MuonReco/interface/MuonEnergy.h"
00027 #include "DataFormats/MuonReco/interface/MuonIsolation.h"
00028 #include "DataFormats/EgammaCandidates/interface/Electron.h"
00029 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
00030 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
00031 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
00032 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
00033 #include "DataFormats/VertexReco/interface/Vertex.h"
00034 #include "DataFormats/VertexReco/interface/VertexFwd.h"
00035 #include "HLTrigger/HLTfilters/interface/HLTHighLevel.h"
00036 
00037 class TH1F;
00038 class TH2F;
00039 class TopDiLeptonDQM : public edm::EDAnalyzer {
00040 
00041   public:
00042 
00043     explicit TopDiLeptonDQM(const edm::ParameterSet&);
00044     ~TopDiLeptonDQM();
00045 
00046   protected:
00047 
00048     void beginRun(const edm::Run&, const edm::EventSetup&);
00049     void endRun(  const edm::Run&, const edm::EventSetup&);
00050 
00051   private:
00052 
00053     void initialize();
00054     virtual void beginJob();
00055     virtual void analyze(const edm::Event&, const edm::EventSetup&);
00056     virtual void endJob();
00057        
00058     DQMStore * dbe_;
00059     bool fileOutput_;
00060 
00061     std::string moduleName_;
00062     std::string outputFile_;
00063     edm::InputTag triggerResults_;
00064     std::vector<std::string> hltPaths_;
00065     std::vector<std::string> hltPaths_sig_;
00066     std::vector<std::string> hltPaths_trig_;
00067 
00068     std::ofstream outfile;
00069 
00070     int N_sig[100];
00071     int N_trig[100];
00072     float Eff[100];
00073 
00074     int N_mumu;
00075     int N_muel;
00076     int N_elel;
00077 
00078     edm::InputTag vertex_;
00079     double vertex_X_cut_;
00080     double vertex_Y_cut_;
00081     double vertex_Z_cut_;
00082 
00083     edm::InputTag muons_;
00084     double muon_pT_cut_;
00085     double muon_eta_cut_;
00086     double muon_iso_cut_;
00087 
00088     edm::InputTag elecs_;
00089     double elec_pT_cut_;
00090     double elec_eta_cut_;
00091     double elec_iso_cut_;
00092     double elec_emf_cut_;
00093 
00094     double MassWindow_up_;
00095     double MassWindow_down_;
00096 
00097     MonitorElement * Events_;
00098     MonitorElement * Trigs_;
00099     MonitorElement * TriggerEff_;
00100     MonitorElement * Ntracks_;
00101 
00102     MonitorElement * Nmuons_;
00103     MonitorElement * Nmuons_iso_;
00104     MonitorElement * Nmuons_charge_;
00105     MonitorElement * VxVy_muons_;
00106     MonitorElement * Vz_muons_;
00107     MonitorElement * pT_muons_;
00108     MonitorElement * eta_muons_;
00109     MonitorElement * phi_muons_;
00110 
00111     MonitorElement * Nelecs_;
00112     MonitorElement * Nelecs_iso_;
00113     MonitorElement * Nelecs_charge_;
00114     MonitorElement * HoverE_elecs_;
00115     MonitorElement * pT_elecs_;
00116     MonitorElement * eta_elecs_;
00117     MonitorElement * phi_elecs_;
00118 
00119     MonitorElement * MuIso_emEt03_;
00120     MonitorElement * MuIso_hadEt03_;
00121     MonitorElement * MuIso_hoEt03_;
00122     MonitorElement * MuIso_nJets03_;
00123     MonitorElement * MuIso_nTracks03_;
00124     MonitorElement * MuIso_sumPt03_;
00125     MonitorElement * MuIso_CombRelIso03_;
00126 
00127     MonitorElement * ElecIso_cal_;
00128     MonitorElement * ElecIso_trk_;
00129     MonitorElement * ElecIso_CombRelIso_;
00130 
00131     MonitorElement * dimassRC_;
00132     MonitorElement * dimassWC_;
00133     MonitorElement * dimassRC_LOGX_;
00134     MonitorElement * dimassWC_LOGX_;
00135     MonitorElement * dimassRC_LOG10_;
00136     MonitorElement * dimassWC_LOG10_;
00137 
00138     MonitorElement * D_eta_muons_;
00139     MonitorElement * D_phi_muons_;
00140     MonitorElement * D_eta_elecs_;
00141     MonitorElement * D_phi_elecs_;
00142     MonitorElement * D_eta_lepts_;
00143     MonitorElement * D_phi_lepts_;
00144 
00145 };
00146 
00147 #endif