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[10];
254  sprintf(name, "HF%siphi%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  isHF ? slotToUse : SLOT_uTCA_MIN,
323  FIBER_uTCA_MIN1, FIBERCH_MIN, false));
324  }
325  }
326 
328  {
329  // note that hashing of uTCA is done by FED-Slot...
330  return eid.isVMEid() ?
332  FIBERCH_MIN, FIBER_VME_MIN, eid.spigot(), eid.dccid())) :
334  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
335  }
336 
338  {
339  // note that hashing of VME is done with
340  return eid.isVMEid() ?
342  FIBER_VME_MIN, eid.spigot(), eid.dccid())) :
344  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
345  }
346 
348  {
349  // note hashing of VME is done with dccId
350  // note 2: there are two dccids per crate, <even> and <even+1>. We don't care about this, so use the even one.
351  return eid.isVMEid() ?
353  FIBER_VME_MIN, SPIGOT_MIN, (eid.dccid() % 2 == 0 ? eid.dccid() : eid.dccid() - 1))) :
356  }
357 
359  {
360  // note hashing of VME is done with dccid and
361  // uTCA with Slots
362  return eid.isVMEid() ?
364  FIBER_VME_MIN, eid.spigot(), (eid.dccid() % 2 == 0 ? eid.dccid() : eid.dccid() - 1))) :
366  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
367  }
368 
370  {
371  return eid.isVMEid() ?
373  FIBER_VME_MIN, eid.spigot(), (eid.dccid() % 2 == 0 ? eid.dccid() : eid.dccid() - 1))) :
375  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
376  }
377 
378  uint32_t hash_Fiber(HcalElectronicsId const&)
379  {
380  return 0;
381  }
382 
384  {
385  return 0;
386  }
387 
389  {
390  return 0;
391  }
392 
394  {
395  return eid.isVMEid()?
400 /* NOTE: as an update - should separate Trigger Eid and Det Eid
401  * return eid.isVMEid() ?
402  eid.isTriggerChainId()?
403  utilities::hash(HcalElectronicsId(SLBCH_MIN,
404  SLB_MIN, SPIGOT_MIN, CRATE_VME_MIN,
405  CRATE_VME_MIN, SLOT_VME_MIN1, 0)):
406  utilities::hash(HcalElectronicsId(FIBERCH_MIN,
407  FIBER_VME_MIN, SPIGOT_MIN, CRATE_VME_MIN))
408  :
409  eid.isTriggerChainId()?
410  utilities::hash(HcalElectronicsId(CRATE_uTCA_MIN,
411  SLOT_uTCA_MIN, TPFIBER_MIN, TPFIBERCH_MIN, true)):
412  utilities::hash(HcalElectronicsId(CRATE_uTCA_MIN,
413  SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false));
414  */
415  }
416 
418  {
419  return eid.isVMEid() ?
421  eid.fiberIndex(), eid.spigot(), eid.dccid())):
423  eid.slot(), eid.fiberIndex(), eid.fiberChanId(), false));
424  }
425 
427  {
428  char name[10];
429  sprintf(name, "FED%d", eid.isVMEid() ? eid.dccid()+700 :
430  utilities::crate2fed(eid.crateId(),eid.slot()));
431  return std::string(name);
432  }
433 
434  uint32_t hash_FED(std::string const& name)
435  {
436  int fed = std::stoi(name.substr(3,name.length()-3),nullptr);
437  if (fed>=constants::FED_uTCA_MIN)
438  {
439  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
440  return HcalElectronicsId(cspair.first,
441  cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId();
442  }
443  else
446 
447  return HcalElectronicsId().rawId();
448  }
449 
451  {
452  char name[20];
453  sprintf(name, "FED%dS%d",
454  eid.isVMEid()?eid.dccid()+700:
455  utilities::crate2fed(eid.crateId(),eid.slot()),
456  eid.isVMEid()?eid.spigot():eid.slot());
457  return std::string(name);
458  }
459 
460  uint32_t hash_FEDSpigot(std::string const& name)
461  {
462  int pos = name.find("S");
463  int fed = std::stoi(name.substr(3, pos-3), nullptr);
464  int s = std::stoi(name.substr(pos+1, name.length()-pos-1), nullptr);
465  if (fed>=FED_uTCA_MIN)
466  {
467  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
468  return HcalElectronicsId(cspair.first,
469  cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId();
470  }
471  else
473  FIBER_VME_MIN, s, fed-FED_VME_MIN).rawId();
474 
475  return HcalElectronicsId().rawId();
476  }
477 
479  {
480  char name[20];
481  sprintf(name, "FED%dS%d",
482  eid.isVMEid()?eid.dccid()+700:
483  utilities::crate2fed(eid.crateId(),eid.slot()),
484  eid.isVMEid()?eid.spigot():eid.slot());
485  return std::string(name);
486  }
487 
488  uint32_t hash_FEDSlot(std::string const& name)
489  {
490  int pos = name.find("S");
491  int fed = std::stoi(name.substr(3, pos-3), nullptr);
492  int s = std::stoi(name.substr(pos+1, name.length()-pos-1), nullptr);
493  if (fed>=FED_uTCA_MIN)
494  {
495  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
496  return HcalElectronicsId(cspair.first,
497  cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId();
498  }
499  else
501  FIBER_VME_MIN, s, fed-FED_VME_MIN).rawId();
502 
503  return HcalElectronicsId().rawId();
504  }
505 
507  {
508  char name[16];
509  sprintf(name, "Crate%d", eid.crateId());
510 
511  // Note: previous, different hashes were returned for the two dccids in a VME crate. These now count as one crate.
512  //if (eid.isVMEid()) {
513  // sprintf(name, "Crate%d_VME_DCC%d", eid.crateId(), eid.dccid());
514  //} else {
515  // sprintf(name, "Crate%d", eid.crateId());
516  //}
517  return std::string(name);
518  }
519 
520  // TODO: implement - not used at this point
521  uint32_t hash_Crate(std::string const&)
522  {return HcalElectronicsId().rawId();}
523 
525  {
526  char name[20];
527  sprintf(name, "Crate%dS%d",
528  eid.crateId(),
529  eid.isVMEid()?eid.spigot():eid.slot());
530  return std::string(name);
531  }
532 
533  // TODO: implement - not used at this point
534  uint32_t hash_CrateSpigot(std::string const&)
535  {return HcalElectronicsId().rawId();}
536 
538  {
539  char name[20];
540  sprintf(name, "Crate%dS%d",
541  eid.crateId(),
542  eid.isVMEid()?eid.spigot():eid.slot());
543  return std::string(name);
544  }
545 
546  // TODO: implement - not used at this point
547  uint32_t hash_CrateSlot(std::string const&)
548  {return HcalElectronicsId().rawId();}
549 
551  {
552  return "None";
553  }
554 
555  // TODO: implement - not used at this point
556  uint32_t hash_Fiber(std::string const&)
557  {return HcalElectronicsId().rawId();}
558 
560  {
561  return "None";
562  }
563 
564  // TODO: implement - not used at this point
566  {return HcalElectronicsId().rawId();}
567 
569  {
570  return "None";
571  }
572 
573  // TODO: implement - not used at this point
574  uint32_t hash_FiberCh(std::string const&)
575  {return HcalElectronicsId().rawId();}
576 
578  {
579  return eid.isVMEid()?std::string("VME"):std::string("uTCA");
580  }
581 
583  {
584  if (name=="VME")
587  else
590 
591  return HcalElectronicsId().rawId();
592  }
593 
595  {
596  char name[20];
597  if (eid.isVMEid())
598  sprintf(name, "%d-%d-%d-%d", eid.dccid(),
599  eid.spigot(), eid.fiberIndex(), eid.fiberChanId());
600  else
601  sprintf(name, "%d-%d-%d-%d", eid.crateId(),
602  eid.slot(), eid.fiberIndex(), eid.fiberChanId());
603  return std::string(name);
604  }
605 
606  // TODO: implement - not used at this point
607  uint32_t hash_EChannel(std::string const&)
608  {return HcalElectronicsId().rawId();}
609 
613  uint32_t hash_TTSubdet(HcalTrigTowerDetId const& tid)
614  {
616  tid.ietaAbs()>=29?29:1, 1));
617  }
618 
619  uint32_t hash_TTSubdetPM(HcalTrigTowerDetId const& tid)
620  {
622  tid.ietaAbs()<29? (tid.ieta()<0 ? -1 : 1) :
623  (tid.ieta()<0?-29:29),
624  1));
625  }
626 
628  {
630  tid.ietaAbs()<29? (tid.ieta()<0 ? 0 : 1) : (tid.ieta()<0?2:3),
631  tid.iphi()));
632  }
633 
635  {
636  return 0;
637  }
638 
639  uint32_t hash_TTdepth(HcalTrigTowerDetId const& tid)
640  {
642  1, 1, tid.depth()));
643  }
644 
645  uint32_t hash_TChannel(HcalTrigTowerDetId const& tid)
646  {
648  tid.ieta(), tid.iphi(), tid.depth()));
649  }
650 
652  {
653  return constants::TPSUBDET_NAME[tid.ietaAbs()<29?0:1];
654  }
655 
656  uint32_t hash_TTSubdet(std::string const& name)
657  {
658  if (name=="HBHE")
659  return HcalTrigTowerDetId(1,1).rawId();
660  else
661  return HcalTrigTowerDetId(29,1).rawId();
662 
663  return HcalTrigTowerDetId().rawId();
664  }
665 
667  {
669  tid.ietaAbs()<29?(tid.ieta()<0?0:1):(tid.ieta()<0?2:3)];
670  }
671 
673  {
674  if (name=="HBHEM")
675  return HcalTrigTowerDetId(-1,1).rawId();
676  else if (name=="HBHEP")
677  return HcalTrigTowerDetId(1,1).rawId();
678  else if (name=="HFM")
679  return HcalTrigTowerDetId(-29,1).rawId();
680  else
681  return HcalTrigTowerDetId(29,1).rawId();
682 
683  return HcalTrigTowerDetId().rawId();
684  }
685 
687  {
688  char name[10];
689  sprintf(name, "%siphi%d", name_TTSubdetPM(tid).c_str(),
690  tid.iphi());
691  return std::string(name);
692  }
693 
695  {
696  int pos = name.find("iphi");
697  std::string sub = name.substr(0, pos);
698  int iphi = std::stoi(name.substr(pos+4, name.length()-pos-4),
699  nullptr);
700  if (name=="HBHEM")
701  return HcalTrigTowerDetId(-1,iphi).rawId();
702  else if (name=="HBHEP")
703  return HcalTrigTowerDetId(1,iphi).rawId();
704  else if (name=="HFM")
705  return HcalTrigTowerDetId(-29,iphi).rawId();
706  else
707  return HcalTrigTowerDetId(29,iphi).rawId();
708 
709  return HcalTrigTowerDetId().rawId();
710  }
711 
713  {
714  return "None";
715  }
716 
717  // TODO: implement - not used right now
719  {return HcalTrigTowerDetId().rawId();}
720 
722  {
723  char name[10];
724  sprintf(name, "depth%d", tid.depth());
725  return std::string(name);
726  }
727 
728  uint32_t hash_TTdepth(std::string const& name)
729  {
730  int depth = std::stoi(name.substr(5, name.length()-5), nullptr);
731  return HcalTrigTowerDetId(1,1,depth);
732  }
733 
735  {
736  std::ostringstream stream;
737  stream << tid;
738  return std::string(stream.str());
739  }
740 
741  // TODO: implement - not used right now
742  uint32_t hash_TChannel(std::string const&)
743  {return HcalTrigTowerDetId().rawId();}
744  }
745 }
std::string name_CrateSpigot(HcalElectronicsId 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 fiberIndex() const
get the fiber index. For VME 1-8 (which of eight fibers carried by a spigot), for uTCA fibers are zer...
int const CRATE_VME_MIN
Definition: Constants.h:68
uint32_t hash_SubdetPMiphi(HcalDetId const &)
int const SUBDET_NUM
Definition: Constants.h:138
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
std::string name_FiberFiberCh(HcalElectronicsId const &)
uint32_t hash_TTSubdet(HcalTrigTowerDetId const &)
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:13
uint32_t hash_Subdetiphi(HcalDetId const &)
std::string const TPSUBDETPM_NAME[2 *TPSUBDET_NUM]
Definition: Constants.h:146
uint32_t rawId() const
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:27
uint32_t hash_FED(HcalElectronicsId const &)
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:93
std::string name_EChannel(HcalElectronicsId const &)
int const FIBER_VME_MIN
Definition: Constants.h:98
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 crateId() const
get the readout VME crate number
int const FED_uTCA_MIN
Definition: Constants.h:60
std::string name_TTSubdet(HcalTrigTowerDetId const &)
std::string name_SubdetPM(HcalDetId const &)
int const FIBERCH_MIN
Definition: Constants.h:108
int depth() const
get the depth (zero for LHC Run 1, may be nonzero for later runs)
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
int depth() const
get the tower depth
Definition: HcalDetId.cc:108
std::string name_TTSubdetieta(HcalTrigTowerDetId const &)
std::string const SUBDET_NAME[SUBDET_NUM]
Definition: Constants.h:141
uint32_t hash_TChannel(HcalTrigTowerDetId const &)
uint32_t hash(HcalDetId const &)
Definition: Utilities.cc:41
int const FED_VME_MIN
Definition: Constants.h:55
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:56
std::string const SUBDETPM_NAME[2 *SUBDET_NUM]
Definition: Constants.h:142
int dccid() const
get the (Hcal local) DCC id for VME, crate number for uTCA
HcalSubdetector
Definition: HcalAssistant.h:31
int const FIBER_uTCA_MIN1
Definition: Constants.h:101
std::string name_HFPMiphi(HcalDetId const &)
int fiberChanId() const
get the fiber channel id (which of channels on a fiber)
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 spigot() const
get the spigot (input number on DCC, AMC card number for uTCA)
int const CRATE_uTCA_MIN
Definition: Constants.h:73
std::string name_TTSubdetPMiphi(HcalTrigTowerDetId const &)
int iphi() const
get the cell iphi
Definition: HcalDetId.cc:103
std::string name_SubdetPMiphi(HcalDetId const &)
bool isVMEid() const
uint32_t hash_HFPMiphi(HcalDetId const &)
std::string const TPSUBDET_NAME[TPSUBDET_NUM]
Definition: Constants.h:145
uint32_t hash_CrateSlot(HcalElectronicsId const &)
uint32_t hash_CrateSpigot(HcalElectronicsId const &)
std::string name_FED(HcalElectronicsId const &)
int slot() const
get the htr or uHTR slot
bool isHF(int etabin, int depth)
std::string name_ieta(HcalDetId const &)
std::string name_HBHEPartition(HcalDetId const &)
std::string name_depth(HcalDetId const &)
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:80
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 &)