CMS 3D CMS Logo

CaloMiscalibMapEcal.h
Go to the documentation of this file.
1 #ifndef _CALO_MISCALIB_MAP_ECAL
2 #define _CALO_MISCALIB_MAP_ECAL
10 #include <iostream>
11 #include <iomanip>
12 #include <map>
13 #include <vector>
14 
16 public:
18 
19  void prefillMap() {
20  for (int iEta = -EBDetId::MAX_IETA; iEta <= EBDetId::MAX_IETA; ++iEta) {
21  if (iEta == 0)
22  continue;
23  for (int iPhi = EBDetId::MIN_IPHI; iPhi <= EBDetId::MAX_IPHI; ++iPhi) {
24  try {
25  EBDetId ebdetid(iEta, iPhi);
26  map_.setValue(ebdetid.rawId(), 1.0);
27  } catch (...) {
28  }
29  }
30  }
31 
32  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
33  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
34  try {
35  EEDetId eedetidpos(iX, iY, 1);
36  map_.setValue(eedetidpos.rawId(), 1.0);
37  EEDetId eedetidneg(iX, iY, -1);
38  map_.setValue(eedetidneg.rawId(), 1.0);
39  } catch (...) {
40  }
41  }
42  }
43  }
44 
45  void addCell(const DetId &cell, float scaling_factor) override { map_.setValue(cell.rawId(), scaling_factor); }
46 
47  void print() {
48  int icount = 0;
49  for (int iEta = -EBDetId::MAX_IETA; iEta <= EBDetId::MAX_IETA; ++iEta) {
50  if (iEta == 0)
51  continue;
52  for (int iPhi = EBDetId::MIN_IPHI; iPhi <= EBDetId::MAX_IPHI; ++iPhi) {
53  if (EBDetId::validDetId(iEta, iPhi)) {
54  EBDetId ebdetid(iEta, iPhi);
56  EcalIntercalibConstant icalconst;
57  icalconst = (*icalit);
58 
59  icount++;
60  if (icount % 230 == 0) {
61  std::cout << "here is value for chan eta/phi " << iEta << "/" << iPhi << "=" << icalconst << std::endl;
62  }
63  }
64  }
65  }
66  for (int iX = EEDetId::IX_MIN; iX <= EEDetId::IX_MAX; ++iX) {
67  for (int iY = EEDetId::IY_MIN; iY <= EEDetId::IY_MAX; ++iY) {
68  if (EEDetId::validDetId(iX, iY, 1)) {
69  EEDetId eedetidpos(iX, iY, 1);
71  EcalIntercalibConstant icalconst;
72  icalconst = (*icalit);
73 
74  EEDetId eedetidneg(iX, iY, -1);
76  EcalIntercalibConstant icalconst2;
77  icalconst2 = (*icalit2);
78 
79  icount++;
80  if (icount % 230 == 0) {
81  std::cout << "here is value for chan x/y " << iX << "/" << iY << " pos side is =" << icalconst
82  << " and neg side is= " << icalconst2 << std::endl;
83  }
84  }
85  }
86  }
87  }
88 
89  const EcalIntercalibConstants &get() { return map_; }
90 
91 private:
94 };
95 
96 #endif
static const int MIN_IPHI
Definition: EBDetId.h:135
const CaloSubdetectorGeometry * geometry
void addCell(const DetId &cell, float scaling_factor) override
static const int IX_MIN
Definition: EEDetId.h:290
static const int IY_MIN
Definition: EEDetId.h:294
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:118
void setValue(const uint32_t id, const Item &item)
const_iterator find(uint32_t rawId) const
static const int IX_MAX
Definition: EEDetId.h:298
Definition: DetId.h:17
static const int MAX_IPHI
Definition: EBDetId.h:137
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
std::vector< Item >::const_iterator const_iterator
static const int MAX_IETA
Definition: EBDetId.h:136
EcalIntercalibConstants map_
static const int IY_MAX
Definition: EEDetId.h:302
float EcalIntercalibConstant