15 if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
16 prefixME_.append(
"/");
78 for (
int s=0;
s<15;
s++) {
139 uint32_t itsspigot =0;
140 uint32_t itshtrchan=0;
143 for (std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin();
144 eid != AllElIds.end();
150 if (!detid_.
null()) {
151 if (detid_.
det()!=4)
continue;
157 itsdcc =(uint32_t) eid->dccid();
158 itsspigot =(uint32_t) eid->spigot();
159 itshtrchan=(uint32_t) eid->htrChanId();
182 std::cout <<
"<HcalRawDataMonitor::setup> No DQMStore instance available. Bailing out."<<std::endl;
187 std::cout <<
"<HcalRawDataMonitor::beginRun> Setting up histograms"<<std::endl;
191 "Total HCAL RAW Problems vs lumi section",
195 "Total HB RAW Problems vs lumi section",
198 "Total HE RAW Problems vs lumi section",
201 "Total HO RAW Problems vs lumi section",
204 "Total HF RAW Problems vs lumi section",
207 "Total HBHEHF RAW Problems vs lumi section",
235 type =
"01 Common Data Format violations";
248 type =
"02 DCC Event Format violation";
258 type =
"04 HTR BCN when OrN Diff";
263 type =
"03 OrN NonZero Difference HTR - DCC";
267 type =
"03 OrN Inconsistent - HTR vs DCC";
272 type =
"05 BCN NonZero Difference HTR - DCC";
276 type =
"05 BCN Inconsistent - HTR vs DCC";
281 type =
"06 EvN NonZero Difference HTR - DCC";
285 type =
"06 EvN Inconsistent - HTR vs DCC";
295 type=
"07 LRB Data Corruption Indicators";
307 type=
"08 Half-HTR Data Corruption Indicators";
318 type =
"09 Channel Integrity Summarized by Spigot";
328 snprintf(label, 256,
"FED %03d Channel Integrity",
f+700);
337 type=
"DCC Event Counts";
340 type =
"BCN from DCCs";
345 type =
"BCN from HTRs";
350 type =
"DCC Data Block Size Distribution";
355 type =
"DCC Data Block Size Profile";
357 type =
"DCC Data Block Size Each FED";
367 type =
"01 Data Flow Indicators";
376 type =
"DCC Firmware Version";
380 type =
"HTR Status Word HBHE";
384 type =
"HTR Status Word HF";
388 type =
"HTR Status Word HO";
393 type =
"HTR Status Word by Crate";
398 type =
"Unpacking - HcalHTRData check failures";
403 type =
"HTR Fiber Orbit Message BCN";
407 type =
"HTR Status Word - Crate 0";
412 type =
"HTR Status Word - Crate 1";
417 type =
"HTR Status Word - Crate 2";
422 type =
"HTR Status Word - Crate 3";
427 type =
"HTR Status Word - Crate 4";
432 type =
"HTR Status Word - Crate 5";
437 type =
"HTR Status Word - Crate 6";
442 type =
"HTR Status Word - Crate 7";
447 type =
"HTR Status Word - Crate 9";
452 type =
"HTR Status Word - Crate 10";
457 type =
"HTR Status Word - Crate 11";
462 type =
"HTR Status Word - Crate 12";
467 type =
"HTR Status Word - Crate 13";
472 type =
"HTR Status Word - Crate 14";
477 type =
"HTR Status Word - Crate 15";
482 type =
"HTR Status Word - Crate 17";
487 type =
"HTR UnSuppressed Event Fractions";
490 snprintf(label, 256,
"FED 7%02d",
f);
493 snprintf(label, 256,
"sp%02d",
s);
497 type =
"HTR Firmware Version";
504 type =
"HTR Fiber 1 Orbit Message BCNs";
506 type =
"HTR Fiber 2 Orbit Message BCNs";
508 type =
"HTR Fiber 3 Orbit Message BCNs";
510 type =
"HTR Fiber 4 Orbit Message BCNs";
512 type =
"HTR Fiber 5 Orbit Message BCNs";
514 type =
"HTR Fiber 6 Orbit Message BCNs";
516 type =
"HTR Fiber 7 Orbit Message BCNs";
518 type =
"HTR Fiber 8 Orbit Message BCNs";
546 if (
debug_>1)
std::cout <<
"\t<HcalRawDataMonitor::analyze> Processing good event! event # = "<<
ievt_<<std::endl;
556 if (ieta==-9999)
continue;
582 if (d==1 && (
abs(ieta)==33 ||
abs(ieta)==34))
584 else if (d==2 && (
abs(ieta)==35 ||
abs(ieta)==36))
599 printf(
"HcalRawDataMonitor::processEvent DQMStore not instantiated!\n");
613 if (fed.
size()<12)
continue;
633 if(!dccHeader)
return;
634 unsigned char* trailer_ptr = (
unsigned char*) (raw.
data()+raw.
size()-
sizeof(
uint64_t));
644 int dcc_fw = ( ((*dccfw)>>(6*8))&0x00000000000000FF );
649 int EvFragLength = (int) (*lastDataWord>>(4*8)) & 0x0000000000FFFFFF ;
658 unsigned int dccOrN = (
unsigned int) (dccHeader->
getOrbitNumber() & 0x0000001F);
662 bool CDFProbThisDCC =
false;
669 CDFProbThisDCC =
true;
680 CDFProbThisDCC =
true;
685 CDFProbThisDCC =
true;
690 CDFProbThisDCC =
true;
706 CDFProbThisDCC =
true;
711 CDFProbThisDCC =
true;
718 CDFProbThisDCC =
true;
721 if (!trailer.
check()) {
723 CDFProbThisDCC =
true;
725 if (CDFProbThisDCC) {
733 CDFProbThisDCC =
false;
746 char TTS_state = (char)trailer.
ttsBits();
749 if (TTS_state==L1AtimeTTS_state) ;
781 int nHTR32BitWords=0;
786 if (( nHTR32BitWords % 2) == 1) {
788 if ((*lastDataWord>>32) != 0x00000000){
801 const int fed3offset = 1 + (4*dcc_);
802 const int fed2offset = 1 + (3*dcc_);
811 int WholeErrorList=0;
816 const int spg3offset = 1 + (4*spigot);
824 if (WholeErrorList!=0) {
825 if ((WholeErrorList>>0)&0x01)
827 if (((WholeErrorList>>1)&0x01)!=0) {
831 if (((WholeErrorList>>2)&0x01)!=0) {
835 if (((WholeErrorList>>3)&0x01)!=0) {
839 if (((WholeErrorList>>4)&0x01)!=0) {
843 if (((WholeErrorList>>5)&0x01)!=0) {
847 if (((WholeErrorList>>6)&0x01)!=0) {
860 if (
debug_>0)
std::cout <<
"HTR Problem: Spigot Data Truncated"<<std::endl;
870 if (
debug_>0)
std::cout <<
"HTR Problem: Spigot Data Length too small"<<std::endl;
877 const int spg3offset = 1 + (4*spigot);
878 const int spg2offset = 1 + (3*spigot);
884 const unsigned short* HTRraw = htr.
getRawData();
900 if ( ! ((HTRwdcount != 8) ||
901 (HTRwdcount != 12 + NTP + NDAQ) ||
902 (HTRwdcount != 20 + NTP + NDAQ) )) {
905 if (
debug_>0)
std::cout <<
"HTR Problem: NTP+NDAQ size consistency check fails"<<std::endl;
910 if (HTRwdcount != 8) {
918 int paddingsize = ((NDAQ+NTP)%2);
919 if (( CM && ( (HTRwdcount-NDAQ-NTP-paddingsize) != 12) )
921 (!CM && ( (HTRwdcount-NDAQ-NTP-paddingsize) != 20) ) ) {
934 if (( (htrOrN == dccOrN ) &&
935 (htrBCN == (
unsigned int) dccBCN) )
941 if ( (htrEvtN == dccEvtNum) !=
954 int EvtNdiff = htrEvtN - dccEvtNum;
959 if (
debug_ == 1)
std::cout <<
"++++ Evt # out of sync, ref, this HTR: "<< dccEvtNum <<
" "<<htrEvtN <<std::endl;
963 int BCNdiff = htrBCN-dccBCN;
971 if (
debug_==1)
std::cout <<
"++++ BCN # out of sync, ref, this HTR: "<< dccBCN <<
" "<<htrBCN <<std::endl;
975 int OrNdiff = htrOrN-dccOrN;
981 if (
debug_==1)
std::cout <<
"++++ OrN # out of sync, ref, this HTR: "<< dccOrN <<
" "<<htrOrN <<std::endl;
984 bool htrUnSuppressed=(HTRraw[6]>>15 & 0x0001);
985 if (htrUnSuppressed) {
987 int here=1+(HcalDCCHeader::SPIGOT_COUNT*(dcc_))+spigot;
989 ((
double)
UScount[dcc_][spigot]));}
1013 != (errWord&0x00FF) ){
1016 if (
debug_>0)
std::cout <<
"DCC spigot summary error or HTR error word"<<std::endl;
1020 for(
int i=0;
i<16;
i++){
1021 int errbit = errWord&(0x01<<
i);
1023 if (
i==15) errbit = errbit - 0x8000;
1094 const short unsigned int* daq_first, *daq_last, *tp_first, *tp_last;
1098 htr.
dataPointers(&daq_first,&daq_last,&tp_first,&tp_last);
1109 int samplecounter=-1;
1116 for (qie_work=qie_begin; qie_work!=qie_end; qie_work++) {
1117 if (qie_work->
raw()==0xFFFF)
1120 if (( 1 + ( 3* (qie_work->
fiber()-1) ) + qie_work->
fiberChan() ) != htrchan) {
1123 chn2offset = (htrchan*3)+1;
1126 if (samplecounter !=-1) {
1128 if (((samplecounter != NTS) &&
1129 (samplecounter != 1) )
1137 if (
debug_)
std::cout <<
"mapChannelProblem: Wrong Digi Size"<<std::endl;
1141 lastcapid=qie_work->
capid();
1144 int hope = lastcapid +1;
1145 if (hope==4) hope = 0;
1146 if (qie_work->
capid() != hope){
1152 lastcapid=qie_work->
capid();
1155 if (!(qie_work->
dv())){
1159 if (qie_work->
er()) {
1168 if ((samplecounter != NTS) &&
1169 (samplecounter != 1) &&
1170 (samplecounter !=-1) ) {
1174 if (
debug_)
std::cout <<
"mapChannelProblem: Wrong Digi Size (last digi)"<<std::endl;
1177 const unsigned short* ptr_header=daq_first;
1178 const unsigned short* ptr_end=daq_last+1;
1179 int flavor, error_flags, capid0, channelid;
1185 while (ptr_header!=ptr_end) {
1186 if (*ptr_header==0xFFFF) {
1190 error_flags = capid0 = channelid = 0;
1198 int fiber = 1 + ((channelid & 0x1C) >> 2);
1199 int chan = channelid & 0x3;
1200 htrchan = ((fiber -1) * Nchan) + chan + 1;
1201 chn2offset = ((htrchan-1)*3)+1;
1205 if (error_flags & 2) {
1210 if (error_flags & 1) {
1304 snprintf(label, 32,
"Spgt %02d", spig);
1313 snprintf(label, 32,
"Ch %02d", ch+1);
1321 for (
int thfed=0; thfed<
NUMDCCS; thfed++) {
1322 snprintf(label, 32,
"%03d", thfed+700);
1329 if (axisType !=1 && axisType != 2)
return;
1331 mePlot -> setBinLabel(1,
"Overflow Warn",axisType);
1332 mePlot -> setBinLabel(2,
"Buffer Busy",axisType);
1333 mePlot -> setBinLabel(3,
"Empty Event",axisType);
1334 mePlot -> setBinLabel(4,
"Rejected L1A",axisType);
1335 mePlot -> setBinLabel(5,
"Invalid Stream",axisType);
1336 mePlot -> setBinLabel(6,
"Latency Warn",axisType);
1337 mePlot -> setBinLabel(7,
"OptDat Err",axisType);
1338 mePlot -> setBinLabel(8,
"Clock Err",axisType);
1339 mePlot -> setBinLabel(9,
"Bunch Err",axisType);
1340 mePlot -> setBinLabel(10,
"b9",axisType);
1341 mePlot -> setBinLabel(11,
"b10",axisType);
1342 mePlot -> setBinLabel(12,
"b11",axisType);
1343 mePlot -> setBinLabel(13,
"Test Mode",axisType);
1344 mePlot -> setBinLabel(14,
"Histo Mode",axisType);
1345 mePlot -> setBinLabel(15,
"Calib Trig",axisType);
1346 mePlot -> setBinLabel(16,
"Bit15 Err",axisType);
1368 else if (prtlvl == 2){
1371 printf(
"Crate, Slot:%3i %4.1f \n", cratenum,slotnum);
1375 else if (prtlvl == 3){
1378 printf(
"Crate, Slot:%3i %4.1f", cratenum,slotnum);
1463 mydepth = HDI.
depth();
1469 if (myeta>=0 && myeta<85 &&
1470 (myphi-1)>=0 && (myphi-1)<72 &&
1471 (mydepth-1)>=0 && (mydepth-1)<4){
1490 for (
int i=
hashup(dcc,spigot);
1497 mydepth = HDI.
depth();
1503 if (myeta>=0 && myeta<85 &&
1504 (myphi-1)>=0 && (myphi-1)<72 &&
1505 (mydepth-1)>=0 && (mydepth-1)<4){
1526 int i=
hashup(dcc,spigot,htrchan);
1531 mydepth = HDI.
depth();
1537 if (myeta>=0 && myeta<85 &&
1538 (myphi-1)>=0 && (myphi-1)<72 &&
1539 (mydepth-1)>=0 && (mydepth-1)<4){
MonitorElement * meCh_DataIntegrityFED04_
bool isHO(int etabin, int depth)
MonitorElement * meCh_DataIntegrityFED27_
T getParameter(std::string const &) const
float ChannSumm_DataIntegrityCheck_[TWO___FED][TWO__SPGT]
unsigned int getFib6OrbMsgBCN() const
static const HcalDetId Undefined
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meUSFractSpigs_
MonitorElement * meCh_DataIntegrityFED23_
bool LumiInOrder(int lumisec)
MonitorElement * meCDFErrorFound_
int getNDD() const
Get the number of daq data samples per channel when not zero-suppressed.
unsigned int getFib1OrbMsgBCN() const
Get the BCN of the Fiber Orbit Messages.
MonitorElement * meCrate7HTRStatus_
void label_xFEDs(MonitorElement *me_ptr, int xbins)
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * meCrate4HTRStatus_
MonitorElement * ProblemsCurrentLB
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
MonitorElement * meCh_DataIntegrityFED25_
MonitorElement * meCh_DataIntegrityFED13_
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
void whosebad(int subdet)
uint16_t raw() const
get the raw word
HcalSubdetector subdet() const
get the subdetector
bool check() const
Check for a good event Requires a minimum length, matching wordcount and length, not an empty event...
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * meEvtNumberSynch_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * meCrate3HTRStatus_
unsigned int htrTopBottom() const
HcalElectronicsId-style HTR top/bottom (1=top/0=bottom)
void mapDCCproblem(int dcc)
MonitorElement * meCh_DataIntegrityFED02_
MonitorElement * meCh_DataIntegrityFED05_
MonitorElement * meFib5OrbMsgBCN_
MonitorElement * meCh_DataIntegrityFED09_
MonitorElement * ProblemsVsLB_HF
int fiberChan() const
get the fiber channel number
#define DEFINE_FWK_MODULE(type)
MonitorElement * meBCNCheck_
std::vector< int > AllowedCalibTypes_
MonitorElement * meCrate17HTRStatus_
MonitorElement * meChannSumm_DataIntegrityCheck_
void stashHDI(int thehash, HcalDetId thehcaldetid)
virtual void cleanup(void)
void processEvent(const FEDRawDataCollection &rawraw, const HcalUnpackerReport &report)
MonitorElement * meCrate13HTRStatus_
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
bool dv() const
is the Data Valid bit set?
edm::LuminosityBlockNumber_t luminosityBlock() const
std::map< int, short > CDFversionNumber_list
MonitorElement * meOrNCheck_
HcalDetId hashedHcalDetId_[NUMDCCS *NUMSPIGS *HTRCHANMAX]
unsigned int getExtHdr6() const
unsigned int getFib8OrbMsgBCN() const
MonitorElement * meCrate2HTRStatus_
std::map< int, short > CDFReservedBits_list
void label_xChanns(MonitorElement *me_ptr, int xbins)
void update(void)
Mark the object updated.
MonitorElement * meBCNSynch_
bool isHE(int etabin, int depth)
static const int CHANNELS_PER_SPIGOT
uint64_t problemcount[ETABINS][PHIBINS][DEPTHBINS]
static bool unpack_per_channel_header(unsigned short, int &flav, int &error_flags, int &capid0, int &channelid)
Unpack a per-channel header word (compact format)
MonitorElement * meCrate14HTRStatus_
MonitorElement * meCh_DataIntegrityFED03_
void analyze(const edm::Event &e, const edm::EventSetup &c)
unsigned int getOrbitNumber() const
Get the HTR orbit number.
void labelHTRBits(MonitorElement *mePlot, unsigned int axisType)
int getFormatVersion() const
Get the version number of this event.
size_t size() const
Lenght of the data buffer in bytes.
MonitorElement * meCrate15HTRStatus_
void beginRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * meDataFlowInd_
MonitorElement * meCh_DataIntegrityFED14_
std::map< int, short >::iterator CDFReservedBits_it
LuminosityBlockNumber_t luminosityBlock() const
float LRBDataCorruptionIndicators_[THREE_FED][THREE_SPG]
bool isSiPM(int ieta, int iphi, int depth)
unsigned int htrSlot() const
HcalElectronicsId-style HTR slot.
int depth() const
get the tower depth
MonitorElement * meCrate6HTRStatus_
virtual void beginRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * meTevtHist_
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
edm::InputTag FEDRawDataCollection_
int CalcIeta(int subdet, int eta, int depth)
MonitorElement * meCh_DataIntegrityFED24_
std::map< int, short >::iterator DCCEvtFormat_it
static bool is_channel_header(unsigned short value)
check top bit to see if this is a compact format channel header word
bool IsAllowedCalibType()
MonitorElement * meCh_DataIntegrityFED06_
const T & max(const T &a, const T &b)
unsigned int getFib7OrbMsgBCN() const
MonitorElement * ProblemsVsLB_HBHEHF
const HcalElectronicsMap * readoutMap_
MonitorElement * ProblemsVsLB_HB
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * HTR_StatusWd_HO
MonitorElement * meCrate5HTRStatus_
void unpack(const FEDRawData &raw)
MonitorElement * meCrate0HTRStatus_
MonitorElement * meChann_DataIntegrityCheck_[NUMDCCS]
const int getRawLength() const
Get the length of the raw data.
int ieta() const
get the cell ieta
virtual void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
MonitorElement * meOrNSynch_
void endRun(const edm::Run &run, const edm::EventSetup &c)
bool problemfound[ETABINS][PHIBINS][DEPTHBINS]
void label_ySpigots(MonitorElement *me_ptr, int ybins)
int fiber() const
get the fiber number
MonitorElement * meCh_DataIntegrityFED11_
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
MonitorElement * meCrate12HTRStatus_
std::map< int, short >::iterator CDFvers_it
MonitorElement * meCh_DataIntegrityFED17_
bool isHB(int etabin, int depth)
MonitorElement * meFibBCN_
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
MonitorElement * meDCCEventFormatError_
MonitorElement * meCh_DataIntegrityFED30_
MonitorElement * medccBCN_
MonitorElement * meCh_DataIntegrityFED12_
unsigned int getFib3OrbMsgBCN() const
MonitorElement * HTR_StatusWd_HBHE
MonitorElement * meCh_DataIntegrityFED10_
MonitorElement * meFib4OrbMsgBCN_
int ttsBits()
Current value of the Trigger Throttling System bitsAQ).
MonitorElement * meInvHTRData_
MonitorElement * meCh_DataIntegrityFED19_
int iphi() const
get the cell iphi
void mapHTRproblem(int dcc, int spigot)
MonitorElement * meEvtNCheck_
MonitorElement * meBCNwhenOrNDiff_
bool isHF(int etabin, int depth)
MonitorElement * meFib1OrbMsgBCN_
void HTRPrint(const HcalHTRData &htr, int prtlvl)
unsigned long long uint64_t
MonitorElement * meCrate11HTRStatus_
int capid() const
get the Capacitor id
MonitorElement * meFib8OrbMsgBCN_
unsigned int getFib5OrbMsgBCN() const
const unsigned short * getRawData() const
Get a pointer to the raw data.
int lenght()
The length of the event fragment counted in 64-bit words including header and trailer.
MonitorElement * meLRBDataCorruptionIndicators_
void dataPointers(const unsigned short **daq_first, const unsigned short **daq_last, const unsigned short **tp_first, const unsigned short **tp_last) const
Obtain the starting and ending pointers for external unpacking of the data.
MonitorElement * meCh_DataIntegrityFED08_
unsigned int getErrorsWord() const
Get the errors word.
MonitorElement * meCh_DataIntegrityFED29_
MonitorElement * meCh_DataIntegrityFED00_
bool null() const
is this a null id ?
MonitorElement * meCh_DataIntegrityFED26_
float HalfHTRDataCorruptionIndicators_[THREE_FED][THREE_SPG]
MonitorElement * meCrate1HTRStatus_
unsigned int getExtHdr7() const
MonitorElement * meStatusWdCrate_
MonitorElement * meFib7OrbMsgBCN_
MonitorElement * ProblemsVsLB_HE
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
void mapChannproblem(int dcc, int spigot, int htrchan)
int CalcEtaBin(int subdet, int ieta, int depth)
unsigned int readoutVMECrateId() const
HcalElectronicsId-style VME crate number.
MonitorElement * meCh_DataIntegrityFED16_
unsigned int getFib4OrbMsgBCN() const
MonitorElement * meCh_DataIntegrityFED07_
double getBinContent(int binx) const
get content of bin (1-D)
uint64_t UScount[NUMDCCS][NUMSPIGS]
MonitorElement * meEvFragSize_
MonitorElement * HTR_StatusWd_HF
MonitorElement * meCh_DataIntegrityFED28_
TProfile * getTProfile(void) const
unsigned int getBunchNumber() const
Get the HTR bunch number.
unsigned int getFib2OrbMsgBCN() const
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
MonitorElement * meFib2OrbMsgBCN_
float Chann_DataIntegrityCheck_[NUMDCCS][TWO_CHANN][TWO__SPGT]
MonitorElement * meEvFragSize2_
MonitorElement * meDCCVersion_
MonitorElement * meCh_DataIntegrityFED20_
std::map< int, short > DCCEvtFormat_list
MonitorElement * ProblemsVsLB_HO
MonitorElement * meCrate10HTRStatus_
unsigned int getFirmwareRevision() const
Get the HTR firmware version.
MonitorElement * ProblemsVsLB
uint64_t uniqcounter[ETABINS][PHIBINS][DEPTHBINS]
MonitorElement * meHTRFWVersion_
MonitorElement * meFEDRawDataSizes_
MonitorElement * bookInt(const char *name)
Book int.
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
MonitorElement * meCh_DataIntegrityFED01_
MonitorElement * mefedEntries_
MonitorElement * meCh_DataIntegrityFED15_
float DataFlowInd_[TWO___FED][THREE_SPG]
Detector det() const
get the detector field from this detid
unsigned int getL1ANumber() const
Get the HTR event number.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meCh_DataIntegrityFED31_
HcalDetId HashToHDI(int thehash)
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meHalfHTRDataCorruptionIndicators_
int hashup(uint32_t d=0, uint32_t s=0, uint32_t c=1)
MonitorElement * meFib3OrbMsgBCN_
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id
bool er() const
is the error bit set?
MonitorElement * meCh_DataIntegrityFED21_
MonitorElement * meFib6OrbMsgBCN_
void setCurrentFolder(const std::string &fullpath)
bool isHistogramEvent() const
Is this event a histogram event? (do not call standard unpack in this case!!!!!)
MonitorElement * meCh_DataIntegrityFED18_
MonitorElement * meCrate9HTRStatus_
MonitorElement * meCh_DataIntegrityFED22_