CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalDbHardcode.cc
Go to the documentation of this file.
1 //
2 // F.Ratnikov (UMd), Dec 14, 2005
3 // $Id: HcalDbHardcode.cc,v 1.27 2011/11/23 13:48:27 abdullin Exp $
4 //
5 #include <vector>
6 #include <string>
7 
8 #include "CLHEP/Random/RandGauss.h"
10 
11 
14  float value0 = fId.genericSubdet() == HcalGenericDetId::HcalGenForward ? 11. : 4.; // fC
15  float value [4] = {value0, value0, value0, value0};
16  if (fSmear) {
17  for (int i = 0; i < 4; i++) {
18  value [i] = CLHEP::RandGauss::shoot (value0, width.getWidth (i) / 100.); // ignore correlations, assume 10K pedestal run
19  while (value [i] <= 0) value [i] = CLHEP::RandGauss::shoot (value0, width.getWidth (i));
20  }
21  }
22  HcalPedestal result (fId.rawId (),
23  value[0], value[1], value[2], value[3]
24  );
25  return result;
26 }
27 
29  float value = 0;
31  fId.genericSubdet() == HcalGenericDetId::HcalGenOuter) value = 0.7;
32  else if (fId.genericSubdet() == HcalGenericDetId::HcalGenEndcap) value = 0.9;
33  else if (fId.genericSubdet() == HcalGenericDetId::HcalGenForward) value = 2.5; // everything in fC
35  for (int i = 0; i < 4; i++) {
36  double width = value;
37  for (int j = 0; j < 4; j++) {
38  result.setSigma (i, j, i == j ? width * width : 0);
39  }
40  }
41  return result;
42 }
43 
45  int first = 0;
46  int add = 0;
47  if (fId.genericSubdet() == HcalGenericDetId::HcalGenBarrel) {first = 4; add = 4;}
48  else if (fId.genericSubdet() == HcalGenericDetId::HcalGenEndcap) {first = 4; add = 4;}
49  else if (fId.genericSubdet() == HcalGenericDetId::HcalGenOuter) {first = 4; add = 4;}
50  else if (fId.genericSubdet() == HcalGenericDetId::HcalGenForward) {first = 4; add = 2;}
52 
53  return result;
54 }
56  int nhits = 0;
57  float phase = 0.0;
58  float rms = 0.0;
59  if (fId.genericSubdet() == HcalGenericDetId::HcalGenBarrel) {nhits=4; phase = 4.5; rms = 6.5;}
60  else if (fId.genericSubdet() == HcalGenericDetId::HcalGenEndcap) {nhits=4;phase = 9.3; rms = 7.8;}
61  else if (fId.genericSubdet() == HcalGenericDetId::HcalGenOuter) {nhits=4;phase = 8.6; rms = 2.3;}
62  else if (fId.genericSubdet() == HcalGenericDetId::HcalGenForward) {nhits=4;phase = 12.4; rms = 12.29;}
63  HcalTimingParam result(fId.rawId(), nhits,phase, rms);
64 
65  return result;
66 }
67 
68 
70  HcalGainWidth width = makeGainWidth (fId);
71  float value0 = 0;
72  if (fId.genericSubdet() != HcalGenericDetId::HcalGenForward) value0 = 0.177; // GeV/fC
73  else {
74  if (HcalDetId(fId).depth() == 1) value0 = 0.2146;
75  else if (HcalDetId(fId).depth() == 2) value0 = 0.3375;
76  }
77  float value [4] = {value0, value0, value0, value0};
78  if (fSmear) for (int i = 0; i < 4; i++) value [i] = CLHEP::RandGauss::shoot (value0, width.getValue (i));
79  HcalGain result (fId.rawId (), value[0], value[1], value[2], value[3]);
80  return result;
81 }
82 
84  float value = 0;
86  return result;
87 }
88 
90  HcalQIECoder result (fId.rawId ());
91  float offset = 0;
92  float slope = fId.genericSubdet () == HcalGenericDetId::HcalGenForward ? 0.36 : 0.92; // ADC/fC
93  for (unsigned range = 0; range < 4; range++) {
94  for (unsigned capid = 0; capid < 4; capid++) {
95  result.setOffset (capid, range, offset);
96  result.setSlope (capid, range, slope);
97  }
98  }
99  return result;
100 }
101 
104  float lowEdges [32];
105  for (int i = 0; i < 32; i++) lowEdges[i] = -1.5 + i*0.35;
106  result.setMinCharges (lowEdges);
107  return result;
108 }
109 
111  return HcalQIEShape ();
112 }
113 
114 
115 #define EMAP_NHBHECR 9
116 #define EMAP_NHFCR 3
117 #define EMAP_NHOCR 4
118 #define EMAP_NFBR 8
119 #define EMAP_NFCH 3
120 #define EMAP_NHTRS 3
121 #define EMAP_NHSETS 4
122 #define EMAP_NTOPBOT 2
123 #define EMAP_NHTRSHO 4
124 #define EMAP_NHSETSHO 3
125 
127  dcs_map.mapGeomId2DcsId(HcalDetId(HcalBarrel, -16, 1, 1),
129  dcs_map.mapGeomId2DcsId(HcalDetId(HcalForward, -41, 3, 1),
131  dcs_map.mapGeomId2DcsId(HcalDetId(HcalForward, -26, 25, 2),
133  dcs_map.mapGeomId2DcsId(HcalDetId(HcalBarrel, -15, 68, 1),
135  dcs_map.mapGeomId2DcsId(HcalDetId(HcalOuter, -14, 1, 4),
137  dcs_map.mapGeomId2DcsId(HcalDetId(HcalForward, 41, 71, 2),
139 }
140 
142 
143  /* HBHE crate numbering */
144  int hbhecrate[EMAP_NHBHECR]={0,1,4,5,10,11,14,15,17};
145  /* HF crate numbering */
146  int hfcrate[EMAP_NHFCR]={2,9,12};
147  /* HO crate numbering */
148  int hocrate[EMAP_NHOCR]={3,7,6,13};
149  /* HBHE FED numbering of DCCs */
150  int fedhbhenum[EMAP_NHBHECR][2]={{702,703},{704,705},{700,701},
151  {706,707},{716,717},{708,709},
152  {714,715},{710,711},{712,713}};
153  /* HF FED numbering of DCCs */
154  int fedhfnum[EMAP_NHFCR][2]={{718,719},{720,721},{722,723}};
155  /* HO FED numbering of DCCs */
156  int fedhonum[EMAP_NHOCR][2]={{724,725},{726,727},{728,729},{730,731}};
157  /* HBHE/HF htr slot offsets for set of three htrs */
158  int ihslot[EMAP_NHSETS]={2,5,13,16};
159  /* HO htr slot offsets for three sets of four htrs */
160  int ihslotho[EMAP_NHSETSHO][EMAP_NHTRSHO]={{2,3,4,5},{6,7,13,14},{15,16,17,18}};
161  /* iphi (lower) starting index for each HBHE crate */
162  int ihbhephis[EMAP_NHBHECR]={11,19,3,27,67,35,59,43,51};
163  /* iphi (lower) starting index for each HF crate */
164  int ihfphis[EMAP_NHFCR]={3,27,51};
165  /* iphi (lower) starting index for each HO crate */
166  int ihophis[EMAP_NHOCR]={71,17,35,53};
167  /* ihbheetadepth - unique HBHE {eta,depth} assignments per fiber and fiber channel */
168  int ihbheetadepth[EMAP_NHTRS][EMAP_NTOPBOT][EMAP_NFBR][EMAP_NFCH][2]={
169  {{{{11,1},{ 7,1},{ 3,1}}, /* htr 0 (HB) -bot(+top) */
170  {{ 5,1},{ 1,1},{ 9,1}},
171  {{11,1},{ 7,1},{ 3,1}},
172  {{ 5,1},{ 1,1},{ 9,1}},
173  {{10,1},{ 6,1},{ 2,1}},
174  {{ 8,1},{ 4,1},{12,1}},
175  {{10,1},{ 6,1},{ 2,1}},
176  {{ 8,1},{ 4,1},{12,1}}},
177  {{{11,1},{ 7,1},{ 3,1}}, /* htr 0 (HB) +bot(-top) */
178  {{ 5,1},{ 1,1},{ 9,1}},
179  {{11,1},{ 7,1},{ 3,1}},
180  {{ 5,1},{ 1,1},{ 9,1}},
181  {{10,1},{ 6,1},{ 2,1}},
182  {{ 8,1},{ 4,1},{12,1}},
183  {{10,1},{ 6,1},{ 2,1}},
184  {{ 8,1},{ 4,1},{12,1}}}},
185  {{{{16,2},{15,2},{14,1}}, /* htr 1 (HBHE) -bot(+top) */
186  {{15,1},{13,1},{16,1}},
187  {{16,2},{15,2},{14,1}},
188  {{15,1},{13,1},{16,1}},
189  {{17,1},{16,3},{26,1}},
190  {{18,1},{18,2},{26,2}},
191  {{17,1},{16,3},{25,1}},
192  {{18,1},{18,2},{25,2}}},
193  {{{16,2},{15,2},{14,1}}, /* htr 1 (HBHE) +bot(-top) */
194  {{15,1},{13,1},{16,1}},
195  {{16,2},{15,2},{14,1}},
196  {{15,1},{13,1},{16,1}},
197  {{17,1},{16,3},{25,1}},
198  {{18,1},{18,2},{25,2}},
199  {{17,1},{16,3},{26,1}},
200  {{18,1},{18,2},{26,2}}}},
201  {{{{28,1},{28,2},{29,1}}, /* htr 2 (HE) -bot(+top) */
202  {{28,3},{24,2},{24,1}},
203  {{27,1},{27,2},{29,2}},
204  {{27,3},{23,2},{23,1}},
205  {{19,2},{20,1},{22,2}},
206  {{19,1},{20,2},{22,1}},
207  {{19,2},{20,1},{21,2}},
208  {{19,1},{20,2},{21,1}}},
209  {{{27,1},{27,2},{29,2}}, /* htr 2 (HE) +bot(-top) */
210  {{27,3},{23,2},{23,1}},
211  {{28,1},{28,2},{29,1}},
212  {{28,3},{24,2},{24,1}},
213  {{19,2},{20,1},{21,2}},
214  {{19,1},{20,2},{21,1}},
215  {{19,2},{20,1},{22,2}},
216  {{19,1},{20,2},{22,1}}}}
217  };
218  /* ihfetadepth - unique HF {eta,depth} assignments per fiber and fiber channel */
219  int ihfetadepth[EMAP_NTOPBOT][EMAP_NFBR][EMAP_NFCH][2]={
220  {{{33,1},{31,1},{29,1}}, /* top */
221  {{32,1},{30,1},{34,1}},
222  {{33,2},{31,2},{29,2}},
223  {{32,2},{30,2},{34,2}},
224  {{34,2},{32,2},{30,2}},
225  {{31,2},{29,2},{33,2}},
226  {{34,1},{32,1},{30,1}},
227  {{31,1},{29,1},{33,1}}},
228  {{{41,1},{37,1},{35,1}}, /* bot */
229  {{38,1},{36,1},{39,1}},
230  {{41,2},{37,2},{35,2}},
231  {{38,2},{36,2},{39,2}},
232  {{40,2},{38,2},{36,2}},
233  {{37,2},{35,2},{39,2}},
234  {{40,1},{38,1},{36,1}},
235  {{37,1},{35,1},{39,1}}}
236  };
237  /* ihoetasidephi - unique HO {eta,side,phi} assignments per fiber and fiber channel */
238  int ihoetasidephi[EMAP_NHTRSHO][EMAP_NTOPBOT][EMAP_NFBR][EMAP_NFCH][3]={
239  {{{{ 1,-1,0},{ 2,-1,0},{ 3,-1,0}}, /* htr 0 (HO) top */
240  {{ 1,-1,1},{ 2,-1,1},{ 3,-1,1}},
241  {{ 1,-1,2},{ 2,-1,2},{ 3,-1,2}},
242  {{ 1,-1,3},{ 2,-1,3},{ 3,-1,3}},
243  {{ 1,-1,4},{ 2,-1,4},{ 3,-1,4}},
244  {{ 1,-1,5},{ 2,-1,5},{ 3,-1,5}},
245  {{14, 1,0},{14, 1,1},{14, 1,2}},
246  {{14, 1,3},{14, 1,4},{14, 1,5}}},
247  {{{ 1, 1,0},{ 2, 1,0},{ 3, 1,0}}, /* htr 0 (HO) bot */
248  {{ 1, 1,1},{ 2, 1,1},{ 3, 1,1}},
249  {{ 1, 1,2},{ 2, 1,2},{ 3, 1,2}},
250  {{ 1, 1,3},{ 2, 1,3},{ 3, 1,3}},
251  {{ 1, 1,4},{ 2, 1,4},{ 3, 1,4}},
252  {{ 1, 1,5},{ 2, 1,5},{ 3, 1,5}},
253  {{15, 1,0},{15, 1,1},{15, 1,2}},
254  {{15, 1,3},{15, 1,4},{15, 1,5}}}},
255  {{{{ 6, 1,0},{ 6, 1,1},{ 6, 1,2}}, /* htr 1 (HO) top */
256  {{ 6, 1,3},{ 6, 1,4},{ 6, 1,5}},
257  {{ 7, 1,0},{ 7, 1,1},{ 7, 1,2}},
258  {{ 7, 1,3},{ 7, 1,4},{ 7, 1,5}},
259  {{ 8, 1,0},{ 8, 1,1},{ 8, 1,2}},
260  {{ 8, 1,3},{ 8, 1,4},{ 8, 1,5}},
261  {{ 9, 1,0},{ 9, 1,1},{ 9, 1,2}},
262  {{ 9, 1,3},{ 9, 1,4},{ 9, 1,5}}},
263  {{{10, 1,0},{10, 1,1},{10, 1,2}}, /* htr 1 (HO) bot */
264  {{10, 1,3},{10, 1,4},{10, 1,5}},
265  {{11, 1,0},{11, 1,1},{11, 1,2}},
266  {{11, 1,3},{11, 1,4},{11, 1,5}},
267  {{12, 1,0},{12, 1,1},{12, 1,2}},
268  {{12, 1,3},{12, 1,4},{12, 1,5}},
269  {{13, 1,0},{13, 1,1},{13, 1,2}},
270  {{13, 1,3},{13, 1,4},{13, 1,5}}}},
271  {{{{ 4,-1,0},{ 4,-1,1},{ 0, 0,0}}, /* htr 2 (HO) top */
272  {{ 4,-1,2},{ 4,-1,3},{ 0, 0,0}},
273  {{ 4,-1,4},{ 4,-1,5},{ 0, 0,0}},
274  {{ 0, 0,0},{ 0, 0,0},{ 0, 0,0}},
275  {{ 5,-1,0},{ 5,-1,1},{ 5,-1,2}},
276  {{ 5,-1,3},{ 5,-1,4},{ 5,-1,5}},
277  {{14,-1,0},{14,-1,1},{14,-1,2}},
278  {{14,-1,3},{14,-1,4},{14,-1,5}}},
279  {{{ 4, 1,0},{ 4, 1,1},{ 0, 0,0}}, /* htr 2 (HO) bot */
280  {{ 4, 1,2},{ 4, 1,3},{ 0, 0,0}},
281  {{ 4, 1,4},{ 4, 1,5},{ 0, 0,0}},
282  {{ 0, 0,0},{ 0, 0,0},{ 0, 0,0}},
283  {{ 5, 1,0},{ 5, 1,1},{ 5, 1,2}},
284  {{ 5, 1,3},{ 5, 1,4},{ 5, 1,5}},
285  {{15,-1,0},{15,-1,1},{15,-1,2}},
286  {{15,-1,3},{15,-1,4},{15,-1,5}}}},
287  {{{{ 6,-1,0},{ 6,-1,1},{ 6,-1,2}}, /* htr 3 (HO) top */
288  {{ 6,-1,3},{ 6,-1,4},{ 6,-1,5}},
289  {{ 7,-1,0},{ 7,-1,1},{ 7,-1,2}},
290  {{ 7,-1,3},{ 7,-1,4},{ 7,-1,5}},
291  {{ 8,-1,0},{ 8,-1,1},{ 8,-1,2}},
292  {{ 8,-1,3},{ 8,-1,4},{ 8,-1,5}},
293  {{ 9,-1,0},{ 9,-1,1},{ 9,-1,2}},
294  {{ 9,-1,3},{ 9,-1,4},{ 9,-1,5}}},
295  {{{10,-1,0},{10,-1,1},{10,-1,2}}, /* htr 3 (HO) bot */
296  {{10,-1,3},{10,-1,4},{10,-1,5}},
297  {{11,-1,0},{11,-1,1},{11,-1,2}},
298  {{11,-1,3},{11,-1,4},{11,-1,5}},
299  {{12,-1,0},{12,-1,1},{12,-1,2}},
300  {{12,-1,3},{12,-1,4},{12,-1,5}},
301  {{13,-1,0},{13,-1,1},{13,-1,2}},
302  {{13,-1,3},{13,-1,4},{13,-1,5}}}}
303  };
304  int ic,is,ih,itb,ifb,ifc,ifwtb,iphi_loc;
305  int iside,ieta,iphi,idepth,icrate,ihtr,ihtr_fi,ifi_ch,ispigot,idcc,ifed;
306  // int idcc_sl;
307  std::string det;
308  std::string fpga;
309  // printf(" side eta phi depth det crate htr fpga htr_fi fi_ch spigo dcc dcc_sl fedid\n");
310  /* all HBHE crates */
311  for(ic=0; ic<EMAP_NHBHECR; ic++){
312  /* four sets of three htrs per crate */
313  for(is=0; is<EMAP_NHSETS; is++){
314  /* three htrs per set */
315  for(ih=0; ih<EMAP_NHTRS; ih++){
316  /* top and bottom */
317  for(itb=0; itb<EMAP_NTOPBOT; itb++){
318  /* eight fibers per HTR FPGA */
319  for(ifb=0; ifb<EMAP_NFBR; ifb++){
320  /* three channels per fiber */
321  for(ifc=0; ifc<EMAP_NFCH; ifc++){
322  icrate=hbhecrate[ic];
323  iside=is<EMAP_NHSETS/2?-1:1;
324  ifwtb=(is/2+itb+1)%2;
325  ieta=ihbheetadepth[ih][ifwtb][ifb][ifc][0];
326  idepth=ihbheetadepth[ih][ifwtb][ifb][ifc][1];
327  ihtr=ihslot[is]+ih;
328  det=((ieta>16||idepth>2)?("HE"):("HB"));
329  fpga=((itb%2)==1)?("bot"):("top");
330  ihtr_fi=ifb+1;
331  ifi_ch=ifc;
332  iphi=(ieta>20)?(ihbhephis[ic]+(is%2)*4+itb*2-1)%72+1:(ihbhephis[ic]+(is%2)*4+itb*2+(ifb/2+is/2+1)%2-1)%72+1;
333  ispigot=(is%2)*6+ih*2+itb;
334  idcc=is<EMAP_NHSETS/2?1:2;
335  // idcc_sl=idcc==1?9:19;
336  ifed=fedhbhenum[ic][idcc-1];
338  HcalElectronicsId elId(ifi_ch, ihtr_fi, ispigot, ifed-700);
339  elId.setHTR(icrate, ihtr, (fpga=="top")?(1):(0));
340  HcalDetId hId((det=="HB")?(HcalBarrel):(HcalEndcap),ieta*iside,iphi,idepth);
341  emap.mapEId2chId(elId,hId);
342 
343  // printf(" %9d %9d %9d %9d %9s %9d %9d %9s %9d %9d %9d %9d %9d %9d\n",iside,ieta,iphi,idepth,&det,icrate,ihtr,&fpga,ihtr_fi,ifi_ch,ispigot,idcc,idcc_sl,ifed);
344  }}}}}}
345  /* all HF crates */
346  for(ic=0; ic<EMAP_NHFCR; ic++){
347  /* four sets of three htrs per crate */
348  for(is=0; is<EMAP_NHSETS; is++){
349  /* three htrs per set */
350  for(ih=0; ih<EMAP_NHTRS; ih++){
351  /* top and bottom */
352  for(itb=0; itb<EMAP_NTOPBOT; itb++){
353  /* eight fibers per HTR FPGA */
354  for(ifb=0; ifb<EMAP_NFBR; ifb++){
355  /* three channels per fiber */
356  for(ifc=0; ifc<EMAP_NFCH; ifc++){
357  icrate=hfcrate[ic];
358  iside=is<EMAP_NHSETS/2?-1:1;
359  ieta=ihfetadepth[itb][ifb][ifc][0];
360  idepth=ihfetadepth[itb][ifb][ifc][1];
361  ihtr=ihslot[is]+ih;
362  det="HF";
363  fpga=((itb%2)==1)?("bot"):("top");
364  ihtr_fi=ifb+1;
365  ifi_ch=ifc;
366  iphi=(ieta>39)?(ihfphis[ic]+(is%2)*12+ih*4-3)%72+1:(ihfphis[ic]+(is%2)*12+ih*4+(ifb/4)*2-1)%72+1;
367  ispigot=(is%2)*6+ih*2+itb;
368  idcc=is<EMAP_NHSETS/2?1:2;
369  // idcc_sl=idcc==1?9:19;
370  ifed=fedhfnum[ic][idcc-1];
371  HcalElectronicsId elId(ifi_ch, ihtr_fi, ispigot, ifed-700);
372  elId.setHTR(icrate, ihtr, (fpga=="top")?(1):(0));
373  HcalDetId hId(HcalForward,ieta*iside,iphi,idepth);
374  emap.mapEId2chId(elId,hId);
375  // printf(" %9d %9d %9d %9d %9s %9d %9d %9s %9d %9d %9d %9d %9d %9d\n",iside,ieta,iphi,idepth,&det,icrate,ihtr,&fpga,ihtr_fi,ifi_ch,ispigot,idcc,idcc_sl,ifed);
376  }}}}}}
377  /* all HO crates */
378  for(ic=0; ic<EMAP_NHOCR; ic++){
379  /* three sets of four htrs per crate */
380  for(is=0; is<EMAP_NHSETSHO; is++){
381  /* four htrs per set */
382  for(ih=0; ih<EMAP_NHTRSHO; ih++){
383  /* top and bottom */
384  for(itb=0; itb<EMAP_NTOPBOT; itb++){
385  /* eight fibers per HTR FPGA */
386  for(ifb=0; ifb<EMAP_NFBR; ifb++){
387  /* three channels per fiber */
388  for(ifc=0; ifc<EMAP_NFCH; ifc++){
389  icrate=hocrate[ic];
390  idepth=1;
391  ieta=ihoetasidephi[ih][itb][ifb][ifc][0];
392  iside=ihoetasidephi[ih][itb][ifb][ifc][1];
393  iphi_loc=ihoetasidephi[ih][itb][ifb][ifc][2];
394  ihtr=ihslotho[is][ih];
395  det="HO";
396  fpga=((itb%2)==1)?("bot"):("top");
397  ihtr_fi=ifb+1;
398  ifi_ch=ifc;
399  iphi=(ihophis[ic]+is*6+iphi_loc-1)%72+1;
400  ispigot=ihtr<9?(ihtr-2)*2+itb:(ihtr-13)*2+itb;
401  idcc=ihtr<9?1:2;
402  // idcc_sl=idcc==1?9:19;
403  ifed=fedhonum[ic][idcc-1];
404  HcalElectronicsId elId(ifi_ch, ihtr_fi, ispigot, ifed-700);
405  elId.setHTR(icrate, ihtr, (fpga=="top")?(1):(0));
406  if (ieta==0) { // unmapped
408  } else {
409  HcalDetId hId(HcalOuter,ieta*iside,iphi,idepth+3); // HO is officially "depth=4"
410  emap.mapEId2chId(elId,hId);
411  }
412  // printf(" %9d %9d %9d %9d %9s %9d %9d %9s %9d %9d %9d %9d %9d %9d\n",iside,ieta,iphi,idepth,&det,icrate,ihtr,&fpga,ihtr_fi,ifi_ch,ispigot,idcc,idcc_sl,ifed);
413  }}}}}}
414 
415 
416  emap.sort();
417 
418 }
#define EMAP_NHFCR
static const HcalDetId Undefined
Definition: HcalDetId.h:66
int i
Definition: DBlmapReader.cc:9
#define EMAP_NFCH
HcalQIEShape makeQIEShape()
#define EMAP_NHSETSHO
#define EMAP_NTOPBOT
HcalTimingParam makeTimingParam(HcalGenericDetId fId)
bool mapGeomId2DcsId(HcalDetId fId, HcalDcsDetId fDcsId)
Definition: HcalDcsMap.cc:205
#define EMAP_NHOCR
static const double slope[3]
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
HcalCalibrationQIECoder makeCalibrationQIECoder(HcalGenericDetId fId)
float getValue(int fCapId) const
get value for capId = 0..3
Definition: HcalGainWidth.h:19
void makeHardcodeMap(HcalElectronicsMap &emap)
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
HcalQIECoder makeQIECoder(HcalGenericDetId fId)
HcalPedestalWidth makePedestalWidth(HcalGenericDetId fId)
void makeHardcodeDcsMap(HcalDcsMap &dcs_map)
int depth() const
get the tower depth
Definition: HcalDetId.h:42
HcalGain makeGain(HcalGenericDetId fId, bool fSmear=false)
tuple result
Definition: query.py:137
int j
Definition: DBlmapReader.cc:9
#define EMAP_NHBHECR
unsigned int offset(bool)
HcalRecoParam makeRecoParam(HcalGenericDetId fId)
bool first
Definition: L1TdeRCT.cc:94
#define EMAP_NHTRS
bool mapEId2chId(HcalElectronicsId fElectronicsId, DetId fId)
Definition: DetId.h:20
#define EMAP_NHSETS
float getWidth(int fCapId) const
get width (sqrt(sigma_i_i)) for capId = 0..3
HcalGainWidth makeGainWidth(HcalGenericDetId fId)
#define EMAP_NHTRSHO
HcalGenericSubdetector genericSubdet() const
#define EMAP_NFBR
Readout chain identification for Hcal [31:26] Unused (so far) [25] Trigger-chain id flag [24:20] Read...
HcalPedestal makePedestal(HcalGenericDetId fId, bool fSmear=false)