File indexing completed on 2023-03-17 10:43:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef CalibrationIsolatedParticleseHCALMatrixExtra_h
0018 #define CalibrationIsolatedParticleseHCALMatrixExtra_h
0019
0020
0021 #include <memory>
0022 #include <map>
0023 #include <sstream>
0024 #include <vector>
0025
0026
0027 #include "FWCore/Framework/interface/Frameworkfwd.h"
0028 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0029 #include "DataFormats/Common/interface/Handle.h"
0030 #include "DataFormats/Candidate/interface/Candidate.h"
0031 #include "DataFormats/DetId/interface/DetId.h"
0032
0033 #include "Geometry/CaloTopology/interface/HcalTopology.h"
0034 #include "Calibration/IsolatedParticles/interface/eHCALMatrix.h"
0035
0036 namespace spr {
0037
0038 template <typename T>
0039 std::vector<std::pair<DetId, double> > eHCALmatrixCell(const HcalTopology* topology,
0040 const DetId& det,
0041 edm::Handle<T>& hits,
0042 int ieta,
0043 int iphi,
0044 bool includeHO = false,
0045 double hbThr = -100,
0046 double heThr = -100,
0047 double hfThr = -100,
0048 double hoThr = -100,
0049 bool debug = false);
0050
0051 template <typename T>
0052 std::pair<double, int> eHCALmatrixTotal(const HcalTopology* topology,
0053 const DetId& det,
0054 edm::Handle<T>& hits,
0055 int ieta,
0056 int iphi,
0057 bool includeHO = false,
0058 double hbThr = -100,
0059 double heThr = -100,
0060 double hfThr = -100,
0061 double hoThr = -100,
0062 bool debug = false);
0063
0064 template <typename T>
0065 double energyHCALmatrix(const HcalTopology* topology,
0066 const DetId& det,
0067 edm::Handle<T>& hits,
0068 int ieta,
0069 int iphi,
0070 bool includeHO = false,
0071 double hbThr = -100,
0072 double heThr = -100,
0073 double hfThr = -100,
0074 double hoThr = -100,
0075 bool debug = false);
0076
0077 template <typename T>
0078 double energyHCAL(std::vector<DetId>& vNeighboursDetId,
0079 std::vector<DetId>& dets,
0080 const HcalTopology* topology,
0081 edm::Handle<T>& hits,
0082 bool includeHO = false,
0083 double hbThr = -100,
0084 double heThr = -100,
0085 double hfThr = -100,
0086 double hoThr = -100,
0087 bool debug = false);
0088
0089 template <typename T>
0090 std::vector<std::pair<DetId, double> > energyDetIdHCAL(std::vector<DetId>& vdets,
0091 edm::Handle<T>& hits,
0092 double hbThr = -100,
0093 double heThr = -100,
0094 double hfThr = -100,
0095 double hoThr = -100,
0096 bool debug = false);
0097
0098 }
0099
0100 #include "Calibration/IsolatedParticles/interface/eHCALMatrixExtra.icc"
0101 #endif