CMS 3D CMS Logo

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, Forward =6, VeryForward =7
}
 

Public Member Functions

uint32_t denseIndex () const
 
 EEDetId ()
 
 EEDetId (uint32_t rawid)
 
 EEDetId (int crystal_ix, int crystal_iy, int iz)
 
 EEDetId (int i, int j, int iz, int mode)
 
 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 bool fastValidDetId (int crystal_ix, int crystal_iy)
 
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 bool slowValidDetId (int crystal_ix, int crystal_iy)
 
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

Definition at line 15 of file EEDetId.h.

Member Enumeration Documentation

anonymous enum
Enumerator
Subdet 

Sudetector type. Here it is ECAL endcap.

Definition at line 17 of file EEDetId.h.

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 326 of file EEDetId.h.

Constructor & Destructor Documentation

EEDetId::EEDetId ( )
inline

Constructor of a null id

Definition at line 25 of file EEDetId.h.

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

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

Constructor from a raw value

Parameters
rawiddet ID number

Definition at line 30 of file EEDetId.h.

30 : DetId(rawid) {}
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26
EEDetId::EEDetId ( int  crystal_ix,
int  crystal_iy,
int  iz 
)
inline

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 45 of file EEDetId.h.

References EEDetId(), mps_fire::i, DetId::id_, and ALCARECOPromptCalibProdSiPixelAli0T_cff::mode.

45  :
46  DetId( Ecal, EcalEndcap ) {
47  id_|=(crystal_iy&0x7f)|((crystal_ix&0x7f)<<7)|((iz>0)?(0x4000):(0));
48  }
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26
uint32_t id_
Definition: DetId.h:55
EEDetId::EEDetId ( int  i,
int  j,
int  iz,
int  mode 
)

Definition at line 56 of file EEDetId.cc.

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

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

Constructor from a generic cell id

Parameters
idsource detid

Definition at line 55 of file EEDetId.h.

55 : DetId(id){}
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26

Member Function Documentation

uint32_t EEDetId::denseIndex ( ) const
inline

Same as hashedIndex()

Returns
compact index from 0 to kSizeForDenseIndexing-1

Definition at line 192 of file EEDetId.h.

References hashedIndex(), offsetBy(), and switchZSide().

192 { return hashedIndex() ; }
int hashedIndex() const
Definition: EEDetId.h:182
static EEDetId EEDetId::detIdFromDenseIndex ( uint32_t  din)
inlinestatic
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 577 of file EEDetId.cc.

References funct::abs(), and ix().

Referenced by fastValidDetId(), and PFPhotonClusters::FillClusterShape().

578 {
579  return abs(a.ix()-b.ix());
580 }
int ix() const
Definition: EEDetId.h:76
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
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 582 of file EEDetId.cc.

References funct::abs(), and iy().

Referenced by fastValidDetId(), and PFPhotonClusters::FillClusterShape().

583 {
584  return abs(a.iy() - b.iy());
585 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int iy() const
Definition: EEDetId.h:82
static bool EEDetId::fastValidDetId ( int  crystal_ix,
int  crystal_iy 
)
inlinestatic

check if ix and iy is in a "ring" inscribed in EE if is inside is valid for sure if not the slow version shall be called

Definition at line 262 of file EEDetId.h.

References a, b, distanceX(), distanceY(), f, isc(), alignCSCRings::r, x, and y.

Referenced by validDetId().

262  {
263  float x = crystal_ix; float y = crystal_iy;
264  float r = (x - 50.5f) * (x - 50.5f) + (y - 50.5f) * (y - 50.5f);
265  return r > 12.f * 12.f && r < 48.f * 48.f;
266  }
double f[11][100]
int EEDetId::hashedIndex ( ) const
inline

Gets a compact index for arrays

Returns
compact index from 0 to kSizeForDenseIndexing-1

Definition at line 182 of file EEDetId.h.

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

Referenced by EcalGetLaserData::analyze(), ECALpedestalPCLworker::analyze(), EcalPulseShapeGrapher::analyze(), EcalURecHitHists::analyze(), EcalPedestalHistory::beginRun(), CaloGeometryHelper::buildCrystalArray(), CaloGeometryHelper::buildNeighbourArray(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), denseIndex(), ecalEnergyInCone(), PFECALHashNavigator::ecalNeighbArray(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalLaserDbService::getLaserCorrection(), CaloGeometryHelper::getNeighbours(), popcon::EcalLaser_weekly_Linearization_Check::getNewObjects(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), ecalpyutils::hashedIndexEE(), popcon::EcalChannelStatusHandler::laserAnalysis(), CaloGeometryHelper::move(), PFECALHashNavigator::move(), popcon::EcalChannelStatusHandler::pedAnalysis(), EcalUncalibRecHitWorkerRatio::run(), EcalUncalibRecHitWorkerWeights::run(), EcalUncalibRecHitWorkerGlobal::run(), EcalUncalibRecHitWorkerMultiFit::run(), and EcalGeomPhiSymHelper::setup().

183  {
184  const uint32_t jx ( ix() ) ;
185  const uint32_t jd ( 2*( iy() - 1 ) + ( jx - 1 )/50 ) ;
186  return ( ( positiveZ() ? kEEhalf : 0) + kdi[jd] + jx - kxf[jd] ) ;
187  }
int ix() const
Definition: EEDetId.h:76
bool positiveZ() const
Definition: EEDetId.h:173
int iy() const
Definition: EEDetId.h:82
static const unsigned short kxf[2 *IY_MAX]
Definition: EEDetId.h:356
static const unsigned short kdi[2 *IY_MAX]
Definition: EEDetId.h:357
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 324 of file EEDetId.cc.

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

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

325 {
326  /*
327  * Return crystal number from (x,y) coordinates.
328  *
329  * Author : B W Kennedy
330  * Version : 1.00
331  * Created : 5 May 2006
332  * Last Mod :
333  *
334  * Input : ix, iy - (x,y) position of crystal
335  */
336 
337  /* Useful constants . */
338  int iQuadrant = iquadrant();
339  int icrCol=-1;
340  int icrRow=-1;
341 
342  if (iQuadrant == 1 || iQuadrant == 3)
343  {
344  icrCol=(ixQuadrantOne()-1) % nCrys;
345  icrRow=(iyQuadrantOne()-1) % nCrys;
346  }
347 
348  else if (iQuadrant == 2 || iQuadrant == 4)
349  {
350  icrRow=(ixQuadrantOne()-1) % nCrys;
351  icrCol=(iyQuadrantOne()-1) % nCrys;
352  }
353 
354  int icrys = 5*icrCol + icrRow + 1;
355 
356  return icrys;
357 }
int iquadrant() const
Definition: EEDetId.cc:264
int ixQuadrantOne() const
Definition: EEDetId.cc:241
static const int nCrys
Definition: EEDetId.h:352
int iyQuadrantOne() const
Definition: EEDetId.cc:252
EEDetId EEDetId::idOuterRing ( int  iPhi,
int  zEnd 
)
static

Definition at line 435 of file EEDetId.cc.

References EEDetId(), IX_MAX, and IY_MAX.

Referenced by EcalBarrelGeometry::getClosestEndcapCells(), and positiveZ().

436 {
437  iPhi -= 10 ; // phi=1 in barrel is at -10deg
438  while( iPhi < 1 ) iPhi+=360 ;
439  while( iPhi > 360 ) iPhi-=360 ;
440 
441  const int index1 ( iPhi - 1 ) ;
442  const int quad ( index1/90 ) ;
443  int indexq ( index1 - quad*90 + 1 ) ;
444  if( 0==quad || 2==quad ) indexq = 91 - indexq ;
445  const int indexh ( indexq > 45 ? 91 - indexq : indexq ) ;
446  const int axh ( indexh<=10 ? indexh :
447  ( indexh<=12 ? 10 :
448  ( indexh<=17 ? indexh - 2 :
449  ( indexh<=18 ? 15 :
450  ( indexh<=28 ? indexh - 3 :
451  ( indexh<=30 ? 25 :
452  ( indexh<=35 ? indexh - 5 :
453  ( indexh<=39 ? 30 :
454  ( indexh<=44 ? indexh - 9 : 35 ))))))))) ;
455  const int ayh ( indexh<=10 ? 50 :
456  ( indexh<=12 ? 60 - indexh :
457  ( indexh<=17 ? 47 :
458  ( indexh<=18 ? 64 - indexh :
459  ( indexh<=28 ? 45 :
460  ( indexh<=30 ? 73 - indexh :
461  ( indexh<=35 ? 42 :
462  ( indexh<=39 ? 77 - indexh :
463  ( indexh<=44 ? 37 : 36 ))))))))) ;
464  const int bxh ( indexq>45 ? ayh : axh ) ;
465  const int byh ( indexq>45 ? axh : ayh ) ;
466  const int cx ( ( quad==0 || quad==3 ? bxh : -bxh+1 ) + IX_MAX/2 ) ;
467  const int cy ( ( quad==0 || quad==1 ? byh : -byh+1 ) + IY_MAX/2 ) ;
468 
469  return EEDetId( cx, cy, ( zEnd > 0 ? 1 : -1 ) ) ;
470 }
static const int IX_MAX
Definition: EEDetId.h:302
static const int IY_MAX
Definition: EEDetId.h:306
EEDetId()
Definition: EEDetId.h:25
int EEDetId::iPhiOuterRing ( ) const

Definition at line 388 of file EEDetId.cc.

References funct::abs(), create_public_lumi_plots::ax, iquadrant(), isOuterRing(), ix(), IX_MAX, iy(), and IY_MAX.

Referenced by positiveZ(), spr::simpleMove(), and PFECALHashNavigator::stdsimplemove().

389 {
390  int returnValue ( 0 ) ;
391  if( isOuterRing() )
392  {
393  const int ax ( abs( ix() - IX_MAX/2 ) ) ;
394  const int ay ( abs( iy() - IY_MAX/2 ) ) ;
395  returnValue = ax + 50 - ay ;
396  if( ay <= 47 ) --returnValue ;
397  if( ay <= 45 ) --returnValue ;
398  if( ay <= 42 ) --returnValue ;
399  if( ay <= 37 ) --returnValue ;
400  if( ay <= 35 ) --returnValue ;
401  if( ay <= 30 ) --returnValue ;
402  if( ay <= 25 ) --returnValue ;
403  if( ay <= 15 ) --returnValue ;
404  if( ay <= 10 ) --returnValue ;
405  const int iq ( iquadrant() ) ;
406  if( 1==iq )
407  {
408  returnValue = 91 - returnValue ;
409  }
410  else
411  {
412  if( 2==iq )
413  {
414  returnValue += 90 ;
415  }
416  else
417  {
418  if( 3==iq )
419  {
420  returnValue = 271 - returnValue ;
421  }
422  else
423  {
424  returnValue += 270 ;
425  }
426  }
427  }
428  returnValue = 1 + ( 360 + returnValue - 10 -1 )%360 ;
429  }
430 // if( positiveZ() ) returnValue += 360 ;
431  return returnValue ;
432 }
int ix() const
Definition: EEDetId.h:76
int iquadrant() const
Definition: EEDetId.cc:264
bool isOuterRing() const
Definition: EEDetId.cc:520
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int iy() const
Definition: EEDetId.h:82
static const int IX_MAX
Definition: EEDetId.h:302
static const int IY_MAX
Definition: EEDetId.h:306
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 264 of file EEDetId.cc.

References ix(), and iy().

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

265 {
266  if (ix()>50)
267  {
268  if(iy()>50)
269  return 1;
270  else
271  return 4;
272  }
273  else
274  {
275  if(iy()>50)
276  return 2;
277  else
278  return 3;
279  }
280  //Should never be reached
281  return -1;
282 }
int ix() const
Definition: EEDetId.h:76
int iy() const
Definition: EEDetId.h:82
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 285 of file EEDetId.cc.

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

Referenced by CaloGeometryHelper::borderCrossing(), fastValidDetId(), DetIdInfo::info(), fireworks::info(), and sc().

286 {
287  return isc( 1 + ( ix() - 1 )/nCrys,
288  1 + ( iy() - 1 )/nCrys ) ;
289 }
int ix() const
Definition: EEDetId.h:76
int isc() const
Definition: EEDetId.cc:285
int iy() const
Definition: EEDetId.h:82
static const int nCrys
Definition: EEDetId.h:352
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+
iscRowsupecrystal y-index
Returns
supercystal index

Definition at line 292 of file EEDetId.cc.

References ISC_MAX, iYoffset, and QuadColLimits.

293 {
294  if( 0 < jx &&
295  21 > jx &&
296  0 < jy &&
297  21 > jy )
298  {
299  const int iquad ( ( 10<jx && 10<jy ? 1 :
300  ( 11>jx && 10<jy ? 2 :
301  ( 11>jx && 11>jy ? 3 : 4 ) ) ) ) ;
302 
303  const int iCol = ( 1 == iquad || 4 == iquad ? jx - 10 : 11 - jx ) ;
304  const int iRow = ( 1 == iquad || 2 == iquad ? jy - 10 : 11 - jy ) ;
305 
306  static const int nSCinQuadrant = ISC_MAX/4;
307 
308  const int yOff ( iYoffset[iCol] ) ;
309 
310  const int qOff ( nSCinQuadrant*( iquad - 1 ) ) ;
311 
312  const int iscOne ( QuadColLimits[iCol-1] + iRow - yOff ) ;
313 
314  return ( yOff >= iRow ? -1 :
315  ( QuadColLimits[iCol] < iscOne ? -2 :
316  iscOne + qOff ) ) ;
317  }
318  else
319  {
320  return -3 ; // bad inputs
321  }
322 }
static const int ISC_MAX
Definition: EEDetId.h:320
static const int iYoffset[nCols+1]
Definition: EEDetId.h:354
static const int QuadColLimits[nCols+1]
Definition: EEDetId.h:353
bool EEDetId::isNextToBoundary ( EEDetId  id)
static

Definition at line 361 of file EEDetId.cc.

References isNextToDBoundary(), and isNextToRingBoundary().

Referenced by detIdFromDenseIndex(), and isNextToBoundary().

362 {
363  return isNextToDBoundary( id ) || isNextToRingBoundary( id ) ;
364 }
static bool isNextToRingBoundary(EEDetId id)
Definition: EEDetId.cc:375
static bool isNextToDBoundary(EEDetId id)
Definition: EEDetId.cc:367
bool EEDetId::isNextToDBoundary ( EEDetId  id)
static

Definition at line 367 of file EEDetId.cc.

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

368 {
369  // hardcoded values for D boundary
370  return id.ix() == 50 || id.ix() == 51 ;
371 }
bool EEDetId::isNextToRingBoundary ( EEDetId  id)
static

Definition at line 375 of file EEDetId.cc.

References mps_fire::i, ix(), iy(), validDetId(), and zside().

Referenced by PhotonIsolationCalculator::classify(), GsfElectronAlgo::createElectron(), detIdFromDenseIndex(), EcalCleaningAlgo::isNearCrack(), isNextToBoundary(), EcalDeadChannelRecoveryNN< EEDetId >::makeNxNMatrice_RelDC(), InterestingDetIdFromSuperClusterProducer::produce(), and InterestingDetIdCollectionProducer::produce().

376 {
377  for (int i = -1; i <= 1; ++i) {
378  for (int j = -1; j <= 1; ++j) {
379  if ( ! validDetId( id.ix() + i, id.iy() + j, id.zside() ) ) {
380  return true;
381  }
382  }
383  }
384  return false;
385 }
int ix() const
Definition: EEDetId.h:76
int zside() const
Definition: EEDetId.h:70
int iy() const
Definition: EEDetId.h:82
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
bool EEDetId::isOuterRing ( ) const
private

Definition at line 520 of file EEDetId.cc.

References create_public_lumi_plots::ax, isOuterRingXY(), ix(), IX_MAX, iy(), and IY_MAX.

Referenced by iPhiOuterRing().

521 {
522  const int kx ( ix() ) ;
523  const int ky ( iy() ) ;
524  const int ax ( kx>IX_MAX/2 ? kx-IX_MAX/2 : IX_MAX/2 + 1 - kx ) ;
525  const int ay ( ky>IY_MAX/2 ? ky-IY_MAX/2 : IY_MAX/2 + 1 - ky ) ;
526  return ( isOuterRingXY( ax, ay ) ||
527  isOuterRingXY( ay, ax ) ) ;
528 }
int ix() const
Definition: EEDetId.h:76
static bool isOuterRingXY(int ax, int ay)
Definition: EEDetId.cc:531
int iy() const
Definition: EEDetId.h:82
static const int IX_MAX
Definition: EEDetId.h:302
static const int IY_MAX
Definition: EEDetId.h:306
bool EEDetId::isOuterRingXY ( int  ax,
int  ay 
)
staticprivate

Definition at line 531 of file EEDetId.cc.

Referenced by isOuterRing().

532 {
533  return ( ( ax<=10 && ay==50 ) ||
534  ( ax==10 && ay>=48 ) ||
535  ( ax<=15 && ax>=11 && ay==47 ) ||
536  ( ax==15 && ay==46 ) ||
537  ( ax<=25 && ax>=16 && ay==45 ) ||
538  ( ax==25 && ay<=44 && ay>=43 ) ||
539  ( ax<=30 && ax>=26 && ay==42 ) ||
540  ( ax==30 && ay<=41 && ay>=38 ) ||
541  ( ax<=35 && ax>=31 && ay==37 ) ||
542  ( ax==35 && ay==36 ) ) ;
543 }
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 76 of file EEDetId.h.

References DetId::id_.

Referenced by FWTGeoRecoGeometryESProducer::addEcalCaloGeometry(), JetToDigiDump::analyze(), DQMSourceEleCalib::analyze(), EcalEndcapSimHitsValidation::analyze(), EcalEndcapDigisValidation::analyze(), EcalEndcapRecHitsValidation::analyze(), PhiSymmetryCalibration::analyze(), DQMSourcePi0::analyze(), EcalRecHitsValidation::analyze(), EcalDigisValidation::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcnaAnalyzer::analyze(), EcalSelectiveReadoutValidation::analyzeEE(), EcalPedestalHistory::beginRun(), EnergyResolutionVsLumi::calcLightCollectionEfficiencyWeighted(), HLTEcalResonanceFilter::calcShowerShape(), HLTRegionalEcalResonanceFilter::calcShowerShape(), EcalTrigTowerConstituentsMap::changeEEDetIdQuadrantAndZ(), ecaldqm::binning::channelName(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasDeadNeighbour(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasInvalidNeighbour(), PFClusterEMEnergyCorrector::correctEnergies(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), ecaldqm::crystalID(), 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(), PFPhotonClusters::FillClusterShape(), MatrixFillMap::fillEEMap(), ecaldqm::binning::findBinCrystal_(), ecaldqm::binning::findBinSuperCrystal_(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestEndcapCells(), SCEnergyCorrectorSemiParm::getCorrections(), EcalElectronicsMapping::getDCCandSC(), EcalElectronicsMapping::getEcalScDetId(), EcalElectronicsMapping::getLMNumber(), EcalClusterToolsT< noZS >::getNormedIX(), EcalRingCalibrationTools::getRingIndex(), hashedIndex(), ecalpyutils::hashedIndexToXY(), DetIdInfo::info(), fireworks::info(), EcalRingCalibrationTools::initializeFromGeometry(), EcalEndcapGeometry::initializeParms(), iPhiOuterRing(), iquadrant(), isc(), ecaldqm::isForward(), isNextToRingBoundary(), isOuterRing(), ixQuadrantOne(), popcon::EcalChannelStatusHandler::laserAnalysis(), EcalClusterLocal::localCoordsEE(), EcalDisplaysByEvent::makeHistos(), EcalDeadChannelRecoveryNN< EEDetId >::makeNxNMatrice_RelDC(), popcon::EcalChannelStatusHandler::nBadLaserModules(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), EEDetIdSorter::operator()(), popcon::EcalChannelStatusHandler::pedAnalysis(), PFPhotonClusters::PFCrystalCoor(), ecaldqm::phi(), EcalRecHitWorkerRecover::run(), sc(), EcalDeadCellTriggerPrimitiveFilter::setEvtRecHitstatus(), EcalGeomPhiSymHelper::setup(), switchZSide(), unhashIndex(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), EcalTrigTowerConstituentsMap::wrapEEDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

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

Definition at line 117 of file EEDetId.cc.

References cppFunctionSkipper::exception, nCols, and QuadColLimits.

118 {
119  /*
120  * ix() return individual crystal x-coordinate
121  *
122  * Author : B W Kennedy
123  * Version : 1.00
124  * Created : 21 December 2005
125  * Last Mod : 31 January 2006
126  *
127  * Input : iSC, iCrys - Supercrystal and crystal ids
128  */
129 
130 
131  int nSCinQuadrant = QuadColLimits[nCols];
132 
133  if (iSC > 4*nSCinQuadrant || iSC < 1)
134  {
135  throw new std::exception();
136  }
137 
138  // Map SC number into (x>0,y>0) quadrant.
139  int iSCmap, iqx,iq;
140  if (iSC > 3*nSCinQuadrant)
141  {
142  iSCmap = iSC - 3*nSCinQuadrant;
143  iqx = 1;
144  iq=4;
145  }
146  else if (iSC > 2*nSCinQuadrant)
147  {
148  iSCmap = iSC - 2*nSCinQuadrant;
149  iqx = -1;
150  iq=3;
151  }
152  else if (iSC > nSCinQuadrant)
153  {
154  iSCmap = iSC - nSCinQuadrant;
155  iqx = -1;
156  iq=2;
157  }
158  else
159  {
160  iSCmap = iSC;
161  iqx = 1;
162  iq=1;
163  }
164 
165  // Decide which column the SC is in
166  int iCol = 0 ;
167  while (iSCmap > QuadColLimits[iCol++]) ;
168  iCol-- ;
169 
170  int ixCrys=-1;
171  if (iq == 1 || iq == 3)
172  ixCrys = iqx*(5*(iCol-1) + (int)(iCrys+4)/5);
173  else if (iq == 2 || iq == 4)
174  ixCrys = iqx*(5*(iCol-1) + (iCrys-1)%5 + 1);
175 
176  // returning a value from 1 to 100
177 
178  return ixCrys;
179 }
static const int nCols
Definition: EEDetId.h:351
static const int QuadColLimits[nCols+1]
Definition: EEDetId.h:353
int EEDetId::ixQuadrantOne ( ) const
private

Definition at line 241 of file EEDetId.cc.

References iquadrant(), and ix().

Referenced by ic().

242 {
243  int iQuadrant = iquadrant();
244  if ( iQuadrant == 1 || iQuadrant == 4)
245  return (ix() - 50);
246  else if ( iQuadrant == 2 || iQuadrant == 3)
247  return (51 - ix());
248  //Should never be reached
249  return -1;
250 }
int ix() const
Definition: EEDetId.h:76
int iquadrant() const
Definition: EEDetId.cc:264
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 82 of file EEDetId.h.

References DetId::id_.

Referenced by JetToDigiDump::analyze(), DQMSourceEleCalib::analyze(), EcalEndcapSimHitsValidation::analyze(), EcalEndcapDigisValidation::analyze(), EcalEndcapRecHitsValidation::analyze(), PhiSymmetryCalibration::analyze(), DQMSourcePi0::analyze(), EcalRecHitsValidation::analyze(), EcalDigisValidation::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcalSelectiveReadoutValidation::analyzeEE(), EcalPedestalHistory::beginRun(), EnergyResolutionVsLumi::calcLightCollectionEfficiencyWeighted(), HLTEcalResonanceFilter::calcShowerShape(), HLTRegionalEcalResonanceFilter::calcShowerShape(), EcalTrigTowerConstituentsMap::changeEEDetIdQuadrantAndZ(), ecaldqm::binning::channelName(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasDeadNeighbour(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasInvalidNeighbour(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), ecaldqm::crystalID(), distanceY(), popcon::EcalLaserHandler::dumpEndcapPayload(), InvRingCalib::duringLoop(), ZeeCalibration::duringLoop(), EEDetId(), PhiSymmetryCalibration_step2_SM::endJob(), PhiSymmetryCalibration_step2::endJob(), ElectronCalibrationUniv::endJob(), EcalEleCalibLooper::endOfLoop(), ZeeCalibration::endOfLoop(), AlCaElectronsTest::fillAroundEndcap(), DQMSourceEleCalib::fillAroundEndcap(), PFPhotonClusters::FillClusterShape(), MatrixFillMap::fillEEMap(), ecaldqm::binning::findBinCrystal_(), ecaldqm::binning::findBinSuperCrystal_(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestEndcapCells(), EcalElectronicsMapping::getEcalScDetId(), EcalClusterToolsT< noZS >::getNormedIY(), EcalRingCalibrationTools::getRingIndex(), hashedIndex(), ecalpyutils::hashedIndexToXY(), DetIdInfo::info(), fireworks::info(), EcalRingCalibrationTools::initializeFromGeometry(), EcalEndcapGeometry::initializeParms(), iPhiOuterRing(), iquadrant(), isc(), ecaldqm::isForward(), isNextToRingBoundary(), isOuterRing(), iyQuadrantOne(), popcon::EcalChannelStatusHandler::laserAnalysis(), EcalClusterLocal::localCoordsEE(), EcalDisplaysByEvent::makeHistos(), EcalDeadChannelRecoveryNN< EEDetId >::makeNxNMatrice_RelDC(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), EEDetIdSorter::operator()(), popcon::EcalChannelStatusHandler::pedAnalysis(), PFPhotonClusters::PFCrystalCoor(), ecaldqm::phi(), EcalRecHitWorkerRecover::run(), sc(), EcalDeadCellTriggerPrimitiveFilter::setEvtRecHitstatus(), EcalGeomPhiSymHelper::setup(), switchZSide(), unhashIndex(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), EcalTrigTowerConstituentsMap::wrapEEDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

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

Definition at line 181 of file EEDetId.cc.

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

182 {
183  /*
184  * iy() return individual crystal y-coordinate
185  *
186  * Author : B W Kennedy
187  * Version : 1.00
188  * Created : 21 December 2005
189  * Last Mod : 31 January 2006
190  *
191  * Input : iSC, iCrys - Supercrystal and crystal ids
192  */
193 
194  int nSCinQuadrant = QuadColLimits[nCols];
195  if (iSC > 4*nSCinQuadrant || iSC < 1)
196  {
197  throw new std::exception();
198  }
199 
200  // Map SC number into (x>0,y>0) quadrant
201  int iSCmap, iqy,iq;
202  if (iSC > 3*nSCinQuadrant)
203  {
204  iSCmap = iSC - 3*nSCinQuadrant;
205  iqy = -1;
206  iq=4;
207  }
208  else if (iSC > 2*nSCinQuadrant)
209  {
210  iSCmap = iSC - 2*nSCinQuadrant;
211  iqy = -1;
212  iq=3;
213  }
214  else if (iSC > nSCinQuadrant)
215  {
216  iSCmap = iSC - nSCinQuadrant;
217  iqy = 1;
218  iq=2;
219  } else
220  {
221  iSCmap = iSC;
222  iqy = 1;
223  iq=1;
224  }
225 
226  // Decide which column the SC is in
227  int iCol = 0;
228  while (iSCmap > QuadColLimits[iCol++]) ;
229  iCol--;
230 
231  int iSCy = iSCmap - QuadColLimits[iCol-1] + iYoffset[iCol];
232 
233  int iyCrys=-1;
234  if (iq == 1 || iq == 3)
235  iyCrys = iqy*(5*(iSCy-1) + (iCrys-1)%5 + 1);
236  else if (iq == 2 || iq == 4)
237  iyCrys = iqy*(5*(iSCy-1) + (int)(iCrys+4)/5 );
238  return iyCrys;
239 }
static const int iYoffset[nCols+1]
Definition: EEDetId.h:354
static const int nCols
Definition: EEDetId.h:351
static const int QuadColLimits[nCols+1]
Definition: EEDetId.h:353
int EEDetId::iyQuadrantOne ( ) const
private

Definition at line 252 of file EEDetId.cc.

References iquadrant(), and iy().

Referenced by ic().

253 {
254  int iQuadrant = iquadrant();
255  if ( iQuadrant == 1 || iQuadrant == 2)
256  return (iy() - 50);
257  else if ( iQuadrant == 3 || iQuadrant == 4)
258  return 51 - iy();
259  //Should never be reached
260  return -1;
261 }
int iquadrant() const
Definition: EEDetId.cc:264
int iy() const
Definition: EEDetId.h:82
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 474 of file EEDetId.cc.

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

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

475 {
476  int newX = ix() + nrStepsX;
477  int newY = iy() + nrStepsY;
478 
479  if( validDetId( newX, newY, zside() ) ) {
480  return EEDetId( newX, newY, zside() );
481  } else {
482  return EEDetId(0);
483  }
484 }
int ix() const
Definition: EEDetId.h:76
int zside() const
Definition: EEDetId.h:70
int iy() const
Definition: EEDetId.h:82
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
EEDetId()
Definition: EEDetId.h:25
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 498 of file EEDetId.cc.

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

499 {
500  if( startId.det() == DetId::Ecal && startId.subdetId() == EcalEndcap ) {
501  EEDetId eeStartId( startId );
502  return eeStartId.offsetBy( nrStepsX, nrStepsY ).rawId();
503  } else {
504  return DetId(0);
505  }
506 }
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
EEDetId& EEDetId::operator= ( const DetId id)
inline

Assignment operator

Parameters
idsource det id

Definition at line 60 of file EEDetId.h.

References DetId::id_.

60 {id_ = id.rawId(); return *this;}
uint32_t id_
Definition: DetId.h:55
bool EEDetId::positiveZ ( ) const
inline

Checks if crystal is in EE+

Returns
true for EE+, false for EE-

Definition at line 173 of file EEDetId.h.

References DetId::id_, idOuterRing(), and iPhiOuterRing().

Referenced by ecaldqm::crystalID(), and hashedIndex().

173 { return id_&0x4000;}
uint32_t id_
Definition: DetId.h:55
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 88 of file EEDetId.h.

References ic(), iquadrant(), isc(), ix(), iy(), and zside().

Referenced by ecaldqm::MESet::maskMatches(), ecaldqm::SummaryClient::producePlots(), and ecaldqm::SelectiveReadoutTask::runOnDigis().

88  {
89  const int scEdge = 5;
90  return EcalScDetId(1+(ix()-1)/scEdge, 1+(iy()-1)/scEdge, zside());
91  }
int ix() const
Definition: EEDetId.h:76
int zside() const
Definition: EEDetId.h:70
int iy() const
Definition: EEDetId.h:82
bool EEDetId::slowValidDetId ( int  crystal_ix,
int  crystal_iy 
)
static

Definition at line 546 of file EEDetId.cc.

Referenced by validDetId().

547 {
548  return // negative logic!
549  !(
550  (crystal_ix >= 1 && crystal_ix <= 3 && (crystal_iy <= 40 || crystal_iy > 60) ) ||
551  (crystal_ix >= 4 && crystal_ix <= 5 && (crystal_iy <= 35 || crystal_iy > 65) ) ||
552  (crystal_ix >= 6 && crystal_ix <= 8 && (crystal_iy <= 25 || crystal_iy > 75) ) ||
553  (crystal_ix >= 9 && crystal_ix <= 13 && (crystal_iy <= 20 || crystal_iy > 80) ) ||
554  (crystal_ix >= 14 && crystal_ix <= 15 && (crystal_iy <= 15 || crystal_iy > 85) ) ||
555  (crystal_ix >= 16 && crystal_ix <= 20 && (crystal_iy <= 13 || crystal_iy > 87) ) ||
556  (crystal_ix >= 21 && crystal_ix <= 25 && (crystal_iy <= 8 || crystal_iy > 92) ) ||
557  (crystal_ix >= 26 && crystal_ix <= 35 && (crystal_iy <= 5 || crystal_iy > 95) ) ||
558  (crystal_ix >= 36 && crystal_ix <= 39 && (crystal_iy <= 3 || crystal_iy > 97) ) ||
559  (crystal_ix >= 98 && crystal_ix <= 100 && (crystal_iy <= 40 || crystal_iy > 60) ) ||
560  (crystal_ix >= 96 && crystal_ix <= 97 && (crystal_iy <= 35 || crystal_iy > 65) ) ||
561  (crystal_ix >= 93 && crystal_ix <= 95 && (crystal_iy <= 25 || crystal_iy > 75) ) ||
562  (crystal_ix >= 88 && crystal_ix <= 92 && (crystal_iy <= 20 || crystal_iy > 80) ) ||
563  (crystal_ix >= 86 && crystal_ix <= 87 && (crystal_iy <= 15 || crystal_iy > 85) ) ||
564  (crystal_ix >= 81 && crystal_ix <= 85 && (crystal_iy <= 13 || crystal_iy > 87) ) ||
565  (crystal_ix >= 76 && crystal_ix <= 80 && (crystal_iy <= 8 || crystal_iy > 92) ) ||
566  (crystal_ix >= 66 && crystal_ix <= 75 && (crystal_iy <= 5 || crystal_iy > 95) ) ||
567  (crystal_ix >= 62 && crystal_ix <= 65 && (crystal_iy <= 3 || crystal_iy > 97) ) ||
568  ( (crystal_ix == 40 || crystal_ix == 61) && ( (crystal_iy >= 46 && crystal_iy <= 55 ) || crystal_iy <= 3 || crystal_iy > 97 )) ||
569  ( (crystal_ix == 41 || crystal_ix == 60) && crystal_iy >= 44 && crystal_iy <= 57 ) ||
570  ( (crystal_ix == 42 || crystal_ix == 59) && crystal_iy >= 43 && crystal_iy <= 58 ) ||
571  ( (crystal_ix == 43 || crystal_ix == 58) && crystal_iy >= 42 && crystal_iy <= 59 ) ||
572  ( (crystal_ix == 44 || crystal_ix == 45 || crystal_ix == 57 || crystal_ix == 56) && crystal_iy >= 41 && crystal_iy <= 60 ) ||
573  ( crystal_ix >= 46 && crystal_ix <= 55 && crystal_iy >= 40 && crystal_iy <= 61 )
574  );
575 }
static EcalSubdetector EEDetId::subdet ( )
inlinestatic

Gets the subdetector

Returns
subdetectot ID, that is EcalEndcap

Definition at line 65 of file EEDetId.h.

References EcalEndcap.

65 { 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 487 of file EEDetId.cc.

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

Referenced by denseIndex(), ecaldqm::TimingClient::producePlots(), and switchZSide().

488 {
489  int newZSide = -1 * zside();
490  if( validDetId(ix(), iy(), newZSide ) ) {
491  return EEDetId( ix(), iy(), newZSide );
492  } else {
493  return EEDetId(0);
494  }
495 }
int ix() const
Definition: EEDetId.h:76
int zside() const
Definition: EEDetId.h:70
int iy() const
Definition: EEDetId.h:82
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
EEDetId()
Definition: EEDetId.h:25
DetId EEDetId::switchZSide ( const DetId  startId)
static

Definition at line 509 of file EEDetId.cc.

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

510 {
511  if( startId.det() == DetId::Ecal && startId.subdetId() == EcalEndcap ) {
512  EEDetId eeStartId(startId);
513  return eeStartId.switchZSide().rawId();
514  } else {
515  return DetId(0);
516  }
517 }
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
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 99 of file EEDetId.cc.

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

Referenced by EcalTPGParamBuilder::analyze(), EcalPedestalHistory::beginRun(), detIdFromDenseIndex(), popcon::EcalLaserHandler::dumpEndcapPayload(), EcalTPGLinearizationConstXMLTranslator::dumpXML(), EcalPedestalsXMLTranslator::dumpXML(), EcalPulseShapesXMLTranslator::dumpXML(), EcalPulseSymmCovariancesXMLTranslator::dumpXML(), EcalGainRatiosXMLTranslator::dumpXML(), EcalChannelStatusXMLTranslator::dumpXML(), EcalLaserAPDPNRatiosXMLTranslator::dumpXML(), EcalWeightGroupXMLTranslator::dumpXML(), EcalLinearCorrectionsXMLTranslator::dumpXML(), EcalFloatCondObjectContainerXMLTranslator::dumpXML(), EcalElectronicsMappingBuilder::FillFromDatabase(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), popcon::EcalLaser_weekly_Handler::getNewObjects(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), ecalpyutils::hashedIndexToXY(), CalorimetryManager::loadFromEcalEndcap(), main(), popcon::EcalLaserHandler::notifyProblems(), printStatusRecords(), StoreEcalCondition::readEcalChannelStatusFromFile(), ecaldqm::StatusManager::readFromObj(), ecaldqm::StatusManager::readFromStream(), and ecaldqm::StatusManager::writeToObj().

100 {
101  if( validHashIndex( hi ) )
102  {
103  const int iz ( hi<kEEhalf ? -1 : 1 ) ;
104  const uint32_t di ( hi%kEEhalf ) ;
105  const int ii ( ( std::upper_bound( kdi, kdi+(2*IY_MAX), di ) - kdi ) - 1 ) ;
106  const int iy ( 1 + ii/2 ) ;
107  const int ix ( kxf[ii] + di - kdi[ii] ) ;
108  return EEDetId( ix, iy, iz ) ;
109  }
110  else
111  {
112  return EEDetId() ;
113  }
114 }
int ix() const
Definition: EEDetId.h:76
static bool validHashIndex(int i)
Definition: EEDetId.h:239
int iy() const
Definition: EEDetId.h:82
ii
Definition: cuy.py:588
static const unsigned short kxf[2 *IY_MAX]
Definition: EEDetId.h:356
static const int IY_MAX
Definition: EEDetId.h:306
static const unsigned short kdi[2 *IY_MAX]
Definition: EEDetId.h:357
EEDetId()
Definition: EEDetId.h:25
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 213 of file EEDetId.h.

References validHashIndex().

Referenced by EcalTPSkimmer::produce(), and ecaldqm::StatusManager::readFromStream().

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

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 248 of file EEDetId.h.

References funct::abs(), fastValidDetId(), IX_MAX, IX_MIN, IY_MAX, IY_MIN, and slowValidDetId().

Referenced by EcalGetLaserData::analyze(), EcalCosmicsHists::analyze(), EcalPedestalHistory::beginRun(), EnergyResolutionVsLumi::calcmuTot(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasDeadNeighbour(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasInvalidNeighbour(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EcalEndcapHardcodedTopology::decrementIx(), EcalEndcapTopology::decrementIx(), EcalEndcapHardcodedTopology::decrementIy(), EcalEndcapTopology::decrementIy(), EcalTPGCrystalStatusXMLTranslator::dumpXML(), 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(), EcalNextToDeadChannelESProducer::findNextToDeadChannelsCallback(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), MiscalibReaderFromXMLEcalEndcap::getCellFromAttributes(), EcalEndcapGeometry::getCells(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalDeadCellTriggerPrimitiveFilter::getChannelStatusMaps(), EcalDeadCellDeltaRFilter::getChannelStatusMaps(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestEndcapCells(), EcalElectronicsMapping::getDCCandSC(), EcalRingCalibrationTools::getDetIdsInECAL(), EcalEndcapSimHitsValidation::getIdsAroundMax(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseShapesHandler::getNewObjects(), popcon::EcalPulseSymmCovariancesHandler::getNewObjects(), popcon::EcalIntercalibHandler::getNewObjects(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), EcalEndcapNumberingScheme::getUnitID(), EcalEndcapGeometry::gId(), ecalpyutils::hashedIndexEE(), EcalEndcapHardcodedTopology::incrementIx(), EcalEndcapTopology::incrementIx(), EcalEndcapHardcodedTopology::incrementIy(), EcalEndcapTopology::incrementIy(), PhotonFixCMS::initialise(), isNextToRingBoundary(), ecaldqm::binning::isValidIdBin(), popcon::EcalChannelStatusHandler::laserAnalysis(), popcon::EcalChannelStatusHandler::laserMasking(), ecaldqm::MESet::maskMatches(), popcon::EcalChannelStatusHandler::nBadLaserModules(), offsetBy(), popcon::EcalChannelStatusHandler::pedAnalysis(), popcon::EcalChannelStatusHandler::pedMasking(), popcon::EcalChannelStatusHandler::pedOnlineMasking(), popcon::EcalChannelStatusHandler::physicsMasking(), CaloMiscalibMapEcal::print(), EcalRecHitProducer::produce(), EcalDetIdToBeRecoveredProducer::produce(), EcalTrivialConditionRetriever::produceEcalChannelStatus(), EcalTrivialConditionRetriever::produceEcalDQMChannelStatus(), EcalTrivialConditionRetriever::produceEcalGainRatios(), EcalTrivialConditionRetriever::produceEcalIntercalibConstants(), EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC(), EcalTrivialConditionRetriever::produceEcalIntercalibErrors(), EcalTrivialConditionRetriever::produceEcalLaserAlphas(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::produceEcalLinearCorrections(), EcalTrivialConditionRetriever::produceEcalPedestals(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), EcalRecHitWorkerRecover::run(), EcalSelectiveReadout::runSelectiveReadout0(), ecaldqm::scConstituents(), switchZSide(), and CaloGenericDetId::validDetId().

248  {
249  return
250  crystal_ix >= IX_MIN && crystal_ix <= IX_MAX &&
251  crystal_iy >= IY_MIN && crystal_iy <= IY_MAX &&
252  std::abs(iz)==1 &&
253  ( fastValidDetId(crystal_ix,crystal_iy) ||
254  slowValidDetId(crystal_ix,crystal_iy) );
255  }
static const int IX_MIN
Definition: EEDetId.h:294
static const int IY_MIN
Definition: EEDetId.h:298
static bool slowValidDetId(int crystal_ix, int crystal_iy)
Definition: EEDetId.cc:546
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static const int IX_MAX
Definition: EEDetId.h:302
static const int IY_MAX
Definition: EEDetId.h:306
static bool fastValidDetId(int crystal_ix, int crystal_iy)
Definition: EEDetId.h:262
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 70 of file EEDetId.h.

References DetId::id_.

Referenced by FWTGeoRecoGeometryESProducer::addEcalCaloGeometry(), EcalPreshowerRecHitsValidation::analyze(), EcalEndcapSimHitsValidation::analyze(), EcalEndcapDigisValidation::analyze(), EcalEndcapRecHitsValidation::analyze(), PhiSymmetryCalibration::analyze(), EcalRecHitsValidation::analyze(), EcalDigisValidation::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcalSelectiveReadoutValidation::analyzeEE(), EcalPedestalHistory::beginRun(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasDeadNeighbour(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasInvalidNeighbour(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), ecaldqm::crystalID(), 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(), HLTEcalPhiSymFilter::filter(), ecaldqm::binning::findBinCrystal_(), ecaldqm::binning::findBinSuperCrystal_(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalElectronicsMapping::getEcalScDetId(), EcalRingCalibrationTools::getRingIndex(), ecalpyutils::hashedIndexToXY(), EcalRingCalibrationTools::initializeFromGeometry(), isNextToRingBoundary(), popcon::EcalChannelStatusHandler::laserAnalysis(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), EEDetIdSorter::operator()(), popcon::EcalChannelStatusHandler::pedAnalysis(), ecaldqm::TimingClient::producePlots(), EcalRecHitWorkerRecover::run(), sc(), EcalDeadCellTriggerPrimitiveFilter::setEvtRecHitstatus(), EcalGeomPhiSymHelper::setup(), switchZSide(), EcalTrigTowerConstituentsMap::towerOf(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

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

Member Data Documentation

const int EEDetId::ICR_MAX =25
static

Upper bound of crystal index within a supercrystal

Definition at line 324 of file EEDetId.h.

const int EEDetId::ICR_MIN =1
static

Lower bound of crystal index within a supercrystal

Definition at line 314 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 320 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 310 of file EEDetId.h.

const int EEDetId::IX_MAX =100
static

Upper bound of EE crystal y-index

Definition at line 302 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), EnergyResolutionVsLumi::calcLightCollectionEfficiencyWeighted(), EnergyResolutionVsLumi::calcmuTot(), EcalTPGCrystalStatusXMLTranslator::dumpXML(), ZeeCalibration::endOfJob(), EcalNextToDeadChannelESProducer::findNextToDeadChannelsCallback(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalRingCalibrationTools::getDetIdsInECAL(), EcalRingCalibrationTools::getDetIdsInRing(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseSymmCovariancesHandler::getNewObjects(), popcon::EcalPulseShapesHandler::getNewObjects(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), idOuterRing(), EcalRingCalibrationTools::initializeFromGeometry(), iPhiOuterRing(), isOuterRing(), CaloMiscalibMapEcal::prefillMap(), CaloMiscalibMapEcal::print(), EcalTrivialConditionRetriever::produceEcalChannelStatus(), EcalTrivialConditionRetriever::produceEcalDQMChannelStatus(), EcalTrivialConditionRetriever::produceEcalGainRatios(), EcalTrivialConditionRetriever::produceEcalIntercalibConstants(), EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC(), EcalTrivialConditionRetriever::produceEcalIntercalibErrors(), EcalTrivialConditionRetriever::produceEcalLaserAlphas(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::produceEcalLinearCorrections(), 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 294 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), EnergyResolutionVsLumi::calcmuTot(), ZeeCalibration::endOfJob(), EcalNextToDeadChannelESProducer::findNextToDeadChannelsCallback(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseSymmCovariancesHandler::getNewObjects(), popcon::EcalPulseShapesHandler::getNewObjects(), 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::produceEcalLinearCorrections(), 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::IY_MAX =100
static

Upper bound of EE crystal y-index

Definition at line 306 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), EnergyResolutionVsLumi::calcmuTot(), EcalTPGCrystalStatusXMLTranslator::dumpXML(), ZeeCalibration::endOfJob(), EcalNextToDeadChannelESProducer::findNextToDeadChannelsCallback(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalRingCalibrationTools::getDetIdsInECAL(), EcalRingCalibrationTools::getDetIdsInRing(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseSymmCovariancesHandler::getNewObjects(), popcon::EcalPulseShapesHandler::getNewObjects(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), idOuterRing(), EcalRingCalibrationTools::initializeFromGeometry(), iPhiOuterRing(), isOuterRing(), CaloMiscalibMapEcal::prefillMap(), CaloMiscalibMapEcal::print(), EcalTrivialConditionRetriever::produceEcalChannelStatus(), EcalTrivialConditionRetriever::produceEcalDQMChannelStatus(), EcalTrivialConditionRetriever::produceEcalGainRatios(), EcalTrivialConditionRetriever::produceEcalIntercalibConstants(), EcalTrivialConditionRetriever::produceEcalIntercalibConstantsMC(), EcalTrivialConditionRetriever::produceEcalIntercalibErrors(), EcalTrivialConditionRetriever::produceEcalLaserAlphas(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatios(), EcalTrivialConditionRetriever::produceEcalLaserAPDPNRatiosRef(), EcalTrivialConditionRetriever::produceEcalLinearCorrections(), 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 298 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), EnergyResolutionVsLumi::calcmuTot(), ZeeCalibration::endOfJob(), EcalNextToDeadChannelESProducer::findNextToDeadChannelsCallback(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseSymmCovariancesHandler::getNewObjects(), popcon::EcalPulseShapesHandler::getNewObjects(), 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::produceEcalLinearCorrections(), 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::iYoffset = { 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0 }
staticprivate

Definition at line 354 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 357 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 356 of file EEDetId.h.

Referenced by hashedIndex(), and unhashIndex().

const int EEDetId::nCols = 10
staticprivate

Definition at line 351 of file EEDetId.h.

Referenced by ix(), and iy().

const int EEDetId::nCrys = 5
staticprivate

Definition at line 352 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 353 of file EEDetId.h.

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

const int EEDetId::SCCRYSTALMODE = 1
static

Definition at line 340 of file EEDetId.h.

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

const int EEDetId::XYMODE = 0
static