22 unsigned iDCC(
dccId(_id, electronicsMap) - 1);
23 if (iDCC <= kEEmHigh || iDCC >=
kEEpLow) {
26 2010000000UL + 1000000 * (eeid.
positiveZ() ? 2 : 0) + 1000 * eeid.
ix() + eeid.
iy(),
33 return EcalLogicID(
"EB_crystal_number", 1011000000UL + 10000 * ism + ebid.
ic(),
ism, ebid.
ic());
38 unsigned iDCC(_id.
dccId() - 1);
39 if (iDCC <= kEEmHigh || iDCC >=
kEEpLow) {
41 "EE_readout_tower", 2110000000UL + 100 * (601 + iDCC) + _id.
towerId(), 601 + iDCC, _id.
towerId());
51 unsigned iDCC(_id.
iDCCId() - 1);
52 int memId((_id.
iPnId() - 1) % 5 + ((_id.
iPnId() - 1) / 5) * 25 + 1);
53 if (iDCC <= kEEmHigh || iDCC >=
kEEpLow) {
54 return EcalLogicID(
"EE_mem_channel", 100 * (601 + iDCC) + memId, 601 + iDCC, memId);
57 return EcalLogicID(
"EB_mem_channel", 1191000000UL + 10000 * ism + memId, ism, memId);
62 unsigned iDCC(_id.
dccId() - 1);
63 if (iDCC <= kEEmHigh || iDCC >=
kEEpLow) {
72 unsigned iDCC(_id.
iDCCId() - 1);
73 int pnid(_id.
iPnId());
74 if (iDCC <= kEEmHigh || iDCC >=
kEEpLow) {
75 return EcalLogicID(
"EE_LM_PN", 100 * (601 + iDCC) + pnid, 601 + iDCC, pnid);
78 return EcalLogicID(
"EB_LM_PN", 1131000000UL + 10000 * ism + pnid, ism, pnid);
EcalLogicID crystalID(DetId const &, EcalElectronicsMapping const *)
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
int towerId() const
get the tower id
int iPnId() const
get the PnId
unsigned dccId(DetId const &, EcalElectronicsMapping const *)
EcalLogicID memChannelID(EcalPnDiodeDetId const &)
DetId toDetId(EcalLogicID const &)
int iDCCId() const
get the DCCId
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
int ic() const
get ECAL/crystal number inside SM
EcalLogicID lmPNID(EcalPnDiodeDetId const &)
EcalLogicID subdetID(EcalSubdetector)
EcalLogicID towerID(EcalElectronicsId const &)
EcalLogicID memTowerID(EcalElectronicsId const &)
int ism(int ieta, int iphi)