Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:17:24

0001 #ifndef RecoEcal_EgammaCoreTools_EcalClusterSeverityLevelAlgo_hh
0002 #define RecoEcal_EgammaCoreTools_EcalClusterSeverityLevelAlgo_hh
0003 
0004 #include "DataFormats/DetId/interface/DetId.h"
0005 #include "DataFormats/CaloRecHit/interface/CaloCluster.h"
0006 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0007 #include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgo.h"
0008 #include "CondFormats/EcalObjects/interface/EcalChannelStatus.h"
0009 #include "FWCore/Framework/interface/EventSetup.h"
0010 
0011 class CaloTopology;
0012 class EBDetId;
0013 class EcalClusterSeverityLevelAlgo {
0014 public:
0015   // the severity is the fraction of cluster energy
0016   // taken by good channels
0017   // (e.g. not noisy, dead and recovered etc.)
0018   static float goodFraction(const reco::CaloCluster&, const EcalRecHitCollection&, const EcalSeverityLevelAlgo&);
0019   // fraction of SC energy around closest problematic
0020   static float fractionAroundClosestProblematic(const reco::CaloCluster&,
0021                                                 const EcalRecHitCollection&,
0022                                                 const CaloTopology* topology,
0023                                                 const EcalSeverityLevelAlgo&);
0024   // retrieve closest problematic channel wrt seed crystal using as distance sqrt(ieta^2+ieta^2+iphi^2+iphi^2). Return a null detId in case not found within a search region of 11 (ieta) x 51 (iphi)
0025   static DetId closestProblematic(const reco::CaloCluster&,
0026                                   const EcalRecHitCollection&,
0027                                   const CaloTopology* topology,
0028                                   const EcalSeverityLevelAlgo&);
0029   // retrieve the distance in ieta,iphi (number of crystals) of the closest problematic channel wrt seed crystal (defined as above)
0030   // return -1,-1 if no crystal is found within a search region of 11 (eta) x 51 (phi)
0031   static std::pair<int, int> etaphiDistanceClosestProblematic(const reco::CaloCluster&,
0032                                                               const EcalRecHitCollection&,
0033                                                               const CaloTopology* topology,
0034                                                               const EcalSeverityLevelAlgo&);
0035 };
0036 
0037 #endif