CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
327  uint32_t hash_FEDSpigot(HcalElectronicsId const& eid)
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 
337  uint32_t hash_FEDSlot(HcalElectronicsId const& eid)
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 
347  uint32_t hash_Crate(HcalElectronicsId const& eid)
348  {
349  // note hashing of VME is done with dccId
350  return eid.isVMEid() ?
352  FIBER_VME_MIN, SPIGOT_MIN, eid.dccid())) :
355  }
356 
357  uint32_t hash_CrateSpigot(HcalElectronicsId const& eid)
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())) :
365  eid.slot(), FIBER_uTCA_MIN1, FIBERCH_MIN, false));
366  }
367 
368  uint32_t hash_CrateSlot(HcalElectronicsId const& eid)
369  {
370  return eid.isVMEid() ?
372  FIBER_VME_MIN, eid.spigot(), eid.dccid())) :
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 
387  uint32_t hash_FiberCh(HcalElectronicsId const& eid)
388  {
389  return 0;
390  }
391 
392  uint32_t hash_Electronics(HcalElectronicsId const& eid)
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 
416  uint32_t hash_EChannel(HcalElectronicsId const& eid)
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[10];
508  sprintf(name, "Crate%d", eid.isVMEid()?eid.dccid():eid.crateId());
509  return std::string(name);
510  }
511 
512  // TODO: implement - not used at this point
513  uint32_t hash_Crate(std::string const&)
514  {return HcalElectronicsId().rawId();}
515 
517  {
518  char name[20];
519  sprintf(name, "Crate%dS%d",
520  eid.isVMEid()?eid.dccid():eid.crateId(),
521  eid.isVMEid()?eid.spigot():eid.slot());
522  return std::string(name);
523  }
524 
525  // TODO: implement - not used at this point
526  uint32_t hash_CrateSpigot(std::string const&)
527  {return HcalElectronicsId().rawId();}
528 
530  {
531  char name[20];
532  sprintf(name, "Crate%dS%d",
533  eid.isVMEid()?eid.dccid():eid.crateId(),
534  eid.isVMEid()?eid.spigot():eid.slot());
535  return std::string(name);
536  }
537 
538  // TODO: implement - not used at this point
539  uint32_t hash_CrateSlot(std::string const&)
540  {return HcalElectronicsId().rawId();}
541 
543  {
544  return "None";
545  }
546 
547  // TODO: implement - not used at this point
548  uint32_t hash_Fiber(std::string const&)
549  {return HcalElectronicsId().rawId();}
550 
552  {
553  return "None";
554  }
555 
556  // TODO: implement - not used at this point
558  {return HcalElectronicsId().rawId();}
559 
561  {
562  return "None";
563  }
564 
565  // TODO: implement - not used at this point
566  uint32_t hash_FiberCh(std::string const&)
567  {return HcalElectronicsId().rawId();}
568 
570  {
571  return eid.isVMEid()?std::string("VME"):std::string("uTCA");
572  }
573 
575  {
576  if (name=="VME")
579  else
582 
583  return HcalElectronicsId().rawId();
584  }
585 
587  {
588  char name[20];
589  if (eid.isVMEid())
590  sprintf(name, "%d-%d-%d-%d", eid.dccid(),
591  eid.spigot(), eid.fiberIndex(), eid.fiberChanId());
592  else
593  sprintf(name, "%d-%d-%d-%d", eid.crateId(),
594  eid.slot(), eid.fiberIndex(), eid.fiberChanId());
595  return std::string(name);
596  }
597 
598  // TODO: implement - not used at this point
599  uint32_t hash_EChannel(std::string const&)
600  {return HcalElectronicsId().rawId();}
601 
605  uint32_t hash_TTSubdet(HcalTrigTowerDetId const& tid)
606  {
608  tid.ietaAbs()>=29?29:1, 1));
609  }
610 
611  uint32_t hash_TTSubdetPM(HcalTrigTowerDetId const& tid)
612  {
614  tid.ietaAbs()<29? (tid.ieta()<0 ? -1 : 1) :
615  (tid.ieta()<0?-29:29),
616  1));
617  }
618 
620  {
622  tid.ietaAbs()<29? (tid.ieta()<0 ? 0 : 1) : (tid.ieta()<0?2:3),
623  tid.iphi()));
624  }
625 
627  {
628  return 0;
629  }
630 
631  uint32_t hash_TTdepth(HcalTrigTowerDetId const& tid)
632  {
634  1, 1, tid.depth()));
635  }
636 
637  uint32_t hash_TChannel(HcalTrigTowerDetId const& tid)
638  {
640  tid.ieta(), tid.iphi(), tid.depth()));
641  }
642 
644  {
645  return constants::TPSUBDET_NAME[tid.ietaAbs()<29?0:1];
646  }
647 
648  uint32_t hash_TTSubdet(std::string const& name)
649  {
650  if (name=="HBHE")
651  return HcalTrigTowerDetId(1,1).rawId();
652  else
653  return HcalTrigTowerDetId(29,1).rawId();
654 
655  return HcalTrigTowerDetId().rawId();
656  }
657 
659  {
661  tid.ietaAbs()<29?(tid.ieta()<0?0:1):(tid.ieta()<0?2:3)];
662  }
663 
665  {
666  if (name=="HBHEM")
667  return HcalTrigTowerDetId(-1,1).rawId();
668  else if (name=="HBHEP")
669  return HcalTrigTowerDetId(1,1).rawId();
670  else if (name=="HFM")
671  return HcalTrigTowerDetId(-29,1).rawId();
672  else
673  return HcalTrigTowerDetId(29,1).rawId();
674 
675  return HcalTrigTowerDetId().rawId();
676  }
677 
679  {
680  char name[10];
681  sprintf(name, "%siphi%d", name_TTSubdetPM(tid).c_str(),
682  tid.iphi());
683  return std::string(name);
684  }
685 
687  {
688  int pos = name.find("iphi");
689  std::string sub = name.substr(0, pos);
690  int iphi = std::stoi(name.substr(pos+4, name.length()-pos-4),
691  nullptr);
692  if (name=="HBHEM")
693  return HcalTrigTowerDetId(-1,iphi).rawId();
694  else if (name=="HBHEP")
695  return HcalTrigTowerDetId(1,iphi).rawId();
696  else if (name=="HFM")
697  return HcalTrigTowerDetId(-29,iphi).rawId();
698  else
699  return HcalTrigTowerDetId(29,iphi).rawId();
700 
701  return HcalTrigTowerDetId().rawId();
702  }
703 
705  {
706  return "None";
707  }
708 
709  // TODO: implement - not used right now
711  {return HcalTrigTowerDetId().rawId();}
712 
714  {
715  char name[10];
716  sprintf(name, "depth%d", tid.depth());
717  return std::string(name);
718  }
719 
720  uint32_t hash_TTdepth(std::string const& name)
721  {
722  int depth = std::stoi(name.substr(5, name.length()-5), nullptr);
723  return HcalTrigTowerDetId(1,1,depth);
724  }
725 
727  {
728  std::ostringstream stream;
729  stream << tid;
730  return std::string(stream.str());
731  }
732 
733  // TODO: implement - not used right now
734  uint32_t hash_TChannel(std::string const&)
735  {return HcalTrigTowerDetId().rawId();}
736  }
737 }
std::string name_CrateSpigot(HcalElectronicsId const &)
std::string name_Electronics(HcalElectronicsId const &)
uint32_t hash_Subdetdepth(HcalDetId const &)
int i
Definition: DBlmapReader.cc:9
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:60
uint32_t hash_SubdetPMiphi(HcalDetId const &)
int const SUBDET_NUM
Definition: Constants.h:130
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:138
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:85
std::string name_EChannel(HcalElectronicsId const &)
int const FIBER_VME_MIN
Definition: Constants.h:90
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:52
std::string name_TTSubdet(HcalTrigTowerDetId const &)
std::string name_SubdetPM(HcalDetId const &)
int const FIBERCH_MIN
Definition: Constants.h:100
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:129
std::string name_TTSubdetieta(HcalTrigTowerDetId const &)
std::string const SUBDET_NAME[SUBDET_NUM]
Definition: Constants.h:133
uint32_t hash_TChannel(HcalTrigTowerDetId const &)
uint32_t hash(HcalDetId const &)
Definition: Utilities.cc:41
int const FED_VME_MIN
Definition: Constants.h:47
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:134
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:93
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:65
std::string name_TTSubdetPMiphi(HcalTrigTowerDetId const &)
int iphi() const
get the cell iphi
Definition: HcalDetId.cc:124
std::string name_SubdetPMiphi(HcalDetId const &)
bool isVMEid() const
uint32_t hash_HFPMiphi(HcalDetId const &)
bool isHF(int etabin, int depth)
std::string const TPSUBDET_NAME[TPSUBDET_NUM]
Definition: Constants.h:137
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
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:72
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 &)