CMS 3D CMS Logo

HashFunctions.cc
Go to the documentation of this file.
3 
4 namespace hcaldqm
5 {
6  using namespace constants;
7  namespace hashfunctions
8  {
12  uint32_t hash_Subdet(HcalDetId const& did)
13  {
14  return utilities::hash(HcalDetId(did.subdet(), 1, 1, 1));
15  }
16 
17  uint32_t hash_Subdetiphi(HcalDetId const& did)
18  {
19  return utilities::hash(HcalDetId(did.subdet(), 1, did.iphi(), 1));
20  }
21 
22  uint32_t hash_Subdetieta(HcalDetId const& did)
23  {
24  return utilities::hash(HcalDetId(did.subdet(), did.ieta(),
25  1, 1));
26  }
27 
28  uint32_t hash_Subdetdepth(HcalDetId const& did)
29  {
30  return utilities::hash(HcalDetId(did.subdet(), 1,
31  1, did.depth()));
32  }
33 
34  uint32_t hash_SubdetPM(HcalDetId const& did)
35  {
36  return utilities::hash(HcalDetId(did.subdet(),
37  did.ieta()>0 ? 1 : -1, 1, 1));
38  }
39 
40  uint32_t hash_SubdetPMiphi(HcalDetId const& did)
41  {
42  return utilities::hash(HcalDetId(did.subdet(),
43  did.ieta()>0 ? 1 : -1, did.iphi(), 1));
44  }
45 
46  uint32_t hash_iphi(HcalDetId const& did)
47  {
49  1, did.iphi(), 1));
50  }
51 
52  uint32_t hash_ieta(HcalDetId const& did)
53  {
55  did.ieta(), 1, 1));
56  }
57 
58  uint32_t hash_depth(HcalDetId const& did)
59  {
61  1, 1, did.depth()));
62  }
63 
64  uint32_t hash_HFPMiphi(HcalDetId const& did)
65  {
67  did.ieta()>0 ? 1 : -1, did.iphi(), 1));
68  }
69 
70  uint32_t hash_HBHEPartition(HcalDetId const &did)
71  {
72  int iphi = did.iphi();
73  uint32_t hash = 0;
74  if (iphi>=3 && iphi<=26)
76  1, 3, 1));
77  else if (iphi>=27 && iphi<=50)
79  1, 27, 1));
80  else
82  1, 1, 1));
83 
84  return hash;
85  }
86 
87  uint32_t hash_DChannel(HcalDetId const& did)
88  {
89  return utilities::hash(did);
90  }
91 
93  {
94  return constants::SUBDET_NAME[did.subdet()-1];
95  }
96 
97  uint32_t hash_Subdet(std::string const& name)
98  {
99  for (int i=0; i<constants::SUBDET_NUM; i++)
100  if (constants::SUBDET_NAME[i]==name)
101  return(HcalDetId((HcalSubdetector)(i+1),
102  1,1,1).rawId());
103 
104  return HcalDetId().rawId();
105  }
106 
108  {
109  char name[10];
110  sprintf(name, "%s%s",constants::SUBDET_NAME[did.subdet()-1].c_str(),
111  did.ieta()>0 ? "P" : "M");
112  return std::string(name);
113  }
114 
115  uint32_t hash_SubdetPM(std::string const& name)
116  {
117  for (int i=0; i<constants::SUBDET_NUM*2; i++)
118  if (constants::SUBDETPM_NAME[i]==name)
119  return HcalDetId((HcalSubdetector)(i/2+1),
120  i%2==0?-1:1,1,1).rawId();
121 
122  return HcalDetId().rawId();
123  }
124 
126  {
127  char name[10];
128  sprintf(name, "%siphi%d",
129  constants::SUBDET_NAME[did.subdet()-1].c_str(),
130  did.iphi());
131  return std::string(name);
132  }
133 
135  {
136  std::string sub = name.substr(0,2);
137  int iphi = std::stoi(name.substr(6,name.length()-6), nullptr);
138  for (int i=0; i<constants::SUBDET_NUM; i++)
139  if (constants::SUBDET_NAME[i]==sub)
140  return HcalDetId((HcalSubdetector)(i+1),
141  1, iphi,1).rawId();
142 
143  // default
144  return HcalDetId().rawId();
145  }
146 
148  {
149  char name[20];
150  sprintf(name, "%sieta%d",
151  constants::SUBDET_NAME[did.subdet()-1].c_str(),
152  did.ieta());
153  return std::string(name);
154  }
155 
157  {
158  std::string sub = name.substr(0,2);
159  int ieta = std::stoi(name.substr(6,name.length()-6), nullptr);
160  for (int i=0; i<constants::SUBDET_NUM; i++)
161  if (constants::SUBDET_NAME[i]==sub)
162  return HcalDetId((HcalSubdetector)(i+1),
163  ieta, 1,1).rawId();
164 
165  // default
166  return HcalDetId().rawId();
167  }
168 
170  {
171  char name[20];
172  sprintf(name, "%sdepth%d",
173  constants::SUBDET_NAME[did.subdet()-1].c_str(),
174  did.depth());
175  return std::string(name);
176  }
177 
179  {
180  std::string sub = name.substr(0,2);
181  int depth = std::stoi(name.substr(7, name.length()-7), nullptr);
182  for (int i=0; i<constants::SUBDET_NUM; i++)
183  if (constants::SUBDET_NAME[i]==sub)
184  return HcalDetId((HcalSubdetector)(i+1),
185  1,1,depth).rawId();
186 
187  return HcalDetId().rawId();
188  }
189 
191  {
192  char name[20];
193  sprintf(name, "%s%siphi%d",
194  constants::SUBDET_NAME[did.subdet()-1].c_str(),
195  did.ieta()>0 ? "P" : "M", did.iphi());
196  return std::string(name);
197  }
198 
200  {
201  std::string sub = name.substr(0,3);
202  int iphi = std::stoi(name.substr(7, name.length()-7),nullptr);
203  for (int i=0; i<constants::SUBDET_NUM*2; i++)
204  if (constants::SUBDETPM_NAME[i]==sub)
205  return HcalDetId((HcalSubdetector)(i/2+1),
206  i%2==0?-1:1,iphi,1).rawId();
207 
208  return HcalDetId().rawId();
209  }
210 
212  {
213  char name[10];
214  sprintf(name, "iphi%d", did.iphi());
215  return std::string(name);
216  }
217 
218  uint32_t hash_iphi(std::string const& name)
219  {
220  int iphi = std::stoi(name.substr(4,name.length()-4),nullptr);
221  return HcalDetId(HcalBarrel,1,iphi,1).rawId();
222  }
223 
225  {
226  char name[10];
227  sprintf(name, "ieta%d", did.ieta());
228  return std::string(name);
229  }
230 
231  uint32_t hash_ieta(std::string const& name)
232  {
233  int ieta = std::stoi(name.substr(4,name.length()-4),nullptr);
234  return HcalDetId(HcalBarrel,ieta,1,1).rawId();
235  }
236 
238  {
239  char name[10];
240  sprintf(name, "depth%d", did.depth());
241  return std::string(name);
242 
243  }
244 
245  uint32_t hash_depth(std::string const& name)
246  {
247  int depth = std::stoi(name.substr(5,name.length()-5),nullptr);
248  return HcalDetId(HcalBarrel,1,1,depth).rawId();
249  }
250 
252  {
253  char name[12];
254  snprintf(name, sizeof(name), "HF%ciphi%d", did.ieta()>0 ? 'P' : 'M', did.iphi());
255  return std::string(name);
256  }
257 
258  uint32_t hash_HFPMiphi(std::string const& name)
259  {
260  int iphi = std::stoi(name.substr(7,name.length()-7),nullptr);
261  int ieta = name[2]=='P'?1:-1;
262  return HcalDetId(HcalForward,ieta,iphi,1).rawId();
263  }
264 
266  {
267  char c;
268  if (did.iphi()>=3 && did.iphi()<=26)
269  c = 'a';
270  else if (did.iphi()>=27 && did.iphi()<=50)
271  c = 'b';
272  else
273  c = 'c';
274  char name[10];
275  sprintf(name, "HBHE%c", c);
276  return std::string(name);
277  }
278 
280  {
281  if (name[4]=='a')
282  return HcalDetId(HcalBarrel,1,5,1).rawId();
283  else if (name[4]=='b')
284  return HcalDetId(HcalBarrel,1,29,1).rawId();
285  else
286  return HcalDetId(HcalBarrel,1,55,1).rawId();
287 
288  return HcalDetId().rawId();
289  }
290 
292  {
293  char name[40];
294  sprintf(name, "%s-%d-%d-%d",
295  constants::SUBDET_NAME[did.subdet()-1].c_str(),
296  did.ieta(), did.iphi(), did.depth());
297  return std::string(name);
298  }
299 
300  // TODO: Make it work here
301  // Not neccessary right now!
302  uint32_t hash_DChannel(std::string const& name)
303  {
304  return HcalDetId(HcalBarrel,1,1,1).rawId();
305  }
306 
310  uint32_t hash_FED(HcalElectronicsId const& eid)
311  {
312  if (eid.isVMEid())
315  else
316  {
317  // tmp - we need to hash HF's FEDs with slot in mind
318  //bool isHF = eid.crateId()==22 || eid.crateId()==29 || eid.crateId()==32;
319  // for HF, slot number is either
320  int slotToUse = eid.slot()>6 ? SLOT_uTCA_MIN+6 : SLOT_uTCA_MIN;
322  slotToUse, FIBER_uTCA_MIN1, FIBERCH_MIN, false));
323  }
324  }
325 
327  {
328  // note that hashing of uTCA is done by FED-Slot...
329  return eid.isVMEid() ?
331  FIBERCH_MIN, FIBER_VME_MIN, eid.spigot(), eid.dccid())) :
333  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
334  }
335 
337  {
338  // note that hashing of VME is done with
339  return eid.isVMEid() ?
341  FIBER_VME_MIN, eid.spigot(), eid.dccid())) :
343  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
344  }
345 
347  {
348  // note hashing of VME is done with dccId
349  // note 2: there are two dccids per crate, <even> and <even+1>. We don't care about this, so use the even one.
350  return eid.isVMEid() ?
352  FIBER_VME_MIN, SPIGOT_MIN, (eid.dccid() % 2 == 0 ? eid.dccid() : eid.dccid() - 1))) :
355  }
356 
358  {
359  // note hashing of VME is done with dccid and
360  // uTCA with Slots
361  return eid.isVMEid() ?
363  FIBER_VME_MIN, eid.spigot(), (eid.dccid() % 2 == 0 ? eid.dccid() : eid.dccid() - 1))) :
365  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
366  }
367 
369  {
370  return eid.isVMEid() ?
372  FIBER_VME_MIN, eid.spigot(), (eid.dccid() % 2 == 0 ? eid.dccid() : eid.dccid() - 1))) :
374  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
375  }
376 
377  uint32_t hash_Fiber(HcalElectronicsId const&)
378  {
379  return 0;
380  }
381 
383  {
384  return 0;
385  }
386 
388  {
389  return 0;
390  }
391 
393  {
394  return eid.isVMEid()?
399 /* NOTE: as an update - should separate Trigger Eid and Det Eid
400  * return eid.isVMEid() ?
401  eid.isTriggerChainId()?
402  utilities::hash(HcalElectronicsId(SLBCH_MIN,
403  SLB_MIN, SPIGOT_MIN, CRATE_VME_MIN,
404  CRATE_VME_MIN, SLOT_VME_MIN1, 0)):
405  utilities::hash(HcalElectronicsId(FIBERCH_MIN,
406  FIBER_VME_MIN, SPIGOT_MIN, CRATE_VME_MIN))
407  :
408  eid.isTriggerChainId()?
409  utilities::hash(HcalElectronicsId(CRATE_uTCA_MIN,
410  SLOT_uTCA_MIN, TPFIBER_MIN, TPFIBERCH_MIN, true)):
411  utilities::hash(HcalElectronicsId(CRATE_uTCA_MIN,
412  SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false));
413  */
414  }
415 
417  {
418  return eid.isVMEid() ?
420  eid.fiberIndex(), eid.spigot(), eid.dccid())):
422  eid.slot(), eid.fiberIndex(), eid.fiberChanId(), false));
423  }
424 
426  {
427  char name[10];
428  sprintf(name, "FED%d", eid.isVMEid() ? eid.dccid()+700 :
429  utilities::crate2fed(eid.crateId(),eid.slot()));
430  return std::string(name);
431  }
432 
433  uint32_t hash_FED(std::string const& name)
434  {
435  int fed = std::stoi(name.substr(3,name.length()-3),nullptr);
436  if (fed>=constants::FED_uTCA_MIN)
437  {
438  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
439  return HcalElectronicsId(cspair.first,
440  cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId();
441  }
442  else
445 
446  return HcalElectronicsId().rawId();
447  }
448 
450  {
451  char name[20];
452  sprintf(name, "FED%dS%d",
453  eid.isVMEid()?eid.dccid()+700:
454  utilities::crate2fed(eid.crateId(),eid.slot()),
455  eid.isVMEid()?eid.spigot():eid.slot());
456  return std::string(name);
457  }
458 
459  uint32_t hash_FEDSpigot(std::string const& name)
460  {
461  int pos = name.find("S");
462  int fed = std::stoi(name.substr(3, pos-3), nullptr);
463  int s = std::stoi(name.substr(pos+1, name.length()-pos-1), nullptr);
464  if (fed>=FED_uTCA_MIN)
465  {
466  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
467  return HcalElectronicsId(cspair.first,
468  cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId();
469  }
470  else
472  FIBER_VME_MIN, s, fed-FED_VME_MIN).rawId();
473 
474  return HcalElectronicsId().rawId();
475  }
476 
478  {
479  char name[20];
480  sprintf(name, "FED%dS%d",
481  eid.isVMEid()?eid.dccid()+700:
482  utilities::crate2fed(eid.crateId(),eid.slot()),
483  eid.isVMEid()?eid.spigot():eid.slot());
484  return std::string(name);
485  }
486 
487  uint32_t hash_FEDSlot(std::string const& name)
488  {
489  int pos = name.find("S");
490  int fed = std::stoi(name.substr(3, pos-3), nullptr);
491  int s = std::stoi(name.substr(pos+1, name.length()-pos-1), nullptr);
492  if (fed>=FED_uTCA_MIN)
493  {
494  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
495  return HcalElectronicsId(cspair.first,
496  cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId();
497  }
498  else
500  FIBER_VME_MIN, s, fed-FED_VME_MIN).rawId();
501 
502  return HcalElectronicsId().rawId();
503  }
504 
506  {
507  char name[16];
508  sprintf(name, "Crate%d", eid.crateId());
509 
510  // Note: previous, different hashes were returned for the two dccids in a VME crate. These now count as one crate.
511  //if (eid.isVMEid()) {
512  // sprintf(name, "Crate%d_VME_DCC%d", eid.crateId(), eid.dccid());
513  //} else {
514  // sprintf(name, "Crate%d", eid.crateId());
515  //}
516  return std::string(name);
517  }
518 
519  // TODO: implement - not used at this point
520  uint32_t hash_Crate(std::string const&)
521  {return HcalElectronicsId().rawId();}
522 
524  {
525  char name[20];
526  sprintf(name, "Crate%dS%d",
527  eid.crateId(),
528  eid.isVMEid()?eid.spigot():eid.slot());
529  return std::string(name);
530  }
531 
532  // TODO: implement - not used at this point
533  uint32_t hash_CrateSpigot(std::string const&)
534  {return HcalElectronicsId().rawId();}
535 
537  {
538  char name[20];
539  sprintf(name, "Crate%dS%d",
540  eid.crateId(),
541  eid.isVMEid()?eid.spigot():eid.slot());
542  return std::string(name);
543  }
544 
545  // TODO: implement - not used at this point
546  uint32_t hash_CrateSlot(std::string const&)
547  {return HcalElectronicsId().rawId();}
548 
550  {
551  return "None";
552  }
553 
554  // TODO: implement - not used at this point
555  uint32_t hash_Fiber(std::string const&)
556  {return HcalElectronicsId().rawId();}
557 
559  {
560  return "None";
561  }
562 
563  // TODO: implement - not used at this point
565  {return HcalElectronicsId().rawId();}
566 
568  {
569  return "None";
570  }
571 
572  // TODO: implement - not used at this point
573  uint32_t hash_FiberCh(std::string const&)
574  {return HcalElectronicsId().rawId();}
575 
577  {
578  return eid.isVMEid()?std::string("VME"):std::string("uTCA");
579  }
580 
582  {
583  if (name=="VME")
586  else
589 
590  return HcalElectronicsId().rawId();
591  }
592 
594  {
595  char name[20];
596  if (eid.isVMEid())
597  sprintf(name, "%d-%d-%d-%d", eid.dccid(),
598  eid.spigot(), eid.fiberIndex(), eid.fiberChanId());
599  else
600  sprintf(name, "%d-%d-%d-%d", eid.crateId(),
601  eid.slot(), eid.fiberIndex(), eid.fiberChanId());
602  return std::string(name);
603  }
604 
605  // TODO: implement - not used at this point
606  uint32_t hash_EChannel(std::string const&)
607  {return HcalElectronicsId().rawId();}
608 
612  uint32_t hash_TTSubdet(HcalTrigTowerDetId const& tid)
613  {
615  tid.ietaAbs()>=29?29:1, 1));
616  }
617 
618  uint32_t hash_TTSubdetPM(HcalTrigTowerDetId const& tid)
619  {
621  tid.ietaAbs()<29? (tid.ieta()<0 ? -1 : 1) :
622  (tid.ieta()<0?-29:29),
623  1));
624  }
625 
627  {
629  tid.ietaAbs()<29? (tid.ieta()<0 ? 0 : 1) : (tid.ieta()<0?2:3),
630  tid.iphi()));
631  }
632 
634  {
635  return 0;
636  }
637 
638  uint32_t hash_TTdepth(HcalTrigTowerDetId const& tid)
639  {
641  1, 1, tid.depth()));
642  }
643 
644  uint32_t hash_TChannel(HcalTrigTowerDetId const& tid)
645  {
647  tid.ieta(), tid.iphi(), tid.depth()));
648  }
649 
651  {
652  return constants::TPSUBDET_NAME[tid.ietaAbs()<29?0:1];
653  }
654 
655  uint32_t hash_TTSubdet(std::string const& name)
656  {
657  if (name=="HBHE")
658  return HcalTrigTowerDetId(1,1).rawId();
659  else
660  return HcalTrigTowerDetId(29,1).rawId();
661 
662  return HcalTrigTowerDetId().rawId();
663  }
664 
666  {
668  tid.ietaAbs()<29?(tid.ieta()<0?0:1):(tid.ieta()<0?2:3)];
669  }
670 
672  {
673  if (name=="HBHEM")
674  return HcalTrigTowerDetId(-1,1).rawId();
675  else if (name=="HBHEP")
676  return HcalTrigTowerDetId(1,1).rawId();
677  else if (name=="HFM")
678  return HcalTrigTowerDetId(-29,1).rawId();
679  else
680  return HcalTrigTowerDetId(29,1).rawId();
681 
682  return HcalTrigTowerDetId().rawId();
683  }
684 
686  {
687  char name[10];
688  sprintf(name, "%siphi%d", name_TTSubdetPM(tid).c_str(),
689  tid.iphi());
690  return std::string(name);
691  }
692 
694  {
695  int pos = name.find("iphi");
696  std::string sub = name.substr(0, pos);
697  int iphi = std::stoi(name.substr(pos+4, name.length()-pos-4),
698  nullptr);
699  if (name=="HBHEM")
700  return HcalTrigTowerDetId(-1,iphi).rawId();
701  else if (name=="HBHEP")
702  return HcalTrigTowerDetId(1,iphi).rawId();
703  else if (name=="HFM")
704  return HcalTrigTowerDetId(-29,iphi).rawId();
705  else
706  return HcalTrigTowerDetId(29,iphi).rawId();
707 
708  return HcalTrigTowerDetId().rawId();
709  }
710 
712  {
713  return "None";
714  }
715 
716  // TODO: implement - not used right now
718  {return HcalTrigTowerDetId().rawId();}
719 
721  {
722  char name[10];
723  sprintf(name, "depth%d", tid.depth());
724  return std::string(name);
725  }
726 
727  uint32_t hash_TTdepth(std::string const& name)
728  {
729  int depth = std::stoi(name.substr(5, name.length()-5), nullptr);
730  return HcalTrigTowerDetId(1,1,depth);
731  }
732 
734  {
735  std::ostringstream stream;
736  stream << tid;
737  return std::string(stream.str());
738  }
739 
740  // TODO: implement - not used right now
741  uint32_t hash_TChannel(std::string const&)
742  {return HcalTrigTowerDetId().rawId();}
743  }
744 }
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 &)
int const CRATE_VME_MIN
Definition: Constants.h:111
uint32_t hash_SubdetPMiphi(HcalDetId const &)
int const SUBDET_NUM
Definition: Constants.h:181
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:142
std::string name_FiberFiberCh(HcalElectronicsId const &)
uint32_t hash_TTSubdet(HcalTrigTowerDetId const &)
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:12
uint32_t hash_Subdetiphi(HcalDetId const &)
std::string const TPSUBDETPM_NAME[2 *TPSUBDET_NUM]
Definition: Constants.h:188
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)
Definition: Utilities.cc:30
uint32_t hash_FED(HcalElectronicsId const &)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:47
uint32_t hash_DChannel(HcalDetId const &)
uint32_t hash_TTSubdetieta(HcalTrigTowerDetId const &)
uint32_t hash_FiberFiberCh(HcalElectronicsId const &)
int const SPIGOT_MIN
Definition: Constants.h:136
std::string name_EChannel(HcalElectronicsId const &)
constexpr int dccid() const
get the (Hcal local) DCC id for VME, crate number for uTCA
int const FIBER_VME_MIN
Definition: Constants.h:141
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 &)
int const FED_uTCA_MIN
Definition: Constants.h:103
std::string name_TTSubdet(HcalTrigTowerDetId const &)
std::string name_SubdetPM(HcalDetId const &)
int const FIBERCH_MIN
Definition: Constants.h:151
int depth() const
get the depth (zero for LHC Run 1, may be nonzero for later runs)
int depth() const
get the tower depth
Definition: HcalDetId.h:162
std::string name_TTSubdetieta(HcalTrigTowerDetId const &)
std::string const SUBDET_NAME[SUBDET_NUM]
Definition: Constants.h:183
uint32_t hash_TChannel(HcalTrigTowerDetId const &)
uint32_t hash(HcalDetId const &)
Definition: Utilities.cc:50
constexpr bool isVMEid() const
int const FED_VME_MIN
Definition: Constants.h:98
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
Definition: HcalDetId.h:155
std::string const SUBDETPM_NAME[2 *SUBDET_NUM]
Definition: Constants.h:184
HcalSubdetector
Definition: HcalAssistant.h:31
int const FIBER_uTCA_MIN1
Definition: Constants.h:144
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 &)
int const CRATE_uTCA_MIN
Definition: Constants.h:116
std::string name_TTSubdetPMiphi(HcalTrigTowerDetId const &)
int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
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]
Definition: Constants.h:187
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
int const SLOT_uTCA_MIN
Definition: Constants.h:123
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 &)