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
11 #include <iostream>
12 #include <iomanip>
13 #include <map>
14 #include <vector>
15 
16 
17 
19 public:
21 }
22 
23 void prefillMap(){
24 
25 
26  for(int iEta=-EBDetId::MAX_IETA; iEta<=EBDetId::MAX_IETA ;++iEta) {
27  if(iEta==0) continue;
28  for(int iPhi=EBDetId::MIN_IPHI; iPhi<=EBDetId::MAX_IPHI; ++iPhi) {
29 
30  try
31  {
32  EBDetId ebdetid(iEta,iPhi);
33  map_.setValue(ebdetid.rawId(),1.0);
34  }
35  catch (...)
36  {
37  }
38  }
39  }
40 
41  for(int iX=EEDetId::IX_MIN; iX<=EEDetId::IX_MAX ;++iX) {
42  for(int iY=EEDetId::IY_MIN; iY<=EEDetId::IY_MAX; ++iY) {
43  try
44  {
45  EEDetId eedetidpos(iX,iY,1);
46  map_.setValue(eedetidpos.rawId(),1.0);
47  EEDetId eedetidneg(iX,iY,-1);
48  map_.setValue(eedetidneg.rawId(),1.0);
49  }
50  catch (...)
51  {
52  }
53  }
54  }
55 
56 
57 }
58 
59 
60 void addCell(const DetId &cell, float scaling_factor) override
61 {
62 map_.setValue(cell.rawId(),scaling_factor);
63 }
64 
65 void print()
66  {
67 
68  int icount=0;
69  for(int iEta=-EBDetId::MAX_IETA; iEta<=EBDetId::MAX_IETA ;++iEta) {
70  if(iEta==0) continue;
71  for(int iPhi=EBDetId::MIN_IPHI; iPhi<=EBDetId::MAX_IPHI; ++iPhi) {
72  if (EBDetId::validDetId(iEta,iPhi))
73  {
74  EBDetId ebdetid(iEta,iPhi);
76  EcalIntercalibConstant icalconst;
77  icalconst = (*icalit);
78 
79  icount++;
80  if(icount%230==0){
81  std::cout<< "here is value for chan eta/phi "<<iEta<<"/"<<iPhi<<"="<<icalconst<<std::endl;}
82  }
83  }
84  }
85  for(int iX=EEDetId::IX_MIN; iX<=EEDetId::IX_MAX ;++iX) {
86  for(int iY=EEDetId::IY_MIN; iY<=EEDetId::IY_MAX; ++iY) {
87  if (EEDetId::validDetId(iX,iY,1))
88  {
89  EEDetId eedetidpos(iX,iY,1);
91  EcalIntercalibConstant icalconst;
92  icalconst = (*icalit);
93 
94  EEDetId eedetidneg(iX,iY,-1);
96  EcalIntercalibConstant icalconst2;
97  icalconst2 = (*icalit2);
98 
99 
100  icount++;
101  if(icount%230==0){
102 
103  std::cout<< "here is value for chan x/y "<<iX<<"/"<<iY<<" pos side is ="<<icalconst<< " and neg side is= "<< icalconst2<<std::endl;}
104 
105  }
106  }
107  }
108 
109 }
110 
112 return map_;
113 }
114 
115 private:
116 
119 };
120 
121 #endif
static const int MIN_IPHI
Definition: EBDetId.h:142
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
const CaloSubdetectorGeometry * geometry
void addCell(const DetId &cell, float scaling_factor) override
static const int IX_MIN
Definition: EEDetId.h:294
static const int IY_MIN
Definition: EEDetId.h:298
static bool validDetId(int i, int j)
check if a valid index combination
Definition: EBDetId.h:124
void setValue(const uint32_t id, const Item &item)
static const int IX_MAX
Definition: EEDetId.h:302
Definition: DetId.h:18
static const int MAX_IPHI
Definition: EBDetId.h:144
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:143
const_iterator find(uint32_t rawId) const
EcalIntercalibConstants map_
static const int IY_MAX
Definition: EEDetId.h:306
float EcalIntercalibConstant