36 MonitorElement *hSumEta[4], *hSumPhi[4], *hPurityEta[3], *hPurityPhi[3];
39 for (
int i = 0;
i < 4; ++
i) {
42 int nbinEta = igetter.
get(hname1)->
getTH1F()->GetNbinsX();
43 double xminEta = igetter.
get(hname1)->
getTH1F()->GetBinLowEdge(1);
45 igetter.
get(hname1)->
getTH1F()->GetBinLowEdge(nbinEta) + igetter.
get(hname1)->
getTH1F()->GetBinWidth(nbinEta);
48 int nbinPhi = igetter.
get(hname2)->
getTH1F()->GetNbinsX();
49 double xminPhi = igetter.
get(hname2)->
getTH1F()->GetBinLowEdge(1);
51 igetter.
get(hname2)->
getTH1F()->GetBinLowEdge(nbinEta) + igetter.
get(hname2)->
getTH1F()->GetBinWidth(nbinEta);
57 sprintf(
name,
"hPurity%sEta",
types[
i].c_str());
58 sprintf(
title,
"Purity of %s sample vs #eta",
types[
i].c_str());
60 sprintf(
name,
"hPurity%sPhi",
types[
i].c_str());
61 sprintf(
title,
"Purity of %s sample vs #phi",
types[
i].c_str());
66 for (
int i = 0;
i < 4; ++
i) {
79 for (
int i = 0;
i < 3; ++
i) {
80 hPurityEta[
i]->
getTH1F()->Divide(hSumEta[
i + 1]->getTH1F(), hSumEta[
i]->getTH1F(), 1, 1);
81 hPurityPhi[
i]->
getTH1F()->Divide(hSumPhi[
i + 1]->getTH1F(), hSumPhi[
i]->getTH1F(), 1, 1);
Log< level::Info, true > LogVerbatim
virtual std::string pwd()
virtual bool dirExists(std::string const &path) const
DQMHcalIsoTrackPostProcessor(const edm::ParameterSet &pset)
~DQMHcalIsoTrackPostProcessor() override
#define DEFINE_FWK_MODULE(type)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
virtual TH1F * getTH1F() const
virtual MonitorElement * get(std::string const &fullpath) const
Log< level::Warning, false > LogWarning
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())