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) {
238 specs.
title =
"crystal";
247 specs.
title =
"tower";
253 specs.
title =
"tower";
295 specs.
title = isBarrel ? (iSM <
kEBpLow ?
"-ieta" :
"ieta") :
"ix";
296 }
else if (_axis == 2) {
299 specs.
title = isBarrel ?
"iphi" :
"iy";
311 if (iSM ==
unsigned(-1) || _btype !=
kCrystal)
319 specs.
title =
"pseudo-strip";
322 }
else if (_axis == 2) {
326 specs.
title =
"channel";
341 specs.
title =
"iTCC";
347 specs.
title =
"iDCC";
376 }
else if (_axis == 2) {
387 specs.
title =
"RCT iEta";
388 }
else if (_axis == 2) {
392 specs.
title =
"RCT Phi";
419 }
else if (_axis == 2) {
430 int xbin(0), ybin(0);
436 int iphi(ebid.
iphi());
437 int ieta(ebid.
ieta());
441 ybin = ieta < 0 ? ieta + 86 : ieta + 85;
446 xbin = ieta < 0 ? -ieta : ieta;
447 ybin = ieta < 0 ? (iphi - 1) % 20 + 1 : 20 - (iphi - 1) % 20;
459 xbin = eeid.
zside() < 0 ? ix : ix + 100;
471 int iSM(_iSM >= 0 ? _iSM :
dccId(_id) - 1);
472 xbin = ix -
xlow_(iSM);
473 ybin = iy -
ylow_(iSM);
516 return (nbinsX + 2) * ybin + xbin;
529 int ieta(ttid.
ieta());
530 int iphi((ttid.
iphi() + 1) % 72 + 1);
532 xbin = ieta < 0 ? ieta + 33 : ieta + 32;
536 return (nbinsX + 2) * ybin + xbin;
552 int ieta(ttid.
ieta());
553 int iphi((ttid.
iphi() + 1) % 72 + 1);
557 ybin = ieta < 0 ? ieta + 18 : ieta + 17;
562 xbin = ieta < 0 ? -ieta : ieta;
563 ybin = ieta < 0 ? (iphi - 1) % 4 + 1 : 4 - (iphi - 1) % 4;
567 xbin = ieta < 0 ? ieta + 33 : ieta + 32;
568 ybin = iphi > 70 ? iphi - 70 : iphi + 2;
574 unsigned tccid(
tccId(_id));
575 unsigned iSM(tccid <= 36 ? tccid % 18 / 2 : (tccid - 72) % 18 / 2);
579 return (nbinsX + 2) * ybin + xbin;
591 unsigned tccid(
tccId(_id));
592 unsigned iSM(tccid <= 36 ? tccid % 18 / 2 : (tccid - 72) % 18 / 2);
596 return (nbinsX + 2) * ybin + xbin;
607 int iphi(ebid.
iphi());
608 int ieta(ebid.
ieta());
611 xbin = (iphi - 1) / 5 + 1;
612 ybin = (ieta < 0 ? ieta + 85 : ieta + 84) / 5 + 1;
617 xbin = (ieta < 0 ? -ieta - 1 : ieta - 1) / 5 + 1;
618 ybin = (ieta < 0 ? (iphi - 1) % 20 : 19 - (iphi - 1) % 20) / 5 + 1;
632 xbin =
zside < 0 ? ix : ix + 20;
644 int iSM(_iSM >= 0 ? _iSM :
dccId(_id) - 1);
645 xbin = ix -
xlow_(iSM) / 5;
646 ybin = iy -
ylow_(iSM) / 5;
664 xbin = (eeid.
zside() < 0 ? ix - 1 : ix + 99) / 5 + 1;
665 ybin = (iy - 1) / 5 + 1;
670 xbin = (ix - 1) / 5 + 1;
671 ybin = (iy - 1) / 5 + 1;
676 int iSM(_iSM >= 0 ? _iSM :
dccId(_id) - 1);
677 xbin = (ix -
xlow_(iSM) - 1) / 5 + 1;
678 ybin = (iy -
ylow_(iSM) - 1) / 5 + 1;
693 int ieta(ttid.
ieta());
694 int iphi((ttid.
iphi() + 1) % 72 + 1);
698 ybin = ieta < 0 ? ieta + 18 : ieta + 17;
703 xbin = ieta < 0 ? -ieta : ieta;
704 ybin = ieta < 0 ? (iphi - 1) % 4 + 1 : 4 - (iphi - 1) % 4;
712 return (nbinsX + 2) * ybin + xbin;
719 int iDCC(_id.
dccId() - 1);
722 unsigned towerid(_id.
towerId());
726 xbin = 4 * ((iDCC - 9) % 18) + (isEBm ? towerid - 1 : 68 - towerid) % 4 + 1;
727 ybin = (towerid - 1) / 4 * (isEBm ? -1 : 1) + (isEBm ? 18 : 17);
732 xbin = (towerid - 1) / 4 + 1;
733 ybin = (isEBm ? towerid - 1 : 68 - towerid) % 4 + 1;
743 return (nbinsX + 2) * ybin + xbin;
int findBinCrystal_(ObjectType, DetId const &, int=-1)
unsigned memDCCIndex(unsigned)
int findBinRCT_(ObjectType, DetId const &)
int findBinTriggerTower_(ObjectType, DetId const &)
std::vector< DetId > dccConstituents(int dccId) const
Get the constituent detids for this dccId.
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
bool isBarrel(GeomDetEnumerators::SubDetector m)
EcalElectronicsMapping const * getElectronicsMap()
unsigned tccId(DetId const &)
int towerId() const
get the tower id
unsigned nSuperCrystals(unsigned)
int ieta() const
get the tower ieta
int iphi() const
get the crystal iphi
bool isEndcapTTId(DetId const &)
int iPnId() const
get the PnId
int findBinSuperCrystal_(ObjectType, DetId const &, int=-1)
AxisSpecs getBinningSMMEM_(BinningType, bool, unsigned, int)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
AxisSpecs getBinningEB_(BinningType, bool, int)
EcalTrigTowerDetId tower() const
get the HCAL/trigger iphi of this crystal
int ieta() const
get the crystal ieta
AxisSpecs getBinningSM_(BinningType, bool, unsigned, int)
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
bool isEcalScDetId(DetId const &)
unsigned memDCCId(unsigned)
int iphi() const
get the tower iphi
AxisSpecs getBinningEE_(BinningType, bool, int, int)
int findBinPseudoStrip_(ObjectType, DetId const &)
AxisSpecs getBinningMEM_(BinningType, bool, int, int)
unsigned dccId(DetId const &)
AxisSpecs getBinningEcal_(BinningType, bool, int)