File indexing completed on 2024-04-06 12:20:42
0001
0002
0003
0004
0005
0006
0007
0008 #include "FWCore/Utilities/interface/EDMException.h"
0009
0010 #include "L1Trigger/L1THGCal/interface/backend/HGCalTowerMap2DImpl.h"
0011 #include "L1Trigger/L1THGCal/interface/HGCalTriggerGeometryBase.h"
0012
0013 HGCalTowerMap2DImpl::HGCalTowerMap2DImpl(const edm::ParameterSet& conf)
0014 : useLayerWeights_(conf.getParameter<bool>("useLayerWeights")),
0015 layerWeights_(conf.getParameter<std::vector<double>>("layerWeights")),
0016 towerGeometryHelper_(conf.getParameter<edm::ParameterSet>("L1TTriggerTowerConfig")) {}
0017
0018 std::unordered_map<int, l1t::HGCalTowerMap> HGCalTowerMap2DImpl::newTowerMaps() {
0019 bool isNose = towerGeometryHelper_.isNose();
0020
0021 std::unordered_map<int, l1t::HGCalTowerMap> towerMaps;
0022 for (unsigned layer = 1; layer <= triggerTools_.lastLayer(isNose); layer++) {
0023
0024 if (!isNose && layer <= triggerTools_.lastLayerEE(isNose) && layer % 2 == 0)
0025 continue;
0026
0027 towerMaps[layer] = l1t::HGCalTowerMap(towerGeometryHelper_.getTowerCoordinates(), layer);
0028 }
0029
0030 return towerMaps;
0031 }