Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:53

0001 #ifndef EgammaHadTower_h
0002 #define EgammaHadTower_h
0003 
0004 // Finds the towers behind a super-cluster using the CaloTowerConstituentMap
0005 // Florian Beaudette 22 Jun 2011
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 };  // namespace egamma
0032 
0033 #endif