CMS 3D CMS Logo

HcalBeamClient.cc

Go to the documentation of this file.
00001 #include <DQM/HcalMonitorClient/interface/HcalBeamClient.h>
00002 #include <DQM/HcalMonitorClient/interface/HcalClientUtils.h>
00003 #include "DQMServices/Core/interface/DQMStore.h"
00004 #include "DQMServices/Core/interface/MonitorElement.h"
00005 #include <math.h>
00006 #include <iostream>
00007 
00008 HcalBeamClient::HcalBeamClient(){} // constructor
00009 
00010 void HcalBeamClient::init(const ParameterSet& ps, DQMStore* dbe,string clientName)
00011 {
00012   //Call the base class first
00013   HcalBaseClient::init(ps,dbe,clientName);
00014 
00015   beamclient_checkNevents_ = ps.getUntrackedParameter<int>("BeamClient_checkNevents",100);
00016 
00017   minErrorFlag_ = ps.getUntrackedParameter<double>("BeamClient_minErrorFlag",0.0);
00018 
00019   beamclient_makeDiagnostics_ = ps.getUntrackedParameter<bool>("BeamClient_makeDiagnosticPlots",false);
00020 
00021   // Set histograms to NULL
00022   ProblemBeamCells=0;
00023   CenterOfEnergyRadius=0;
00024   CenterOfEnergy=0;
00025   COEradiusVSeta=0;
00026   HBCenterOfEnergyRadius=0;
00027   HBCenterOfEnergy=0;
00028   HECenterOfEnergyRadius=0;
00029   HECenterOfEnergy=0;
00030   HOCenterOfEnergyRadius=0;
00031   HOCenterOfEnergy=0;
00032   HFCenterOfEnergyRadius=0;
00033   HFCenterOfEnergy=0;
00034 
00035   for (int i=0;i<6;++i)
00036     ProblemBeamCellsByDepth[i]=0;
00037   
00038   Etsum_eta_L=0;
00039   Etsum_eta_S=0;
00040   Etsum_phi_L=0;
00041   Etsum_phi_S=0;
00042   Etsum_ratio_p=0;
00043   Etsum_ratio_m=0;
00044   Etsum_map_L=0;
00045   Etsum_map_S=0;
00046   Etsum_ratio_map=0;
00047   Etsum_rphi_L=0;
00048   Etsum_rphi_S=0;
00049   Energy_Occ=0;
00050 
00051   Occ_rphi_L=0;
00052   Occ_rphi_S=0;
00053   Occ_eta_L=0;
00054   Occ_eta_S=0;
00055   Occ_phi_L=0;
00056   Occ_phi_S=0;
00057   Occ_map_L=0;
00058   Occ_map_S=0;
00059   
00060   HFlumi_ETsum_perwedge=0;
00061   HFlumi_Occupancy_above_thr_r1=0;
00062   HFlumi_Occupancy_between_thrs_r1=0;
00063   HFlumi_Occupancy_below_thr_r1=0;
00064   HFlumi_Occupancy_above_thr_r2=0;
00065   HFlumi_Occupancy_between_thrs_r2=0;
00066   HFlumi_Occupancy_below_thr_r2=0;
00067 
00068   if (beamclient_makeDiagnostics_)
00069     {
00070       for (int i=0;i<83;++i)
00071         {
00072           HB_CenterOfEnergyRadius[i]=0;
00073           HE_CenterOfEnergyRadius[i]=0;
00074           HO_CenterOfEnergyRadius[i]=0;
00075           HF_CenterOfEnergyRadius[i]=0;
00076         }
00077     }
00078   subdets_.push_back("HB HF Depth 1 ");
00079   subdets_.push_back("HB HF Depth 2 ");
00080   subdets_.push_back("HE Depth 3 ");
00081   subdets_.push_back("HO ZDC ");
00082   subdets_.push_back("HE Depth 1 ");
00083   subdets_.push_back("HE Depth 2 ");
00084   return;
00085 } // HcalBeamClient::init;
00086 
00087 HcalBeamClient::~HcalBeamClient()
00088 {
00089   this->cleanup();
00090 } // destructor
00091 
00092 
00093 void HcalBeamClient::beginJob(){
00094 
00095   if ( debug_>1 ) cout << "HcalBeamClient: beginJob" << endl;
00096 
00097   ievt_ = 0;
00098   jevt_ = 0;
00099   this->setup();
00100   return;
00101 } // void HcalBeamClient::beginJob(const EventSetup& eventSetup);
00102 
00103 
00104 void HcalBeamClient::beginRun(void)
00105 {
00106   if ( debug_>1 ) cout << "HcalBeamClient: beginRun" << endl;
00107 
00108   jevt_ = 0;
00109   this->setup();
00110   this->resetAllME();
00111   return;
00112 } // void HcalBeamClient::beginRun(void)
00113 
00114 
00115 void HcalBeamClient::endJob(void) 
00116 {
00117   if ( debug_>1 ) cout << "HcalBeamClient: endJob, ievt = " << ievt_ << endl;
00118 
00119   this->cleanup();
00120   return;
00121 } // void HcalBeamClient::endJob(void)
00122 
00123 
00124 void HcalBeamClient::endRun(void) 
00125 {
00126   if ( debug_>1 ) cout << "HcalBeamClient: endRun, jevt = " << jevt_ << endl;
00127 
00128   this->cleanup();
00129   return;
00130 } // void HcalBeamClient::endRun(void)
00131 
00132 
00133 void HcalBeamClient::setup(void) 
00134 {
00135   return;
00136 } // void HcalBeamClient::setup(void)
00137 
00138 void HcalBeamClient::cleanup(void) 
00139 {
00140   if(cloneME_)
00141     {
00142       // delete individual histogram pointers
00143       if (ProblemBeamCells) delete ProblemBeamCells;
00144       
00145       for (int i=0;i<6;++i)
00146         {
00147           // delete pointers within arrays of histograms
00148           if (ProblemBeamCellsByDepth[i])   delete ProblemBeamCellsByDepth[i];
00149         }
00150       if (beamclient_makeDiagnostics_)
00151         {
00152           for (int i=0;i<83;++i)
00153             {
00154               if (HB_CenterOfEnergyRadius[i])   delete HB_CenterOfEnergyRadius[i];
00155               if (HE_CenterOfEnergyRadius[i])   delete HE_CenterOfEnergyRadius[i];
00156               if (HO_CenterOfEnergyRadius[i])   delete HO_CenterOfEnergyRadius[i];
00157               if (HF_CenterOfEnergyRadius[i])   delete HF_CenterOfEnergyRadius[i];
00158               
00159             }
00160         }
00161       if (CenterOfEnergyRadius)       delete CenterOfEnergyRadius;
00162       if (CenterOfEnergy)             delete CenterOfEnergy;
00163       if (COEradiusVSeta)             delete COEradiusVSeta;
00164       if (HBCenterOfEnergyRadius)     delete HBCenterOfEnergyRadius;
00165       if (HBCenterOfEnergy)           delete HBCenterOfEnergy;
00166       if (HECenterOfEnergyRadius)     delete HECenterOfEnergyRadius;
00167       if (HECenterOfEnergy)           delete HECenterOfEnergy;
00168       if (HOCenterOfEnergyRadius)     delete HOCenterOfEnergyRadius;
00169       if (HOCenterOfEnergy)           delete HOCenterOfEnergy;
00170       if (HFCenterOfEnergyRadius)     delete HFCenterOfEnergyRadius;
00171       if (HFCenterOfEnergy)           delete HFCenterOfEnergy;
00172       
00173       if (Etsum_eta_L)                delete Etsum_eta_L;
00174       if (Etsum_eta_S)                delete Etsum_eta_S;
00175       if (Etsum_phi_L)                delete Etsum_phi_L;
00176       if (Etsum_phi_S)                delete Etsum_phi_S;
00177       if (Etsum_ratio_p)              delete Etsum_ratio_p;
00178       if (Etsum_ratio_m)              delete Etsum_ratio_m;
00179       if (Etsum_map_L)                delete Etsum_map_L;
00180       if (Etsum_map_S)                delete Etsum_map_S;
00181       if (Etsum_ratio_map)            delete Etsum_ratio_map;
00182       if (Etsum_rphi_L)               delete Etsum_rphi_L;
00183       if (Etsum_rphi_S)               delete Etsum_rphi_S;
00184       if (Energy_Occ)                 delete Energy_Occ;
00185       
00186       if (Occ_rphi_L) delete Occ_rphi_L;
00187       if (Occ_rphi_S) delete Occ_rphi_S;
00188       if (Occ_eta_L)  delete Occ_eta_L;
00189       if (Occ_eta_S)  delete Occ_eta_S;
00190       if (Occ_phi_L)  delete Occ_phi_L;
00191       if (Occ_phi_S)  delete Occ_phi_S;
00192       if (Occ_map_L)  delete Occ_map_L;
00193       if (Occ_map_S)  delete Occ_map_S;
00194       
00195       if (HFlumi_ETsum_perwedge) delete HFlumi_ETsum_perwedge;
00196       if (HFlumi_Occupancy_above_thr_r1)     delete HFlumi_Occupancy_above_thr_r1;
00197       if (HFlumi_Occupancy_between_thrs_r1)  delete HFlumi_Occupancy_between_thrs_r1;
00198       if (HFlumi_Occupancy_below_thr_r1)     delete HFlumi_Occupancy_below_thr_r1;
00199       if (HFlumi_Occupancy_above_thr_r2)     delete HFlumi_Occupancy_above_thr_r2;
00200       if (HFlumi_Occupancy_between_thrs_r2)  delete HFlumi_Occupancy_between_thrs_r2;
00201       if (HFlumi_Occupancy_below_thr_r2)     delete HFlumi_Occupancy_below_thr_r2;
00202       
00203     } // if (cloneME_)
00204 
00205   // Set individual pointer to NULL
00206   ProblemBeamCells=0;
00207   CenterOfEnergyRadius=0;
00208   CenterOfEnergy=0;
00209   COEradiusVSeta=0;
00210   HBCenterOfEnergyRadius=0;
00211   HBCenterOfEnergy=0;
00212   HECenterOfEnergyRadius=0;
00213   HECenterOfEnergy=0;
00214   HOCenterOfEnergyRadius=0;
00215   HOCenterOfEnergy=0;
00216   HFCenterOfEnergyRadius=0;
00217   HFCenterOfEnergy=0;
00218 
00219   for (int i=0;i<6;++i)
00220     ProblemBeamCellsByDepth[i]=0;
00221   
00222   Etsum_eta_L=0;
00223   Etsum_eta_S=0;
00224   Etsum_phi_L=0;
00225   Etsum_phi_S=0;
00226   Etsum_ratio_p=0;
00227   Etsum_ratio_m=0;
00228   Etsum_map_L=0;
00229   Etsum_map_S=0;
00230   Etsum_ratio_map=0;
00231   Etsum_rphi_L=0;
00232   Etsum_rphi_S=0;
00233   Energy_Occ=0;
00234 
00235   Occ_rphi_L=0;
00236   Occ_rphi_S=0;
00237   Occ_eta_L=0;
00238   Occ_eta_S=0;
00239   Occ_phi_L=0;
00240   Occ_phi_S=0;
00241   Occ_map_L=0;
00242   Occ_map_S=0;
00243   
00244   HFlumi_ETsum_perwedge=0;
00245   HFlumi_Occupancy_above_thr_r1=0;
00246   HFlumi_Occupancy_between_thrs_r1=0;
00247   HFlumi_Occupancy_below_thr_r1=0;
00248   HFlumi_Occupancy_above_thr_r2=0;
00249   HFlumi_Occupancy_between_thrs_r2=0;
00250   HFlumi_Occupancy_below_thr_r2=0;
00251 
00252   if (beamclient_makeDiagnostics_)
00253     {
00254       for (int i=0;i<83;++i)
00255         {
00256           HB_CenterOfEnergyRadius[i]=0;
00257           HE_CenterOfEnergyRadius[i]=0;
00258           HO_CenterOfEnergyRadius[i]=0;
00259           HF_CenterOfEnergyRadius[i]=0;
00260         }
00261     }
00262   dqmReportMapErr_.clear(); 
00263   dqmReportMapWarn_.clear(); 
00264   dqmReportMapOther_.clear();
00265   dqmQtests_.clear();
00266   
00267   return;
00268 } // void HcalBeamClient::cleanup(void)
00269 
00270 
00271 void HcalBeamClient::report()
00272 {
00273   if(!dbe_) return;
00274   if ( debug_>1 ) cout << "HcalBeamClient: report" << endl;
00275   this->setup();
00276 
00277   ostringstream name;
00278   name<<process_.c_str()<<"Hcal/BeamMonitor_Hcal/BeamMonitor Event Number";
00279   MonitorElement* me = dbe_->get(name.str().c_str());
00280   if ( me ) 
00281     {
00282       string s = me->valueString();
00283       ievt_ = -1;
00284       sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_);
00285       if ( debug_>1 ) cout << "Found '" << name.str().c_str() << "'" << endl;
00286     }
00287   getHistograms();
00288 
00289   return;
00290 } // HcalBeamClient::report()
00291 
00292 
00293 void HcalBeamClient::getHistograms()
00294 {
00295   if(!dbe_) return;
00296 
00297   ostringstream name;  
00298  // dummy histograms
00299   TH2F* dummy2D = new TH2F();
00300   TH1F* dummy1D = new TH1F();
00301   TProfile* dummyProf = new TProfile();
00302 
00303   name<<process_.c_str()<<"BeamMonitor_Hcal/ ProblemBeamCells";
00304 
00305   ProblemBeamCells = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00306   name.str("");
00307 
00308   getSJ6histos("BeamMonitor_Hcal/problem_beammonitor/", " Problem BeamMonitor Rate", ProblemBeamCellsByDepth);
00309 
00310   name<<process_.c_str()<<"BeamMonitor_Hcal/CenterOfEnergyRadius";
00311   CenterOfEnergyRadius = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00312   name.str("");
00313   name<<process_.c_str()<<"BeamMonitor_Hcal/CenterOfEnergy";
00314   CenterOfEnergy = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00315   name.str("");
00316   name<<process_.c_str()<<"BeamMonitor_Hcal/COEradiusVSeta";
00317   COEradiusVSeta = getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00318   name.str("");
00319 
00320   name<<process_.c_str()<<"BeamMonitor_Hcal/HB/HBCenterOfEnergyRadius";
00321   HBCenterOfEnergyRadius = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00322   name.str("");
00323   name<<process_.c_str()<<"BeamMonitor_Hcal/HB/HBCenterOfEnergy";
00324   HBCenterOfEnergy = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00325   name.str("");
00326   
00327   if (beamclient_makeDiagnostics_)
00328     {
00329       for (int i=-16;i<=16;++i)
00330         {
00331           if (i==0) continue;
00332           name<<process_.c_str()<<"BeamMonitor_Hcal/HB/HB_CenterOfEnergyRadius_ieta"<<i;
00333           HB_CenterOfEnergyRadius[i+16]= getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00334           name.str("");
00335         }
00336     }
00337   name<<process_.c_str()<<"BeamMonitor_Hcal/HE/HECenterOfEnergyRadius";
00338   HECenterOfEnergyRadius = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00339   name.str("");
00340   name<<process_.c_str()<<"BeamMonitor_Hcal/HE/HECenterOfEnergy";
00341   HECenterOfEnergy = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00342   name.str("");
00343 
00344   if (beamclient_makeDiagnostics_)
00345     {
00346       for (int i=-29;i<=29;++i)
00347         {
00348           if (abs(i)<17) continue;
00349           name<<process_.c_str()<<"BeamMonitor_Hcal/HE/HE_CenterOfEnergyRadius_ieta"<<i;
00350           HE_CenterOfEnergyRadius[i+29]= getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00351           name.str("");
00352         }
00353     }
00354   name<<process_.c_str()<<"BeamMonitor_Hcal/HO/HOCenterOfEnergyRadius";
00355   HOCenterOfEnergyRadius = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00356   name.str("");
00357   name<<process_.c_str()<<"BeamMonitor_Hcal/HO/HOCenterOfEnergy";
00358   HOCenterOfEnergy = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00359   name.str("");
00360   
00361   if (beamclient_makeDiagnostics_)
00362     {
00363       for (int i=-15;i<=15;++i)
00364         {
00365           if (i==0) continue;
00366           name<<process_.c_str()<<"BeamMonitor_Hcal/HO/HO_CenterOfEnergyRadius_ieta"<<i;
00367           HO_CenterOfEnergyRadius[i+15]= getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00368           name.str("");
00369         }
00370     }
00371   name<<process_.c_str()<<"BeamMonitor_Hcal/HF/HFCenterOfEnergyRadius";
00372   HFCenterOfEnergyRadius = getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00373   name.str("");
00374   name<<process_.c_str()<<"BeamMonitor_Hcal/HF/HFCenterOfEnergy";
00375   HFCenterOfEnergy = getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00376   name.str("");
00377   
00378   if (beamclient_makeDiagnostics_)
00379     {
00380       for (int i=-41;i<=41;++i)
00381         {
00382           if (abs(i)<29) continue;
00383           name<<process_.c_str()<<"BeamMonitor_Hcal/HF/HF_CenterOfEnergyRadius_ieta"<<i;
00384           HF_CenterOfEnergyRadius[i+41]= getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00385           name.str("");
00386         }
00387     }
00388   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Eta Long Fiber";
00389   Etsum_eta_L=getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00390   name.str("");
00391   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Eta Short Fiber";
00392   Etsum_eta_S=getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00393   name.str("");
00394   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Phi Long Fiber";
00395   Etsum_phi_L=getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00396   name.str("");
00397   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Phi Short Fiber";
00398   Etsum_phi_S=getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00399   name.str("");
00400   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs fm HF+";
00401   Etsum_ratio_p=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00402   name.str("");
00403   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Energy";
00404   Energy_Occ=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00405   name.str("");
00406   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs fm HF-";
00407   Etsum_ratio_m=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00408   name.str("");
00409   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and eta Long Fiber";
00410   Etsum_map_L=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00411   name.str("");
00412   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and eta Short Fiber";
00413   Etsum_map_S=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00414   name.str("");
00415   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and radius Long Fiber";
00416   Etsum_rphi_L=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00417   name.str("");
00418   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and radius Short Fiber";
00419   Etsum_rphi_S=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00420   name.str("");
00421   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Abnormal fm";
00422   Etsum_ratio_map=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00423   name.str("");
00424   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ 2D phi and radius Short Fiber";
00425   Occ_rphi_S=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00426   name.str("");
00427   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ 2D phi and radius Long Fiber";
00428   Occ_rphi_L=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00429   name.str("");
00430   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Eta Short Fiber";
00431   Occ_eta_S=getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00432   name.str("");
00433   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Eta Long Fiber";
00434   Occ_eta_L=getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00435   name.str("");
00436   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Phi Short Fiber";
00437   Occ_phi_S=getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00438   name.str("");
00439   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Phi Long Fiber";
00440   Occ_phi_L=getAnyHisto(dummyProf, name.str(), process_, dbe_, debug_, cloneME_);
00441   name.str("");
00442   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ_map Long Fiber";
00443   Occ_map_L=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00444   name.str("");
00445   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ_map Short Fiber";
00446   Occ_map_S=getAnyHisto(dummy2D, name.str(), process_, dbe_, debug_, cloneME_);
00447   name.str("");
00448 
00449   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi ET-sum per wedge";
00450   HFlumi_ETsum_perwedge=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00451   name.str("");
00452   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy above threshold ring1";
00453   HFlumi_Occupancy_above_thr_r1=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00454   name.str("");
00455   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy between thresholds ring1";
00456   HFlumi_Occupancy_between_thrs_r1=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00457   name.str("");
00458   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy below threshold ring1";
00459   HFlumi_Occupancy_below_thr_r1=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00460   name.str("");
00461   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy above threshold ring2";
00462   HFlumi_Occupancy_above_thr_r2=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00463   name.str("");
00464   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy between thresholds ring2";
00465   HFlumi_Occupancy_between_thrs_r2=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00466   name.str("");
00467   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy below threshold ring2";
00468   HFlumi_Occupancy_below_thr_r2=getAnyHisto(dummy1D, name.str(), process_, dbe_, debug_, cloneME_);
00469   name.str("");
00470 
00471   return;
00472 }  // void HcalBeamClient::getHistograms()
00473 
00474 
00475 void HcalBeamClient::analyze(void)
00476 {
00477   ++jevt_;
00478   if ( jevt_ % 10 == 0 ) 
00479     {
00480       if ( debug_>1 ) cout << "<HcalBeamClient::analyze>  Running analyze "<<endl;
00481     }
00482   getHistograms();
00483   return;
00484 } // void HcalBeamClient::analyze(void)
00485 
00486 void HcalBeamClient::createTests()
00487 {
00488   // Removed a bunch of code that was in older versions of HcalBeamClient
00489   // tests should now be handled from outside
00490   if(!dbe_) return;
00491   return;
00492 } // void HcalBeamClient::createTests()
00493 
00494 void HcalBeamClient::resetAllME()
00495 {
00496   if(!dbe_) return;
00497   
00498   ostringstream name;
00499 
00500   // Reset individual histograms
00501   name<<process_.c_str()<<"BeamMonitor_Hcal/ ProblemBeamCells";
00502   resetME(name.str().c_str(),dbe_);
00503   name.str("");
00504 
00505   for (int i=0;i<6;++i)
00506     {
00507       // Reset arrays of histograms
00508       name<<process_.c_str()<<"BeamMonitor_Hcal/problem_beammonitor/"<<subdets_[i]<<" Problem BeamMonitor Rate";
00509       resetME(name.str().c_str(),dbe_);
00510       name.str("");
00511     }
00512 
00513   name<<process_.c_str()<<"BeamMonitor_Hcal/CenterOfEnergyRadius";
00514   resetME(name.str().c_str(),dbe_);
00515   name.str("");
00516   name<<process_.c_str()<<"BeamMonitor_Hcal/CenterOfEnergy";
00517   resetME(name.str().c_str(),dbe_);
00518   name.str("");
00519   name<<process_.c_str()<<"BeamMonitor_Hcal/COEradiusVSeta";
00520   resetME(name.str().c_str(),dbe_);
00521   name.str("");
00522   name<<process_.c_str()<<"BeamMonitor_Hcal/HB/CenterOfEnergyRadius";
00523   resetME(name.str().c_str(),dbe_);
00524   name.str("");
00525   name<<process_.c_str()<<"BeamMonitor_Hcal/HB/CenterOfEnergy";
00526   resetME(name.str().c_str(),dbe_);
00527   name.str("");
00528 
00529   if (beamclient_makeDiagnostics_)
00530     {
00531       for (int i=-16;i<=16;++i)
00532         {
00533           if (i==0) continue;
00534           name<<process_.c_str()<<"BeamMonitor_Hcal/HB/HB_CenterOfEnergyRadius_ieta"<<i;
00535           resetME(name.str().c_str(),dbe_);
00536           name.str("");
00537         }
00538     }
00539   name<<process_.c_str()<<"BeamMonitor_Hcal/HE/CenterOfEnergyRadius";
00540   resetME(name.str().c_str(),dbe_);
00541   name.str("");
00542   name<<process_.c_str()<<"BeamMonitor_Hcal/HE/CenterOfEnergy";
00543   resetME(name.str().c_str(),dbe_);
00544   name.str("");
00545   if (beamclient_makeDiagnostics_)
00546     {
00547       for (int i=-29;i<=29;++i)
00548         {
00549           if (abs(i)<17) continue;
00550           name<<process_.c_str()<<"BeamMonitor_Hcal/HE/HE_CenterOfEnergyRadius_ieta"<<i;
00551           resetME(name.str().c_str(),dbe_);
00552           name.str("");
00553         }
00554     }
00555   name<<process_.c_str()<<"BeamMonitor_Hcal/HO/CenterOfEnergyRadius";
00556   resetME(name.str().c_str(),dbe_);
00557   name.str("");
00558   name<<process_.c_str()<<"BeamMonitor_Hcal/HO/CenterOfEnergy";
00559   resetME(name.str().c_str(),dbe_);
00560   name.str("");
00561   
00562   if (beamclient_makeDiagnostics_)
00563     {
00564       for (int i=-15;i<=15;++i)
00565         {
00566           if (i==0) continue;
00567           name<<process_.c_str()<<"BeamMonitor_Hcal/HO/HO_CenterOfEnergyRadius_ieta"<<i;
00568           resetME(name.str().c_str(),dbe_);
00569           name.str("");
00570         }
00571     }
00572   name<<process_.c_str()<<"BeamMonitor_Hcal/HF/CenterOfEnergyRadius";
00573   resetME(name.str().c_str(),dbe_);
00574   name.str("");
00575   name<<process_.c_str()<<"BeamMonitor_Hcal/HF/CenterOfEnergy";
00576   resetME(name.str().c_str(),dbe_);
00577   name.str("");
00578 
00579   if (beamclient_makeDiagnostics_)
00580     {
00581       for (int i=-41;i<=41;++i)
00582         {
00583           if (i==0) continue;
00584           name<<process_.c_str()<<"BeamMonitor_Hcal/HF/HF_CenterOfEnergyRadius_ieta"<<i;
00585           resetME(name.str().c_str(),dbe_);
00586           name.str("");
00587         }
00588     }
00589   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Eta Long Fiber";
00590   resetME(name.str().c_str(),dbe_);
00591   name.str("");
00592   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Eta Short Fiber";
00593   resetME(name.str().c_str(),dbe_);
00594   name.str("");
00595   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Phi Long Fiber";
00596   resetME(name.str().c_str(),dbe_);
00597   name.str("");
00598   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Phi Short Fiber";
00599   resetME(name.str().c_str(),dbe_);
00600   name.str("");
00601   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs fm HF+";
00602   resetME(name.str().c_str(),dbe_);
00603   name.str("");
00604   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Energy";
00605   resetME(name.str().c_str(),dbe_);
00606   name.str("");
00607   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs fm HF-";
00608   resetME(name.str().c_str(),dbe_);
00609   name.str("");
00610   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and eta Long Fiber";
00611   resetME(name.str().c_str(),dbe_);
00612   name.str("");
00613   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and eta Short Fiber";
00614   resetME(name.str().c_str(),dbe_);
00615   name.str("");
00616   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and radius Long Fiber";
00617   resetME(name.str().c_str(),dbe_);
00618   name.str("");
00619   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and radius Short Fiber";
00620   resetME(name.str().c_str(),dbe_);
00621   name.str("");
00622   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Abnormal fm";
00623   resetME(name.str().c_str(),dbe_);
00624   name.str("");
00625   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ 2D phi and radius Short Fiber";
00626   resetME(name.str().c_str(),dbe_);
00627   name.str("");
00628   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ 2D phi and radius Long Fiber";
00629   resetME(name.str().c_str(),dbe_);
00630   name.str("");
00631   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Eta Short Fiber";
00632   resetME(name.str().c_str(),dbe_);
00633   name.str("");
00634   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Eta Long Fiber";
00635   resetME(name.str().c_str(),dbe_);
00636   name.str("");
00637   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Phi Short Fiber";
00638   resetME(name.str().c_str(),dbe_);
00639   name.str("");
00640   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Phi Long Fiber";
00641   resetME(name.str().c_str(),dbe_);
00642   name.str("");
00643   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ_map Long Fiber";
00644   resetME(name.str().c_str(),dbe_);
00645   name.str("");
00646   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ_map Short Fiber";
00647   resetME(name.str().c_str(),dbe_);
00648   name.str("");
00649 
00650   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi ET-sum per wedge";
00651   resetME(name.str().c_str(),dbe_);
00652   name.str("");
00653   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy above threshold ring1";
00654   resetME(name.str().c_str(),dbe_);
00655   name.str("");
00656   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy between thresholds ring1";
00657   resetME(name.str().c_str(),dbe_);
00658   name.str("");
00659   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy below threshold ring1";
00660   resetME(name.str().c_str(),dbe_);
00661   name.str("");
00662   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy above threshold ring2";
00663   resetME(name.str().c_str(),dbe_);
00664   name.str("");
00665   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy between thresholds ring2";
00666   resetME(name.str().c_str(),dbe_);
00667   name.str("");
00668   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy below threshold ring2";
00669   resetME(name.str().c_str(),dbe_);
00670   name.str("");
00671   return;
00672 } // void HcalBeamClient::resetAllME()
00673 
00674 
00675 
00676 void HcalBeamClient::htmlOutput(int runNo, string htmlDir, string htmlName)
00677 {
00678   if (showTiming_)
00679     {
00680       cpu_timer.reset(); cpu_timer.start();
00681     }
00682 
00683   if (debug_>1) cout << "Preparing HcalBeamClient html output ..." << endl;
00684 
00685   string client = "BeamMonitor";
00686 
00687   ofstream htmlFile;
00688   htmlFile.open((htmlDir + htmlName).c_str());
00689 
00690   // html page header
00691   htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">  " << endl;
00692   htmlFile << "<html>  " << endl;
00693   htmlFile << "<head>  " << endl;
00694   htmlFile << "  <meta content=\"text/html; charset=ISO-8859-1\"  " << endl;
00695   htmlFile << " https-equiv=\"content-type\">  " << endl;
00696   htmlFile << "  <title>Monitor: Hcal Beam Monitor Task output</title> " << endl;
00697   htmlFile << "</head>  " << endl;
00698   htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl;
00699   htmlFile << "<body>  " << endl;
00700   htmlFile << "<br>  " << endl;
00701   htmlFile << "<h2>Run:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" << endl;
00702   htmlFile << "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span " << endl;
00703   htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl;
00704   htmlFile << "<h2>Monitoring task:&nbsp;&nbsp;&nbsp;&nbsp; <span " << endl;
00705   htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Beam Monitor</span></h2> " << endl;
00706 
00707   htmlFile << "<h2>Events processed:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" << endl;
00708   htmlFile << "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span " << endl;
00709   htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl;
00710   htmlFile << "<hr>" << endl;
00711 
00712   htmlFile << "<h2><strong>Hcal Beam Monitor Status</strong></h2>" << endl;
00713   htmlFile << "<h3>" << endl;
00714   htmlFile << "</h3>" << endl;
00715 
00716   htmlFile << "<table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl;
00717   htmlFile << "cellpadding=\"10\"> " << endl;
00718   htmlFile << "<tr align=\"center\">" << endl;
00719   gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme
00720   htmlAnyHisto(runNo,ProblemBeamCells,"i#eta","i#phi", 92, htmlFile, htmlDir);
00721   gStyle->SetPalette(1);
00722   htmlFile<<"</tr><tr align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"10\" >"<<endl;
00723   htmlAnyHisto(runNo,CenterOfEnergy,"normalized x coordinate","normalized y coordinate", 92, htmlFile, htmlDir);
00724   htmlFile<<"</tr>"<<endl;
00725   htmlFile<<"<tr align=\"center\"><td> There are as yet no criteria for marking beam monitor plots.  The plots in the link below are for diagnostic purposes only."<<endl;
00726  
00727   htmlFile<<"</td>"<<endl;
00728   htmlFile<<"</tr></table>"<<endl;
00729   htmlFile<<"<hr><table align=\"center\" border=\"0\" cellspacing=\"0\" " << endl;
00730   htmlFile << "cellpadding=\"10\"> " << endl;
00731   htmlFile << "<tr align=\"center\">" << endl;
00732   htmlFile<<"<tr><td align=center><a href=\"Expert_"<< htmlName<<"\"><h2>Detailed Beam Monitor Plots</h2> </a></br></td>"<<endl;
00733   htmlFile<<"</tr></table><br><hr>"<<endl;
00734   
00735   // Now print out problem cells
00736   htmlFile <<"<br>"<<endl;
00737   htmlFile << "<h2><strong>Hcal Problem Cells</strong></h2>" << endl;
00738   htmlFile << "(A problem cell is listed below if its failure rate exceeds "<<(100.*minErrorFlag_)<<"%).<br><br>"<<endl;
00739   htmlFile << "<table align=\"center\" border=\"1\" cellspacing=\"0\" " << endl;
00740   htmlFile << "cellpadding=\"10\"> " << endl;
00741   htmlFile << "<tr align=\"center\">" << endl;
00742   htmlFile <<"<td> Problem Beam Monitor Cells<br>(ieta, iphi, depth)</td><td align=\"center\"> Fraction of Events <br>in which cells are bad (%)</td></tr>"<<endl;
00743 
00744   if (ProblemBeamCells==0)
00745     {
00746       if (debug_) cout <<"<HcalBeamClient::htmlOutput>  ERROR: can't find Problem Beam Monitor plot!"<<endl;
00747       return;
00748     }
00749   int etabins  = ProblemBeamCells->GetNbinsX();
00750   int phibins  = ProblemBeamCells->GetNbinsY();
00751   float etaMin = ProblemBeamCells->GetXaxis()->GetXmin();
00752   float phiMin = ProblemBeamCells->GetYaxis()->GetXmin();
00753 
00754   int eta,phi;
00755 
00756   ostringstream name;
00757   for (int depth=0;depth<6; ++depth)
00758     {
00759       for (int ieta=1;ieta<=etabins;++ieta)
00760         {
00761           for (int iphi=1; iphi<=phibins;++iphi)
00762             {
00763               eta=ieta+int(etaMin)-1;
00764               phi=iphi+int(phiMin)-1;
00765               int mydepth=depth+1;
00766               if (mydepth>4) mydepth-=4; // last two depth values are for HE depth 1,2
00767               if (ProblemBeamCellsByDepth[depth]==0)
00768                 {
00769                   continue;
00770                 }
00771               if (ProblemBeamCellsByDepth[depth]->GetBinContent(ieta,iphi)>minErrorFlag_)
00772                 {
00773                   if (depth<2)
00774                     (fabs(eta)<29) ? name<<"HB" : name<<"HF";
00775                   else if (depth==3)
00776                     (fabs(eta)<42) ? name<<"HO" : name<<"ZDC";
00777                   else name <<"HE";
00778                   htmlFile<<"<td>"<<name.str().c_str()<<" ("<<eta<<", "<<phi<<", "<<mydepth<<")</td><td align=\"center\">"<<ProblemBeamCellsByDepth[depth]->GetBinContent(ieta,iphi)*100.<<"</td></tr>"<<endl;
00779 
00780                   name.str("");
00781                 }
00782             } // for (int iphi=1;...)
00783         } // for (int ieta=1;...)
00784     } // for (int depth=0;...)
00785   
00786   
00787   // html page footer
00788   htmlFile <<"</table> " << endl;
00789   htmlFile << "</body> " << endl;
00790   htmlFile << "</html> " << endl;
00791 
00792   htmlFile.close();
00793   htmlExpertOutput(runNo, htmlDir, htmlName);
00794 
00795   if (showTiming_)
00796     {
00797       cpu_timer.stop();  cout <<"TIMER:: HcalBeamClient HTMLOUTPUT  -> "<<cpu_timer.cpuTime()<<endl;
00798     }
00799 
00800   return;
00801 } //void HcalBeamClient::htmlOutput(int runNo, ...) 
00802 
00803 
00804 void HcalBeamClient::htmlExpertOutput(int runNo, string htmlDir, string htmlName)
00805 {
00806 
00807   if (showTiming_)
00808     {
00809       cpu_timer.reset(); cpu_timer.start();
00810     }
00811 
00812   if (debug_>1) 
00813     cout <<" <HcalBeamClient::htmlExpertOutput>  Preparing Expert html output ..." <<endl;
00814   
00815   string client = "BeamMonitor";
00816   htmlErrors(runNo,htmlDir,client,process_,dbe_,dqmReportMapErr_,dqmReportMapWarn_,dqmReportMapOther_); // does this do anything?
00817 
00818   ofstream htmlFile;
00819   htmlFile.open((htmlDir +"Expert_"+ htmlName).c_str());
00820 
00821   // html page header
00822   htmlFile << "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">  " << endl;
00823   htmlFile << "<html>  " << endl;
00824   htmlFile << "<head>  " << endl;
00825   htmlFile << "  <meta content=\"text/html; charset=ISO-8859-1\"  " << endl;
00826   htmlFile << " https-equiv=\"content-type\">  " << endl;
00827   htmlFile << "  <title>Monitor: Hcal Beam Monitor Task output</title> " << endl;
00828   htmlFile << "</head>  " << endl;
00829   htmlFile << "<style type=\"text/css\"> td { font-weight: bold } </style>" << endl;
00830   htmlFile << "<body>  " << endl;
00831   htmlFile <<"<a name=\"EXPERT_BEAM_TOP\" href = \".\"> Back to Main HCAL DQM Page </a><br>"<<endl;
00832   htmlFile <<"<a href= \""<<htmlName.c_str()<<"\" > Back to Beam Monitor Status Page </a><br>"<<endl;
00833   htmlFile << "<br>  " << endl;
00834   htmlFile << "<h2>Run:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" << endl;
00835   htmlFile << "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span " << endl;
00836   htmlFile << " style=\"color: rgb(0, 0, 153);\">" << runNo << "</span></h2>" << endl;
00837   htmlFile << "<h2>Monitoring task:&nbsp;&nbsp;&nbsp;&nbsp; <span " << endl;
00838   htmlFile << " style=\"color: rgb(0, 0, 153);\">Hcal Beam Monitor</span></h2> " << endl;
00839   htmlFile << "<h2>Events processed:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" << endl;
00840   htmlFile << "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span " << endl;
00841   htmlFile << " style=\"color: rgb(0, 0, 153);\">" << ievt_ << "</span></h2>" << endl;
00842   htmlFile << "<hr>" << endl;
00843 
00844   htmlFile << "<table width=100%  border = 1>"<<endl;
00845   htmlFile << "<tr><td align=\"center\" colspan=\"2\"><a href=\"#OVERALL_PROBLEMS\">PROBLEM CELLS BY DEPTH </a></td></tr>"<<endl;
00846   htmlFile << "<tr><td align=\"center\" colspan=\"2\">"<<endl;
00847   htmlFile<<"<br><a href=\"#CENTEROFENERGY\">Center-of-Energy Plots </a>"<<endl;
00848   htmlFile<<"<br><a href=\"#LONGSHORT\">Long/Short Fiber Plots </a>"<<endl;
00849   htmlFile<<"<br><a href=\"#LUMI\">Other HF Lumi Plots </a>"<<endl;
00850   htmlFile<<"</td></tr>"<<endl;
00851   if (beamclient_makeDiagnostics_)
00852     {
00853       htmlFile<<"<tr><td align=\"center\">"<<endl;
00854       htmlFile<<"<br><a href=\"#HB\">HB Individual Eta Plots </a>"<<endl;
00855       htmlFile<<"</td><td align=\"center\">"<<endl;
00856       htmlFile<<"<br><a href=\"#HE\">HE Individual Eta Plots </a>"<<endl;
00857       htmlFile<<"</td></tr><tr><td align=\"center\">"<<endl;
00858       htmlFile<<"<br><a href=\"#HO\">HO Individual Eta Plots </a>"<<endl;
00859       htmlFile<<"</td><td align=\"center\">"<<endl;
00860       htmlFile<<"<br><a href=\"#HF\">HF Individual Eta Plots </a>"<<endl;
00861     }
00862   htmlFile << "</td></tr>"<<endl;
00863   htmlFile <<"</table>"<<endl;
00864   htmlFile <<"<br><br>"<<endl;
00865 
00866 
00867   // Plot overall errors
00868   htmlFile << "<h2><strong><a name=\"OVERALL_PROBLEMS\">Eta-Phi Maps of Problem Cells By Depth</strong></h2>"<<endl;
00869   htmlFile <<" These plots of problem cells should be empty, until specific beam-monitor tests are devised<br>"<<endl;
00870   htmlFile <<"<a href= \"#EXPERT_BEAM_TOP\" > Back to Top</a><br>"<<endl;
00871   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00872   htmlFile << "cellpadding=\"10\"> " << endl;
00873   gStyle->SetPalette(20,pcol_error_); // set palette to standard error color scheme
00874   
00875   // Depths are stored as:  0:  HB/HF depth 1, 1:  HB/HF 2, 2:  HE 3, 3:  HO/ZDC, 4: HE 1, 5:  HE2
00876   // remap so that HE depths are plotted consecutively
00877   int mydepth[6]={0,1,4,5,2,3};
00878   for (int i=0;i<3;++i)
00879     {
00880       htmlFile << "<tr align=\"left\">" << endl;
00881       htmlAnyHisto(runNo,ProblemBeamCellsByDepth[mydepth[2*i]],"i#eta","i#phi", 92, htmlFile, htmlDir);
00882       htmlAnyHisto(runNo,ProblemBeamCellsByDepth[mydepth[2*i]+1],"i#eta","i#phi", 92, htmlFile, htmlDir);
00883       htmlFile <<"</tr>"<<endl;
00884     }
00885   htmlFile <<"</table>"<<endl;
00886   htmlFile <<"<br><hr><br>"<<endl;
00887   
00888 
00889   // Plot Beam Center of Energy
00890   htmlFile << "<h2><strong><a name=\"CENTEROFENERGY\">Center-of-Energy plots for all subdetectors</strong></h2>"<<endl;
00891   htmlFile <<"<a href= \"#EXPERT_BEAM_TOP\" > Back to Top</a><br>"<<endl;
00892   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00893   htmlFile << "cellpadding=\"10\"> " << endl;
00894   gStyle->SetPalette(1);
00895   
00896   htmlFile << "<tr>" << endl;
00897   htmlAnyHisto(runNo,COEradiusVSeta,"i#eta","normalized radius", 92, htmlFile, htmlDir);
00898   htmlFile <<"</tr></table>"<<endl;
00899   htmlFile <<"<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\"> "<<endl;
00900   htmlFile << "<tr align=\"center\">" << endl;
00901   htmlAnyHisto(runNo,CenterOfEnergy,"normalized x coordinate","normalized y coordinate", 92, htmlFile, htmlDir);
00902   htmlAnyHisto(runNo,CenterOfEnergyRadius,"normalized radius","", 92, htmlFile, htmlDir);
00903   htmlFile << "</tr><tr align=\"left\">" << endl;
00904   htmlAnyHisto(runNo,HBCenterOfEnergy,"normalized x coordinate","normalized y coordinate", 92, htmlFile, htmlDir);
00905   htmlAnyHisto(runNo,HBCenterOfEnergyRadius,"normalized radius","", 92, htmlFile, htmlDir);
00906   htmlFile << "</tr><tr align=\"left\">" << endl;
00907   htmlAnyHisto(runNo,HECenterOfEnergy,"normalized x coordinate","normalized y coordinate", 92, htmlFile, htmlDir);
00908   htmlAnyHisto(runNo,HECenterOfEnergyRadius,"normalized radius","", 92, htmlFile, htmlDir);
00909   htmlFile << "</tr><tr align=\"left\">" << endl;
00910   htmlAnyHisto(runNo,HOCenterOfEnergy,"normalized x coordinate","normalized y coordinate", 92, htmlFile, htmlDir);
00911   htmlAnyHisto(runNo,HOCenterOfEnergyRadius,"normalized radius","", 92, htmlFile, htmlDir);
00912   htmlFile << "</tr><tr align=\"left\">" << endl;
00913   htmlAnyHisto(runNo,HFCenterOfEnergy,"normalized x coordinate","normalized y coordinate", 92, htmlFile, htmlDir);
00914   htmlAnyHisto(runNo,HFCenterOfEnergyRadius,"normalized radius","", 92, htmlFile, htmlDir);
00915   htmlFile <<"</tr>"<<endl;
00916   htmlFile <<"</table>"<<endl;
00917   htmlFile <<"<br><hr><br>"<<endl;
00918   
00919   // Plot Long/Short Fiber Plots
00920   htmlFile << "<h2><strong><a name=\"LONGSHORT\">HF long/short Fiber plots</strong></h2>"<<endl;
00921   htmlFile <<"<a href= \"#EXPERT_BEAM_TOP\" > Back to Top</a><br>"<<endl;
00922   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00923   htmlFile << "cellpadding=\"10\"> " << endl;
00924   gStyle->SetPalette(1);
00925   
00926   htmlFile << "<tr align=\"left\">" << endl;
00927   htmlAnyHisto(runNo,Occ_eta_L,"","",92, htmlFile, htmlDir);
00928   htmlAnyHisto(runNo,Occ_eta_S,"","",92, htmlFile, htmlDir);
00929   htmlFile << "</tr><tr align=\"left\">" << endl;
00930   htmlAnyHisto(runNo,Occ_phi_L,"","",92, htmlFile, htmlDir);
00931   htmlAnyHisto(runNo,Occ_phi_S,"","",92, htmlFile, htmlDir);
00932   htmlFile << "</tr><tr align=\"left\">" << endl;
00933   htmlAnyHisto(runNo,Occ_map_L,"","",92, htmlFile, htmlDir);
00934   htmlAnyHisto(runNo,Occ_map_S,"","",92, htmlFile, htmlDir);
00935   htmlFile << "</tr><tr align=\"left\">" << endl;
00936   htmlAnyHisto(runNo,Occ_rphi_L,"","",92, htmlFile, htmlDir);
00937   htmlAnyHisto(runNo,Occ_rphi_S,"","",92, htmlFile, htmlDir);
00938   htmlFile << "</tr><tr align=\"left\">" << endl;
00939   htmlAnyHisto(runNo,Etsum_eta_L,"","",92, htmlFile, htmlDir);
00940   htmlAnyHisto(runNo,Etsum_eta_S,"","",92, htmlFile, htmlDir);
00941   htmlFile << "</tr><tr align=\"left\">" << endl;
00942   htmlAnyHisto(runNo,Etsum_phi_L,"","",92, htmlFile, htmlDir);
00943   htmlAnyHisto(runNo,Etsum_phi_S,"","",92, htmlFile, htmlDir);
00944   htmlFile << "</tr><tr align=\"left\">" << endl;
00945   htmlAnyHisto(runNo,Etsum_map_L,"","",92, htmlFile, htmlDir);
00946   htmlAnyHisto(runNo,Etsum_map_S,"","",92, htmlFile, htmlDir);
00947   htmlFile << "</tr><tr align=\"left\">" << endl;
00948   htmlAnyHisto(runNo,Etsum_rphi_L,"","",92, htmlFile, htmlDir);
00949   htmlAnyHisto(runNo,Etsum_rphi_S,"","",92, htmlFile, htmlDir);
00950 
00951   htmlFile <<"</tr>"<<endl;
00952   htmlFile <<"</table>"<<endl;
00953   htmlFile <<"<br><hr><br>"<<endl;
00954   
00955   // Plot other Lumi Plots
00956   htmlFile << "<h2><strong><a name=\"LUMI\">Other HF Lumi plots</strong></h2>"<<endl;
00957   htmlFile <<"<a href= \"#EXPERT_BEAM_TOP\" > Back to Top</a><br>"<<endl;
00958   htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00959   htmlFile << "cellpadding=\"10\"> " << endl;
00960   gStyle->SetPalette(1);
00961   
00962   htmlFile << "<tr align=\"left\">" << endl;
00963   htmlAnyHisto(runNo,Energy_Occ,"","",92, htmlFile, htmlDir);
00964   htmlAnyHisto(runNo,Etsum_ratio_map,"","",92, htmlFile, htmlDir);
00965   htmlFile << "</tr><tr align=\"left\">" << endl;
00966   htmlAnyHisto(runNo,Etsum_ratio_m,"","",92, htmlFile, htmlDir);
00967   htmlAnyHisto(runNo,Etsum_ratio_p,"","",92, htmlFile, htmlDir);
00968   htmlFile<<"</tr></table>"<<endl;
00969   htmlFile<<"<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\"><tr>"<<endl;
00970   htmlAnyHisto(runNo,HFlumi_ETsum_perwedge,"","",92, htmlFile, htmlDir);
00971   htmlFile << "</tr><tr align=\"left\">" << endl;
00972   htmlAnyHisto(runNo,HFlumi_Occupancy_above_thr_r1,"","",92, htmlFile, htmlDir);
00973   htmlAnyHisto(runNo,HFlumi_Occupancy_above_thr_r2,"","",92, htmlFile, htmlDir);
00974   htmlFile << "</tr><tr align=\"left\">" << endl;
00975   htmlAnyHisto(runNo,HFlumi_Occupancy_between_thrs_r1,"","",92, htmlFile, htmlDir);
00976   htmlAnyHisto(runNo,HFlumi_Occupancy_between_thrs_r2,"","",92, htmlFile, htmlDir);
00977   htmlFile << "</tr><tr align=\"left\">" << endl;
00978   htmlAnyHisto(runNo,HFlumi_Occupancy_below_thr_r1,"","",92, htmlFile, htmlDir);
00979   htmlAnyHisto(runNo,HFlumi_Occupancy_below_thr_r2,"","",92, htmlFile, htmlDir);
00980   htmlFile <<"</tr>"<<endl;
00981   htmlFile <<"</table>"<<endl;
00982   htmlFile <<"<br><hr><br>"<<endl;
00983 
00984   if (beamclient_makeDiagnostics_)
00985     {
00986       htmlFile << "<h2><strong><a name=\"HB\">HB individual ieta plots</strong></h2>"<<endl;
00987       htmlFile <<"<a href= \"#EXPERT_BEAM_TOP\" > Back to Top</a><br>"<<endl;
00988       htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
00989       htmlFile << "cellpadding=\"10\"> " << endl;
00990       gStyle->SetPalette(1);
00991   
00992       for (int i=0;i<16;++i)
00993         {
00994           htmlFile << "<tr align=\"left\">" << endl;
00995           htmlAnyHisto(runNo,HB_CenterOfEnergyRadius[i],"","",92, htmlFile, htmlDir);
00996           htmlAnyHisto(runNo,HB_CenterOfEnergyRadius[32-i],"","",92, htmlFile, htmlDir);
00997         }
00998       htmlFile <<"</tr>"<<endl;
00999       htmlFile <<"</table>"<<endl;
01000       htmlFile <<"<br><hr><br>"<<endl;
01001 
01002       htmlFile << "<h2><strong><a name=\"HE\">HE individual ieta plots</strong></h2>"<<endl;
01003       htmlFile <<"<a href= \"#EXPERT_BEAM_TOP\" > Back to Top</a><br>"<<endl;
01004       htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
01005       htmlFile << "cellpadding=\"10\"> " << endl;
01006       gStyle->SetPalette(1);
01007   
01008       for (int i=0;i<13;++i)
01009         {
01010           htmlFile << "<tr align=\"left\">" << endl;
01011           htmlAnyHisto(runNo,HE_CenterOfEnergyRadius[i],"","",92, htmlFile, htmlDir);
01012           htmlAnyHisto(runNo,HE_CenterOfEnergyRadius[58-i],"","",92, htmlFile, htmlDir);
01013         }
01014       htmlFile <<"</tr>"<<endl;
01015       htmlFile <<"</table>"<<endl;
01016       htmlFile <<"<br><hr><br>"<<endl;
01017  
01018       htmlFile << "<h2><strong><a name=\"HO\">HO individual ieta plots</strong></h2>"<<endl;
01019       htmlFile <<"<a href= \"#EXPERT_BEAM_TOP\" > Back to Top</a><br>"<<endl;
01020       htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
01021       htmlFile << "cellpadding=\"10\"> " << endl;
01022       gStyle->SetPalette(1);
01023   
01024       for (int i=0;i<15;++i)
01025         {
01026           htmlFile << "<tr align=\"left\">" << endl;
01027           htmlAnyHisto(runNo,HO_CenterOfEnergyRadius[i],"","",92, htmlFile, htmlDir);
01028           htmlAnyHisto(runNo,HO_CenterOfEnergyRadius[30-i],"","",92, htmlFile, htmlDir);
01029         }
01030       htmlFile <<"</tr>"<<endl;
01031       htmlFile <<"</table>"<<endl;
01032       htmlFile <<"<br><hr><br>"<<endl;
01033 
01034       htmlFile << "<h2><strong><a name=\"HF\">HF individual ieta plots</strong></h2>"<<endl;
01035       htmlFile <<"<a href= \"#EXPERT_BEAM_TOP\" > Back to Top</a><br>"<<endl;
01036       htmlFile << "<table border=\"0\" cellspacing=\"0\" " << endl;
01037       htmlFile << "cellpadding=\"10\"> " << endl;
01038       gStyle->SetPalette(1);
01039   
01040       for (int i=0;i<13;++i)
01041         {
01042           htmlFile << "<tr align=\"left\">" << endl;
01043           htmlAnyHisto(runNo,HF_CenterOfEnergyRadius[i],"","",92, htmlFile, htmlDir);
01044           htmlAnyHisto(runNo,HF_CenterOfEnergyRadius[82-i],"","",92, htmlFile, htmlDir);
01045         }
01046       htmlFile <<"</tr>"<<endl;
01047       htmlFile <<"</table>"<<endl;
01048       htmlFile <<"<br><hr><br>"<<endl;
01049 
01050     } // if (beamclient_makeDiagnostics_)
01051 
01052   // Footer 
01053   htmlFile <<"<br><hr><br><a href= \"#EXPERT_BEAM_TOP\" > Back to Top of Page </a><br>"<<endl;
01054   htmlFile <<"<a href = \".\"> Back to Main HCAL DQM Page </a><br>"<<endl;
01055   htmlFile <<"<a href= \""<<htmlName.c_str()<<"\" > Back to Beam Monitor Status Page </a><br>"<<endl;
01056 
01057   // 
01058 
01059   htmlFile << "</body> " << endl;
01060   htmlFile << "</html> " << endl;
01061   
01062   htmlFile.close();
01063 
01064   if (showTiming_)
01065     {
01066       cpu_timer.stop();  cout <<"TIMER:: HcalBeamClient  HTMLEXPERTOUTPUT ->"<<cpu_timer.cpuTime()<<endl;
01067     }
01068   return;
01069 } // void HcalBeamClient::htmlExpertOutput(...)
01070 
01071 
01072 void HcalBeamClient::loadHistograms(TFile* infile)
01073 {
01074   TNamed* tnd = (TNamed*)infile->Get("DQMData/Hcal/BeamMonitor_Hcal/BeamMonitor Event Number");
01075   if(tnd)
01076     {
01077       string s =tnd->GetTitle();
01078       ievt_ = -1;
01079       sscanf((s.substr(2,s.length()-2)).c_str(), "%d", &ievt_);
01080     }
01081 
01082   ostringstream name;
01083   // Grab individual histograms
01084   name<<process_.c_str()<<"BeamMonitor_Hcal/ ProblemBeamCells";
01085   ProblemBeamCells = (TH2F*)infile->Get(name.str().c_str());
01086   name.str("");
01087   
01088   for (int i=0;i<6;++i)
01089     {
01090       // Grab arrays of histograms
01091       name<<process_.c_str()<<"BeamMonitor_Hcal/problem_beammonitor/"<<subdets_[i]<<" Problem BeamMonitor Rate";
01092       ProblemBeamCellsByDepth[i] = (TH2F*)infile->Get(name.str().c_str());
01093       name.str("");
01094     }
01095   name<<process_.c_str()<<"BeamMonitor_Hcal/CenterOfEnergyRadius";
01096   CenterOfEnergyRadius =  (TH1F*)infile->Get(name.str().c_str());
01097   name.str("");
01098   name<<process_.c_str()<<"BeamMonitor_Hcal/CenterOfEnergy";
01099   CenterOfEnergy =  (TH2F*)infile->Get(name.str().c_str());
01100   name.str("");
01101   name<<process_.c_str()<<"BeamMonitor_Hcal/COEradiusVSeta";
01102   COEradiusVSeta =  (TProfile*)infile->Get(name.str().c_str());
01103   name.str("");
01104   name<<process_.c_str()<<"BeamMonitor_Hcal/HB/CenterOfEnergyRadius";
01105   HBCenterOfEnergyRadius =  (TH1F*)infile->Get(name.str().c_str());
01106   name.str("");
01107   name<<process_.c_str()<<"BeamMonitor_Hcal/HB/CenterOfEnergy";
01108   HBCenterOfEnergy =  (TH2F*)infile->Get(name.str().c_str());
01109   name.str("");
01110 
01111   if (beamclient_makeDiagnostics_)
01112     {
01113       for (int i=-16;i<=16;++i)
01114         {
01115           if (i==0) continue;
01116           name<<process_.c_str()<<"BeamMonitor_Hcal/HB/HB_CenterOfEnergyRadius_ieta"<<i;
01117           HB_CenterOfEnergyRadius[i+16]=  (TH1F*)infile->Get(name.str().c_str());
01118           name.str("");
01119         }
01120     }
01121   name<<process_.c_str()<<"BeamMonitor_Hcal/HE/CenterOfEnergyRadius";
01122   HECenterOfEnergyRadius =  (TH1F*)infile->Get(name.str().c_str());
01123   name.str("");
01124   name<<process_.c_str()<<"BeamMonitor_Hcal/HE/CenterOfEnergy";
01125   HECenterOfEnergy =  (TH2F*)infile->Get(name.str().c_str());
01126   name.str("");
01127 
01128   if (beamclient_makeDiagnostics_)
01129     {
01130       for (int i=-29;i<=29;++i)
01131         {
01132           if (i==0) continue;
01133           name<<process_.c_str()<<"BeamMonitor_Hcal/HE/HE_CenterOfEnergyRadius_ieta"<<i;
01134           HE_CenterOfEnergyRadius[i+29]=  (TH1F*)infile->Get(name.str().c_str());
01135           name.str("");
01136         }
01137     }
01138   name<<process_.c_str()<<"BeamMonitor_Hcal/HO/CenterOfEnergyRadius";
01139   HOCenterOfEnergyRadius =  (TH1F*)infile->Get(name.str().c_str());
01140   name.str("");
01141   name<<process_.c_str()<<"BeamMonitor_Hcal/HO/CenterOfEnergy";
01142   HOCenterOfEnergy =  (TH2F*)infile->Get(name.str().c_str());
01143   name.str("");
01144   
01145   if (beamclient_makeDiagnostics_)
01146     {
01147       for (int i=-15;i<=15;++i)
01148         {
01149           if (i==0) continue;
01150           name<<process_.c_str()<<"BeamMonitor_Hcal/HO/HO_CenterOfEnergyRadius_ieta"<<i;
01151           HO_CenterOfEnergyRadius[i+15]=  (TH1F*)infile->Get(name.str().c_str());
01152           name.str("");
01153         }
01154     }
01155   name<<process_.c_str()<<"BeamMonitor_Hcal/HF/CenterOfEnergyRadius";
01156   HFCenterOfEnergyRadius =  (TH1F*)infile->Get(name.str().c_str());
01157   name.str("");
01158   name<<process_.c_str()<<"BeamMonitor_Hcal/HF/CenterOfEnergy";
01159   HFCenterOfEnergy =  (TH2F*)infile->Get(name.str().c_str());
01160   name.str("");
01161 
01162   if (beamclient_makeDiagnostics_)
01163     {
01164       for (int i=-41;i<=41;++i)
01165         {
01166           if (i==0) continue;
01167           name<<process_.c_str()<<"BeamMonitor_Hcal/HF/HF_CenterOfEnergyRadius_ieta"<<i;
01168           HF_CenterOfEnergyRadius[i+41]=  (TH1F*)infile->Get(name.str().c_str());
01169           name.str("");
01170         }
01171     }
01172   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Eta Long Fiber";
01173   Etsum_eta_L= (TProfile*)infile->Get(name.str().c_str());
01174   name.str("");
01175   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Eta Short Fiber";
01176   Etsum_eta_S= (TProfile*)infile->Get(name.str().c_str());
01177   name.str("");
01178   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Phi Long Fiber";
01179   Etsum_phi_L= (TProfile*)infile->Get(name.str().c_str());
01180   name.str("");
01181   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Et Sum vs Phi Short Fiber";
01182   Etsum_phi_S= (TProfile*)infile->Get(name.str().c_str());
01183   name.str("");
01184   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs fm HF+";
01185   Etsum_ratio_p= (TH1F*)infile->Get(name.str().c_str());
01186   name.str("");
01187   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Energy";
01188   Energy_Occ= (TH1F*)infile->Get(name.str().c_str());
01189   name.str("");
01190   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs fm HF-";
01191   Etsum_ratio_m= (TH1F*)infile->Get(name.str().c_str());
01192   name.str("");
01193   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and eta Long Fiber";
01194   Etsum_map_L= (TH2F*)infile->Get(name.str().c_str());
01195   name.str("");
01196   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and eta Short Fiber";
01197   Etsum_map_S= (TH2F*)infile->Get(name.str().c_str());
01198   name.str("");
01199   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and radius Long Fiber";
01200   Etsum_rphi_L= (TH2F*)infile->Get(name.str().c_str());
01201   name.str("");
01202   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/EtSum 2D phi and radius Short Fiber";
01203   Etsum_rphi_S= (TH2F*)infile->Get(name.str().c_str());
01204   name.str("");
01205   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Abnormal fm";
01206   Etsum_ratio_map= (TH2F*)infile->Get(name.str().c_str());
01207   name.str("");
01208   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ 2D phi and radius Short Fiber";
01209   Occ_rphi_S= (TH2F*)infile->Get(name.str().c_str());
01210   name.str("");
01211   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ 2D phi and radius Long Fiber";
01212   Occ_rphi_L= (TH2F*)infile->Get(name.str().c_str());
01213   name.str("");
01214   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Eta Short Fiber";
01215   Occ_eta_S= (TProfile*)infile->Get(name.str().c_str());
01216   name.str("");
01217   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Eta Long Fiber";
01218   Occ_eta_L= (TProfile*)infile->Get(name.str().c_str());
01219   name.str("");
01220   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Phi Short Fiber";
01221   Occ_phi_S= (TProfile*)infile->Get(name.str().c_str());
01222   name.str("");
01223   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ vs Phi Long Fiber";
01224   Occ_phi_L= (TProfile*)infile->Get(name.str().c_str());
01225   name.str("");
01226   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ_map Long Fiber";
01227   Occ_map_L= (TH2F*)infile->Get(name.str().c_str());
01228   name.str("");
01229   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/Occ_map Short Fiber";
01230   Occ_map_S= (TH2F*)infile->Get(name.str().c_str());
01231   name.str("");
01232 
01233   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi ET-sum per wedge";
01234   HFlumi_ETsum_perwedge= (TH1F*)infile->Get(name.str().c_str());
01235   name.str("");
01236   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy above threshold ring1";
01237   HFlumi_Occupancy_above_thr_r1= (TH1F*)infile->Get(name.str().c_str());
01238   name.str("");
01239   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy between thresholds ring1";
01240   HFlumi_Occupancy_between_thrs_r1= (TH1F*)infile->Get(name.str().c_str());
01241   name.str("");
01242   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy below threshold ring1";
01243   HFlumi_Occupancy_below_thr_r1= (TH1F*)infile->Get(name.str().c_str());
01244   name.str("");
01245   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy above threshold ring2";
01246   HFlumi_Occupancy_above_thr_r2= (TH1F*)infile->Get(name.str().c_str());
01247   name.str("");
01248   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy between thresholds ring2";
01249   HFlumi_Occupancy_between_thrs_r2= (TH1F*)infile->Get(name.str().c_str());
01250   name.str("");
01251   name<<process_.c_str()<<"BeamMonitor_Hcal/Lumi/HF lumi Occupancy below threshold ring2";
01252   HFlumi_Occupancy_below_thr_r2= (TH1F*)infile->Get(name.str().c_str());
01253   name.str("");
01254 
01255   return;
01256 
01257 }

Generated on Tue Jun 9 17:32:55 2009 for CMSSW by  doxygen 1.5.4