44 TIter next_run(f->GetListOfKeys());
46 while ((key_run =
dynamic_cast<TKey*
> (next_run())) != 0) {
47 if (!key_run->IsFolder())
continue;
48 run_dir = key_run->GetName();
49 if (run_dir.find(
"run") == std::string::npos) {
57 std::string hlt_top = run_dir +
"/HLT";
58 static const std::string met_efdir =
"/EFMissingET_Fex";
60 std::vector<std::string> met_fexs, hist_numr;
63 met_fexs.push_back(
"/METMon");
68 for (std::vector<std::string>::iterator it = met_fexs.begin(); it != met_fexs.end(); ++it) {
69 std::string theHistDir = hlt_top + *it;
70 TDirectory* dir = f->GetDirectory(theHistDir.c_str());
72 std::cerr <<
"--> HLTMETAveragePhivsEtaMaps: directory " << theHistDir <<
" not found" << std::endl;
76 theHistDir += met_efdir;
77 dir = f->GetDirectory(theHistDir.c_str());
79 std::cerr <<
"--> HLTMETAveragePhivsEtaMaps: directory " << theHistDir <<
" not found" << std::endl;
86 hist_numr.push_back(
"/compEt_lin_");
87 hist_numr.push_back(
"/compSumEt_lin_");
88 hist_numr.push_back(
"/compSumE_lin_");
91 static const std::string hist_denr =
"/compN_";
94 static const std::string hist_suffix =
"EtaPhi_";
97 unsigned int comp_num = 25;
100 for (std::vector<std::string>::iterator itFex = met_fexs.begin(); itFex != met_fexs.end(); ++itFex) {
101 for (std::vector<std::string>::iterator itNum = hist_numr.begin(); itNum != hist_numr.end(); ++itNum) {
102 for (
unsigned int icomp = 0; icomp < comp_num; icomp++) {
103 TH2F* hnum(0), *hden(0);
106 std::string thePath = hlt_top + (*itFex) + met_efdir;
107 std::string numHist = (*itNum) + hist_suffix + std::string(Form(
"%02u", icomp));
108 std::string denHist = hist_denr + hist_suffix + std::string(Form(
"%02u", icomp));
109 std::string numPath = thePath + numHist;
110 std::string denPath = thePath + denHist;
113 if (!f->Get(numPath.c_str())) {
117 if (!f->Get(denPath.c_str())) {
123 hnum = (TH2F*) (f->Get(numPath.c_str()));
124 hden = (TH2F*) (f->Get(denPath.c_str()));
127 TDirectory* dir = f->GetDirectory(thePath.c_str());
137 hnum->Divide(hnum, hden);
140 TString title = hnum->GetTitle();
141 title.ReplaceAll(
": ",
": #LT");
142 title.ReplaceAll(
"(#eta",
"#GT(#eta");
143 hnum->SetTitle(title);
159 hnum->Write(
"", TObject::kOverwrite);