CMS 3D CMS Logo

LumiSummary.cc

Go to the documentation of this file.
00001 
00002 // $Id: LumiSummary.cc,v 1.3 2008/10/23 21:38:25 wdd Exp $
00003 
00004 #include "DataFormats/Luminosity/interface/LumiSummary.h"
00005 
00006 #include <iomanip>
00007 
00008 using namespace std;
00009 
00010 bool
00011 LumiSummary::isProductEqual(LumiSummary const& next) {
00012   return (avginsdellumi_ == next.avginsdellumi_ &&
00013           avginsdellumierr_ == next.avginsdellumierr_ &&
00014           lumisecqual_ == next.lumisecqual_ &&
00015           deadfrac_ == next.deadfrac_ &&
00016           lsnumber_ == next.lsnumber_ &&
00017           l1ratecounter_ == next.l1ratecounter_ &&
00018           l1scaler_ == next.l1scaler_ &&
00019           hltratecounter_ == next.hltratecounter_ &&
00020           hltscaler_ == next.hltscaler_ &&
00021           hltinput_ == next.hltinput_);
00022 }
00023 
00024 std::ostream& operator<<(std::ostream& s, const LumiSummary& lumiSummary) {
00025 
00026   const std::vector<int>& l1ratecounter  = lumiSummary.l1RateCounter();
00027   const std::vector<int>& l1scaler       = lumiSummary.l1Scaler();
00028   const std::vector<int>& hltratecounter = lumiSummary.hltRateCounter();
00029   const std::vector<int>& hltscaler      = lumiSummary.hltScaler();
00030   const std::vector<int>& hltinput       = lumiSummary.hltInput();
00031 
00032   unsigned int maxSize = l1ratecounter.size();
00033   if (l1scaler.size() > maxSize) maxSize = l1scaler.size();
00034   if (hltratecounter.size() > maxSize) maxSize = hltratecounter.size();
00035   if (hltscaler.size() > maxSize) maxSize = hltscaler.size();
00036   if (hltinput.size() > maxSize) maxSize = hltinput.size();
00037 
00038   s << "\nDumping LumiSummary\n\n";
00039 
00040   s << "  avgInsDelLumi = " << lumiSummary.avgInsDelLumi() << "\n";
00041   s << "  avgInsDelLumiErr = " << lumiSummary.avgInsDelLumiErr() << "\n";
00042   s << "  lumiSecQual = " << lumiSummary.lumiSecQual() << "\n";
00043   s << "  deadFrac = " << lumiSummary.deadFrac() << "\n";
00044   s << "  liveFrac = " << lumiSummary.liveFrac() << "\n";
00045   s << "  lsNumber = " << lumiSummary.lsNumber() << "\n";
00046   s << "  avgInsRecLumi = " << lumiSummary.avgInsRecLumi() << "\n";
00047   s << "  avgInsRecLumiErr = " << lumiSummary.avgInsRecLumiErr() << "\n\n";
00048 
00049   s << setw(15) << "l1ratecounter";
00050   s << setw(15) << "l1scaler";
00051   s << setw(15) << "hltratecounter";
00052   s << setw(15) << "hltscaler";
00053   s << setw(15) << "hltinput";
00054   s << "\n";
00055 
00056   for (unsigned int i = 0; i < maxSize; ++i) {
00057 
00058     s << setw(15);
00059     i < l1ratecounter.size() ? s << l1ratecounter[i] : s << " ";
00060 
00061     s << setw(15);
00062     i < l1scaler.size() ? s << l1scaler[i] : s << " ";
00063 
00064     s << setw(15);
00065     i < hltratecounter.size() ? s << hltratecounter[i] : s << " ";
00066 
00067     s << setw(15);
00068     i < hltscaler.size() ? s << hltscaler[i] : s << " ";
00069 
00070     s << setw(15);
00071     i < hltinput.size() ? s << hltinput[i] : s << " ";
00072 
00073     s << "\n";
00074   }
00075   return s << "\n";
00076 }

Generated on Tue Jun 9 17:31:14 2009 for CMSSW by  doxygen 1.5.4