CMS 3D CMS Logo

CaloMiscalibMapHcal.h
Go to the documentation of this file.
1 #ifndef _CALO_MISCALIB_MAP_HCAL
2 #define _CALO_MISCALIB_MAP_HCAL
11 
12 #include <iostream>
13 #include <iomanip>
14 #include <map>
15 #include <vector>
16 
18 public:
20 
22  for (int det = 1; det <= HcalForward; det++) {
24  for (unsigned int phi = 1; phi <= HcalDetId::kHcalPhiMask2; phi++) {
25  for (unsigned int depth = 1; depth <= HcalDetId::kHcalDepthMask2; depth++) {
26  try {
27  HcalDetId hcaldetid((HcalSubdetector)det, eta, phi, depth);
28  if (topology.valid(hcaldetid)) {
29  mapHcal_[hcaldetid.rawId()] = 1.0;
30  // std::cout << "Valid cell found: " << det << " " << eta << " " << phi << " " << depth << std::endl;
31  }
32 
33  } catch (...) {
34  }
35  }
36  }
37  }
38  }
39  }
40 
41  void addCell(const DetId &cell, float scaling_factor) override {
42  //mapHcal_.setValue(cell.rawId(),scaling_factor);
43  mapHcal_[cell.rawId()] = scaling_factor;
44  }
45 
46  void print() {
47  std::map<uint32_t, float>::const_iterator it;
48 
49  // for(it=mapHcal_.getMap().begin();it!=mapHcal_.getMap().end();it++){
50  // }
51  for (it = mapHcal_.begin(); it != mapHcal_.end(); it++) {
52  }
53  }
54 
55  const std::map<uint32_t, float> &get() { return mapHcal_; }
56 
57 private:
58  std::map<uint32_t, float> mapHcal_;
59  // EcalIntercalibConstants map_;
60  // const CaloSubdetectorGeometry *geometry;
61 };
62 
63 #endif
bool valid(const DetId &id) const override
static uint32_t kHcalEtaMask2
Definition: HcalDetId.h:21
CaloTopology const * topology(0)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
std::map< uint32_t, float > mapHcal_
static uint32_t kHcalDepthMask2
Definition: HcalDetId.h:27
HcalSubdetector
Definition: HcalAssistant.h:31
Definition: DetId.h:18
static uint32_t kHcalPhiMask2
Definition: HcalDetId.h:17
void prefillMap(const HcalTopology &topology)
void addCell(const DetId &cell, float scaling_factor) override