13 id_ |= (((ieta + 2) & 0x7) << 11);
14 id_ |= ((subdet & 0x7) << 14);
16 id_ |= ((((((((iphi - 1) & 0x7E) + 1) / 18) * 18) + 1) & 0x7F)
20 else if (subdet == 1 || subdet == 2)
21 id_ |= (((((((iphi + 1) >> 2) & 0x1F) << 2) + 71) % 72)
23 else if (subdet == 3 && ieta == 0)
24 id_ |= (((((((iphi + 1) / 6) * 6) + 71) % 72) & 0x7F)
26 else if (subdet == 3 && ieta != 0)
27 id_ |= (((((((iphi + 1) / 12) * 12) + 71) % 72) & 0x7F)
30 id_ |= ((iphi & 0x7F) << 4);
37 | ((
abs(ieta) & 0xF) << 7)
38 | (((ieta > 0) ? (1) : (0)) << 11);
45 (dt ==
HOCrosstalk) ? (
id_ |= ((
abs(ieta) & 0xF) << 7) | (((ieta > 0) ? (1) : (0)) << 11))
46 : (
id_ |= ((
abs(ieta) & 0x1F) << 7) | (((ieta > 0) ? (1) : (0)) << 12));
56 id_ |= (value1 & 0x3F) << 10;
57 id_ |= (value2 & 0x1F) << 5;
58 id_ |= (value3 & 0x1F);
64 <<
"Cannot initialize HcalCalibDetId from " << std::hex << gen.
rawId() <<
std::dec;
69 <<
"Cannot initialize HcalCalibDetId from " << std::hex << gen.
rawId() <<
std::dec;
76 <<
"Cannot assign HcalCalibDetId from " << std::hex << gen.
rawId() <<
std::dec;
81 <<
"Cannot assign HcalCalibDetId from " << std::hex << gen.
rawId() <<
std::dec;
97 ? (((
id_ >> 11) & 0x7) - 2)
101 : (((cf ==
HBX || cf ==
HEX) ? ((
id_ >> 7) & 0x1F) *
zside() : (0)))));
107 ? ((
id_ >> 4) & 0x7F)
115 : ((cf ==
HBX || cf ==
HEX) ? (((
id_ >> 12) & 0x1) ? (1) : (-1)) : (0));
127 return "RadDam-L0-RM4";
129 return "RadDam-L7-RM4";
131 return "RadDam-L0-RM1";
133 return "RadDam-L7-RM1";
135 return "HO-Crosstalk-PIN";
137 return "HF-Scint-PIN";
151 switch (
id.hcalSubdet()) {
167 switch (
id.calibFlavor()) {
169 return s <<
"(HcalCalibBox " << sd <<
' ' <<
id.ieta() <<
"," <<
id.iphi() <<
' ' <<
id.cboxChannelString()
172 return s <<
"(HOCrosstalk " <<
id.ieta() <<
"," <<
id.iphi() <<
')';
174 return s <<
"(uMNqie " <<
id.channel() <<
')';
176 return s <<
"(LASERMON" <<
id.channel() <<
')';
178 return s <<
"(CastorRadFacility " <<
id.rm() <<
" / " <<
id.fiber() <<
" / " <<
id.channel() <<
')';
180 return s <<
"(HBX " <<
id.ieta() <<
"," <<
id.iphi() <<
")";
182 return s <<
"(HEX " <<
id.ieta() <<
"," <<
id.iphi() <<
")";
int rm() const
get the rm (where relevant)
int fiber() const
get the fiber (where relevant)
CalibDetType calibFlavor() const
get the flavor of this calibration detid
static const int cbox_RadDam_Layer7_RM4
static const int cbox_HF_ScintillatorPIN
constexpr bool null() const
is this a null id ?
constexpr uint32_t rawId() const
get the raw id
std::ostream & operator<<(std::ostream &out, const ALILine &li)
static const int cbox_RadDam_Layer7_RM1
static const int cbox_LaserMegatile
std::string cboxChannelString() const
get the calibration box channel as a string (if relevant)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
Abs< T >::type abs(const T &t)
HcalCalibDetId & operator=(const DetId &id)
int iphi() const
get the low-edge iphi (if relevant)
int zside() const
get the sign of ieta (+/-1)
HcalOtherSubdetector subdet() const
get the category
int cboxChannel() const
get the calibration box channel (if relevant)
static const int cbox_RadDam_Layer0_RM1
static const int cbox_HOCrosstalkPIN
HcalSubdetector hcalSubdet() const
get the HcalSubdetector (if relevant)
static const int cbox_MixerLow
static const int cbox_RadDam_Layer0_RM4
int channel() const
get the channel (for uMNio/qie or similar)
static const int cbox_MixerHigh
constants
constexpr Detector det() const
get the detector field from this detid