CMS 3D CMS Logo

PhotonMonitor.h
Go to the documentation of this file.
1 #ifndef DQMOFFLINE_TRIGGER_PHOTON_H
2 #define DQMOFFLINE_TRIGGER_PHOTON_H
3 
4 #include <string>
5 #include <vector>
6 
15 
19 
21 
22 //DataFormats
25 
38 
40 
41 struct MEbinning {
42  unsigned int nbins;
43  double xmin;
44  double xmax;
45 };
46 
47 struct PhotonME {
50 };
51 //
52 // class declaration
53 //
54 
56 {
57 public:
59  ~PhotonMonitor() override;
60  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
61  static void fillHistoPSetDescription(edm::ParameterSetDescription & pset);
62  static void fillHistoLSPSetDescription(edm::ParameterSetDescription & pset);
63 protected:
64 
65  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
66  void bookME(DQMStore::IBooker &, PhotonME& me, const std::string& histname, const std::string& histtitle, unsigned int nbins, double xmin, double xmax);
67  void bookME(DQMStore::IBooker &, PhotonME& me, const std::string& histname, const std::string& histtitle, const std::vector<double>& binningX);
68  void bookME(DQMStore::IBooker &, PhotonME& me, const std::string& histname, const std::string& histtitle, unsigned int nbinsX, double xmin, double xmax, double ymin, double ymax);
69  void bookME(DQMStore::IBooker &, PhotonME& me, const std::string& histname, const std::string& histtitle, unsigned int nbinsX, double xmin, double xmax, unsigned int nbinsY, double ymin, double ymax);
70  void bookME(DQMStore::IBooker &, PhotonME& me, const std::string& histname, const std::string& histtitle, const std::vector<double>& binningX, const std::vector<double>& binningY);
71  void setTitle(PhotonME& me, const std::string& titleX, const std::string& titleY);
72 
73  void analyze(edm::Event const& iEvent, edm::EventSetup const& iSetup) override;
74 
75 private:
76  static MEbinning getHistoPSet (edm::ParameterSet const& pset);
77  static MEbinning getHistoLSPSet (edm::ParameterSet const& pset);
78 
81 
86 
87 
88 
89 
90  std::vector<double> photon_variable_binning_;
91  std::vector<double> diphoton_mass_binning_;
92 
95 
104 
113 
114  double MAX_PHI1 = 3.2;
115  unsigned int N_PHI1 = 64;
116  const MEbinning phi_binning_1{
117  N_PHI1, -MAX_PHI1, MAX_PHI1
118  };
119 
120 
121  double MAX_ETA = 1.4442;
122  unsigned int N_ETA = 34;
123  const MEbinning eta_binning_{
124  N_ETA, -MAX_ETA, MAX_ETA
125  };
126 
127 
128 
129  double MAX_r9 = 1;
130  double MIN_r9 = 0;
131  unsigned int N_r9 = 50;
132  const MEbinning r9_binning_{
133  N_r9, MIN_r9, MAX_r9
134  };
135 
136 
137 
138  double MAX_hoe = 0.02;
139  double MIN_hoe= 0;
140  const MEbinning hoe_binning_{
141  N_r9, MIN_hoe, MAX_hoe
142  };
143 
144 
145 
146 
147 
148  // GenericTriggerEventFlag* num_genTriggerEventFlag_;
149  //GenericTriggerEventFlag* den_genTriggerEventFlag_;
150 
151  std::unique_ptr<GenericTriggerEventFlag> num_genTriggerEventFlag_ ;
152  std::unique_ptr<GenericTriggerEventFlag> den_genTriggerEventFlag_ ;
153 
158  unsigned int njets_;
159  unsigned int nphotons_;
160  unsigned int nelectrons_;
161 
162 };
163 
164 #endif // PhotonMonitor_H
MonitorElement * denominator
Definition: PhotonMonitor.h:49
unsigned int nelectrons_
PhotonME photonEtaPhiME_
def analyze(function, filename, filter=None)
Definition: Profiling.py:11
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
PhotonME subphotonME_variableBinning_
Definition: PhotonMonitor.h:99
MEbinning ls_binning_
Definition: PhotonMonitor.h:94
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
PhotonME photonVsLS_
StringCutObjectSelector< reco::PFJet, true > jetSelection_
PhotonME subphotonPhiME_
Definition: PhotonMonitor.h:98
PhotonME photonME_variableBinning_
PhotonME photonr9ME_
StringCutObjectSelector< reco::Photon, true > photonSelection_
MEbinning photon_binning_
Definition: PhotonMonitor.h:93
void bookHistograms(fwlite::EventContainer &eventCont)
MonitorElement * numerator
Definition: PhotonMonitor.h:48
int iEvent
Definition: GenABIO.cc:230
PhotonME diphotonMassME_
std::string folderName_
Definition: PhotonMonitor.h:79
StringCutObjectSelector< reco::MET, true > metSelection_
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
edm::EDGetTokenT< reco::PhotonCollection > photonToken_
Definition: PhotonMonitor.h:85
PhotonME photonHoverEME_
double xmin
Definition: LumiMonitor.h:30
PhotonME photonPhiME_
std::vector< double > diphoton_mass_binning_
Definition: PhotonMonitor.h:91
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: PhotonMonitor.h:82
PhotonME subphotonHoverEME_
PhotonME subphotonME_
Definition: PhotonMonitor.h:97
PhotonME photonEtaME_
PhotonME subphotonEtaME_
Definition: PhotonMonitor.h:96
unsigned int nphotons_
PhotonME subphotonr9ME_
PhotonME subphotonEtaPhiME_
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: PhotonMonitor.h:83
unsigned int njets_
PhotonME photonME_
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
Definition: PhotonMonitor.h:84
std::vector< double > photon_variable_binning_
Definition: PhotonMonitor.h:90
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
std::string histoSuffix_
Definition: PhotonMonitor.h:80
Definition: Run.h:43
double xmax
Definition: LumiMonitor.h:31