CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Functions | Variables
HcalEtaPhiHists.h File Reference
#include "TH1F.h"
#include "TH2F.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "DQMServices/Core/interface/MonitorElement.h"
#include "DataFormats/DetId/interface/DetId.h"
#include "DataFormats/HcalDetId/interface/HcalDetId.h"
#include <iostream>

Go to the source code of this file.

Classes

class  EtaPhiHists
 

Functions

int CalcEtaBin (int subdet, int ieta, int depth)
 
int CalcIeta (int subdet, int eta, int depth)
 
int CalcIeta (int eta, int depth)
 
void FillUnphysicalHEHFBins (EtaPhiHists &hh)
 
void FillUnphysicalHEHFBins (MonitorElement *hh)
 
std::vector< std::string > HcalEtaPhiHistNames ()
 
bool isHB (int etabin, int depth)
 
bool isHE (int etabin, int depth)
 
bool isHF (int etabin, int depth)
 
bool isHO (int etabin, int depth)
 
bool isSiPM (int ieta, int iphi, int depth)
 
void SetEtaPhiLabels (MonitorElement *h)
 
bool validDetId (HcalSubdetector sd, int ies, int ip, int dp)
 

Variables

const int binmapd2 []
 
const int binmapd3 [] ={-28,-27,-9999,-16,-9999,16,-9999,27,28}
 

Function Documentation

int CalcEtaBin ( int  subdet,
int  ieta,
int  depth 
)
inline

Definition at line 202 of file HcalEtaPhiHists.h.

References abs, HcalEndcap, HcalForward, and HcalOuter.

Referenced by HcalDetDiagPedestalMonitor::CheckStatus(), HcalDetDiagLEDMonitor::fill_channel_status(), HcalDetDiagLEDMonitor::fill_energy(), HcalCoarsePedestalMonitor::fill_Nevents(), HcalDigiMonitor::fill_Nevents(), HcalDetDiagLaserMonitor::fillProblems(), HcalDetDiagLEDClient::get_channel_status(), HcalDetDiagLEDClient::get_energy(), HcalDetDiagLEDMonitor::get_energy(), HcalBaseMonitor::hideKnownBadCells(), HcalRawDataClient::mapChannproblem(), HcalRawDataMonitor::mapChannproblem(), HcalRawDataClient::mapDCCproblem(), HcalRawDataMonitor::mapDCCproblem(), HcalRawDataClient::mapHTRproblem(), HcalRawDataMonitor::mapHTRproblem(), HcalDigiMonitor::process_Digi(), HcalDeadCellMonitor::process_Digi(), HcalDeadCellMonitor::process_RecHit(), HcalCoarsePedestalMonitor::processEvent(), HcalDigiMonitor::processEvent(), HcalRecHitMonitor::processEvent_rechit(), HcalHotCellMonitor::processEvent_rechitenergy(), and HcalHotCellMonitor::processHit_rechitNeighbors().

203 {
204  // This takes the eta value from a subdetector and return an eta counter value as used by eta-phi array
205  // (ieta=-41 corresponds to bin 0, +41 to bin 85 -- there are two offsets to deal with the overlap at |ieta|=29).
206  // For HO, ieta = -15 corresponds to bin 0, and ieta=15 is bin 30
207  // For HE depth 3, things are more complicated, but feeding the ieta value will give back the corresponding counter eta value
208 
209  // The CalcEtaBin value is the value as used within our array counters, and thus starts at 0.
210  // If you are using it with getBinContent or setBinContent, you will need to add +1 to the result of this function
211 
212  int etabin=-9999; // default invalid value
213 
214  if (depth==1)
215  {
216  // Depth 1 is fairly straightforward -- just shift HF-, HF+ by -/+1
217  etabin=ieta+42;
218  if (subdet==HcalForward)
219  {
220  ieta < 0 ? etabin-- : etabin++;
221  }
222  }
223 
224  else if (depth==2)
225  {
226  // Depth 2 is more complicated, given that there are no cells in the range |ieta|<15
227  if (ieta<-14)
228  {
229  etabin=ieta+42;
230  if (subdet==HcalForward) etabin--;
231  }
232  else if (ieta>14)
233  {
234  etabin=ieta+14;
235  if (subdet==HcalForward) etabin++;
236  }
237 
238  }
239  // HO is also straightforward; a simple offset to the ieta value is applied
240  else if (subdet==HcalOuter && abs(ieta)<16)
241  etabin=ieta+15;
242  else if (subdet==HcalEndcap)
243  {
244  // HE depth 3 has spotty coverage; hard-code the bin response
245  if (depth==3)
246  {
247  if (ieta==-28) etabin=0;
248  else if (ieta==-27) etabin=1;
249  else if (ieta==-16) etabin=3;
250  else if (ieta==16) etabin=5;
251  else if (ieta==27) etabin=7;
252  else if (ieta==28) etabin=8;
253  }
254  }
255  return etabin;
256 }
#define abs(x)
Definition: mlp_lapack.h:159
int CalcIeta ( int  subdet,
int  eta,
int  depth 
)
inline

Definition at line 258 of file HcalEtaPhiHists.h.

References abs, binmapd2, binmapd3, eta(), HcalBarrel, HcalEndcap, HcalForward, and HcalOuter.

259 {
260  // This function returns the 'true' ieta value given subdet, eta, and depth
261  // Here 'eta' is the index from our arrays (it starts at 0);
262  // remember that histogram bins start with bin 1, so there's an offset of 1
263  // to consider if using getBinContent(eta,phi)
264 
265  // eta runs from 0...X (X depends on depth)
266  int ieta=-9999; // default value is nonsensical
267  if (subdet==HcalBarrel)
268  {
269  if (depth==1)
270  {
271  ieta=eta-42;
272  if (ieta==0) return -9999;
273  return ieta;
274  }
275  else if (depth==2)
276  {
277  ieta=binmapd2[eta];
278  if (ieta==0) return -9999;
279  if (ieta==17 || ieta == -17)
280  return -9999; // no depth 2 cells at |ieta| = 17
281  return ieta;
282  }
283  else
284  return -9999; // non-physical value
285  }
286  else if (subdet==HcalForward)
287  {
288  if (depth==1)
289  {
290  ieta=eta-42;
291  if (eta<13) ieta++;
292  else if (eta>71) ieta--;
293  else return -9999; // if outside forward range, return dummy
294  return ieta;
295  }
296  else if (depth==2)
297  {
298  ieta=binmapd2[eta]; // special map for depth 2
299  if (ieta<=-30) ieta++;
300  else if (ieta>=30) ieta--;
301  else return -9999;
302  return ieta;
303  }
304  else return -9999;
305  }
306 
307  else if (subdet==HcalEndcap)
308  {
309  if (depth==1)
310  ieta=eta-42;
311  else if (depth==2)
312  {
313  ieta=binmapd2[eta];
314  if (abs(ieta)>29 || abs(ieta)<18) return -9999; // outside HE
315  if (ieta==0) return -9999;
316  return ieta;
317  }
318  else if (depth==3)
319  {
320  if (eta<0 || eta>8) return -9999;
321  else
322  ieta=binmapd3[eta]; // special map for depth 3
323  if (ieta==0) return -9999;
324  return ieta;
325  }
326  else return -9999;
327  } // HcalEndcap
328  else if ( subdet==HcalOuter)
329  {
330  if (depth!=4)
331  return -9999;
332  else
333  {
334  ieta= eta-15; // bin 0 is ieta=-15, all bins increment normally from there
335  if (abs(ieta)>15) return -9999;
336  if (ieta==0) return -9999;
337  return ieta;
338  }
339  } // HcalOuter
340  if (ieta==0) return -9999;
341  return ieta;
342 }
const int binmapd2[]
#define abs(x)
Definition: mlp_lapack.h:159
T eta() const
const int binmapd3[]
int CalcIeta ( int  eta,
int  depth 
)
inline

Definition at line 344 of file HcalEtaPhiHists.h.

References abs, binmapd2, binmapd3, and eta().

345 {
346  // This version of CalcIeta does the same as the function above,
347  // but does not require that 'subdet' be specified.
348 
349  // returns ieta value give an eta counter.
350  // eta runs from 0...X (X depends on depth)
351  int ieta=-9999;
352  if (eta<0) return ieta;
353  if (depth==1)
354  {
355  ieta=eta-42; // default shift: bin 0 corresponds to a histogram ieta of -42 (which is offset by 1 from true HF value of -41)
356  if (eta<13) ieta++;
357  else if (eta>71) ieta--;
358  if (ieta==0) ieta=-9999;
359  return ieta;
360  }
361  else if (depth==2)
362  {
363  if (eta>56) return -9999;
364  else
365  {
366  ieta=binmapd2[eta];
367  if (ieta==-9999) return ieta;
368  if (ieta==0) return -9999;
369  if (ieta==17 || ieta == -17) return -9999; // no depth 2 cells at |ieta| = 17
370  else if (ieta<=-30) ieta++;
371  else if (ieta>=30) ieta--;
372  return ieta;
373  }
374  }
375  else if (depth==3)
376  {
377  if (eta>8) return -9999;
378  else
379  ieta=binmapd3[eta];
380  if (ieta==0) return -9999;
381  return ieta;
382  }
383  else if (depth==4)
384  {
385  ieta= eta-15; // bin 0 is ieta=-15, all bins increment normally from there
386  if (abs(ieta)>15) return -9999;
387  if (ieta==0) return -9999;
388  return ieta;
389  }
390  return ieta; // avoids compilation warning
391 }
const int binmapd2[]
#define abs(x)
Definition: mlp_lapack.h:159
T eta() const
const int binmapd3[]
void FillUnphysicalHEHFBins ( EtaPhiHists hh)
inline

Definition at line 587 of file HcalEtaPhiHists.h.

References abs, HcalObjRepresent::CalcIeta(), EtaPhiHists::depth, eta(), and phi.

588 {
589  int ieta=0;
590  int iphi=0;
591  // First 2 depths have 5-10-20 degree corrections
592  for (unsigned int d=0;d<3;++d)
593  {
594  if (!hh.depth[d]) continue;
595  for (int eta=0;eta<hh.depth[d]->getNbinsX();++eta)
596  {
597  ieta=CalcIeta(eta,d+1);
598  if (ieta==-9999 || abs(ieta)<21) continue;
599  for (int phi=0;phi<hh.depth[d]->getNbinsY();++phi)
600  {
601  iphi=phi+1;
602  if (iphi%2==1 && abs(ieta)<40 && iphi<73)
603  {
604  hh.depth[d]->setBinContent(eta+1,iphi+1,hh.depth[d]->getBinContent(eta+1,iphi));
605  }
606  // last two eta strips span 20 degrees in phi
607  // Fill the phi cell above iphi, and the 2 below it
608  else if (abs(ieta)>39 && iphi%4==3 && iphi<73)
609  {
610  //ieta=40, iphi=3 covers iphi 3,4,5,6
611  hh.depth[d]->setBinContent(eta+1,(iphi)%72+1, hh.depth[d]->getBinContent(eta+1,iphi));
612  hh.depth[d]->setBinContent(eta+1,(iphi+1)%72+1, hh.depth[d]->getBinContent(eta+1,iphi));
613  hh.depth[d]->setBinContent(eta+1,(iphi+2)%72+1, hh.depth[d]->getBinContent(eta+1,iphi));
614  }
615  } // for (int phi...)
616  } // for (int eta...)
617  } // for (int d=0;...)
618  // no corrections needed for HO (depth 4)
619  return;
620 } // FillUnphysicalHEHFBins(MonitorElement* hh)
#define abs(x)
Definition: mlp_lapack.h:159
T eta() const
std::vector< MonitorElement * > depth
int CalcIeta(int subdet, int eta, int depth)
Definition: DDAxes.h:10
void FillUnphysicalHEHFBins ( MonitorElement hh)
inline

Definition at line 624 of file HcalEtaPhiHists.h.

References abs, HcalObjRepresent::CalcIeta(), eta(), MonitorElement::getBinContent(), MonitorElement::getNbinsX(), MonitorElement::getNbinsY(), phi, and MonitorElement::setBinContent().

625 {
626  // Fills unphysical HE/HF bins for Summary Histogram
627  // Summary Histogram is binned with the same binning as the Depth 1 EtaPhiHists
628  if (hh==0) return;
629  int ieta=0;
630  int iphi=0;
631  int etabins = hh->getNbinsX();
632  int phibins = hh->getNbinsY();
633  float binval=0;
634  for (int eta=0;eta<etabins;++eta) // loop over eta bins
635  {
636  ieta=CalcIeta(eta,1);
637  if (ieta==-9999 || abs(ieta)<21) continue; // ignore etas that don't exist, or that have 5 degree phi binning
638 
639  for (int phi=0;phi<phibins;++phi)
640  {
641  iphi=phi+1;
642  if (iphi%2==1 && abs(ieta)<40 && iphi<73) // 10 degree phi binning condition
643  {
644  binval=hh->getBinContent(eta+1,iphi);
645  hh->setBinContent(eta+1,iphi+1,binval);
646  } // if (iphi%2==1...)
647  else if (abs(ieta)>39 && iphi%4==3 && iphi<73) // 20 degree phi binning condition
648  {
649  // Set last two eta strips where each cell spans 20 degrees in phi
650  // Set next phi cell above iphi, and 2 cells below the actual cell
651  hh->setBinContent(eta+1, (iphi)%72+1, hh->getBinContent(eta+1,iphi));
652  hh->setBinContent(eta+1, (iphi+1)%72+1, hh->getBinContent(eta+1,iphi));
653  hh->setBinContent(eta+1, (iphi+2)%72+1, hh->getBinContent(eta+1,iphi));
654  } // else if (abs(ieta)>39 ...)
655  } // for (int phi=0;phi<72;++phi)
656 
657  } // for (int eta=0; eta< (etaBins_-2);++eta)
658 
659  return;
660 } // FillUnphysicalHEHFBins(std::vector<MonitorElement*> &hh)
void setBinContent(int binx, double content)
set content of bin (1-D)
#define abs(x)
Definition: mlp_lapack.h:159
T eta() const
int getNbinsY(void) const
get # of bins in Y-axis
int CalcIeta(int subdet, int eta, int depth)
double getBinContent(int binx) const
get content of bin (1-D)
int getNbinsX(void) const
get # of bins in X-axis
Definition: DDAxes.h:10
std::vector<std::string> HcalEtaPhiHistNames ( )
inline
bool isHB ( int  etabin,
int  depth 
)
inline

Definition at line 407 of file HcalEtaPhiHists.h.

References abs, and HcalObjRepresent::CalcIeta().

Referenced by HcalGeometry::alignmentTransformIndexLocal(), HcalRecHitClient::analyze(), HcalSummaryClient::analyze(), HcalRawDataMonitor::analyze(), HcalDetDiagTimingClient::calculateProblems(), HcalDetDiagLaserClient::calculateProblems(), HcalDetDiagPedestalClient::calculateProblems(), HcalDeadCellClient::calculateProblems(), HcalDigiClient::calculateProblems(), HcalHotCellClient::calculateProblems(), HcalCoarsePedestalClient::calculateProblems(), HcalNZSClient::calculateProblems(), HcalDetDiagNoiseMonitorClient::calculateProblems(), HcalRecHitClient::calculateProblems(), HcalRawDataClient::calculateProblems(), HcalHotCellMonitor::fillNevents_problemCells(), HcalDetDiagLaserClient::htmlOutput(), HcalDetDiagPedestalClient::htmlOutput(), HcalDeadCellClient::updateChannelStatus(), and HcalHotCellClient::updateChannelStatus().

408 {
409  if (depth>2) return false;
410  else if (depth<1) return false;
411  else
412  {
413  int ieta=CalcIeta(etabin,depth);
414  if (ieta==-9999) return false;
415  if (depth==1)
416  {
417  if (abs(ieta)<=16 ) return true;
418  else return false;
419  }
420  else if (depth==2)
421  {
422  if (abs(ieta)==15 || abs(ieta)==16) return true;
423  else return false;
424  }
425  }
426  return false;
427 }
#define abs(x)
Definition: mlp_lapack.h:159
int CalcIeta(int subdet, int eta, int depth)
bool isHE ( int  etabin,
int  depth 
)
inline

Definition at line 429 of file HcalEtaPhiHists.h.

References abs, and HcalObjRepresent::CalcIeta().

Referenced by HcalGeometry::alignmentTransformIndexLocal(), HcalRecHitClient::analyze(), HcalSummaryClient::analyze(), HcalRawDataMonitor::analyze(), HcalDetDiagTimingClient::calculateProblems(), HcalDetDiagLaserClient::calculateProblems(), HcalDetDiagPedestalClient::calculateProblems(), HcalDeadCellClient::calculateProblems(), HcalDigiClient::calculateProblems(), HcalHotCellClient::calculateProblems(), HcalCoarsePedestalClient::calculateProblems(), HcalNZSClient::calculateProblems(), HcalDetDiagNoiseMonitorClient::calculateProblems(), HcalRecHitClient::calculateProblems(), HcalRawDataClient::calculateProblems(), HcalHotCellMonitor::fillNevents_problemCells(), HcalDetDiagLaserClient::htmlOutput(), HcalDetDiagPedestalClient::htmlOutput(), HcalDeadCellClient::updateChannelStatus(), and HcalHotCellClient::updateChannelStatus().

430 {
431  if (depth>3) return false;
432  else if (depth<1) return false;
433  else
434  {
435  int ieta=CalcIeta(etabin,depth);
436  if (ieta==-9999) return false;
437  if (depth==1)
438  {
439  if (abs(ieta)>=17 && abs(ieta)<=28 ) return true;
440  if (ieta==-29 && etabin==13) return true; // HE -29
441  if (ieta==29 && etabin == 71) return true; // HE +29
442  }
443  else if (depth==2)
444  {
445  if (abs(ieta)>=17 && abs(ieta)<=28 ) return true;
446  if (ieta==-29 && etabin==13) return true; // HE -29
447  if (ieta==29 && etabin == 43) return true; // HE +29
448  }
449  else if (depth==3)
450  return true;
451  }
452  return false;
453 }
#define abs(x)
Definition: mlp_lapack.h:159
int CalcIeta(int subdet, int eta, int depth)
bool isHF ( int  etabin,
int  depth 
)
inline

Definition at line 455 of file HcalEtaPhiHists.h.

References abs, and HcalObjRepresent::CalcIeta().

Referenced by HcalGeometry::alignmentTransformIndexLocal(), HcalRecHitClient::analyze(), HcalSummaryClient::analyze(), HcalRawDataMonitor::analyze(), HcalDetDiagLaserClient::calculateProblems(), HcalDeadCellClient::calculateProblems(), HcalDetDiagTimingClient::calculateProblems(), HcalDigiClient::calculateProblems(), HcalHotCellClient::calculateProblems(), HcalDetDiagPedestalClient::calculateProblems(), HcalCoarsePedestalClient::calculateProblems(), HcalNZSClient::calculateProblems(), HcalDetDiagNoiseMonitorClient::calculateProblems(), HcalRecHitClient::calculateProblems(), HcalRawDataClient::calculateProblems(), HcalHotCellMonitor::fillNevents_problemCells(), reco::CentralityProducer::filter(), HcalDetDiagLaserClient::htmlOutput(), HcalDetDiagPedestalClient::htmlOutput(), HcalTrigPrimMonitor::processEvent(), HcalTrigPrimMonitor::setup(), HcalHotCellClient::updateChannelStatus(), and HcalDeadCellClient::updateChannelStatus().

456 {
457  if (depth>2) return false;
458  else if (depth<1) return false;
459  else
460  {
461  int ieta=CalcIeta(etabin,depth);
462  if (ieta==-9999) return false;
463  if (depth==1)
464  {
465  if (ieta==-29 && etabin==13) return false; // HE -29
466  else if (ieta==29 && etabin == 71) return false; // HE +29
467  else if (abs(ieta)>=29 ) return true;
468  }
469  else if (depth==2)
470  {
471  if (ieta==-29 && etabin==13) return false; // HE -29
472  else if (ieta==29 && etabin==43) return false; // HE +29
473  else if (abs(ieta)>=29 ) return true;
474  }
475  }
476  return false;
477 }
#define abs(x)
Definition: mlp_lapack.h:159
int CalcIeta(int subdet, int eta, int depth)
bool isHO ( int  etabin,
int  depth 
)
inline
bool isSiPM ( int  ieta,
int  iphi,
int  depth 
)
inline
void SetEtaPhiLabels ( MonitorElement h)
inline

Definition at line 556 of file HcalEtaPhiHists.h.

References i, diffTwoXMLs::label, and MonitorElement::setBinLabel().

557 {
558  std::stringstream label;
559  for (int i=-41;i<=-29;i=i+2)
560  {
561  label<<i;
562  h->setBinLabel(i+42,label.str().c_str());
563  label.str("");
564  }
565  h->setBinLabel(14,"-29HE");
566 
567  // offset by one for HE
568  for (int i=-27;i<=27;i=i+2)
569  {
570  label<<i;
571  h->setBinLabel(i+43,label.str().c_str());
572  label.str("");
573  }
574  h->setBinLabel(72,"29HE");
575  for (int i=29;i<=41;i=i+2)
576  {
577  label<<i;
578  h->setBinLabel(i+44,label.str().c_str());
579  label.str("");
580  }
581  return;
582 }
int i
Definition: DBlmapReader.cc:9
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 validDetId ( HcalSubdetector  sd,
int  ies,
int  ip,
int  dp 
)
inline

Definition at line 502 of file HcalEtaPhiHists.h.

References abs, HcalBarrel, HcalEndcap, HcalForward, and HcalOuter.

Referenced by HcalRecHitClient::analyze(), HcalCoarsePedestalMonitor::fill_Nevents(), HcalDigiMonitor::fill_Nevents(), HcalHotCellMonitor::fillNevents_energy(), HcalHotCellMonitor::fillNevents_neighbor(), HcalHotCellMonitor::fillNevents_persistentenergy(), HcalDeadCellMonitor::fillNevents_problemCells(), HcalDeadCellMonitor::fillNevents_recentdigis(), HcalDeadCellMonitor::fillNevents_recentrechits(), HcalMonitorClient::PlotPedestalValues(), HcalDeadCellClient::updateChannelStatus(), and HcalHotCellClient::updateChannelStatus().

503 {
504  // inputs are (subdetector, ieta, iphi, depth)
505  // stolen from latest version of DataFormats/HcalDetId/src/HcalDetId.cc (not yet available in CMSSW_2_1_9)
506 
507  const int ie ( abs( ies ) ) ;
508 
509  return ( ( ip >= 1 ) &&
510  ( ip <= 72 ) &&
511  ( dp >= 1 ) &&
512  ( ie >= 1 ) &&
513  ( ( ( sd == HcalBarrel ) &&
514  ( ( ( ie <= 14 ) &&
515  ( dp == 1 ) ) ||
516  ( ( ( ie == 15 ) || ( ie == 16 ) ) &&
517  ( dp <= 2 ) ) ) ) ||
518  ( ( sd == HcalEndcap ) &&
519  ( ( ( ie == 16 ) &&
520  ( dp == 3 ) ) ||
521  ( ( ie == 17 ) &&
522  ( dp == 1 ) ) ||
523  ( ( ie >= 18 ) &&
524  ( ie <= 20 ) &&
525  ( dp <= 2 ) ) ||
526  ( ( ie >= 21 ) &&
527  ( ie <= 26 ) &&
528  ( dp <= 2 ) &&
529  ( ip%2 == 1 ) ) ||
530  ( ( ie >= 27 ) &&
531  ( ie <= 28 ) &&
532  ( dp <= 3 ) &&
533  ( ip%2 == 1 ) ) ||
534  ( ( ie == 29 ) &&
535  ( dp <= 2 ) &&
536  ( ip%2 == 1 ) ) ) ) ||
537  ( ( sd == HcalOuter ) &&
538  ( ie <= 15 ) &&
539  ( dp == 4 ) ) ||
540  ( ( sd == HcalForward ) &&
541  ( dp <= 2 ) &&
542  ( ( ( ie >= 29 ) &&
543  ( ie <= 39 ) &&
544  ( ip%2 == 1 ) ) ||
545  ( ( ie >= 40 ) &&
546  ( ie <= 41 ) &&
547  ( ip%4 == 3 ) ) ) ) ) ) ;
548 
549 
550 
551 } // bool validDetId(HcalSubdetector sd, int ies, int ip, int dp)
#define abs(x)
Definition: mlp_lapack.h:159
auto dp
Definition: deltaR.h:24
double sd

Variable Documentation

const int binmapd2[]
Initial value:
={-42,-41,-40,-39,-38,-37,-36,-35,-34,-33,-32,-31,-30,
-29,-28,-27,-26,-25,-24,-23,-22,-21,-20,-19,-18,-17,
-16,-15,-9999, 15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,40,41,42}

Definition at line 193 of file HcalEtaPhiHists.h.

Referenced by CalcIeta(), and HcalDeadCellMonitor::processEvent().

const int binmapd3[] ={-28,-27,-9999,-16,-9999,16,-9999,27,28}

Definition at line 200 of file HcalEtaPhiHists.h.

Referenced by CalcIeta().