6 namespace hashfunctions {
43 int iphi = did.
iphi();
45 if (iphi >= 3 && iphi <= 26)
47 else if (iphi >= 27 && iphi <= 50)
89 int iphi = std::stoi(name.substr(6, name.length() - 6),
nullptr);
106 int ieta = std::stoi(name.substr(6, name.length() - 6),
nullptr);
123 int depth = std::stoi(name.substr(7, name.length() - 7),
nullptr);
140 int iphi = std::stoi(name.substr(7, name.length() - 7),
nullptr);
150 sprintf(name,
"iphi%d", did.
iphi());
155 int iphi = std::stoi(name.substr(4, name.length() - 4),
nullptr);
161 sprintf(name,
"ieta%d", did.
ieta());
166 int ieta = std::stoi(name.substr(4, name.length() - 4),
nullptr);
172 sprintf(name,
"depth%d", did.
depth());
177 int depth = std::stoi(name.substr(5, name.length() - 5),
nullptr);
183 snprintf(name,
sizeof(name),
"HF%ciphi%d", did.
ieta() > 0 ?
'P' :
'M', did.
iphi());
188 int iphi = std::stoi(name.substr(7, name.length() - 7),
nullptr);
189 int ieta = name[2] ==
'P' ? 1 : -1;
195 if (did.
iphi() >= 3 && did.
iphi() <= 26)
197 else if (did.
iphi() >= 27 && did.
iphi() <= 50)
202 sprintf(name,
"HBHE%c", c);
209 else if (name[4] ==
'b')
326 int fed = std::stoi(name.substr(3, name.length() - 3),
nullptr);
346 int pos = name.find(
"S");
347 int fed = std::stoi(name.substr(3, pos - 3),
nullptr);
348 int s = std::stoi(name.substr(pos + 1, name.length() - pos - 1),
nullptr);
368 int pos = name.find(
"S");
369 int fed = std::stoi(name.substr(3, pos - 3),
nullptr);
370 int s = std::stoi(name.substr(pos + 1, name.length() - pos - 1),
nullptr);
382 sprintf(name,
"Crate%d", eid.
crateId());
502 else if (name ==
"HBHEP")
504 else if (name ==
"HFM")
519 int pos = name.find(
"iphi");
521 int iphi = std::stoi(name.substr(pos + 4, name.length() - pos - 4),
nullptr);
524 else if (name ==
"HBHEP")
526 else if (name ==
"HFM")
541 sprintf(name,
"depth%d", tid.
depth());
546 int depth = std::stoi(name.substr(5, name.length() - 5),
nullptr);
551 std::ostringstream stream;
std::string name_CrateSpigot(HcalElectronicsId const &)
constexpr uint32_t rawId() const
std::string name_Electronics(HcalElectronicsId const &)
uint32_t hash_Subdetdepth(HcalDetId const &)
std::string name_CrateSlot(HcalElectronicsId const &)
std::string name_Crate(HcalElectronicsId const &)
uint32_t hash_SubdetPM(HcalDetId const &)
uint32_t hash_SubdetPMiphi(HcalDetId const &)
HcalSubdetector subdet() const
get the subdetector
std::string name_FiberFiberCh(HcalElectronicsId const &)
uint32_t hash_TTSubdet(HcalTrigTowerDetId const &)
std::pair< uint16_t, uint16_t > fed2crate(int fed)
uint32_t hash_Subdetiphi(HcalDetId const &)
std::string const TPSUBDETPM_NAME[2 *TPSUBDET_NUM]
std::string name_TTdepth(HcalTrigTowerDetId const &)
std::string name_FiberCh(HcalElectronicsId const &)
std::string name_TChannel(HcalTrigTowerDetId const &)
uint32_t hash_Subdetieta(HcalDetId const &)
std::string name_Subdetieta(HcalDetId const &)
std::string name_Subdetiphi(HcalDetId const &)
uint32_t hash_Crate(HcalElectronicsId const &)
uint32_t hash_iphi(HcalDetId const &)
uint16_t crate2fed(int crate, int slot)
uint32_t hash_FED(HcalElectronicsId const &)
constexpr uint32_t rawId() const
get the raw id
uint32_t hash_DChannel(HcalDetId const &)
uint32_t hash_TTSubdetieta(HcalTrigTowerDetId const &)
uint32_t hash_FiberFiberCh(HcalElectronicsId const &)
std::string name_EChannel(HcalElectronicsId const &)
constexpr int dccid() const
get the (Hcal local) DCC id for VME, crate number for uTCA
int ieta() const
get the tower ieta
std::string name_FEDSpigot(HcalElectronicsId const &)
uint32_t hash_Fiber(HcalElectronicsId const &)
uint32_t hash_TTSubdetPM(HcalTrigTowerDetId const &)
std::string name_TTSubdet(HcalTrigTowerDetId const &)
std::string name_SubdetPM(HcalDetId const &)
int depth() const
get the depth (zero for LHC Run 1, may be nonzero for later runs)
int depth() const
get the tower depth
std::string name_TTSubdetieta(HcalTrigTowerDetId const &)
std::string const SUBDET_NAME[SUBDET_NUM]
uint32_t hash_TChannel(HcalTrigTowerDetId const &)
uint32_t hash(HcalDetId const &)
constexpr bool isVMEid() const
uint32_t hash_FEDSpigot(HcalElectronicsId const &)
uint32_t hash_depth(HcalDetId const &)
std::string name_DChannel(HcalDetId const &)
int ieta() const
get the cell ieta
std::string const SUBDETPM_NAME[2 *SUBDET_NUM]
int const FIBER_uTCA_MIN1
std::string name_HFPMiphi(HcalDetId const &)
constexpr int spigot() const
get the spigot (input number on DCC, AMC card number for uTCA)
constexpr int crateId() const
get the readout VME crate number
uint32_t hash_TTSubdetPMiphi(HcalTrigTowerDetId const &)
uint32_t hash_FEDSlot(HcalElectronicsId const &)
uint32_t hash_Subdet(HcalDetId const &)
uint32_t hash_FiberCh(HcalElectronicsId const &)
uint32_t hash_ieta(HcalDetId const &)
std::string name_TTSubdetPMiphi(HcalTrigTowerDetId const &)
int iphi() const
get the cell iphi
std::string name_SubdetPMiphi(HcalDetId const &)
constexpr int fiberIndex() const
get the fiber index. For VME 1-8 (which of eight fibers carried by a spigot), for uTCA fibers are zer...
uint32_t hash_HFPMiphi(HcalDetId const &)
std::string const TPSUBDET_NAME[TPSUBDET_NUM]
uint32_t hash_CrateSlot(HcalElectronicsId const &)
uint32_t hash_CrateSpigot(HcalElectronicsId const &)
std::string name_FED(HcalElectronicsId const &)
constexpr int slot() const
get the htr or uHTR slot
std::string name_ieta(HcalDetId const &)
std::string name_HBHEPartition(HcalDetId const &)
std::string name_depth(HcalDetId const &)
constexpr int fiberChanId() const
get the fiber channel id (which of channels on a fiber)
std::string name_iphi(HcalDetId const &)
uint32_t hash_Electronics(HcalElectronicsId const &)
uint32_t hash_EChannel(HcalElectronicsId const &)
Readout chain identification for Hcal.
uint32_t hash_TTdepth(HcalTrigTowerDetId const &)
int ietaAbs() const
get the absolute value of the tower ieta
int iphi() const
get the tower iphi
std::string name_TTSubdetPM(HcalTrigTowerDetId const &)
uint32_t hash_HBHEPartition(HcalDetId const &)
std::string name_Fiber(HcalElectronicsId const &)
std::string name_FEDSlot(HcalElectronicsId const &)
std::string name_Subdet(HcalDetId const &)
std::string name_Subdetdepth(HcalDetId const &)