CMS 3D CMS Logo

EcalHexDisplay Class Reference

Author:
G.
More...

#include <CaloOnlineTools/EcalTools/plugins/EcalHexDisplay.h>

Inheritance diagram for EcalHexDisplay:

edm::EDAnalyzer

List of all members.

Public Member Functions

 EcalHexDisplay (const edm::ParameterSet &ps)
 
Author:
G.


Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)

Protected Attributes

int beg_fed_id_
int end_fed_id_
int event_
std::string filename_
int first_event_
int last_event_
int verbosity_
bool writeDcc_


Detailed Description

Author:
G.

Franzoni

Definition at line 26 of file EcalHexDisplay.h.


Constructor & Destructor Documentation

EcalHexDisplay::EcalHexDisplay ( const edm::ParameterSet ps  ) 

Author:
G.

Franzoni

Definition at line 9 of file EcalHexDisplay.cc.

00009                                                         :
00010     verbosity_ (ps.getUntrackedParameter<int>("verbosity",1)),
00011     beg_fed_id_ (ps.getUntrackedParameter<int>("beg_fed_id",0)),
00012     end_fed_id_ (ps.getUntrackedParameter<int>("end_fed_id",654)),
00013     first_event_ (ps.getUntrackedParameter<int>("first_event",1)),
00014     last_event_  (ps.getUntrackedParameter<int>("last_event",9999999)),
00015     event_ (0),
00016     writeDcc_ (ps.getUntrackedParameter<bool>("writeDCC",false)),
00017     filename_ (ps.getUntrackedParameter<std::string>("filename","dump.bin"))
00018 {  
00019 }


Member Function Documentation

void EcalHexDisplay::analyze ( const edm::Event e,
const edm::EventSetup c 
) [protected, virtual]

Implements edm::EDAnalyzer.

Definition at line 21 of file EcalHexDisplay.cc.

References beg_fed_id_, GenMuonPlsPt100GeV_cfg::cout, data, FEDRawData::data(), end_fed_id_, lat::endl(), event_, filename_, first_event_, edm::Event::getByType(), id, last_event_, FEDNumbering::lastFEDId(), FEDRawData::size(), and writeDcc_.

00021                                                                         {
00022   
00023   event_++;
00024   if (event_ < first_event_ || last_event_ < event_) return;
00025   
00026 
00027   edm::Handle<FEDRawDataCollection> rawdata;
00028   e.getByType(rawdata);  
00029 
00030   std::ofstream dumpFile (filename_.c_str(),std::ios::app );
00031   
00032   for (int id= 0; id<=FEDNumbering::lastFEDId(); ++id){ 
00033     
00034     if (id < beg_fed_id_ || end_fed_id_ < id) continue;
00035 
00036     const FEDRawData& data = rawdata->FEDData(id);
00037     
00038     if (data.size()>4){      
00039       
00040       std::cout << "\n\n\n[EcalHexDumperModule] Event: " 
00041                 << std::dec << event_ 
00042                 << " fed_id: " << id 
00043                 << " size_fed: " << data.size() << "\n"<< std::endl;
00044       
00045       if ( ( data.size() %16 ) !=0)
00046         {
00047           std::cout << "***********************************************" << std::endl;
00048           std::cout<< "Fed size in bits not multiple of 64, strange." << std::endl;
00049           std::cout << "***********************************************" << std::endl;
00050         }
00051       
00052       
00053       int length = data.size();
00054       const ulong               * pData     = ( reinterpret_cast<ulong*>(const_cast<unsigned char*> ( data.data())));
00055       std::cout << std::setfill('0');
00056       for (int words=0; words < length/4; (words+=2)  )
00057         {
00058           std::cout << std::setw(8)   << std::hex << pData[words+1] << " ";
00059           std::cout << std::setw(8)   << std::hex << pData[words] << std::endl;
00060         }
00061 
00062       std::cout << "\n";
00063 
00064 
00065       if (beg_fed_id_ <= id && id <= end_fed_id_ && writeDcc_)
00066         {
00067           dumpFile.write( reinterpret_cast <const char *> (pData), length);
00068         }
00069     }
00070     
00071   }
00072   dumpFile.close();    
00073   if (! writeDcc_) remove(filename_.c_str()); 
00074 }


Member Data Documentation

int EcalHexDisplay::beg_fed_id_ [protected]

Definition at line 33 of file EcalHexDisplay.h.

Referenced by analyze().

int EcalHexDisplay::end_fed_id_ [protected]

Definition at line 34 of file EcalHexDisplay.h.

Referenced by analyze().

int EcalHexDisplay::event_ [protected]

Definition at line 37 of file EcalHexDisplay.h.

Referenced by analyze().

std::string EcalHexDisplay::filename_ [protected]

Definition at line 39 of file EcalHexDisplay.h.

Referenced by analyze().

int EcalHexDisplay::first_event_ [protected]

Definition at line 35 of file EcalHexDisplay.h.

Referenced by analyze().

int EcalHexDisplay::last_event_ [protected]

Definition at line 36 of file EcalHexDisplay.h.

Referenced by analyze().

int EcalHexDisplay::verbosity_ [protected]

Definition at line 32 of file EcalHexDisplay.h.

bool EcalHexDisplay::writeDcc_ [protected]

Definition at line 38 of file EcalHexDisplay.h.

Referenced by analyze().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:19:39 2009 for CMSSW by  doxygen 1.5.4