26 bool isJetDir =
false;
27 bool isMetDir =
false;
41 for (std::vector<std::string>::iterator
dir = subdirectories.begin();
dir != subdirectories.end();
dir++) {
47 if (TString(*dir).Contains(patternJet))
49 if (TString(*dir).Contains(patternMet))
63 "Gen Missing ET Turn-On RelVal");
70 "Gen Missing ET Turn-On Data");
79 "HLT Missing ET Turn-On RelVal");
86 "HLT Missing ET Turn-On Data");
100 "Gen Jet Pt Turn-On RelVal");
107 "Gen Jet Pt Turn-On Data");
114 "Gen Jet Eta Turn-On RelVal");
118 "_meGenJetEtaTrgLow",
121 "Gen Jet Eta Turn-On Data");
128 "Gen Jet Phi Turn-On RelVal");
132 "_meGenJetPhiTrgLow",
135 "Gen Jet Phi Turn-On Data");
144 "HLT Jet Pt Turn-On RelVal");
151 "HLT Jet Pt Turn-On Data");
158 "HLT Jet Eta Turn-On RelVal");
162 "_meHLTJetEtaTrgLow",
165 "HLT Jet Eta Turn-On Data");
172 "HLT Jet Phi Turn-On RelVal");
176 "_meHLTJetPhiTrgLow",
179 "HLT Jet Phi Turn-On Data");
205 <<
"numerator histogram " << ibooker.
pwd() +
"/" + numName <<
" does not exist";
206 if (denom ==
nullptr)
208 <<
"denominator histogram " << ibooker.
pwd() +
"/" + denomName <<
" does not exist";
215 outName, titel, num->GetXaxis()->GetNbins(), num->GetXaxis()->GetXmin(), num->GetXaxis()->GetXmax(), 0., 1.2);
218 out->GetXaxis()->SetTitle(label.c_str());
219 out->SetYTitle(
"Efficiency");
220 out->SetOption(
"PE");
221 out->SetLineColor(2);
222 out->SetLineWidth(2);
223 out->SetMarkerStyle(20);
224 out->SetMarkerSize(0.8);
225 out->SetStats(kFALSE);
227 for (
int i = 1;
i <= num->GetNbinsX();
i++) {
229 Efficiency((
int)num->GetBinContent(
i), (int)denom->GetBinContent(
i), 0.683,
e, low, high);
230 double err = e - low > high - e ? e - low : high -
e;
232 out->SetBinContent(
i, e);
233 out->SetBinEntries(
i, 1);
234 out->SetBinError(
i,
sqrt(e * e + err * err));
245 if (monElement !=
nullptr)
261 mode = passing / ((double)total);
264 lowerBound = TEfficiency::Wilson(total, passing, level,
false);
265 upperBound = TEfficiency::Wilson(total, passing, level,
true);
std::string patternJetTrg_
T getUntrackedParameter(std::string const &, T const &) const
void Efficiency(int passing, int total, double level, double &mode, double &lowerBound, double &upperBound)
virtual DQM_DEPRECATED std::vector< std::string > getSubdirs() const
#define DEFINE_FWK_MODULE(type)
virtual TH1F * getTH1F() const
virtual std::string pwd()
JetMETDQMPostProcessor(const edm::ParameterSet &pset)
virtual bool dirExists(std::string const &path) const
std::string patternMetTrg_
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
virtual MonitorElement * get(std::string const &fullpath) const
TH1F * getHistogram(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &histoPath)
TProfile * dividehistos(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &numName, const std::string &denomName, const std::string &outName, const std::string &label, const std::string &titel)
virtual TProfile * getTProfile() const
Log< level::Warning, false > LogWarning
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override