CMS 3D CMS Logo

EcalTrigPrimESProducer.cc
Go to the documentation of this file.
1 // user include files
3 
4 #include <TMath.h>
5 #include <fstream>
6 #include <iostream>
7 #include <sstream>
8 
10 
11 //
12 // input stream from a gz file
13 //
14 
15 struct GzInputStream {
16  gzFile gzf;
17  char buffer[256];
18  std::istringstream iss;
19  bool eof;
20  GzInputStream(const char *file) : eof(false) {
21  gzf = gzopen(file, "rb");
22  if (gzf == Z_NULL) {
23  eof = true;
24  edm::LogWarning("EcalTPG") << "Database file " << file << " not found!!!";
25  } else
26  readLine();
27  }
28  void readLine() {
29  char *res = gzgets(gzf, buffer, 256);
30  eof = (res == Z_NULL);
31  if (!eof) {
32  iss.clear();
33  iss.str(buffer);
34  }
35  }
36  ~GzInputStream() { gzclose(gzf); }
37  explicit operator bool() const {
38  return ((eof == true) ? false : !iss.fail());
39  }
40 };
41 
42 template <typename T> GzInputStream &operator>>(GzInputStream &gis, T &var) {
43  while ((bool)gis && !(gis.iss >> var)) {
44  gis.readLine();
45  }
46  return gis;
47 }
48 
49 //
50 // constructors and destructor
51 //
52 
54  : dbFilename_(
55  iConfig.getUntrackedParameter<std::string>("DatabaseFile", "")),
56  flagPrint_(iConfig.getParameter<bool>("WriteInFile")) {
57  // the following line is needed to tell the framework what
58  // data is being produced
75  // now do what ever other initialization is needed
76 }
77 
79 
80 //
81 // member functions
82 //
83 
84 // ------------ method called to produce the data ------------
85 
86 std::unique_ptr<EcalTPGPedestals>
88  auto prod = std::make_unique<EcalTPGPedestals>();
89  parseTextFile();
90  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
91  for (it = mapXtal_.begin(); it != mapXtal_.end(); it++) {
92  EcalTPGPedestal item;
93  item.mean_x12 = (it->second)[0];
94  item.mean_x6 = (it->second)[3];
95  item.mean_x1 = (it->second)[6];
96  prod->setValue(it->first, item);
97  }
98  return prod;
99 }
100 
101 std::unique_ptr<EcalTPGLinearizationConst>
103  const EcalTPGLinearizationConstRcd &iRecord) {
104  auto prod = std::make_unique<EcalTPGLinearizationConst>();
105  parseTextFile();
106  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
107  for (it = mapXtal_.begin(); it != mapXtal_.end(); it++) {
109  item.mult_x12 = (it->second)[1];
110  item.mult_x6 = (it->second)[4];
111  item.mult_x1 = (it->second)[7];
112  item.shift_x12 = (it->second)[2];
113  item.shift_x6 = (it->second)[5];
114  item.shift_x1 = (it->second)[8];
115  prod->setValue(it->first, item);
116  }
117  return prod;
118 }
119 
120 std::unique_ptr<EcalTPGSlidingWindow>
122  const EcalTPGSlidingWindowRcd &iRecord) {
123  auto prod = std::make_unique<EcalTPGSlidingWindow>();
124  parseTextFile();
125  for (int subdet = 0; subdet < 2; subdet++) {
126  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
127  for (it = mapStrip_[subdet].begin(); it != mapStrip_[subdet].end(); it++) {
128  prod->setValue(it->first, (it->second)[0]);
129  }
130  }
131  return prod;
132 }
133 
134 std::unique_ptr<EcalTPGFineGrainEBIdMap>
136  const EcalTPGFineGrainEBIdMapRcd &iRecord) {
137  auto prod = std::make_unique<EcalTPGFineGrainEBIdMap>();
138  parseTextFile();
140  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
141  for (it = mapFg_.begin(); it != mapFg_.end(); it++) {
142  fg.setValues((it->second)[0], (it->second)[1], (it->second)[2],
143  (it->second)[3], (it->second)[4]);
144  prod->setValue(it->first, fg);
145  }
146  return prod;
147 }
148 
149 std::unique_ptr<EcalTPGFineGrainStripEE>
151  const EcalTPGFineGrainStripEERcd &iRecord) {
152  auto prod = std::make_unique<EcalTPGFineGrainStripEE>();
153  parseTextFile();
154  // EE Strips
155  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
156  for (it = mapStrip_[1].begin(); it != mapStrip_[1].end(); it++) {
158  item.threshold = (it->second)[2];
159  item.lut = (it->second)[3];
160  prod->setValue(it->first, item);
161  }
162  // EB Strips
163  for (it = mapStrip_[0].begin(); it != mapStrip_[0].end(); it++) {
165  item.threshold = (it->second)[2];
166  item.lut = (it->second)[3];
167  prod->setValue(it->first, item);
168  }
169  return prod;
170 }
171 
172 std::unique_ptr<EcalTPGFineGrainTowerEE>
174  const EcalTPGFineGrainTowerEERcd &iRecord) {
175  auto prod = std::make_unique<EcalTPGFineGrainTowerEE>();
176  parseTextFile();
177  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
178  for (it = mapTower_[1].begin(); it != mapTower_[1].end(); it++) {
179  prod->setValue(it->first, (it->second)[1]);
180  }
181  return prod;
182 }
183 
184 std::unique_ptr<EcalTPGLutIdMap>
186  auto prod = std::make_unique<EcalTPGLutIdMap>();
187  parseTextFile();
188  EcalTPGLut lut;
189  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
190  for (it = mapLut_.begin(); it != mapLut_.end(); it++) {
191  unsigned int lutArray[1024];
192  for (int i = 0; i < 1024; i++)
193  lutArray[i] = (it->second)[i];
194  lut.setLut(lutArray);
195  prod->setValue(it->first, lut);
196  }
197  return prod;
198 }
199 
200 std::unique_ptr<EcalTPGWeightIdMap>
202  auto prod = std::make_unique<EcalTPGWeightIdMap>();
203  parseTextFile();
205  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
206  for (it = mapWeight_.begin(); it != mapWeight_.end(); it++) {
207  weights.setValues((it->second)[0], (it->second)[1], (it->second)[2],
208  (it->second)[3], (it->second)[4]);
209  prod->setValue(it->first, weights);
210  }
211  return prod;
212 }
213 
214 std::unique_ptr<EcalTPGWeightGroup> EcalTrigPrimESProducer::produceWeightGroup(
215  const EcalTPGWeightGroupRcd &iRecord) {
216  auto prod = std::make_unique<EcalTPGWeightGroup>();
217  parseTextFile();
218  for (int subdet = 0; subdet < 2; subdet++) {
219  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
220  for (it = mapStrip_[subdet].begin(); it != mapStrip_[subdet].end(); it++) {
221  prod->setValue(it->first, (it->second)[1]);
222  }
223  }
224  return prod;
225 }
226 
227 std::unique_ptr<EcalTPGLutGroup>
229  auto prod = std::make_unique<EcalTPGLutGroup>();
230  parseTextFile();
231  for (int subdet = 0; subdet < 2; subdet++) {
232  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
233  for (it = mapTower_[subdet].begin(); it != mapTower_[subdet].end(); it++) {
234  prod->setValue(it->first, (it->second)[0]);
235  }
236  }
237  return prod;
238 }
239 
240 std::unique_ptr<EcalTPGFineGrainEBGroup>
242  const EcalTPGFineGrainEBGroupRcd &iRecord) {
243  auto prod = std::make_unique<EcalTPGFineGrainEBGroup>();
244  parseTextFile();
245  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
246  for (it = mapTower_[0].begin(); it != mapTower_[0].end(); it++) {
247  prod->setValue(it->first, (it->second)[1]);
248  }
249  return prod;
250 }
251 
252 std::unique_ptr<EcalTPGPhysicsConst>
254  const EcalTPGPhysicsConstRcd &iRecord) {
255  auto prod = std::make_unique<EcalTPGPhysicsConst>();
256  parseTextFile();
257  std::map<uint32_t, std::vector<float>>::const_iterator it;
258  for (it = mapPhys_.begin(); it != mapPhys_.end(); it++) {
260  item.EtSat = (it->second)[0];
261  item.ttf_threshold_Low = (it->second)[1];
262  item.ttf_threshold_High = (it->second)[2];
263  item.FG_lowThreshold = (it->second)[3];
264  item.FG_highThreshold = (it->second)[4];
265  item.FG_lowRatio = (it->second)[5];
266  item.FG_highRatio = (it->second)[6];
267  prod->setValue(it->first, item);
268  }
269  return prod;
270 }
271 
272 std::unique_ptr<EcalTPGCrystalStatus>
274  auto prod = std::make_unique<EcalTPGCrystalStatus>();
275  parseTextFile();
276  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
277  for (it = mapXtal_.begin(); it != mapXtal_.end(); it++) {
278 
279  EcalTPGCrystalStatusCode badXValue;
280  badXValue.setStatusCode(0);
281  prod->setValue(it->first, badXValue);
282  }
283  return prod;
284 }
285 
286 std::unique_ptr<EcalTPGStripStatus>
288  auto prod = std::make_unique<EcalTPGStripStatus>();
289  // returns an empty map
290  return prod;
291 }
292 
293 std::unique_ptr<EcalTPGTowerStatus>
295  auto prod = std::make_unique<EcalTPGTowerStatus>();
296  parseTextFile();
297  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
298  // Barrel
299  for (it = mapTower_[0].begin(); it != mapTower_[0].end(); it++) {
300  // set the BadTT status to 0
301  prod->setValue(it->first, 0);
302  }
303  // Endcap
304  for (it = mapTower_[1].begin(); it != mapTower_[1].end(); it++) {
305  // set the BadTT status to 0
306  prod->setValue(it->first, 0);
307  }
308 
309  return prod;
310 }
311 
312 std::unique_ptr<EcalTPGSpike>
314  auto prod = std::make_unique<EcalTPGSpike>();
315  parseTextFile();
316  // Only need to do barrel
317  std::map<uint32_t, std::vector<uint32_t>>::const_iterator it;
318  for (it = mapTower_[0].begin(); it != mapTower_[0].end(); ++it) {
319  prod->setValue(it->first, (it->second)[2]);
320  }
321  return prod;
322 }
323 
325  if (!mapXtal_.empty())
326  return; // just parse the file once!
327 
328  uint32_t id;
329  std::string dataCard;
331  std::ifstream infile;
332  std::vector<unsigned int> param;
333  std::vector<float> paramF;
334  int NBstripparams[2] = {4, 4};
335  unsigned int data;
336  float dataF;
337 
338  std::string bufString;
339  std::string iString;
340  std::string fString;
342  "SimCalorimetry/EcalTrigPrimProducers/data/" + dbFilename_;
343  std::string finalFileName;
344  size_t slash = dbFilename_.find("/");
345  if (slash != 0) {
346  edm::FileInPath fileInPath(filename);
347  finalFileName = fileInPath.fullPath();
348  } else {
349  finalFileName = dbFilename_;
350  edm::LogWarning("EcalTPG") << "Couldnt find database file via fileinpath, "
351  "trying with pathname directly!!";
352  }
353 
354  int k = 0;
355 
356  GzInputStream gis(finalFileName.c_str());
357  while (gis >> dataCard) {
358 
359  if (dataCard == "PHYSICS_EB" || dataCard == "PHYSICS_EE") {
360  gis >> std::dec >> id;
361 
362  if (flagPrint_) {
363  std::cout << dataCard << " " << std::dec << id << std::endl;
364  }
365 
366  paramF.clear();
367 
368  std::string st1;
369  std::string st2;
370 
371  for (int i = 0; i < 7; i++) {
372  gis >> std::dec >> dataF;
373  paramF.push_back(dataF);
374 
375  // std::cout<<", "<<std::dec<<dataF ;
376  if (flagPrint_) {
377  //---------------------------------
378  if (i < 3) {
379  std::ostringstream oss;
380  oss << dataF;
381  std::string result1 = oss.str();
382 
383  st1.append(result1);
384  if (i != 2)
385  st1.append(" ");
386  }
387 
388  if (i > 2) {
389  std::ostringstream oss;
390  oss << dataF;
391  std::string result2 = oss.str();
392 
393  st2.append(result2);
394  if (i != 6)
395  st2.append(" ");
396  }
397  //----------------------------------
398  }
399  }
400 
401  if (flagPrint_) {
402  std::cout << "" << st1 << std::endl;
403  std::cout << "" << st2 << std::endl;
404  std::cout << "" << std::endl;
405  }
406 
407  // std::cout<<std::endl ;
408  mapPhys_[id] = paramF;
409  }
410 
411  if (dataCard == "CRYSTAL") {
412 
413  gis >> std::dec >> id;
414  // std::cout<<dataCard<<" "<<std::dec<<id;
415  std::string st3;
416  std::string st4;
417  std::string st5;
418 
419  if (flagPrint_) {
420  // Print this comment only one time
421  if (k == 0)
422  std::cout << "COMMENT ====== barrel crystals ====== " << std::endl;
423 
424  if (k == 61200)
425  std::cout << "COMMENT ====== endcap crystals ====== " << std::endl;
426 
427  k = k + 1;
428 
429  std::cout << dataCard << " " << std::dec << id << std::endl;
430  }
431 
432  param.clear();
433  for (int i = 0; i < 9; i++) {
434  gis >> std::hex >> data;
435  // std::cout<<", "<<std::hex<<data ;
436  param.push_back(data);
437 
438  if (flagPrint_) {
439  if (i < 3) {
440  std::ostringstream oss;
441  oss << std::hex << data;
442  std::string result1 = oss.str();
443 
444  st3.append("0x");
445  st3.append(result1);
446  if (i != 2)
447  st3.append(" ");
448 
449  } else if (i > 2 && i < 6) {
450  std::ostringstream oss;
451  oss << std::hex << data;
452  std::string result2 = oss.str();
453 
454  st4.append("0x");
455  st4.append(result2);
456  if (i != 5)
457  st4.append(" ");
458  } else if (i > 5 && i < 9) {
459  std::ostringstream oss;
460  oss << std::hex << data;
461  std::string result3 = oss.str();
462 
463  st5.append("0x");
464  st5.append(result3);
465  if (i != 8)
466  st5.append(" ");
467  }
468  }
469 
470  } // end for
471 
472  if (flagPrint_) {
473  std::cout << " " << st3 << std::endl;
474  std::cout << " " << st4 << std::endl;
475  std::cout << " " << st5 << std::endl;
476  }
477 
478  // std::cout<<std::endl ;
479  mapXtal_[id] = param;
480  }
481 
482  if (dataCard == "STRIP_EB") {
483  gis >> std::dec >> id;
484 
485  std::string st1;
486 
487  if (flagPrint_)
488  std::cout << dataCard << " " << std::dec << id << std::endl;
489 
490  param.clear();
491  for (int i = 0; i < NBstripparams[0]; i++) {
492  gis >> std::hex >> data;
493  // std::cout << " data = " << data << std::endl;
494  param.push_back(data);
495 
496  if (flagPrint_) {
497  if (i == 0) {
498  std::cout << "0x" << std::hex << data << std::endl;
499  } else if (i == 1) {
500  std::cout << "" << std::hex << data << std::endl;
501  } else if (i > 1) {
502  std::ostringstream oss;
503  if (i == 2) {
504  oss << "0x" << std::hex << data;
505  std::string result4 = oss.str();
506  st1.append(result4);
507  } else if (i == 3) {
508  std::ostringstream oss;
509  oss << " 0x" << std::hex << data;
510  std::string result5 = oss.str();
511 
512  st1.append(result5);
513  std::cout << "" << st1 << std::endl;
514  }
515  }
516  }
517  }
518 
519  // std::cout<<std::endl ;
520  mapStrip_[0][id] = param;
521  }
522 
523  if (dataCard == "STRIP_EE") {
524  gis >> std::dec >> id;
525 
526  std::string st6;
527 
528  if (flagPrint_) {
529  std::cout << dataCard << " " << std::dec << id << std::endl;
530  }
531 
532  param.clear();
533  for (int i = 0; i < NBstripparams[1]; i++) {
534  gis >> std::hex >> data;
535  param.push_back(data);
536 
537  if (flagPrint_) {
538  if (i == 0) {
539  std::cout << "0x" << std::hex << data << std::endl;
540  } else if (i == 1) {
541  std::cout << " " << std::hex << data << std::endl;
542  } else if (i > 1) {
543  std::ostringstream oss;
544  if (i == 2) {
545  oss << "0x" << std::hex << data;
546  std::string result4 = oss.str();
547  st6.append(result4);
548  } else if (i == 3) {
549  std::ostringstream oss;
550  oss << " 0x" << std::hex << data;
551  std::string result5 = oss.str();
552 
553  st6.append(result5);
554  std::cout << "" << st6 << std::endl;
555  }
556  }
557  }
558  }
559 
560  // std::cout<<std::endl ;
561  mapStrip_[1][id] = param;
562  }
563 
564  if (dataCard == "TOWER_EE") {
565  gis >> std::dec >> id;
566 
567  if (flagPrint_)
568  std::cout << dataCard << " " << std::dec << id << std::endl;
569 
570  param.clear();
571  for (int i = 0; i < 2; i++) {
572  gis >> std::hex >> data;
573  param.push_back(data);
574 
575  if (flagPrint_) {
576  if (i == 1) {
577  std::cout << "0x" << std::dec << data << std::endl;
578  } else {
579  std::cout << " " << std::dec << data << std::endl;
580  }
581  }
582  }
583 
584  // std::cout<<std::endl ;
585  mapTower_[1][id] = param;
586  }
587 
588  if (dataCard == "TOWER_EB") {
589  gis >> std::dec >> id;
590 
591  if (flagPrint_)
592  std::cout << dataCard << " " << std::dec << id << std::endl;
593 
594  param.clear();
595  for (int i = 0; i < 3; i++) {
596  gis >> std::dec >> data;
597 
598  if (flagPrint_) {
599  std::cout << " " << std::dec << data << std::endl;
600  }
601 
602  param.push_back(data);
603  }
604 
605  // std::cout<<std::endl ;
606  mapTower_[0][id] = param;
607  }
608 
609  if (dataCard == "WEIGHT") {
610 
611  if (flagPrint_)
612  std::cout << std::endl;
613 
614  gis >> std::hex >> id;
615  if (flagPrint_) {
616  std::cout << dataCard << " " << std::dec << id << std::endl;
617  }
618 
619  param.clear();
620 
621  std::string st6;
622  for (int i = 0; i < 5; i++) {
623  gis >> std::hex >> data;
624  param.push_back(data);
625 
626  if (flagPrint_) {
627  std::ostringstream oss;
628  oss << std::hex << data;
629  std::string result4 = oss.str();
630 
631  st6.append("0x");
632  st6.append(result4);
633  st6.append(" ");
634  }
635  }
636 
637  if (flagPrint_) {
638  std::cout << st6 << std::endl;
639  std::cout << std::endl;
640  }
641 
642  // std::cout<<std::endl ;
643  mapWeight_[id] = param;
644  }
645 
646  if (dataCard == "FG") {
647 
648  if (flagPrint_)
649  std::cout << std::endl;
650 
651  gis >> std::hex >> id;
652  if (flagPrint_)
653  std::cout << dataCard << " " << std::dec << id << std::endl;
654 
655  param.clear();
656  std::string st7;
657  for (int i = 0; i < 5; i++) {
658  gis >> std::hex >> data;
659  param.push_back(data);
660 
661  if (flagPrint_) {
662  std::ostringstream oss;
663  oss << std::hex << data;
664 
665  std::string result5 = oss.str();
666 
667  st7.append("0x");
668  st7.append(result5);
669  if (i != 4)
670  st7.append(" ");
671  }
672  }
673 
674  if (flagPrint_) {
675  std::cout << st7 << std::endl;
676  std::cout << std::endl;
677  }
678 
679  mapFg_[id] = param;
680  }
681 
682  if (dataCard == "LUT") {
683  gis >> std::hex >> id;
684 
685  if (flagPrint_)
686  std::cout << dataCard << " " << std::dec << id << std::endl;
687 
688  param.clear();
689  for (int i = 0; i < 1024; i++) {
690  gis >> std::hex >> data;
691  param.push_back(data);
692 
693  if (flagPrint_) {
694  std::cout << "0x" << std::hex << data << std::endl;
695  }
696  }
697 
698  if (flagPrint_) {
699  std::cout << std::endl;
700  std::cout << std::endl;
701  }
702 
703  mapLut_[id] = param;
704  }
705  }
706 }
707 
708 std::vector<int> EcalTrigPrimESProducer::getRange(int subdet, int tccNb,
709  int towerNbInTcc,
710  int stripNbInTower,
711  int xtalNbInStrip) {
712  std::vector<int> range;
713  if (subdet == 0) {
714  // Barrel
715  range.push_back(37); // stccNbMin
716  range.push_back(73); // tccNbMax
717  range.push_back(1); // towerNbMin
718  range.push_back(69); // towerNbMax
719  range.push_back(1); // stripNbMin
720  range.push_back(6); // stripNbMax
721  range.push_back(1); // xtalNbMin
722  range.push_back(6); // xtalNbMax
723  } else {
724  // Endcap eta >0
725  if (subdet > 0) {
726  range.push_back(73); // tccNbMin
727  range.push_back(109); // tccNbMax
728  } else { // endcap eta <0
729  range.push_back(1); // tccNbMin
730  range.push_back(37); // tccNbMax
731  }
732  range.push_back(1); // towerNbMin
733  range.push_back(29); // towerNbMax
734  range.push_back(1); // stripNbMin
735  range.push_back(6); // stripNbMax
736  range.push_back(1); // xtalNbMin
737  range.push_back(6); // xtalNbMax
738  }
739 
740  if (tccNb > 0) {
741  range[0] = tccNb;
742  range[1] = tccNb + 1;
743  }
744  if (towerNbInTcc > 0) {
745  range[2] = towerNbInTcc;
746  range[3] = towerNbInTcc + 1;
747  }
748  if (stripNbInTower > 0) {
749  range[4] = stripNbInTower;
750  range[5] = stripNbInTower + 1;
751  }
752  if (xtalNbInStrip > 0) {
753  range[6] = xtalNbInStrip;
754  range[7] = xtalNbInStrip + 1;
755  }
756 
757  return range;
758 }
759 
760 // bool EcalTrigPrimESProducer::getNextString(gzFile &gzf){
761 // size_t blank;
762 // if (bufpos_==0) {
763 // gzgets(gzf,buf_,80);
764 // if (gzeof(gzf)) return true;
765 // bufString_=std::string(buf_);
766 // }
767 // int pos=0;
768 // pos =bufpos_;
769 // // look for next non-blank
770 // while (pos<bufString_.size()) {
771 // if (!bufString_.compare(pos,1," ")) pos++;
772 // else break;
773 // }
774 // blank=bufString_.find(" ",pos);
775 // size_t end = blank;
776 // if (blank==std::string::npos) end=bufString_.size();
777 // sub_=bufString_.substr(pos,end-pos);
778 // bufpos_= blank;
779 // if (blank==std::string::npos) bufpos_=0;
780 // return false;
781 // }
782 //
783 // int EcalTrigPrimESProducer::converthex() {
784 // // converts hex dec string sub to hexa
785 // //FIXME:: find something better (istrstream?)!!!!
786 //
787 // std::string chars("0123456789abcdef");
788 // int hex=0;
789 // for (size_t i=2;i<sub_.length();++i) {
790 // size_t f=chars.find(sub_[i]);
791 // if (f==std::string::npos) break; //FIXME: length is 4 for 0x3!!
792 // hex=hex*16+chars.find(sub_[i]);
793 // }
794 // return hex;
795 // }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:124
std::vector< int > getRange(int subdet, int smNb, int towerNbInSm, int stripNbInTower=0, int xtalNbInStrip=0)
std::unique_ptr< EcalTPGWeightGroup > produceWeightGroup(const EcalTPGWeightGroupRcd &)
std::unique_ptr< EcalTPGCrystalStatus > produceBadX(const EcalTPGCrystalStatusRcd &)
GzInputStream & operator>>(GzInputStream &gis, T &var)
void setValues(const uint32_t &ThresholdETLow, const uint32_t &ThresholdETHigh, const uint32_t &RatioLow, const uint32_t &RatioHigh, const uint32_t &LUT)
std::unique_ptr< EcalTPGLinearizationConst > produceLinearizationConst(const EcalTPGLinearizationConstRcd &)
std::map< uint32_t, std::vector< uint32_t > > mapTower_[2]
std::unique_ptr< EcalTPGFineGrainEBIdMap > produceFineGrainEB(const EcalTPGFineGrainEBIdMapRcd &)
std::unique_ptr< EcalTPGLutIdMap > produceLUT(const EcalTPGLutIdMapRcd &)
Definition: Electron.h:6
void setLut(const unsigned int *lut)
Definition: EcalTPGLut.cc:20
std::unique_ptr< EcalTPGTowerStatus > produceBadTT(const EcalTPGTowerStatusRcd &)
std::unique_ptr< EcalTPGPedestals > producePedestals(const EcalTPGPedestalsRcd &)
std::unique_ptr< EcalTPGPhysicsConst > producePhysicsConst(const EcalTPGPhysicsConstRcd &)
void setStatusCode(const uint16_t &val)
std::map< uint32_t, std::vector< uint32_t > > mapXtal_
std::unique_ptr< EcalTPGFineGrainTowerEE > produceFineGrainEEtower(const EcalTPGFineGrainTowerEERcd &)
std::unique_ptr< EcalTPGSpike > produceSpike(const EcalTPGSpikeRcd &)
int k[5][pyjets_maxn]
std::map< uint32_t, std::vector< uint32_t > > mapWeight_
std::unique_ptr< EcalTPGSlidingWindow > produceSlidingWindow(const EcalTPGSlidingWindowRcd &)
std::unique_ptr< EcalTPGFineGrainEBGroup > produceFineGrainEBGroup(const EcalTPGFineGrainEBGroupRcd &)
EcalTrigPrimESProducer(const edm::ParameterSet &)
std::unique_ptr< EcalTPGLutGroup > produceLutGroup(const EcalTPGLutGroupRcd &)
std::map< uint32_t, std::vector< uint32_t > > mapFg_
GzInputStream(const char *file)
std::map< uint32_t, std::vector< float > > mapPhys_
#define begin
Definition: vmac.h:32
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
std::string fullPath() const
Definition: FileInPath.cc:163
std::unique_ptr< EcalTPGFineGrainStripEE > produceFineGrainEEstrip(const EcalTPGFineGrainStripEERcd &)
std::unique_ptr< EcalTPGWeightIdMap > produceWeight(const EcalTPGWeightIdMapRcd &)
std::unique_ptr< EcalTPGStripStatus > produceBadStrip(const EcalTPGStripStatusRcd &)
void setValues(const uint32_t &w0, const uint32_t &w1, const uint32_t &w2, const uint32_t &w3, const uint32_t &w4)
std::map< uint32_t, std::vector< uint32_t > > mapLut_
long double T
std::map< uint32_t, std::vector< uint32_t > > mapStrip_[2]
std::istringstream iss