Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
#ifndef CalibrationIsolatedParticlesMatrizECALDetIds_h
#define CalibrationIsolatedParticlesMatrizECALDetIds_h

#include <vector>

#include "DataFormats/DetId/interface/DetId.h"
#include "DataFormats/GeometryVector/interface/GlobalPoint.h"
#include "DataFormats/GeometryVector/interface/GlobalVector.h"
#include "Geometry/CaloTopology/interface/CaloDirection.h"
#include "Geometry/CaloGeometry/interface/CaloGeometry.h"
#include "Geometry/CaloTopology/interface/CaloTopology.h"
#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h"
#include "Geometry/EcalAlgo/interface/EcalBarrelGeometry.h"
#include "Geometry/EcalAlgo/interface/EcalEndcapGeometry.h"

namespace spr {

  void matrixECALIds(const DetId& det,
                     int ieta,
                     int iphi,
                     const CaloGeometry* geo,
                     const CaloTopology* caloTopology,
                     std::vector<DetId>& vdets,
                     bool debug = false,
                     bool igNoreTransition = true);

  std::vector<DetId> matrixECALIds(const DetId& det,
                                   int ieta,
                                   int iphi,
                                   const CaloGeometry* geo,
                                   const CaloTopology* caloTopology,
                                   bool debug = false,
                                   bool igNoreTransition = true);

  std::vector<DetId> matrixECALIds(const DetId& det,
                                   double dR,
                                   const GlobalVector& trackMom,
                                   const CaloGeometry* geo,
                                   const CaloTopology* caloTopology,
                                   bool debug = false,
                                   bool igNoreTransition = true);

  void matrixECALIds(const DetId& det,
                     int ietaE,
                     int ietaW,
                     int iphiN,
                     int iphiS,
                     const CaloGeometry* geo,
                     const CaloTopology* caloTopology,
                     std::vector<DetId>& vdets,
                     bool debug = false,
                     bool igNoreTransition = true);

  std::vector<DetId> matrixECALIds(const DetId& det,
                                   int ietaE,
                                   int ietaW,
                                   int iphiN,
                                   int iphiS,
                                   const CaloGeometry* geo,
                                   const CaloTopology* caloTopology,
                                   bool debug = false,
                                   bool igNoreTransition = true);

  std::vector<DetId> newECALIdNS(std::vector<DetId>& dets,
                                 unsigned int last,
                                 int ieta,
                                 int iphi,
                                 std::vector<CaloDirection>& dir,
                                 const CaloSubdetectorTopology* barrelTopo,
                                 const CaloSubdetectorTopology* endcapTopo,
                                 const EcalBarrelGeometry* barrelGeom,
                                 const EcalEndcapGeometry* endcapGeom,
                                 bool debug = false,
                                 bool igNoreTransition = true);

  std::vector<DetId> newECALIdNS(std::vector<DetId>& dets,
                                 unsigned int last,
                                 std::vector<int>& ietaE,
                                 std::vector<int>& ietaW,
                                 std::vector<int>& iphiN,
                                 std::vector<int>& iphiS,
                                 std::vector<CaloDirection>& dir,
                                 const CaloSubdetectorTopology* barrelTopo,
                                 const CaloSubdetectorTopology* endcapTopo,
                                 const EcalBarrelGeometry* barrelGeom,
                                 const EcalEndcapGeometry* endcapGeom,
                                 bool debug = false,
                                 bool igNoreTransition = true);

  std::vector<DetId> newECALIdEW(std::vector<DetId>& dets,
                                 unsigned int last,
                                 int ieta,
                                 std::vector<CaloDirection>& dir,
                                 const CaloSubdetectorTopology* barrelTopo,
                                 const CaloSubdetectorTopology* endcapTopo,
                                 const EcalBarrelGeometry* barrelGeom,
                                 const EcalEndcapGeometry* endcapGeom,
                                 bool debug = false,
                                 bool igNoreTransition = true);

  std::vector<DetId> newECALIdEW(std::vector<DetId>& dets,
                                 unsigned int last,
                                 std::vector<int>& ietaE,
                                 std::vector<int>& ietaW,
                                 std::vector<CaloDirection>& dir,
                                 const CaloSubdetectorTopology* barrelTopo,
                                 const CaloSubdetectorTopology* endcapTopo,
                                 const EcalBarrelGeometry* barrelGeom,
                                 const EcalEndcapGeometry* endcapGeom,
                                 bool debug = false,
                                 bool igNoreTransition = true);

  void simpleMove(DetId& det,
                  const CaloDirection& dir,
                  const CaloSubdetectorTopology* barrelTopo,
                  const CaloSubdetectorTopology* endcapTopo,
                  const EcalBarrelGeometry* barrelGeom,
                  const EcalEndcapGeometry* endcapGeom,
                  std::vector<DetId>& cells,
                  int& flag,
                  bool debug = false,
                  bool igNoreTransition = true);

  void extraIds(const DetId& det,
                std::vector<DetId>& dets,
                int ietaE,
                int ietaW,
                int iphiN,
                int iphiS,
                const EcalBarrelGeometry* barrelGeom,
                const EcalEndcapGeometry* endcapGeom,
                std::vector<DetId>& cells,
                bool debug = false);

}  // namespace spr
#endif