CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Static Private Attributes
EEDetId Class Reference

#include <EEDetId.h>

Inheritance diagram for EEDetId:
DetId

Public Types

enum  { Subdet =EcalEndcap }
 
enum  { kEEhalf = 7324, kSizeForDenseIndexing = 2*kEEhalf }
 
- Public Types inherited from DetId
enum  Detector {
  Tracker =1, Muon =2, Ecal =3, Hcal =4,
  Calo =5
}
 

Public Member Functions

uint32_t denseIndex () const
 
 EEDetId ()
 
 EEDetId (uint32_t rawid)
 
 EEDetId (int i, int j, int iz, int mode=XYMODE)
 
 EEDetId (const DetId &id)
 
int hashedIndex () const
 
int ic () const
 
int iPhiOuterRing () const
 
int iquadrant () const
 
int isc () const
 
int ix () const
 
int iy () const
 
EEDetId offsetBy (int nrStepsX, int nrStepsY) const
 
EEDetIdoperator= (const DetId &id)
 
bool positiveZ () const
 
EcalScDetId sc () const
 
EEDetId switchZSide () const
 
int zside () const
 
- Public Member Functions inherited from DetId
Detector det () const
 get the detector field from this detid More...
 
 DetId ()
 Create an empty or null id (also for persistence) More...
 
 DetId (uint32_t id)
 Create an id from a raw number. More...
 
 DetId (Detector det, int subdet)
 Create an id, filling the detector and subdetector fields as specified. More...
 
bool null () const
 is this a null id ? More...
 
 operator uint32_t () const
 
bool operator!= (DetId id) const
 inequality More...
 
uint32_t operator() () const
 
bool operator< (DetId id) const
 comparison More...
 
bool operator== (DetId id) const
 equality More...
 
uint32_t rawId () const
 get the raw id More...
 
int subdetId () const
 get the contents of the subdetector field (not cast into any detector's numbering enum) More...
 

Static Public Member Functions

static EEDetId detIdFromDenseIndex (uint32_t din)
 
static int distanceX (const EEDetId &a, const EEDetId &b)
 
static int distanceY (const EEDetId &a, const EEDetId &b)
 
static EEDetId idOuterRing (int iPhi, int zEnd)
 
static int isc (int iscCol, int iscRow)
 
static bool isNextToBoundary (EEDetId id)
 
static bool isNextToDBoundary (EEDetId id)
 
static bool isNextToRingBoundary (EEDetId id)
 
static DetId offsetBy (const DetId startId, int nrStepsX, int nrStepsY)
 
static EcalSubdetector subdet ()
 
static DetId switchZSide (const DetId startId)
 
static EEDetId unhashIndex (int hi)
 
static bool validDenseIndex (uint32_t din)
 
static bool validDetId (int crystal_ix, int crystal_iy, int iz)
 
static bool validHashIndex (int i)
 

Static Public Attributes

static const int ICR_MAX =25
 
static const int ICR_MIN =1
 
static const int ISC_MAX =316
 
static const int ISC_MIN =1
 
static const int IX_MAX =100
 
static const int IX_MIN =1
 
static const int IY_MAX =100
 
static const int IY_MIN =1
 
static const int XYMODE = 0
 
static const int SCCRYSTALMODE = 1
 
- Static Public Attributes inherited from DetId
static const int kDetOffset = 28
 
static const int kSubdetOffset = 25
 

Private Member Functions

bool isOuterRing () const
 
int ix (int iSC, int iCrys) const
 
int ixQuadrantOne () const
 
int iy (int iSC, int iCrys) const
 
int iyQuadrantOne () const
 

Static Private Member Functions

static bool isOuterRingXY (int ax, int ay)
 

Static Private Attributes

static const int iYoffset [nCols+1] = { 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0 }
 
static const unsigned short kdi [2 *IY_MAX]
 
static const unsigned short kxf [2 *IY_MAX]
 
static const int nCols = 10
 
static const int nCrys = 5
 
static const int QuadColLimits [nCols+1] = { 0, 8,17,27,36,45,54,62,70,76,79 }
 

Additional Inherited Members

- Protected Attributes inherited from DetId
uint32_t id_
 

Detailed Description

Crystal/cell identifier class for the ECAL endcap

Id:
EEDetId.h,v 1.24 2010/02/09 17:31:23 pgras Exp

Definition at line 16 of file EEDetId.h.

Member Enumeration Documentation

anonymous enum
Enumerator
Subdet 

Sudetector type. Here it is ECAL endcap.

Definition at line 18 of file EEDetId.h.

18  {
22  };
anonymous enum
Enumerator
kEEhalf 

Number of crystals per Dee

kSizeForDenseIndexing 

Number of dense crystal indices, that is number of crystals per endcap.

Definition at line 303 of file EEDetId.h.

303  {
306  kEEhalf = 7324 ,
311  };

Constructor & Destructor Documentation

EEDetId::EEDetId ( )
inline

Constructor of a null id

Definition at line 26 of file EEDetId.h.

Referenced by idOuterRing(), offsetBy(), switchZSide(), and unhashIndex().

26 {}
EEDetId::EEDetId ( uint32_t  rawid)
inline

Constructor from a raw value

Parameters
rawiddet ID number

Definition at line 31 of file EEDetId.h.

31 : DetId(rawid) {}
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:28
EEDetId::EEDetId ( int  i,
int  j,
int  iz,
int  mode = XYMODE 
)

Constructor from crystal ix,iy,iz (iz=+1/-1) (mode = XYMODE) or from sc,cr,iz (mode = SCCRYSTALMODE).

ix runs from 1 to 100 along x-axis of standard CMS coordinates
iy runs from 1 to 100 along y-axis of standard CMS coordinates
iz is -1 for EE- and +1 for EE+

For isc see isc(), for ic see ic()

See Also
isc(), ic()
Parameters
iix or isc index
jiy or isc index
iziz/zside index: -1 for EE-, +1 for EE+
modepass XYMODE if i j refer to ix, iy, SCCRYSTALMODE if thery refer to isc, ic

Definition at line 57 of file EEDetId.cc.

References edm::hlt::Exception, DetId::id_, ix(), iy(), SCCRYSTALMODE, validDetId(), and XYMODE.

57  : DetId( Ecal, EcalEndcap )
58 {
59  int crystal_ix=0;
60  int crystal_iy=0;
61  if (mode == XYMODE)
62  {
63  crystal_ix = index1;
64  crystal_iy = index2;
65  }
66  else if (mode == SCCRYSTALMODE)
67  {
68  int SC = index1;
69  int crystal = index2;
70  // std::cout << "iz " << iz << " SC " << index1 << "crystal " << index2 << std::endl;
71 
72  crystal_ix=iz*ix(SC,crystal);
73  if (crystal_ix<0)
74  crystal_ix++;
75  crystal_ix+=50;
76  crystal_iy=iy(SC,crystal);
77  if (crystal_iy<0)
78  crystal_iy++;
79  crystal_iy+=50;
80 
81  }
82  else
83  {
84  throw cms::Exception("InvalidDetId") << "EEDetId: Cannot create object. Unknown mode for (int, int, int) constructor.";
85  }
86 
87  if (!validDetId(crystal_ix,crystal_iy,iz))
88  {
89  throw cms::Exception("InvalidDetId") << "EEDetId: Cannot create object. Indexes out of bounds \n"
90  << "x = " << crystal_ix << " y = " << crystal_iy << " z = " << iz;
91  }
92 
93  id_|=(crystal_iy&0x7f)|((crystal_ix&0x7f)<<7)|((iz>0)?(0x4000):(0));
94 }
int ix() const
Definition: EEDetId.h:71
static const int XYMODE
Definition: EEDetId.h:316
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:28
static const int SCCRYSTALMODE
Definition: EEDetId.h:317
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.cc:562
int iy() const
Definition: EEDetId.h:77
uint32_t id_
Definition: DetId.h:57
int mode
Definition: AMPTWrapper.h:139
EEDetId::EEDetId ( const DetId id)

Constructor from a generic cell id

Parameters
idsource detid

Definition at line 96 of file EEDetId.cc.

References DetId::det(), DetId::Ecal, EcalEndcap, edm::hlt::Exception, DetId::id_, DetId::null(), DetId::rawId(), and DetId::subdetId().

97 {
98  if (!gen.null() && (gen.det()!=Ecal || gen.subdetId()!=EcalEndcap)) {
99  throw cms::Exception("InvalidDetId");
100  }
101  id_ = gen.rawId();
102 }
uint32_t id_
Definition: DetId.h:57

Member Function Documentation

uint32_t EEDetId::denseIndex ( ) const
inline

Same as hashedIndex()

Returns
compact index from 0 to kSizeForDenseIndexing-1

Definition at line 187 of file EEDetId.h.

References hashedIndex().

187 { return hashedIndex() ; }
int hashedIndex() const
Definition: EEDetId.h:177
static EEDetId EEDetId::detIdFromDenseIndex ( uint32_t  din)
inlinestatic

Converts a hashed/dense index as defined in hashedIndex() and denseIndex() methods to a det id.

Parameters
dinhashed/dense index
Returns
det id

Definition at line 215 of file EEDetId.h.

References unhashIndex().

Referenced by CaloGenericDetId::CaloGenericDetId(), EcalEndcapGeometry::initializeParms(), and EcalTPSkimmer::produce().

215 { return unhashIndex( din ) ; }
static EEDetId unhashIndex(int hi)
Definition: EEDetId.cc:115
int EEDetId::distanceX ( const EEDetId a,
const EEDetId b 
)
static

Returns the distance along x-axis in crystal units between two EEDetId

Parameters
adet id of first crystal
bdet id of second crystal
Returns
distance

Definition at line 602 of file EEDetId.cc.

References abs, and ix().

603 {
604  return abs(a.ix()-b.ix());
605 }
int ix() const
Definition: EEDetId.h:71
#define abs(x)
Definition: mlp_lapack.h:159
int EEDetId::distanceY ( const EEDetId a,
const EEDetId b 
)
static

Returns the distance along y-axis in crystal units between two EEDetId

Parameters
adet id of first crystal
bdet id of second crystal
Returns
distance

Definition at line 607 of file EEDetId.cc.

References abs, and iy().

608 {
609  return abs(a.iy() - b.iy());
610 }
#define abs(x)
Definition: mlp_lapack.h:159
int iy() const
Definition: EEDetId.h:77
int EEDetId::hashedIndex ( ) const
inline

Gets a compact index for arrays

Returns
compact index from 0 to kSizeForDenseIndexing-1

Definition at line 177 of file EEDetId.h.

References ix(), iy(), kdi, kEEhalf, kxf, and zside().

Referenced by EcalGetLaserData::analyze(), EcalPulseShapeGrapher::analyze(), EcalURecHitHists::analyze(), HcalIsoTrkAnalyzer::analyze(), CaloGeometryHelper::buildCrystalArray(), CaloGeometryHelper::buildNeighbourArray(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), denseIndex(), PFRecHitProducerECAL::ecalNeighbArray(), CalorimetryManager::EMShowerSimulation(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), CaloGeometryHelper::getNeighbours(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), ecalpyutils::hashedIndexEE(), CalorimetryManager::HDShowerSimulation(), EcalEndcapRecHitsMaker::init(), popcon::EcalChannelStatusHandler::laserAnalysis(), CaloGeometryHelper::move(), PFRecHitProducerECAL::move(), CalorimetryManager::MuonMipSimulation(), popcon::EcalChannelStatusHandler::pedAnalysis(), AlCaIsoTracksProducer::produce(), EcalUncalibRecHitWorkerRatio::run(), EcalUncalibRecHitWorkerWeights::run(), EcalUncalibRecHitWorkerGlobal::run(), EcalGeomPhiSymHelper::setup(), and EcalEndcapRecHitsMaker::towerOf().

178  {
179  const uint32_t jx ( ix() ) ;
180  const uint32_t jd ( 2*( iy() - 1 ) + ( jx - 1 )/50 ) ;
181  return ( ( zside()<0 ? 0 : kEEhalf ) + kdi[jd] + jx - kxf[jd] ) ;
182  }
int ix() const
Definition: EEDetId.h:71
int zside() const
Definition: EEDetId.h:65
int iy() const
Definition: EEDetId.h:77
static const unsigned short kxf[2 *IY_MAX]
Definition: EEDetId.h:333
static const unsigned short kdi[2 *IY_MAX]
Definition: EEDetId.h:334
int EEDetId::ic ( ) const

Gets crystal number inside SuperCrystal. Crystal numbering withing a supercrystal in each quadrant:

*                       A y
*  (Q2)                 |                    (Q1)
*       25 20 15 10 5   |     5 10 15 20 25
*       24 19 14  9 4   |     4  9 14 19 24
*       23 18 13  8 3   |     3  8 13 18 23
*       22 17 12  7 2   |     2  7 12 17 22
*       21 16 11  6 1   |     1  6 11 16 21
*                       |
* ----------------------o---------------------------> x
*                       |
*       21 16 11  6 1   |     1  6 11 16 21
*       22 17 12  7 2   |     2  7 12 17 22
*       23 18 13  8 3   |     3  8 13 18 23
*       24 19 14  9 4   |     4  9 14 19 24
*       25 20 15 10 5   |     5 10 15 20 25
*  (Q3)                                       (Q4)
* 
Returns
crystal number from 1 to 25

Definition at line 340 of file EEDetId.cc.

References iquadrant(), ixQuadrantOne(), iyQuadrantOne(), and nCrys.

Referenced by EcalURecHitHists::analyze(), DetIdInfo::info(), and fireworks::info().

341 {
342  /*
343  * Return crystal number from (x,y) coordinates.
344  *
345  * Author : B W Kennedy
346  * Version : 1.00
347  * Created : 5 May 2006
348  * Last Mod :
349  *
350  * Input : ix, iy - (x,y) position of crystal
351  */
352 
353  /* Useful constants . */
354  int iQuadrant = iquadrant();
355  int icrCol=-1;
356  int icrRow=-1;
357 
358  if (iQuadrant == 1 || iQuadrant == 3)
359  {
360  icrCol=(ixQuadrantOne()-1) % nCrys;
361  icrRow=(iyQuadrantOne()-1) % nCrys;
362  }
363 
364  else if (iQuadrant == 2 || iQuadrant == 4)
365  {
366  icrRow=(ixQuadrantOne()-1) % nCrys;
367  icrCol=(iyQuadrantOne()-1) % nCrys;
368  }
369 
370  int icrys = 5*icrCol + icrRow + 1;
371 
372  return icrys;
373 }
int iquadrant() const
Definition: EEDetId.cc:280
int ixQuadrantOne() const
Definition: EEDetId.cc:257
static const int nCrys
Definition: EEDetId.h:329
int iyQuadrantOne() const
Definition: EEDetId.cc:268
EEDetId EEDetId::idOuterRing ( int  iPhi,
int  zEnd 
)
static

Definition at line 451 of file EEDetId.cc.

References EEDetId(), IX_MAX, and IY_MAX.

Referenced by EcalBarrelGeometry::getClosestEndcapCells().

452 {
453  iPhi -= 10 ; // phi=1 in barrel is at -10deg
454  while( iPhi < 1 ) iPhi+=360 ;
455  while( iPhi > 360 ) iPhi-=360 ;
456 
457  const int index1 ( iPhi - 1 ) ;
458  const int quad ( index1/90 ) ;
459  int indexq ( index1 - quad*90 + 1 ) ;
460  if( 0==quad || 2==quad ) indexq = 91 - indexq ;
461  const int indexh ( indexq > 45 ? 91 - indexq : indexq ) ;
462  const int axh ( indexh<=10 ? indexh :
463  ( indexh<=12 ? 10 :
464  ( indexh<=17 ? indexh - 2 :
465  ( indexh<=18 ? 15 :
466  ( indexh<=28 ? indexh - 3 :
467  ( indexh<=30 ? 25 :
468  ( indexh<=35 ? indexh - 5 :
469  ( indexh<=39 ? 30 :
470  ( indexh<=44 ? indexh - 9 : 35 ))))))))) ;
471  const int ayh ( indexh<=10 ? 50 :
472  ( indexh<=12 ? 60 - indexh :
473  ( indexh<=17 ? 47 :
474  ( indexh<=18 ? 64 - indexh :
475  ( indexh<=28 ? 45 :
476  ( indexh<=30 ? 73 - indexh :
477  ( indexh<=35 ? 42 :
478  ( indexh<=39 ? 77 - indexh :
479  ( indexh<=44 ? 37 : 36 ))))))))) ;
480  const int bxh ( indexq>45 ? ayh : axh ) ;
481  const int byh ( indexq>45 ? axh : ayh ) ;
482  const int cx ( ( quad==0 || quad==3 ? bxh : -bxh+1 ) + IX_MAX/2 ) ;
483  const int cy ( ( quad==0 || quad==1 ? byh : -byh+1 ) + IY_MAX/2 ) ;
484 
485  return EEDetId( cx, cy, ( zEnd > 0 ? 1 : -1 ) ) ;
486 }
static const int IX_MAX
Definition: EEDetId.h:279
static const int IY_MAX
Definition: EEDetId.h:283
EEDetId()
Definition: EEDetId.h:26
int EEDetId::iPhiOuterRing ( ) const

Definition at line 404 of file EEDetId.cc.

References abs, iquadrant(), isOuterRing(), ix(), IX_MAX, iy(), and IY_MAX.

Referenced by spr::simpleMove(), and PFRecHitProducerECAL::stdsimplemove().

405 {
406  int returnValue ( 0 ) ;
407  if( isOuterRing() )
408  {
409  const int ax ( abs( ix() - IX_MAX/2 ) ) ;
410  const int ay ( abs( iy() - IY_MAX/2 ) ) ;
411  returnValue = ax + 50 - ay ;
412  if( ay <= 47 ) --returnValue ;
413  if( ay <= 45 ) --returnValue ;
414  if( ay <= 42 ) --returnValue ;
415  if( ay <= 37 ) --returnValue ;
416  if( ay <= 35 ) --returnValue ;
417  if( ay <= 30 ) --returnValue ;
418  if( ay <= 25 ) --returnValue ;
419  if( ay <= 15 ) --returnValue ;
420  if( ay <= 10 ) --returnValue ;
421  const int iq ( iquadrant() ) ;
422  if( 1==iq )
423  {
424  returnValue = 91 - returnValue ;
425  }
426  else
427  {
428  if( 2==iq )
429  {
430  returnValue += 90 ;
431  }
432  else
433  {
434  if( 3==iq )
435  {
436  returnValue = 271 - returnValue ;
437  }
438  else
439  {
440  returnValue += 270 ;
441  }
442  }
443  }
444  returnValue = 1 + ( 360 + returnValue - 10 -1 )%360 ;
445  }
446 // if( positiveZ() ) returnValue += 360 ;
447  return returnValue ;
448 }
int ix() const
Definition: EEDetId.h:71
#define abs(x)
Definition: mlp_lapack.h:159
int iquadrant() const
Definition: EEDetId.cc:280
bool isOuterRing() const
Definition: EEDetId.cc:536
int iy() const
Definition: EEDetId.h:77
static const int IX_MAX
Definition: EEDetId.h:279
static const int IY_MAX
Definition: EEDetId.h:283
int EEDetId::iquadrant ( ) const

Gets the quadrant of the DetId. Quadrant number definition, x and y in std CMS coordinates, for EE+:

*                 A y
*                 |
*          Q2     |    Q1
*                 |
*       ----------o---------> x
*                 |
*          Q3     |    Q4
*                 |
* 
Returns
quadrant number

Definition at line 280 of file EEDetId.cc.

References ix(), and iy().

Referenced by EcalTrigTowerConstituentsMap::changeEEDetIdQuadrantAndZ(), EcalBarrelGeometry::getClosestEndcapCells(), ic(), DetIdInfo::info(), fireworks::info(), iPhiOuterRing(), ixQuadrantOne(), iyQuadrantOne(), and EcalTrigTowerConstituentsMap::wrapEEDetId().

281 {
282  if (ix()>50)
283  {
284  if(iy()>50)
285  return 1;
286  else
287  return 4;
288  }
289  else
290  {
291  if(iy()>50)
292  return 2;
293  else
294  return 3;
295  }
296  //Should never be reached
297  return -1;
298 }
int ix() const
Definition: EEDetId.h:71
int iy() const
Definition: EEDetId.h:77
int EEDetId::isc ( ) const

Gets the SuperCrystal number within the endcap. This number runs from 1 to 316, numbers 70 149 228 307 are not used.

BEWARE: This number is not consistent with indices used in constructor: see details below.

Numbering in quadrant 1 of EE+ is the following

*  08 17 27        
*  07 16 26 36 45 54     
*  06 15 25 35 44 53 62    
*  05 14 24 34 43 52 61 69   
*  04 13 23 33 42 51 60 68 76  
*  03 12 22 32 41 50 59 67 75  
*  02 11 21 31 40 49 58 66 74  
*  01 10 20 30 39 48 57 65 73 79 
*     09 19 29 38 47 56 64 72 78 
*        18 28 37 46 55 63 71 77
*  
*        == THERE IS NO INDEX 70! ==
* 

Quadrant 2 indices are deduced by a symetry about y-axis and by adding an offset of 79.
Quadrant 3 and 4 indices are deduced from quadrant 1 and 2 by a symetry about x-axis and adding an offset. Quadrant N starts with index 1 + (N-1)*79.

EE- indices are deduced from EE+ by a symetry about (x,y)-plane (mirrored view). It is inconsistent with indices used in constructor EEDetId(int, int,int) in SCCRYSTALMODE. Indices of constructor uses a symetry along y-axis: in principal it considers the isc as a local index. The discrepancy is most probably due to a bug in the implementation of this isc() method.

Definition at line 301 of file EEDetId.cc.

References ix(), iy(), and nCrys.

Referenced by CaloGeometryHelper::borderCrossing(), EcalLaserDbService::getLMNumber(), DetIdInfo::info(), fireworks::info(), and EcalEndcapRecHitsMaker::SChashedIndex().

302 {
303  return isc( 1 + ( ix() - 1 )/nCrys,
304  1 + ( iy() - 1 )/nCrys ) ;
305 }
int ix() const
Definition: EEDetId.h:71
int isc() const
Definition: EEDetId.cc:301
int iy() const
Definition: EEDetId.h:77
static const int nCrys
Definition: EEDetId.h:329
int EEDetId::isc ( int  iscCol,
int  iscRow 
)
static

Gives supercrystal index from endcap supercrystal x and y indexes.

See Also
isc() for the index definition
Parameters
iscColsupercrystal column number: supecrystal x-index for EE+
iscRow,:supecrystal y-index
Returns
supercystal index

Definition at line 308 of file EEDetId.cc.

References ISC_MAX, iYoffset, and QuadColLimits.

309 {
310  if( 0 < jx &&
311  21 > jx &&
312  0 < jy &&
313  21 > jy )
314  {
315  const int iquad ( ( 10<jx && 10<jy ? 1 :
316  ( 11>jx && 10<jy ? 2 :
317  ( 11>jx && 11>jy ? 3 : 4 ) ) ) ) ;
318 
319  const int iCol = ( 1 == iquad || 4 == iquad ? jx - 10 : 11 - jx ) ;
320  const int iRow = ( 1 == iquad || 2 == iquad ? jy - 10 : 11 - jy ) ;
321 
322  static int nSCinQuadrant = ISC_MAX/4;
323 
324  const int yOff ( iYoffset[iCol] ) ;
325 
326  const int qOff ( nSCinQuadrant*( iquad - 1 ) ) ;
327 
328  const int iscOne ( QuadColLimits[iCol-1] + iRow - yOff ) ;
329 
330  return ( yOff >= iRow ? -1 :
331  ( QuadColLimits[iCol] < iscOne ? -2 :
332  iscOne + qOff ) ) ;
333  }
334  else
335  {
336  return -3 ; // bad inputs
337  }
338 }
static const int ISC_MAX
Definition: EEDetId.h:297
static const int iYoffset[nCols+1]
Definition: EEDetId.h:331
static const int QuadColLimits[nCols+1]
Definition: EEDetId.h:330
bool EEDetId::isNextToBoundary ( EEDetId  id)
static

Definition at line 377 of file EEDetId.cc.

References isNextToDBoundary(), and isNextToRingBoundary().

378 {
379  return isNextToDBoundary( id ) || isNextToRingBoundary( id ) ;
380 }
static bool isNextToRingBoundary(EEDetId id)
Definition: EEDetId.cc:391
static bool isNextToDBoundary(EEDetId id)
Definition: EEDetId.cc:383
bool EEDetId::isNextToDBoundary ( EEDetId  id)
static

Definition at line 383 of file EEDetId.cc.

Referenced by PhotonIsolationCalculator::classify(), GsfElectronAlgo::createElectron(), and isNextToBoundary().

384 {
385  // hardcoded values for D boundary
386  return id.ix() == 50 || id.ix() == 51 ;
387 }
bool EEDetId::isNextToRingBoundary ( EEDetId  id)
static

Definition at line 391 of file EEDetId.cc.

References i, ix(), iy(), j, validDetId(), and zside().

Referenced by PhotonIsolationCalculator::classify(), GsfElectronAlgo::createElectron(), EcalCleaningAlgo::isNearCrack(), and isNextToBoundary().

392 {
393  for (int i = -1; i <= 1; ++i) {
394  for (int j = -1; j <= 1; ++j) {
395  if ( ! validDetId( id.ix() + i, id.iy() + j, id.zside() ) ) {
396  return true;
397  }
398  }
399  }
400  return false;
401 }
int i
Definition: DBlmapReader.cc:9
int ix() const
Definition: EEDetId.h:71
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.cc:562
int zside() const
Definition: EEDetId.h:65
int j
Definition: DBlmapReader.cc:9
int iy() const
Definition: EEDetId.h:77
bool EEDetId::isOuterRing ( ) const
private

Definition at line 536 of file EEDetId.cc.

References isOuterRingXY(), ix(), IX_MAX, iy(), and IY_MAX.

Referenced by iPhiOuterRing().

537 {
538  const int kx ( ix() ) ;
539  const int ky ( iy() ) ;
540  const int ax ( kx>IX_MAX/2 ? kx-IX_MAX/2 : IX_MAX/2 + 1 - kx ) ;
541  const int ay ( ky>IY_MAX/2 ? ky-IY_MAX/2 : IY_MAX/2 + 1 - ky ) ;
542  return ( isOuterRingXY( ax, ay ) ||
543  isOuterRingXY( ay, ax ) ) ;
544 }
int ix() const
Definition: EEDetId.h:71
static bool isOuterRingXY(int ax, int ay)
Definition: EEDetId.cc:547
int iy() const
Definition: EEDetId.h:77
static const int IX_MAX
Definition: EEDetId.h:279
static const int IY_MAX
Definition: EEDetId.h:283
bool EEDetId::isOuterRingXY ( int  ax,
int  ay 
)
staticprivate

Definition at line 547 of file EEDetId.cc.

Referenced by isOuterRing().

548 {
549  return ( ( ax<=10 && ay==50 ) ||
550  ( ax==10 && ay>=48 ) ||
551  ( ax<=15 && ax>=11 && ay==47 ) ||
552  ( ax==15 && ay==46 ) ||
553  ( ax<=25 && ax>=16 && ay==45 ) ||
554  ( ax==25 && ay<=44 && ay>=43 ) ||
555  ( ax<=30 && ax>=26 && ay==42 ) ||
556  ( ax==30 && ay<=41 && ay>=38 ) ||
557  ( ax<=35 && ax>=31 && ay==37 ) ||
558  ( ax==35 && ay==36 ) ) ;
559 }
int EEDetId::ix ( ) const
inline

Gets the crystal x-index.

See Also
EEDetId(int, int, int, int) for x-index definition
Returns
x-index

Definition at line 71 of file EEDetId.h.

References DetId::id_.

Referenced by JetToDigiDump::analyze(), EEClusterTask::analyze(), EECosmicTask::analyze(), EELaserTask::analyze(), EELedTask::analyze(), EEPedestalOnlineTask::analyze(), EEPedestalTask::analyze(), EEStatusFlagsTask::analyze(), EETestPulseTask::analyze(), EcalEndcapMonitorModule::analyze(), EEIntegrityTask::analyze(), EEClusterTaskExtras::analyze(), DQMSourceEleCalib::analyze(), EEOccupancyTask::analyze(), EETimingTask::analyze(), EcalEndcapDigisValidation::analyze(), EcalEndcapSimHitsValidation::analyze(), EcalEndcapRecHitsValidation::analyze(), HLTAlCaMonPi0::analyze(), DQMSourcePi0::analyze(), PhiSymmetryCalibration::analyze(), EcalRecHitsValidation::analyze(), EESelectiveReadoutTask::analyze(), EcalDigisValidation::analyze(), HLTAlCa::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcnaAnalyzer::analyze(), EcalSelectiveReadoutValidation::analyzeEE(), HLTEcalResonanceFilter::calcShowerShape(), EcalTrigTowerConstituentsMap::changeEEDetIdQuadrantAndZ(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EESelectiveReadoutTask::dccNum(), distanceX(), popcon::EcalLaserHandler::dumpEndcapPayload(), InvRingCalib::duringLoop(), ZeeCalibration::duringLoop(), EEDetId(), PhiSymmetryCalibration_step2::endJob(), PhiSymmetryCalibration_step2_SM::endJob(), ElectronCalibrationUniv::endJob(), EcalEleCalibLooper::endOfLoop(), ZeeCalibration::endOfLoop(), AlCaElectronsTest::fillAroundEndcap(), DQMSourceEleCalib::fillAroundEndcap(), MatrixFillMap::fillEEMap(), ecaldqm::fillME(), HLTPi0RecHitsFilter::filter(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestEndcapCells(), EcalElectronicsMapping::getDCCandSC(), EcalElectronicsMapping::getEcalScDetId(), EcalElectronicsMapping::getLMNumber(), EcalClusterTools::getNormedIX(), EcalRingCalibrationTools::getRingIndex(), hashedIndex(), ecalpyutils::hashedIndexToXY(), DetIdInfo::info(), fireworks::info(), EcalRingCalibrationTools::initializeFromGeometry(), EcalEndcapGeometry::initializeParms(), iPhiOuterRing(), iquadrant(), isc(), isNextToRingBoundary(), isOuterRing(), ixQuadrantOne(), popcon::EcalChannelStatusHandler::laserAnalysis(), EcalDisplaysByEvent::makeHistos(), popcon::EcalChannelStatusHandler::nBadLaserModules(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), popcon::EcalChannelStatusHandler::pedAnalysis(), EETriggerTowerTask::processDigis(), EcalShowerProperties::processEcalRecHits(), AlCaIsoTracksProducer::produce(), AlCaElectronsProducer::produce(), EESelectiveReadoutTask::readOutUnitOf(), EcalRecHitWorkerRecover::run(), sc(), EcalGeomPhiSymHelper::setup(), EcalSelectiveReadoutValidation::superCrystalOf(), switchZSide(), unhashIndex(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), EcalTrigTowerConstituentsMap::wrapEEDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

71 { return (id_>>7)&0x7F; }
uint32_t id_
Definition: DetId.h:57
int EEDetId::ix ( int  iSC,
int  iCrys 
) const
private

Definition at line 133 of file EEDetId.cc.

References cmsCodeRules.cppFunctionSkipper::exception, nCols, and QuadColLimits.

134 {
135  /*
136  * ix() return individual crystal x-coordinate
137  *
138  * Author : B W Kennedy
139  * Version : 1.00
140  * Created : 21 December 2005
141  * Last Mod : 31 January 2006
142  *
143  * Input : iSC, iCrys - Supercrystal and crystal ids
144  */
145 
146 
147  int nSCinQuadrant = QuadColLimits[nCols];
148 
149  if (iSC > 4*nSCinQuadrant || iSC < 1)
150  {
151  throw new std::exception();
152  }
153 
154  // Map SC number into (x>0,y>0) quadrant.
155  int iSCmap, iqx,iq;
156  if (iSC > 3*nSCinQuadrant)
157  {
158  iSCmap = iSC - 3*nSCinQuadrant;
159  iqx = 1;
160  iq=4;
161  }
162  else if (iSC > 2*nSCinQuadrant)
163  {
164  iSCmap = iSC - 2*nSCinQuadrant;
165  iqx = -1;
166  iq=3;
167  }
168  else if (iSC > nSCinQuadrant)
169  {
170  iSCmap = iSC - nSCinQuadrant;
171  iqx = -1;
172  iq=2;
173  }
174  else
175  {
176  iSCmap = iSC;
177  iqx = 1;
178  iq=1;
179  }
180 
181  // Decide which column the SC is in
182  int iCol = 0 ;
183  while (iSCmap > QuadColLimits[iCol++]) ;
184  iCol-- ;
185 
186  int ixCrys=-1;
187  if (iq == 1 || iq == 3)
188  ixCrys = iqx*(5*(iCol-1) + (int)(iCrys+4)/5);
189  else if (iq == 2 || iq == 4)
190  ixCrys = iqx*(5*(iCol-1) + (iCrys-1)%5 + 1);
191 
192  // returning a value from 1 to 100
193 
194  return ixCrys;
195 }
static const int nCols
Definition: EEDetId.h:328
static const int QuadColLimits[nCols+1]
Definition: EEDetId.h:330
int EEDetId::ixQuadrantOne ( ) const
private

Definition at line 257 of file EEDetId.cc.

References iquadrant(), and ix().

Referenced by ic().

258 {
259  int iQuadrant = iquadrant();
260  if ( iQuadrant == 1 || iQuadrant == 4)
261  return (ix() - 50);
262  else if ( iQuadrant == 2 || iQuadrant == 3)
263  return (51 - ix());
264  //Should never be reached
265  return -1;
266 }
int ix() const
Definition: EEDetId.h:71
int iquadrant() const
Definition: EEDetId.cc:280
int EEDetId::iy ( ) const
inline

Get the crystal y-index

See Also
EEDetId(int, int, int, int) for y-index definition.
Returns
y-index

Definition at line 77 of file EEDetId.h.

References DetId::id_.

Referenced by JetToDigiDump::analyze(), EEClusterTask::analyze(), EEClusterTaskExtras::analyze(), DQMSourceEleCalib::analyze(), EcalEndcapDigisValidation::analyze(), EcalEndcapSimHitsValidation::analyze(), EcalEndcapRecHitsValidation::analyze(), HLTAlCaMonPi0::analyze(), DQMSourcePi0::analyze(), PhiSymmetryCalibration::analyze(), EcalRecHitsValidation::analyze(), EcalDigisValidation::analyze(), HLTAlCa::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcalSelectiveReadoutValidation::analyzeEE(), HLTEcalResonanceFilter::calcShowerShape(), EcalTrigTowerConstituentsMap::changeEEDetIdQuadrantAndZ(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EESelectiveReadoutTask::dccNum(), distanceY(), popcon::EcalLaserHandler::dumpEndcapPayload(), InvRingCalib::duringLoop(), ZeeCalibration::duringLoop(), EEDetId(), PhiSymmetryCalibration_step2::endJob(), PhiSymmetryCalibration_step2_SM::endJob(), ElectronCalibrationUniv::endJob(), EcalEleCalibLooper::endOfLoop(), ZeeCalibration::endOfLoop(), AlCaElectronsTest::fillAroundEndcap(), DQMSourceEleCalib::fillAroundEndcap(), MatrixFillMap::fillEEMap(), ecaldqm::fillME(), HLTPi0RecHitsFilter::filter(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestEndcapCells(), EcalElectronicsMapping::getEcalScDetId(), EcalClusterTools::getNormedIY(), EcalRingCalibrationTools::getRingIndex(), hashedIndex(), ecalpyutils::hashedIndexToXY(), DetIdInfo::info(), fireworks::info(), EcalRingCalibrationTools::initializeFromGeometry(), EcalEndcapGeometry::initializeParms(), iPhiOuterRing(), iquadrant(), isc(), isNextToRingBoundary(), isOuterRing(), iyQuadrantOne(), popcon::EcalChannelStatusHandler::laserAnalysis(), EcalDisplaysByEvent::makeHistos(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), popcon::EcalChannelStatusHandler::pedAnalysis(), EcalShowerProperties::processEcalRecHits(), AlCaIsoTracksProducer::produce(), AlCaElectronsProducer::produce(), EESelectiveReadoutTask::readOutUnitOf(), EcalRecHitWorkerRecover::run(), sc(), EcalGeomPhiSymHelper::setup(), EcalSelectiveReadoutValidation::superCrystalOf(), switchZSide(), unhashIndex(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), EcalTrigTowerConstituentsMap::wrapEEDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

77 { return id_&0x7F; }
uint32_t id_
Definition: DetId.h:57
int EEDetId::iy ( int  iSC,
int  iCrys 
) const
private

Definition at line 197 of file EEDetId.cc.

References cmsCodeRules.cppFunctionSkipper::exception, iYoffset, nCols, and QuadColLimits.

198 {
199  /*
200  * iy() return individual crystal y-coordinate
201  *
202  * Author : B W Kennedy
203  * Version : 1.00
204  * Created : 21 December 2005
205  * Last Mod : 31 January 2006
206  *
207  * Input : iSC, iCrys - Supercrystal and crystal ids
208  */
209 
210  int nSCinQuadrant = QuadColLimits[nCols];
211  if (iSC > 4*nSCinQuadrant || iSC < 1)
212  {
213  throw new std::exception();
214  }
215 
216  // Map SC number into (x>0,y>0) quadrant
217  int iSCmap, iqy,iq;
218  if (iSC > 3*nSCinQuadrant)
219  {
220  iSCmap = iSC - 3*nSCinQuadrant;
221  iqy = -1;
222  iq=4;
223  }
224  else if (iSC > 2*nSCinQuadrant)
225  {
226  iSCmap = iSC - 2*nSCinQuadrant;
227  iqy = -1;
228  iq=3;
229  }
230  else if (iSC > nSCinQuadrant)
231  {
232  iSCmap = iSC - nSCinQuadrant;
233  iqy = 1;
234  iq=2;
235  } else
236  {
237  iSCmap = iSC;
238  iqy = 1;
239  iq=1;
240  }
241 
242  // Decide which column the SC is in
243  int iCol = 0;
244  while (iSCmap > QuadColLimits[iCol++]) ;
245  iCol--;
246 
247  int iSCy = iSCmap - QuadColLimits[iCol-1] + iYoffset[iCol];
248 
249  int iyCrys=-1;
250  if (iq == 1 || iq == 3)
251  iyCrys = iqy*(5*(iSCy-1) + (iCrys-1)%5 + 1);
252  else if (iq == 2 || iq == 4)
253  iyCrys = iqy*(5*(iSCy-1) + (int)(iCrys+4)/5 );
254  return iyCrys;
255 }
static const int iYoffset[nCols+1]
Definition: EEDetId.h:331
static const int nCols
Definition: EEDetId.h:328
static const int QuadColLimits[nCols+1]
Definition: EEDetId.h:330
int EEDetId::iyQuadrantOne ( ) const
private

Definition at line 268 of file EEDetId.cc.

References iquadrant(), and iy().

Referenced by ic().

269 {
270  int iQuadrant = iquadrant();
271  if ( iQuadrant == 1 || iQuadrant == 2)
272  return (iy() - 50);
273  else if ( iQuadrant == 3 || iQuadrant == 4)
274  return 51 - iy();
275  //Should never be reached
276  return -1;
277 }
int iquadrant() const
Definition: EEDetId.cc:280
int iy() const
Definition: EEDetId.h:77
EEDetId EEDetId::offsetBy ( int  nrStepsX,
int  nrStepsY 
) const

returns a new EEDetId offset by nrStepsX and nrStepsY (can be negative), returns EEDetId(0) if invalid

Definition at line 490 of file EEDetId.cc.

References EEDetId(), ix(), iy(), validDetId(), and zside().

Referenced by EcalCleaningAlgo::neighbours(), offsetBy(), and EcalTools::recHitE().

491 {
492  int newX = ix() + nrStepsX;
493  int newY = iy() + nrStepsY;
494 
495  if( validDetId( newX, newY, zside() ) ) {
496  return EEDetId( newX, newY, zside() );
497  } else {
498  return EEDetId(0);
499  }
500 }
int ix() const
Definition: EEDetId.h:71
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.cc:562
int zside() const
Definition: EEDetId.h:65
int iy() const
Definition: EEDetId.h:77
EEDetId()
Definition: EEDetId.h:26
DetId EEDetId::offsetBy ( const DetId  startId,
int  nrStepsX,
int  nrStepsY 
)
static

following are static member functions of the above two functions which take and return a DetId, returns DetId(0) if invalid

Definition at line 514 of file EEDetId.cc.

References DetId::det(), DetId::DetId(), DetId::Ecal, EcalEndcap, offsetBy(), DetId::rawId(), and DetId::subdetId().

515 {
516  if( startId.det() == DetId::Ecal && startId.subdetId() == EcalEndcap ) {
517  EEDetId eeStartId( startId );
518  return eeStartId.offsetBy( nrStepsX, nrStepsY ).rawId();
519  } else {
520  return DetId(0);
521  }
522 }
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:28
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
Detector det() const
get the detector field from this detid
Definition: DetId.h:37
EEDetId & EEDetId::operator= ( const DetId id)

Assignment operator

Parameters
idsource det id

Definition at line 104 of file EEDetId.cc.

References DetId::det(), DetId::Ecal, EcalEndcap, edm::hlt::Exception, DetId::id_, DetId::null(), DetId::rawId(), and DetId::subdetId().

105 {
106  if (!gen.null() && ( gen.det()!=Ecal || gen.subdetId()!=EcalEndcap ))
107  {
108  throw cms::Exception("InvalidDetId");
109  }
110  id_ = gen.rawId();
111  return *this;
112 }
uint32_t id_
Definition: DetId.h:57
bool EEDetId::positiveZ ( ) const
inline

Checks if crystal is in EE+

Returns
true for EE+, false for EE-

Definition at line 168 of file EEDetId.h.

References DetId::id_.

168 { return id_&0x4000;}
uint32_t id_
Definition: DetId.h:57
EcalScDetId EEDetId::sc ( ) const
inline

Gets the DetId of the supercrystal the crystal belong to.

Returns
the supercrystal det id
Exceptions
cms::Exceptionif the crystal det id is invalid

Definition at line 83 of file EEDetId.h.

References ix(), iy(), and zside().

83  {
84  const int scEdge = 5;
85  return EcalScDetId(1+(ix()-1)/scEdge, 1+(iy()-1)/scEdge, zside());
86  }
int ix() const
Definition: EEDetId.h:71
int zside() const
Definition: EEDetId.h:65
int iy() const
Definition: EEDetId.h:77
static EcalSubdetector EEDetId::subdet ( )
inlinestatic

Gets the subdetector

Returns
subdetectot ID, that is EcalEndcap

Definition at line 60 of file EEDetId.h.

References EcalEndcap.

60 { return EcalEndcap;}
EEDetId EEDetId::switchZSide ( ) const

returns a new EEDetId swapped (same iX, iY) to the other endcap, returns EEDetId(0) if invalid (shouldnt happen)

Definition at line 503 of file EEDetId.cc.

References EEDetId(), ix(), iy(), validDetId(), and zside().

Referenced by switchZSide().

504 {
505  int newZSide = -1 * zside();
506  if( validDetId(ix(), iy(), newZSide ) ) {
507  return EEDetId( ix(), iy(), newZSide );
508  } else {
509  return EEDetId(0);
510  }
511 }
int ix() const
Definition: EEDetId.h:71
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.cc:562
int zside() const
Definition: EEDetId.h:65
int iy() const
Definition: EEDetId.h:77
EEDetId()
Definition: EEDetId.h:26
DetId EEDetId::switchZSide ( const DetId  startId)
static

Definition at line 525 of file EEDetId.cc.

References DetId::det(), DetId::DetId(), DetId::Ecal, EcalEndcap, DetId::rawId(), DetId::subdetId(), and switchZSide().

526 {
527  if( startId.det() == DetId::Ecal && startId.subdetId() == EcalEndcap ) {
528  EEDetId eeStartId(startId);
529  return eeStartId.switchZSide().rawId();
530  } else {
531  return DetId(0);
532  }
533 }
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:28
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
Detector det() const
get the detector field from this detid
Definition: DetId.h:37
EEDetId EEDetId::unhashIndex ( int  hi)
static

Gets a DetId from a compact index for arrays. Converse of hashedIndex() method.

Parameters
hidense/hashed index
Returns
det id

Definition at line 115 of file EEDetId.cc.

References EEDetId(), ix(), iy(), IY_MAX, kdi, kEEhalf, kxf, and validHashIndex().

Referenced by detIdFromDenseIndex(), popcon::EcalLaserHandler::dumpEndcapPayload(), EcalPedestalsXMLTranslator::dumpXML(), EcalChannelStatusXMLTranslator::dumpXML(), EcalLaserAPDPNRatiosXMLTranslator::dumpXML(), EcalGainRatiosXMLTranslator::dumpXML(), EcalFloatCondObjectContainerXMLTranslator::dumpXML(), EcalWeightGroupXMLTranslator::dumpXML(), EcalElectronicsMappingBuilder::FillFromDatabase(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), ecalpyutils::hashedIndexToXY(), CalorimetryManager::loadFromEcalEndcap(), main(), popcon::EcalLaserHandler::notifyProblems(), printStatusRecords(), EcalEndcapRecHitsMaker::randomNoisifier(), and StoreEcalCondition::readEcalChannelStatusFromFile().

116 {
117  if( validHashIndex( hi ) )
118  {
119  const int iz ( hi<kEEhalf ? -1 : 1 ) ;
120  const uint32_t di ( hi%kEEhalf ) ;
121  const int ii ( ( std::upper_bound( kdi, kdi+(2*IY_MAX), di ) - kdi ) - 1 ) ;
122  const int iy ( 1 + ii/2 ) ;
123  const int ix ( kxf[ii] + di - kdi[ii] ) ;
124  return EEDetId( ix, iy, iz ) ;
125  }
126  else
127  {
128  return EEDetId() ;
129  }
130 }
int ix() const
Definition: EEDetId.h:71
static bool validHashIndex(int i)
Definition: EEDetId.h:234
int iy() const
Definition: EEDetId.h:77
static const unsigned short kxf[2 *IY_MAX]
Definition: EEDetId.h:333
static const int IY_MAX
Definition: EEDetId.h:283
static const unsigned short kdi[2 *IY_MAX]
Definition: EEDetId.h:334
EEDetId()
Definition: EEDetId.h:26
static bool EEDetId::validDenseIndex ( uint32_t  din)
inlinestatic

Checks validity of a dense/hashed index

Parameters
dindense/hashed index as returned by hashedIndex() or denseIndex() method
Returns
true if index is valid, false otherwise

Definition at line 208 of file EEDetId.h.

References validHashIndex().

Referenced by EcalTPSkimmer::produce().

208 { return validHashIndex( din ) ; }
static bool validHashIndex(int i)
Definition: EEDetId.h:234
bool EEDetId::validDetId ( int  crystal_ix,
int  crystal_iy,
int  iz 
)
static

Checks validity of a crystal (x,y.z) index triplet.

Parameters
crystal_ixcrystal x-index
crystal_iycrystal y-index
izcrystal z-index
See Also
EEDetId(int, int, int, int) for index definition
Returns
true if valid, false otherwise

Definition at line 562 of file EEDetId.cc.

References abs, IX_MAX, IY_MAX, and TrackValidation_HighPurity_cff::valid.

Referenced by EECosmicTask::analyze(), EcalGetLaserData::analyze(), EETimingClient::analyze(), EcalCosmicsHists::analyze(), EcalDQMStatusReader::beginRun(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EcalEndcapHardcodedTopology::decrementIx(), EcalEndcapTopology::decrementIx(), EcalEndcapHardcodedTopology::decrementIy(), EcalEndcapTopology::decrementIy(), EcalEleCalibLooper::EcalEleCalibLooper(), EEDetId(), EcalEleCalibLooper::EERegionDefinition(), InvRingCalib::EERingDef(), ZeeCalibration::endOfJob(), EcalSimHitsValidProducer::energyInEEMatrix(), EcalEndcapSimHitsValidation::energyInMatrixEE(), spr::extraIds(), PhiSymmetryCalibration_step2::fillConstantsHistos(), PhiSymmetryCalibration_step2_SM::fillConstantsHistos(), MatrixFillMap::fillEEMap(), EcalSimHitsValidProducer::fillEEMatrix(), EcalEndcapSimHitsValidation::fillEEMatrix(), EcalRecHitsValidation::findEndcapMatrix(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), MiscalibReaderFromXMLEcalEndcap::getCellFromAttributes(), EcalEndcapGeometry::getCells(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestEndcapCells(), EcalElectronicsMapping::getDCCandSC(), EcalRingCalibrationTools::getDetIdsInECAL(), EcalEndcapSimHitsValidation::getIdsAroundMax(), popcon::EcalIntercalibHandler::getNewObjects(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), EcalEndcapNumberingScheme::getUnitID(), EcalEndcapGeometry::gId(), ecalpyutils::hashedIndexEE(), Numbers::icEE(), NumbersPn::iLM(), EcalEndcapHardcodedTopology::incrementIx(), EcalEndcapTopology::incrementIx(), EcalEndcapHardcodedTopology::incrementIy(), EcalEndcapTopology::incrementIy(), Numbers::indexEE(), Numbers::iSC(), isNextToRingBoundary(), Numbers::iTCC(), Numbers::iTT(), popcon::EcalChannelStatusHandler::laserAnalysis(), popcon::EcalChannelStatusHandler::laserMasking(), popcon::EcalChannelStatusHandler::nBadLaserModules(), offsetBy(), popcon::EcalChannelStatusHandler::pedAnalysis(), popcon::EcalChannelStatusHandler::pedMasking(), popcon::EcalChannelStatusHandler::pedOnlineMasking(), popcon::EcalChannelStatusHandler::physicsMasking(), cond::PayLoadInspector< DataT >::plot(), CaloMiscalibMapEcal::print(), EcalRecHitProducer::produce(), EcalDetIdToBeRecoveredProducer::produce(), AlCaElectronsProducer::produce(), EcalTrivialConditionRetriever::produceEcalChannelStatus(), EcalTrivialConditionRetriever::produceEcalDQMChannelStatus(), EcalTrivialConditionRetriever::produceEcalGainRatios(), EcalTrivialConditionRetriever::produceEcalIntercalibConstants(), EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC(), EcalTrivialConditionRetriever::produceEcalIntercalibErrors(), EcalTrivialConditionRetriever::produceEcalLaserAlphas(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::produceEcalPedestals(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), EcalDQMStatusWriter::readEcalDQMChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), EcalRecHitWorkerRecover::run(), EcalSelectiveReadout::runSelectiveReadout0(), switchZSide(), CaloGenericDetId::validDetId(), and Numbers::validEE().

563 {
564  bool valid = false;
565  if (crystal_ix < IX_MIN || crystal_ix > IX_MAX ||
566  crystal_iy < IY_MIN || crystal_iy > IY_MAX || abs(iz) != 1 )
567  {
568  return valid ;
569  }
570  if ( (crystal_ix >= 1 && crystal_ix <= 3 && (crystal_iy <= 40 || crystal_iy > 60) ) ||
571  (crystal_ix >= 4 && crystal_ix <= 5 && (crystal_iy <= 35 || crystal_iy > 65) ) ||
572  (crystal_ix >= 6 && crystal_ix <= 8 && (crystal_iy <= 25 || crystal_iy > 75) ) ||
573  (crystal_ix >= 9 && crystal_ix <= 13 && (crystal_iy <= 20 || crystal_iy > 80) ) ||
574  (crystal_ix >= 14 && crystal_ix <= 15 && (crystal_iy <= 15 || crystal_iy > 85) ) ||
575  (crystal_ix >= 16 && crystal_ix <= 20 && (crystal_iy <= 13 || crystal_iy > 87) ) ||
576  (crystal_ix >= 21 && crystal_ix <= 25 && (crystal_iy <= 8 || crystal_iy > 92) ) ||
577  (crystal_ix >= 26 && crystal_ix <= 35 && (crystal_iy <= 5 || crystal_iy > 95) ) ||
578  (crystal_ix >= 36 && crystal_ix <= 39 && (crystal_iy <= 3 || crystal_iy > 97) ) ||
579  (crystal_ix >= 98 && crystal_ix <= 100 && (crystal_iy <= 40 || crystal_iy > 60) ) ||
580  (crystal_ix >= 96 && crystal_ix <= 97 && (crystal_iy <= 35 || crystal_iy > 65) ) ||
581  (crystal_ix >= 93 && crystal_ix <= 95 && (crystal_iy <= 25 || crystal_iy > 75) ) ||
582  (crystal_ix >= 88 && crystal_ix <= 92 && (crystal_iy <= 20 || crystal_iy > 80) ) ||
583  (crystal_ix >= 86 && crystal_ix <= 87 && (crystal_iy <= 15 || crystal_iy > 85) ) ||
584  (crystal_ix >= 81 && crystal_ix <= 85 && (crystal_iy <= 13 || crystal_iy > 87) ) ||
585  (crystal_ix >= 76 && crystal_ix <= 80 && (crystal_iy <= 8 || crystal_iy > 92) ) ||
586  (crystal_ix >= 66 && crystal_ix <= 75 && (crystal_iy <= 5 || crystal_iy > 95) ) ||
587  (crystal_ix >= 62 && crystal_ix <= 65 && (crystal_iy <= 3 || crystal_iy > 97) ) ||
588  ( (crystal_ix == 40 || crystal_ix == 61) && ( (crystal_iy >= 46 && crystal_iy <= 55 ) || crystal_iy <= 3 || crystal_iy > 97 )) ||
589  ( (crystal_ix == 41 || crystal_ix == 60) && crystal_iy >= 44 && crystal_iy <= 57 ) ||
590  ( (crystal_ix == 42 || crystal_ix == 59) && crystal_iy >= 43 && crystal_iy <= 58 ) ||
591  ( (crystal_ix == 43 || crystal_ix == 58) && crystal_iy >= 42 && crystal_iy <= 59 ) ||
592  ( (crystal_ix == 44 || crystal_ix == 45 || crystal_ix == 57 || crystal_ix == 56) && crystal_iy >= 41 && crystal_iy <= 60 ) ||
593  ( crystal_ix >= 46 && crystal_ix <= 55 && crystal_iy >= 40 && crystal_iy <= 61 )
594  )
595  {
596  return valid;
597  }
598  valid = true;
599  return valid;
600 }
#define abs(x)
Definition: mlp_lapack.h:159
static const int IX_MAX
Definition: EEDetId.h:279
static const int IY_MAX
Definition: EEDetId.h:283
static bool EEDetId::validHashIndex ( int  i)
inlinestatic
int EEDetId::zside ( ) const
inline

Gets the z-side of the crystal (1/-1)

Returns
-1 for EE-, +1 for EE+

Definition at line 65 of file EEDetId.h.

References DetId::id_.

Referenced by EcalPreshowerRecHitsValidation::analyze(), EcalEndcapDigisValidation::analyze(), EcalEndcapSimHitsValidation::analyze(), EcalEndcapRecHitsValidation::analyze(), PhiSymmetryCalibration::analyze(), EcalRecHitsValidation::analyze(), EcalDigisValidation::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcalSelectiveReadoutValidation::analyzeEE(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EESelectiveReadoutTask::dccNum(), popcon::EcalLaserHandler::dumpEndcapPayload(), InvRingCalib::duringLoop(), ZeeCalibration::duringLoop(), InvRingCalib::EERegId(), InvRingCalib::EERegionDef(), InvRingCalib::EERingDef(), PhiSymmetryCalibration_step2::endJob(), PhiSymmetryCalibration_step2_SM::endJob(), ElectronCalibrationUniv::endJob(), EcalEleCalibLooper::endOfLoop(), ZeeCalibration::endOfLoop(), MatrixFillMap::fillEEMap(), ECALRecHitAnalyzer::FillGeometry(), ecaldqm::fillME(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalElectronicsMapping::getEcalScDetId(), EcalRingCalibrationTools::getRingIndex(), hashedIndex(), ecalpyutils::hashedIndexToXY(), EcalRingCalibrationTools::initializeFromGeometry(), isNextToRingBoundary(), popcon::EcalChannelStatusHandler::laserAnalysis(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), popcon::EcalChannelStatusHandler::pedAnalysis(), EcalShowerProperties::processEcalRecHits(), EESelectiveReadoutTask::readOutUnitOf(), EcalRecHitWorkerRecover::run(), sc(), EcalEndcapRecHitsMaker::SChashedIndex(), EcalGeomPhiSymHelper::setup(), EcalSelectiveReadoutValidation::superCrystalOf(), switchZSide(), EcalTrigTowerConstituentsMap::towerOf(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

65 { return (id_&0x4000)?(1):(-1); }
uint32_t id_
Definition: DetId.h:57

Member Data Documentation

const int EEDetId::ICR_MAX =25
static

Upper bound of crystal index within a supercrystal

Definition at line 301 of file EEDetId.h.

const int EEDetId::ICR_MIN =1
static

Lower bound of crystal index within a supercrystal

Definition at line 291 of file EEDetId.h.

const int EEDetId::ISC_MAX =316
static

Upper bound of supercystal index defined in isc()

Beware it differs from the number of supercrystals in one endcap, which is 312, because the numbering is not dense.

Definition at line 297 of file EEDetId.h.

Referenced by isc().

const int EEDetId::ISC_MIN =1
static

Lower bound of supercystal index as defined in isc()

Definition at line 287 of file EEDetId.h.

const int EEDetId::IX_MAX =100
static

Upper bound of EE crystal y-index

Definition at line 279 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), ZeeCalibration::endOfJob(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalRingCalibrationTools::getDetIdsInECAL(), EcalRingCalibrationTools::getDetIdsInRing(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), idOuterRing(), EcalRingCalibrationTools::initializeFromGeometry(), iPhiOuterRing(), isOuterRing(), cond::PayLoadInspector< DataT >::plot(), CaloMiscalibMapEcal::prefillMap(), CaloMiscalibMapEcal::print(), EcalTrivialConditionRetriever::produceEcalChannelStatus(), EcalTrivialConditionRetriever::produceEcalDQMChannelStatus(), EcalTrivialConditionRetriever::produceEcalGainRatios(), EcalTrivialConditionRetriever::produceEcalIntercalibConstants(), EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC(), EcalTrivialConditionRetriever::produceEcalIntercalibErrors(), EcalTrivialConditionRetriever::produceEcalLaserAlphas(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::produceEcalPedestals(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), and validDetId().

const int EEDetId::IX_MIN =1
static

Lower bound of EE crystal x-index

Definition at line 271 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), ZeeCalibration::endOfJob(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), CaloMiscalibMapEcal::prefillMap(), CaloMiscalibMapEcal::print(), EcalTrivialConditionRetriever::produceEcalChannelStatus(), EcalTrivialConditionRetriever::produceEcalDQMChannelStatus(), EcalTrivialConditionRetriever::produceEcalGainRatios(), EcalTrivialConditionRetriever::produceEcalIntercalibConstants(), EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC(), EcalTrivialConditionRetriever::produceEcalIntercalibErrors(), EcalTrivialConditionRetriever::produceEcalLaserAlphas(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::produceEcalPedestals(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), and StoreEcalCondition::readEcalIntercalibConstantsMCFromFile().

const int EEDetId::IY_MAX =100
static

Upper bound of EE crystal y-index

Definition at line 283 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), ZeeCalibration::endOfJob(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalRingCalibrationTools::getDetIdsInECAL(), EcalRingCalibrationTools::getDetIdsInRing(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), idOuterRing(), EcalRingCalibrationTools::initializeFromGeometry(), iPhiOuterRing(), isOuterRing(), cond::PayLoadInspector< DataT >::plot(), CaloMiscalibMapEcal::prefillMap(), CaloMiscalibMapEcal::print(), EcalTrivialConditionRetriever::produceEcalChannelStatus(), EcalTrivialConditionRetriever::produceEcalDQMChannelStatus(), EcalTrivialConditionRetriever::produceEcalGainRatios(), EcalTrivialConditionRetriever::produceEcalIntercalibConstants(), EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC(), EcalTrivialConditionRetriever::produceEcalIntercalibErrors(), EcalTrivialConditionRetriever::produceEcalLaserAlphas(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::produceEcalPedestals(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), unhashIndex(), and validDetId().

const int EEDetId::IY_MIN =1
static

Lower bound of EE crystal y-index

Definition at line 275 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), ZeeCalibration::endOfJob(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), CaloMiscalibMapEcal::prefillMap(), CaloMiscalibMapEcal::print(), EcalTrivialConditionRetriever::produceEcalChannelStatus(), EcalTrivialConditionRetriever::produceEcalDQMChannelStatus(), EcalTrivialConditionRetriever::produceEcalGainRatios(), EcalTrivialConditionRetriever::produceEcalIntercalibConstants(), EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC(), EcalTrivialConditionRetriever::produceEcalIntercalibErrors(), EcalTrivialConditionRetriever::produceEcalLaserAlphas(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::produceEcalPedestals(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), and StoreEcalCondition::readEcalIntercalibConstantsMCFromFile().

const int EEDetId::iYoffset = { 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0 }
staticprivate

Definition at line 331 of file EEDetId.h.

Referenced by isc(), and iy().

const unsigned short EEDetId::kdi
staticprivate
Initial value:
= {
0, 10, 20, 30, 40, 50, 60, 75, 90, 105,
120, 145, 170, 195, 220, 245, 270, 300, 330, 360,
390, 420, 450, 480, 510, 540, 570, 605, 640, 675,
710, 747, 784, 821, 858, 895, 932, 969, 1006, 1043,
1080, 1122, 1164, 1206, 1248, 1290, 1332, 1374, 1416, 1458,
1500, 1545, 1590, 1635, 1680, 1725, 1770, 1815, 1860, 1905,
1950, 1995, 2040, 2085, 2130, 2175, 2220, 2265, 2310, 2355,
2400, 2447, 2494, 2541, 2588, 2635, 2682, 2729, 2776, 2818,
2860, 2903, 2946, 2988, 3030, 3071, 3112, 3152, 3192, 3232,
3272, 3311, 3350, 3389, 3428, 3467, 3506, 3545, 3584, 3623,
3662, 3701, 3740, 3779, 3818, 3857, 3896, 3935, 3974, 4013,
4052, 4092, 4132, 4172, 4212, 4253, 4294, 4336, 4378, 4421,
4464, 4506, 4548, 4595, 4642, 4689, 4736, 4783, 4830, 4877,
4924, 4969, 5014, 5059, 5104, 5149, 5194, 5239, 5284, 5329,
5374, 5419, 5464, 5509, 5554, 5599, 5644, 5689, 5734, 5779,
5824, 5866, 5908, 5950, 5992, 6034, 6076, 6118, 6160, 6202,
6244, 6281, 6318, 6355, 6392, 6429, 6466, 6503, 6540, 6577,
6614, 6649, 6684, 6719, 6754, 6784, 6814, 6844, 6874, 6904,
6934, 6964, 6994, 7024, 7054, 7079, 7104, 7129, 7154, 7179,
7204, 7219, 7234, 7249, 7264, 7274, 7284, 7294, 7304, 7314
}

Definition at line 334 of file EEDetId.h.

Referenced by hashedIndex(), and unhashIndex().

const unsigned short EEDetId::kxf
staticprivate
Initial value:
= {
41, 51, 41, 51, 41, 51, 36, 51, 36, 51,
26, 51, 26, 51, 26, 51, 21, 51, 21, 51,
21, 51, 21, 51, 21, 51, 16, 51, 16, 51,
14, 51, 14, 51, 14, 51, 14, 51, 14, 51,
9, 51, 9, 51, 9, 51, 9, 51, 9, 51,
6, 51, 6, 51, 6, 51, 6, 51, 6, 51,
6, 51, 6, 51, 6, 51, 6, 51, 6, 51,
4, 51, 4, 51, 4, 51, 4, 51, 4, 56,
1, 58, 1, 59, 1, 60, 1, 61, 1, 61,
1, 62, 1, 62, 1, 62, 1, 62, 1, 62,
1, 62, 1, 62, 1, 62, 1, 62, 1, 62,
1, 61, 1, 61, 1, 60, 1, 59, 1, 58,
4, 56, 4, 51, 4, 51, 4, 51, 4, 51,
6, 51, 6, 51, 6, 51, 6, 51, 6, 51,
6, 51, 6, 51, 6, 51, 6, 51, 6, 51,
9, 51, 9, 51, 9, 51, 9, 51, 9, 51,
14, 51, 14, 51, 14, 51, 14, 51, 14, 51,
16, 51, 16, 51, 21, 51, 21, 51, 21, 51,
21, 51, 21, 51, 26, 51, 26, 51, 26, 51,
36, 51, 36, 51, 41, 51, 41, 51, 41, 51
}

Definition at line 333 of file EEDetId.h.

Referenced by hashedIndex(), and unhashIndex().

const int EEDetId::nCols = 10
staticprivate

Definition at line 328 of file EEDetId.h.

Referenced by ix(), and iy().

const int EEDetId::nCrys = 5
staticprivate

Definition at line 329 of file EEDetId.h.

Referenced by ic(), and isc().

const int EEDetId::QuadColLimits = { 0, 8,17,27,36,45,54,62,70,76,79 }
staticprivate

Definition at line 330 of file EEDetId.h.

Referenced by isc(), ix(), and iy().

const int EEDetId::SCCRYSTALMODE = 1
static

Definition at line 317 of file EEDetId.h.

Referenced by EEDetId(), and EcalEndcapNumberingScheme::getUnitID().

const int EEDetId::XYMODE = 0
static