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, HGCalEE = 8,
  HGCalHSi = 9, HGCalHSc = 10, HGCalTrigger = 11
}
 

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
constexpr Detector det () const
 get the detector field from this detid More...
 
constexpr DetId ()
 Create an empty or null id (also for persistence) More...
 
constexpr DetId (uint32_t id)
 Create an id from a raw number. More...
 
constexpr DetId (Detector det, int subdet)
 Create an id, filling the detector and subdetector fields as specified. More...
 
constexpr bool null () const
 is this a null id ? More...
 
constexpr operator uint32_t () const
 
constexpr bool operator!= (DetId id) const
 inequality More...
 
constexpr uint32_t operator() () const
 
constexpr bool operator< (DetId id) const
 comparison More...
 
constexpr bool operator== (DetId id) const
 equality More...
 
constexpr uint32_t rawId () const
 get the raw id More...
 
constexpr 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 kDetMask = 0xF
 
static const int kDetOffset = 28
 
static const int kSubdetMask = 0x7
 
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 14 of file EEDetId.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Subdet 

Sudetector type. Here it is ECAL endcap.

Definition at line 16 of file EEDetId.h.

16  {
20  };

◆ anonymous enum

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

322  {
325  kEEhalf = 7324,
330  };

Constructor & Destructor Documentation

◆ EEDetId() [1/5]

EEDetId::EEDetId ( )
inline

Constructor of a null id

Definition at line 24 of file EEDetId.h.

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

24 {}

◆ EEDetId() [2/5]

EEDetId::EEDetId ( uint32_t  rawid)
inline

Constructor from a raw value

Parameters
rawiddet ID number

Definition at line 29 of file EEDetId.h.

29 : DetId(rawid) {}
constexpr DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:38

◆ EEDetId() [3/5]

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

References DetId::id_.

44  : DetId(Ecal, EcalEndcap) {
45  id_ |= (crystal_iy & 0x7f) | ((crystal_ix & 0x7f) << 7) | ((iz > 0) ? (0x4000) : (0));
46  }
uint32_t id_
Definition: DetId.h:69
constexpr DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:38

◆ EEDetId() [4/5]

EEDetId::EEDetId ( int  i,
int  j,
int  iz,
int  mode 
)

Definition at line 32 of file EEDetId.cc.

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

32  : DetId(Ecal, EcalEndcap) {
33  int crystal_ix = 0;
34  int crystal_iy = 0;
35  if (mode == XYMODE) {
36  crystal_ix = index1;
37  crystal_iy = index2;
38  } else if (mode == SCCRYSTALMODE) {
39  int SC = index1;
40  int crystal = index2;
41  // std::cout << "iz " << iz << " SC " << index1 << "crystal " << index2 << std::endl;
42 
43  crystal_ix = iz * ix(SC, crystal);
44  if (crystal_ix < 0)
45  crystal_ix++;
46  crystal_ix += 50;
47  crystal_iy = iy(SC, crystal);
48  if (crystal_iy < 0)
49  crystal_iy++;
50  crystal_iy += 50;
51 
52  } else {
53  throw cms::Exception("InvalidDetId")
54  << "EEDetId: Cannot create object. Unknown mode for (int, int, int) constructor.";
55  }
56 
57  if (!validDetId(crystal_ix, crystal_iy, iz)) {
58  throw cms::Exception("InvalidDetId") << "EEDetId: Cannot create object. Indexes out of bounds \n"
59  << "x = " << crystal_ix << " y = " << crystal_iy << " z = " << iz;
60  }
61 
62  id_ |= (crystal_iy & 0x7f) | ((crystal_ix & 0x7f) << 7) | ((iz > 0) ? (0x4000) : (0));
63 }
static const int XYMODE
Definition: EEDetId.h:335
int ix() const
Definition: EEDetId.h:77
static const int SCCRYSTALMODE
Definition: EEDetId.h:336
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
uint32_t id_
Definition: DetId.h:69
constexpr DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:38
int iy() const
Definition: EEDetId.h:83

◆ EEDetId() [5/5]

EEDetId::EEDetId ( const DetId id)
inline

Constructor from a generic cell id

Parameters
idsource detid

Definition at line 53 of file EEDetId.h.

53 : DetId(id) {}
constexpr DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:38

Member Function Documentation

◆ denseIndex()

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().

Referenced by EcalPhiSymRecHitProducerBase::processEvent().

192 { return hashedIndex(); }
int hashedIndex() const
Definition: EEDetId.h:183

◆ detIdFromDenseIndex()

static EEDetId EEDetId::detIdFromDenseIndex ( uint32_t  din)
inlinestatic

◆ distanceX()

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 474 of file EEDetId.cc.

References a, funct::abs(), and b.

474 { return abs(a.ix() - b.ix()); }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ distanceY()

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 476 of file EEDetId.cc.

References a, funct::abs(), and b.

476 { return abs(a.iy() - b.iy()); }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ fastValidDetId()

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

References f, alignCSCRings::r, x, and y.

Referenced by validDetId().

258  {
259  float x = crystal_ix;
260  float y = crystal_iy;
261  float r = (x - 50.5f) * (x - 50.5f) + (y - 50.5f) * (y - 50.5f);
262  return r > 12.f * 12.f && r < 48.f * 48.f;
263  }
double f[11][100]

◆ hashedIndex()

int EEDetId::hashedIndex ( ) const
inline

Gets a compact index for arrays

Returns
compact index from 0 to kSizeForDenseIndexing-1

Definition at line 183 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(), fillEEMap_TwoIOVs(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalLaserDbService::getLaserCorrection(), CaloGeometryHelper::getNeighbours(), popcon::EcalLaser_weekly_Linearization_Check::getNewObjects(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), popcon::EcalChannelStatusHandler::laserAnalysis(), CaloGeometryHelper::move(), PFECALHashNavigator::move(), popcon::EcalChannelStatusHandler::pedAnalysis(), popcon::EcalPedestalsHandler::readPedestal2017(), popcon::EcalPedestalsHandler::readPedestalFile(), popcon::EcalPedestalsHandler::readPedestalMC(), 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:77
bool positiveZ() const
Definition: EEDetId.h:174
static const unsigned short kxf[2 *IY_MAX]
Definition: EEDetId.h:351
static const unsigned short kdi[2 *IY_MAX]
Definition: EEDetId.h:352
int iy() const
Definition: EEDetId.h:83

◆ ic()

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 245 of file EEDetId.cc.

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

Referenced by EcalSimple2007H4TBAnalyzer::analyze(), and EcalURecHitHists::analyze().

245  {
246  /*
247  * Return crystal number from (x,y) coordinates.
248  *
249  * Author : B W Kennedy
250  * Version : 1.00
251  * Created : 5 May 2006
252  * Last Mod :
253  *
254  * Input : ix, iy - (x,y) position of crystal
255  */
256 
257  /* Useful constants . */
258  int iQuadrant = iquadrant();
259  int icrCol = -1;
260  int icrRow = -1;
261 
262  if (iQuadrant == 1 || iQuadrant == 3) {
263  icrCol = (ixQuadrantOne() - 1) % nCrys;
264  icrRow = (iyQuadrantOne() - 1) % nCrys;
265  }
266 
267  else if (iQuadrant == 2 || iQuadrant == 4) {
268  icrRow = (ixQuadrantOne() - 1) % nCrys;
269  icrCol = (iyQuadrantOne() - 1) % nCrys;
270  }
271 
272  int icrys = 5 * icrCol + icrRow + 1;
273 
274  return icrys;
275 }
int iquadrant() const
Definition: EEDetId.cc:206
int ixQuadrantOne() const
Definition: EEDetId.cc:186
int iyQuadrantOne() const
Definition: EEDetId.cc:196
static const int nCrys
Definition: EEDetId.h:347

◆ idOuterRing()

EEDetId EEDetId::idOuterRing ( int  iPhi,
int  zEnd 
)
static

Definition at line 339 of file EEDetId.cc.

References EEDetId(), IX_MAX, and IY_MAX.

Referenced by EcalBarrelGeometry::getClosestEndcapCells().

339  {
340  iPhi -= 10; // phi=1 in barrel is at -10deg
341  while (iPhi < 1)
342  iPhi += 360;
343  while (iPhi > 360)
344  iPhi -= 360;
345 
346  const int index1(iPhi - 1);
347  const int quad(index1 / 90);
348  int indexq(index1 - quad * 90 + 1);
349  if (0 == quad || 2 == quad)
350  indexq = 91 - indexq;
351  const int indexh(indexq > 45 ? 91 - indexq : indexq);
352  const int axh(
353  indexh <= 10
354  ? indexh
355  : (indexh <= 12
356  ? 10
357  : (indexh <= 17
358  ? indexh - 2
359  : (indexh <= 18
360  ? 15
361  : (indexh <= 28
362  ? indexh - 3
363  : (indexh <= 30
364  ? 25
365  : (indexh <= 35
366  ? indexh - 5
367  : (indexh <= 39 ? 30 : (indexh <= 44 ? indexh - 9 : 35)))))))));
368  const int ayh(
369  indexh <= 10
370  ? 50
371  : (indexh <= 12
372  ? 60 - indexh
373  : (indexh <= 17
374  ? 47
375  : (indexh <= 18
376  ? 64 - indexh
377  : (indexh <= 28
378  ? 45
379  : (indexh <= 30 ? 73 - indexh
380  : (indexh <= 35 ? 42
381  : (indexh <= 39 ? 77 - indexh
382  : (indexh <= 44 ? 37 : 36)))))))));
383  const int bxh(indexq > 45 ? ayh : axh);
384  const int byh(indexq > 45 ? axh : ayh);
385  const int cx((quad == 0 || quad == 3 ? bxh : -bxh + 1) + IX_MAX / 2);
386  const int cy((quad == 0 || quad == 1 ? byh : -byh + 1) + IY_MAX / 2);
387 
388  return EEDetId(cx, cy, (zEnd > 0 ? 1 : -1));
389 }
static const int IX_MAX
Definition: EEDetId.h:298
static const int IY_MAX
Definition: EEDetId.h:302
EEDetId()
Definition: EEDetId.h:24

◆ iPhiOuterRing()

int EEDetId::iPhiOuterRing ( ) const

Definition at line 295 of file EEDetId.cc.

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

Referenced by PFECALHashNavigator::stdsimplemove().

295  {
296  int returnValue(0);
297  if (isOuterRing()) {
298  const int ax(abs(ix() - IX_MAX / 2));
299  const int ay(abs(iy() - IY_MAX / 2));
300  returnValue = ax + 50 - ay;
301  if (ay <= 47)
302  --returnValue;
303  if (ay <= 45)
304  --returnValue;
305  if (ay <= 42)
306  --returnValue;
307  if (ay <= 37)
308  --returnValue;
309  if (ay <= 35)
310  --returnValue;
311  if (ay <= 30)
312  --returnValue;
313  if (ay <= 25)
314  --returnValue;
315  if (ay <= 15)
316  --returnValue;
317  if (ay <= 10)
318  --returnValue;
319  const int iq(iquadrant());
320  if (1 == iq) {
321  returnValue = 91 - returnValue;
322  } else {
323  if (2 == iq) {
324  returnValue += 90;
325  } else {
326  if (3 == iq) {
327  returnValue = 271 - returnValue;
328  } else {
329  returnValue += 270;
330  }
331  }
332  }
333  returnValue = 1 + (360 + returnValue - 10 - 1) % 360;
334  }
335  // if( positiveZ() ) returnValue += 360 ;
336  return returnValue;
337 }
bool isOuterRing() const
Definition: EEDetId.cc:429
int ix() const
Definition: EEDetId.h:77
int iquadrant() const
Definition: EEDetId.cc:206
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static const int IX_MAX
Definition: EEDetId.h:298
static const int IY_MAX
Definition: EEDetId.h:302
int iy() const
Definition: EEDetId.h:83

◆ iquadrant()

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 206 of file EEDetId.cc.

References ix(), and iy().

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

206  {
207  if (ix() > 50) {
208  if (iy() > 50)
209  return 1;
210  else
211  return 4;
212  } else {
213  if (iy() > 50)
214  return 2;
215  else
216  return 3;
217  }
218  //Should never be reached
219  return -1;
220 }
int ix() const
Definition: EEDetId.h:77
int iy() const
Definition: EEDetId.h:83

◆ isc() [1/2]

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 222 of file EEDetId.cc.

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

Referenced by CaloGeometryHelper::borderCrossing().

222 { return isc(1 + (ix() - 1) / nCrys, 1 + (iy() - 1) / nCrys); }
int ix() const
Definition: EEDetId.h:77
int isc() const
Definition: EEDetId.cc:222
static const int nCrys
Definition: EEDetId.h:347
int iy() const
Definition: EEDetId.h:83

◆ isc() [2/2]

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 224 of file EEDetId.cc.

References ISC_MAX, iYoffset, and QuadColLimits.

224  {
225  if (0 < jx && 21 > jx && 0 < jy && 21 > jy) {
226  const int iquad((10 < jx && 10 < jy ? 1 : (11 > jx && 10 < jy ? 2 : (11 > jx && 11 > jy ? 3 : 4))));
227 
228  const int iCol = (1 == iquad || 4 == iquad ? jx - 10 : 11 - jx);
229  const int iRow = (1 == iquad || 2 == iquad ? jy - 10 : 11 - jy);
230 
231  static const int nSCinQuadrant = ISC_MAX / 4;
232 
233  const int yOff(iYoffset[iCol]);
234 
235  const int qOff(nSCinQuadrant * (iquad - 1));
236 
237  const int iscOne(QuadColLimits[iCol - 1] + iRow - yOff);
238 
239  return (yOff >= iRow ? -1 : (QuadColLimits[iCol] < iscOne ? -2 : iscOne + qOff));
240  } else {
241  return -3; // bad inputs
242  }
243 }
static const int ISC_MAX
Definition: EEDetId.h:316
static const int iYoffset[nCols+1]
Definition: EEDetId.h:349
static const int QuadColLimits[nCols+1]
Definition: EEDetId.h:348

◆ isNextToBoundary()

bool EEDetId::isNextToBoundary ( EEDetId  id)
static

Definition at line 277 of file EEDetId.cc.

References isNextToDBoundary(), and isNextToRingBoundary().

Referenced by isNextToBoundary().

277 { return isNextToDBoundary(id) || isNextToRingBoundary(id); }
static bool isNextToRingBoundary(EEDetId id)
Definition: EEDetId.cc:284
static bool isNextToDBoundary(EEDetId id)
Definition: EEDetId.cc:279

◆ isNextToDBoundary()

bool EEDetId::isNextToDBoundary ( EEDetId  id)
static

Definition at line 279 of file EEDetId.cc.

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

279  {
280  // hardcoded values for D boundary
281  return id.ix() == 50 || id.ix() == 51;
282 }

◆ isNextToRingBoundary()

bool EEDetId::isNextToRingBoundary ( EEDetId  id)
static

Definition at line 284 of file EEDetId.cc.

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

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

284  {
285  for (int i = -1; i <= 1; ++i) {
286  for (int j = -1; j <= 1; ++j) {
287  if (!validDetId(id.ix() + i, id.iy() + j, id.zside())) {
288  return true;
289  }
290  }
291  }
292  return false;
293 }
int ix() const
Definition: EEDetId.h:77
int zside() const
Definition: EEDetId.h:71
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
int iy() const
Definition: EEDetId.h:83

◆ isOuterRing()

bool EEDetId::isOuterRing ( ) const
private

Definition at line 429 of file EEDetId.cc.

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

Referenced by iPhiOuterRing().

429  {
430  const int kx(ix());
431  const int ky(iy());
432  const int ax(kx > IX_MAX / 2 ? kx - IX_MAX / 2 : IX_MAX / 2 + 1 - kx);
433  const int ay(ky > IY_MAX / 2 ? ky - IY_MAX / 2 : IY_MAX / 2 + 1 - ky);
434  return (isOuterRingXY(ax, ay) || isOuterRingXY(ay, ax));
435 }
int ix() const
Definition: EEDetId.h:77
static bool isOuterRingXY(int ax, int ay)
Definition: EEDetId.cc:437
static const int IX_MAX
Definition: EEDetId.h:298
static const int IY_MAX
Definition: EEDetId.h:302
int iy() const
Definition: EEDetId.h:83

◆ isOuterRingXY()

bool EEDetId::isOuterRingXY ( int  ax,
int  ay 
)
staticprivate

Definition at line 437 of file EEDetId.cc.

Referenced by isOuterRing().

437  {
438  return ((ax <= 10 && ay == 50) || (ax == 10 && ay >= 48) || (ax <= 15 && ax >= 11 && ay == 47) ||
439  (ax == 15 && ay == 46) || (ax <= 25 && ax >= 16 && ay == 45) || (ax == 25 && ay <= 44 && ay >= 43) ||
440  (ax <= 30 && ax >= 26 && ay == 42) || (ax == 30 && ay <= 41 && ay >= 38) ||
441  (ax <= 35 && ax >= 31 && ay == 37) || (ax == 35 && ay == 36));
442 }

◆ ix() [1/2]

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

References DetId::id_.

Referenced by FWTGeoRecoGeometryESProducer::addEcalCaloGeometry(), JetToDigiDump::analyze(), DQMSourceEleCalib::analyze(), EcalEndcapSimHitsValidation::analyze(), EcalSimple2007H4TBAnalyzer::analyze(), EcalEndcapRecHitsValidation::analyze(), EcalEndcapDigisValidation::analyze(), DQMSourcePi0::analyze(), EcalDigisValidation::analyze(), EcalRecHitsValidation::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcnaAnalyzer::analyze(), EcalPedestalHistory::beginRun(), EnergyResolutionVsLumi::calcLightCollectionEfficiencyWeighted(), HLTEcalResonanceFilter::calcShowerShape(), HLTRegionalEcalResonanceFilter::calcShowerShape(), EcalTrigTowerConstituentsMap::changeEEDetIdQuadrantAndZ(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasDeadNeighbour(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasInvalidNeighbour(), PFClusterEMEnergyCorrector::correctEnergies(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), ecaldqm::crystalID(), ECALpedestalPCLHarvester::dqmPlots(), popcon::EcalLaserHandler::dumpEndcapPayload(), InvRingCalib::duringLoop(), ZeeCalibration::duringLoop(), EEDetId(), ElectronCalibrationUniv::endJob(), EcalEleCalibLooper::endOfLoop(), ZeeCalibration::endOfLoop(), AlCaElectronsTest::fillAroundEndcap(), DQMSourceEleCalib::fillAroundEndcap(), MatrixFillMap::fillEEMap(), reco::EcalClustersGraph::fillHits(), EcalBadCalibFilter::filter(), ecaldqm::binning::findBinCrystal_(), ecaldqm::binning::findBinSuperCrystal_(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestEndcapCells(), EcalElectronicsMapping::getEcalScDetId(), EcalElectronicsMapping::getLMNumber(), EcalClusterToolsT< noZS >::getNormedIX(), SCEnergyCorrectorSemiParm::getRegDataECALV1(), EGRegressionModifierV3::getSeedCrysCoord(), hashedIndex(), ecalpyutils::hashedIndexToXY(), EcalRingCalibrationTools::initializeFromGeometry(), EcalEndcapGeometry::initializeParms(), iPhiOuterRing(), iquadrant(), isc(), ecaldqm::isForward(), isNextToRingBoundary(), isOuterRing(), ixQuadrantOne(), popcon::EcalChannelStatusHandler::laserAnalysis(), egammaTools::localEcalClusterCoordsEE(), EcalDisplaysByEvent::makeHistos(), popcon::EcalChannelStatusHandler::nBadLaserModules(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), EEDetIdSorter::operator()(), popcon::EcalChannelStatusHandler::pedAnalysis(), ecaldqm::phi(), EcalEndcapGeometry::present(), EcalLaserCondTools::FileReader::readPs(), EcalRecHitWorkerRecover::run(), sc(), reco::SuperCluster::seedCrysIEtaOrIx(), EcalDeadCellTriggerPrimitiveFilter::setEvtRecHitstatus(), EcalGeomPhiSymHelper::setup(), switchZSide(), unhashIndex(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), EcalTrigTowerConstituentsMap::wrapEEDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

77 { return (id_ >> 7) & 0x7F; }
uint32_t id_
Definition: DetId.h:69

◆ ix() [2/2]

int EEDetId::ix ( int  iSC,
int  iCrys 
) const
private

Definition at line 78 of file EEDetId.cc.

References cppFunctionSkipper::exception, nCols, and QuadColLimits.

78  {
79  /*
80  * ix() return individual crystal x-coordinate
81  *
82  * Author : B W Kennedy
83  * Version : 1.00
84  * Created : 21 December 2005
85  * Last Mod : 31 January 2006
86  *
87  * Input : iSC, iCrys - Supercrystal and crystal ids
88  */
89 
90  int nSCinQuadrant = QuadColLimits[nCols];
91 
92  if (iSC > 4 * nSCinQuadrant || iSC < 1) {
93  throw new std::exception();
94  }
95 
96  // Map SC number into (x>0,y>0) quadrant.
97  int iSCmap, iqx, iq;
98  if (iSC > 3 * nSCinQuadrant) {
99  iSCmap = iSC - 3 * nSCinQuadrant;
100  iqx = 1;
101  iq = 4;
102  } else if (iSC > 2 * nSCinQuadrant) {
103  iSCmap = iSC - 2 * nSCinQuadrant;
104  iqx = -1;
105  iq = 3;
106  } else if (iSC > nSCinQuadrant) {
107  iSCmap = iSC - nSCinQuadrant;
108  iqx = -1;
109  iq = 2;
110  } else {
111  iSCmap = iSC;
112  iqx = 1;
113  iq = 1;
114  }
115 
116  // Decide which column the SC is in
117  int iCol = 0;
118  while (iSCmap > QuadColLimits[iCol++])
119  ;
120  iCol--;
121 
122  int ixCrys = -1;
123  if (iq == 1 || iq == 3)
124  ixCrys = iqx * (5 * (iCol - 1) + (int)(iCrys + 4) / 5);
125  else if (iq == 2 || iq == 4)
126  ixCrys = iqx * (5 * (iCol - 1) + (iCrys - 1) % 5 + 1);
127 
128  // returning a value from 1 to 100
129 
130  return ixCrys;
131 }
static const int nCols
Definition: EEDetId.h:346
static const int QuadColLimits[nCols+1]
Definition: EEDetId.h:348

◆ ixQuadrantOne()

int EEDetId::ixQuadrantOne ( ) const
private

Definition at line 186 of file EEDetId.cc.

References iquadrant(), and ix().

Referenced by ic().

186  {
187  int iQuadrant = iquadrant();
188  if (iQuadrant == 1 || iQuadrant == 4)
189  return (ix() - 50);
190  else if (iQuadrant == 2 || iQuadrant == 3)
191  return (51 - ix());
192  //Should never be reached
193  return -1;
194 }
int ix() const
Definition: EEDetId.h:77
int iquadrant() const
Definition: EEDetId.cc:206

◆ iy() [1/2]

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

References DetId::id_.

Referenced by JetToDigiDump::analyze(), DQMSourceEleCalib::analyze(), EcalEndcapSimHitsValidation::analyze(), EcalSimple2007H4TBAnalyzer::analyze(), EcalEndcapRecHitsValidation::analyze(), EcalEndcapDigisValidation::analyze(), DQMSourcePi0::analyze(), EcalDigisValidation::analyze(), EcalRecHitsValidation::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcalPedestalHistory::beginRun(), EnergyResolutionVsLumi::calcLightCollectionEfficiencyWeighted(), HLTEcalResonanceFilter::calcShowerShape(), HLTRegionalEcalResonanceFilter::calcShowerShape(), EcalTrigTowerConstituentsMap::changeEEDetIdQuadrantAndZ(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasDeadNeighbour(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasInvalidNeighbour(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), ecaldqm::crystalID(), ECALpedestalPCLHarvester::dqmPlots(), popcon::EcalLaserHandler::dumpEndcapPayload(), InvRingCalib::duringLoop(), ZeeCalibration::duringLoop(), EEDetId(), ElectronCalibrationUniv::endJob(), EcalEleCalibLooper::endOfLoop(), ZeeCalibration::endOfLoop(), AlCaElectronsTest::fillAroundEndcap(), DQMSourceEleCalib::fillAroundEndcap(), MatrixFillMap::fillEEMap(), reco::EcalClustersGraph::fillHits(), EcalBadCalibFilter::filter(), ecaldqm::binning::findBinCrystal_(), ecaldqm::binning::findBinSuperCrystal_(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestEndcapCells(), EcalElectronicsMapping::getEcalScDetId(), EcalClusterToolsT< noZS >::getNormedIY(), hashedIndex(), ecalpyutils::hashedIndexToXY(), EcalRingCalibrationTools::initializeFromGeometry(), EcalEndcapGeometry::initializeParms(), iPhiOuterRing(), iquadrant(), isc(), ecaldqm::isForward(), isNextToRingBoundary(), isOuterRing(), iyQuadrantOne(), popcon::EcalChannelStatusHandler::laserAnalysis(), egammaTools::localEcalClusterCoordsEE(), EcalDisplaysByEvent::makeHistos(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), EEDetIdSorter::operator()(), popcon::EcalChannelStatusHandler::pedAnalysis(), ecaldqm::phi(), EcalEndcapGeometry::present(), EcalLaserCondTools::FileReader::readPs(), EcalRecHitWorkerRecover::run(), sc(), reco::SuperCluster::seedCrysIPhiOrIy(), EcalDeadCellTriggerPrimitiveFilter::setEvtRecHitstatus(), EcalGeomPhiSymHelper::setup(), switchZSide(), unhashIndex(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), EcalTrigTowerConstituentsMap::wrapEEDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

83 { return id_ & 0x7F; }
uint32_t id_
Definition: DetId.h:69

◆ iy() [2/2]

int EEDetId::iy ( int  iSC,
int  iCrys 
) const
private

Definition at line 133 of file EEDetId.cc.

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

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

◆ iyQuadrantOne()

int EEDetId::iyQuadrantOne ( ) const
private

Definition at line 196 of file EEDetId.cc.

References iquadrant(), and iy().

Referenced by ic().

196  {
197  int iQuadrant = iquadrant();
198  if (iQuadrant == 1 || iQuadrant == 2)
199  return (iy() - 50);
200  else if (iQuadrant == 3 || iQuadrant == 4)
201  return 51 - iy();
202  //Should never be reached
203  return -1;
204 }
int iquadrant() const
Definition: EEDetId.cc:206
int iy() const
Definition: EEDetId.h:83

◆ offsetBy() [1/2]

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 391 of file EEDetId.cc.

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

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

391  {
392  int newX = ix() + nrStepsX;
393  int newY = iy() + nrStepsY;
394 
395  if (validDetId(newX, newY, zside())) {
396  return EEDetId(newX, newY, zside());
397  } else {
398  return EEDetId(0);
399  }
400 }
int ix() const
Definition: EEDetId.h:77
int zside() const
Definition: EEDetId.h:71
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
EEDetId()
Definition: EEDetId.h:24
int iy() const
Definition: EEDetId.h:83

◆ offsetBy() [2/2]

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 411 of file EEDetId.cc.

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

411  {
412  if (startId.det() == DetId::Ecal && startId.subdetId() == EcalEndcap) {
413  EEDetId eeStartId(startId);
414  return eeStartId.offsetBy(nrStepsX, nrStepsY).rawId();
415  } else {
416  return DetId(0);
417  }
418 }
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
constexpr DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:38

◆ operator=()

EEDetId& EEDetId::operator= ( const DetId id)
inline

Assignment operator

Parameters
idsource det id

Definition at line 58 of file EEDetId.h.

References DetId::id_.

58  {
59  id_ = id.rawId();
60  return *this;
61  }
uint32_t id_
Definition: DetId.h:69

◆ positiveZ()

bool EEDetId::positiveZ ( ) const
inline

Checks if crystal is in EE+

Returns
true for EE+, false for EE-

Definition at line 174 of file EEDetId.h.

References DetId::id_.

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

174 { return id_ & 0x4000; }
uint32_t id_
Definition: DetId.h:69

◆ sc()

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

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

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

89  {
90  const int scEdge = 5;
91  return EcalScDetId(1 + (ix() - 1) / scEdge, 1 + (iy() - 1) / scEdge, zside());
92  }
int ix() const
Definition: EEDetId.h:77
int zside() const
Definition: EEDetId.h:71
int iy() const
Definition: EEDetId.h:83

◆ slowValidDetId()

bool EEDetId::slowValidDetId ( int  crystal_ix,
int  crystal_iy 
)
static

Definition at line 444 of file EEDetId.cc.

Referenced by validDetId().

444  {
445  return // negative logic!
446  !((crystal_ix >= 1 && crystal_ix <= 3 && (crystal_iy <= 40 || crystal_iy > 60)) ||
447  (crystal_ix >= 4 && crystal_ix <= 5 && (crystal_iy <= 35 || crystal_iy > 65)) ||
448  (crystal_ix >= 6 && crystal_ix <= 8 && (crystal_iy <= 25 || crystal_iy > 75)) ||
449  (crystal_ix >= 9 && crystal_ix <= 13 && (crystal_iy <= 20 || crystal_iy > 80)) ||
450  (crystal_ix >= 14 && crystal_ix <= 15 && (crystal_iy <= 15 || crystal_iy > 85)) ||
451  (crystal_ix >= 16 && crystal_ix <= 20 && (crystal_iy <= 13 || crystal_iy > 87)) ||
452  (crystal_ix >= 21 && crystal_ix <= 25 && (crystal_iy <= 8 || crystal_iy > 92)) ||
453  (crystal_ix >= 26 && crystal_ix <= 35 && (crystal_iy <= 5 || crystal_iy > 95)) ||
454  (crystal_ix >= 36 && crystal_ix <= 39 && (crystal_iy <= 3 || crystal_iy > 97)) ||
455  (crystal_ix >= 98 && crystal_ix <= 100 && (crystal_iy <= 40 || crystal_iy > 60)) ||
456  (crystal_ix >= 96 && crystal_ix <= 97 && (crystal_iy <= 35 || crystal_iy > 65)) ||
457  (crystal_ix >= 93 && crystal_ix <= 95 && (crystal_iy <= 25 || crystal_iy > 75)) ||
458  (crystal_ix >= 88 && crystal_ix <= 92 && (crystal_iy <= 20 || crystal_iy > 80)) ||
459  (crystal_ix >= 86 && crystal_ix <= 87 && (crystal_iy <= 15 || crystal_iy > 85)) ||
460  (crystal_ix >= 81 && crystal_ix <= 85 && (crystal_iy <= 13 || crystal_iy > 87)) ||
461  (crystal_ix >= 76 && crystal_ix <= 80 && (crystal_iy <= 8 || crystal_iy > 92)) ||
462  (crystal_ix >= 66 && crystal_ix <= 75 && (crystal_iy <= 5 || crystal_iy > 95)) ||
463  (crystal_ix >= 62 && crystal_ix <= 65 && (crystal_iy <= 3 || crystal_iy > 97)) ||
464  ((crystal_ix == 40 || crystal_ix == 61) &&
465  ((crystal_iy >= 46 && crystal_iy <= 55) || crystal_iy <= 3 || crystal_iy > 97)) ||
466  ((crystal_ix == 41 || crystal_ix == 60) && crystal_iy >= 44 && crystal_iy <= 57) ||
467  ((crystal_ix == 42 || crystal_ix == 59) && crystal_iy >= 43 && crystal_iy <= 58) ||
468  ((crystal_ix == 43 || crystal_ix == 58) && crystal_iy >= 42 && crystal_iy <= 59) ||
469  ((crystal_ix == 44 || crystal_ix == 45 || crystal_ix == 57 || crystal_ix == 56) && crystal_iy >= 41 &&
470  crystal_iy <= 60) ||
471  (crystal_ix >= 46 && crystal_ix <= 55 && crystal_iy >= 40 && crystal_iy <= 61));
472 }

◆ subdet()

static EcalSubdetector EEDetId::subdet ( )
inlinestatic

Gets the subdetector

Returns
subdetectot ID, that is EcalEndcap

Definition at line 66 of file EEDetId.h.

References EcalEndcap.

66 { return EcalEndcap; }

◆ switchZSide() [1/2]

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 402 of file EEDetId.cc.

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

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

402  {
403  int newZSide = -1 * zside();
404  if (validDetId(ix(), iy(), newZSide)) {
405  return EEDetId(ix(), iy(), newZSide);
406  } else {
407  return EEDetId(0);
408  }
409 }
int ix() const
Definition: EEDetId.h:77
int zside() const
Definition: EEDetId.h:71
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
EEDetId()
Definition: EEDetId.h:24
int iy() const
Definition: EEDetId.h:83

◆ switchZSide() [2/2]

DetId EEDetId::switchZSide ( const DetId  startId)
static

Definition at line 420 of file EEDetId.cc.

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

420  {
421  if (startId.det() == DetId::Ecal && startId.subdetId() == EcalEndcap) {
422  EEDetId eeStartId(startId);
423  return eeStartId.switchZSide().rawId();
424  } else {
425  return DetId(0);
426  }
427 }
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
constexpr DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:38

◆ unhashIndex()

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

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

Referenced by EcalTPGParamBuilder::analyze(), ecaldqm::PresampleTask::beginEvent(), ecaldqm::OccupancyTask::beginEvent(), EcalPedestalHistory::beginRun(), detIdFromDenseIndex(), popcon::EcalLaserHandler::dumpEndcapPayload(), EcalTPGLinearizationConstXMLTranslator::dumpXML(), EcalPedestalsXMLTranslator::dumpXML(), EcalPulseShapesXMLTranslator::dumpXML(), EcalChannelStatusXMLTranslator::dumpXML(), EcalLinearCorrectionsXMLTranslator::dumpXML(), EcalGainRatiosXMLTranslator::dumpXML(), EcalLaserAPDPNRatiosXMLTranslator::dumpXML(), EcalPulseSymmCovariancesXMLTranslator::dumpXML(), EcalWeightGroupXMLTranslator::dumpXML(), EcalFloatCondObjectContainerXMLTranslator::dumpXML(), ecal::raw::ElectronicsMappingGPU::ElectronicsMappingGPU(), EcalElectronicsMappingBuilder::FillFromDatabase(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), popcon::EcalLaser_weekly_Handler::getNewObjects(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), ecalpyutils::hashedIndexToXY(), CalorimetryManager::loadFromEcalEndcap(), main(), popcon::EcalLaserHandler::notifyProblems(), printStatusRecords(), ALPAKA_ACCELERATOR_NAMESPACE::EcalElectronicsMappingHostESProducer::produce(), StoreEcalCondition::readEcalChannelStatusFromFile(), ecaldqm::StatusManager::readFromObj(), ecaldqm::StatusManager::readFromStream(), popcon::EcalPedestalsHandler::readPedestalTimestamp(), popcon::EcalPedestalsHandler::readPedestalTree(), EcalFloatCondObjectContainerXMLTranslator::readXML(), popcon::EcalPFRecHitThresholdsHandler::readXML(), popcon::EcalIntercalibHandler::readXML(), and ecaldqm::StatusManager::writeToObj().

65  {
66  if (validHashIndex(hi)) {
67  const int iz(hi < kEEhalf ? -1 : 1);
68  const uint32_t di(hi % kEEhalf);
69  const int ii((std::upper_bound(kdi, kdi + (2 * IY_MAX), di) - kdi) - 1);
70  const int iy(1 + ii / 2);
71  const int ix(kxf[ii] + di - kdi[ii]);
72  return EEDetId(ix, iy, iz);
73  } else {
74  return EEDetId();
75  }
76 }
int ix() const
Definition: EEDetId.h:77
static bool validHashIndex(int i)
Definition: EEDetId.h:239
Definition: EPCuts.h:4
ii
Definition: cuy.py:589
static const unsigned short kxf[2 *IY_MAX]
Definition: EEDetId.h:351
static const int IY_MAX
Definition: EEDetId.h:302
static const unsigned short kdi[2 *IY_MAX]
Definition: EEDetId.h:352
EEDetId()
Definition: EEDetId.h:24
int iy() const
Definition: EEDetId.h:83

◆ validDenseIndex()

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 cropTnPTrees::din, and validHashIndex().

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

213 { return validHashIndex(din); }
static bool validHashIndex(int i)
Definition: EEDetId.h:239

◆ validDetId()

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_MIN, IY_MAX, IY_MIN, and slowValidDetId().

Referenced by EcalGetLaserData::analyze(), EcalPFRecHitThresholdsMaker::analyze(), EcalCosmicsHists::analyze(), EcalPedestalHistory::beginRun(), EnergyResolutionVsLumi::calcmuTot(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasDeadNeighbour(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasInvalidNeighbour(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EcalLaserCondTools::dbToAscii(), 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(), MatrixFillMap::fillEEMap(), fillEEMap_SingleIOV(), fillEEMap_TwoIOVs(), EcalSimHitsValidProducer::fillEEMatrix(), EcalEndcapSimHitsValidation::fillEEMatrix(), EcalRecHitsValidation::findEndcapMatrix(), 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::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getPFRecHitThresholdsFromConfiguration(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), EcalEndcapNumberingScheme::getUnitID(), EcalEndcapGeometry::gId(), ecalpyutils::hashedIndexEE(), EcalEndcapHardcodedTopology::incrementIx(), EcalEndcapTopology::incrementIx(), EcalEndcapHardcodedTopology::incrementIy(), EcalEndcapTopology::incrementIy(), 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(), EcalEndcapGeometry::present(), 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::produceEcalPFRecHitThresholds(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), StoreEcalCondition::readEcalPFRecHitThresholdsFromFile(), popcon::EcalPedestalsHandler::readPedestal2017(), popcon::EcalPedestalsHandler::readPedestalFile(), popcon::EcalPedestalsHandler::readPedestalMC(), EcalLaserCondTools::FileReader::readPs(), EcalRecHitWorkerRecover::run(), EcalSelectiveReadout::runSelectiveReadout0(), ecaldqm::scConstituents(), EcalNextToDeadChannelESProducer::setupNextToDeadChannels(), EcalCondObjectContainer< Values >::summary(), switchZSide(), and CaloGenericDetId::validDetId().

248  {
249  return crystal_ix >= IX_MIN && crystal_ix <= IX_MAX && crystal_iy >= IY_MIN && crystal_iy <= IY_MAX &&
250  std::abs(iz) == 1 && (fastValidDetId(crystal_ix, crystal_iy) || slowValidDetId(crystal_ix, crystal_iy));
251  }
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool slowValidDetId(int crystal_ix, int crystal_iy)
Definition: EEDetId.cc:444
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static const int IY_MAX
Definition: EEDetId.h:302
static bool fastValidDetId(int crystal_ix, int crystal_iy)
Definition: EEDetId.h:258

◆ validHashIndex()

static bool EEDetId::validHashIndex ( int  i)
inlinestatic

◆ zside()

int EEDetId::zside ( ) const
inline

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

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

Definition at line 71 of file EEDetId.h.

References DetId::id_.

Referenced by FWTGeoRecoGeometryESProducer::addEcalCaloGeometry(), EcalEndcapSimHitsValidation::analyze(), EcalPreshowerRecHitsValidation::analyze(), EcalSimple2007H4TBAnalyzer::analyze(), EcalEndcapRecHitsValidation::analyze(), EcalEndcapDigisValidation::analyze(), EcalDigisValidation::analyze(), EcalRecHitsValidation::analyze(), EcalCosmicsHists::analyze(), EcalMixingModuleValidation::analyze(), EcalPedestalHistory::beginRun(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasDeadNeighbour(), EcalBoundaryInfoCalculator< EBDetId >::checkRecHitHasInvalidNeighbour(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), ecaldqm::crystalID(), ECALpedestalPCLHarvester::dqmPlots(), popcon::EcalLaserHandler::dumpEndcapPayload(), InvRingCalib::duringLoop(), ZeeCalibration::duringLoop(), InvRingCalib::EERegId(), InvRingCalib::EERegionDef(), InvRingCalib::EERingDef(), ElectronCalibrationUniv::endJob(), EcalEleCalibLooper::endOfLoop(), ZeeCalibration::endOfLoop(), MatrixFillMap::fillEEMap(), ECALRecHitAnalyzer::FillGeometry(), reco::EcalClustersGraph::fillHits(), EcalBadCalibFilter::filter(), HLTEcalPhiSymFilter::filter(), ecaldqm::binning::findBinCrystal_(), ecaldqm::binning::findBinSuperCrystal_(), TrackDetMatchInfo::findMaxDeposition(), EcalEndcapGeometry::getClosestCell(), EcalElectronicsMapping::getEcalScDetId(), getEndCapErrorSummary(), ecalpyutils::hashedIndexToXY(), EcalRingCalibrationTools::initializeFromGeometry(), isNextToRingBoundary(), popcon::EcalChannelStatusHandler::laserAnalysis(), TrackDetMatchInfo::nXnEnergy(), offsetBy(), EEDetIdSorter::operator()(), popcon::EcalChannelStatusHandler::pedAnalysis(), EcalEndcapGeometry::present(), ecaldqm::TimingClient::producePlots(), ecaldqm::MLClient::producePlots(), EcalLaserCondTools::FileReader::readPs(), EcalRecHitWorkerRecover::run(), sc(), EcalDeadCellTriggerPrimitiveFilter::setEvtRecHitstatus(), EcalGeomPhiSymHelper::setup(), switchZSide(), EcalTrigTowerConstituentsMap::towerOf(), EcalSimHitsValidProducer::update(), CaloGenericDetId::validDetId(), xuti::writeCell(), ECALRecHitAnalyzer::WriteECALRecHits(), Pi0CalibXMLwriter::writeLine(), and calibXMLwriter::writeLine().

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

Member Data Documentation

◆ ICR_MAX

const int EEDetId::ICR_MAX = 25
static

Upper bound of crystal index within a supercrystal

Definition at line 320 of file EEDetId.h.

◆ ICR_MIN

const int EEDetId::ICR_MIN = 1
static

Lower bound of crystal index within a supercrystal

Definition at line 310 of file EEDetId.h.

◆ ISC_MAX

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

Referenced by isc().

◆ ISC_MIN

const int EEDetId::ISC_MIN = 1
static

Lower bound of supercystal index as defined in isc()

Definition at line 306 of file EEDetId.h.

◆ IX_MAX

const int EEDetId::IX_MAX = 100
static

Upper bound of EE crystal y-index

Definition at line 298 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), EcalPFRecHitThresholdsMaker::analyze(), EnergyResolutionVsLumi::calcLightCollectionEfficiencyWeighted(), EnergyResolutionVsLumi::calcmuTot(), EcalLaserCondTools::dbToAscii(), EcalTPGCrystalStatusXMLTranslator::dumpXML(), ZeeCalibration::endOfJob(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalRingCalibrationTools::getDetIdsInECAL(), EcalRingCalibrationTools::getDetIdsInRing(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseShapesHandler::getNewObjects(), popcon::EcalPulseSymmCovariancesHandler::getNewObjects(), popcon::EcalPedestalsHandler::getNewObjectsP5(), EcalTrivialConditionRetriever::getTrgChannelStatusFromConfiguration(), idOuterRing(), EcalPhiSymRecHitProducerBase::initializeConfigCache(), 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::produceEcalPFRecHitThresholds(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), popcon::EcalPedestalsHandler::readPedestal2017(), popcon::EcalPedestalsHandler::readPedestalFile(), popcon::EcalPedestalsHandler::readPedestalMC(), EcalNextToDeadChannelESProducer::setupNextToDeadChannels(), and EcalCondObjectContainer< Values >::summary().

◆ IX_MIN

const int EEDetId::IX_MIN = 1
static

Lower bound of EE crystal x-index

Definition at line 290 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), EcalPFRecHitThresholdsMaker::analyze(), EnergyResolutionVsLumi::calcmuTot(), EcalLaserCondTools::dbToAscii(), ZeeCalibration::endOfJob(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseShapesHandler::getNewObjects(), popcon::EcalPulseSymmCovariancesHandler::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::produceEcalPFRecHitThresholds(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), popcon::EcalPedestalsHandler::readPedestal2017(), popcon::EcalPedestalsHandler::readPedestalFile(), popcon::EcalPedestalsHandler::readPedestalMC(), EcalNextToDeadChannelESProducer::setupNextToDeadChannels(), and validDetId().

◆ IY_MAX

const int EEDetId::IY_MAX = 100
static

Upper bound of EE crystal y-index

Definition at line 302 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), EcalPFRecHitThresholdsMaker::analyze(), EnergyResolutionVsLumi::calcmuTot(), EcalLaserCondTools::dbToAscii(), EcalTPGCrystalStatusXMLTranslator::dumpXML(), ZeeCalibration::endOfJob(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalRingCalibrationTools::getDetIdsInECAL(), EcalRingCalibrationTools::getDetIdsInRing(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseShapesHandler::getNewObjects(), popcon::EcalPulseSymmCovariancesHandler::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::produceEcalPFRecHitThresholds(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), popcon::EcalPedestalsHandler::readPedestal2017(), popcon::EcalPedestalsHandler::readPedestalFile(), popcon::EcalPedestalsHandler::readPedestalMC(), EcalNextToDeadChannelESProducer::setupNextToDeadChannels(), EcalCondObjectContainer< Values >::summary(), unhashIndex(), and validDetId().

◆ IY_MIN

const int EEDetId::IY_MIN = 1
static

Lower bound of EE crystal y-index

Definition at line 294 of file EEDetId.h.

Referenced by EcalGetLaserData::analyze(), EcalPFRecHitThresholdsMaker::analyze(), EnergyResolutionVsLumi::calcmuTot(), EcalLaserCondTools::dbToAscii(), ZeeCalibration::endOfJob(), EcalTestDevDB::generateEcalLaserAlphas(), EcalTestDevDB::generateEcalLaserAPDPNRatios(), EcalTestDevDB::generateEcalLaserAPDPNRatiosRef(), EcalTestDevDB::generateEcalLinearCorrections(), EcalTrivialConditionRetriever::getChannelStatusFromConfiguration(), EcalTrivialConditionRetriever::getIntercalibConstantsFromConfiguration(), popcon::EcalPulseShapesHandler::getNewObjects(), popcon::EcalPulseSymmCovariancesHandler::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::produceEcalPFRecHitThresholds(), EcalTrivialConditionRetriever::produceEcalTimeCalibConstants(), EcalTrivialConditionRetriever::produceEcalTimeCalibErrors(), popcon::EcalTPGBadXTHandler::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalTrgChannelStatus(), EcalTrivialConditionRetriever::produceEcalWeightXtalGroups(), StoreEcalCondition::readEcalChannelStatusFromFile(), StoreEcalCondition::readEcalGainRatiosFromFile(), StoreEcalCondition::readEcalIntercalibConstantsFromFile(), StoreEcalCondition::readEcalIntercalibConstantsMCFromFile(), popcon::EcalPedestalsHandler::readPedestal2017(), popcon::EcalPedestalsHandler::readPedestalFile(), popcon::EcalPedestalsHandler::readPedestalMC(), EcalNextToDeadChannelESProducer::setupNextToDeadChannels(), and validDetId().

◆ iYoffset

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

Definition at line 349 of file EEDetId.h.

Referenced by isc(), and iy().

◆ kdi

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

Referenced by hashedIndex(), and unhashIndex().

◆ kxf

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

Referenced by hashedIndex(), and unhashIndex().

◆ nCols

const int EEDetId::nCols = 10
staticprivate

Definition at line 346 of file EEDetId.h.

Referenced by ix(), and iy().

◆ nCrys

const int EEDetId::nCrys = 5
staticprivate

Definition at line 347 of file EEDetId.h.

Referenced by ic(), and isc().

◆ QuadColLimits

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

Definition at line 348 of file EEDetId.h.

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

◆ SCCRYSTALMODE

const int EEDetId::SCCRYSTALMODE = 1
static

Definition at line 336 of file EEDetId.h.

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

◆ XYMODE

const int EEDetId::XYMODE = 0
static