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";
296 specs.
title = isBarrel ? (iSM <
kEBpLow ?
"-ieta" :
"ieta") :
"ix";
297 }
else if (_axis == 2) {
300 specs.
title = isBarrel ?
"iphi" :
"iy";
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);
440 int iphi(ebid.
iphi());
441 int ieta(ebid.
ieta());
445 ybin = ieta < 0 ? ieta + 86 : ieta + 85;
450 xbin = ieta < 0 ? -ieta : ieta;
451 ybin = ieta < 0 ? (iphi - 1) % 20 + 1 : 20 - (iphi - 1) % 20;
463 xbin = eeid.
zside() < 0 ? ix : ix + 100;
475 int iSM(_iSM >= 0 ? _iSM :
dccId(_id, electronicsMap) - 1);
476 xbin = ix -
xlow_(iSM);
477 ybin = iy -
ylow_(iSM);
520 return (nbinsX + 2) * ybin + xbin;
533 int ieta(ttid.
ieta());
534 int iphi((ttid.
iphi() + 1) % 72 + 1);
536 xbin = ieta < 0 ? ieta + 33 : ieta + 32;
540 return (nbinsX + 2) * ybin + xbin;
556 int ieta(ttid.
ieta());
557 int iphi((ttid.
iphi() + 1) % 72 + 1);
561 ybin = ieta < 0 ? ieta + 18 : ieta + 17;
566 xbin = ieta < 0 ? -ieta : ieta;
567 ybin = ieta < 0 ? (iphi - 1) % 4 + 1 : 4 - (iphi - 1) % 4;
571 xbin = ieta < 0 ? ieta + 33 : ieta + 32;
572 ybin = iphi > 70 ? iphi - 70 : iphi + 2;
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;
614 int iphi(ebid.
iphi());
615 int ieta(ebid.
ieta());
618 xbin = (iphi - 1) / 5 + 1;
619 ybin = (ieta < 0 ? ieta + 85 : ieta + 84) / 5 + 1;
624 xbin = (ieta < 0 ? -ieta - 1 : ieta - 1) / 5 + 1;
625 ybin = (ieta < 0 ? (iphi - 1) % 20 : 19 - (iphi - 1) % 20) / 5 + 1;
639 xbin =
zside < 0 ? ix : ix + 20;
651 int iSM(_iSM >= 0 ? _iSM :
dccId(_id, electronicsMap) - 1);
652 xbin = ix -
xlow_(iSM) / 5;
653 ybin = iy -
ylow_(iSM) / 5;
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;
700 int ieta(ttid.
ieta());
701 int iphi((ttid.
iphi() + 1) % 72 + 1);
705 ybin = ieta < 0 ? ieta + 18 : ieta + 17;
710 xbin = ieta < 0 ? -ieta : ieta;
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;
unsigned memDCCIndex(unsigned)
int findBinRCT_(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 [...
int findBinPseudoStrip_(EcalElectronicsMapping const *, ObjectType, DetId const &)
int findBinCrystal_(EcalElectronicsMapping const *, ObjectType, DetId const &, int=-1)
int towerId() const
get the tower id
AxisSpecs getBinningSM_(BinningType, bool, unsigned, int, EcalElectronicsMapping const *)
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
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) ...
unsigned dccId(DetId const &, EcalElectronicsMapping const *)
AxisSpecs getBinningEB_(BinningType, bool, int)
EcalTrigTowerDetId tower() const
get the HCAL/trigger iphi of this crystal
int ieta() const
get the crystal ieta
int findBinTriggerTower_(EcalElectronicsMapping const *, ObjectType, DetId const &)
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
bool isEcalScDetId(DetId const &)
for(Iditer=Id.begin();Iditer!=Id.end();Iditer++)
unsigned memDCCId(unsigned)
int findBinSuperCrystal_(EcalElectronicsMapping const *, ObjectType, DetId const &, int=-1)
int iphi() const
get the tower iphi
unsigned tccId(DetId const &, EcalElectronicsMapping const *)
AxisSpecs getBinningEE_(BinningType, bool, int, int)
DetId getDetId(const EcalElectronicsId &id) const
Get the detid given an electronicsId.
AxisSpecs getBinningMEM_(BinningType, bool, int, int)
AxisSpecs getBinningEcal_(BinningType, bool, int)