CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/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 
00036 class TH1F;
00037 class TH2F;
00038 class TopDiLeptonDQM : public edm::EDAnalyzer {
00039 
00040   public:
00041 
00042     explicit TopDiLeptonDQM(const edm::ParameterSet&);
00043     ~TopDiLeptonDQM();
00044 
00045   protected:
00046 
00047     void beginRun(const edm::Run&, const edm::EventSetup&);
00048     void endRun(  const edm::Run&, const edm::EventSetup&);
00049 
00050   private:
00051 
00052     void initialize();
00053     virtual void beginJob();
00054     virtual void analyze(const edm::Event&, const edm::EventSetup&);
00055     virtual void endJob();
00056        
00057     DQMStore * dbe_;
00058     bool fileOutput_;
00059 
00060     std::string moduleName_;
00061     std::string outputFile_;
00062     edm::InputTag triggerResults_;
00063     std::vector<std::string> hltPaths_;
00064     std::vector<std::string> hltPaths_sig_;
00065     std::vector<std::string> hltPaths_trig_;
00066 
00067     std::ofstream outfile;
00068 
00069     int N_sig[100];
00070     int N_trig[100];
00071     float Eff[100];
00072 
00073     int N_mumu;
00074     int N_muel;
00075     int N_elel;
00076 
00077     edm::InputTag vertex_;
00078     double vertex_X_cut_;
00079     double vertex_Y_cut_;
00080     double vertex_Z_cut_;
00081 
00082     edm::InputTag muons_;
00083     double muon_pT_cut_;
00084     double muon_eta_cut_;
00085     double muon_iso_cut_;
00086 
00087     edm::InputTag elecs_;
00088     double elec_pT_cut_;
00089     double elec_eta_cut_;
00090     double elec_iso_cut_;
00091     double elec_emf_cut_;
00092 
00093     double MassWindow_up_;
00094     double MassWindow_down_;
00095 
00096     MonitorElement * Events_;
00097     MonitorElement * Trigs_;
00098     MonitorElement * TriggerEff_;
00099     MonitorElement * Ntracks_;
00100 
00101     MonitorElement * Nmuons_;
00102     MonitorElement * Nmuons_iso_;
00103     MonitorElement * Nmuons_charge_;
00104     MonitorElement * VxVy_muons_;
00105     MonitorElement * Vz_muons_;
00106     MonitorElement * pT_muons_;
00107     MonitorElement * eta_muons_;
00108     MonitorElement * phi_muons_;
00109 
00110     MonitorElement * Nelecs_;
00111     MonitorElement * Nelecs_iso_;
00112     MonitorElement * Nelecs_charge_;
00113     MonitorElement * HoverE_elecs_;
00114     MonitorElement * pT_elecs_;
00115     MonitorElement * eta_elecs_;
00116     MonitorElement * phi_elecs_;
00117 
00118     MonitorElement * MuIso_emEt03_;
00119     MonitorElement * MuIso_hadEt03_;
00120     MonitorElement * MuIso_hoEt03_;
00121     MonitorElement * MuIso_nJets03_;
00122     MonitorElement * MuIso_nTracks03_;
00123     MonitorElement * MuIso_sumPt03_;
00124     MonitorElement * MuIso_CombRelIso03_;
00125 
00126     MonitorElement * ElecIso_cal_;
00127     MonitorElement * ElecIso_trk_;
00128     MonitorElement * ElecIso_CombRelIso_;
00129 
00130     MonitorElement * dimassRC_;
00131     MonitorElement * dimassWC_;
00132     MonitorElement * dimassRC_LOGX_;
00133     MonitorElement * dimassWC_LOGX_;
00134     MonitorElement * dimassRC_LOG10_;
00135     MonitorElement * dimassWC_LOG10_;
00136 
00137     MonitorElement * D_eta_muons_;
00138     MonitorElement * D_phi_muons_;
00139     MonitorElement * D_eta_elecs_;
00140     MonitorElement * D_phi_elecs_;
00141     MonitorElement * D_eta_lepts_;
00142     MonitorElement * D_phi_lepts_;
00143 
00144 };
00145 
00146 #endif