26 std::vector<int>
const&
iphi,
27 std::vector<int>
const&
ieta,
28 std::vector<int>
const&
layer,
29 std::vector<int>
const&
depth) {
41 for (
unsigned int k = 0;
k <
ieta.size(); ++
k) {
50 for (
unsigned int k1 = 0; k1 <
ieta.size(); ++k1) {
51 int ietaMin =
ieta[k1];
53 int layMin =
layer[k1];
55 for (
unsigned int k2 = k1 + 1; k2 <
ieta.size(); ++k2) {
57 ietaMax =
ieta[k2] - 1;
63 for (
int eta = ietaMin;
eta <= ietaMax; ++
eta) {
66 for (
int lay = layMin; lay <= layMax; ++lay)
71 int dmin(99), dmax(-1);
73 if ((itr.first).first ==
eta) {
74 if ((itr.second) < dmin)
76 if ((itr.second) > dmax)
89 std::ostringstream st1;
93 for (
unsigned int k = 0;
k <
iphi_.size(); ++
k)
98 edm::LogVerbatim(
"HCalGeom") <<
"iEta " << (itr->first).
first <<
" Layer " << (itr->first).second <<
" Depth " 102 edm::LogVerbatim(
"HCalGeom") <<
"iEta " << (itr->first).
first <<
" Depth " << (itr->first).second <<
" Layer " 106 edm::LogVerbatim(
"HCalGeom") <<
"iEta " << (itr->first).
first <<
" Depth " << (itr->first).second <<
" Layer " 111 << (itr->second).second;
116 const int subdet,
const int ieta,
const int iphi,
const int zside,
const int layer)
const {
119 std::map<std::pair<int, int>,
int>::const_iterator itr =
layer2Depth_.find(std::pair<int, int>(
ieta,
layer));
136 <<
" Output " <<
depth;
145 <<
" Output " <<
depth;
154 <<
" Output " <<
depth;
163 <<
" Output " <<
depth;
169 std::map<int, std::pair<int, int> >::const_iterator itr =
depthsEta_.find(
eta);
171 return std::pair<int, int>(-1, -1);
177 const int subdet,
const int ieta,
const int iphi,
const int zside,
const int depth)
const {
180 std::map<std::pair<int, int>,
int>::const_iterator itr =
depth2LayerF_.find(std::pair<int, int>(
ieta,
depth));
185 edm::LogVerbatim(
"HCalGeom") <<
"Debug info -- getLayerFront::Input " << subdet <<
":" <<
ieta <<
":" <<
iphi <<
":" 192 const int subdet,
const int ieta,
const int iphi,
const int zside,
const int depth)
const {
195 std::map<std::pair<int, int>,
int>::const_iterator itr =
depth2LayerB_.find(std::pair<int, int>(
ieta,
depth));
207 const int subdet,
const int eta,
const int phi,
const int zside, std::map<int, int>&
layers)
const {
211 if ((itr.first).first ==
eta) {
217 edm::LogVerbatim(
"HCalGeom") <<
"Debug info -- getLayerDepth::Input " << subdet <<
":" <<
eta <<
":" <<
phi <<
":" 218 <<
zside <<
" Output " <<
layers.size() <<
" entries";
219 std::ostringstream st1;
220 for (std::map<int, int>::iterator itr =
layers.begin(); itr !=
layers.end(); ++itr)
221 st1 <<
" [" << itr->first <<
"] " << itr->second;
230 if ((itr.first).first ==
eta) {
238 std::ostringstream st1;
239 for (std::map<int, int>::iterator itr =
layers.begin(); itr !=
layers.end(); ++itr)
240 st1 <<
" [" << itr->first <<
"] " << itr->second;
249 <<
" Output " <<
depth;
double getLayer0Wt(const int subdet, const int iphi, const int zside) const
Log< level::Info, true > LogVerbatim
int getDepth(const int subdet, const int ieta, const int iphi, const int zside, const int layer) const
void initialize(const int subdet, const int ietaMax, const int dep16C, const int dep29C, const double wtl0C, std::vector< int > const &iphi, std::vector< int > const &ieta, std::vector< int > const &layer, std::vector< int > const &depth)
bool isValid(const int det, const int phi, const int zside) const
int getLayerFront(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const
std::map< std::pair< int, int >, int > depth2LayerB_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::map< std::pair< int, int >, int > layer2Depth_
constexpr std::array< uint8_t, layerIndexSize > layer
U second(std::pair< T, U > const &p)
int getMaxDepthLastHE(const int subdet, const int iphi, const int zside) const
std::pair< int, int > getDepths(const int eta) const
std::map< int, std::pair< int, int > > depthsEta_
std::map< std::pair< int, int >, int > depth2LayerF_
int getLayerBack(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const
int getDepthMin(const int subdet, const int iphi, const int zside) const
int getDepthMax(const int subdet, const int iphi, const int zside) const
int getDepth16(const int subdet, const int iphi, const int zside) const
void getLayerDepth(const int subdet, const int ieta, const int iphi, const int zside, std::map< int, int > &layers) const
static const int maxLayers_
int validDet(std::vector< int > &phis) const