File indexing completed on 2024-04-06 12:24:53
0001 #ifndef EgammaHadTower_h
0002 #define EgammaHadTower_h
0003
0004
0005
0006
0007 #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h"
0008 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
0009 #include "DataFormats/CaloRecHit/interface/CaloCluster.h"
0010 #include "Geometry/CaloTopology/interface/CaloTowerConstituentsMap.h"
0011 #include "Geometry/CaloTopology/interface/HcalTopology.h"
0012
0013 class HcalChannelQuality;
0014
0015 namespace egamma {
0016 enum class HoeMode { SingleTower = 0, TowersBehindCluster = 1 };
0017
0018 double depth1HcalESum(std::vector<CaloTowerDetId> const& towers, CaloTowerCollection const&);
0019 double depth2HcalESum(std::vector<CaloTowerDetId> const& towers, CaloTowerCollection const&);
0020
0021 std::vector<CaloTowerDetId> towersOf(reco::SuperCluster const& sc,
0022 CaloTowerConstituentsMap const& towerMap,
0023 HoeMode mode = HoeMode::SingleTower);
0024
0025 CaloTowerDetId towerOf(reco::CaloCluster const& cluster, CaloTowerConstituentsMap const& towerMap);
0026
0027 bool hasActiveHcal(std::vector<CaloTowerDetId> const& towers,
0028 CaloTowerConstituentsMap const& towerMap,
0029 HcalChannelQuality const& hcalQuality,
0030 HcalTopology const& hcalTopology);
0031 };
0032
0033 #endif