CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalEEUSMonitor.cc
Go to the documentation of this file.
2 // define sizes of ieta arrays for each subdetector
3 
4 #define PI 3.1415926535897932
5 
6 /*
7 
8  v1.0
9  11 February 2009
10  by Jared Sturdy (from Jeff's HcalExpertMonitor)
11 
12 */
13 
14 
15 // constructor
17 {
18  for (int f=0; f<NUMFEDS;f++){
19  for (int s=0; s<NUMSPIGS; s++) {
22  consecutiveTriggers[f][s] = 0;
23  prevWasEE[f][s] = 0;}}
24 
25 // std::cout << (int)sizeof(UScount) << std::endl;
26  for (int f=0; f<NUMFEDS; f++) {
27  for (int s=0; s<NUMSPIGS; s++) {
28  UScount[f][s] = 0;
29  }
30  }
31 
32  //Francesco
33 // std::cout << (int)sizeof(US0EE0count) << std::endl;
34  for (int f=0; f<NUMFEDS; f++) {
35  for (int s=0; s<NUMSPIGS; s++) {
36  US0EE0count[f][s] = 0;
37  }
38  }
39 
40 // std::cout << (int)sizeof(US0EE1count) << std::endl;
41  for (int f=0; f<NUMFEDS; f++) {
42  for (int s=0; s<NUMSPIGS; s++) {
43  US0EE1count[f][s] = 0;
44  }
45  }
46 
47 // std::cout << (int)sizeof(US1EE0count) << std::endl;
48  for (int f=0; f<NUMFEDS; f++) {
49  for (int s=0; s<NUMSPIGS; s++) {
50  US1EE0count[f][s] = 0;
51  }
52  }
53 
54 // std::cout << (int)sizeof(US1EE1count) << std::endl;
55  for (int f=0; f<NUMFEDS; f++) {
56  for (int s=0; s<NUMSPIGS; s++) {
57  US1EE1count[f][s] = 0;
58  }
59  }
60  //----------
61 
62 }
63 
64 // destructor
66 
68 
70 {
71  if (m_dbe)
72  {
75  } // if (m_dbe)
76  meEVT_=0;
77 } // void HcalEEUSMonitor::clearME()
78 
79 
81 {
82  HcalBaseMonitor::setup(ps,dbe); // perform setups of base class
83 
84  ievt_=0; // event counter
85  baseFolder_ = rootFolder_ + "EEUSMonitor"; // Will create an "EEUSMonitor" subfolder in .root output
86  if (fVerbosity) std::cout <<"<HcalEEUSMonitor::setup> Setup in progress"<<std::endl;
87 
88 
89  if(fVerbosity) std::cout << "About to pushback fedUnpackList_" << std::endl;
91  if (fVerbosity>0) std::cout <<"FIRST FED = "<<firstFED_<<std::endl;
92 
95  {
96  if(fVerbosity) std::cout << "<HcalEEUSMonitor::setup>:Pushback for fedUnpackList_: " << i <<std::endl;
97  fedUnpackList_.push_back(i);
98  } // for (int i=FEDNumbering::MINHCALFEDID
99 
100 
101 
102  if (m_dbe)
103  {
106  meEVT_ = m_dbe->bookInt("EEUSMonitor Event Number"); // store event number
107 
108  char label[10];
109  //Francesco
110 
111  //fraction of X-Type events
112 
113  type = "Fraction Normal Events - US0 EE0";
114  meNormFractSpigs_US0_EE0_ = m_dbe->book1D(type,type,481,0,481);
115  for(int f=0; f<NUMFEDS; f++) {
116  sprintf(label, "FED 7%02d", f);
118  for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
119  sprintf(label, "sp%02d", s-1);
120  meNormFractSpigs_US0_EE0_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
121 
122  type = "Fraction Empty Events - US0 EE1";
123  meEEFractSpigs_US0_EE1_ = m_dbe->book1D(type,type,481,0,481);
124  for(int f=0; f<NUMFEDS; f++) {
125  sprintf(label, "FED 7%02d", f);
127  for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
128  sprintf(label, "sp%02d", s-1);
129  meEEFractSpigs_US0_EE1_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
130 
131  type = "Fraction UnSuppressed Events - US1 EE0";
132  meUSFractSpigs_US1_EE0_ = m_dbe->book1D(type,type,481,0,481);
133  for(int f=0; f<NUMFEDS; f++) {
134  sprintf(label, "FED 7%02d", f);
136  for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
137  sprintf(label, "sp%02d", s-1);
138  meUSFractSpigs_US1_EE0_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
139 
140  type = "Fraction UnSuppressed Events - US1 EE1";
141  meUSFractSpigs_US1_EE1_ = m_dbe->book1D(type,type,481,0,481);
142  for(int f=0; f<NUMFEDS; f++) {
143  sprintf(label, "FED 7%02d", f);
145  for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
146  sprintf(label, "sp%02d", s-1);
147  meUSFractSpigs_US1_EE1_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
148 
149  //raw data length for X-type events
150 
151  type = "Length of raw data - US0 EE0";
152  meRawDataLength2_US0_EE0_ = m_dbe->book2D(type,type,481,0,481,600,0,1200);
153  for(int f=0; f<NUMFEDS; f++) {
154  sprintf(label, "FED 7%02d", f);
156  for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
157  sprintf(label, "sp%02d", s-1);
158  meRawDataLength2_US0_EE0_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
159 
160  type = "Length of raw data - US0 EE1";
161  meRawDataLength2_US0_EE1_ = m_dbe->book2D(type,type,481,0,481,600,0,1200);
162  for(int f=0; f<NUMFEDS; f++) {
163  sprintf(label, "FED 7%02d", f);
165  for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
166  sprintf(label, "sp%02d", s-1);
167  meRawDataLength2_US0_EE1_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
168 
169  type = "Length of raw data - US1 EE0";
170  meRawDataLength2_US1_EE0_ = m_dbe->book2D(type,type,481,0,481,600,0,1200);
171  for(int f=0; f<NUMFEDS; f++) {
172  sprintf(label, "FED 7%02d", f);
174  for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
175  sprintf(label, "sp%02d", s-1);
176  meRawDataLength2_US1_EE0_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
177 
178  type = "Length of raw data - US1 EE1";
179  meRawDataLength2_US1_EE1_ = m_dbe->book2D(type,type,481,0,481,600,0,1200);
180  for(int f=0; f<NUMFEDS; f++) {
181  sprintf(label, "FED 7%02d", f);
183  for(int s=1; s<HcalDCCHeader::SPIGOT_COUNT; s++) {
184  sprintf(label, "sp%02d", s-1);
185  meRawDataLength2_US1_EE1_->setBinLabel(1+(HcalDCCHeader::SPIGOT_COUNT*f)+s, label);}}
186 
187  //---------
188 
189  //EECorrels Jason
190 
191  type="EE Spigot Correlation";
192  meEECorrel_ = m_dbe->book2D(type, type,
193  (NUMSPIGS * NUMFEDS), 0, (NUMSPIGS * NUMFEDS),
194  (NUMSPIGS * NUMFEDS), 0, (NUMSPIGS * NUMFEDS));
195  type="EE per Spigot";
196  meEEPerSpigot_ = m_dbe->book1D(type, type,
197  (NUMSPIGS * NUMFEDS), 0, (NUMSPIGS * NUMFEDS));
198  type="EE Spigots per Event";
199  meEEThisEvent_ = m_dbe->book1D(type, type,500,-0.5,499.5);
200 
201  //EE/NE Triggers Jared
202 
203  char title[128];
204  sprintf(title, "EE Triggers"); // DCC FED number 700:731
205  meNumberEETriggered_ = m_dbe->book2D(title,title,(NUMSPIGS * NUMFEDS),0,(NUMSPIGS * NUMFEDS),100,-0.5,99.5);
206  sprintf(title, "NE Triggers"); // DCC FED number 700:731
207  meNumberNETriggered_ = m_dbe->book2D(title,title,(NUMSPIGS * NUMFEDS),0,(NUMSPIGS * NUMFEDS),100,-0.5,99.5);
208  sprintf(title, "Triggers"); // DCC FED number 700:731
209  meNumberTriggered_ = m_dbe->book2D(title,title,(NUMSPIGS * NUMFEDS),0,(NUMSPIGS * NUMFEDS),100,-0.5,99.5);
210 
211  for (int f=0; f<NUMFEDS;f++){
212  sprintf(label, "DCC 7%02d", f); // DCC FED number 700:731
213  meEECorrel_->setBinLabel(1+(f*NUMSPIGS), label, 1);
214  meEECorrel_->setBinLabel(1+(f*NUMSPIGS), label, 2);
215  meEEPerSpigot_->setBinLabel(1+(f*NUMSPIGS), label, 1);
216  meNumberEETriggered_->setBinLabel(1+(f*NUMSPIGS), label, 1);
217  meNumberNETriggered_->setBinLabel(1+(f*NUMSPIGS), label, 1);
218  meNumberTriggered_->setBinLabel(1+(f*NUMSPIGS), label, 1);
219  for (int s=1; s<NUMSPIGS; s+=2) {
220  sprintf(label, "Spgt %02d", s-1); // DCC Spigots
221  meEECorrel_->setBinLabel((f*NUMSPIGS)+s+1, label, 1);
222  meEECorrel_->setBinLabel((f*NUMSPIGS)+s+1, label, 2);
223  meEEPerSpigot_->setBinLabel((f*NUMSPIGS)+s+1, label, 1);
224  meNumberEETriggered_->setBinLabel((f*NUMSPIGS)+s+1, label, 1);
225  meNumberNETriggered_->setBinLabel((f*NUMSPIGS)+s+1, label, 1);
226  meNumberTriggered_->setBinLabel((f*NUMSPIGS)+s+1, label, 1);}}
227 
228  prevOrN = -1;
229  } // if (m_dbe)
230 
231  return;
232 
233 } // void HcalEEUSMonitor::setup()
234 
235 
237  const HcalUnpackerReport& report,
238  const HcalElectronicsMap& emap
239  )
240 
241 {
242  if (!m_dbe)
243  {
244  if (fVerbosity) std::cout <<"HcalEEUSMonitor::processEvent DQMStore not instantiated!!!"<<std::endl;
245  return;
246  }
247 
248  // Fill Event Number
249  ievt_++;
250  meEVT_->Fill(ievt_);
251 
252 
253  //EECorrels Assume the best, before unpack()
254  for (int i=0; i<(NUMSPIGS*NUMFEDS); i++)
255  EEthisEvent[i]=false;
256 
257  processEvent_RawData(rawraw, report, emap);
258  prevOrN=dccOrN;
259  return;
260 } // void HcalEEUSMonitor::processEvent
261 
262 
264  const HcalUnpackerReport& report,
265  const HcalElectronicsMap& emap)
266 {
267  /*
268  This processes Raw Data.
269  Additional info on working with Raw Data can be found in
270  HcalDataFormatMonitor.cc
271  */
272 
273 
274  // Should not see this error
275  if(!m_dbe)
276  {
277  std::cout <<"HcalEEUSMonitor::processEvent_RawData: DQMStore not instantiated!!!\n"<<std::endl;
278  return;
279  }
280  numEEthisEvent = 0;
281  // Loop over all FEDs reporting the event, unpacking if good.
282  for (std::vector<int>::const_iterator i=fedUnpackList_.begin();i!=fedUnpackList_.end(); i++)
283  {
284  const FEDRawData& fed = rawraw.FEDData(*i);
285  if (fed.size()<12) continue; // Was 16.
286  unpack(fed,emap);
287  } // for (std::vector<int>::const_iterator i=fedUnpackList_.begin();...
288 
289  prevOrN=dccOrN;
291  numEEthisEvent = 0;
292 
293  //EECorrels :Fill a 2D histo where two each pair of
294  //spigots have EE in the same event.
295  for (int outer=0; outer<(NUMSPIGS*NUMFEDS); outer++)
296  if (EEthisEvent[outer])
297  for (int inner=0; inner<(NUMSPIGS*NUMFEDS); inner++)
298  if (EEthisEvent[inner])
299  meEECorrel_->Fill(outer, inner);
300 
301  return;
302 
303 } // void HcalEEUSMonitor::processEvent_RawData(const FEDRawDataCollection& rawraw,
304 
305 
306 
307 // Process one FED's worth (one DCC's worth) of the event data.
309  const HcalElectronicsMap& emap)
310 {
311  /*
312  This unpacks raw data info. Additional info on working with the raw data can be found in the unpack method of HcalDataFormatMonitor.cc
313  */
314 
315 
316  // get the DCC header
317  const HcalDCCHeader* dccHeader=(const HcalDCCHeader*)(raw.data());
318  if(!dccHeader) return;
319 
320  // get the DCC trailer
321  unsigned char* trailer_ptr = (unsigned char*) (raw.data()+raw.size()-sizeof(uint64_t));
322  FEDTrailer trailer = FEDTrailer(trailer_ptr);
323 
324  //DCC Event Fragment sizes distribution, in bytes.
325  // int rawsize = raw.size();
326 
327  int dccid = dccHeader->getSourceId();
328  // int dccBCN = dccHeader->getBunchId();
329  dccOrN = dccHeader->getOrbitNumber();
330  // unsigned long dccEvtNum = dccHeader->getDCCEventNumber();
331 
332  // uint64_t* lastDataWord = (uint64_t*) ( raw.data()+raw.size()-(2*sizeof(uint64_t)) );
333  // int EvFragLength = ((*lastDataWord>>32)*8);
334  // EvFragLength = raw.size();
335 
336 
337  unsigned char WholeErrorList=0;
338  for(int j=0; j<HcalDCCHeader::SPIGOT_COUNT; j++) {
339  WholeErrorList=dccHeader->getSpigotErrorBits((unsigned int) j);
340  //EECorrels :Record EE for cross-correlation plotting.
341  if ((WholeErrorList>>2)&0x01) EEthisEvent[(NUMSPIGS *std::max(0,dccid-700))+j] = true;
342  }
343 
344  //
345 
346  // walk through the HTR data...
347  HcalHTRData htr;
348  for (int spigot=0; spigot<HcalDCCHeader::SPIGOT_COUNT; spigot++) {
349  if (!dccHeader->getSpigotPresent(spigot)) continue;
350 
351  // bool chsummAOK=true;
352 // bool channAOK=true;
353 
354  // From this Spigot's DCC header, first.
355  WholeErrorList=dccHeader->getLRBErrorBits((unsigned int) spigot);
356  // Load the given decoder with the pointer and length from this spigot.
357  dccHeader->getSpigotData(spigot,htr, raw.size());
358  const unsigned short* HTRraw = htr.getRawData();
359  unsigned short HTRwdcount = HTRraw[htr.getRawLength() - 2];
360 
361 
362  //fix me!
363  HTRwdcount=htr.getRawLength();
364 
365  // Size checks for internal consistency
366  // getNTP(), get NDD() seems to be mismatched with format. Manually:
367  int NTP = ((htr.getExtHdr6() >> 8) & 0x00FF);
368  int NDAQ = (HTRraw[htr.getRawLength() - 4] & 0x7FF);
369 
370  int here=1+(HcalDCCHeader::SPIGOT_COUNT*(dccid-700))+spigot;
371 
372  if ( ! ((HTRwdcount != 8) ||
373  (HTRwdcount != 12 + NTP + NDAQ) ||
374  (HTRwdcount != 20 + NTP + NDAQ) )) {
375  // chsummAOK=false;
376  //incompatible Sizes declared. Skip it.
377  continue; }
378  bool EE = ((dccHeader->getSpigotErrorBits(spigot) >> 2) & 0x01);
379  if (EE) {
380  numEEthisEvent++;
381  meEEPerSpigot_->Fill(here);
382  if (HTRwdcount != 8) {
383  // chsummAOK=false;
384  //incompatible Sizes declared. Skip it.
385  continue;}}
386  else{ //For non-EE,
387  if ((HTRwdcount-NDAQ-NTP) != 20) {
388  // chsummAOK=false;
389  //incompatible Sizes declared. Skip it.
390  continue;}}
391 
392  //Jared
393  if(dccOrN==prevOrN){
394  consecutiveTriggers[dccid-700][spigot]++;
395  if(prevWasEE[dccid-700][spigot]) {
396  if (EE) consecutiveEETriggers[dccid-700][spigot]++;
397  else {
398  meNumberEETriggered_->Fill(here,consecutiveEETriggers[dccid-700][spigot]);
399  consecutiveEETriggers[dccid-700][spigot] = 0;
400  consecutiveNETriggers[dccid-700][spigot]++;}}
401  else {
402  if(!EE) consecutiveNETriggers[dccid-700][spigot]++;
403  else {
404  meNumberNETriggered_->Fill(here,consecutiveNETriggers[dccid-700][spigot]);
405  consecutiveNETriggers[dccid-700][spigot] = 0;
406  consecutiveEETriggers[dccid-700][spigot]++;}}}
407  else {
408  if (prevOrN>-1) {
409  meNumberTriggered_->Fill(here,consecutiveTriggers[dccid-700][spigot]);
410  meNumberEETriggered_->Fill(here,consecutiveEETriggers[dccid-700][spigot]);
411  meNumberNETriggered_->Fill(here,consecutiveNETriggers[dccid-700][spigot]);}
412  consecutiveTriggers[dccid-700][spigot] = 1;
413  if(EE) {
414  consecutiveEETriggers[dccid-700][spigot] = 1;
415  consecutiveNETriggers[dccid-700][spigot] = 0;}
416  else {
417  consecutiveEETriggers[dccid-700][spigot] = 0;
418  consecutiveNETriggers[dccid-700][spigot] = 1;}}
419  /*
420  printf("%5d, %7.2d, %d, %8d, %22d, %22d, %20d, %3d, %10d\n",dccid,spigot,dccOrN,prevOrN,\
421  consecutiveEETriggers[dccid-700][spigot],consecutiveNETriggers[dccid-700][spigot],\
422  consecutiveTriggers[dccid-700][spigot],EE,prevWasEE[dccid-700][spigot]);
423  */
424  if (EE) prevWasEE[dccid-700][spigot] = 1;
425  else prevWasEE[dccid-700][spigot] = 0;
426 
427  if (htr.isHistogramEvent()) continue;
428 
429  bool htrUnSuppressed=(HTRraw[6]>>15 & 0x0001);
430  //Francesco
431  bool htrEmpty=(HTRraw[2] & 0x4);
432 
433 // if (htrUnSuppressed) {
434 // UScount[dccid-700][spigot]++;
435 // int here=1+(HcalDCCHeader::SPIGOT_COUNT*(dccid-700))+spigot;
436 // meUSFractSpigs_->setBinContent(here,((double)UScount[dccid-700][spigot])/(double)ievt_);}
437 
438  //Francesco
439 
440  //std::cout << "HTRwdcount: " << HTRwdcount << std::endl;
441 
442  if (htrUnSuppressed==false && htrEmpty==false){
443  US0EE0count[dccid-700][spigot]++;
445  ((double)US0EE0count[dccid-700][spigot])/(double)ievt_);
446  meRawDataLength2_US0_EE0_->Fill(here-1, HTRwdcount);
447  }
448 
449  if (htrUnSuppressed==false && htrEmpty==true){
450  US0EE1count[dccid-700][spigot]++;
452  ((double)US0EE1count[dccid-700][spigot])/(double)ievt_);
453  meRawDataLength2_US0_EE1_->Fill(here-1, HTRwdcount);
454  }
455 
456  if (htrUnSuppressed==true && htrEmpty==false){
457  US1EE0count[dccid-700][spigot]++;
459  ((double)US1EE0count[dccid-700][spigot])/(double)ievt_);
460  meRawDataLength2_US1_EE0_->Fill(here-1, HTRwdcount);
461  }
462 
463  if (htrUnSuppressed==true && htrEmpty==true){
464  US1EE1count[dccid-700][spigot]++;
466  ((double)US1EE1count[dccid-700][spigot])/(double)ievt_);
467  meRawDataLength2_US1_EE1_->Fill(here-1, HTRwdcount);
468  }
469  //--------
470 
471 
472  }//end of HTRdata
473 
474  // Dump out some raw data info
475 // std::cout <<"RAWSIZE = "<<rawsize<<std::endl;
476 // std::cout <<"dcc id = "<<dccid<<std::endl;
477 // std::cout <<"dccBCN = "<<dccBCN<<std::endl;
478 // std::cout <<"dccEvtNum = "<<dccEvtNum<<std::endl;
479 // std::cout <<"EvFragLength = "<<EvFragLength<<std::endl;
480  /* 1 */ //There should always be a second CDF header word indicated.
481  if (!dccHeader->thereIsASecondCDFHeaderWord())
482  {
483  std::cout <<"No second CDF header found!"<<std::endl;
484  }
485 
486  return;
487 } // void HcalEEUSMonitor::unpack(...)
type
Definition: HCALResponse.h:21
void unpack(const FEDRawData &raw, const HcalElectronicsMap &emap)
int i
Definition: DBlmapReader.cc:9
void setBinContent(int binx, double content)
set content of bin (1-D)
unsigned char getSpigotErrorBits(unsigned int nspigot) const
Access the HTR error bits (decoding tbd)
MonitorElement * meUSFractSpigs_US1_EE1_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:872
uint32_t consecutiveTriggers[NUMFEDS][NUMSPIGS]
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)
unsigned int getExtHdr6() const
Definition: HcalHTRData.h:226
int getSpigotData(int nspigot, HcalHTRData &decodeTool, int validSize) const
unsigned char getLRBErrorBits(unsigned int nspigot) const
Access the Link Receiver Board error bits (decoding tbd)
#define NUMSPIGS
uint32_t consecutiveEETriggers[NUMFEDS][NUMSPIGS]
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:47
MonitorElement * meNumberNETriggered_
MonitorElement * meEEFractSpigs_US0_EE1_
MonitorElement * meNormFractSpigs_US0_EE0_
void Fill(long long x)
MonitorElement * meRawDataLength2_US0_EE0_
tuple report
Definition: zeeHLT_cff.py:9
unsigned int getOrbitNumber() const
Definition: HcalDCCHeader.h:46
#define NUMFEDS
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
uint32_t consecutiveNETriggers[NUMFEDS][NUMSPIGS]
void removeContents(void)
erase all monitoring elements in current directory (not including subfolders);
Definition: DQMStore.cc:2764
const T & max(const T &a, const T &b)
MonitorElement * meEVT_
MonitorElement * meRawDataLength2_US0_EE1_
const int getRawLength() const
Get the length of the raw data.
Definition: HcalHTRData.h:39
std::string rootFolder_
int j
Definition: DBlmapReader.cc:9
std::vector< int > fedUnpackList_
int prevWasEE[NUMFEDS][NUMSPIGS]
double f[11][100]
bool getSpigotPresent(unsigned int nspigot) const
Read the &quot;PRESENT&quot; bit for this spigot.
MonitorElement * meNumberTriggered_
MonitorElement * meRawDataLength2_US1_EE0_
void setup(const edm::ParameterSet &ps, DQMStore *dbe)
std::string baseFolder_
int getSourceId() const
Definition: HcalDCCHeader.h:32
MonitorElement * meEEThisEvent_
uint64_t UScount[NUMFEDS][NUMSPIGS]
uint64_t US1EE0count[NUMFEDS][NUMSPIGS]
unsigned long long uint64_t
Definition: Time.h:15
void processEvent_RawData(const FEDRawDataCollection &rawraw, const HcalUnpackerReport &report, const HcalElectronicsMap &emap)
uint64_t US0EE1count[NUMFEDS][NUMSPIGS]
const unsigned short * getRawData() const
Get a pointer to the raw data.
Definition: HcalHTRData.h:36
uint64_t US0EE0count[NUMFEDS][NUMSPIGS]
bool EEthisEvent[NUMSPIGS *NUMFEDS]
static const int SPIGOT_COUNT
Definition: HcalDCCHeader.h:19
MonitorElement * meNumberEETriggered_
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:28
MonitorElement * meUSFractSpigs_US1_EE0_
tuple cout
Definition: gather_cfg.py:121
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:779
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1000
bool thereIsASecondCDFHeaderWord() const
Definition: HcalDCCHeader.h:28
MonitorElement * meEEPerSpigot_
MonitorElement * meEECorrel_
uint64_t US1EE1count[NUMFEDS][NUMSPIGS]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
MonitorElement * meRawDataLength2_US1_EE1_
bool isHistogramEvent() const
Is this event a histogram event? (do not call standard unpack in this case!!!!!)
Definition: HcalHTRData.cc:385
virtual void setup(const edm::ParameterSet &ps, DQMStore *dbe)