CMS 3D CMS Logo

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

Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [2:0] xtal Index starts from 1. More...

#include <EcalElectronicsId.h>

Public Member Functions

int channelId () const
 so far for EndCap only : More...
 
int dccId () const
 get the DCC (Ecal Local DCC value not global one) id More...
 
 EcalElectronicsId ()
 
 EcalElectronicsId (uint32_t)
 
 EcalElectronicsId (int dccid, int towerid, int stripid, int xtalid)
 
int linearIndex () const
 get a fast, compact, unique index for linear lookups (maximum value = 4194303) More...
 
int operator!= (const EcalElectronicsId &id) const
 
uint32_t operator() ()
 
int operator< (const EcalElectronicsId &id) const
 Compare the id to another id for use in a map. More...
 
int operator== (const EcalElectronicsId &id) const
 
uint32_t rawId () const
 
int stripId () const
 get the tower id More...
 
EcalSubdetector subdet () const
 get the subdet More...
 
int towerId () const
 get the tower id More...
 
int xtalId () const
 get the channel id More...
 
int zside () const
 zside = +1 or -1 More...
 

Static Public Attributes

static const int DCC_EBM = 10
 
static const int DCC_EBP = 28
 
static const int DCC_EEM = 1
 
static const int DCC_EEP = 46
 
static const int DCCID_PHI0_EBM = 10
 
static const int DCCID_PHI0_EBP = 28
 
static const int kDCCChannelBoundary = 17
 
static const int MAX_CHANNELID = 25
 
static const int MAX_DCCID = 54
 
static const int MAX_DCCID_EBM = 27
 
static const int MAX_DCCID_EBP = 45
 
static const int MAX_DCCID_EEM = 9
 
static const int MAX_DCCID_EEP = 54
 
static const int MAX_STRIPID = 5
 
static const int MAX_TOWERID = 70
 
static const int MAX_XTALID = 5
 
static const int MIN_CHANNELID = 1
 
static const int MIN_DCCID = 1
 
static const int MIN_DCCID_EBM = 10
 
static const int MIN_DCCID_EBP = 28
 
static const int MIN_DCCID_EEM = 1
 
static const int MIN_DCCID_EEP = 46
 
static const int MIN_STRIPID = 1
 
static const int MIN_TOWERID = 1
 
static const int MIN_XTALID = 1
 

Private Attributes

uint32_t EcalElectronicsId_
 

Detailed Description

Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [2:0] xtal Index starts from 1.

Definition at line 20 of file EcalElectronicsId.h.

Constructor & Destructor Documentation

EcalElectronicsId::EcalElectronicsId ( )

Default constructor – invalid value

Definition at line 6 of file EcalElectronicsId.cc.

References EcalElectronicsId_.

6  {
7  EcalElectronicsId_=0xFFFFFFFFu;
8 }
EcalElectronicsId::EcalElectronicsId ( uint32_t  id)

from raw

Definition at line 10 of file EcalElectronicsId.cc.

References EcalElectronicsId_.

10  {
12 }
EcalElectronicsId::EcalElectronicsId ( int  dccid,
int  towerid,
int  stripid,
int  xtalid 
)

Constructor from dcc,tower,channel

Definition at line 14 of file EcalElectronicsId.cc.

References EcalElectronicsId_, edm::hlt::Exception, MAX_DCCID, MAX_STRIPID, MAX_TOWERID, MAX_XTALID, MIN_DCCID, MIN_STRIPID, MIN_TOWERID, and MIN_XTALID.

14  {
15  if ( (dccid < MIN_DCCID) || (dccid > MAX_DCCID) ||
16  (towerid < MIN_TOWERID) || (towerid > MAX_TOWERID) ||
17  (stripid < MIN_STRIPID) || (stripid > MAX_STRIPID) ||
18  (xtalid < MIN_XTALID) || (xtalid > MAX_XTALID) )
19  throw cms::Exception("InvalidDetId") << "EcalElectronicsId: Cannot create object. Indexes out of bounds. Dcc tower strip xtal " << dccid << " " << towerid << " " << stripid << " " << xtalid << ".";
20  EcalElectronicsId_= (xtalid&0x7) | ( (stripid&0x7) << 3) | ( (towerid&0x7F) << 6) | ((dccid&0x7F) << 13);
21 }
static const int MAX_XTALID
static const int MIN_TOWERID
static const int MIN_STRIPID
static const int MIN_DCCID
static const int MIN_XTALID
static const int MAX_DCCID
static const int MAX_TOWERID
static const int MAX_STRIPID

Member Function Documentation

int EcalElectronicsId::channelId ( ) const

so far for EndCap only :

Definition at line 70 of file EcalElectronicsId.cc.

References dccId(), EEQuadrant(), stripId(), towerId(), and xtalId().

Referenced by EcalABAnalyzer::analyze(), EcalPerEvtLaserAnalyzer::analyze(), EcalTestPulseAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), and EcalLaserAnalyzer::analyze().

70  {
71  int dcc = dccId() ;
72  int dcc_channel = towerId();
73  int quadrant = EEQuadrant(dcc, dcc_channel);
74  int strip = stripId();
75  int xtal = xtalId();
76  int channel;
77  if (quadrant ==1 || quadrant== 3) channel = 5*(strip-1) + xtal;
78  else channel = 5*(xtal-1) + strip;
79  return channel;
80 }
static int EEQuadrant(int dcc, int dcc_channel)
int xtalId() const
get the channel id
int stripId() const
get the tower id
int towerId() const
get the tower id
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
int EcalElectronicsId::dccId ( ) const
inline

get the DCC (Ecal Local DCC value not global one) id

Definition at line 35 of file EcalElectronicsId.h.

References EcalElectronicsId_.

Referenced by EcalPulseShapeGrapher::analyze(), EcalURecHitHists::analyze(), HLTAlCa::analyze(), EcalTPGParamBuilder::analyze(), EcalCosmicsHists::analyze(), channelId(), EcalDQMBinningService::channelName(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EcalDccWeightBuilder::dbId(), EcalSelectiveReadoutValidation::dccCh(), ecaldqm::dccId(), EcalElectronicsMapping::MapItem::dccId(), TowerBlockFormatter::DigiToRaw(), EcalElectronicsMapping::getDCCandSC(), Numbers::getEcalScDetId(), EcalMipGraphs::getEEIndex(), EcalDisplaysByEvent::getEEIndex(), ecaldqm::MESetChannel::getIndex_(), EcalElectronicsMapping::getLMNumber(), Numbers::iSM(), EBHltTask::iSM(), EEHltTask::iSM(), popcon::EcalChannelStatusHandler::laserAnalysis(), EcalDisplaysByEvent::makeHistos(), popcon::EcalChannelStatusHandler::nBadLaserModules(), popcon::EcalChannelStatusHandler::pedAnalysis(), printStatusRecords(), EcalDigiToRaw::produce(), EcalPedOffset::readDACs(), EcalDigiDisplay::readEBDigis(), EcalPedHists::readEBdigis(), EcalDigiDisplay::readEEDigis(), EcalPedHists::readEEdigis(), EcalSelectiveReadoutValidation::readOutUnitOf(), EcalMipGraphs::selectDigi(), EcalDisplaysByEvent::selectDigi(), EcalMipGraphs::selectHits(), EcalDisplaysByEvent::selectHits(), subdet(), and zside().

35 { return (EcalElectronicsId_>>13)&0x7F; }
int EcalElectronicsId::linearIndex ( ) const
inline

get a fast, compact, unique index for linear lookups (maximum value = 4194303)

Definition at line 50 of file EcalElectronicsId.h.

References EcalElectronicsId_.

50 { return (EcalElectronicsId_)&0x3FFFFF; }
int EcalElectronicsId::operator!= ( const EcalElectronicsId id) const
inline

Non-Equality operator

Definition at line 88 of file EcalElectronicsId.h.

References EcalElectronicsId_.

88 { return id.EcalElectronicsId_!=EcalElectronicsId_; }
uint32_t EcalElectronicsId::operator() ( )
inline

Definition at line 31 of file EcalElectronicsId.h.

References EcalElectronicsId_.

31 { return EcalElectronicsId_; }
int EcalElectronicsId::operator< ( const EcalElectronicsId id) const
inline

Compare the id to another id for use in a map.

Definition at line 90 of file EcalElectronicsId.h.

References EcalElectronicsId_.

90 { return EcalElectronicsId_<id.EcalElectronicsId_; }
int EcalElectronicsId::operator== ( const EcalElectronicsId id) const
inline

Equality operator

Definition at line 86 of file EcalElectronicsId.h.

References EcalElectronicsId_.

86 { return id.EcalElectronicsId_==EcalElectronicsId_; }
uint32_t EcalElectronicsId::rawId ( ) const
inline
int EcalElectronicsId::stripId ( ) const
inline
EcalSubdetector EcalElectronicsId::subdet ( ) const

get the subdet

Definition at line 24 of file EcalElectronicsId.cc.

References dccId(), EcalBarrel, EcalEndcap, MAX_DCCID_EBM, MAX_DCCID_EBP, MIN_DCCID_EBM, and MIN_DCCID_EBP.

Referenced by EcalElectronicsMapping::getElectronicsId(), and EcalDetIdToBeRecoveredProducer::produce().

24  {
25  int dcc = dccId();
26  if ( (dcc >= MIN_DCCID_EBM && dcc <= MAX_DCCID_EBM) ||
27  (dcc >= MIN_DCCID_EBP && dcc <= MAX_DCCID_EBP) ) return EcalBarrel;
28  else return EcalEndcap;
29 }
static const int MAX_DCCID_EBM
static const int MAX_DCCID_EBP
static const int MIN_DCCID_EBM
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
static const int MIN_DCCID_EBP
int EcalElectronicsId::towerId ( ) const
inline
int EcalElectronicsId::xtalId ( ) const
inline
int EcalElectronicsId::zside ( ) const

zside = +1 or -1

Definition at line 31 of file EcalElectronicsId.cc.

References dccId(), MAX_DCCID_EBM, MAX_DCCID_EBP, MAX_DCCID_EEM, MAX_DCCID_EEP, MIN_DCCID_EBM, MIN_DCCID_EBP, MIN_DCCID_EEM, and MIN_DCCID_EEP.

Referenced by EcalSelectiveReadout::eeRuInterest().

31  {
32  int dcc = dccId();
33  if ( (dcc >= MIN_DCCID_EEM && dcc <= MAX_DCCID_EEM)) return -1;
34  if ( (dcc >= MIN_DCCID_EBM && dcc <= MAX_DCCID_EBM)) return -1;
35  if ( (dcc >= MIN_DCCID_EEP && dcc <= MAX_DCCID_EEP)) return +1;
36  if ( (dcc >= MIN_DCCID_EBP && dcc <= MAX_DCCID_EBP)) return +1;
37  return 0;
38 }
static const int MAX_DCCID_EBM
static const int MAX_DCCID_EBP
static const int MIN_DCCID_EBM
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
static const int MAX_DCCID_EEM
static const int MIN_DCCID_EBP
static const int MAX_DCCID_EEP
static const int MIN_DCCID_EEM
static const int MIN_DCCID_EEP

Member Data Documentation

const int EcalElectronicsId::DCC_EBM = 10
static

Definition at line 79 of file EcalElectronicsId.h.

const int EcalElectronicsId::DCC_EBP = 28
static

Definition at line 80 of file EcalElectronicsId.h.

const int EcalElectronicsId::DCC_EEM = 1
static

Definition at line 81 of file EcalElectronicsId.h.

Referenced by EEQuadrant().

const int EcalElectronicsId::DCC_EEP = 46
static

Definition at line 82 of file EcalElectronicsId.h.

Referenced by EEQuadrant().

const int EcalElectronicsId::DCCID_PHI0_EBM = 10
static

Definition at line 75 of file EcalElectronicsId.h.

const int EcalElectronicsId::DCCID_PHI0_EBP = 28
static

Definition at line 76 of file EcalElectronicsId.h.

uint32_t EcalElectronicsId::EcalElectronicsId_
private
const int EcalElectronicsId::kDCCChannelBoundary = 17
static

Definition at line 78 of file EcalElectronicsId.h.

Referenced by EEQuadrant().

const int EcalElectronicsId::MAX_CHANNELID = 25
static

Definition at line 61 of file EcalElectronicsId.h.

const int EcalElectronicsId::MAX_DCCID = 54
static

Definition at line 55 of file EcalElectronicsId.h.

Referenced by EcalElectronicsId().

const int EcalElectronicsId::MAX_DCCID_EBM = 27
static

Definition at line 69 of file EcalElectronicsId.h.

Referenced by subdet(), and zside().

const int EcalElectronicsId::MAX_DCCID_EBP = 45
static

Definition at line 71 of file EcalElectronicsId.h.

Referenced by BlockFormatter::DigiToRaw(), subdet(), and zside().

const int EcalElectronicsId::MAX_DCCID_EEM = 9
static

Definition at line 67 of file EcalElectronicsId.h.

Referenced by TCCBlockFormatter::DigiToRaw(), and zside().

const int EcalElectronicsId::MAX_DCCID_EEP = 54
static

Definition at line 73 of file EcalElectronicsId.h.

Referenced by TCCBlockFormatter::DigiToRaw(), and zside().

const int EcalElectronicsId::MAX_STRIPID = 5
static

Definition at line 59 of file EcalElectronicsId.h.

Referenced by EcalElectronicsId().

const int EcalElectronicsId::MAX_TOWERID = 70
static

Definition at line 57 of file EcalElectronicsId.h.

Referenced by EcalElectronicsId().

const int EcalElectronicsId::MAX_XTALID = 5
static

Definition at line 63 of file EcalElectronicsId.h.

Referenced by EcalElectronicsId().

const int EcalElectronicsId::MIN_CHANNELID = 1
static

Definition at line 62 of file EcalElectronicsId.h.

const int EcalElectronicsId::MIN_DCCID = 1
static

Definition at line 56 of file EcalElectronicsId.h.

Referenced by EcalElectronicsId().

const int EcalElectronicsId::MIN_DCCID_EBM = 10
static

Definition at line 68 of file EcalElectronicsId.h.

Referenced by BlockFormatter::DigiToRaw(), subdet(), and zside().

const int EcalElectronicsId::MIN_DCCID_EBP = 28
static

Definition at line 70 of file EcalElectronicsId.h.

Referenced by subdet(), and zside().

const int EcalElectronicsId::MIN_DCCID_EEM = 1
static

Definition at line 66 of file EcalElectronicsId.h.

Referenced by TCCBlockFormatter::DigiToRaw(), and zside().

const int EcalElectronicsId::MIN_DCCID_EEP = 46
static
const int EcalElectronicsId::MIN_STRIPID = 1
static

Definition at line 60 of file EcalElectronicsId.h.

Referenced by EcalElectronicsId().

const int EcalElectronicsId::MIN_TOWERID = 1
static

Definition at line 58 of file EcalElectronicsId.h.

Referenced by EcalElectronicsId().

const int EcalElectronicsId::MIN_XTALID = 1
static

Definition at line 64 of file EcalElectronicsId.h.

Referenced by EcalElectronicsId().