36 MonitorElement *hSumEta[4], *hSumPhi[4], *hPurityEta[3], *hPurityPhi[3];
39 for (
int i = 0;
i < 4; ++
i) {
40 sprintf(name,
"/heta%s", types[
i].c_str());
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);
46 sprintf(name,
"/hphi%s", types[
i].c_str());
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);
52 sprintf(name,
"hSum%sEta", types[
i].c_str());
53 hSumEta[
i] = ibooker.
book1D(name, name, nbinEta, xminEta, xmaxEta);
54 sprintf(name,
"hSum%sPhi", types[
i].c_str());
55 hSumPhi[
i] = ibooker.
book1D(name, name, nbinPhi, xminPhi, xmaxPhi);
57 sprintf(name,
"hPurity%sEta", types[
i].c_str());
58 sprintf(title,
"Purity of %s sample vs #eta", types[
i].c_str());
59 hPurityEta[
i] = ibooker.
book1D(name, title, nbinEta, xminEta, xmaxEta);
60 sprintf(name,
"hPurity%sPhi", types[
i].c_str());
61 sprintf(title,
"Purity of %s sample vs #phi", types[
i].c_str());
62 hPurityPhi[
i] = ibooker.
book1D(name, title, nbinPhi, xminPhi, xmaxPhi);
66 for (
int i = 0;
i < 4; ++
i) {
67 sprintf(name,
"/heta%s", types[
i].c_str());
72 sprintf(name,
"/hphi%s", types[
i].c_str());
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
T getUntrackedParameter(std::string const &, T const &) const
#define DEFINE_FWK_MODULE(type)
virtual TH1F * getTH1F() const
virtual std::string pwd()
virtual bool dirExists(std::string const &path) const
DQMHcalIsoTrackPostProcessor(const edm::ParameterSet &pset)
virtual MonitorElement * get(std::string const &fullpath) const
~DQMHcalIsoTrackPostProcessor() override
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
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())