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 : | |
int | dccId () const |
get the DCC (Ecal Local DCC value not global one) id | |
EcalElectronicsId (uint32_t) | |
EcalElectronicsId () | |
EcalElectronicsId (int dccid, int towerid, int stripid, int xtalid) | |
int | linearIndex () const |
get a fast, compact, unique index for linear lookups (maximum value = 4194303) | |
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. | |
int | operator== (const EcalElectronicsId &id) const |
uint32_t | rawId () const |
int | stripId () const |
get the tower id | |
EcalSubdetector | subdet () const |
get the subdet | |
int | towerId () const |
get the tower id | |
int | xtalId () const |
get the channel id | |
int | zside () const |
zside = +1 or -1 | |
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_ |
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.
EcalElectronicsId::EcalElectronicsId | ( | ) |
Default constructor -- invalid value
Definition at line 6 of file EcalElectronicsId.cc.
References EcalElectronicsId_.
{ EcalElectronicsId_=0xFFFFFFFFu; }
EcalElectronicsId::EcalElectronicsId | ( | uint32_t | id | ) |
from raw
Definition at line 10 of file EcalElectronicsId.cc.
References EcalElectronicsId_.
{ EcalElectronicsId_=id; }
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_, Exception, MAX_DCCID, MAX_STRIPID, MAX_TOWERID, MAX_XTALID, MIN_DCCID, MIN_STRIPID, MIN_TOWERID, and MIN_XTALID.
{ if ( (dccid < MIN_DCCID) || (dccid > MAX_DCCID) || (towerid < MIN_TOWERID) || (towerid > MAX_TOWERID) || (stripid < MIN_STRIPID) || (stripid > MAX_STRIPID) || (xtalid < MIN_XTALID) || (xtalid > MAX_XTALID) ) throw cms::Exception("InvalidDetId") << "EcalElectronicsId: Cannot create object. Indexes out of bounds. Dcc tower strip xtal " << dccid << " " << towerid << " " << stripid << " " << xtalid << "."; EcalElectronicsId_= (xtalid&0x7) | ( (stripid&0x7) << 3) | ( (towerid&0x7F) << 6) | ((dccid&0x7F) << 13); }
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 EcalTestPulseAnalyzer::analyze(), EcalABAnalyzer::analyze(), EcalLaserAnalyzer::analyze(), EcalPerEvtLaserAnalyzer::analyze(), and EcalLaserAnalyzer2::analyze().
{ int dcc = dccId() ; int dcc_channel = towerId(); int quadrant = EEQuadrant(dcc, dcc_channel); int strip = stripId(); int xtal = xtalId(); int channel; if (quadrant ==1 || quadrant== 3) channel = 5*(strip-1) + xtal; else channel = 5*(xtal-1) + strip; return channel; }
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 EcalTPGParamBuilder::analyze(), EcalURecHitHists::analyze(), EcalCosmicsHists::analyze(), HLTAlCa::analyze(), EcalPulseShapeGrapher::analyze(), channelId(), EcalDQMBinningService::channelName(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EcalDccWeightBuilder::dbId(), EcalSelectiveReadoutValidation::dccCh(), EcalElectronicsMapping::MapItem::dccId(), ecaldqm::dccId(), TowerBlockFormatter::DigiToRaw(), EcalElectronicsMapping::getDCCandSC(), Numbers::getEcalScDetId(), EcalMipGraphs::getEEIndex(), EcalDisplaysByEvent::getEEIndex(), ecaldqm::MESetChannel::getIndex_(), EcalElectronicsMapping::getLMNumber(), Numbers::iSM(), EEHltTask::iSM(), EBHltTask::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(), EcalDisplaysByEvent::selectHits(), EcalMipGraphs::selectHits(), subdet(), and zside().
{ 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_.
{ return (EcalElectronicsId_)&0x3FFFFF; }
int EcalElectronicsId::operator!= | ( | const EcalElectronicsId & | id | ) | const [inline] |
Non-Equality operator
Definition at line 88 of file EcalElectronicsId.h.
References EcalElectronicsId_.
{ return id.EcalElectronicsId_!=EcalElectronicsId_; }
uint32_t EcalElectronicsId::operator() | ( | ) | [inline] |
Definition at line 31 of file EcalElectronicsId.h.
References EcalElectronicsId_.
{ 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_.
{ return EcalElectronicsId_<id.EcalElectronicsId_; }
int EcalElectronicsId::operator== | ( | const EcalElectronicsId & | id | ) | const [inline] |
Equality operator
Definition at line 86 of file EcalElectronicsId.h.
References EcalElectronicsId_.
{ return id.EcalElectronicsId_==EcalElectronicsId_; }
uint32_t EcalElectronicsId::rawId | ( | ) | const [inline] |
Definition at line 32 of file EcalElectronicsId.h.
References EcalElectronicsId_.
Referenced by ecaldqm::MESetChannel::getIndex_(), EcalTrivialConditionRetriever::getMappingFromConfiguration(), EcalMappingElectronicsHandler::getNewObjects(), and EcalDQMBinningService::idFromName().
{ return EcalElectronicsId_; }
int EcalElectronicsId::stripId | ( | ) | const [inline] |
get the tower id
Definition at line 39 of file EcalElectronicsId.h.
References EcalElectronicsId_.
Referenced by EcalTestPulseAnalyzer::analyze(), EcalTPGParamBuilder::analyze(), EcalPerEvtLaserAnalyzer::analyze(), EcalLaserAnalyzer::analyze(), EcalABAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), channelId(), EcalDQMBinningService::channelName(), EcalDccWeightBuilder::dbId(), TowerBlockFormatter::DigiToRaw(), EcalElectronicsMapper::fillMaps(), EcalMipGraphs::getEEIndex(), EcalDisplaysByEvent::getEEIndex(), Numbers::icEE(), printStatusRecords(), and EcalElectronicsMapping::MapItem::stripId().
{ return (EcalElectronicsId_>>3)&0x7; }
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().
{ int dcc = dccId(); if ( (dcc >= MIN_DCCID_EBM && dcc <= MAX_DCCID_EBM) || (dcc >= MIN_DCCID_EBP && dcc <= MAX_DCCID_EBP) ) return EcalBarrel; else return EcalEndcap; }
int EcalElectronicsId::towerId | ( | ) | const [inline] |
get the tower id
Definition at line 37 of file EcalElectronicsId.h.
References EcalElectronicsId_.
Referenced by EELedTask::analyze(), EcalTestPulseAnalyzer::analyze(), EcalTPGParamBuilder::analyze(), EcalPerEvtLaserAnalyzer::analyze(), EcalLaserAnalyzer::analyze(), EcalABAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), channelId(), EcalDQMBinningService::channelName(), popcon::EcalChannelStatusHandler::cosmicsAnalysis(), EcalDccWeightBuilder::dbId(), EcalSelectiveReadoutValidation::dccCh(), TowerBlockFormatter::DigiToRaw(), EcalElectronicsMapping::getDCCandSC(), Numbers::getEcalScDetId(), EcalMipGraphs::getEEIndex(), EcalDisplaysByEvent::getEEIndex(), ecaldqm::MESetChannel::getIndex_(), Numbers::icEE(), Numbers::iSC(), popcon::EcalChannelStatusHandler::laserAnalysis(), popcon::EcalChannelStatusHandler::nBadLaserModules(), printStatusRecords(), EcalSelectiveReadoutValidation::readOutUnitOf(), EcalElectronicsMapping::MapItem::towerId(), and ecaldqm::towerId().
{ return (EcalElectronicsId_>>6)&0x7F; }
int EcalElectronicsId::xtalId | ( | ) | const [inline] |
get the channel id
Definition at line 41 of file EcalElectronicsId.h.
References EcalElectronicsId_.
Referenced by EcalTestPulseAnalyzer::analyze(), EcalTPGParamBuilder::analyze(), EcalPerEvtLaserAnalyzer::analyze(), EcalLaserAnalyzer::analyze(), EcalABAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), channelId(), EcalDQMBinningService::channelName(), EcalDccWeightBuilder::dbId(), TowerBlockFormatter::DigiToRaw(), EcalElectronicsMapper::fillMaps(), EcalMipGraphs::getEEIndex(), EcalDisplaysByEvent::getEEIndex(), Numbers::icEE(), and printStatusRecords().
{ return (EcalElectronicsId_&0x7); }
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().
{ int dcc = dccId(); if ( (dcc >= MIN_DCCID_EEM && dcc <= MAX_DCCID_EEM)) return -1; if ( (dcc >= MIN_DCCID_EBM && dcc <= MAX_DCCID_EBM)) return -1; if ( (dcc >= MIN_DCCID_EEP && dcc <= MAX_DCCID_EEP)) return +1; if ( (dcc >= MIN_DCCID_EBP && dcc <= MAX_DCCID_EBP)) return +1; return 0; }
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] |
Definition at line 94 of file EcalElectronicsId.h.
Referenced by dccId(), EcalElectronicsId(), linearIndex(), operator!=(), operator()(), operator<(), operator==(), rawId(), stripId(), towerId(), and xtalId().
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.
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.
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] |
Definition at line 72 of file EcalElectronicsId.h.
Referenced by TCCBlockFormatter::DigiToRaw(), BlockFormatter::DigiToRaw(), and zside().
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().