CMS 3D CMS Logo

DumpTools.h File Reference

#include "IOPool/Streamer/interface/MsgTools.h"
#include "IOPool/Streamer/interface/InitMessage.h"
#include "IOPool/Streamer/interface/EventMessage.h"
#include "IOPool/Streamer/interface/DQMEventMessage.h"
#include "IOPool/Streamer/interface/FRDEventMessage.h"

Go to the source code of this file.

Functions

void dumpDQMEventHeader (const DQMEventMsgView *dview)
void dumpDQMEventView (const DQMEventMsgView *dview)
void dumpEvent (uint8 *buf)
void dumpEventHeader (const EventMsgView *eview)
void dumpEventIndex (const EventMsgView *eview)
void dumpEventView (const EventMsgView *eview)
void dumpFRDEventView (const FRDEventMsgView *fview)
void dumpInit (uint8 *buf)
void dumpInitHeader (const InitMsgView *view)
 File contains simple tools to dump Init and Event Messages on screen.
void dumpInitVerbose (const InitMsgView *view)
void dumpInitView (const InitMsgView *view)
void dumpStartMsg (const InitMsgView *view)
void printBits (unsigned char c)


Function Documentation

void dumpDQMEventHeader ( const DQMEventMsgView dview  ) 

Definition at line 206 of file DumpTools.cc.

References DQMEventMsgView::code(), DQMEventMsgView::compressionFlag(), GenMuonPlsPt100GeV_cfg::cout, DQMEventMsgView::eventLength(), DQMEventMsgView::eventNumberAtUpdate(), DQMEventMsgView::fuGuid(), DQMEventMsgView::fuProcessId(), DQMEventMsgView::lumiSection(), DQMEventMsgView::protocolVersion(), DQMEventMsgView::releaseTag(), DQMEventMsgView::reserved(), DQMEventMsgView::runNumber(), DQMEventMsgView::size(), DQMEventMsgView::topFolderName(), and DQMEventMsgView::updateNumber().

Referenced by dumpDQMEventView().

00208 {
00209   std::cout << "code = " << dview->code() << "\n"
00210        << "size = " << dview->size() << "\n"
00211        << "protocolVersion = " << dview->protocolVersion() << "\n"
00212        << "run = " << dview->runNumber() << "\n"
00213        << "event = " << dview->eventNumberAtUpdate() << "\n"
00214        << "lumi = " << dview->lumiSection() << "\n"
00215        << "update = " << dview->updateNumber() << "\n"
00216        << "compressionFlag = " << dview->compressionFlag() << "\n"
00217        << "fuProcessId = " << dview->fuProcessId() << "\n"
00218        << "fuGuid = 0x" << std::hex << dview->fuGuid() << std::dec << "\n"
00219        << "reserved = " << dview->reserved() << "\n"
00220        << "release = " << dview->releaseTag() << "\n"
00221        << "topFolder = " << dview->topFolderName() << "\n"
00222        << "event length = " << dview->eventLength() << "\n";
00223   std::cout.flush();

void dumpDQMEventView ( const DQMEventMsgView dview  ) 

Definition at line 225 of file DumpTools.cc.

References count, GenMuonPlsPt100GeV_cfg::cout, dumpDQMEventHeader(), lat::endl(), DQMEventMsgView::meCount(), name, and DQMEventMsgView::subFolderNames().

00227 {
00228   std::cout << "\n>>>>> DQMEvent Message Dump (begin) >>>>>" << std::endl;
00229   dumpDQMEventHeader(dview);
00230 
00231   boost::shared_ptr< std::vector<std::string> > subFolders =
00232     dview->subFolderNames();
00233   for (uint32 idx = 0; idx < subFolders->size(); idx++) {
00234     std::string name = subFolders->at(idx);
00235     uint32 count = dview->meCount(name);
00236     std::cout << "Subfolder " << name << " has " << count
00237               << " monitor elements." << std::endl;
00238   }
00239 
00240   std::cout << ">>>>> DQMEvent Message Dump (end) >>>>>" << std::endl;
00241   std::cout.flush();

void dumpEvent ( uint8 buf  ) 

Definition at line 191 of file DumpTools.cc.

References GenMuonPlsPt100GeV_cfg::cout, and dumpEventHeader().

00193 {
00194   EventMsgView eview(buf);
00195 
00196   dumpEventHeader(&eview);
00197 
00198   //const uint8* edata = eview.eventData();
00199   //std::cout << "\nevent data=\n(";
00200   //std::copy(&edata[0],&edata[0]+eview.eventLength(),
00201   //     std::ostream_iterator<char>(std::cout,""));
00202   //std::cout << ")\n";
00203   std::cout.flush();
00204 

void dumpEventHeader ( const EventMsgView eview  ) 

Definition at line 143 of file DumpTools.cc.

References EventMsgView::code(), edm::copy_all(), GenMuonPlsPt100GeV_cfg::cout, EventMsgView::event(), EventMsgView::eventLength(), EventMsgView::hltCount(), EventMsgView::hltTriggerBits(), i, EventMsgView::l1TriggerBits(), EventMsgView::lumi(), EventMsgView::origDataSize(), EventMsgView::outModId(), printBits(), EventMsgView::protocolVersion(), EventMsgView::run(), and EventMsgView::size().

Referenced by dumpEvent(), dumpEventIndex(), and dumpEventView().

00145 {
00146   std::cout << "code=" << eview->code() << "\n"
00147        << "size=" << eview->size() << "\n"
00148        << "protocolVersion=" << eview->protocolVersion() << "\n"
00149        << "run=" << eview->run() << "\n"
00150        << "event=" << eview->event() << "\n"
00151        << "lumi=" << eview->lumi() << "\n"
00152        << "origDataSize=" << eview->origDataSize() << "\n"
00153        << "outModId=0x" << std::hex << eview->outModId() << std::dec << "\n"
00154        << "event length=" << eview->eventLength() << "\n";
00155 
00156   std::vector<bool> l1_out;
00157   eview->l1TriggerBits(l1_out);
00158 
00159   std::cout << "\nl1 size= " << l1_out.size() << "\n l1 bits=\n";
00160   edm::copy_all(l1_out,std::ostream_iterator<bool>(std::cout," "));
00161 
00162   std::vector<unsigned char> hlt_out;
00163   if (eview->hltCount() > 0) {hlt_out.resize(1 + (eview->hltCount()-1)/4);}
00164   eview->hltTriggerBits(&hlt_out[0]);
00165 
00166   std::cout << "\nhlt Count:" << eview->hltCount();
00167   std::cout << "\nhlt bits=\n(";
00168   for(int i=(hlt_out.size()-1); i != -1 ; --i)
00169     printBits(hlt_out[i]);
00170   std::cout << ")\n";
00171   std::cout.flush();

void dumpEventIndex ( const EventMsgView eview  ) 

Definition at line 185 of file DumpTools.cc.

References GenMuonPlsPt100GeV_cfg::cout, and dumpEventHeader().

00187 {
00188   dumpEventHeader(eview);
00189   std::cout.flush();

void dumpEventView ( const EventMsgView eview  ) 

Definition at line 173 of file DumpTools.cc.

References GenMuonPlsPt100GeV_cfg::cout, and dumpEventHeader().

00175   {
00176   dumpEventHeader(eview);
00177   //const uint8* edata = eview->eventData();
00178   //std::cout << "\nevent data=\n(";
00179   //std::copy(&edata[0],&edata[0]+eview->eventLength(),
00180   //     std::ostream_iterator<char>(std::cout,""));
00181   //std::cout << ")\n";
00182   std::cout.flush();
00183 

void dumpFRDEventView ( const FRDEventMsgView fview  ) 

Definition at line 243 of file DumpTools.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), FRDEventMsgView::event(), FRDEventMsgView::lumi(), FRDEventMsgView::run(), FRDEventMsgView::size(), and FRDEventMsgView::version().

00245 {
00246   std::cout << "\n>>>>> FRDEvent Message Dump (begin) >>>>>" << std::endl;
00247   std::cout.flush();
00248 
00249   std::cout << "size = " << fview->size() << "\n"
00250             << "version = " << fview->version() << "\n"
00251             << "run = " << fview->run() << "\n"
00252             << "lumi = " << fview->lumi() << "\n"
00253             << "event = " << fview->event() << "\n";
00254   std::cout.flush();
00255 
00256   std::cout << ">>>>> FRDEvent Message Dump (end) >>>>>" << std::endl;
00257   std::cout.flush();

void dumpInit ( uint8 buf  ) 

Definition at line 123 of file DumpTools.cc.

References GenMuonPlsPt100GeV_cfg::cout, InitMsgView::descLength(), and dumpInitHeader().

00125 {
00126   InitMsgView view(buf);
00127   dumpInitHeader(&view);
00128   
00129   std::cout << "desc len = " << view.descLength() << "\n";
00130   //const uint8* pos = view.descData();
00131   //std::copy(pos,pos+view.descLength(),std::ostream_iterator<uint8>(std::cout,""));
00132   //std::cout << "\n";
00133   std::cout.flush();

void dumpInitHeader ( const InitMsgView view  ) 

File contains simple tools to dump Init and Event Messages on screen.

Definition at line 22 of file DumpTools.cc.

References InitMsgView::code(), edm::copy_all(), GenMuonPlsPt100GeV_cfg::cout, cms::Digest::digest(), lat::endl(), InitMsgView::hltTriggerNames(), InitMsgView::hltTriggerSelections(), InitMsgView::l1TriggerNames(), InitMsgView::outputModuleId(), InitMsgView::outputModuleLabel(), InitMsgView::processName(), InitMsgView::protocolVersion(), InitMsgView::pset(), r1, InitMsgView::releaseTag(), InitMsgView::run(), InitMsgView::size(), and cms::MD5Result::toString().

Referenced by dumpInit(), dumpInitVerbose(), dumpInitView(), and dumpStartMsg().

00024 {
00025   std::cout
00026     << "code = " << view->code() << ", "
00027     << "size = " << view->size() << "\n"
00028     << "run = " << view->run() << ", "
00029     << "proto = " << view->protocolVersion() << "\n"
00030     << "release = " << view->releaseTag() << "\n"
00031     << "processName = " << view->processName() << "\n";
00032   if (view->protocolVersion() >= 5) {
00033     std::cout << "outModuleLabel = " << view->outputModuleLabel() << "\n";
00034   }
00035   if (view->protocolVersion() >= 6) {
00036     std::cout << "outputModuleId=0x" << std::hex << view->outputModuleId()
00037               << std::dec << std::endl;
00038   }
00039 
00040   //PSet 16 byte non-printable representation, stored in message.
00041   uint8 vpset[16];
00042   view->pset(vpset); 
00043 
00044   //Lets convert it to printable hex form
00045   vpset[16]='\0';
00046   std::string pset_str((char*) &vpset[0]);
00047   cms::Digest dig(pset_str);
00048   cms::MD5Result r1 = dig.digest();
00049   std::string hexy = r1.toString();
00050   std::cout << "PSetID= " << hexy << std::endl;
00051 
00052   Strings vhltnames,vhltselections,vl1names;
00053   view->hltTriggerNames(vhltnames);
00054   if (view->protocolVersion() >= 5) {
00055     view->hltTriggerSelections(vhltselections);
00056   }
00057   view->l1TriggerNames(vl1names);
00058 
00059   std::cout << "HLT names :- \n ";
00060   edm::copy_all(vhltnames,std::ostream_iterator<std::string>(std::cout,"\n"));
00061 
00062   if (view->protocolVersion() >= 5) {
00063     std::cout << "HLT selections :- \n ";
00064     edm::copy_all(vhltselections,std::ostream_iterator<std::string>(std::cout,"\n"));
00065   }
00066 
00067   std::cout << "L1 names :- \n ";
00068   edm::copy_all(vl1names,std::ostream_iterator<std::string>(std::cout,"\n"));
00069   std::cout << "\n";
00070   std::cout.flush();
00071 

void dumpInitVerbose ( const InitMsgView view  ) 

Definition at line 92 of file DumpTools.cc.

References edm::BranchDescription::branchName(), GenMuonPlsPt100GeV_cfg::cout, InitMsgView::descData(), InitMsgView::descLength(), dumpInitHeader(), lat::endl(), edm::getTClass(), and edm::BranchDescription::init().

00094 {
00095   std::cout << ">>>>> INIT Message Dump (begin) >>>>>" << std::endl;
00096   dumpInitHeader(view);
00097 
00098   TClass* desc = getTClass(typeid(SendJobHeader));
00099   RootBuffer xbuf(TBuffer::kRead, view->descLength(),
00100                (char*)view->descData(), kFALSE);
00101   std::auto_ptr<SendJobHeader> sd((SendJobHeader*)xbuf.ReadObjectAny(desc));
00102 
00103   if (sd.get() == 0) {
00104     std::cout << "Unable to determine the product registry - "
00105               << "Registry deserialization error." << std::endl;
00106   }
00107   else {
00108     std::cout << "Branch Descriptions:" << std::endl;
00109     SendDescs const& descs = sd->descs();
00110     SendDescs::const_iterator iDesc(descs.begin()), eDesc(descs.end());
00111     while (iDesc != eDesc) {
00112       BranchDescription branchDesc = *iDesc;
00113       branchDesc.init();
00114       //branchDesc.write(std::cout);
00115       std::cout << branchDesc.branchName() << std::endl;
00116       iDesc++;
00117     }
00118   }
00119 
00120   std::cout << "<<<<< INIT Message Dump (end) <<<<<" << std::endl;
00121   std::cout.flush();

void dumpInitView ( const InitMsgView view  ) 

Definition at line 73 of file DumpTools.cc.

References GenMuonPlsPt100GeV_cfg::cout, InitMsgView::descLength(), and dumpInitHeader().

00075 {
00076 
00077 
00078   dumpInitHeader(view);
00079   std::cout << "desc len = " << view->descLength() << "\n";
00080   //const uint8* pos = view->descData();
00081   //std::copy(pos,pos+view->descLength(),std::ostream_iterator<uint8>(std::cout,""));
00082   //std::cout << "\n";
00083   std::cout.flush();
00084 

void dumpStartMsg ( const InitMsgView view  ) 

Definition at line 86 of file DumpTools.cc.

References GenMuonPlsPt100GeV_cfg::cout, and dumpInitHeader().

00088 {
00089   dumpInitHeader(view);
00090   std::cout.flush();

void printBits ( unsigned char  c  ) 

Definition at line 135 of file DumpTools.cc.

References GenMuonPlsPt100GeV_cfg::cout, and i.

Referenced by dumpEventHeader().

00136                                {
00137 
00138         for (int i = 7; i >= 0; --i) {
00139             int bit = ((c >> i) & 1);
00140             std::cout << " "<<bit;
00141         }


Generated on Tue Jun 9 17:54:18 2009 for CMSSW by  doxygen 1.5.4