File indexing completed on 2024-04-06 11:59:10
0001 #ifndef CalibrationIsolatedParticlesMatrizECALDetIds_h
0002 #define CalibrationIsolatedParticlesMatrizECALDetIds_h
0003
0004 #include <vector>
0005
0006 #include "DataFormats/DetId/interface/DetId.h"
0007 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0008 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0009 #include "Geometry/CaloTopology/interface/CaloDirection.h"
0010 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0011 #include "Geometry/CaloTopology/interface/CaloTopology.h"
0012 #include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h"
0013 #include "Geometry/EcalAlgo/interface/EcalBarrelGeometry.h"
0014 #include "Geometry/EcalAlgo/interface/EcalEndcapGeometry.h"
0015
0016 namespace spr {
0017
0018 void matrixECALIds(const DetId& det,
0019 int ieta,
0020 int iphi,
0021 const CaloGeometry* geo,
0022 const CaloTopology* caloTopology,
0023 std::vector<DetId>& vdets,
0024 bool debug = false,
0025 bool igNoreTransition = true);
0026
0027 std::vector<DetId> matrixECALIds(const DetId& det,
0028 int ieta,
0029 int iphi,
0030 const CaloGeometry* geo,
0031 const CaloTopology* caloTopology,
0032 bool debug = false,
0033 bool igNoreTransition = true);
0034
0035 std::vector<DetId> matrixECALIds(const DetId& det,
0036 double dR,
0037 const GlobalVector& trackMom,
0038 const CaloGeometry* geo,
0039 const CaloTopology* caloTopology,
0040 bool debug = false,
0041 bool igNoreTransition = true);
0042
0043 void matrixECALIds(const DetId& det,
0044 int ietaE,
0045 int ietaW,
0046 int iphiN,
0047 int iphiS,
0048 const CaloGeometry* geo,
0049 const CaloTopology* caloTopology,
0050 std::vector<DetId>& vdets,
0051 bool debug = false,
0052 bool igNoreTransition = true);
0053
0054 std::vector<DetId> matrixECALIds(const DetId& det,
0055 int ietaE,
0056 int ietaW,
0057 int iphiN,
0058 int iphiS,
0059 const CaloGeometry* geo,
0060 const CaloTopology* caloTopology,
0061 bool debug = false,
0062 bool igNoreTransition = true);
0063
0064 std::vector<DetId> newECALIdNS(std::vector<DetId>& dets,
0065 unsigned int last,
0066 int ieta,
0067 int iphi,
0068 std::vector<CaloDirection>& dir,
0069 const CaloSubdetectorTopology* barrelTopo,
0070 const CaloSubdetectorTopology* endcapTopo,
0071 const EcalBarrelGeometry* barrelGeom,
0072 const EcalEndcapGeometry* endcapGeom,
0073 bool debug = false,
0074 bool igNoreTransition = true);
0075
0076 std::vector<DetId> newECALIdNS(std::vector<DetId>& dets,
0077 unsigned int last,
0078 std::vector<int>& ietaE,
0079 std::vector<int>& ietaW,
0080 std::vector<int>& iphiN,
0081 std::vector<int>& iphiS,
0082 std::vector<CaloDirection>& dir,
0083 const CaloSubdetectorTopology* barrelTopo,
0084 const CaloSubdetectorTopology* endcapTopo,
0085 const EcalBarrelGeometry* barrelGeom,
0086 const EcalEndcapGeometry* endcapGeom,
0087 bool debug = false,
0088 bool igNoreTransition = true);
0089
0090 std::vector<DetId> newECALIdEW(std::vector<DetId>& dets,
0091 unsigned int last,
0092 int ieta,
0093 std::vector<CaloDirection>& dir,
0094 const CaloSubdetectorTopology* barrelTopo,
0095 const CaloSubdetectorTopology* endcapTopo,
0096 const EcalBarrelGeometry* barrelGeom,
0097 const EcalEndcapGeometry* endcapGeom,
0098 bool debug = false,
0099 bool igNoreTransition = true);
0100
0101 std::vector<DetId> newECALIdEW(std::vector<DetId>& dets,
0102 unsigned int last,
0103 std::vector<int>& ietaE,
0104 std::vector<int>& ietaW,
0105 std::vector<CaloDirection>& dir,
0106 const CaloSubdetectorTopology* barrelTopo,
0107 const CaloSubdetectorTopology* endcapTopo,
0108 const EcalBarrelGeometry* barrelGeom,
0109 const EcalEndcapGeometry* endcapGeom,
0110 bool debug = false,
0111 bool igNoreTransition = true);
0112
0113 void simpleMove(DetId& det,
0114 const CaloDirection& dir,
0115 const CaloSubdetectorTopology* barrelTopo,
0116 const CaloSubdetectorTopology* endcapTopo,
0117 const EcalBarrelGeometry* barrelGeom,
0118 const EcalEndcapGeometry* endcapGeom,
0119 std::vector<DetId>& cells,
0120 int& flag,
0121 bool debug = false,
0122 bool igNoreTransition = true);
0123
0124 void extraIds(const DetId& det,
0125 std::vector<DetId>& dets,
0126 int ietaE,
0127 int ietaW,
0128 int iphiN,
0129 int iphiS,
0130 const EcalBarrelGeometry* barrelGeom,
0131 const EcalEndcapGeometry* endcapGeom,
0132 std::vector<DetId>& cells,
0133 bool debug = false);
0134
0135 }
0136 #endif