TopDiLeptonDQM

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
#ifndef TopDiLeptonDQM_H
#define TopDiLeptonDQM_H

#include <string>
#include <vector>
#include <iostream>
#include <fstream>

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Utilities/interface/InputTag.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "FWCore/Utilities/interface/EDMException.h"

#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "DQMServices/Core/interface/DQMStore.h"

#include "DataFormats/Common/interface/Ref.h"
#include "DataFormats/Common/interface/Handle.h"
#include "DataFormats/Common/interface/TriggerResults.h"
#include "DataFormats/MuonReco/interface/Muon.h"
#include "DataFormats/MuonReco/interface/MuonFwd.h"
#include "DataFormats/MuonReco/interface/MuonEnergy.h"
#include "DataFormats/MuonReco/interface/MuonIsolation.h"
#include "DataFormats/EgammaCandidates/interface/Electron.h"
#include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
#include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
#include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
#include "DataFormats/VertexReco/interface/Vertex.h"
#include "DataFormats/VertexReco/interface/VertexFwd.h"

class TH1F;
class TH2F;

class TopDiLeptonDQM : public DQMEDAnalyzer {
public:
  explicit TopDiLeptonDQM(const edm::ParameterSet&);
  ~TopDiLeptonDQM() override;

protected:
  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;

private:
  void analyze(const edm::Event&, const edm::EventSetup&) override;

  std::string moduleName_;
  std::string outputFile_;
  edm::EDGetTokenT<edm::TriggerResults> triggerResults_;
  std::vector<std::string> hltPaths_;
  std::vector<std::string> hltPaths_sig_;
  std::vector<std::string> hltPaths_trig_;

  std::ofstream outfile;

  int N_sig[100];
  int N_trig[100];
  float Eff[100];

  int N_mumu;
  int N_muel;
  int N_elel;

  edm::EDGetTokenT<reco::VertexCollection> vertex_;
  double vertex_X_cut_;
  double vertex_Y_cut_;
  double vertex_Z_cut_;

  edm::EDGetTokenT<reco::MuonCollection> muons_;
  double muon_pT_cut_;
  double muon_eta_cut_;
  double muon_iso_cut_;

  edm::EDGetTokenT<reco::GsfElectronCollection> elecs_;
  double elec_pT_cut_;
  double elec_eta_cut_;
  double elec_iso_cut_;
  double elec_emf_cut_;

  double MassWindow_up_;
  double MassWindow_down_;

  MonitorElement* Events_;
  MonitorElement* Trigs_;
  MonitorElement* TriggerEff_;
  MonitorElement* Ntracks_;

  MonitorElement* Nmuons_;
  MonitorElement* Nmuons_iso_;
  MonitorElement* Nmuons_charge_;
  MonitorElement* VxVy_muons_;
  MonitorElement* Vz_muons_;
  MonitorElement* pT_muons_;
  MonitorElement* eta_muons_;
  MonitorElement* phi_muons_;

  MonitorElement* Nelecs_;
  MonitorElement* Nelecs_iso_;
  MonitorElement* Nelecs_charge_;
  MonitorElement* HoverE_elecs_;
  MonitorElement* pT_elecs_;
  MonitorElement* eta_elecs_;
  MonitorElement* phi_elecs_;

  MonitorElement* MuIso_emEt03_;
  MonitorElement* MuIso_hadEt03_;
  MonitorElement* MuIso_hoEt03_;
  MonitorElement* MuIso_nJets03_;
  MonitorElement* MuIso_nTracks03_;
  MonitorElement* MuIso_sumPt03_;
  MonitorElement* MuIso_CombRelIso03_;

  MonitorElement* ElecIso_cal_;
  MonitorElement* ElecIso_trk_;
  MonitorElement* ElecIso_CombRelIso_;

  MonitorElement* dimassRC_;
  MonitorElement* dimassWC_;
  MonitorElement* dimassRC_LOGX_;
  MonitorElement* dimassWC_LOGX_;
  MonitorElement* dimassRC_LOG10_;
  MonitorElement* dimassWC_LOG10_;

  MonitorElement* D_eta_muons_;
  MonitorElement* D_phi_muons_;
  MonitorElement* D_eta_elecs_;
  MonitorElement* D_phi_elecs_;
  MonitorElement* D_eta_lepts_;
  MonitorElement* D_phi_lepts_;
};

#endif

/* Local Variables: */
/* show-trailing-whitespace: t */
/* truncate-lines: t */
/* End: */