File indexing completed on 2024-04-06 12:09:40
0001 #include "DQMOffline/Muon/interface/EfficiencyPlotter.h"
0002
0003
0004 #include <FWCore/Framework/interface/Event.h>
0005 #include "DataFormats/Common/interface/Handle.h"
0006 #include <FWCore/Framework/interface/ESHandle.h>
0007 #include <FWCore/Framework/interface/MakerMacros.h>
0008 #include <FWCore/Framework/interface/EventSetup.h>
0009 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0010
0011 #include "DQMServices/Core/interface/DQMStore.h"
0012 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0013 #include "FWCore/Framework/interface/Run.h"
0014
0015 #include <iostream>
0016 #include <cstdio>
0017 #include <string>
0018 #include <cmath>
0019 #include "TF1.h"
0020 #include "TH1F.h"
0021
0022 using namespace edm;
0023 using namespace std;
0024
0025
0026
0027 EfficiencyPlotter::EfficiencyPlotter(const edm::ParameterSet &ps) {
0028 #ifdef DEBUG
0029 cout << "EfficiencyPlotter(): Constructor " << endl;
0030 #endif
0031 parameters = ps;
0032
0033 etaBin = parameters.getParameter<int>("etaBin");
0034 etaMin = parameters.getParameter<double>("etaMin");
0035 etaMax = parameters.getParameter<double>("etaMax");
0036
0037 phiBin = parameters.getParameter<int>("phiBin");
0038 phiMin = parameters.getParameter<double>("phiMin");
0039 phiMax = parameters.getParameter<double>("phiMax");
0040
0041 ptBin = parameters.getParameter<int>("ptBin");
0042 ptMin = parameters.getParameter<double>("ptMin");
0043 ptMax = parameters.getParameter<double>("ptMax");
0044
0045 vtxBin = parameters.getParameter<int>("vtxBin");
0046 vtxMin = parameters.getParameter<double>("vtxMin");
0047 vtxMax = parameters.getParameter<double>("vtxMax");
0048
0049 ID_ = parameters.getParameter<string>("MuonID");
0050 theFolder = parameters.getParameter<string>("folder");
0051 }
0052 EfficiencyPlotter::~EfficiencyPlotter() {}
0053
0054 void EfficiencyPlotter::dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) {
0055 ibooker.setCurrentFolder(theFolder);
0056
0057
0058 h_eff_eta_ID = ibooker.book1D("Eff_eta_" + ID_, ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax);
0059 h_eff_inner_pt_ID = ibooker.book1D("Eff_inner_pt_" + ID_, ID_ + " Eff. vs pt", ptBin, ptMin, ptMax);
0060 h_eff_inner_eta_ID = ibooker.book1D("Eff_inner_eta_" + ID_, ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax);
0061 h_eff_inner_phi_ID = ibooker.book1D("Eff_inner_phi_" + ID_, ID_ + " Eff. vs #phi", phiBin, phiMin, phiMax);
0062 h_eff_hp_eta_ID =
0063 ibooker.book1D("Eff_hp_eta_" + ID_, "High Pt (Pt>20)" + ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax);
0064 h_eff_phi_ID = ibooker.book1D("Eff_phi_" + ID_, ID_ + " Eff. vs #phi", phiBin, phiMin, phiMax);
0065 h_eff_pt_ID = ibooker.book1D("Eff_pt_" + ID_, ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax);
0066 h_eff_pt_EB_ID = ibooker.book1D("Eff_pt_EB_" + ID_, "Barrel: " + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax);
0067 h_eff_pt_EE_ID = ibooker.book1D("Eff_pt_EE_" + ID_, "Endcap: " + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax);
0068 h_eff_pt_detIsoID = ibooker.book1D("Eff_pt_detIso" + ID_, "detIso" + ID_ + " Efficiency vs Pt", ptBin, ptMin, ptMax);
0069 h_eff_pt_EB_detIsoID =
0070 ibooker.book1D("Eff_pt_EB_detIso" + ID_, "Barrel: detIso" + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax);
0071 h_eff_pt_EE_detIsoID =
0072 ibooker.book1D("Eff_pt_EE_detIso" + ID_, "Endcap: detIso" + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax);
0073 h_eff_pt_pfIsoID = ibooker.book1D("Eff_pt_pfIso" + ID_, "pfIso" + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax);
0074 h_eff_pt_EB_pfIsoID =
0075 ibooker.book1D("Eff_pt_EB_pfIso" + ID_, "Barrel: pfIso" + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax);
0076 h_eff_pt_EE_pfIsoID =
0077 ibooker.book1D("Eff_pt_EE_pfIso" + ID_, "Endcap: pfIso" + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax);
0078 h_eff_vtx_detIsoID = ibooker.book1D("Eff_vtx_detIso" + ID_, "detIso" + ID_ + " Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0079 h_eff_vtx_pfIsoID = ibooker.book1D("Eff_vtx_pfIso" + ID_, "pfIso" + ID_ + " Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0080 h_eff_vtx_EB_detIsoID =
0081 ibooker.book1D("Eff_vtx_EB_detIso" + ID_, "Barrel: detIso" + ID_ + " Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0082 h_eff_vtx_EB_pfIsoID =
0083 ibooker.book1D("Eff_vtx_EB_pfIso" + ID_, "Barrel: pfIso" + ID_ + " Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0084 h_eff_vtx_EE_detIsoID =
0085 ibooker.book1D("Eff_vtx_EE_detIso" + ID_, "Endcap: detIso" + ID_ + " Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0086 h_eff_vtx_EE_pfIsoID =
0087 ibooker.book1D("Eff_vtx_EE_pfIso" + ID_, "Endcap: pfIso" + ID_ + " Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0088
0089 h_eff_pt_pfIsodBID =
0090 ibooker.book1D("Eff_pt_pfIsodB" + ID_, "pfIso" + ID_ + " (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
0091 h_eff_pt_EB_pfIsodBID =
0092 ibooker.book1D("Eff_pt_EB_pfIsodB" + ID_, "Barrel: pfIso" + ID_ + " (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
0093 h_eff_pt_EE_pfIsodBID =
0094 ibooker.book1D("Eff_pt_EE_pfIsodB" + ID_, "Endcap: pfIso" + ID_ + " (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
0095 h_eff_vtx_pfIsodBID =
0096 ibooker.book1D("Eff_vtx_pfIsodB" + ID_, "pfIso" + ID_ + " (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0097 h_eff_vtx_EB_pfIsodBID = ibooker.book1D(
0098 "Eff_vtx_EB_pfIsodB" + ID_, "Barrel: pfIso" + ID_ + " (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0099 h_eff_vtx_EE_pfIsodBID = ibooker.book1D(
0100 "Eff_vtx_EE_pfIsodB" + ID_, "Endcap: pfIso" + ID_ + " (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
0101
0102
0103 h_eff_eta_ID->setEfficiencyFlag();
0104 h_eff_inner_eta_ID->setEfficiencyFlag();
0105 h_eff_inner_pt_ID->setEfficiencyFlag();
0106 h_eff_inner_phi_ID->setEfficiencyFlag();
0107 h_eff_hp_eta_ID->setEfficiencyFlag();
0108 h_eff_phi_ID->setEfficiencyFlag();
0109 h_eff_pt_ID->setEfficiencyFlag();
0110 h_eff_pt_EB_ID->setEfficiencyFlag();
0111 h_eff_pt_EE_ID->setEfficiencyFlag();
0112 h_eff_pt_detIsoID->setEfficiencyFlag();
0113 h_eff_pt_EB_detIsoID->setEfficiencyFlag();
0114 h_eff_pt_EE_detIsoID->setEfficiencyFlag();
0115 h_eff_pt_pfIsoID->setEfficiencyFlag();
0116 h_eff_pt_EB_pfIsoID->setEfficiencyFlag();
0117 h_eff_pt_EE_pfIsoID->setEfficiencyFlag();
0118 h_eff_vtx_detIsoID->setEfficiencyFlag();
0119 h_eff_vtx_pfIsoID->setEfficiencyFlag();
0120 h_eff_vtx_EB_detIsoID->setEfficiencyFlag();
0121 h_eff_vtx_EB_pfIsoID->setEfficiencyFlag();
0122 h_eff_vtx_EE_detIsoID->setEfficiencyFlag();
0123 h_eff_vtx_EE_pfIsoID->setEfficiencyFlag();
0124
0125 h_eff_pt_pfIsodBID->setEfficiencyFlag();
0126 h_eff_pt_EB_pfIsodBID->setEfficiencyFlag();
0127 h_eff_pt_EE_pfIsodBID->setEfficiencyFlag();
0128 h_eff_vtx_pfIsodBID->setEfficiencyFlag();
0129 h_eff_vtx_EB_pfIsodBID->setEfficiencyFlag();
0130 h_eff_vtx_EE_pfIsodBID->setEfficiencyFlag();
0131
0132
0133 h_eff_hp_eta_ID->setAxisTitle("#eta", 1);
0134 h_eff_inner_eta_ID->setAxisTitle("#eta", 1);
0135 h_eff_inner_pt_ID->setAxisTitle("#eta", 1);
0136 h_eff_inner_phi_ID->setAxisTitle("#eta", 1);
0137 h_eff_eta_ID->setAxisTitle("#eta", 1);
0138 h_eff_phi_ID->setAxisTitle("#phi", 1);
0139 h_eff_pt_ID->setAxisTitle("p_{T} (GeV)", 1);
0140 h_eff_pt_EB_ID->setAxisTitle("p_{T} (GeV)", 1);
0141 h_eff_pt_EE_ID->setAxisTitle("p_{T} (GeV)", 1);
0142 h_eff_pt_detIsoID->setAxisTitle("p_{T} (GeV)", 1);
0143 h_eff_pt_EB_detIsoID->setAxisTitle("p_{T} (GeV)", 1);
0144 h_eff_pt_EE_detIsoID->setAxisTitle("p_{T} (GeV)", 1);
0145 h_eff_pt_pfIsoID->setAxisTitle("p_{T} (GeV)", 1);
0146 h_eff_pt_EB_pfIsoID->setAxisTitle("p_{T} (GeV)", 1);
0147 h_eff_pt_EE_pfIsoID->setAxisTitle("p_{T} (GeV)", 1);
0148 h_eff_vtx_detIsoID->setAxisTitle("Number of PV", 1);
0149 h_eff_vtx_pfIsoID->setAxisTitle("Number of PV", 1);
0150 h_eff_vtx_EB_detIsoID->setAxisTitle("Number of PV", 1);
0151 h_eff_vtx_EB_pfIsoID->setAxisTitle("Number of PV", 1);
0152 h_eff_vtx_EE_detIsoID->setAxisTitle("Number of PV", 1);
0153 h_eff_vtx_EE_pfIsoID->setAxisTitle("Number of PV", 1);
0154
0155 h_eff_pt_pfIsodBID->setAxisTitle("p_{T} (GeV)", 1);
0156 h_eff_pt_EB_pfIsodBID->setAxisTitle("p_{T} (GeV)", 1);
0157 h_eff_pt_EE_pfIsodBID->setAxisTitle("p_{T} (GeV)", 1);
0158 h_eff_vtx_pfIsodBID->setAxisTitle("Number of PV", 1);
0159 h_eff_vtx_EB_pfIsodBID->setAxisTitle("Number of PV", 1);
0160 h_eff_vtx_EE_pfIsodBID->setAxisTitle("Number of PV", 1);
0161
0162
0163 string inputdir = "Muons/EfficiencyAnalyzer/" + ID_;
0164 string numpath_pt = inputdir + "/passProbes_ID_pt";
0165 string denpath_pt = inputdir + "/allProbes_pt";
0166
0167 MonitorElement *Numerator_pt = igetter.get(numpath_pt);
0168 MonitorElement *Denominator_pt = igetter.get(denpath_pt);
0169
0170 if (Numerator_pt && Denominator_pt) {
0171 TH1F *h_numerator_pt = Numerator_pt->getTH1F();
0172 TH1F *h_denominator_pt = Denominator_pt->getTH1F();
0173 TH1F *h_eff_pt = h_eff_pt_ID->getTH1F();
0174
0175 if (h_eff_pt->GetSumw2N() == 0)
0176 h_eff_pt->Sumw2();
0177 h_eff_pt->Divide(h_numerator_pt, h_denominator_pt, 1., 1., "B");
0178 }
0179
0180
0181 string numpath_inner_pt = inputdir + "/passProbes_ID_inner_pt";
0182 string denpath_inner_pt = inputdir + "/allProbes_inner_pt";
0183
0184 MonitorElement *Numerator_inner_pt = igetter.get(numpath_inner_pt);
0185 MonitorElement *Denominator_inner_pt = igetter.get(denpath_inner_pt);
0186
0187 if (Numerator_inner_pt && Denominator_inner_pt) {
0188 TH1F *h_numerator_inner_pt = Numerator_inner_pt->getTH1F();
0189 TH1F *h_denominator_inner_pt = Denominator_inner_pt->getTH1F();
0190 TH1F *h_eff_inner_pt = h_eff_inner_pt_ID->getTH1F();
0191
0192 if (h_eff_inner_pt->GetSumw2N() == 0)
0193 h_eff_inner_pt->Sumw2();
0194 h_eff_inner_pt->Divide(h_numerator_inner_pt, h_denominator_inner_pt, 1., 1., "B");
0195 }
0196
0197
0198 string numpath_inner_eta = inputdir + "/passProbes_ID_inner_eta";
0199 string denpath_inner_eta = inputdir + "/allProbes_inner_eta";
0200
0201 MonitorElement *Numerator_inner_eta = igetter.get(numpath_inner_eta);
0202 MonitorElement *Denominator_inner_eta = igetter.get(denpath_inner_eta);
0203
0204 if (Numerator_inner_eta && Denominator_inner_eta) {
0205 TH1F *h_numerator_inner_eta = Numerator_inner_eta->getTH1F();
0206 TH1F *h_denominator_inner_eta = Denominator_inner_eta->getTH1F();
0207 TH1F *h_eff_inner_eta = h_eff_inner_eta_ID->getTH1F();
0208
0209 if (h_eff_inner_eta->GetSumw2N() == 0)
0210 h_eff_inner_eta->Sumw2();
0211 h_eff_inner_eta->Divide(h_numerator_inner_eta, h_denominator_inner_eta, 1., 1., "B");
0212 }
0213
0214
0215 string numpath_inner_phi = inputdir + "/passProbes_ID_inner_phi";
0216 string denpath_inner_phi = inputdir + "/allProbes_inner_phi";
0217
0218 MonitorElement *Numerator_inner_phi = igetter.get(numpath_inner_phi);
0219 MonitorElement *Denominator_inner_phi = igetter.get(denpath_inner_phi);
0220
0221 if (Numerator_inner_phi && Denominator_inner_phi) {
0222 TH1F *h_numerator_inner_phi = Numerator_inner_phi->getTH1F();
0223 TH1F *h_denominator_inner_phi = Denominator_inner_phi->getTH1F();
0224 TH1F *h_eff_inner_phi = h_eff_inner_phi_ID->getTH1F();
0225
0226 if (h_eff_inner_phi->GetSumw2N() == 0)
0227 h_eff_inner_phi->Sumw2();
0228 h_eff_inner_phi->Divide(h_numerator_inner_phi, h_denominator_inner_phi, 1., 1., "B");
0229 }
0230
0231
0232 string numpath_EB_pt = inputdir + "/passProbes_ID_EB_pt";
0233 string denpath_EB_pt = inputdir + "/allProbes_EB_pt";
0234
0235 MonitorElement *Numerator_EB_pt = igetter.get(numpath_EB_pt);
0236 MonitorElement *Denominator_EB_pt = igetter.get(denpath_EB_pt);
0237
0238 if (Numerator_EB_pt && Denominator_EB_pt) {
0239 TH1F *h_numerator_EB_pt = Numerator_EB_pt->getTH1F();
0240 TH1F *h_denominator_EB_pt = Denominator_EB_pt->getTH1F();
0241 TH1F *h_eff_EB_pt = h_eff_pt_EB_ID->getTH1F();
0242
0243 if (h_eff_EB_pt->GetSumw2N() == 0)
0244 h_eff_EB_pt->Sumw2();
0245 h_eff_EB_pt->Divide(h_numerator_EB_pt, h_denominator_EB_pt, 1., 1., "B");
0246 }
0247
0248
0249 string numpath_EE_pt = inputdir + "/passProbes_ID_EE_pt";
0250 string denpath_EE_pt = inputdir + "/allProbes_EE_pt";
0251
0252 MonitorElement *Numerator_EE_pt = igetter.get(numpath_EE_pt);
0253 MonitorElement *Denominator_EE_pt = igetter.get(denpath_EE_pt);
0254
0255 if (Numerator_EE_pt && Denominator_EE_pt) {
0256 TH1F *h_numerator_EE_pt = Numerator_EE_pt->getTH1F();
0257 TH1F *h_denominator_EE_pt = Denominator_EE_pt->getTH1F();
0258 TH1F *h_eff_EE_pt = h_eff_pt_EE_ID->getTH1F();
0259
0260 if (h_eff_EE_pt->GetSumw2N() == 0)
0261 h_eff_EE_pt->Sumw2();
0262 h_eff_EE_pt->Divide(h_numerator_EE_pt, h_denominator_EE_pt, 1., 1., "B");
0263 }
0264
0265
0266 string numpath_eta = inputdir + "/passProbes_ID_eta";
0267 string denpath_eta = inputdir + "/allProbes_eta";
0268
0269 MonitorElement *Numerator_eta = igetter.get(numpath_eta);
0270 MonitorElement *Denominator_eta = igetter.get(denpath_eta);
0271
0272 if (Numerator_eta && Denominator_eta) {
0273 TH1F *h_numerator_eta = Numerator_eta->getTH1F();
0274 TH1F *h_denominator_eta = Denominator_eta->getTH1F();
0275
0276 TH1F *h_eff_eta = h_eff_eta_ID->getTH1F();
0277
0278 if (h_eff_eta->GetSumw2N() == 0)
0279 h_eff_eta->Sumw2();
0280
0281 h_eff_eta->Divide(h_numerator_eta, h_denominator_eta, 1., 1., "B");
0282 }
0283
0284
0285
0286 string numpath_hp_eta = inputdir + "/passProbes_ID_hp_eta";
0287 string denpath_hp_eta = inputdir + "/allProbes_hp_eta";
0288
0289 MonitorElement *Numerator_hp_eta = igetter.get(numpath_hp_eta);
0290 MonitorElement *Denominator_hp_eta = igetter.get(denpath_hp_eta);
0291
0292 if (Numerator_hp_eta && Denominator_hp_eta) {
0293 TH1F *h_numerator_hp_eta = Numerator_hp_eta->getTH1F();
0294 TH1F *h_denominator_hp_eta = Denominator_hp_eta->getTH1F();
0295
0296 TH1F *h_eff_hp_eta = h_eff_hp_eta_ID->getTH1F();
0297
0298 if (h_eff_hp_eta->GetSumw2N() == 0)
0299 h_eff_hp_eta->Sumw2();
0300
0301 h_eff_hp_eta->Divide(h_numerator_hp_eta, h_denominator_hp_eta, 1., 1., "B");
0302 }
0303
0304
0305
0306 string numpath_phi = inputdir + "/passProbes_ID_phi";
0307 string denpath_phi = inputdir + "/allProbes_phi";
0308
0309 MonitorElement *Numerator_phi = igetter.get(numpath_phi);
0310 MonitorElement *Denominator_phi = igetter.get(denpath_phi);
0311
0312 if (Numerator_phi && Denominator_phi) {
0313 TH1F *h_numerator_phi = Numerator_phi->getTH1F();
0314 TH1F *h_denominator_phi = Denominator_phi->getTH1F();
0315
0316 TH1F *h_eff_phi = h_eff_phi_ID->getTH1F();
0317
0318 if (h_eff_phi->GetSumw2N() == 0)
0319 h_eff_phi->Sumw2();
0320
0321 h_eff_phi->Divide(h_numerator_phi, h_denominator_phi, 1., 1., "B");
0322 }
0323
0324
0325 string numpath_detIso_pt = inputdir + "/passProbes_detIsoID_pt";
0326 string denpath_detIso_pt = inputdir + "/allProbes_ID_pt";
0327
0328 MonitorElement *Numerator_detIso_pt = igetter.get(numpath_detIso_pt);
0329 MonitorElement *Denominator_detIso_pt = igetter.get(denpath_detIso_pt);
0330
0331 if (Numerator_detIso_pt && Denominator_detIso_pt) {
0332 TH1F *h_numerator_detIso_pt = Numerator_detIso_pt->getTH1F();
0333 TH1F *h_denominator_detIso_pt = Denominator_detIso_pt->getTH1F();
0334
0335 TH1F *h_eff_detIso_pt = h_eff_pt_detIsoID->getTH1F();
0336
0337 if (h_eff_detIso_pt->GetSumw2N() == 0)
0338 h_eff_detIso_pt->Sumw2();
0339 h_eff_detIso_pt->Divide(h_numerator_detIso_pt, h_denominator_detIso_pt, 1., 1., "B");
0340 }
0341
0342
0343 string numpath_detIso_EB_pt = inputdir + "/passProbes_EB_detIsoID_pt";
0344 string denpath_detIso_EB_pt = inputdir + "/allProbes_EB_ID_pt";
0345
0346 MonitorElement *Numerator_detIso_EB_pt = igetter.get(numpath_detIso_EB_pt);
0347 MonitorElement *Denominator_detIso_EB_pt = igetter.get(denpath_detIso_EB_pt);
0348
0349 if (Numerator_detIso_EB_pt && Denominator_detIso_EB_pt) {
0350 TH1F *h_numerator_detIso_EB_pt = Numerator_detIso_EB_pt->getTH1F();
0351 TH1F *h_denominator_detIso_EB_pt = Denominator_detIso_EB_pt->getTH1F();
0352
0353 TH1F *h_eff_detIso_EB_pt = h_eff_pt_EB_detIsoID->getTH1F();
0354
0355 if (h_eff_detIso_EB_pt->GetSumw2N() == 0)
0356 h_eff_detIso_EB_pt->Sumw2();
0357
0358 h_eff_detIso_EB_pt->Divide(h_numerator_detIso_EB_pt, h_denominator_detIso_EB_pt, 1., 1., "B");
0359 }
0360
0361
0362 string numpath_detIso_EE_pt = inputdir + "/passProbes_EE_detIsoID_pt";
0363 string denpath_detIso_EE_pt = inputdir + "/allProbes_EE_ID_pt";
0364
0365 MonitorElement *Numerator_detIso_EE_pt = igetter.get(numpath_detIso_EE_pt);
0366 MonitorElement *Denominator_detIso_EE_pt = igetter.get(denpath_detIso_EE_pt);
0367
0368 if (Numerator_detIso_EE_pt && Denominator_detIso_EE_pt) {
0369 TH1F *h_numerator_detIso_EE_pt = Numerator_detIso_EE_pt->getTH1F();
0370 TH1F *h_denominator_detIso_EE_pt = Denominator_detIso_EE_pt->getTH1F();
0371
0372 TH1F *h_eff_detIso_EE_pt = h_eff_pt_EE_detIsoID->getTH1F();
0373
0374 if (h_eff_detIso_EE_pt->GetSumw2N() == 0)
0375 h_eff_detIso_EE_pt->Sumw2();
0376
0377 h_eff_detIso_EE_pt->Divide(h_numerator_detIso_EE_pt, h_denominator_detIso_EE_pt, 1., 1., "B");
0378 }
0379
0380
0381 string numpath_pfIso_pt = inputdir + "/passProbes_pfIsoID_pt";
0382 string denpath_pfIso_pt = inputdir + "/allProbes_ID_pt";
0383
0384 MonitorElement *Numerator_pfIso_pt = igetter.get(numpath_pfIso_pt);
0385 MonitorElement *Denominator_pfIso_pt = igetter.get(denpath_pfIso_pt);
0386
0387 if (Numerator_pfIso_pt && Denominator_pfIso_pt) {
0388 TH1F *h_numerator_pfIso_pt = Numerator_pfIso_pt->getTH1F();
0389 TH1F *h_denominator_pfIso_pt = Denominator_pfIso_pt->getTH1F();
0390
0391 TH1F *h_eff_pfIso_pt = h_eff_pt_pfIsoID->getTH1F();
0392
0393 if (h_eff_pfIso_pt->GetSumw2N() == 0)
0394 h_eff_pfIso_pt->Sumw2();
0395
0396 h_eff_pfIso_pt->Divide(h_numerator_pfIso_pt, h_denominator_pfIso_pt, 1., 1., "B");
0397 }
0398
0399
0400
0401 string numpath_pfIso_EB_pt = inputdir + "/passProbes_EB_pfIsoID_pt";
0402 string denpath_pfIso_EB_pt = inputdir + "/allProbes_EB_ID_pt";
0403
0404 MonitorElement *Numerator_pfIso_EB_pt = igetter.get(numpath_pfIso_EB_pt);
0405 MonitorElement *Denominator_pfIso_EB_pt = igetter.get(denpath_pfIso_EB_pt);
0406
0407 if (Numerator_pfIso_EB_pt && Denominator_pfIso_EB_pt) {
0408 TH1F *h_numerator_pfIso_EB_pt = Numerator_pfIso_EB_pt->getTH1F();
0409 TH1F *h_denominator_pfIso_EB_pt = Denominator_pfIso_EB_pt->getTH1F();
0410
0411 TH1F *h_eff_pfIso_EB_pt = h_eff_pt_EB_pfIsoID->getTH1F();
0412
0413 if (h_eff_pfIso_EB_pt->GetSumw2N() == 0)
0414 h_eff_pfIso_EB_pt->Sumw2();
0415 h_eff_pfIso_EB_pt->Divide(h_numerator_pfIso_EB_pt, h_denominator_pfIso_EB_pt, 1., 1., "B");
0416 }
0417
0418
0419 string numpath_pfIso_EE_pt = inputdir + "/passProbes_EE_pfIsoID_pt";
0420 string denpath_pfIso_EE_pt = inputdir + "/allProbes_EE_ID_pt";
0421
0422 MonitorElement *Numerator_pfIso_EE_pt = igetter.get(numpath_pfIso_EE_pt);
0423 MonitorElement *Denominator_pfIso_EE_pt = igetter.get(denpath_pfIso_EE_pt);
0424
0425 if (Numerator_pfIso_EE_pt && Denominator_pfIso_EE_pt) {
0426 TH1F *h_numerator_pfIso_EE_pt = Numerator_pfIso_EE_pt->getTH1F();
0427 TH1F *h_denominator_pfIso_EE_pt = Denominator_pfIso_EE_pt->getTH1F();
0428
0429 TH1F *h_eff_pfIso_EE_pt = h_eff_pt_EE_pfIsoID->getTH1F();
0430
0431 if (h_eff_pfIso_EE_pt->GetSumw2N() == 0)
0432 h_eff_pfIso_EE_pt->Sumw2();
0433
0434 h_eff_pfIso_EE_pt->Divide(h_numerator_pfIso_EE_pt, h_denominator_pfIso_EE_pt, 1., 1., "B");
0435 }
0436
0437
0438
0439 string numpath_pfIso_nvtx = inputdir + "/passProbes_pfIsoID_nVtx";
0440 string denpath_pfIso_nvtx = inputdir + "/allProbes_ID_nVtx";
0441
0442 MonitorElement *Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
0443 MonitorElement *Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
0444
0445 if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx) {
0446 TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
0447 TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
0448
0449 TH1F *h_eff_pfIso_nvtx = h_eff_vtx_pfIsoID->getTH1F();
0450
0451 if (h_eff_pfIso_nvtx->GetSumw2N() == 0)
0452 h_eff_pfIso_nvtx->Sumw2();
0453
0454 h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
0455 }
0456
0457
0458 string numpath_detIso_nvtx = inputdir + "/passProbes_detIsoID_nVtx";
0459 string denpath_detIso_nvtx = inputdir + "/allProbes_ID_nVtx";
0460
0461 MonitorElement *Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
0462 MonitorElement *Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
0463
0464 if (Numerator_detIso_nvtx && Denominator_detIso_nvtx) {
0465 TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
0466 TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
0467
0468 TH1F *h_eff_detIso_nvtx = h_eff_vtx_detIsoID->getTH1F();
0469
0470 if (h_eff_detIso_nvtx->GetSumw2N() == 0)
0471 h_eff_detIso_nvtx->Sumw2();
0472
0473 h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
0474 }
0475
0476
0477 numpath_detIso_nvtx = inputdir + "/passProbes_EB_detIsoID_nVtx";
0478 denpath_detIso_nvtx = inputdir + "/allProbes_EB_ID_nVtx";
0479
0480 Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
0481 Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
0482
0483 if (Numerator_detIso_nvtx && Denominator_detIso_nvtx) {
0484 TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
0485 TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
0486
0487 TH1F *h_eff_detIso_nvtx = h_eff_vtx_EB_detIsoID->getTH1F();
0488
0489 if (h_eff_detIso_nvtx->GetSumw2N() == 0)
0490 h_eff_detIso_nvtx->Sumw2();
0491 h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
0492 }
0493
0494
0495 numpath_detIso_nvtx = inputdir + "/passProbes_EE_detIsoID_nVtx";
0496 denpath_detIso_nvtx = inputdir + "/allProbes_EE_ID_nVtx";
0497
0498 Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
0499 Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
0500
0501 if (Numerator_detIso_nvtx && Denominator_detIso_nvtx) {
0502 TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
0503 TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
0504
0505 TH1F *h_eff_detIso_nvtx = h_eff_vtx_EE_detIsoID->getTH1F();
0506
0507 if (h_eff_detIso_nvtx->GetSumw2N() == 0)
0508 h_eff_detIso_nvtx->Sumw2();
0509
0510 h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
0511 }
0512
0513
0514 numpath_pfIso_nvtx = inputdir + "/passProbes_EB_pfIsoID_nVtx";
0515 denpath_pfIso_nvtx = inputdir + "/allProbes_EB_ID_nVtx";
0516
0517 Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
0518 Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
0519
0520 if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx) {
0521 TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
0522 TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
0523
0524 TH1F *h_eff_pfIso_nvtx = h_eff_vtx_EB_pfIsoID->getTH1F();
0525
0526 if (h_eff_pfIso_nvtx->GetSumw2N() == 0)
0527 h_eff_pfIso_nvtx->Sumw2();
0528
0529 h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
0530 }
0531
0532
0533 numpath_pfIso_nvtx = inputdir + "/passProbes_EE_pfIsoID_nVtx";
0534 denpath_pfIso_nvtx = inputdir + "/allProbes_EE_ID_nVtx";
0535
0536 Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
0537 Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
0538
0539 if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx) {
0540 TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
0541 TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
0542
0543 TH1F *h_eff_pfIso_nvtx = h_eff_vtx_EE_pfIsoID->getTH1F();
0544
0545 if (h_eff_pfIso_nvtx->GetSumw2N() == 0)
0546 h_eff_pfIso_nvtx->Sumw2();
0547
0548 h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
0549 }
0550
0551
0552 string numpath_pfIsodB_pt = inputdir + "/passProbes_pfIsodBID_pt";
0553 string denpath_pfIsodB_pt = inputdir + "/allProbes_ID_pt";
0554
0555 MonitorElement *Numerator_pfIsodB_pt = igetter.get(numpath_pfIsodB_pt);
0556 MonitorElement *Denominator_pfIsodB_pt = igetter.get(denpath_pfIsodB_pt);
0557
0558 if (Numerator_pfIsodB_pt && Denominator_pfIsodB_pt) {
0559 TH1F *h_numerator_pfIsodB_pt = Numerator_pfIsodB_pt->getTH1F();
0560 TH1F *h_denominator_pfIsodB_pt = Denominator_pfIsodB_pt->getTH1F();
0561
0562 TH1F *h_eff_pfIsodB_pt = h_eff_pt_pfIsodBID->getTH1F();
0563
0564 if (h_eff_pfIsodB_pt->GetSumw2N() == 0)
0565 h_eff_pfIsodB_pt->Sumw2();
0566
0567 h_eff_pfIsodB_pt->Divide(h_numerator_pfIsodB_pt, h_denominator_pfIsodB_pt, 1., 1., "B");
0568 }
0569
0570
0571
0572 string numpath_pfIsodB_EB_pt = inputdir + "/passProbes_EB_pfIsodBID_pt";
0573 string denpath_pfIsodB_EB_pt = inputdir + "/allProbes_EB_ID_pt";
0574
0575 MonitorElement *Numerator_pfIsodB_EB_pt = igetter.get(numpath_pfIsodB_EB_pt);
0576 MonitorElement *Denominator_pfIsodB_EB_pt = igetter.get(denpath_pfIsodB_EB_pt);
0577
0578 if (Numerator_pfIsodB_EB_pt && Denominator_pfIsodB_EB_pt) {
0579 TH1F *h_numerator_pfIsodB_EB_pt = Numerator_pfIsodB_EB_pt->getTH1F();
0580 TH1F *h_denominator_pfIsodB_EB_pt = Denominator_pfIsodB_EB_pt->getTH1F();
0581
0582 TH1F *h_eff_pfIsodB_EB_pt = h_eff_pt_EB_pfIsodBID->getTH1F();
0583
0584 if (h_eff_pfIsodB_EB_pt->GetSumw2N() == 0)
0585 h_eff_pfIsodB_EB_pt->Sumw2();
0586 h_eff_pfIsodB_EB_pt->Divide(h_numerator_pfIsodB_EB_pt, h_denominator_pfIsodB_EB_pt, 1., 1., "B");
0587 }
0588
0589
0590 string numpath_pfIsodB_EE_pt = inputdir + "/passProbes_EE_pfIsodBID_pt";
0591 string denpath_pfIsodB_EE_pt = inputdir + "/allProbes_EE_ID_pt";
0592
0593 MonitorElement *Numerator_pfIsodB_EE_pt = igetter.get(numpath_pfIsodB_EE_pt);
0594 MonitorElement *Denominator_pfIsodB_EE_pt = igetter.get(denpath_pfIsodB_EE_pt);
0595
0596 if (Numerator_pfIsodB_EE_pt && Denominator_pfIsodB_EE_pt) {
0597 TH1F *h_numerator_pfIsodB_EE_pt = Numerator_pfIsodB_EE_pt->getTH1F();
0598 TH1F *h_denominator_pfIsodB_EE_pt = Denominator_pfIsodB_EE_pt->getTH1F();
0599
0600 TH1F *h_eff_pfIsodB_EE_pt = h_eff_pt_EE_pfIsodBID->getTH1F();
0601
0602 if (h_eff_pfIsodB_EE_pt->GetSumw2N() == 0)
0603 h_eff_pfIsodB_EE_pt->Sumw2();
0604
0605 h_eff_pfIsodB_EE_pt->Divide(h_numerator_pfIsodB_EE_pt, h_denominator_pfIsodB_EE_pt, 1., 1., "B");
0606 }
0607
0608
0609
0610 string numpath_pfIsodB_nvtx = inputdir + "/passProbes_pfIsodBID_nVtx";
0611 string denpath_pfIsodB_nvtx = inputdir + "/allProbes_ID_nVtx";
0612
0613 MonitorElement *Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
0614 MonitorElement *Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
0615
0616 if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx) {
0617 TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
0618 TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
0619
0620 TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_pfIsodBID->getTH1F();
0621
0622 if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0)
0623 h_eff_pfIsodB_nvtx->Sumw2();
0624
0625 h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
0626 }
0627
0628
0629 numpath_pfIsodB_nvtx = inputdir + "/passProbes_EB_pfIsodBID_nVtx";
0630 denpath_pfIsodB_nvtx = inputdir + "/allProbes_EB_ID_nVtx";
0631
0632 Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
0633 Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
0634
0635 if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx) {
0636 TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
0637 TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
0638
0639 TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_EB_pfIsodBID->getTH1F();
0640
0641 if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0)
0642 h_eff_pfIsodB_nvtx->Sumw2();
0643
0644 h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
0645 }
0646
0647
0648 numpath_pfIsodB_nvtx = inputdir + "/passProbes_EE_pfIsodBID_nVtx";
0649 denpath_pfIsodB_nvtx = inputdir + "/allProbes_EE_ID_nVtx";
0650
0651 Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
0652 Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
0653
0654 if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx) {
0655 TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
0656 TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
0657
0658 TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_EE_pfIsodBID->getTH1F();
0659
0660 if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0)
0661 h_eff_pfIsodB_nvtx->Sumw2();
0662
0663 h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
0664 }
0665 }