CMS 3D CMS Logo

HcalDataFormatMonitor Class Reference

#include <DQM/HcalMonitorTasks/interface/HcalDataFormatMonitor.h>

Inheritance diagram for HcalDataFormatMonitor:

HcalBaseMonitor

List of all members.

Public Member Functions

void clearME ()
 HcalDataFormatMonitor ()
void HTRPrint (const HcalHTRData &htr, int prtlvl)
void labelHTRBits (MonitorElement *mePlot, unsigned int axisType)
void labelthezoo (MonitorElement *zoo)
void processEvent (const FEDRawDataCollection &rawraw, const HcalUnpackerReport &report, const HcalElectronicsMap &emap)
void reset ()
void setup (const edm::ParameterSet &ps, DQMStore *dbe)
void smuggleMaps (std::map< uint32_t, std::vector< HcalDetId > > &givenDCCtoCell, std::map< pair< int, int >, std::vector< HcalDetId > > &givenHTRtoCell)
void unpack (const FEDRawData &raw, const HcalElectronicsMap &emap)
 ~HcalDataFormatMonitor ()

Public Attributes

std::map< uint32_t,
std::vector< HcalDetId > > 
DCCtoCell
std::map< pair< int, int >,
std::vector< HcalDetId > > 
HTRtoCell
std::map< uint32_t,
std::vector< HcalDetId >
>::iterator 
thisDCC
std::map< pair< int, int >,
std::vector< HcalDetId >
>::iterator 
thisHTR

Private Member Functions

void fillzoos (int bin, int dccid)
bool isUnsuppressed (HcalHTRData &payload)
void label_xChanns (MonitorElement *me_ptr, int xbins)
void label_xFEDs (MonitorElement *me_ptr, int xbins)
void label_ySpigots (MonitorElement *me_ptr, int ybins)
void LabelChannInteg (MonitorElement *me_ptr)
void mapDCCproblem (int dcc)
void mapHTRproblem (int dcc, int spigot)
void UpdateMap ()
void UpdateMEs ()

Private Attributes

std::map< int, short > CDFEventType_list
std::map< int, short >::iterator CDFEvT_it
std::map< int, short >::iterator CDFReservedBits_it
std::map< int, short > CDFReservedBits_list
std::map< int, short >::iterator CDFvers_it
std::map< int, short > CDFversionNumber_list
float Chann_DataIntegrityCheck_ [NUMDCCS][CIX][CIY]
float ChannSumm_DataIntegrityCheck_ [CSDIX][HHDIY]
int currFiberChan
MonitorElementDATAFORMAT_PROBLEM_MAP
MonitorElementDATAFORMAT_PROBLEM_ZOO
float DCC_DataIntegrityCheck_ [RCDIX][RCDIY]
MonitorElementDCC_ErrWd_HBHE
MonitorElementDCC_ErrWd_HF
MonitorElementDCC_ErrWd_HO
vector< intdccCrate_
std::map< int, short >::iterator DCCEvtFormat_it
std::map< int, short > DCCEvtFormat_list
std::map< int, short >::iterator DCCRsvdBits_it
std::map< int, short > DCCRsvdBits_list
vector< HcalSubdetectordccSubdet_
int dfmon_checkNevents
MonitorElementfedEntries_
MonitorElementfedFatal_
vector< intfedUnpackList_
int firstFED_
float HalfHTR_DataIntegrityCheck_ [HHDIX][HHDIY]
MonitorElementHB_DATAFORMAT_PROBLEM_MAP
MonitorElementHBHE_DATAFORMAT_PROBLEM_ZOO
std::vector< std::vector
< uint64_t > > 
HBmap
MonitorElementHE_DATAFORMAT_PROBLEM_MAP
std::vector< std::vector
< uint64_t > > 
HEmap
MonitorElementHF_DATAFORMAT_PROBLEM_MAP
MonitorElementHF_DATAFORMAT_PROBLEM_ZOO
std::vector< std::vector
< uint64_t > > 
HFmap
MonitorElementHO_DATAFORMAT_PROBLEM_MAP
MonitorElementHO_DATAFORMAT_PROBLEM_ZOO
std::vector< std::vector
< uint64_t > > 
HOmap
int ievt_
int lastBCN_
int lastEvtN_
MonitorElementme_HBHE_ZS_SlidingSum
MonitorElementme_HBHE_ZS_SlidingSum_US
MonitorElementme_HF_ZS_SlidingSum
MonitorElementme_HF_ZS_SlidingSum_US
MonitorElementme_HO_ZS_SlidingSum
MonitorElementme_HO_ZS_SlidingSum_US
MonitorElementmeBadQualityDigis_
MonitorElementmeBCN_
MonitorElementmeBCNCheck_
MonitorElementmeBCNSynch_
MonitorElementmeCDFErrorFound_
MonitorElementmeCh_DataIntegrityFED00_
MonitorElementmeCh_DataIntegrityFED01_
MonitorElementmeCh_DataIntegrityFED02_
MonitorElementmeCh_DataIntegrityFED03_
MonitorElementmeCh_DataIntegrityFED04_
MonitorElementmeCh_DataIntegrityFED05_
MonitorElementmeCh_DataIntegrityFED06_
MonitorElementmeCh_DataIntegrityFED07_
MonitorElementmeCh_DataIntegrityFED08_
MonitorElementmeCh_DataIntegrityFED09_
MonitorElementmeCh_DataIntegrityFED10_
MonitorElementmeCh_DataIntegrityFED11_
MonitorElementmeCh_DataIntegrityFED12_
MonitorElementmeCh_DataIntegrityFED13_
MonitorElementmeCh_DataIntegrityFED14_
MonitorElementmeCh_DataIntegrityFED15_
MonitorElementmeCh_DataIntegrityFED16_
MonitorElementmeCh_DataIntegrityFED17_
MonitorElementmeCh_DataIntegrityFED18_
MonitorElementmeCh_DataIntegrityFED19_
MonitorElementmeCh_DataIntegrityFED20_
MonitorElementmeCh_DataIntegrityFED21_
MonitorElementmeCh_DataIntegrityFED22_
MonitorElementmeCh_DataIntegrityFED23_
MonitorElementmeCh_DataIntegrityFED24_
MonitorElementmeCh_DataIntegrityFED25_
MonitorElementmeCh_DataIntegrityFED26_
MonitorElementmeCh_DataIntegrityFED27_
MonitorElementmeCh_DataIntegrityFED28_
MonitorElementmeCh_DataIntegrityFED29_
MonitorElementmeCh_DataIntegrityFED30_
MonitorElementmeCh_DataIntegrityFED31_
MonitorElementmeChann_DataIntegrityCheck_ [32]
MonitorElementmeChannSumm_DataIntegrityCheck_
MonitorElementmeCrate0HTRErr_
MonitorElementmeCrate10HTRErr_
MonitorElementmeCrate11HTRErr_
MonitorElementmeCrate12HTRErr_
MonitorElementmeCrate13HTRErr_
MonitorElementmeCrate14HTRErr_
MonitorElementmeCrate15HTRErr_
MonitorElementmeCrate16HTRErr_
MonitorElementmeCrate17HTRErr_
MonitorElementmeCrate1HTRErr_
MonitorElementmeCrate2HTRErr_
MonitorElementmeCrate3HTRErr_
MonitorElementmeCrate4HTRErr_
MonitorElementmeCrate5HTRErr_
MonitorElementmeCrate6HTRErr_
MonitorElementmeCrate7HTRErr_
MonitorElementmeCrate8HTRErr_
MonitorElementmeCrate9HTRErr_
MonitorElementmeDCC_DataIntegrityCheck_
MonitorElementmedccBCN_
MonitorElementmeDCCErrorAndWarnConditions_
MonitorElementmeDCCEventFormatError_
MonitorElementmeDCCStatusFlags_
MonitorElementmeDCCSummariesOfHTRs_
MonitorElementmeErrWdCrate_
MonitorElementmeEvFragSize2_
MonitorElementmeEvFragSize_
MonitorElementmeEVT_
MonitorElementmeEvtNCheck_
MonitorElementmeEvtNumberSynch_
MonitorElementmeFEDerrorMap_
MonitorElementmeFEDId_
MonitorElementmeFEDRawDataSizes_
MonitorElementmeFib1OrbMsgBCN_
MonitorElementmeFib2OrbMsgBCN_
MonitorElementmeFib3OrbMsgBCN_
MonitorElementmeFib4OrbMsgBCN_
MonitorElementmeFib5OrbMsgBCN_
MonitorElementmeFib6OrbMsgBCN_
MonitorElementmeFib7OrbMsgBCN_
MonitorElementmeFib8OrbMsgBCN_
MonitorElementmeFibBCN_
MonitorElementmeFWVersion_
MonitorElementmeHalfHTR_DataIntegrityCheck_
MonitorElementmeInvHTRData_
MonitorElementmeSpigotFormatErrors_
MonitorElementmeUnmappedDigis_
MonitorElementmeUnmappedTPDigis_
MonitorElementmeUSEvtSizes1D_
MonitorElementmeUSEvtSizes2D_
MonitorElementmeUSFractSpigs_
std::vector< std::vector
< uint64_t > > 
phatmap
std::vector< std::vector< bool > > problemHB
std::vector< std::vector< bool > > problemHE
std::vector< std::vector< bool > > problemhere
std::vector< std::vector< bool > > problemHF
std::vector< std::vector< bool > > problemHO
int prtlvl_
uint64_t UScount [32][15]

Static Private Attributes

static float DIMbin [32]
static size_t ietarange
static size_t iphirange


Detailed Description

Definition at line 39 of file HcalDataFormatMonitor.h.


Constructor & Destructor Documentation

HcalDataFormatMonitor::HcalDataFormatMonitor (  ) 

Definition at line 7 of file HcalDataFormatMonitor.cc.

References Chann_DataIntegrityCheck_, ChannSumm_DataIntegrityCheck_, CIX, CIY, CSDIX, DCC_DataIntegrityCheck_, f, HalfHTR_DataIntegrityCheck_, HBmap, HEmap, HFmap, HHDIX, HHDIY, HOmap, IETAMAX, IETAMIN, ietarange, IPHIMAX, IPHIMIN, iphirange, meCh_DataIntegrityFED00_, meCh_DataIntegrityFED01_, meCh_DataIntegrityFED02_, meCh_DataIntegrityFED03_, meCh_DataIntegrityFED04_, meCh_DataIntegrityFED05_, meCh_DataIntegrityFED06_, meCh_DataIntegrityFED07_, meCh_DataIntegrityFED08_, meCh_DataIntegrityFED09_, meCh_DataIntegrityFED10_, meCh_DataIntegrityFED11_, meCh_DataIntegrityFED12_, meCh_DataIntegrityFED13_, meCh_DataIntegrityFED14_, meCh_DataIntegrityFED15_, meCh_DataIntegrityFED16_, meCh_DataIntegrityFED17_, meCh_DataIntegrityFED18_, meCh_DataIntegrityFED19_, meCh_DataIntegrityFED20_, meCh_DataIntegrityFED21_, meCh_DataIntegrityFED22_, meCh_DataIntegrityFED23_, meCh_DataIntegrityFED24_, meCh_DataIntegrityFED25_, meCh_DataIntegrityFED26_, meCh_DataIntegrityFED27_, meCh_DataIntegrityFED28_, meCh_DataIntegrityFED29_, meCh_DataIntegrityFED30_, meCh_DataIntegrityFED31_, meChann_DataIntegrityCheck_, NUMDCCS, phatmap, problemHB, problemHE, problemhere, problemHF, problemHO, RCDIX, RCDIY, s, UScount, x, and y.

00007                                              {
00008 
00009   //Initialize phatmap to a vector of vectors of uint64_t 0
00010   static size_t iphirange = IPHIMAX - IPHIMIN;
00011   static size_t ietarange = IETAMAX - IETAMIN;
00012  
00013   std::vector<uint64_t> phatv (iphirange + 1, 0);
00014   // ... nothing goes at ieta=0, so an extra bin goes there.
00015   phatmap = vector< vector < uint64_t> > ( ietarange + 1, phatv);
00016   HBmap   = vector< vector < uint64_t> > ( ietarange + 1, phatv);
00017   HEmap   = vector< vector < uint64_t> > ( ietarange + 1, phatv);
00018   HFmap   = vector< vector < uint64_t> > ( ietarange + 1, phatv);
00019   HOmap   = vector< vector < uint64_t> > ( ietarange + 1, phatv);
00020   std::vector<bool> probvect (iphirange + 1, 0);
00021   // ... nothing goes at ieta=0, so an extra bin goes there.
00022   problemhere = vector< vector <bool> > ( ietarange + 1, probvect);
00023   problemHB   = vector< vector <bool> > ( ietarange + 1, probvect);
00024   problemHE   = vector< vector <bool> > ( ietarange + 1, probvect);
00025   problemHF   = vector< vector <bool> > ( ietarange + 1, probvect);
00026   problemHO   = vector< vector <bool> > ( ietarange + 1, probvect);
00027 
00028   meChann_DataIntegrityCheck_[0] =meCh_DataIntegrityFED00_;
00029   meChann_DataIntegrityCheck_[1] =meCh_DataIntegrityFED01_;
00030   meChann_DataIntegrityCheck_[2] =meCh_DataIntegrityFED02_;
00031   meChann_DataIntegrityCheck_[3] =meCh_DataIntegrityFED03_;
00032   meChann_DataIntegrityCheck_[4] =meCh_DataIntegrityFED04_;
00033   meChann_DataIntegrityCheck_[5] =meCh_DataIntegrityFED05_;
00034   meChann_DataIntegrityCheck_[6] =meCh_DataIntegrityFED06_;
00035   meChann_DataIntegrityCheck_[7] =meCh_DataIntegrityFED07_;
00036   meChann_DataIntegrityCheck_[8] =meCh_DataIntegrityFED08_;
00037   meChann_DataIntegrityCheck_[9] =meCh_DataIntegrityFED09_;
00038   meChann_DataIntegrityCheck_[10]=meCh_DataIntegrityFED10_;
00039   meChann_DataIntegrityCheck_[11]=meCh_DataIntegrityFED11_;
00040   meChann_DataIntegrityCheck_[12]=meCh_DataIntegrityFED12_;
00041   meChann_DataIntegrityCheck_[13]=meCh_DataIntegrityFED13_;
00042   meChann_DataIntegrityCheck_[14]=meCh_DataIntegrityFED14_;
00043   meChann_DataIntegrityCheck_[15]=meCh_DataIntegrityFED15_;
00044   meChann_DataIntegrityCheck_[16]=meCh_DataIntegrityFED16_;
00045   meChann_DataIntegrityCheck_[17]=meCh_DataIntegrityFED17_;
00046   meChann_DataIntegrityCheck_[18]=meCh_DataIntegrityFED18_;
00047   meChann_DataIntegrityCheck_[19]=meCh_DataIntegrityFED19_;
00048   meChann_DataIntegrityCheck_[20]=meCh_DataIntegrityFED20_;
00049   meChann_DataIntegrityCheck_[21]=meCh_DataIntegrityFED21_;
00050   meChann_DataIntegrityCheck_[22]=meCh_DataIntegrityFED22_;
00051   meChann_DataIntegrityCheck_[23]=meCh_DataIntegrityFED23_;
00052   meChann_DataIntegrityCheck_[24]=meCh_DataIntegrityFED24_;
00053   meChann_DataIntegrityCheck_[25]=meCh_DataIntegrityFED25_;
00054   meChann_DataIntegrityCheck_[26]=meCh_DataIntegrityFED26_;
00055   meChann_DataIntegrityCheck_[27]=meCh_DataIntegrityFED27_;
00056   meChann_DataIntegrityCheck_[28]=meCh_DataIntegrityFED28_;
00057   meChann_DataIntegrityCheck_[29]=meCh_DataIntegrityFED29_;
00058   meChann_DataIntegrityCheck_[30]=meCh_DataIntegrityFED30_;
00059   meChann_DataIntegrityCheck_[31]=meCh_DataIntegrityFED31_;
00060 
00061   for (int f=0; f<NUMDCCS; f++) {
00062     for (int s=0; s<15; s++) {
00063       UScount[f][s]=0;}}
00064 
00065   for (int x=0; x<RCDIX; x++)
00066     for (int y=0; y<RCDIY; y++)
00067       DCC_DataIntegrityCheck_      [x][y]=0;    
00068 
00069   for (int x=0; x<HHDIX; x++)
00070     for (int y=0; y<HHDIY; y++)
00071       HalfHTR_DataIntegrityCheck_  [x][y]=0;
00072          
00073   for (int x=0; x<CSDIX; x++)
00074     for (int y=0; y<HHDIY; y++)
00075       ChannSumm_DataIntegrityCheck_[x][y]=0;
00076 
00077   for (int f=0; f<NUMDCCS; f++)
00078     for (int x=0; x<CIX; x++)
00079       for (int y=0; y<CIY; y++)      
00080         Chann_DataIntegrityCheck_  [f][x][y]=0;
00081 
00082 } // HcalDataFormatMonitor::HcalDataFormatMonitor()

HcalDataFormatMonitor::~HcalDataFormatMonitor (  ) 

Definition at line 84 of file HcalDataFormatMonitor.cc.

00084 {}


Member Function Documentation

void HcalDataFormatMonitor::clearME (  )  [virtual]

Reimplemented from HcalBaseMonitor.

Definition at line 88 of file HcalDataFormatMonitor.cc.

References HcalBaseMonitor::baseFolder_, HcalBaseMonitor::m_dbe, DQMStore::removeContents(), and DQMStore::setCurrentFolder().

Referenced by HcalMonitorModule::~HcalMonitorModule().

00088                                    {
00089   if(m_dbe){
00090     m_dbe->setCurrentFolder(baseFolder_);
00091     m_dbe->removeContents();
00092   }
00093 }

void HcalDataFormatMonitor::fillzoos ( int  bin,
int  dccid 
) [private]

\\/// DATAFORMAT_PROBLEM_ZOO->Fill(bin); \\/// if (HBHE_LO_DCC<=dccid && dccid<=HBHE_HI_DCC) \\/// HBHE_DATAFORMAT_PROBLEM_ZOO->Fill(bin); \\/// if (HF_LO_DCC<=dccid && dccid<=HF_HI_DCC) \\/// HF_DATAFORMAT_PROBLEM_ZOO->Fill(bin); \\/// if (HO_LO_DCC<=dccid && dccid<=HO_HI_DCC) \\/// HO_DATAFORMAT_PROBLEM_ZOO->Fill(bin);

Definition at line 1439 of file HcalDataFormatMonitor.cc.

Referenced by unpack().

01439                                                        {
01447 }

void HcalDataFormatMonitor::HTRPrint ( const HcalHTRData htr,
int  prtlvl 
)

Definition at line 1333 of file HcalDataFormatMonitor.cc.

References HcalHTRData::getBunchNumber(), HcalHTRData::getErrorsWord(), HcalHTRData::getFib1OrbMsgBCN(), HcalHTRData::getFib2OrbMsgBCN(), HcalHTRData::getFib3OrbMsgBCN(), HcalHTRData::getFib4OrbMsgBCN(), HcalHTRData::getFib5OrbMsgBCN(), HcalHTRData::getFib6OrbMsgBCN(), HcalHTRData::getFib7OrbMsgBCN(), HcalHTRData::getFib8OrbMsgBCN(), HcalHTRData::getL1ANumber(), HcalHTRData::htrSlot(), HcalHTRData::htrTopBottom(), and HcalHTRData::readoutVMECrateId().

Referenced by unpack().

01333                                                                      {
01334 
01335 
01336   if (prtlvl == 1){ 
01337     int cratenum = htr.readoutVMECrateId();
01338     float slotnum = htr.htrSlot() + 0.5*htr.htrTopBottom();
01339     printf("Crate,Slot,ErrWord,Evt#,BCN:  %3i %4.1f %6X %7i %4X \n", cratenum,slotnum,htr.getErrorsWord(),htr.getL1ANumber(),htr.getBunchNumber());
01340     //    printf(" DLLunlk,TTCrdy:%2i %2i \n",htr.getDLLunlock(),htr.getTTCready());
01341   }
01342   // This one needs new version of HcalHTRData.h to activate
01343   else if (prtlvl == 2){
01344     int cratenum = htr.readoutVMECrateId();
01345     float slotnum = htr.htrSlot() + 0.5*htr.htrTopBottom();
01346     printf("Crate, Slot:%3i %4.1f \n", cratenum,slotnum);
01347     //    printf("  Ext Hdr: %4X %4X %4X %4X %4X %4X %4X %4X \n",htr.getExtHdr1(),htr.getExtHdr2(),htr.getExtHdr3(),htr.getExtHdr4(),htr.getExtHdr5(),htr.getExtHdr6(),htr.getExtHdr7(),htr.getExtHdr8());
01348   }
01349 
01350   else if (prtlvl == 3){
01351     int cratenum = htr.readoutVMECrateId();
01352     float slotnum = htr.htrSlot() + 0.5*htr.htrTopBottom();
01353     printf("Crate, Slot:%3i %4.1f", cratenum,slotnum);
01354     printf(" FibOrbMsgBCNs: %4X %4X %4X %4X %4X %4X %4X %4X \n",htr.getFib1OrbMsgBCN(),htr.getFib2OrbMsgBCN(),htr.getFib3OrbMsgBCN(),htr.getFib4OrbMsgBCN(),htr.getFib5OrbMsgBCN(),htr.getFib6OrbMsgBCN(),htr.getFib7OrbMsgBCN(),htr.getFib8OrbMsgBCN());
01355   }
01356 
01357   return;
01358 }

bool HcalDataFormatMonitor::isUnsuppressed ( HcalHTRData payload  )  [private]

void HcalDataFormatMonitor::label_xChanns ( MonitorElement me_ptr,
int  xbins 
) [private]

Definition at line 1393 of file HcalDataFormatMonitor.cc.

References HcalHTRData::CHANNELS_PER_SPIGOT, label, and MonitorElement::setBinLabel().

Referenced by setup().

01393                                                                            {
01394   char label[10];
01395   for (int ch=0; ch<HcalHTRData::CHANNELS_PER_SPIGOT; ch++) {
01396     sprintf(label, "Ch %02d", ch+1);
01397     me_ptr->setBinLabel((2+(ch*xbins)), label, 1); //margin of 3 at low value
01398   }
01399 }

void HcalDataFormatMonitor::label_xFEDs ( MonitorElement me_ptr,
int  xbins 
) [private]

Definition at line 1402 of file HcalDataFormatMonitor.cc.

References label, and MonitorElement::setBinLabel().

Referenced by setup().

01402                                                                          {
01403   char label[10];
01404   for (int spig=0; spig<32; spig++) {
01405     sprintf(label, "%03d", spig+700);
01406     me_ptr->setBinLabel((2+(spig*xbins)), label, 1); //margin of 1 at low value
01407   }
01408 }

void HcalDataFormatMonitor::label_ySpigots ( MonitorElement me_ptr,
int  ybins 
) [private]

Definition at line 1384 of file HcalDataFormatMonitor.cc.

References label, MonitorElement::setBinLabel(), and HcalDCCHeader::SPIGOT_COUNT.

Referenced by setup().

01384                                                                             {
01385   char label[10];
01386   for (int spig=0; spig<HcalDCCHeader::SPIGOT_COUNT; spig++) {
01387     sprintf(label, "Spgt %02d", spig);
01388     me_ptr->setBinLabel((2+(spig*ybins)), label, 2); //margin of 1 at low value
01389   }
01390 }

void HcalDataFormatMonitor::LabelChannInteg ( MonitorElement me_ptr  )  [private]

void HcalDataFormatMonitor::labelHTRBits ( MonitorElement mePlot,
unsigned int  axisType 
)

Definition at line 1359 of file HcalDataFormatMonitor.cc.

Referenced by setup().

01359                                                                                      {
01360 
01361   if (axisType !=1 && axisType != 2) return;
01362 
01363   mePlot -> setBinLabel(1,"Overflow Warn",axisType);
01364   mePlot -> setBinLabel(2,"Buffer Busy",axisType);
01365   mePlot -> setBinLabel(3,"Empty Event",axisType);
01366   mePlot -> setBinLabel(4,"Reject L1A",axisType);
01367   mePlot -> setBinLabel(5,"Latency Err",axisType);
01368   mePlot -> setBinLabel(6,"Latency Warn",axisType);
01369   mePlot -> setBinLabel(7,"OptDat Err",axisType);
01370   mePlot -> setBinLabel(8,"Clock Err",axisType);
01371   mePlot -> setBinLabel(9,"Bunch Err",axisType);
01372   mePlot -> setBinLabel(10,"Link Err",axisType);
01373   mePlot -> setBinLabel(11,"CapId Err",axisType);
01374   mePlot -> setBinLabel(12,"FE Format Err",axisType);
01375   mePlot -> setBinLabel(13,"Test Mode",axisType);
01376   mePlot -> setBinLabel(14,"Histo Mode",axisType);
01377   mePlot -> setBinLabel(15,"Calib Trig",axisType);
01378   mePlot -> setBinLabel(16,"Bit15 Err",axisType);
01379 
01380   return;
01381 }

void HcalDataFormatMonitor::labelthezoo ( MonitorElement zoo  ) 

\\/// zoo-> setBinLabel(1,"EE - HTR lost",1); //HTR sent Empty Event \\/// zoo-> setBinLabel(2,"LRB lost",1); //LRB truncated data \\/// zoo-> setBinLabel(3,"FEE",1); //CapID or DV not set correctly \\/// zoo-> setBinLabel(4,"HAM",1); //Corr. & Uncorr. Hamm. \\/// zoo-> setBinLabel(5,"HTR CRC",1); //DCC found HTR CRC err \\/// zoo-> setBinLabel(6,"CMS EvFmt",1); //Common Data Format failed check \\/// zoo-> setBinLabel(7,"DCC EvFmt",1); //DCC Event format failed check \\/// zoo-> setBinLabel(8,"HTR EvFmt",1); //HTR Event Format failed check \\/// zoo-> setBinLabel(9,"DCC OFW",1); //DCC Overflow Warning \\/// zoo-> setBinLabel(10,"DCC BSY",1); //DCC Busy \\/// zoo-> setBinLabel(11,"HTR OFW",1); //HTR Overflow Warning \\/// zoo-> setBinLabel(12,"HTR BSY",1); //HTR Busy \\/// zoo-> setBinLabel(13,"RL1A",1); //HTR Rejected L1A \\/// zoo-> setBinLabel(14,"BE",1); //HTR Bunchcount Error \\/// zoo-> setBinLabel(15,"OD",1); //Optical Data error \\/// zoo-> setBinLabel(16,"CK",1); //Clock Error from HTR

Definition at line 1411 of file HcalDataFormatMonitor.cc.

01411                                                            {
01428 }

void HcalDataFormatMonitor::mapDCCproblem ( int  dcc  )  [private]

Definition at line 1472 of file HcalDataFormatMonitor.cc.

References begin, DCCtoCell, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, IETAMIN, problemHB, problemHE, and problemhere.

Referenced by unpack().

01472                                                  {
01473   for (std::vector<HcalDetId>::iterator thishdi = DCCtoCell[dcc -700].begin(); 
01474        thishdi != DCCtoCell[dcc-700].end(); thishdi++) {
01475     problemhere[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01476     //Decide the subdet map to fill
01477     switch (thishdi->subdet()) {
01478     case (HcalBarrel): {
01479       problemHB[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01480     } break;
01481     case (HcalEndcap): {
01482       problemHE[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01483     } break;
01484     case (HcalOuter): {
01485       problemHE[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01486     } break;
01487     case (HcalForward): {
01488       problemHE[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01489     } break;
01490     default: break;
01491     }
01492   }
01493 }

void HcalDataFormatMonitor::mapHTRproblem ( int  dcc,
int  spigot 
) [private]

Definition at line 1449 of file HcalDataFormatMonitor.cc.

References begin, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, HTRtoCell, IETAMIN, problemHB, problemHE, and problemhere.

Referenced by unpack().

01449                                                               {
01450   pair <int,int> thishtr = pair <int,int> (dcc-700, spigot);
01451   for (std::vector<HcalDetId>::iterator thishdi = HTRtoCell[thishtr].begin(); 
01452        thishdi != HTRtoCell[thishtr].end(); thishdi++) {
01453     problemhere[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01454     //Decide the subdet map to fill
01455     switch (thishdi->subdet()) {
01456     case (HcalBarrel): {
01457       problemHB[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01458     } break;
01459     case (HcalEndcap): {
01460       problemHE[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01461     } break;
01462     case (HcalOuter): {
01463       problemHE[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01464     } break;
01465     case (HcalForward): {
01466       problemHE[thishdi->ieta() - IETAMIN][thishdi->iphi()] = true;
01467     } break;
01468     default: break;
01469     }
01470   }   
01471 }

void HcalDataFormatMonitor::processEvent ( const FEDRawDataCollection rawraw,
const HcalUnpackerReport report,
const HcalElectronicsMap emap 
)

Definition at line 655 of file HcalDataFormatMonitor.cc.

References HcalUnpackerReport::badQualityDigis(), FEDRawData::data(), dfmon_checkNevents, FEDRawDataCollection::FEDData(), fedUnpackList_, MonitorElement::Fill(), HcalUnpackerReport::getFedsError(), HcalDCCHeader::getSourceId(), HBmap, HEmap, HFmap, HOmap, i, ievt_, j, lastBCN_, lastEvtN_, m, HcalBaseMonitor::m_dbe, meBadQualityDigis_, meEVT_, meFEDerrorMap_, meSpigotFormatErrors_, meUnmappedDigis_, meUnmappedTPDigis_, phatmap, problemHB, problemHE, problemhere, problemHF, problemHO, FEDRawData::size(), HcalUnpackerReport::spigotFormatErrors(), HcalUnpackerReport::unmappedDigis(), HcalUnpackerReport::unmappedTPDigis(), unpack(), UpdateMap(), and UpdateMEs().

Referenced by HcalMonitorModule::analyze().

00657                                                                         {
00658   if(!m_dbe) { 
00659     printf("HcalDataFormatMonitor::processEvent DQMStore not instantiated!!!\n");  
00660     return;}
00661   
00662   ievt_++;
00663   meEVT_->Fill(ievt_);
00664   
00665   meSpigotFormatErrors_->Fill(report.spigotFormatErrors());
00666   meBadQualityDigis_->Fill(report.badQualityDigis());
00667   meUnmappedDigis_->Fill(report.unmappedDigis());
00668   meUnmappedTPDigis_->Fill(report.unmappedTPDigis());
00669 
00670   lastEvtN_ = -1;
00671   lastBCN_ = -1;
00672 
00673   // Loop over all FEDs reporting the event, unpacking if good.
00674   for (vector<int>::const_iterator i=fedUnpackList_.begin();i!=fedUnpackList_.end(); i++) {
00675     const FEDRawData& fed = rawraw.FEDData(*i);
00676     if (fed.size()<12) continue;  //At least the size of headers and trailers of a DCC.
00677     unpack(fed,emap); //Interpret data, fill histograms, everything.
00678   }
00679 
00680   // Any problem worth mapping, anywhere?
00681   for (unsigned int i =0 ; i < problemhere.size(); i++) {
00682     for (unsigned int j =0 ; j < problemhere[i].size(); j++) {
00683       if (problemhere[i][j]) 
00684         phatmap[i][j] +=1;   
00685       if (problemHB[i][j]) {
00686         HBmap[i][j] +=1; }
00687       if (problemHE[i][j])  {
00688         HEmap[i][j] +=1; }
00689       if (problemHF[i][j]) 
00690         HFmap[i][j] +=1;   
00691       if (problemHO[i][j]) 
00692         HOmap[i][j] +=1;   
00693     }
00694   }
00695   UpdateMap();  //Transfer this event's problem info to 
00696   for (unsigned int i =0 ; i < problemhere.size(); i++) {
00697     for (unsigned int j =0 ; j < problemhere[i].size(); j++) {
00698       problemhere[i][j] =false;
00699       problemHB[i][j] =false;
00700       problemHE[i][j] =false;
00701       problemHF[i][j] =false;
00702       problemHO[i][j] =false;
00703     }
00704   }  
00705 
00706 
00707   for(unsigned int i=0; i<report.getFedsError().size(); i++){
00708     // Take the ith entry in the vector of FED IDs
00709     // with zero-size FEDRawData, size < 24, 
00710     const int m = report.getFedsError()[i];
00711     const FEDRawData& fed = rawraw.FEDData(m);
00712     const HcalDCCHeader* dccHeader=(const HcalDCCHeader*)(fed.data());
00713     if(!dccHeader) continue;
00714     int dccid=dccHeader->getSourceId();
00715     meFEDerrorMap_->Fill(dccid);}
00716 
00717   if (0== (ievt_ % dfmon_checkNevents)) UpdateMEs();
00718   return;
00719 } //void HcalDataFormatMonitor::processEvent()

void HcalDataFormatMonitor::reset ( void   ) 

Definition at line 86 of file HcalDataFormatMonitor.cc.

Referenced by HcalMonitorModule::reset().

00086 {}

void HcalDataFormatMonitor::setup ( const edm::ParameterSet ps,
DQMStore dbe 
) [virtual]

\\///type = "00 DataFormat Problem Map"; \\///DATAFORMAT_PROBLEM_MAP = m_dbe->book2D(type, type, \\/// IETAMAX - IETAMIN + 1, IETAMIN-0.5, IETAMAX+0.5, \\/// IPHIMAX - IPHIMIN + 1, IPHIMIN-0.5, IPHIMAX+0.5); \\///DATAFORMAT_PROBLEM_MAP-> setAxisTitle("ieta",1); \\///DATAFORMAT_PROBLEM_MAP-> setAxisTitle("iphi",2); \\///type = "00 DataFormat Problem Zoo"; \\///DATAFORMAT_PROBLEM_ZOO = m_dbe->book1D(type, type, 16, 0, 16); \\///labelthezoo(DATAFORMAT_PROBLEM_ZOO); \\/// \\///m_dbe->setCurrentFolder(baseFolder_ + "/01 SubDets"); \\///type = "HB DataIntegrity Problem Map"; \\///HB_DATAFORMAT_PROBLEM_MAP = m_dbe->book2D(type, type, \\/// IETAMAX - IETAMIN + 1, IETAMIN-0.5, IETAMAX+0.5, \\/// IPHIMAX - IPHIMIN + 1, IPHIMIN-0.5, IPHIMAX+0.5); \\///HB_DATAFORMAT_PROBLEM_MAP-> setAxisTitle("ieta",1); \\///HB_DATAFORMAT_PROBLEM_MAP-> setAxisTitle("iphi",2); \\///type = "HE DataIntegrity Problem Map"; \\///HE_DATAFORMAT_PROBLEM_MAP = m_dbe->book2D(type, type, \\/// IETAMAX - IETAMIN + 1, IETAMIN-0.5, IETAMAX+0.5, \\/// IPHIMAX - IPHIMIN + 1, IPHIMIN-0.5, IPHIMAX+0.5); \\///HE_DATAFORMAT_PROBLEM_MAP-> setAxisTitle("ieta",1); \\///HE_DATAFORMAT_PROBLEM_MAP-> setAxisTitle("iphi",2); \\///type = "HO DataIntegrity Problem Map"; \\///HO_DATAFORMAT_PROBLEM_MAP = m_dbe->book2D(type, type, \\/// IETAMAX - IETAMIN + 1, IETAMIN-0.5, IETAMAX+0.5, \\/// IPHIMAX - IPHIMIN + 1, IPHIMIN-0.5, IPHIMAX+0.5); \\///HO_DATAFORMAT_PROBLEM_MAP-> setAxisTitle("ieta",1); \\///HO_DATAFORMAT_PROBLEM_MAP-> setAxisTitle("iphi",2); \\///type = "HF DataIntegrity Problem Map"; \\///HF_DATAFORMAT_PROBLEM_MAP = m_dbe->book2D(type, type, \\/// IETAMAX - IETAMIN + 1, IETAMIN-0.5, IETAMAX+0.5, \\/// IPHIMAX - IPHIMIN + 1, IPHIMIN-0.5, IPHIMAX+0.5); \\///HF_DATAFORMAT_PROBLEM_MAP-> setAxisTitle("ieta",1); \\///HF_DATAFORMAT_PROBLEM_MAP-> setAxisTitle("iphi",2); \\/// \\///type = "HBHE DataIntegrity Problem Zoo"; \\///HBHE_DATAFORMAT_PROBLEM_ZOO = m_dbe->book1D(type, type, 16, 0, 16); \\///labelthezoo(HBHE_DATAFORMAT_PROBLEM_ZOO); \\///type = "HF DataIntegrity Problem Zoo"; \\///HF_DATAFORMAT_PROBLEM_ZOO = m_dbe->book1D(type, type, 16, 0, 16); \\///labelthezoo(HF_DATAFORMAT_PROBLEM_ZOO); \\///type = "HO DataIntegrity Problem Zoo"; \\///HO_DATAFORMAT_PROBLEM_ZOO = m_dbe->book1D(type, type, 16, 0, 16); \\///labelthezoo(HO_DATAFORMAT_PROBLEM_ZOO);

type = "DCC Status Flags (Nonzero Error Counters)"; meDCCStatusFlags_ = m_dbe->book2D(type,type,32,699.5,731.5,10,0.5,10.5); meDCCStatusFlags_->setAxisTitle("HCAL FED ID", 1); meDCCStatusFlags_->setBinLabel(1, "Saw OFW", 2); meDCCStatusFlags_->setBinLabel(2, "Saw BSY", 2); meDCCStatusFlags_->setBinLabel(3, "Saw SYN", 2); meDCCStatusFlags_->setBinLabel(4, "MxMx_L1AEvN", 2); meDCCStatusFlags_->setBinLabel(5, "MxMx_L1ABcN", 2); meDCCStatusFlags_->setBinLabel(6, "MxMx_CT-EvN", 2); meDCCStatusFlags_->setBinLabel(7, "MxMx_CT-BCN", 2); meDCCStatusFlags_->setBinLabel(8, "BC0 Spacing", 2); meDCCStatusFlags_->setBinLabel(9, "TTCSingErr", 2); meDCCStatusFlags_->setBinLabel(10, "TTCDoubErr", 2);

Reimplemented from HcalBaseMonitor.

Definition at line 96 of file HcalDataFormatMonitor.cc.

References HcalBaseMonitor::baseFolder_, DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookInt(), DQMStore::bookProfile(), HcalBaseMonitor::checkNevents_, CIX, CIY, GenMuonPlsPt100GeV_cfg::cout, CSDIX, DCC_ErrWd_HBHE, DCC_ErrWd_HF, DCC_ErrWd_HO, dfmon_checkNevents, lat::endl(), f, fedEntries_, fedFatal_, fedUnpackList_, MonitorElement::Fill(), first, firstFED_, HcalBaseMonitor::fVerbosity, FEDNumbering::getHcalFEDIds(), edm::ParameterSet::getUntrackedParameter(), HHDIX, HHDIY, i, ievt_, label, label_xChanns(), label_xFEDs(), label_ySpigots(), labelHTRBits(), HcalBaseMonitor::m_dbe, meBadQualityDigis_, meBCN_, meBCNCheck_, meBCNSynch_, meCDFErrorFound_, meChann_DataIntegrityCheck_, meChannSumm_DataIntegrityCheck_, meCrate0HTRErr_, meCrate10HTRErr_, meCrate11HTRErr_, meCrate12HTRErr_, meCrate13HTRErr_, meCrate14HTRErr_, meCrate15HTRErr_, meCrate16HTRErr_, meCrate17HTRErr_, meCrate1HTRErr_, meCrate2HTRErr_, meCrate3HTRErr_, meCrate4HTRErr_, meCrate5HTRErr_, meCrate6HTRErr_, meCrate7HTRErr_, meCrate8HTRErr_, meCrate9HTRErr_, meDCC_DataIntegrityCheck_, medccBCN_, meDCCErrorAndWarnConditions_, meDCCEventFormatError_, meDCCSummariesOfHTRs_, meErrWdCrate_, meEvFragSize2_, meEvFragSize_, meEVT_, meEvtNCheck_, meEvtNumberSynch_, meFEDerrorMap_, meFEDId_, meFEDRawDataSizes_, meFibBCN_, meFWVersion_, meHalfHTR_DataIntegrityCheck_, meInvHTRData_, meSpigotFormatErrors_, meUnmappedDigis_, meUnmappedTPDigis_, meUSFractSpigs_, NUMDCCS, prtlvl_, RCDIX, RCDIY, HcalBaseMonitor::rootFolder_, s, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), HcalBaseMonitor::setup(), and HcalDCCHeader::SPIGOT_COUNT.

Referenced by HcalMonitorModule::HcalMonitorModule().

00097                                                 {
00098   HcalBaseMonitor::setup(ps,dbe);
00099   
00100   ievt_=0;
00101   baseFolder_ = rootFolder_+"DataFormatMonitor";
00102 
00103   if(fVerbosity) cout << "About to pushback fedUnpackList_" << endl;
00104   firstFED_ = FEDNumbering::getHcalFEDIds().first;
00105   for (int i=FEDNumbering::getHcalFEDIds().first; i<=FEDNumbering::getHcalFEDIds().second; i++) {
00106     if(fVerbosity) cout << "[DFMon:]Pushback for fedUnpackList_: " << i <<endl;
00107     fedUnpackList_.push_back(i);
00108   }
00109 
00110   prtlvl_ = ps.getUntrackedParameter<int>("dfPrtLvl");
00111   dfmon_checkNevents = ps.getUntrackedParameter<int>("DataFormatMonitor_checkNevents",checkNevents_);
00112 
00113   if ( m_dbe ) {
00114     char* type;
00115     m_dbe->setCurrentFolder(baseFolder_);
00116     
00162 
00163     meEVT_ = m_dbe->bookInt("Data Format Task Event Number");
00164     meEVT_->Fill(ievt_);    
00165 
00166     m_dbe->setCurrentFolder(baseFolder_ + "/HcalFEDChecking");
00167     
00168     type="FEDEntries";
00169     fedEntries_ = m_dbe->book1D(type,type,32,699.5,731.5);
00170     type="FEDFatal";
00171     fedFatal_ = m_dbe->book1D(type,type,32,699.5,731.5);
00172 
00173     m_dbe->setCurrentFolder(baseFolder_);
00174     type="Readout Chain DataIntegrity Check";
00175     meDCC_DataIntegrityCheck_ = m_dbe->book2D(type,type,
00176                                               RCDIX,0,RCDIX,
00177                                               RCDIY,0,RCDIY);
00178     //    meDCC_DataIntegrityCheck_->setAxisTitle("Crate/FED",1);  //Apply label in RenderPlugins, out of the way...
00179     meDCC_DataIntegrityCheck_->setBinLabel( 1," 0 702",1);
00180     meDCC_DataIntegrityCheck_->setBinLabel( 2," 0/703",1); //skip 3
00181     meDCC_DataIntegrityCheck_->setBinLabel( 4," 1 704",1);
00182     meDCC_DataIntegrityCheck_->setBinLabel( 5," 1/705",1); //skip 6
00183     meDCC_DataIntegrityCheck_->setBinLabel( 7," 2 718",1);
00184     meDCC_DataIntegrityCheck_->setBinLabel( 8," 2/719",1); //skip 9 
00185     meDCC_DataIntegrityCheck_->setBinLabel(10," 3 724",1);
00186     meDCC_DataIntegrityCheck_->setBinLabel(11," 3/725",1); //skip 12
00187     meDCC_DataIntegrityCheck_->setBinLabel(13," 4 700",1); 
00188     meDCC_DataIntegrityCheck_->setBinLabel(14," 4/701",1); //skip 15
00189     meDCC_DataIntegrityCheck_->setBinLabel(16," 5 706",1);
00190     meDCC_DataIntegrityCheck_->setBinLabel(17," 5/707",1); //skip 18
00191     meDCC_DataIntegrityCheck_->setBinLabel(19," 6 728",1);
00192     meDCC_DataIntegrityCheck_->setBinLabel(20," 6/729",1); //skip 21
00193     meDCC_DataIntegrityCheck_->setBinLabel(22," 7 726",1); 
00194     meDCC_DataIntegrityCheck_->setBinLabel(23," 7/727",1); //skip 24-27
00195     meDCC_DataIntegrityCheck_->setBinLabel(28," 9 720",1);
00196     meDCC_DataIntegrityCheck_->setBinLabel(29," 9/721",1); //skip 30
00197     meDCC_DataIntegrityCheck_->setBinLabel(31,"10 716",1); 
00198     meDCC_DataIntegrityCheck_->setBinLabel(32,"10/717",1); //skip 33
00199     meDCC_DataIntegrityCheck_->setBinLabel(34,"11 708",1);
00200     meDCC_DataIntegrityCheck_->setBinLabel(35,"11/709",1); //skip 36
00201     meDCC_DataIntegrityCheck_->setBinLabel(37,"12 722",1);
00202     meDCC_DataIntegrityCheck_->setBinLabel(38,"12/723",1); //skip 39
00203     meDCC_DataIntegrityCheck_->setBinLabel(40,"13 730",1);
00204     meDCC_DataIntegrityCheck_->setBinLabel(41,"13/731",1); //skip 42
00205     meDCC_DataIntegrityCheck_->setBinLabel(43,"14 714",1);
00206     meDCC_DataIntegrityCheck_->setBinLabel(44,"14/715",1); //skip 45
00207     meDCC_DataIntegrityCheck_->setBinLabel(46,"15 710",1);
00208     meDCC_DataIntegrityCheck_->setBinLabel(47,"15/711",1); //skip 48-51
00209     meDCC_DataIntegrityCheck_->setBinLabel(52,"17 712",1);
00210     meDCC_DataIntegrityCheck_->setBinLabel(53,"17/713",1); //leave 54
00211     meDCC_DataIntegrityCheck_->setBinLabel(22,"    TTS",2); // TTS state         
00212     meDCC_DataIntegrityCheck_->setBinLabel(21,"    Rdy",2);              
00213     meDCC_DataIntegrityCheck_->setBinLabel(20,"    OFW",2);               
00214     meDCC_DataIntegrityCheck_->setBinLabel(19,"    BSY",2);              
00215     meDCC_DataIntegrityCheck_->setBinLabel(18,"    SYN",2);              
00216     meDCC_DataIntegrityCheck_->setBinLabel(17,"HTRStat",2); // HTR State  
00217     meDCC_DataIntegrityCheck_->setBinLabel(16,"     OW",2);              
00218     meDCC_DataIntegrityCheck_->setBinLabel(15,"     BZ",2);              
00219     meDCC_DataIntegrityCheck_->setBinLabel(14,"Num Mis",2); //Num Mis    
00220     meDCC_DataIntegrityCheck_->setBinLabel(13,"    EvNt",2)              ;
00221     meDCC_DataIntegrityCheck_->setBinLabel(12,"    BcN",2);              
00222     meDCC_DataIntegrityCheck_->setBinLabel(11,"    OrN",2);              
00223     meDCC_DataIntegrityCheck_->setBinLabel(10,"DataLos",2); //Data Lost  
00224     meDCC_DataIntegrityCheck_->setBinLabel( 9,"    HTR",2);               
00225     meDCC_DataIntegrityCheck_->setBinLabel( 8,"    LRB",2);              
00226     meDCC_DataIntegrityCheck_->setBinLabel( 7,"    DCC",2);              
00227     meDCC_DataIntegrityCheck_->setBinLabel( 6,"LinkErr",2); //LinkErrs   
00228     meDCC_DataIntegrityCheck_->setBinLabel( 5,"    FEE",2);               
00229     meDCC_DataIntegrityCheck_->setBinLabel( 4,"    HTR",2);              
00230     meDCC_DataIntegrityCheck_->setBinLabel( 3,"FmtErrs",2);              
00231     meDCC_DataIntegrityCheck_->setBinLabel( 2,"   Size",2); //FmtErrs    
00232     meDCC_DataIntegrityCheck_->setBinLabel( 1,"       ",2);
00233 
00234     m_dbe->setCurrentFolder(baseFolder_ + "/HTR Plots");
00235     type="Half-HTR DataIntegrity Check";
00236     meHalfHTR_DataIntegrityCheck_= m_dbe->book2D(type,type,
00237                                                  HHDIX,0,HHDIX,
00238                                                  HHDIY,0,HHDIY);
00239     meHalfHTR_DataIntegrityCheck_->setBinLabel( 2,"700",1);
00240     meHalfHTR_DataIntegrityCheck_->setBinLabel( 5,"701",1);
00241     meHalfHTR_DataIntegrityCheck_->setBinLabel( 8,"702",1);
00242     meHalfHTR_DataIntegrityCheck_->setBinLabel(11,"703",1);
00243     meHalfHTR_DataIntegrityCheck_->setBinLabel(14,"704",1);
00244     meHalfHTR_DataIntegrityCheck_->setBinLabel(17,"705",1);
00245     meHalfHTR_DataIntegrityCheck_->setBinLabel(20,"706",1);
00246     meHalfHTR_DataIntegrityCheck_->setBinLabel(23,"707",1);
00247     meHalfHTR_DataIntegrityCheck_->setBinLabel(26,"708",1);
00248     meHalfHTR_DataIntegrityCheck_->setBinLabel(29,"709",1);
00249     meHalfHTR_DataIntegrityCheck_->setBinLabel(32,"710",1);
00250     meHalfHTR_DataIntegrityCheck_->setBinLabel(35,"711",1);
00251     meHalfHTR_DataIntegrityCheck_->setBinLabel(38,"712",1);
00252     meHalfHTR_DataIntegrityCheck_->setBinLabel(41,"713",1);
00253     meHalfHTR_DataIntegrityCheck_->setBinLabel(44,"714",1);
00254     meHalfHTR_DataIntegrityCheck_->setBinLabel(47,"715",1);
00255     meHalfHTR_DataIntegrityCheck_->setBinLabel(50,"716",1);
00256     meHalfHTR_DataIntegrityCheck_->setBinLabel(53,"717",1);
00257     meHalfHTR_DataIntegrityCheck_->setBinLabel(56,"718",1);
00258     meHalfHTR_DataIntegrityCheck_->setBinLabel(59,"719",1);
00259     meHalfHTR_DataIntegrityCheck_->setBinLabel(62,"720",1);
00260     meHalfHTR_DataIntegrityCheck_->setBinLabel(65,"721",1);
00261     meHalfHTR_DataIntegrityCheck_->setBinLabel(68,"722",1);
00262     meHalfHTR_DataIntegrityCheck_->setBinLabel(71,"723",1);
00263     meHalfHTR_DataIntegrityCheck_->setBinLabel(74,"724",1);
00264     meHalfHTR_DataIntegrityCheck_->setBinLabel(77,"725",1);
00265     meHalfHTR_DataIntegrityCheck_->setBinLabel(80,"726",1);
00266     meHalfHTR_DataIntegrityCheck_->setBinLabel(83,"727",1);
00267     meHalfHTR_DataIntegrityCheck_->setBinLabel(86,"728",1);
00268     meHalfHTR_DataIntegrityCheck_->setBinLabel(89,"729",1);
00269     meHalfHTR_DataIntegrityCheck_->setBinLabel(92,"730",1);
00270     meHalfHTR_DataIntegrityCheck_->setBinLabel(95,"731",1);
00271     label_ySpigots(meHalfHTR_DataIntegrityCheck_, 4); // 3 bins + 1 margin each spgt
00272 
00273     type = "Channel Integrity Summarized by Spigot";
00274     meChannSumm_DataIntegrityCheck_= m_dbe->book2D(type,type,
00275                                                    CSDIX,0,CSDIX,
00276                                                    HHDIY,0,HHDIY);
00277     label_xFEDs (meChannSumm_DataIntegrityCheck_, 3); // 2 bins + 1 margin per ch.
00278     label_ySpigots(meChannSumm_DataIntegrityCheck_, 4); // 3 bins + 1 margin per spgt
00279  
00280     m_dbe->setCurrentFolder(baseFolder_ + "/HTR Plots/ Channel Data Integrity");
00281     char label[10];
00282     for (int f=0; f<NUMDCCS; f++){      
00283       sprintf(label, "FED %03d Channel Integrity", f+700);
00284       meChann_DataIntegrityCheck_[f] =  m_dbe->book2D(label,label,
00285                               CIX,0,CIX,
00286                               CIY,0,CIY);
00287       label_xChanns (meChann_DataIntegrityCheck_[f], 3); // 2 bins + 1 margin per ch.
00288       label_ySpigots(meChann_DataIntegrityCheck_[f], 3); // 2 bins + 1 margin per spgt
00289       ;}
00290       
00291     m_dbe->setCurrentFolder(baseFolder_ + "/DCC Plots");
00292     type = "BCN from DCCs";
00293     medccBCN_ = m_dbe->book1D(type,type,3564,-0.5,3563.5);
00294     medccBCN_->setAxisTitle("BCN",1);
00295     medccBCN_->setAxisTitle("# of Entries",2);
00296 
00297 
00298     type = "DCC Error and Warning";
00299     meDCCErrorAndWarnConditions_ = m_dbe->book2D(type,type,32,699.5,731.5, 25,0.5,25.5);
00300     meDCCErrorAndWarnConditions_->setAxisTitle("HCAL FED ID", 1);      
00301     meDCCErrorAndWarnConditions_->setBinLabel( 1, "700", 1);
00302     meDCCErrorAndWarnConditions_->setBinLabel( 2, "701", 1);
00303     meDCCErrorAndWarnConditions_->setBinLabel( 3, "702", 1);
00304     meDCCErrorAndWarnConditions_->setBinLabel( 4, "703", 1);
00305     meDCCErrorAndWarnConditions_->setBinLabel( 5, "704", 1);
00306     meDCCErrorAndWarnConditions_->setBinLabel( 6, "705", 1);
00307     meDCCErrorAndWarnConditions_->setBinLabel( 7, "706", 1);
00308     meDCCErrorAndWarnConditions_->setBinLabel( 8, "707", 1);
00309     meDCCErrorAndWarnConditions_->setBinLabel( 9, "708", 1);
00310     meDCCErrorAndWarnConditions_->setBinLabel(10, "709", 1);
00311     meDCCErrorAndWarnConditions_->setBinLabel(11, "710", 1);
00312     meDCCErrorAndWarnConditions_->setBinLabel(12, "711", 1);
00313     meDCCErrorAndWarnConditions_->setBinLabel(13, "712", 1);
00314     meDCCErrorAndWarnConditions_->setBinLabel(14, "713", 1);
00315     meDCCErrorAndWarnConditions_->setBinLabel(15, "714", 1);
00316     meDCCErrorAndWarnConditions_->setBinLabel(16, "715", 1);
00317     meDCCErrorAndWarnConditions_->setBinLabel(17, "716", 1);
00318     meDCCErrorAndWarnConditions_->setBinLabel(18, "717", 1);
00319     meDCCErrorAndWarnConditions_->setBinLabel(19, "718", 1);
00320     meDCCErrorAndWarnConditions_->setBinLabel(20, "719", 1);
00321     meDCCErrorAndWarnConditions_->setBinLabel(21, "720", 1);
00322     meDCCErrorAndWarnConditions_->setBinLabel(22, "721", 1);
00323     meDCCErrorAndWarnConditions_->setBinLabel(23, "722", 1);
00324     meDCCErrorAndWarnConditions_->setBinLabel(24, "723", 1);
00325     meDCCErrorAndWarnConditions_->setBinLabel(25, "724", 1);
00326     meDCCErrorAndWarnConditions_->setBinLabel(26, "725", 1);
00327     meDCCErrorAndWarnConditions_->setBinLabel(27, "726", 1);
00328     meDCCErrorAndWarnConditions_->setBinLabel(28, "727", 1);
00329     meDCCErrorAndWarnConditions_->setBinLabel(29, "728", 1);
00330     meDCCErrorAndWarnConditions_->setBinLabel(30, "729", 1);
00331     meDCCErrorAndWarnConditions_->setBinLabel(31, "730", 1);
00332     meDCCErrorAndWarnConditions_->setBinLabel(32, "731", 1);
00333     meDCCErrorAndWarnConditions_->setBinLabel( 1, "MisM S14", 2);
00334     meDCCErrorAndWarnConditions_->setBinLabel( 2, "MisM S13", 2);
00335     meDCCErrorAndWarnConditions_->setBinLabel( 3, "MisM S12", 2);
00336     meDCCErrorAndWarnConditions_->setBinLabel( 4, "MisM S11", 2);
00337     meDCCErrorAndWarnConditions_->setBinLabel( 5, "MisM S10", 2);
00338     meDCCErrorAndWarnConditions_->setBinLabel( 6, "MisM S9", 2);
00339     meDCCErrorAndWarnConditions_->setBinLabel( 7, "MisM S8", 2);
00340     meDCCErrorAndWarnConditions_->setBinLabel( 8, "MisM S7", 2);
00341     meDCCErrorAndWarnConditions_->setBinLabel( 9, "MisM S6", 2);
00342     meDCCErrorAndWarnConditions_->setBinLabel(10, "MisM S5", 2);
00343     meDCCErrorAndWarnConditions_->setBinLabel(11, "MisM S4", 2);
00344     meDCCErrorAndWarnConditions_->setBinLabel(12, "MisM S3", 2);
00345     meDCCErrorAndWarnConditions_->setBinLabel(13, "MisM S2", 2);
00346     meDCCErrorAndWarnConditions_->setBinLabel(14, "MisM S1", 2);
00347     meDCCErrorAndWarnConditions_->setBinLabel(15, "MisM S0(top)", 2);
00348     meDCCErrorAndWarnConditions_->setBinLabel(16, "TTS_OFW", 2);
00349     meDCCErrorAndWarnConditions_->setBinLabel(17, "TTS_BSY", 2);
00350     meDCCErrorAndWarnConditions_->setBinLabel(18, "TTS_SYN", 2);
00351     meDCCErrorAndWarnConditions_->setBinLabel(19, "L1A_EvN Mis", 2);
00352     meDCCErrorAndWarnConditions_->setBinLabel(20, "L1A_BcN Mis", 2);
00353     meDCCErrorAndWarnConditions_->setBinLabel(21, "CT_EvN Mis", 2);
00354     meDCCErrorAndWarnConditions_->setBinLabel(22, "CT_BcN Mis", 2);
00355     meDCCErrorAndWarnConditions_->setBinLabel(23, "OrbitLenEr", 2);
00356     meDCCErrorAndWarnConditions_->setBinLabel(24, "TTC_SingEr", 2);
00357     meDCCErrorAndWarnConditions_->setBinLabel(25, "TTC_DoubEr", 2);
00358 
00359     type = "DCC Ev Fragment Size Distribution";
00360     meFEDRawDataSizes_=m_dbe->book1D(type,type,12000,-0.5,12000.5);
00361     meFEDRawDataSizes_->setAxisTitle("# of bytes",1);
00362     meFEDRawDataSizes_->setAxisTitle("# of Event Fragments",2);
00363 
00364     type = "DCC Nonzero Spigot Conditions";
00365     meDCCSummariesOfHTRs_ = m_dbe->book2D(type,type,32,699.5,731.5, 20,0.5,20.5);
00366     meDCCSummariesOfHTRs_->setAxisTitle("HCAL FED ID", 1);
00367     meDCCSummariesOfHTRs_->setBinLabel(1, "HTR OFW", 2);
00368     meDCCSummariesOfHTRs_->setBinLabel(2, "HTR BSY", 2);
00369     meDCCSummariesOfHTRs_->setBinLabel(3, "Empty Events", 2);
00370     meDCCSummariesOfHTRs_->setBinLabel(4, "L1A Reject", 2);
00371     meDCCSummariesOfHTRs_->setBinLabel(5, "Latency Er", 2);
00372     meDCCSummariesOfHTRs_->setBinLabel(6, "Latncy Warn", 2);
00373     meDCCSummariesOfHTRs_->setBinLabel(7, "Optcl Data Err", 2);
00374     meDCCSummariesOfHTRs_->setBinLabel(8, "Clock", 2);
00375     meDCCSummariesOfHTRs_->setBinLabel(9, "CorrHamm LRB", 2);
00376     meDCCSummariesOfHTRs_->setBinLabel(10, "UncorrHam", 2);
00377     meDCCSummariesOfHTRs_->setBinLabel(11, "LRB Block OvF", 2);
00378     meDCCSummariesOfHTRs_->setBinLabel(12, "LRB EvN Hdr/Tlr", 2);
00379     meDCCSummariesOfHTRs_->setBinLabel(13, "FIFOs Empty", 2);
00380     meDCCSummariesOfHTRs_->setBinLabel(14, "LRB Trunct", 2);
00381     meDCCSummariesOfHTRs_->setBinLabel(15, "LRB No Hdr/tlr", 2);
00382     meDCCSummariesOfHTRs_->setBinLabel(16, "Odd 16-Bit Wd Cnt", 2);
00383     meDCCSummariesOfHTRs_->setBinLabel(17, "Spgt E not P", 2);
00384     meDCCSummariesOfHTRs_->setBinLabel(18, "Spgt BcN Mis", 2);
00385     meDCCSummariesOfHTRs_->setBinLabel(19, "P not V", 2);
00386     meDCCSummariesOfHTRs_->setBinLabel(20, "Trunct by LRB", 2);
00387 
00388     // These status bits set in the header could be useful: They're set once, and stay on
00389     // even if the event in which they're set is not analyzed...
00390 
00404 
00405     type = "Event Fragment Size for each FED";
00406     meEvFragSize_ = m_dbe->bookProfile(type,type,32,699.5,731.5,100,-1000.0,12000.0,"");
00407     type = "All Evt Frag Sizes";
00408     meEvFragSize2_ =  m_dbe->book2D(type,type,64,699.5,731.5, 2000,0,12000);
00409 
00410     type = "Num Event Frags by FED";
00411     meFEDId_=m_dbe->book1D(type, type, 32, 699.5, 731.5);
00412     meFEDId_->setAxisTitle("HCAL FED ID",1);
00413 
00414     type = "Spigot Format Errors";
00415     meSpigotFormatErrors_=  m_dbe->book1D(type,type,50,-0.5,49.5);
00416     meSpigotFormatErrors_->setAxisTitle("# of Errors",1);
00417     meSpigotFormatErrors_->setAxisTitle("# of Events",2);
00418 
00419     m_dbe->setCurrentFolder(baseFolder_ + "/DCC Plots/ZZ DCC Expert Plots");
00420 
00421     type = "Common Data Format violations";
00422     meCDFErrorFound_ = m_dbe->book2D(type,type,32,699.5,731.5,10,0.5,10.5);
00423     meCDFErrorFound_->setAxisTitle("HCAL FED ID", 1);
00424     meCDFErrorFound_->setBinLabel(1, "Hdr1BitUnset", 2);
00425     meCDFErrorFound_->setBinLabel(2, "FmtNumChange", 2);
00426     meCDFErrorFound_->setBinLabel(3, "EvTypChange", 2);
00427     meCDFErrorFound_->setBinLabel(4, "BOE not '0x5'", 2);
00428     meCDFErrorFound_->setBinLabel(5, "Hdr2Bit Set", 2);
00429     meCDFErrorFound_->setBinLabel(6, "Hdr1 36-59", 2);
00430     meCDFErrorFound_->setBinLabel(7, "BOE not 0", 2);
00431     meCDFErrorFound_->setBinLabel(8, "Trlr1Bit Set", 2);
00432     meCDFErrorFound_->setBinLabel(9, "Size Error", 2);
00433     meCDFErrorFound_->setBinLabel(10, "TrailerBad", 2);
00434 
00435     type = "DCC Event Format violation";
00436     meDCCEventFormatError_ = m_dbe->book2D(type,type,32,699.5,731.5,4,0.5,4.5);
00437     meDCCEventFormatError_->setAxisTitle("HCAL FED ID", 1);
00438     meDCCEventFormatError_->setBinLabel(1, "FmtVersChng", 2);
00439     meDCCEventFormatError_->setBinLabel(2, "StrayBits", 2);
00440     meDCCEventFormatError_->setBinLabel(3, "HTRStatusPad", 2);
00441     meDCCEventFormatError_->setBinLabel(4, "32bitPadErr", 2);
00442     //meDCCEventFormatError_->setBinLabel(5, "Spigot Error Flag Miscalculated", 2);      
00443     //meDCCEventFormatError_->setBinLabel(7, "LRB Truncation Bit MisCopied", 2);               
00444     //meDCCEventFormatError_->setBinLabel(8, "32-Bit Padding Word Needed But Absent", 2);
00445     //meDCCEventFormatError_->setBinLabel(9, "Event Size Internally Misdescribed", 2);
00446 
00447     type = "FED Error Map from Unpacker Report";
00448     meFEDerrorMap_ = m_dbe->book1D(type,type,33,699.5,732.5);
00449     meFEDerrorMap_->setAxisTitle("Dcc Id",1);
00450     meFEDerrorMap_->setAxisTitle("# of Errors",2);
00451 
00452     m_dbe->setCurrentFolder(baseFolder_ + "/HTR Plots");
00453 
00454     type = "Fraction UnSuppressed Events";
00455     meUSFractSpigs_ = m_dbe->book1D(type,type,481,0,481);
00456     for(int f=0; f<NUMDCCS; f++) {
00457       sprintf(label, "FED 7%02d", f);
00458       meUSFractSpigs_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f), label);
00459       for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
00460         sprintf(label, "sp%02d", s);
00461         meUSFractSpigs_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
00462 
00463     type = "BCN Difference Between Ref HTR and DCC";
00464     meBCNCheck_ = m_dbe->book1D(type,type,501,-250.5,250.5);
00465     meBCNCheck_->setAxisTitle("htr BCN - dcc BCN",1);
00466 
00467     type = "BCN Inconsistent - HTR vs Ref HTR";
00468     meBCNSynch_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00469     meBCNSynch_->setAxisTitle("Slot #",1);
00470     meBCNSynch_->setAxisTitle("Crate #",2);
00471 
00472     type = "BCN from HTRs";
00473     meBCN_ = m_dbe->book1D(type,type,3564,-0.5,3563.5);
00474     meBCN_->setAxisTitle("BCN",1);
00475     meBCN_->setAxisTitle("# of Entries",2);
00476 
00477     type = "EvN Difference Between Ref HTR and DCC";
00478     meEvtNCheck_ = m_dbe->book1D(type,type,601,-300.5,300.5);
00479     meEvtNCheck_->setAxisTitle("htr Evt # - dcc Evt #",1);
00480 
00481     type = "EvN Inconsistent - HTR vs Ref HTR";
00482     meEvtNumberSynch_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00483     meEvtNumberSynch_->setAxisTitle("Slot #",1);
00484     meEvtNumberSynch_->setAxisTitle("Crate #",2);
00485 
00486     type = "HBHE Data Format Error Word";
00487     DCC_ErrWd_HBHE =  m_dbe->book1D(type,type,16,-0.5,15.5);
00488     labelHTRBits(DCC_ErrWd_HBHE,1);
00489 
00490     type = "HF Data Format Error Word";
00491     DCC_ErrWd_HF =  m_dbe->book1D(type,type,16,-0.5,15.5);
00492     labelHTRBits(DCC_ErrWd_HF,1);
00493   
00494     type = "HO Data Format Error Word";
00495     DCC_ErrWd_HO = m_dbe->book1D(type,type,16,-0.5,15.5);
00496     labelHTRBits(DCC_ErrWd_HO,1);
00497 
00498     int maxbits = 16;//Look at all bits
00499     type = "HTR Error Word by Crate";
00500     meErrWdCrate_ = m_dbe->book2D(type,type,18,-0.5,17.5,maxbits,-0.5,maxbits-0.5);
00501     meErrWdCrate_ -> setAxisTitle("Crate #",1);
00502     labelHTRBits(meErrWdCrate_,2);
00503 
00504     type = "Unpacking - HcalHTRData check failures";
00505     meInvHTRData_= m_dbe->book2D(type,type,16,-0.5,15.5,32,699.5,731.5);
00506     meInvHTRData_->setAxisTitle("Spigot #",1);
00507     meInvHTRData_->setAxisTitle("DCC #",2);
00508 
00509     m_dbe->setCurrentFolder(baseFolder_ + "/HTR Plots/ZZ HTR Expert Plots");
00510 
00511     type = "BCN of Fiber Orbit Message";
00512     meFibBCN_ = m_dbe->book1D(type,type,3564,-0.5,3563.5);
00513     meFibBCN_->setAxisTitle("BCN of Fib Orb Msg",1);
00514 
00515 
00516     type = "HTR Error Word - Crate 0";
00517     meCrate0HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00518     meCrate0HTRErr_ ->setAxisTitle("Slot #",1);
00519     labelHTRBits(meCrate0HTRErr_,2);
00520 
00521     type = "HTR Error Word - Crate 1";
00522     meCrate1HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00523     meCrate1HTRErr_ ->setAxisTitle("Slot #",1);
00524     labelHTRBits(meCrate1HTRErr_,2);
00525 
00526     type = "HTR Error Word - Crate 2";
00527     meCrate2HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00528     meCrate2HTRErr_ ->setAxisTitle("Slot #",1);
00529     labelHTRBits(meCrate2HTRErr_,2);
00530 
00531     type = "HTR Error Word - Crate 3";
00532     meCrate3HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00533     meCrate3HTRErr_ ->setAxisTitle("Slot #",1);
00534     labelHTRBits(meCrate3HTRErr_,2);
00535 
00536     type = "HTR Error Word - Crate 4";
00537     meCrate4HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00538     meCrate4HTRErr_ ->setAxisTitle("Slot #",1);
00539     labelHTRBits(meCrate4HTRErr_,2);
00540 
00541     type = "HTR Error Word - Crate 5";
00542     meCrate5HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00543     meCrate5HTRErr_ ->setAxisTitle("Slot #",1);
00544     labelHTRBits(meCrate5HTRErr_,2);
00545 
00546     type = "HTR Error Word - Crate 6";
00547     meCrate6HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00548     meCrate6HTRErr_ ->setAxisTitle("Slot #",1);
00549     labelHTRBits(meCrate6HTRErr_,2);
00550 
00551     type = "HTR Error Word - Crate 7";
00552     meCrate7HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00553     meCrate7HTRErr_ ->setAxisTitle("Slot #",1);
00554     labelHTRBits(meCrate7HTRErr_,2);
00555 
00556     type = "HTR Error Word - Crate 8";
00557     meCrate8HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00558     meCrate8HTRErr_ ->setAxisTitle("Slot #",1);
00559     labelHTRBits(meCrate8HTRErr_,2);
00560 
00561     type = "HTR Error Word - Crate 9";
00562     meCrate9HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00563     meCrate9HTRErr_ ->setAxisTitle("Slot #",1);
00564     labelHTRBits(meCrate9HTRErr_,2);
00565 
00566     type = "HTR Error Word - Crate 10";
00567     meCrate10HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00568     meCrate10HTRErr_ ->setAxisTitle("Slot #",1);
00569     labelHTRBits(meCrate10HTRErr_,2);
00570 
00571     type = "HTR Error Word - Crate 11";
00572     meCrate11HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00573     meCrate11HTRErr_ ->setAxisTitle("Slot #",1);
00574     labelHTRBits(meCrate11HTRErr_,2);
00575 
00576     type = "HTR Error Word - Crate 12";
00577     meCrate12HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00578     meCrate12HTRErr_ ->setAxisTitle("Slot #",1);
00579     labelHTRBits(meCrate12HTRErr_,2);
00580 
00581     type = "HTR Error Word - Crate 13";
00582     meCrate13HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00583     meCrate13HTRErr_ ->setAxisTitle("Slot #",1);
00584     labelHTRBits(meCrate13HTRErr_,2);
00585 
00586     type = "HTR Error Word - Crate 14";
00587     meCrate14HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00588     meCrate14HTRErr_ ->setAxisTitle("Slot #",1);
00589     labelHTRBits(meCrate14HTRErr_,2);
00590 
00591     type = "HTR Error Word - Crate 15";
00592     meCrate15HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00593     meCrate15HTRErr_ ->setAxisTitle("Slot #",1);
00594     labelHTRBits(meCrate15HTRErr_,2);
00595 
00596     type = "HTR Error Word - Crate 16";
00597     meCrate16HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00598     meCrate16HTRErr_ ->setAxisTitle("Slot #",1);
00599     labelHTRBits(meCrate16HTRErr_,2);
00600 
00601     type = "HTR Error Word - Crate 17";
00602     meCrate17HTRErr_ = m_dbe->book2D(type,type,40,-0.25,19.75,maxbits,-0.5,maxbits-0.5);
00603     meCrate17HTRErr_ ->setAxisTitle("Slot #",1);
00604     labelHTRBits(meCrate17HTRErr_,2);
00605     
00606     // Firmware version
00607     type = "HTR Firmware Version";
00608     //  Maybe change to Profile histo eventually
00609     //meFWVersion_ = m_dbe->bookProfile(type,type,18,-0.5,17.5,245,10.0,255.0,"");
00610     meFWVersion_ = m_dbe->book2D(type,type ,18,-0.5,17.5,180,75.5,255.5);
00611     meFWVersion_->setAxisTitle("Crate #",1);
00612     meFWVersion_->setAxisTitle("HTR Firmware Version",2);
00613 
00614     m_dbe->setCurrentFolder(baseFolder_ + "/ZZ HCal-Wide Expert Plots");
00615 
00616     type = "Num Bad Quality Digis -DV bit-Err bit-Cap Rotation";
00617     meBadQualityDigis_=  m_dbe->book1D(type,type,9100,-1,9099);
00618     meBadQualityDigis_->setAxisTitle("# of Bad Digis",1);
00619     meBadQualityDigis_->setAxisTitle("# of Events",2);
00620 
00621     type = "Num Unmapped Digis";
00622     meUnmappedDigis_=  m_dbe->book1D(type,type,9100,-1,9099);
00623     meUnmappedDigis_->setAxisTitle("# of Unmapped Digis",1);
00624     meUnmappedDigis_->setAxisTitle("# of Events",2);
00625 
00626     type = "Num Unmapped Trigger Primitive Digis";
00627     meUnmappedTPDigis_=  m_dbe->book1D(type,type,9100,-1,9099);
00628     meUnmappedTPDigis_->setAxisTitle("# of Unmapped Trigger Primitive Digis",1);
00629     meUnmappedTPDigis_->setAxisTitle("# of Events",2);
00630 
00631     /* Disable these histos for now
00632        type = "Fiber 1 Orbit Message BCN";
00633        meFib1OrbMsgBCN_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00634        type = "Fiber 2 Orbit Message BCN";
00635        meFib2OrbMsgBCN_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00636        type = "Fiber 3 Orbit Message BCN";
00637        meFib3OrbMsgBCN_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00638        type = "Fiber 4 Orbit Message BCN";
00639        meFib4OrbMsgBCN_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00640        type = "Fiber 5 Orbit Message BCN";
00641        meFib5OrbMsgBCN_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00642        type = "Fiber 6 Orbit Message BCN";
00643        meFib6OrbMsgBCN_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00644        type = "Fiber 7 Orbit Message BCN";
00645        meFib7OrbMsgBCN_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00646        type = "Fiber 8 Orbit Message BCN";
00647        meFib8OrbMsgBCN_= m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5);
00648     */
00649   
00650   }
00651 
00652   return;
00653 }

void HcalDataFormatMonitor::smuggleMaps ( std::map< uint32_t, std::vector< HcalDetId > > &  givenDCCtoCell,
std::map< pair< int, int >, std::vector< HcalDetId > > &  givenHTRtoCell 
)

Definition at line 1432 of file HcalDataFormatMonitor.cc.

References DCCtoCell, and HTRtoCell.

Referenced by HcalMonitorModule::beginJob().

01433                                                                                                         {
01434   DCCtoCell = givenDCCtoCell;
01435   HTRtoCell = givenHTRtoCell;
01436   return;
01437 }

void HcalDataFormatMonitor::unpack ( const FEDRawData raw,
const HcalElectronicsMap emap 
)

\\///DATAFORMAT_PROBLEM_ZOO-> Fill(10);

\\///DATAFORMAT_PROBLEM_ZOO-> Fill(9);

check that all HTRs have the same L1A number

the first one will be the reference

check that all HTRs have the same BCN

the first one will be the reference

Definition at line 722 of file HcalDataFormatMonitor.cc.

References HcalDCCHeader::BOEshouldBe5Always(), HcalDCCHeader::BOEshouldBeZeroAlways(), HcalQIESample::capid(), CDFEventType_list, CDFEvT_it, CDFReservedBits_it, CDFReservedBits_list, CDFvers_it, CDFversionNumber_list, Chann_DataIntegrityCheck_, ChannSumm_DataIntegrityCheck_, FEDTrailer::check(), HcalHTRData::check(), GenMuonPlsPt100GeV_cfg::cout, FEDRawData::data(), HcalHTRData::dataPointers(), DCC_DataIntegrityCheck_, DCC_ErrWd_HBHE, DCC_ErrWd_HF, DCC_ErrWd_HO, DCCEvtFormat_it, DCCEvtFormat_list, DIMbin, HcalQIESample::dv(), lat::endl(), HcalQIESample::er(), fedEntries_, fedFatal_, HcalQIESample::fiber(), HcalQIESample::fiberAndChan(), HcalQIESample::fiberChan(), MonitorElement::Fill(), fillzoos(), firstFED_, HcalBaseMonitor::fVerbosity, HcalDCCHeader::getBunchId(), HcalHTRData::getBunchNumber(), HcalDCCHeader::getBxMismatchWithDCC(), HcalDCCHeader::getCDFEventType(), HcalDCCHeader::getCDFversionNumber(), HcalDCCHeader::getDCCDataFormatVersion(), HcalDCCHeader::getDCCEventNumber(), HcalHTRData::getErrorsWord(), HcalHTRData::getExtHdr6(), HcalHTRData::getFib1OrbMsgBCN(), HcalHTRData::getFib2OrbMsgBCN(), HcalHTRData::getFib3OrbMsgBCN(), HcalHTRData::getFib4OrbMsgBCN(), HcalHTRData::getFib5OrbMsgBCN(), HcalHTRData::getFib6OrbMsgBCN(), HcalHTRData::getFib7OrbMsgBCN(), HcalHTRData::getFib8OrbMsgBCN(), HcalHTRData::getFirmwareRevision(), HcalHTRData::getL1ANumber(), HcalDCCHeader::getLRBErrorBits(), HcalHTRData::getNDD(), HcalDCCHeader::getOrbitNumber(), HcalHTRData::getOrbitNumber(), HcalHTRData::getRawData(), HcalHTRData::getRawLength(), HcalDCCHeader::getSlink64ReservedBits(), HcalDCCHeader::getSourceId(), HcalDCCHeader::getSpigotData(), HcalDCCHeader::getSpigotDataLength(), HcalDCCHeader::getSpigotDataTruncated(), HcalDCCHeader::getSpigotEnabled(), HcalDCCHeader::getSpigotErrorBits(), HcalDCCHeader::getSpigotErrorFlag(), HcalDCCHeader::getSpigotPresent(), HcalDCCHeader::getSpigotSummary(), HcalDCCHeader::getSpigotValid(), HalfHTR_DataIntegrityCheck_, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, HTRPrint(), HcalHTRData::htrSlot(), HcalHTRData::htrTopBottom(), i, ievt_, int, HcalHTRData::isHistogramEvent(), j, lastBCN_, lastEvtN_, FEDTrailer::lenght(), HcalElectronicsMap::lookup(), mapDCCproblem(), mapHTRproblem(), meBCN_, meBCNCheck_, meBCNSynch_, meCDFErrorFound_, meCrate0HTRErr_, meCrate10HTRErr_, meCrate11HTRErr_, meCrate12HTRErr_, meCrate13HTRErr_, meCrate14HTRErr_, meCrate15HTRErr_, meCrate16HTRErr_, meCrate17HTRErr_, meCrate1HTRErr_, meCrate2HTRErr_, meCrate3HTRErr_, meCrate4HTRErr_, meCrate5HTRErr_, meCrate6HTRErr_, meCrate7HTRErr_, meCrate8HTRErr_, meCrate9HTRErr_, medccBCN_, meDCCErrorAndWarnConditions_, meDCCEventFormatError_, meDCCSummariesOfHTRs_, meErrWdCrate_, meEvFragSize2_, meEvFragSize_, meEvtNCheck_, meEvtNumberSynch_, meFEDId_, meFEDRawDataSizes_, meFibBCN_, meFWVersion_, meInvHTRData_, meUSFractSpigs_, FEDTrailer::moreTrailers(), NULL, DetId::null(), prtlvl_, HcalQIESample::raw(), HcalHTRData::readoutVMECrateId(), HcalDCCHeader::SawCT_BcN_MxMx(), HcalDCCHeader::SawCT_EvN_MxMx(), HcalDCCHeader::SawL1A_BcN_MxMx(), HcalDCCHeader::SawL1A_EvN_MxMx(), HcalDCCHeader::SawOrbitLengthErr(), HcalDCCHeader::SawTTC_DoubErr(), HcalDCCHeader::SawTTC_SingErr(), MonitorElement::setBinContent(), HcalElectronicsId::setHTR(), FEDRawData::size(), HcalDCCHeader::SPIGOT_COUNT, DetId::subdetId(), HcalDCCHeader::thereIsASecondCDFHeaderWord(), HcalDCCHeader::thereIsAThirdCDFHeaderWord(), UScount, and TrackValidation_HighPurity_cff::valid.

Referenced by processEvent().

00723                                                                   {
00724   // get the DCC header & trailer (or bail out)
00725   const HcalDCCHeader* dccHeader=(const HcalDCCHeader*)(raw.data());
00726   if(!dccHeader) return;
00727   unsigned char* trailer_ptr = (unsigned char*) (raw.data()+raw.size()-sizeof(uint64_t));
00728   FEDTrailer trailer = FEDTrailer(trailer_ptr);
00729 
00730   // FED id declared in the metadata
00731   int dccid=dccHeader->getSourceId();
00732   if(fVerbosity) cout << "DCC " << dccid << endl;
00733   //There should never be HCAL DCCs reporting a fed id outside [700:731]
00734   meFEDId_->Fill(dccid);
00735 
00736   //Before all else, how much data are we dealing with here?
00737   uint64_t* lastDataWord = (uint64_t*) ( raw.data()+raw.size()-(2*sizeof(uint64_t)) );
00738   int EvFragLength = ((*lastDataWord>>32)*8); // In bytes.
00739   EvFragLength = raw.size(); // Same source, at root, or a good check?
00740   meFEDRawDataSizes_->Fill(EvFragLength);
00741   meEvFragSize_ ->Fill(dccid, EvFragLength);
00742   meEvFragSize2_ ->Fill(dccid, EvFragLength);
00743 
00744   //DataIntegrity histogram bins
00745   int bin=0; 
00746   if (( (dccid-700) % 2 )==0) //...lucky that odd FED ID's all have slot 19....
00747     bin = 3*( (int)DIMbin[dccid-700]);
00748   else 
00749     bin = 1 + (3*(int)(DIMbin[dccid-700]-0.5));
00750   int halfhtrDIM_x, halfhtrDIM_y;
00751   int chsummDIM_x, chsummDIM_y;
00752   int channDIM_x, channDIM_y;
00753   chsummDIM_x = halfhtrDIM_x = 1 + (dccid-700)*3;
00754   
00755   //Orbit, BunchCount, and Event Numbers
00756   unsigned long dccEvtNum = dccHeader->getDCCEventNumber();
00757   int dccBCN = dccHeader->getBunchId();
00758   int dccOrN = dccHeader->getOrbitNumber();
00759   medccBCN_ -> Fill(dccBCN);
00760 
00762   bool CDFProbThisDCC = false; 
00763   /* 1 */ //There should always be a second CDF header word indicated.
00764   if (!dccHeader->thereIsASecondCDFHeaderWord()) {
00765     meCDFErrorFound_->Fill(dccid, 1);
00766     CDFProbThisDCC = true; 
00767   }
00768   /* 2 */ //Make sure a reference CDF Version value has been recorded for this dccid
00769   CDFvers_it = CDFversionNumber_list.find(dccid);
00770   if (CDFvers_it  == CDFversionNumber_list.end()) {
00771     CDFversionNumber_list.insert(pair<int,short>
00772                                  (dccid,dccHeader->getCDFversionNumber() ) );
00773     CDFvers_it = CDFversionNumber_list.find(dccid);
00774   } // then check against it.
00775   if (dccHeader->getCDFversionNumber()!= CDFvers_it->second) {
00776     meCDFErrorFound_->Fill(dccid,2);
00777     CDFProbThisDCC = true; 
00778   }
00779   /* 3 */ //Make sure a reference CDF EventType value has been recorded for this dccid
00780   CDFEvT_it = CDFEventType_list.find(dccid);
00781   if (CDFEvT_it  == CDFEventType_list.end()) {
00782     CDFEventType_list.insert(pair<int,short>
00783                              (dccid,dccHeader->getCDFEventType() ) );
00784     CDFEvT_it = CDFEventType_list.find(dccid);
00785   } // then check against it.
00786   if (dccHeader->getCDFEventType()!= CDFEvT_it->second) {
00787     meCDFErrorFound_->Fill(dccid,3);
00788     CDFProbThisDCC = true; 
00789   }
00790   /* 4 */ //There should always be a '5' in CDF Header word 0, bits [63:60]
00791   if (dccHeader->BOEshouldBe5Always()!=5) {
00792     meCDFErrorFound_->Fill(dccid, 4);
00793     CDFProbThisDCC = true; 
00794   }
00795   /* 5 */ //There should never be a third CDF Header word indicated.
00796   if (dccHeader->thereIsAThirdCDFHeaderWord()) {
00797     meCDFErrorFound_->Fill(dccid, 5);
00798     CDFProbThisDCC = true; 
00799   }
00800   /* 6 */ //Make sure a reference value of Reserved Bits has been recorded for this dccid
00801   CDFReservedBits_it = CDFReservedBits_list.find(dccid);
00802   if (CDFReservedBits_it  == CDFReservedBits_list.end()) {
00803     CDFReservedBits_list.insert(pair<int,short>
00804                                 (dccid,dccHeader->getSlink64ReservedBits() ) );
00805     CDFReservedBits_it = CDFReservedBits_list.find(dccid);
00806   } // then check against it.
00807   if ((int) dccHeader->getSlink64ReservedBits()!= CDFReservedBits_it->second) {
00808     meCDFErrorFound_->Fill(dccid,6);
00809     CDFProbThisDCC = true; 
00810   }
00811   /* 7 */ //There should always be 0x0 in CDF Header word 1, bits [63:60]
00812   if (dccHeader->BOEshouldBeZeroAlways() !=0) {
00813     meCDFErrorFound_->Fill(dccid, 7);
00814     CDFProbThisDCC = true; 
00815   }
00816   /* 8 */ //There should only be one trailer
00817   if (trailer.moreTrailers()) {
00818     meCDFErrorFound_->Fill(dccid, 8);
00819     CDFProbThisDCC = true; 
00820   }
00821   //  if trailer.
00822   /* 9 */ //CDF Trailer [55:30] should be the # 64-bit words in the EvFragment
00823   if ((uint64_t) raw.size() != ( (uint64_t) trailer.lenght()*sizeof(uint64_t)) )  //The function name is a typo! Awesome.
00824     {
00825       meCDFErrorFound_->Fill(dccid, 9);
00826       CDFProbThisDCC = true; 
00827     }
00828   /*10 */ //There is a rudimentary sanity check built into the FEDTrailer class
00829   if (!trailer.check()) {
00830     meCDFErrorFound_->Fill(dccid, 10);
00831     CDFProbThisDCC = true; 
00832   }
00833   if (CDFProbThisDCC) {
00834     fillzoos(6,dccid);
00835     //Set the problem flag for the ieta, iphi of any channel in this DCC
00836     mapDCCproblem(dccid);
00837   }
00838   if (CDFProbThisDCC)
00839     fedFatal_->Fill(dccid);
00840   fedEntries_->Fill(dccid);
00841 
00842   CDFProbThisDCC = false;  // reset for the next go-round.
00843   
00844   char CRC_err;
00845   for(int i=0; i<HcalDCCHeader::SPIGOT_COUNT; i++) {
00846     CRC_err = ((dccHeader->getSpigotSummary(i) >> 10) & 0x00000001);
00847     if (CRC_err) {
00848       fillzoos(5,dccid);
00849       //Set the problem flag for the ieta, iphi of any channel in this DCC
00850       mapHTRproblem(dccid, i);  
00851     }
00852   }
00853   
00854   // Unlovely. There are N bytes in the DCC's raw data, the last at raw.data(N-1).
00855   // They're in words of 8 bytes.
00856   // Take the last word, take its low byte, and the high 4 bits are the TTS state. Easy.
00857   char TTS_state = ((raw.data()[raw.size()-8]>>4) & 0x0F);
00858 
00859   //  char TTS_state=(char) dccHeader->getAcceptTimeTTS();
00860   if (TTS_state & 0x8) /*RDY*/ 
00861     ++DCC_DataIntegrityCheck_[bin][20];
00862   if (TTS_state & 0x4) /*BSY*/ {
00863     ++DCC_DataIntegrityCheck_[bin][18];
00865   }
00866   if (TTS_state & 0x2) /*SYN*/ {
00867     ++DCC_DataIntegrityCheck_[bin][17];
00868     ++DCC_DataIntegrityCheck_[bin][ 6];}          // DCC lost data
00869   if (TTS_state & 0x1) /*OFW*/ {
00870     ++DCC_DataIntegrityCheck_[bin][19];
00872     mapDCCproblem(dccid);}
00873 
00875   /* 1 */ //Make sure a reference value of the DCC Event Format version has been noted for this dcc.
00876   DCCEvtFormat_it = DCCEvtFormat_list.find(dccid);
00877   if (DCCEvtFormat_it == DCCEvtFormat_list.end()) {
00878     DCCEvtFormat_list.insert(pair<int,short>
00879                              (dccid,dccHeader->getDCCDataFormatVersion() ) );
00880     DCCEvtFormat_it = DCCEvtFormat_list.find(dccid);
00881   } // then check against it.
00882   if (dccHeader->getDCCDataFormatVersion()!= DCCEvtFormat_it->second) 
00883     meDCCEventFormatError_->Fill(dccid,1);
00884   /* 2 */ //Check for ones where there should always be zeros
00885   if (false) //dccHeader->getByte1Zeroes() || dccHeader->getByte3Zeroes() || dccHeader->getByte567Zeroes()) 
00886     meDCCEventFormatError_->Fill(dccid,2);
00887   /* 3 */ //Check that there are zeros following the HTR Status words.
00888   int SpigotPad = HcalDCCHeader::SPIGOT_COUNT;
00889   if (  ((uint64_t) dccHeader->getSpigotSummary(SpigotPad)  ) 
00890         | ((uint64_t) dccHeader->getSpigotSummary(SpigotPad+1)) 
00891         | ((uint64_t) dccHeader->getSpigotSummary(SpigotPad+2))  != 0)
00892     meDCCEventFormatError_->Fill(dccid,3);
00893   /* 4 */ //Check that there are zeros following the HTR Payloads, if needed.
00894   int nHTR32BitWords=0;
00895   // add up all the declared HTR Payload lengths
00896   for(int i=0; i<HcalDCCHeader::SPIGOT_COUNT; i++) {
00897     nHTR32BitWords += dccHeader->getSpigotDataLength(i);  }
00898   // if it's an odd number, check for the padding zeroes
00899   if (( nHTR32BitWords % 2) == 1) {
00900     uint64_t* lastDataWord = (uint64_t*) ( raw.data()+raw.size()-(2*sizeof(uint64_t)) );
00901     if ((*lastDataWord>>32) != 0x00000000)
00902       meDCCEventFormatError_->Fill(dccid, 4);
00903   }
00904   
00906   /* [1:15] */ //Histogram HTR Status Bits from the DCC Header
00907   for(int i=1; i<=HcalDCCHeader::SPIGOT_COUNT; i++)  
00908     // One bit: data missing || mismatch <EvN, BcN, || OrN>
00909     if (dccHeader->getSpigotErrorFlag(i))  meDCCErrorAndWarnConditions_->Fill(dccid, i);
00910   /* [16:25] */ //Histogram DCC Error and Warning Counters being nonzero
00911   if (TTS_state & 0x1)                  meDCCErrorAndWarnConditions_->Fill(dccid,16);
00912   if (TTS_state & 0x4)                  meDCCErrorAndWarnConditions_->Fill(dccid,17);
00913   if (TTS_state & 0x2)                  meDCCErrorAndWarnConditions_->Fill(dccid,18);
00914   if (dccHeader->SawL1A_EvN_MxMx()   )  meDCCErrorAndWarnConditions_->Fill(dccid,19);
00915   if (dccHeader->SawL1A_BcN_MxMx()   )  meDCCErrorAndWarnConditions_->Fill(dccid,20);
00916   if (dccHeader->SawCT_EvN_MxMx()    )  meDCCErrorAndWarnConditions_->Fill(dccid,21);
00917   if (dccHeader->SawCT_BcN_MxMx()    )  meDCCErrorAndWarnConditions_->Fill(dccid,22);
00918   if (dccHeader->SawOrbitLengthErr() )  meDCCErrorAndWarnConditions_->Fill(dccid,23);
00919   if (dccHeader->SawTTC_SingErr()    )  meDCCErrorAndWarnConditions_->Fill(dccid,24);
00920   if (dccHeader->SawTTC_DoubErr()    )  meDCCErrorAndWarnConditions_->Fill(dccid,25);
00921 
00922 
00924   /* [1:8] */ //Histogram HTR Error Bits in the DCC Headers
00925   bool FoundOne;
00926   unsigned char WholeErrorList=0; 
00927   for(int j=0; j<HcalDCCHeader::SPIGOT_COUNT; j++) {
00928     WholeErrorList=dccHeader->getSpigotErrorBits((unsigned int) j);
00929     if ((WholeErrorList>>0)&0x01) { //HTR OFW
00930       ++DCC_DataIntegrityCheck_[bin][15];
00931       meDCCSummariesOfHTRs_->Fill(dccid, 1);
00932       fillzoos(11,dccid);
00933     }
00934     if ((WholeErrorList>>1)&0x01) { //HTR BSY
00935       ++DCC_DataIntegrityCheck_[bin][14];
00936       meDCCSummariesOfHTRs_->Fill(dccid, 2);
00937       fillzoos(12,dccid);
00938     }
00939     if ((WholeErrorList>>2)&0x01) { //EE
00940       meDCCSummariesOfHTRs_->Fill(dccid, 3);
00941       mapHTRproblem(dccid, j);
00942       fillzoos(1,dccid);
00943     }
00944     if ((WholeErrorList>>3)&0x01) { //Trigger Rule Viol.
00945       meDCCSummariesOfHTRs_->Fill(dccid, 4);
00946       fillzoos(13,dccid);
00947     }
00948     if ((WholeErrorList>>4)&0x01) { //Latency Err
00949       meDCCSummariesOfHTRs_->Fill(dccid, 5);
00950     }
00951     if ((WholeErrorList>>5)&0x01) { //Latency Warn
00952       meDCCSummariesOfHTRs_->Fill(dccid, 6);
00953     }
00954     if ((WholeErrorList>>6)&0x01) { //OD
00955       meDCCSummariesOfHTRs_->Fill(dccid, 7);
00956       fillzoos(15,dccid);
00957     }
00958     if ((WholeErrorList>>7)&0x01) { //CK
00959       meDCCSummariesOfHTRs_->Fill(dccid, 8);
00960       fillzoos(16,dccid);
00961     }
00962   }
00963   /* [9:16] */ //Histogram LRB Error Bits in the DCC Headers
00964   WholeErrorList=0; 
00965   for(int j=0; j<HcalDCCHeader::SPIGOT_COUNT; j++) {
00966     WholeErrorList=dccHeader->getLRBErrorBits((unsigned int) j);
00967     if ((WholeErrorList>>0)&0x03) { //HammingCode Corrected & Uncorr
00968       ++DCC_DataIntegrityCheck_[bin][3]; 
00969       fillzoos(4,dccid);
00970       mapHTRproblem (dccid, j);
00971       if ((WholeErrorList>>0)&0x01)  //HammingCode Corrected 
00972         meDCCSummariesOfHTRs_->Fill(dccid, 9);
00973       if ((WholeErrorList>>1)&0x01)  //HammingCode Uncorr
00974         meDCCSummariesOfHTRs_->Fill(dccid, 10);
00975     }
00976     for (int i=2; i<8; i++) {
00977       FoundOne=false;
00978       if ((WholeErrorList>>i)&0x01) {
00979         meDCCSummariesOfHTRs_->Fill(dccid, 9+i);
00980         FoundOne = true;
00981       }
00982     }
00983     if (FoundOne) 
00984       mapHTRproblem(dccid, j);
00985   }
00986   /* [17:20] */ //Histogram condition of Enabled Spigots without data Present
00987   bool FoundEnotP=false;
00988   bool FoundPnotB=false;
00989   bool FoundPnotV=false;
00990   bool FoundT=false;
00991   for(int j=1; j<=HcalDCCHeader::SPIGOT_COUNT; j++) {
00992     if ( dccHeader->getSpigotEnabled((unsigned int) j-1)         &&
00993          (dccHeader->getSpigotDataLength(j-1) <(unsigned long)10) ) 
00994       ++DCC_DataIntegrityCheck_[bin][8];           // Lost HTR Data for sure
00995     if (dccHeader->getSpigotEnabled((unsigned int) j-1) &&
00996         !dccHeader->getSpigotPresent((unsigned int) j-1)      ) FoundEnotP=true;
00997     //I got the wrong sign on getBxMismatchWithDCC; 
00998     //It's a match, not a mismatch, when true. I'm sorry. 
00999     if (dccHeader->getSpigotPresent((unsigned int) j-1) &&
01000         !dccHeader->getBxMismatchWithDCC((unsigned int) j-1)  ) FoundPnotB=true;
01001     if (dccHeader->getSpigotPresent((unsigned int) j-1) &&
01002         !dccHeader->getSpigotValid((unsigned int) j-1)        ) FoundPnotV=true;
01003     if (dccHeader->getSpigotDataTruncated((unsigned int) j-1) ) {
01004       ++DCC_DataIntegrityCheck_[bin][7];           // LRB truncated the data
01005       FoundT=true;}
01006   }
01007   if (FoundEnotP)meDCCSummariesOfHTRs_->Fill(dccid,17);
01008   if (FoundPnotB)meDCCSummariesOfHTRs_->Fill(dccid,18);
01009   if (FoundPnotV)meDCCSummariesOfHTRs_->Fill(dccid,19);
01010   if (  FoundT  )meDCCSummariesOfHTRs_->Fill(dccid,20);
01011 
01012   // walk through the HTR data...
01013   HcalHTRData htr;  
01014   for (int spigot=0; spigot<HcalDCCHeader::SPIGOT_COUNT; spigot++) {    
01015     if (!dccHeader->getSpigotPresent(spigot)) continue;
01016 
01017     halfhtrDIM_y = 1+(spigot*4);
01018     chsummDIM_y  = halfhtrDIM_y;
01019     channDIM_y   = 1+(spigot*3);
01020     bool chsummAOK=true;
01021     bool channAOK=true;
01022 
01023     // From this Spigot's DCC header, first.
01024     WholeErrorList=dccHeader->getLRBErrorBits((unsigned int) spigot);
01025     if ((WholeErrorList>>0)&0x01)  //HammingCode Corrected 
01026       ++HalfHTR_DataIntegrityCheck_[halfhtrDIM_x+1][halfhtrDIM_y+2];
01027     if ((WholeErrorList>>1)&0x01)  //HammingCode Uncorr
01028       ++HalfHTR_DataIntegrityCheck_[halfhtrDIM_x+1][halfhtrDIM_y+1];
01029     CRC_err = ((dccHeader->getSpigotSummary(spigot) >> 10) & 0x00000001);
01030     if (CRC_err)
01031       ++HalfHTR_DataIntegrityCheck_[halfhtrDIM_x+1][halfhtrDIM_y+0];
01032 
01033     // Load the given decoder with the pointer and length from this spigot.
01034     dccHeader->getSpigotData(spigot,htr, raw.size()); 
01035     const unsigned short* HTRraw = htr.getRawData();
01036     unsigned short HTRwdcount = HTRraw[htr.getRawLength() - 2];
01037     
01038     if (HTRwdcount != htr.getRawLength())
01039       //meChannSumm_DataIntegrityCheck_->Fill(chsummDIM_x, chsummDIM_y);
01040       ;
01041     
01042     //fix me!
01043     HTRwdcount=htr.getRawLength();
01044 
01045     // Size checks for internal consistency
01046     // getNTP(), get NDD() seems to be mismatched with format. Manually:
01047     int NTP = ((htr.getExtHdr6() >> 8) & 0x00FF);
01048     int NDAQ = (HTRraw[htr.getRawLength() - 4] & 0x7FF);
01049 
01050     if ( !  ((HTRwdcount != 8)               ||
01051              (HTRwdcount != 12 + NTP + NDAQ) ||
01052              (HTRwdcount != 20 + NTP + NDAQ)    )) {
01053       ++ChannSumm_DataIntegrityCheck_[chsummDIM_x+1][chsummDIM_y];
01054       chsummAOK=false;
01055       //incompatible Sizes declared. Skip it.
01056       continue; }
01057     bool EE = ((dccHeader->getSpigotErrorBits(spigot) >> 2) & 0x01);
01058     if (EE) { 
01059       if (HTRwdcount != 8) {    //incompatible Sizes declared. Skip it.
01060         ++ChannSumm_DataIntegrityCheck_[chsummDIM_x][chsummDIM_y];
01061         chsummAOK=false;}
01062       continue;}
01063     else{ //For non-EE,
01064       if ((HTRwdcount-NDAQ-NTP) != 20) {        //incompatible Sizes declared. Skip it.
01065         ++ChannSumm_DataIntegrityCheck_[chsummDIM_x][chsummDIM_y];
01066         chsummAOK=false; 
01067         continue;} }
01068 
01069     if (htr.isHistogramEvent()) continue;
01070 
01071     //We trust the data now.  Finish with the check against DCCHeader
01072     if (htr.getOrbitNumber() != (unsigned int) dccOrN)
01073       ++HalfHTR_DataIntegrityCheck_[halfhtrDIM_x+0][halfhtrDIM_y+0];
01074     if (htr.getBunchNumber() != (unsigned int) dccBCN)
01075       ++HalfHTR_DataIntegrityCheck_[halfhtrDIM_x+0][halfhtrDIM_y+1];
01076     if (htr.getL1ANumber() != dccEvtNum)
01077       ++HalfHTR_DataIntegrityCheck_[halfhtrDIM_x+0][halfhtrDIM_y+2];
01078 
01079     bool htrUnSuppressed=(HTRraw[6]>>15 & 0x0001);
01080     if (htrUnSuppressed) {
01081       UScount[dccid-700][spigot]++;
01082       int here=1+(HcalDCCHeader::SPIGOT_COUNT*(dccid-700))+spigot;
01083       meUSFractSpigs_->setBinContent(here,
01084                                      ((double)UScount[dccid-700][spigot])/(double)ievt_);}
01085 
01086     // Consider removing this check and the histogram it fills; 
01087     // unless, say, unpacker is a customer (then retitle histo.)
01088     // check min length, correct wordcount, empty event, or total length if histo event.
01089     if (!htr.check()) {
01090       meInvHTRData_ -> Fill(spigot,dccid);
01091       fillzoos(8,dccid);
01092       mapHTRproblem(dccid,spigot);}
01093 
01094     // Fish out Front-End Errors from the precision channels
01095     const short unsigned int* daq_first, *daq_last, *tp_first, *tp_last;
01096     const HcalQIESample* qie_begin, *qie_end, *qie_work;
01097 
01098     // get pointers
01099     htr.dataPointers(&daq_first,&daq_last,&tp_first,&tp_last);
01100 
01101     qie_begin=(HcalQIESample*)daq_first;
01102     qie_end=(HcalQIESample*)(daq_last+1); // one beyond last..
01103 
01104     int lastcapid=-1;
01105     int lastfibchan =0, samplecounter=0;
01106     int channum=0; // Valid: [1,24]
01107     channDIM_x=0;  
01108 
01109     // Loop over DAQ words for this spigot
01110 
01111     for (qie_work=qie_begin; qie_work!=qie_end; qie_work++) {
01112       bool yeah = (qie_work->raw()==0xFFFF);
01113       if (yeah)  // filler word
01114         continue;
01115       channAOK=true;
01116       // Beginning digitized hit of this Half-HTR?
01117       if (qie_work==qie_begin) {
01118         channum= (3* (qie_work->fiber() -1)) + qie_work->fiberChan();  
01119         channDIM_x = (channum*3)+1;
01120         lastcapid=qie_work->capid();
01121         samplecounter=1;}
01122       // or the first TS of a this channel's DAQ data?
01123       else if (qie_work->fiberAndChan() != lastfibchan) {
01124         channum= (3* (qie_work->fiber() - 1)) + qie_work->fiberChan();
01125         channDIM_x = (channum*3)+1;
01126         //Check the last digi for number of timeslices
01127         if ((samplecounter != htr.getNDD()) &&
01128             (samplecounter != 1)             ) {
01129           ++ChannSumm_DataIntegrityCheck_[chsummDIM_x][chsummDIM_y+1];
01130           ++Chann_DataIntegrityCheck_[dccid-700][channDIM_x][channDIM_y];
01131           channAOK=false;}
01132         samplecounter=1;}
01133       else { //precision samples not the first timeslice
01134         int hope = lastcapid +1;
01135         if (hope==4) hope = 0;
01136         if (qie_work->capid() != hope){
01137           ++ChannSumm_DataIntegrityCheck_[chsummDIM_x+1][chsummDIM_y+1];
01138           ++Chann_DataIntegrityCheck_[dccid-700][channDIM_x+1][channDIM_y];
01139           ++ChannSumm_DataIntegrityCheck_[chsummDIM_x+1][chsummDIM_y+1];
01140           ++Chann_DataIntegrityCheck_[dccid-700][channDIM_x+1][channDIM_y];
01141           channAOK=false;}
01142         samplecounter++;}
01143         
01144       //For every precision data sample in Hcal:
01145 
01146       // FEE - Front End Error
01147       if (!(qie_work->dv()) || qie_work->er()) {
01148         ++DCC_DataIntegrityCheck_[bin][4]; 
01149         ++ChannSumm_DataIntegrityCheck_[chsummDIM_x+1][chsummDIM_y+2];
01150         ++Chann_DataIntegrityCheck_[dccid-700][channDIM_x+1][channDIM_y+1];
01151         channAOK=false;}
01152     }
01153 
01154     //Summarize
01155     if (!channAOK) chsummAOK=false;
01156     else 
01157       ++Chann_DataIntegrityCheck_[dccid-700][channDIM_x][channDIM_y+1];
01158 
01159     // Prepare for the next round...
01160     lastcapid=qie_work->capid();
01161     lastfibchan=qie_work->fiberAndChan();
01162 
01163     if (chsummAOK) //better if every event? Here, every half-HTR's event....
01164       ++ChannSumm_DataIntegrityCheck_[chsummDIM_x][chsummDIM_y+2];
01165 
01166     if ( !(htr.getErrorsWord() >> 8) & 0x00000001) 
01167       fillzoos(14,dccid);
01168 
01169     if (dccid==723 && spigot==3) { //the ZDC spigot
01170       //const unsigned short* zdcRAW =  htr.getRawData();
01171       //std::cout  << "ZDC ===> " << zdcRAW[0] << std::endl;
01172     }
01173     
01174     int cratenum = htr.readoutVMECrateId();
01175     float slotnum = htr.htrSlot() + 0.5*htr.htrTopBottom();
01176     if (prtlvl_ > 0) HTRPrint(htr,prtlvl_);
01177 
01178     unsigned int htrBCN = htr.getBunchNumber(); 
01179     meBCN_->Fill(htrBCN);
01180     unsigned int htrEvtN = htr.getL1ANumber();
01181 
01182     if (dccEvtNum != htrEvtN)
01183       ++DCC_DataIntegrityCheck_[bin][13];
01184     if ((unsigned int) dccBCN != htrBCN)
01185       ++DCC_DataIntegrityCheck_[bin][11];
01186  
01187     unsigned int fib1BCN = htr.getFib1OrbMsgBCN();
01188     unsigned int fib2BCN = htr.getFib2OrbMsgBCN();
01189     unsigned int fib3BCN = htr.getFib3OrbMsgBCN();
01190     unsigned int fib4BCN = htr.getFib4OrbMsgBCN();
01191     unsigned int fib5BCN = htr.getFib5OrbMsgBCN();
01192     unsigned int fib6BCN = htr.getFib6OrbMsgBCN();
01193     unsigned int fib7BCN = htr.getFib7OrbMsgBCN();
01194     unsigned int fib8BCN = htr.getFib8OrbMsgBCN();
01195     
01196     if ( (dccEvtNum != fib1BCN) ||
01197          (dccEvtNum != fib2BCN) ||
01198          (dccEvtNum != fib3BCN) ||
01199          (dccEvtNum != fib4BCN) ||
01200          (dccEvtNum != fib5BCN) ||
01201          (dccEvtNum != fib6BCN) ||
01202          (dccEvtNum != fib7BCN) ||
01203          (dccEvtNum != fib8BCN) ) 
01204       ++DCC_DataIntegrityCheck_[bin][10];
01205  
01206     meFibBCN_->Fill(fib1BCN);
01207     meFibBCN_->Fill(fib2BCN);
01208     meFibBCN_->Fill(fib3BCN);
01209     meFibBCN_->Fill(fib4BCN);
01210     meFibBCN_->Fill(fib5BCN);
01211     meFibBCN_->Fill(fib6BCN);
01212     meFibBCN_->Fill(fib7BCN);
01213     meFibBCN_->Fill(fib8BCN);
01214     /* Disable for now
01215        meFib1OrbMsgBCN_->Fill(slotnum, cratenum, fib1BCN);
01216        meFib2OrbMsgBCN_->Fill(slotnum, cratenum, fib2BCN);
01217        meFib3OrbMsgBCN_->Fill(slotnum, cratenum, fib3BCN);
01218        meFib4OrbMsgBCN_->Fill(slotnum, cratenum, fib4BCN);
01219        meFib5OrbMsgBCN_->Fill(slotnum, cratenum, fib5BCN);
01220        meFib6OrbMsgBCN_->Fill(slotnum, cratenum, fib6BCN);
01221        meFib7OrbMsgBCN_->Fill(slotnum, cratenum, fib7BCN);
01222        meFib8OrbMsgBCN_->Fill(slotnum, cratenum, fib8BCN);
01223     */  
01224 
01225     unsigned int htrFWVer = htr.getFirmwareRevision() & 0xFF;
01226     meFWVersion_->Fill(cratenum,htrFWVer);
01227 
01229     unsigned int refEvtNum = dccEvtNum;
01230     /*Could use Evt # from dcc as reference, but not now.
01231       if(htr.getL1ANumber()!=refEvtNum) {meEvtNumberSynch_->Fill(slotnum,cratenum);
01232       if (prtlvl_ == 1)cout << "++++ Evt # out of sync, ref, this HTR: "<< refEvtNum << "  "<<htr.getL1ANumber() <<endl;
01233       }
01234     */
01235 
01236     if(lastEvtN_==-1) {lastEvtN_ = htrEvtN;  
01237     refEvtNum = lastEvtN_;
01238     int EvtNdiff = htrEvtN - dccEvtNum;
01239     meEvtNCheck_->Fill(EvtNdiff);
01240     }
01241     else {
01242       if((int) htrEvtN!=lastEvtN_) {meEvtNumberSynch_->Fill(slotnum,cratenum);
01243       if (prtlvl_ == 1)cout << "++++ Evt # out of sync, ref, this HTR: "<< lastEvtN_ << "  "<<htrEvtN <<endl;}
01244 
01245     }
01246 
01248 
01249     unsigned int refBCN = dccBCN;
01250     /*Could use BCN from dcc as reference, but not now.
01251       if(htr.getBunchNumber()!=refBCN) {meBCNSynch_->Fill(slotnum,cratenum);
01252       if (prtlvl_==1)cout << "++++ BCN # out of sync, ref, this HTR: "<< refBCN << "  "<<htrBCN <<endl;
01253       }
01254     */
01255     // Use 1st HTR as reference
01256     if(lastBCN_==-1) {lastBCN_ = htrBCN;  
01257     refBCN = lastBCN_;
01258     int BCNdiff = htrBCN-dccBCN;
01259     meBCNCheck_->Fill(BCNdiff);
01260     }
01261 
01262     else {
01263       if((int)htrBCN!=lastBCN_) {meBCNSynch_->Fill(slotnum,cratenum);
01264       if (prtlvl_==1)cout << "++++ BCN # out of sync, ref, this HTR: "<< lastBCN_ << "  "<<htrBCN <<endl;}
01265     }
01266 
01267     MonitorElement* tmpErr = 0;
01268     bool valid = false;
01269     for(int fchan=0; fchan<3 && !valid; fchan++){
01270       for(int fib=0; fib<9 && !valid; fib++){
01271         HcalElectronicsId eid(fchan,fib,spigot,dccid-firstFED_);
01272         eid.setHTR(htr.readoutVMECrateId(),htr.htrSlot(),htr.htrTopBottom());
01273         DetId did=emap.lookup(eid);
01274         //      if (did.null()){cout << " Detector id null  " << cratenum << "  " <<slotnum << endl;}
01275         if (!did.null()) {
01276           switch (((HcalSubdetector)did.subdetId())) {
01277           case (HcalBarrel): {
01278             tmpErr = DCC_ErrWd_HBHE;
01279             valid = true;
01280           } break;
01281           case (HcalEndcap): {
01282             tmpErr = DCC_ErrWd_HBHE;
01283             valid = true;
01284           } break;
01285           case (HcalOuter): {
01286             tmpErr = DCC_ErrWd_HO;
01287             valid = true;
01288           } break;
01289           case (HcalForward): {
01290             tmpErr = DCC_ErrWd_HF; 
01291             valid = true;
01292           } break;
01293           default: break;
01294           }
01295         }
01296       }
01297     }    
01298     int errWord = htr.getErrorsWord() & 0x1FFFF;
01299     if(tmpErr!=NULL){
01300       for(int i=0; i<16; i++){
01301         int errbit = errWord&(0x01<<i);
01302         // Bit 15 should always be 1; consider it an error if it isn't.
01303         if (i==15) errbit = errbit - 0x8000;
01304         if (errbit !=0){
01305           tmpErr->Fill(i);
01306           if (i==5 && prtlvl_ != -1) continue; // Skip latency warning for now
01307           meErrWdCrate_->Fill(cratenum,i);
01308           if (cratenum ==0)meCrate0HTRErr_ -> Fill(slotnum,i);
01309           else if (cratenum ==1)meCrate1HTRErr_ -> Fill(slotnum,i);
01310           else if (cratenum ==2)meCrate2HTRErr_ -> Fill(slotnum,i);
01311           else if (cratenum ==3)meCrate3HTRErr_ -> Fill(slotnum,i);
01312           else if (cratenum ==4)meCrate4HTRErr_ -> Fill(slotnum,i);
01313           else if (cratenum ==5)meCrate5HTRErr_ -> Fill(slotnum,i);
01314           else if (cratenum ==6)meCrate6HTRErr_ -> Fill(slotnum,i);
01315           else if (cratenum ==7)meCrate7HTRErr_ -> Fill(slotnum,i);
01316           else if (cratenum ==8)meCrate8HTRErr_ -> Fill(slotnum,i);
01317           else if (cratenum ==9)meCrate9HTRErr_ -> Fill(slotnum,i);
01318           else if (cratenum ==10)meCrate10HTRErr_ -> Fill(slotnum,i);
01319           else if (cratenum ==11)meCrate11HTRErr_ -> Fill(slotnum,i);
01320           else if (cratenum ==12)meCrate12HTRErr_ -> Fill(slotnum,i);
01321           else if (cratenum ==13)meCrate13HTRErr_ -> Fill(slotnum,i);
01322           else if (cratenum ==14)meCrate14HTRErr_ -> Fill(slotnum,i);
01323           else if (cratenum ==15)meCrate15HTRErr_ -> Fill(slotnum,i);
01324           else if (cratenum ==16)meCrate16HTRErr_ -> Fill(slotnum,i);
01325           else if (cratenum ==17)meCrate17HTRErr_ -> Fill(slotnum,i);
01326         } 
01327       }
01328     }    
01329   } //  for (int spigot=0; spigot<HcalDCCHeader::SPIGOT_COUNT; spigot++) 
01330   return;
01331 } // void HcalDataFormatMonitor::unpack(

void HcalDataFormatMonitor::UpdateMap ( void   )  [private]

\\/// std::vector < std::vector<uint64_t> >iterator the_eta; \\/// std::vector<uint64_t>::iterator the_phi; \\/// float val; \\/// int eta_ctr, phi_ctr; \\/// \\/// for (eta_ctr=IETAMIN; eta_ctr <= IETAMAX; eta_ctr++) { \\/// for (phi_ctr=IPHIMIN; phi_ctr <= IPHIMAX; phi_ctr++) { \\/// val = (float) ( phatmap[eta_ctr - IETAMIN][phi_ctr] / ievt_ ); \\/// DATAFORMAT_PROBLEM_MAP->setBinContent(eta_ctr-IETAMIN+1, phi_ctr+1, val); \\/// \\/// val = (float) ( HBmap[eta_ctr - IETAMIN][phi_ctr]); \\/// if (val != 0.0) \\/// HB_DATAFORMAT_PROBLEM_MAP->Fill(eta_ctr-IETAMIN+1, phi_ctr+1, val); \\/// \\/// val = (float) ( HEmap[eta_ctr - IETAMIN][phi_ctr]); \\/// if (val != 0.0) { \\/// HE_DATAFORMAT_PROBLEM_MAP->Fill(eta_ctr-IETAMIN+1, phi_ctr+1, val);} \\/// \\/// val = (float) ( HFmap[eta_ctr - IETAMIN][phi_ctr]); \\/// if (val != 0.0) \\/// HF_DATAFORMAT_PROBLEM_MAP->Fill(eta_ctr-IETAMIN+1, phi_ctr+1, val); \\/// \\/// val = (float) ( HOmap[eta_ctr - IETAMIN][phi_ctr]); \\/// if (val != 0.0) \\/// HO_DATAFORMAT_PROBLEM_MAP->Fill(eta_ctr-IETAMIN+1, phi_ctr+1, val); \\/// } \\/// }

Definition at line 1497 of file HcalDataFormatMonitor.cc.

Referenced by processEvent().

01497                                            {
01525 }

void HcalDataFormatMonitor::UpdateMEs ( void   )  [private]

Definition at line 1527 of file HcalDataFormatMonitor.cc.

References Chann_DataIntegrityCheck_, ChannSumm_DataIntegrityCheck_, CIX, CIY, CSDIX, DCC_DataIntegrityCheck_, f, MonitorElement::Fill(), HalfHTR_DataIntegrityCheck_, HHDIX, HHDIY, meChann_DataIntegrityCheck_, meChannSumm_DataIntegrityCheck_, meDCC_DataIntegrityCheck_, meHalfHTR_DataIntegrityCheck_, NUMDCCS, RCDIX, RCDIY, x, and y.

Referenced by processEvent().

01527                                             {
01528   for (int x=0; x<RCDIX; x++)
01529     for (int y=0; y<RCDIY; y++)
01530       if (DCC_DataIntegrityCheck_[x][y]) //If it's not zero
01531         meDCC_DataIntegrityCheck_->Fill(x, y, DCC_DataIntegrityCheck_[x][y]);
01532 
01533   for (int x=0; x<HHDIX; x++)
01534     for (int y=0; y<HHDIY; y++)
01535       if (HalfHTR_DataIntegrityCheck_  [x][y])
01536         meHalfHTR_DataIntegrityCheck_->Fill(x,y,HalfHTR_DataIntegrityCheck_[x][y]);
01537          
01538   for (int x=0; x<CSDIX; x++)
01539     for (int y=0; y<HHDIY; y++)
01540       if (ChannSumm_DataIntegrityCheck_[x][y])
01541         meChannSumm_DataIntegrityCheck_->Fill(x,y,ChannSumm_DataIntegrityCheck_[x][y]);
01542 
01543   for (int f=0; f<NUMDCCS; f++)
01544     for (int x=0; x<CIX; x++)
01545       for (int y=0; y<CIY; y++)      
01546         if (Chann_DataIntegrityCheck_[f][x][y])
01547           meChann_DataIntegrityCheck_[f]->Fill(x,y,Chann_DataIntegrityCheck_ [f][x][y]);
01548 }


Member Data Documentation

std::map<int, short> HcalDataFormatMonitor::CDFEventType_list [private]

Definition at line 252 of file HcalDataFormatMonitor.h.

Referenced by unpack().

std::map<int, short>::iterator HcalDataFormatMonitor::CDFEvT_it [private]

Definition at line 253 of file HcalDataFormatMonitor.h.

Referenced by unpack().

std::map<int, short>::iterator HcalDataFormatMonitor::CDFReservedBits_it [private]

Definition at line 255 of file HcalDataFormatMonitor.h.

Referenced by unpack().

std::map<int, short> HcalDataFormatMonitor::CDFReservedBits_list [private]

Definition at line 254 of file HcalDataFormatMonitor.h.

Referenced by unpack().

std::map<int, short>::iterator HcalDataFormatMonitor::CDFvers_it [private]

Definition at line 251 of file HcalDataFormatMonitor.h.

Referenced by unpack().

std::map<int, short> HcalDataFormatMonitor::CDFversionNumber_list [private]

Definition at line 250 of file HcalDataFormatMonitor.h.

Referenced by unpack().

float HcalDataFormatMonitor::Chann_DataIntegrityCheck_[NUMDCCS][CIX][CIY] [private]

Definition at line 144 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), unpack(), and UpdateMEs().

float HcalDataFormatMonitor::ChannSumm_DataIntegrityCheck_[CSDIX][HHDIY] [private]

Definition at line 143 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), unpack(), and UpdateMEs().

int HcalDataFormatMonitor::currFiberChan [private]

Definition at line 244 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::DATAFORMAT_PROBLEM_MAP [private]

Definition at line 100 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::DATAFORMAT_PROBLEM_ZOO [private]

Definition at line 101 of file HcalDataFormatMonitor.h.

float HcalDataFormatMonitor::DCC_DataIntegrityCheck_[RCDIX][RCDIY] [private]

Definition at line 141 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), unpack(), and UpdateMEs().

MonitorElement* HcalDataFormatMonitor::DCC_ErrWd_HBHE [private]

Definition at line 240 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::DCC_ErrWd_HF [private]

Definition at line 241 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::DCC_ErrWd_HO [private]

Definition at line 242 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

vector<int> HcalDataFormatMonitor::dccCrate_ [private]

Definition at line 85 of file HcalDataFormatMonitor.h.

std::map<int, short>::iterator HcalDataFormatMonitor::DCCEvtFormat_it [private]

Definition at line 257 of file HcalDataFormatMonitor.h.

Referenced by unpack().

std::map<int, short> HcalDataFormatMonitor::DCCEvtFormat_list [private]

Definition at line 256 of file HcalDataFormatMonitor.h.

Referenced by unpack().

std::map<int, short>::iterator HcalDataFormatMonitor::DCCRsvdBits_it [private]

Definition at line 259 of file HcalDataFormatMonitor.h.

std::map<int, short> HcalDataFormatMonitor::DCCRsvdBits_list [private]

Definition at line 258 of file HcalDataFormatMonitor.h.

vector<HcalSubdetector> HcalDataFormatMonitor::dccSubdet_ [private]

Definition at line 86 of file HcalDataFormatMonitor.h.

std::map<uint32_t, std::vector<HcalDetId> > HcalDataFormatMonitor::DCCtoCell

Definition at line 59 of file HcalDataFormatMonitor.h.

Referenced by mapDCCproblem(), and smuggleMaps().

int HcalDataFormatMonitor::dfmon_checkNevents [private]

Definition at line 95 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and setup().

float HcalDataFormatMonitor::DIMbin [static, private]

Initial value:

{ 4, 4.5, 
                       0, 0.5, 
                       1, 1.5, 
                       5, 5.5, 
                       11, 11.5, 
                       15, 15.5, 
                       17, 17.5, 
                       14, 14.5, 
                       10, 10.5, 
                       2, 2.5, 
                       9, 9.5, 
                       12, 12.5, 
                       3, 3.5, 
                       7, 7.5, 
                       6, 6.5, 
                       13, 13.5 
}

Definition at line 262 of file HcalDataFormatMonitor.h.

Referenced by unpack().

MonitorElement* HcalDataFormatMonitor::fedEntries_ [private]

Definition at line 129 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::fedFatal_ [private]

Definition at line 130 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

vector<int> HcalDataFormatMonitor::fedUnpackList_ [private]

Definition at line 84 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and setup().

int HcalDataFormatMonitor::firstFED_ [private]

Definition at line 87 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

float HcalDataFormatMonitor::HalfHTR_DataIntegrityCheck_[HHDIX][HHDIY] [private]

Definition at line 142 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), unpack(), and UpdateMEs().

MonitorElement* HcalDataFormatMonitor::HB_DATAFORMAT_PROBLEM_MAP [private]

Definition at line 102 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::HBHE_DATAFORMAT_PROBLEM_ZOO [private]

Definition at line 103 of file HcalDataFormatMonitor.h.

std::vector<std::vector<uint64_t> > HcalDataFormatMonitor::HBmap [private]

Definition at line 77 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), and processEvent().

MonitorElement* HcalDataFormatMonitor::HE_DATAFORMAT_PROBLEM_MAP [private]

Definition at line 104 of file HcalDataFormatMonitor.h.

std::vector<std::vector<uint64_t> > HcalDataFormatMonitor::HEmap [private]

Definition at line 78 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), and processEvent().

MonitorElement* HcalDataFormatMonitor::HF_DATAFORMAT_PROBLEM_MAP [private]

Definition at line 105 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::HF_DATAFORMAT_PROBLEM_ZOO [private]

Definition at line 106 of file HcalDataFormatMonitor.h.

std::vector<std::vector<uint64_t> > HcalDataFormatMonitor::HFmap [private]

Definition at line 79 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), and processEvent().

MonitorElement* HcalDataFormatMonitor::HO_DATAFORMAT_PROBLEM_MAP [private]

Definition at line 107 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::HO_DATAFORMAT_PROBLEM_ZOO [private]

Definition at line 108 of file HcalDataFormatMonitor.h.

std::vector<std::vector<uint64_t> > HcalDataFormatMonitor::HOmap [private]

Definition at line 80 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), and processEvent().

std::map<pair <int,int> , std::vector<HcalDetId> > HcalDataFormatMonitor::HTRtoCell

Definition at line 61 of file HcalDataFormatMonitor.h.

Referenced by mapHTRproblem(), and smuggleMaps().

size_t HcalDataFormatMonitor::ietarange [static, private]

Definition at line 67 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

int HcalDataFormatMonitor::ievt_ [private]

Definition at line 88 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), setup(), and unpack().

size_t HcalDataFormatMonitor::iphirange [static, private]

Definition at line 66 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

int HcalDataFormatMonitor::lastBCN_ [private]

Definition at line 90 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and unpack().

int HcalDataFormatMonitor::lastEvtN_ [private]

Definition at line 89 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and unpack().

MonitorElement* HcalDataFormatMonitor::me_HBHE_ZS_SlidingSum [private]

Definition at line 122 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::me_HBHE_ZS_SlidingSum_US [private]

Definition at line 125 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::me_HF_ZS_SlidingSum [private]

Definition at line 123 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::me_HF_ZS_SlidingSum_US [private]

Definition at line 126 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::me_HO_ZS_SlidingSum [private]

Definition at line 124 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::me_HO_ZS_SlidingSum_US [private]

Definition at line 127 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meBadQualityDigis_ [private]

Definition at line 112 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalDataFormatMonitor::meBCN_ [private]

Definition at line 135 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meBCNCheck_ [private]

Definition at line 153 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meBCNSynch_ [private]

Definition at line 134 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCDFErrorFound_ [private]

Definition at line 167 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED00_ [private]

Definition at line 196 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED01_ [private]

Definition at line 197 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED02_ [private]

Definition at line 198 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED03_ [private]

Definition at line 199 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED04_ [private]

Definition at line 200 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED05_ [private]

Definition at line 201 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED06_ [private]

Definition at line 202 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED07_ [private]

Definition at line 203 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED08_ [private]

Definition at line 204 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED09_ [private]

Definition at line 205 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED10_ [private]

Definition at line 206 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED11_ [private]

Definition at line 207 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED12_ [private]

Definition at line 208 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED13_ [private]

Definition at line 209 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED14_ [private]

Definition at line 210 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED15_ [private]

Definition at line 211 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED16_ [private]

Definition at line 212 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED17_ [private]

Definition at line 213 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED18_ [private]

Definition at line 214 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED19_ [private]

Definition at line 215 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED20_ [private]

Definition at line 216 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED21_ [private]

Definition at line 217 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED22_ [private]

Definition at line 218 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED23_ [private]

Definition at line 219 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED24_ [private]

Definition at line 220 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED25_ [private]

Definition at line 221 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED26_ [private]

Definition at line 222 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED27_ [private]

Definition at line 223 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED28_ [private]

Definition at line 224 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED29_ [private]

Definition at line 225 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED30_ [private]

Definition at line 226 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meCh_DataIntegrityFED31_ [private]

Definition at line 227 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor().

MonitorElement* HcalDataFormatMonitor::meChann_DataIntegrityCheck_[32] [private]

Definition at line 229 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), setup(), and UpdateMEs().

MonitorElement* HcalDataFormatMonitor::meChannSumm_DataIntegrityCheck_ [private]

Definition at line 140 of file HcalDataFormatMonitor.h.

Referenced by setup(), and UpdateMEs().

MonitorElement* HcalDataFormatMonitor::meCrate0HTRErr_ [private]

Definition at line 177 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate10HTRErr_ [private]

Definition at line 187 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate11HTRErr_ [private]

Definition at line 188 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate12HTRErr_ [private]

Definition at line 189 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate13HTRErr_ [private]

Definition at line 190 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate14HTRErr_ [private]

Definition at line 191 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate15HTRErr_ [private]

Definition at line 192 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate16HTRErr_ [private]

Definition at line 193 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate17HTRErr_ [private]

Definition at line 194 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate1HTRErr_ [private]

Definition at line 178 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate2HTRErr_ [private]

Definition at line 179 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate3HTRErr_ [private]

Definition at line 180 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate4HTRErr_ [private]

Definition at line 181 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate5HTRErr_ [private]

Definition at line 182 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate6HTRErr_ [private]

Definition at line 183 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate7HTRErr_ [private]

Definition at line 184 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate8HTRErr_ [private]

Definition at line 185 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meCrate9HTRErr_ [private]

Definition at line 186 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meDCC_DataIntegrityCheck_ [private]

Definition at line 138 of file HcalDataFormatMonitor.h.

Referenced by setup(), and UpdateMEs().

MonitorElement* HcalDataFormatMonitor::medccBCN_ [private]

Definition at line 136 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meDCCErrorAndWarnConditions_ [private]

Definition at line 170 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meDCCEventFormatError_ [private]

Definition at line 168 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meDCCStatusFlags_ [private]

Definition at line 171 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meDCCSummariesOfHTRs_ [private]

Definition at line 172 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meErrWdCrate_ [private]

Definition at line 161 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meEvFragSize2_ [private]

Definition at line 159 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meEvFragSize_ [private]

Definition at line 158 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meEVT_ [private]

Definition at line 99 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalDataFormatMonitor::meEvtNCheck_ [private]

Definition at line 154 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meEvtNumberSynch_ [private]

Definition at line 133 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meFEDerrorMap_ [private]

Definition at line 115 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalDataFormatMonitor::meFEDId_ [private]

Definition at line 166 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meFEDRawDataSizes_ [private]

Definition at line 117 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meFib1OrbMsgBCN_ [private]

Definition at line 231 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meFib2OrbMsgBCN_ [private]

Definition at line 232 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meFib3OrbMsgBCN_ [private]

Definition at line 233 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meFib4OrbMsgBCN_ [private]

Definition at line 234 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meFib5OrbMsgBCN_ [private]

Definition at line 235 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meFib6OrbMsgBCN_ [private]

Definition at line 236 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meFib7OrbMsgBCN_ [private]

Definition at line 237 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meFib8OrbMsgBCN_ [private]

Definition at line 238 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meFibBCN_ [private]

Definition at line 155 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meFWVersion_ [private]

Definition at line 157 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meHalfHTR_DataIntegrityCheck_ [private]

Definition at line 139 of file HcalDataFormatMonitor.h.

Referenced by setup(), and UpdateMEs().

MonitorElement* HcalDataFormatMonitor::meInvHTRData_ [private]

Definition at line 152 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

MonitorElement* HcalDataFormatMonitor::meSpigotFormatErrors_ [private]

Definition at line 111 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalDataFormatMonitor::meUnmappedDigis_ [private]

Definition at line 113 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalDataFormatMonitor::meUnmappedTPDigis_ [private]

Definition at line 114 of file HcalDataFormatMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* HcalDataFormatMonitor::meUSEvtSizes1D_ [private]

Definition at line 120 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meUSEvtSizes2D_ [private]

Definition at line 119 of file HcalDataFormatMonitor.h.

MonitorElement* HcalDataFormatMonitor::meUSFractSpigs_ [private]

Definition at line 118 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

std::vector<std::vector<uint64_t> > HcalDataFormatMonitor::phatmap [private]

Definition at line 76 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), and processEvent().

std::vector<std::vector<bool> > HcalDataFormatMonitor::problemHB [private]

Definition at line 69 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), mapDCCproblem(), mapHTRproblem(), and processEvent().

std::vector<std::vector<bool> > HcalDataFormatMonitor::problemHE [private]

Definition at line 70 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), mapDCCproblem(), mapHTRproblem(), and processEvent().

std::vector<std::vector<bool> > HcalDataFormatMonitor::problemhere [private]

Definition at line 68 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), mapDCCproblem(), mapHTRproblem(), and processEvent().

std::vector<std::vector<bool> > HcalDataFormatMonitor::problemHF [private]

Definition at line 71 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), and processEvent().

std::vector<std::vector<bool> > HcalDataFormatMonitor::problemHO [private]

Definition at line 72 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), and processEvent().

int HcalDataFormatMonitor::prtlvl_ [private]

Definition at line 94 of file HcalDataFormatMonitor.h.

Referenced by setup(), and unpack().

std::map<uint32_t, std::vector<HcalDetId> >::iterator HcalDataFormatMonitor::thisDCC

Definition at line 60 of file HcalDataFormatMonitor.h.

std::map<pair <int,int> , std::vector<HcalDetId> >::iterator HcalDataFormatMonitor::thisHTR

Definition at line 62 of file HcalDataFormatMonitor.h.

uint64_t HcalDataFormatMonitor::UScount[32][15] [private]

Definition at line 247 of file HcalDataFormatMonitor.h.

Referenced by HcalDataFormatMonitor(), and unpack().


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