File indexing completed on 2024-04-06 11:59:09
0001 #ifndef CalibrationIsolatedParticleseCone_h
0002 #define CalibrationIsolatedParticleseCone_h
0003
0004
0005 #include <memory>
0006 #include <map>
0007 #include <vector>
0008
0009
0010 #include "FWCore/Framework/interface/Frameworkfwd.h"
0011
0012 #include "DataFormats/Common/interface/Handle.h"
0013 #include "DataFormats/Candidate/interface/Candidate.h"
0014 #include "DataFormats/DetId/interface/DetId.h"
0015
0016 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0017
0018 #include "RecoCaloTools/Navigation/interface/CaloNavigator.h"
0019
0020 namespace spr {
0021
0022
0023 template <typename T>
0024 double eCone_hcal(const CaloGeometry* geo,
0025 edm::Handle<T>& hits,
0026 const GlobalPoint& hpoint1,
0027 const GlobalPoint& point1,
0028 double dR,
0029 const GlobalVector& trackMom,
0030 int& nRecHits,
0031 double hbThr = -100,
0032 double heThr = -100,
0033 double hfThr = -100,
0034 double hoThr = -100,
0035 double tMin = -500,
0036 double tMax = 500,
0037 int detOnly = -1,
0038 int useRaw = 0,
0039 bool debug = false);
0040
0041
0042
0043 template <typename T>
0044 double eCone_hcal(const CaloGeometry* geo,
0045 edm::Handle<T>& hits,
0046 const GlobalPoint& hpoint1,
0047 const GlobalPoint& point1,
0048 double dR,
0049 const GlobalVector& trackMom,
0050 int& nRecHits,
0051 std::vector<DetId>& coneRecHitDetIds,
0052 double& distFromHotCell,
0053 int& ietaHotCell,
0054 int& iphiHotCell,
0055 GlobalPoint& gposHotCell,
0056 int detOnly = -1,
0057 int useRaw = 0,
0058 bool debug = false);
0059
0060 template <typename T>
0061 double eCone_hcal(const CaloGeometry* geo,
0062 edm::Handle<T>& hits,
0063 const GlobalPoint& hpoint1,
0064 const GlobalPoint& point1,
0065 double dR,
0066 const GlobalVector& trackMom,
0067 int& nRecHits,
0068 std::vector<DetId>& coneRecHitDetIds,
0069 std::vector<double>& eHit,
0070 int useRaw = 0,
0071 bool debug = false);
0072
0073
0074
0075
0076 template <typename T>
0077 double eCone_hcal(const CaloGeometry* geo,
0078 edm::Handle<T>& hits,
0079 const GlobalPoint& hpoint1,
0080 const GlobalPoint& point1,
0081 double dR,
0082 const GlobalVector& trackMom,
0083 int& nRecHits,
0084 std::vector<int>& RH_ieta,
0085 std::vector<int>& RH_iphi,
0086 std::vector<double>& RH_ene,
0087 std::vector<DetId>& coneRecHitDetIds,
0088 double& distFromHotCell,
0089 int& ietaHotCell,
0090 int& iphiHotCell,
0091 GlobalPoint& gposHotCell,
0092 int detOnly = -1,
0093 int useRaw = 0,
0094 bool debug = false);
0095
0096
0097 template <typename T>
0098 double eCone_ecal(const CaloGeometry* geo,
0099 edm::Handle<T>& barrelhits,
0100 edm::Handle<T>& endcaphits,
0101 const GlobalPoint& hpoint1,
0102 const GlobalPoint& point1,
0103 double dR,
0104 const GlobalVector& trackMom,
0105 int& nRecHits,
0106 double ebThr = -100,
0107 double eeThr = -100,
0108 double tMin = -500,
0109 double tMax = 500,
0110 bool debug = false);
0111
0112 template <typename T>
0113 double eCone_ecal(const CaloGeometry* geo,
0114 edm::Handle<T>& barrelhits,
0115 edm::Handle<T>& endcaphits,
0116 const GlobalPoint& hpoint1,
0117 const GlobalPoint& point1,
0118 double dR,
0119 const GlobalVector& trackMom,
0120 std::vector<DetId>& coneRecHitDetIds,
0121 std::vector<double>& eHit,
0122 double ebThr = -100,
0123 double eeThr = -100,
0124 double tMin = -500,
0125 double tMax = 500,
0126 bool debug = false);
0127
0128 }
0129
0130 #include "eCone.icc"
0131
0132 #endif