49 MonitorElement *hSumEta[4], *hSumPhi[4], *hPurityEta[3], *hPurityPhi[3];
52 for (
int i=0;
i<4; ++
i) {
53 sprintf (name,
"/heta%s", types[
i].c_str());
55 int nbinEta = igetter.
get(hname1)->
getTH1F()->GetNbinsX();
56 double xminEta = igetter.
get(hname1)->
getTH1F()->GetBinLowEdge(1);
57 double xmaxEta = igetter.
get(hname1)->
getTH1F()->GetBinLowEdge(nbinEta) +
58 igetter.
get(hname1)->
getTH1F()->GetBinWidth(nbinEta);
59 sprintf (name,
"/hphi%s", types[
i].c_str());
61 int nbinPhi = igetter.
get(hname2)->
getTH1F()->GetNbinsX();
62 double xminPhi = igetter.
get(hname2)->
getTH1F()->GetBinLowEdge(1);
63 double xmaxPhi = igetter.
get(hname2)->
getTH1F()->GetBinLowEdge(nbinEta) +
64 igetter.
get(hname2)->
getTH1F()->GetBinWidth(nbinEta);
65 sprintf (name,
"hSum%sEta", types[
i].c_str());
66 hSumEta[
i] = ibooker.
book1D(name,name,nbinEta,xminEta,xmaxEta);
67 sprintf (name,
"hSum%sPhi", types[
i].c_str());
68 hSumPhi[
i] = ibooker.
book1D(name,name,nbinPhi,xminPhi,xmaxPhi);
70 sprintf (name,
"hPurity%sEta", types[
i].c_str());
71 sprintf (title,
"Purity of %s sample vs #eta", types[
i].c_str());
72 hPurityEta[
i] = ibooker.
book1D(name, title,nbinEta,xminEta,xmaxEta);
73 sprintf (name,
"hPurity%sPhi", types[
i].c_str());
74 sprintf (title,
"Purity of %s sample vs #phi", types[
i].c_str());
75 hPurityPhi[
i] = ibooker.
book1D(name, title,nbinPhi,xminPhi,xmaxPhi);
79 for (
int i=0;
i<4; ++
i) {
80 sprintf (name,
"/heta%s", types[
i].c_str());
83 std::cout <<
"PostProcesor " << hname1 <<
" " << igetter.
get(hname1) << std::endl;
86 sprintf (name,
"/hphi%s", types[
i].c_str());
89 std::cout <<
"PostProcesor " << hname2 <<
" " << igetter.
get(hname2) << std::endl;
94 for (
int i=0;
i<3; ++
i) {
95 hPurityEta[
i]->
getTH1F()->Divide(hSumEta[
i+1]->getTH1F(),hSumEta[
i]->getTH1F(),1,1);
96 hPurityPhi[
i]->
getTH1F()->Divide(hSumPhi[
i+1]->getTH1F(),hSumPhi[
i]->getTH1F(),1,1);
T getUntrackedParameter(std::string const &, T const &) const
#define DEFINE_FWK_MODULE(type)
DQMHcalIsoTrackPostProcessor(const edm::ParameterSet &pset)
MonitorElement * book1D(Args &&...args)
~DQMHcalIsoTrackPostProcessor() override
MonitorElement * get(std::string const &path)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
std::string const & pwd()
bool dirExists(std::string const &path)