27 if (debugLevel > 1) std::cout <<
"--> HLTCaloAveragePtPhiEtaMaps: <Quantity(eta,phi)> = Quantity(eta,phi)/N(eta,phi) " << std::endl;
30 TIter next_run(f->GetListOfKeys());
32 while ((key_run =
dynamic_cast<TKey*
> (next_run())) != 0) {
33 if (!key_run->IsFolder())
continue;
34 run_dir = key_run->GetName();
35 if (run_dir.find(
"run") == std::string::npos) {
45 std::string hlt_top = run_dir +
"/HLT";
47 std::vector<std::string> calo_fold;
48 std::vector<std::pair<std::string, std::string> > hist_numr;
51 calo_fold.push_back(
"/CaloMon");
52 calo_fold.push_back(
"/CaloMonL2");
55 for (std::vector<std::string>::iterator it = calo_fold.begin(); it != calo_fold.end(); ++it) {
56 std::string theHistDir = hlt_top + *it;
57 TDirectory* dir = f->GetDirectory(theHistDir.c_str());
59 if (debugLevel > 0) std::cerr <<
"--> HLTCaloAveragePtPhiEtaMaps: directory " << theHistDir <<
" not found" << std::endl;
65 hist_numr.push_back(std::make_pair<std::string, std::string>(
"/EnergyAccetaphiLAr",
"/HitAccetaphiLAr"));
66 hist_numr.push_back(std::make_pair<std::string, std::string>(
"/EnergyAccetaphiTile",
"/HitAccetaphiTile"));
70 for (std::vector<std::string>::iterator itFex = calo_fold.begin(); itFex != calo_fold.end(); ++itFex) {
71 for (std::vector<std::pair<std::string, std::string> >
::iterator itNum = hist_numr.begin(); itNum != hist_numr.end(); ++itNum) {
72 TH2F* hnum(0), *hden(0);
75 std::string thePath = hlt_top + (*itFex);
76 std::string numPath = thePath + (*itNum).first;
77 std::string denPath = thePath + (*itNum).second;
80 hnum = (TH2F*) (f->Get(numPath.c_str()));
81 hden = (TH2F*) (f->Get(denPath.c_str()));
84 if (debugLevel > 0) std::cerr <<
"--> HLTCaloAveragePtPhiEtaMaps: no histogram " << numPath << std::endl;
88 if (debugLevel > 0) std::cerr <<
"--> HLTCaloAveragePtPhiEtaMaps: no histogram " << denPath << std::endl;
94 TDirectory* dir = f->GetDirectory(thePath.c_str());
101 hnum->Divide(hnum, hden);
104 std::string title = hnum->GetTitle();
105 hnum->SetTitle(
"Average Transverse Energy per eta/phi bin");
108 hnum->Write(
"", TObject::kOverwrite);