15 if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
16 prefixME_.append(
"/");
82 for (
int s=0;
s<15;
s++) {
143 uint32_t itsspigot =0;
144 uint32_t itshtrchan=0;
147 for (std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin();
148 eid != AllElIds.end();
154 if (!detid_.
null()) {
155 if (detid_.
det()!=4)
continue;
161 itsdcc =(uint32_t) eid->dccid();
162 itsspigot =(uint32_t) eid->spigot();
163 itshtrchan=(uint32_t) eid->htrChanId();
186 std::cout <<
"<HcalRawDataMonitor::setup> No DQMStore instance available. Bailing out."<<std::endl;
191 std::cout <<
"<HcalRawDataMonitor::beginRun> Setting up histograms"<<std::endl;
195 "Total HCAL RAW Problems vs lumi section",
199 "Total HB RAW Problems vs lumi section",
202 "Total HE RAW Problems vs lumi section",
205 "Total HO RAW Problems vs lumi section",
208 "Total HF RAW Problems vs lumi section",
211 "Total HBHEHF RAW Problems vs lumi section",
239 type =
"01 Common Data Format violations";
252 type =
"02 DCC Event Format violation";
262 type =
"04 HTR BCN when OrN Diff";
267 type =
"03 OrN NonZero Difference HTR - DCC";
271 type =
"03 OrN Inconsistent - HTR vs DCC";
276 type =
"05 BCN NonZero Difference HTR - DCC";
280 type =
"05 BCN Inconsistent - HTR vs DCC";
285 type =
"06 EvN NonZero Difference HTR - DCC";
289 type =
"06 EvN Inconsistent - HTR vs DCC";
299 type=
"07 LRB Data Corruption Indicators";
311 type=
"08 Half-HTR Data Corruption Indicators";
322 type =
"09 Channel Integrity Summarized by Spigot";
332 snprintf(label, 256,
"FED %03d Channel Integrity",
f+700);
341 type=
"DCC Event Counts";
344 type =
"BCN from DCCs";
349 type =
"BCN from HTRs";
354 type =
"DCC Data Block Size Distribution";
359 type =
"DCC Data Block Size Profile";
361 type =
"DCC Data Block Size Each FED";
371 type =
"01 Data Flow Indicators";
380 type =
"DCC Firmware Version";
384 type =
"HTR Status Word HBHE";
388 type =
"HTR Status Word HF";
392 type =
"HTR Status Word HO";
397 type =
"HTR Status Word by Crate";
402 type =
"Unpacking - HcalHTRData check failures";
407 type =
"HTR Fiber Orbit Message BCN";
411 type =
"HTR Status Word - Crate 0";
416 type =
"HTR Status Word - Crate 1";
421 type =
"HTR Status Word - Crate 2";
426 type =
"HTR Status Word - Crate 3";
431 type =
"HTR Status Word - Crate 4";
436 type =
"HTR Status Word - Crate 5";
441 type =
"HTR Status Word - Crate 6";
446 type =
"HTR Status Word - Crate 7";
451 type =
"HTR Status Word - Crate 9";
456 type =
"HTR Status Word - Crate 10";
461 type =
"HTR Status Word - Crate 11";
466 type =
"HTR Status Word - Crate 12";
471 type =
"HTR Status Word - Crate 13";
476 type =
"HTR Status Word - Crate 14";
481 type =
"HTR Status Word - Crate 15";
486 type =
"HTR Status Word - Crate 17";
491 type =
"HTR UnSuppressed Event Fractions";
494 snprintf(label, 256,
"FED 7%02d",
f);
497 snprintf(label, 256,
"sp%02d",
s);
501 type =
"HTR Firmware Version";
508 type =
"HTR Fiber 1 Orbit Message BCNs";
510 type =
"HTR Fiber 2 Orbit Message BCNs";
512 type =
"HTR Fiber 3 Orbit Message BCNs";
514 type =
"HTR Fiber 4 Orbit Message BCNs";
516 type =
"HTR Fiber 5 Orbit Message BCNs";
518 type =
"HTR Fiber 6 Orbit Message BCNs";
520 type =
"HTR Fiber 7 Orbit Message BCNs";
522 type =
"HTR Fiber 8 Orbit Message BCNs";
550 if (
debug_>1)
std::cout <<
"\t<HcalRawDataMonitor::analyze> Processing good event! event # = "<<
ievt_<<std::endl;
560 if (ieta==-9999)
continue;
586 if (d==1 && (
abs(ieta)==33 ||
abs(ieta)==34))
588 else if (d==2 && (
abs(ieta)==35 ||
abs(ieta)==36))
603 printf(
"HcalRawDataMonitor::processEvent DQMStore not instantiated!\n");
617 if (fed.
size()<12)
continue;
637 if(!dccHeader)
return;
638 unsigned char* trailer_ptr = (
unsigned char*) (raw.
data()+raw.
size()-
sizeof(
uint64_t));
648 int dcc_fw = ( ((*dccfw)>>(6*8))&0x00000000000000FF );
653 int EvFragLength = (int) (*lastDataWord>>(4*8)) & 0x0000000000FFFFFF ;
662 unsigned int dccOrN = (
unsigned int) (dccHeader->
getOrbitNumber() & 0x0000001F);
666 bool CDFProbThisDCC =
false;
673 CDFProbThisDCC =
true;
684 CDFProbThisDCC =
true;
689 CDFProbThisDCC =
true;
694 CDFProbThisDCC =
true;
710 CDFProbThisDCC =
true;
715 CDFProbThisDCC =
true;
722 CDFProbThisDCC =
true;
725 if (!trailer.
check()) {
727 CDFProbThisDCC =
true;
729 if (CDFProbThisDCC) {
737 CDFProbThisDCC =
false;
753 if (TTS_state==L1AtimeTTS_state) ;
785 int nHTR32BitWords=0;
790 if (( nHTR32BitWords % 2) == 1) {
792 if ((*lastDataWord>>32) != 0x00000000){
805 const int fed3offset = 1 + (4*dcc_);
806 const int fed2offset = 1 + (3*dcc_);
815 int WholeErrorList=0;
820 const int spg3offset = 1 + (4*spigot);
828 if (WholeErrorList!=0) {
829 if ((WholeErrorList>>0)&0x01)
831 if (((WholeErrorList>>1)&0x01)!=0) {
835 if (((WholeErrorList>>2)&0x01)!=0) {
839 if (((WholeErrorList>>3)&0x01)!=0) {
843 if (((WholeErrorList>>4)&0x01)!=0) {
847 if (((WholeErrorList>>5)&0x01)!=0) {
851 if (((WholeErrorList>>6)&0x01)!=0) {
864 if (
debug_>0)
std::cout <<
"HTR Problem: Spigot Data Truncated"<<std::endl;
874 if (
debug_>0)
std::cout <<
"HTR Problem: Spigot Data Length too small"<<std::endl;
881 const int spg3offset = 1 + (4*spigot);
882 const int spg2offset = 1 + (3*spigot);
888 const unsigned short* HTRraw = htr.
getRawData();
904 if ( ! ((HTRwdcount != 8) ||
905 (HTRwdcount != 12 + NTP + NDAQ) ||
906 (HTRwdcount != 20 + NTP + NDAQ) )) {
909 if (
debug_>0)
std::cout <<
"HTR Problem: NTP+NDAQ size consistency check fails"<<std::endl;
914 if (HTRwdcount != 8) {
922 int paddingsize = ((NDAQ+NTP)%2);
923 if (( CM && ( (HTRwdcount-NDAQ-NTP-paddingsize) != 12) )
925 (!CM && ( (HTRwdcount-NDAQ-NTP-paddingsize) != 20) ) ) {
938 if (( (htrOrN == dccOrN ) &&
939 (htrBCN == (
unsigned int) dccBCN) )
945 if ( (htrEvtN == dccEvtNum) !=
958 int EvtNdiff = htrEvtN - dccEvtNum;
963 if (
debug_ == 1)
std::cout <<
"++++ Evt # out of sync, ref, this HTR: "<< dccEvtNum <<
" "<<htrEvtN <<std::endl;
967 int BCNdiff = htrBCN-dccBCN;
975 if (
debug_==1)
std::cout <<
"++++ BCN # out of sync, ref, this HTR: "<< dccBCN <<
" "<<htrBCN <<std::endl;
979 int OrNdiff = htrOrN-dccOrN;
985 if (
debug_==1)
std::cout <<
"++++ OrN # out of sync, ref, this HTR: "<< dccOrN <<
" "<<htrOrN <<std::endl;
988 bool htrUnSuppressed=(HTRraw[6]>>15 & 0x0001);
989 if (htrUnSuppressed) {
991 int here=1+(HcalDCCHeader::SPIGOT_COUNT*(dcc_))+spigot;
993 ((
double)
UScount[dcc_][spigot]));}
1017 != (errWord&0x00FF) ){
1020 if (
debug_>0)
std::cout <<
"DCC spigot summary error or HTR error word"<<std::endl;
1024 for(
int i=0;
i<16;
i++){
1025 int errbit = errWord&(0x01<<
i);
1027 if (
i==15) errbit = errbit - 0x8000;
1098 const short unsigned int* daq_first, *daq_last, *tp_first, *tp_last;
1102 htr.
dataPointers(&daq_first,&daq_last,&tp_first,&tp_last);
1113 int samplecounter=-1;
1120 for (qie_work=qie_begin; qie_work!=qie_end; qie_work++) {
1121 if (qie_work->
raw()==0xFFFF)
1124 if (( 1 + ( 3* (qie_work->
fiber()-1) ) + qie_work->
fiberChan() ) != htrchan) {
1127 chn2offset = (htrchan*3)+1;
1130 if (samplecounter !=-1) {
1132 if (((samplecounter != NTS) &&
1133 (samplecounter != 1) )
1141 if (
debug_)
std::cout <<
"mapChannelProblem: Wrong Digi Size"<<std::endl;
1145 lastcapid=qie_work->
capid();
1148 int hope = lastcapid +1;
1149 if (hope==4) hope = 0;
1150 if (qie_work->
capid() != hope){
1156 lastcapid=qie_work->
capid();
1159 if (!(qie_work->
dv())){
1163 if (qie_work->
er()) {
1172 if ((samplecounter != NTS) &&
1173 (samplecounter != 1) &&
1174 (samplecounter !=-1) ) {
1178 if (
debug_)
std::cout <<
"mapChannelProblem: Wrong Digi Size (last digi)"<<std::endl;
1181 const unsigned short* ptr_header=daq_first;
1182 const unsigned short* ptr_end=daq_last+1;
1183 int flavor, error_flags, capid0, channelid;
1189 while (ptr_header!=ptr_end) {
1190 if (*ptr_header==0xFFFF) {
1194 error_flags = capid0 = channelid = 0;
1202 int fiber = 1 + ((channelid & 0x1C) >> 2);
1203 int chan = channelid & 0x3;
1204 htrchan = ((fiber -1) * Nchan) + chan + 1;
1205 chn2offset = ((htrchan-1)*3)+1;
1209 if (error_flags & 2) {
1214 if (error_flags & 1) {
1308 snprintf(label, 32,
"Spgt %02d", spig);
1317 snprintf(label, 32,
"Ch %02d", ch+1);
1325 for (
int thfed=0; thfed<
NUMDCCS; thfed++) {
1326 snprintf(label, 32,
"%03d", thfed+700);
1333 if (axisType !=1 && axisType != 2)
return;
1335 mePlot -> setBinLabel(1,
"Overflow Warn",axisType);
1336 mePlot -> setBinLabel(2,
"Buffer Busy",axisType);
1337 mePlot -> setBinLabel(3,
"Empty Event",axisType);
1338 mePlot -> setBinLabel(4,
"Rejected L1A",axisType);
1339 mePlot -> setBinLabel(5,
"Invalid Stream",axisType);
1340 mePlot -> setBinLabel(6,
"Latency Warn",axisType);
1341 mePlot -> setBinLabel(7,
"OptDat Err",axisType);
1342 mePlot -> setBinLabel(8,
"Clock Err",axisType);
1343 mePlot -> setBinLabel(9,
"Bunch Err",axisType);
1344 mePlot -> setBinLabel(10,
"b9",axisType);
1345 mePlot -> setBinLabel(11,
"b10",axisType);
1346 mePlot -> setBinLabel(12,
"b11",axisType);
1347 mePlot -> setBinLabel(13,
"Test Mode",axisType);
1348 mePlot -> setBinLabel(14,
"Histo Mode",axisType);
1349 mePlot -> setBinLabel(15,
"Calib Trig",axisType);
1350 mePlot -> setBinLabel(16,
"Bit15 Err",axisType);
1372 else if (prtlvl == 2){
1375 printf(
"Crate, Slot:%3i %4.1f \n", cratenum,slotnum);
1379 else if (prtlvl == 3){
1382 printf(
"Crate, Slot:%3i %4.1f", cratenum,slotnum);
1467 mydepth = HDI.
depth();
1473 if (myeta>=0 && myeta<85 &&
1474 (myphi-1)>=0 && (myphi-1)<72 &&
1475 (mydepth-1)>=0 && (mydepth-1)<4){
1494 for (
int i=
hashup(dcc,spigot);
1501 mydepth = HDI.
depth();
1507 if (myeta>=0 && myeta<85 &&
1508 (myphi-1)>=0 && (myphi-1)<72 &&
1509 (mydepth-1)>=0 && (mydepth-1)<4){
1530 int i=
hashup(dcc,spigot,htrchan);
1535 mydepth = HDI.
depth();
1541 if (myeta>=0 && myeta<85 &&
1542 (myphi-1)>=0 && (myphi-1)<72 &&
1543 (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_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
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
edm::EDGetTokenT< FEDRawDataCollection > tok_raw_
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)
Abs< T >::type abs(const T &t)
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) ...
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_
edm::EDGetTokenT< HcalUnpackerReport > tok_unpack_
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_