82 return ((_iSM -
kEBmLow) % 18) * 20;
84 return (-1 - ((_iSM -
kEBpLow) % 18)) * 20;
143 specs.title =
"iphi";
144 }
else if (_axis == 2) {
147 specs.title =
"ieta";
160 specs.nbins = _zside ? 36 : 72;
162 specs.high = _zside ? 36. : 72.;
163 specs.title =
"iTCC";
166 specs.nbins = _zside ? 9 : 18;
168 specs.high = _zside ? 9. : 18.;
197 specs.nbins = _zside ? 100 : 200;
203 specs.nbins = _zside ? 20 : 40;
213 specs.high = _zside ? 100. : 200.;
215 }
else if (_axis == 2) {
239 specs.title =
"crystal";
248 specs.title =
"tower";
254 specs.title =
"tower";
297 }
else if (_axis == 2) {
312 if (iSM ==
unsigned(-1) || _btype !=
kCrystal)
320 specs.title =
"pseudo-strip";
323 }
else if (_axis == 2) {
327 specs.title =
"channel";
342 specs.title =
"iTCC";
348 specs.title =
"iDCC";
377 }
else if (_axis == 2) {
388 specs.title =
"RCT iEta";
389 }
else if (_axis == 2) {
393 specs.title =
"RCT Phi";
420 }
else if (_axis == 2) {
434 int xbin(0), ybin(0);
451 ybin =
ieta < 0 ? (
iphi - 1) % 20 + 1 : 20 - (
iphi - 1) % 20;
475 int iSM(_iSM >= 0 ? _iSM :
dccId(_id, electronicsMap) - 1);
520 return (
nbinsX + 2) * ybin + xbin;
534 int iphi((ttid.
iphi() + 1) % 72 + 1);
540 return (
nbinsX + 2) * ybin + xbin;
557 int iphi((ttid.
iphi() + 1) % 72 + 1);
567 ybin =
ieta < 0 ? (
iphi - 1) % 4 + 1 : 4 - (
iphi - 1) % 4;
578 unsigned tccid(
tccId(_id, electronicsMap));
579 unsigned iSM(tccid <= 36 ? tccid % 18 / 2 : (tccid - 72) % 18 / 2);
583 return (
nbinsX + 2) * ybin + xbin;
595 unsigned tccid(
tccId(_id, electronicsMap));
596 unsigned iSM(tccid <= 36 ? tccid % 18 / 2 : (tccid - 72) % 18 / 2);
600 return (
nbinsX + 2) * ybin + xbin;
618 xbin = (
iphi - 1) / 5 + 1;
625 ybin = (
ieta < 0 ? (
iphi - 1) % 20 : 19 - (
iphi - 1) % 20) / 5 + 1;
651 int iSM(_iSM >= 0 ? _iSM :
dccId(_id, electronicsMap) - 1);
671 xbin = (eeid.
zside() < 0 ?
ix - 1 :
ix + 99) / 5 + 1;
672 ybin = (
iy - 1) / 5 + 1;
677 xbin = (
ix - 1) / 5 + 1;
678 ybin = (
iy - 1) / 5 + 1;
683 int iSM(_iSM >= 0 ? _iSM :
dccId(_id, electronicsMap) - 1);
684 xbin = (
ix -
xlow_(iSM) - 1) / 5 + 1;
685 ybin = (
iy -
ylow_(iSM) - 1) / 5 + 1;
701 int iphi((ttid.
iphi() + 1) % 72 + 1);
711 ybin =
ieta < 0 ? (
iphi - 1) % 4 + 1 : 4 - (
iphi - 1) % 4;
719 return (
nbinsX + 2) * ybin + xbin;
728 int iDCC(_id.
dccId() - 1);
731 unsigned towerid(_id.
towerId());
735 xbin = 4 * ((iDCC - 9) % 18) + (isEBm ? towerid - 1 : 68 - towerid) % 4 + 1;
736 ybin = (towerid - 1) / 4 * (isEBm ? -1 : 1) + (isEBm ? 18 : 17);
741 xbin = (towerid - 1) / 4 + 1;
744 ybin = (towerid - 1) % 4 + 1;
754 return (
nbinsX + 2) * ybin + xbin;
static constexpr int nEBSMEta
unsigned memDCCIndex(unsigned)
int findBinRCT_(ObjectType, DetId const &)
static constexpr int nEESMXExt
int ieta() const
get the tower ieta
for(int i=first, nt=offsets[nh];i< nt;i+=gridDim.x *blockDim.x)
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
int iphi() const
get the crystal iphi
int findBinPseudoStrip_(EcalElectronicsMapping const *, ObjectType, DetId const &)
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
int findBinCrystal_(EcalElectronicsMapping const *, ObjectType, DetId const &, int=-1)
static constexpr int nEESMYRed
static constexpr int nEBSMPhi
std::vector< DetId > dccConstituents(int dccId) const
Get the constituent detids for this dccId.
AxisSpecs getBinningSM_(BinningType, bool, unsigned, int, EcalElectronicsMapping const *)
static constexpr int nTTOuter
unsigned nSuperCrystals(unsigned)
static constexpr int nEESMX
int ieta() const
get the crystal ieta
bool isEndcapTTId(DetId const &)
int towerId() const
get the tower id
AxisSpecs getBinningSMMEM_(BinningType, bool, unsigned, int)
static constexpr int nEEEtaBins
unsigned dccId(DetId const &, EcalElectronicsMapping const *)
AxisSpecs getBinningEB_(BinningType, bool, int)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
int findBinTriggerTower_(EcalElectronicsMapping const *, ObjectType, DetId const &)
bool isEcalScDetId(DetId const &)
unsigned memDCCId(unsigned)
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t ix(uint32_t id)
int findBinSuperCrystal_(EcalElectronicsMapping const *, ObjectType, DetId const &, int=-1)
static constexpr int nEBEtaBins
unsigned tccId(DetId const &, EcalElectronicsMapping const *)
AxisSpecs getBinningEE_(BinningType, bool, int, int)
int iPnId() const
get the PnId
static constexpr int nEESMXRed
static constexpr int nTTInner
static constexpr int nPhiBins
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t iy(uint32_t id)
EcalTrigTowerDetId tower() const
get the HCAL/trigger iphi of this crystal
int iphi() const
get the tower iphi
AxisSpecs getBinningMEM_(BinningType, bool, int, int)
AxisSpecs getBinningEcal_(BinningType, bool, int)
static constexpr int nEESMY
DetId getDetId(const EcalElectronicsId &id) const
Get the detid given an electronicsId.