6 #include "CLHEP/Units/GlobalPhysicalConstants.h" 7 #include "CLHEP/Units/GlobalSystemOfUnits.h" 18 std::cout <<
"HcalDDDRecConstants::HcalDDDRecConstants (const HcalParameters* hp) constructor" << std::endl;
25 std::cout <<
"HcalDDDRecConstants::destructed!!!" << std::endl;
30 const bool extra)
const {
35 if (it->layer == eta + 1)
return it->layerGroup;
36 if (it->layer > eta + 1 )
return last->layerGroup;
39 return last->layerGroup;
43 std::vector<int> depths;
44 for (
unsigned int lay=0; lay < layers.size(); ++lay)
45 depths.push_back(layers[lay+1]);
53 if (layers.size() == 0) {
56 std::vector<int> depths;
57 for (
unsigned int lay=0; lay < layers.size(); ++lay)
58 depths.push_back(layers[lay+1]);
63 std::vector<HcalDDDRecConstants::HcalEtaBin>
66 std::vector<HcalDDDRecConstants::HcalEtaBin>
bins;
67 unsigned int type = (itype == 0) ? 0 : 1;
69 std::vector<int> phiSp;
72 for (
int iz=0; iz<2; ++iz) {
75 std::vector<std::pair<int,double> > phis =
getPhis(subdet,ieta);
76 std::vector<std::pair<int,double> > phiUse;
78 if (subdet == subdetSp) {
79 for (
unsigned k=0;
k<phis.size(); ++
k) {
80 if (
std::find(phiSp.begin(),phiSp.end(),(zside*phis[
k].first)) ==
82 phiUse.push_back(phis[
k]);
86 phiUse.insert(phiUse.end(),phis.begin(),phis.end());
88 getOneEtaBin(subdet,ieta,zside,phiUse,layers,
false,bins);
91 if (subdetSp == subdet) {
93 std::vector<std::pair<int,double> > phis =
getPhis(subdet,ieta);
94 for (
int iz=0; iz<2; ++iz) {
96 std::vector<std::pair<int,double> > phiUse;
97 for (
unsigned i=0;
i<phiSp.size(); ++
i) {
98 for (
unsigned k=0;
k<phis.size(); ++
k) {
99 if (phiSp[
i] == zside*phis[
k].
first) {
100 phiUse.push_back(phis[
k]);
105 if (phiUse.size() > 0) {
107 getOneEtaBin(subdet,ieta,zside,phiUse,layers,
true,bins);
113 std::cout <<
"Prepares " << bins.size() <<
" eta bins for type " << type
115 for (
unsigned int i=0;
i<bins.size(); ++
i) {
116 std::cout <<
"Bin[" <<
i <<
"]: Eta = (" << bins[
i].ieta <<
":" 117 << bins[
i].etaMin <<
":" << bins[
i].etaMax <<
"), Zside = " 118 << bins[
i].zside <<
", phis = (" << bins[
i].phis.size() <<
":" 119 << bins[
i].dphi <<
") and " << bins[
i].layer.size()
120 <<
" depths (start) " << bins[
i].depthStart <<
" :";
121 for (
unsigned int k=0;
k<bins[
i].layer.size(); ++
k)
124 std::cout << std::endl <<
" and Phi sets";
125 for (
unsigned int k=0;
k<bins[
i].phis.size(); ++
k)
133 std::pair<double,double>
135 int ietaAbs = (ieta > 0) ? ieta : -ieta;
137 if ((subdet == static_cast<int>(
HcalBarrel)) ||
139 (subdet == static_cast<int>(
HcalOuter))) {
141 int kphi = (unit == 2) ? ((iphi-1)/2 + 1) : iphi;
144 phi = foff + (kphi-0.5)*
phibin[ietaAbs-1];
148 int kphi = (unit == 4) ? ((iphi-3)/4 + 1) : ((iphi-1)/2 + 1);
156 std::cout <<
"getEtaPhi: subdet|ieta|iphi " << subdet <<
"|" << ieta <<
"|" 157 << iphi <<
" eta|phi " <<
eta <<
"|" << phi << std::endl;
159 return std::pair<double,double>(
eta,
phi);
166 int ieta = (keta > 0) ? keta : -keta;
167 int zside= (keta > 0) ? 1 : -1;
169 if ((subdet == static_cast<int>(
HcalOuter)) ||
173 }
else if (subdet == static_cast<int>(
HcalBarrel) ||
181 }
else if (unit == 4) {
200 kphi = (kphi-1)%4 + 1;
201 if (kphi == 2 || kphi == 3) depth =
layerGroup(
eta-1, lay-2);
208 std::cout <<
"getHCID: input " << subdet <<
":" << ieta <<
":" << iphi
209 <<
":" << idepth <<
":" << lay <<
" output " <<
eta <<
":" <<
phi 210 <<
":" << depth << std::endl;
215 std::vector<HcalDDDRecConstants::HFCellParameters>
218 std::vector<HcalDDDRecConstants::HFCellParameters> cells;
221 for (
unsigned int k=0;
k<
nEta; ++
k) {
224 int iphi = (dphi == 4) ? 3 : 1;
229 cells.push_back(cell1);
231 cells.push_back(cell2);
244 cells.push_back(cell1);
247 for (
unsigned int k=0;
k<
nEta; ++
k) {
250 int iphi = (dphi == 4) ? 3 : 1;
255 cells.push_back(cell1);
257 cells.push_back(cell2);
262 std::cout <<
"HcalDDDRecConstants returns " << cells.size()
263 <<
" HF cell parameters" << std::endl;
264 for (
unsigned int k=0;
k<cells.size(); ++
k)
266 <<
", " << cells[
k].firstPhi <<
", " << cells[
k].stepPhi <<
", " 267 << cells[
k].
nPhi <<
", " << cells[
k].
rMin <<
", " 268 << cells[
k].
rMax <<
")" << std::endl;
274 std::map<int,int>&
layers)
const {
282 std::cout <<
"getLayerDepth::Input " << ieta <<
" Output " 283 << layers.size() <<
" entries" << std::endl;
284 for (std::map<int,int>::iterator itr=layers.begin(); itr != layers.end();
285 ++itr)
std::cout <<
" [" << itr->first <<
"] " << itr->second;
291 const int iphi,
const int depth)
const {
292 int subdet = (idet == 1) ? 1 : 2;
293 int zside = (ieta > 0) ? 1 : -1;
294 int eta = zside*ieta;
298 if (eta <= hpar->
etaMax[1]) {
301 if ((
int)(
k) >= laymin) {
310 std::cout <<
"getLayerFront::Input " << idet <<
":" << ieta <<
":" 311 << iphi <<
":" << depth <<
" Output " << layFront << std::endl;
317 const int iphi,
const int zside)
const {
319 unsigned int type = (itype == 0) ? 0 : 1;
335 const int iphi,
const int zside)
const {
341 }
else if (itype == 3) {
344 unsigned int type = (itype == 0) ? 0 : 1;
346 if (type == 1 && ieta ==
iEtaMin[type])
356 std::vector<std::pair<int,double> >
359 std::vector<std::pair<int,double> > phis;
360 int ietaAbs = (ieta > 0) ? ieta : -ieta;
363 double fioff = ficons.first;
365 int nphi =
int((CLHEP::twopi+0.1*dphi)/dphi);
367 for (
int ifi = 0; ifi < nphi; ++ifi) {
368 double phi =-fioff + (ifi+0.5)*dphi;
370 phis.push_back(std::pair<int,double>(iphi,phi));
373 std::cout <<
"getEtaPhi: subdet|ieta|iphi " << subdet <<
"|" << ieta
374 <<
" with " << phis.size() <<
" phi bins" << std::endl;
375 for (
unsigned int k=0;
k<phis.size(); ++
k)
377 << phis[
k].
second/CLHEP::deg << std::endl;
388 for (
unsigned int k=0;
k<phis.size(); ++
k) {
389 int zside = (phis[
k] > 0) ? 1 : -1;
390 int phi = (phis[
k] > 0) ? phis[
k] : -phis[
k];
391 phiz.push_back(std::pair<int,int>(phi,zside));
395 std::cout <<
"Special RBX for detector " << subdet <<
" with " << phiz.size()
397 for (
unsigned int k=0;
k<phiz.size(); ++
k)
406 return getRZ(subdet, ieta, 1, depth);
412 double rz = (layf < 0) ? 0.0 :
416 std::cout <<
"getRZ: subdet|ieta|ipho|depth " << subdet <<
"|" << ieta <<
"|" 417 << iphi <<
"|" << depth <<
" lay|rz " << layf <<
"|" << rz
430 std::cout <<
"getRZ: subdet|layer " << subdet <<
"|" << layer <<
" rz " 437 std::vector<HcalDDDRecConstants::HcalActiveLength>
440 std::vector<HcalDDDRecConstants::HcalActiveLength> actives;
441 std::vector<HcalDDDRecConstants::HcalEtaBin>
bins =
getEtaBins(type);
443 unsigned int kount(0);
445 for (
unsigned int k=0;
k<bins.size(); ++
k) {
446 int ieta = bins[
k].ieta;
447 int zside = bins[
k].zside;
448 int stype = (bins[
k].phis.size() > 4) ? 0 : 1;
449 double eta = 0.5*(bins[
k].etaMin+bins[
k].etaMax);
451 double scale = 1.0/((type == 0) ?
sin(theta) :
cos(theta));
452 int depth = bins[
k].depthStart;
453 for (
unsigned int i = 0;
i < bins[
k].layer.size(); ++
i) {
455 for (
int j = bins[
k].layer[
i].
first; j <= bins[
k].layer[
i].second; ++j) {
456 if (type == 0 || j > 1) {
458 if (t > 0) thick +=
t;
463 actives.push_back(active);
467 std::cout <<
"getThickActive: [" << kount <<
"] eta:" << active.
ieta 468 <<
":" << active.
eta <<
" zside " << active.
zside <<
" depth " 469 << active.
depth <<
" type " << active.
stype <<
" thick " 470 << active.
thick << std::endl;
477 std::vector<HcalCellType>
481 std::vector<HcalCellType> cells;
483 std::vector<HcalDDDRecConstants::HcalEtaBin> etabins =
getEtaBins(isub);
484 std::vector<int> missPhi;
485 for (
const auto& etabin : etabins) {
486 std::vector<HcalCellType>
temp;
487 std::vector<int>
count;
488 std::vector<double> dmin, dmax;
489 for (
unsigned int il=0; il<etabin.layer.size(); ++il) {
492 temp.push_back(cell);
497 int ieta = etabin.ieta;
501 for (
unsigned int il=0; il<etabin.layer.size(); ++il) {
502 for (
unsigned int ic=0; ic<cellsm.size(); ++ic) {
503 if (cellsm[ic].depthSegment() >= etabin.layer[il].first &&
504 cellsm[ic].depthSegment() <= etabin.layer[il].second &&
505 cellsm[ic].etaBin() == temp[il].etaBin() &&
506 cellsm[ic].zside() == temp[il].zside()) {
507 if (count[il] == 0) {
508 temp[il] = cellsm[ic];
509 dmin[il] = cellsm[ic].depthMin();
510 dmax[il] = cellsm[ic].depthMax();
513 if (cellsm[ic].depthMin() < dmin[il])
514 dmin[il] = cellsm[ic].depthMin();
515 if (cellsm[ic].depthMax() > dmax[il])
516 dmax[il] = cellsm[ic].depthMax();
521 for (
unsigned int il=0; il<etabin.layer.size(); ++il) {
522 int depth = etabin.depthStart + (
int)(il);
523 temp[il].setEta(ieta,etabin.etaMin,etabin.etaMax);
524 temp[il].setDepth(depth,dmin[il],dmax[il]);
527 temp[il].setPhi(etabin.phis, missPhi, foff, etabin.dphi,
unit);
528 cells.push_back(temp[il]);
532 std::cout <<
"HcalDDDRecConstants: found " << cells.size()
533 <<
" cells for sub-detector type " << isub << std::endl;
534 for (
unsigned int ic=0; ic<cells.size(); ++ic)
535 std::cout <<
"Cell[" << ic <<
"] " << cells[ic] << std::endl;
546 unsigned int num = 0;
548 for (
unsigned int i=0;
i<cellTypes.size();
i++) {
552 edm::LogInfo (
"HCalGeom") <<
"HcalDDDRecConstants:numberOfCells " 553 << cellTypes.size() <<
" " << num
554 <<
" for subdetector " << subdet;
566 std::vector<HcalDDDRecConstants::HcalEtaBin> etabins =
getEtaBins(isub);
567 unsigned int ncell(0);
568 for (
unsigned int i=0;
i<etabins.size(); ++
i) {
569 ncell += ((etabins[
i].phis.size())*(etabins[
i].layer.size()));
587 std::map<HcalDetId,HcalDetId>::const_iterator itr =
detIdSp_.find(
id);
588 if (itr ==
detIdSp_.end())
return id;
589 else return itr->second;
595 std::map<HcalDetId,std::vector<HcalDetId>>::const_iterator itr =
detIdSpR_.find(
id);
597 hid =
HcalDetId(
id.subdet(),
id.ieta(),
id.iphi(),(itr->second)[0].
depth());
604 std::map<HcalDetId,std::vector<HcalDetId>>::const_iterator itr =
detIdSpR_.find(
id);
606 hid =
HcalDetId(
id.subdet(),
id.ieta(),
id.iphi(),(itr->second).back().depth());
611 std::vector<HcalDetId>& ids)
const {
614 std::map<HcalDetId,std::vector<HcalDetId>>::const_iterator itr =
detIdSpR_.find(
id);
618 for (
unsigned k=0;
k<itr->second.size(); ++
k) {
619 HcalDetId hid(
id.subdet(),
id.ieta(),
id.iphi(),(itr->second)[
k].depth());
626 std::vector<HcalDetId>& idsNew)
const {
627 for (
unsigned int k=0;
k<idsOld.size(); ++
k) {
628 std::map<HcalDetId,HcalDetId>::const_iterator itr =
detIdSp_.find(idsOld[
k]);
629 if (itr ==
detIdSp_.end()) idsNew.push_back(idsOld[k]);
630 else idsNew.push_back(itr->second);
635 std::vector<HcalDetId>& ids)
const {
637 std::map<HcalDetId,HcalDetId>::const_iterator itr;
639 ids.push_back(itr->first);
641 std::map<HcalDetId,std::vector<HcalDetId>>::const_iterator itr;
643 ids.push_back(itr->first);
645 return (ids.size() > 0);
649 std::vector<std::pair<int,double> >& phis,
650 std::map<int,int>&
layers,
bool planOne,
651 std::vector<HcalDDDRecConstants::HcalEtaBin>&
bins)
const {
655 double dphi =
phibin[ieta-1];
657 etabin.
phis.insert(etabin.
phis.end(),phis.begin(),phis.end());
662 int lmin(0), lmax(0);
663 std::map<int,int>::iterator itr=layers.begin();
664 if (layers.size() > 0) {
665 int dep = itr->second;
668 unsigned lymx0 = (layers.size() > lymax) ? lymax : layers.size();
671 <<
" lymax " << lymx0 <<
":" << lymax <<
" Depth " << dep <<
":" 674 for (itr = layers.begin(); itr != layers.end(); ++itr,++
l)
675 std::cout <<
" [" << l <<
"] " << itr->first <<
":" << itr->second;
676 std::cout << std::endl <<
" with " << phis.size() <<
" phis";
677 for (
unsigned int l=0; l<phis.size(); ++
l)
681 for (itr = layers.begin(); itr != layers.end(); ++itr) {
682 if (itr->first <= (
int)(lymx0)) {
683 if (itr->second == dep) {
684 if (lmin == 0) lmin = itr->first;
686 }
else if (itr->second > dep) {
687 if (dstart < 0) dstart = dep;
688 int lmax0 = (lmax >= lmin) ? lmax : lmin;
691 etabin0.
layer.push_back(std::pair<int,int>(lmin,lmax0));
693 etabin.
layer.push_back(std::pair<int,int>(lmin,lmax0));
706 if (itr->first == (
int)(lymx0)) lmax = lymx0;
711 etabin0.
layer.push_back(std::pair<int,int>(lmin,lmax));
712 etabin0.
phis.insert(etabin0.
phis.end(),phis.begin(),phis.end());
713 bins.push_back(etabin0);
716 << etabin0.
layer.size() <<
":" << lmin <<
":" << lmax
717 <<
" phis " << phis.size() << std::endl;
718 for (
unsigned int k=0;
k<etabin0.
layer.size(); ++
k)
720 << etabin0.
layer[
k].second;
725 etabin.
layer.push_back(std::pair<int,int>(lmin,lmax));
726 if (dstart < 0) dstart = dep;
731 bins.push_back(etabin);
734 << etabin.
layer.size() <<
":" << lmin <<
":" << lmax
735 <<
" phis " << etabin.
phis.size() << std::endl;
736 for (
unsigned int k=0;
k<etabin.
layer.size(); ++
k)
738 << etabin.
layer[
k].second;
748 edm::LogError(
"HCalGeom") <<
"HcalDDDRecConstants: sizes of the vectors " 749 <<
" etaGroup (" << nEta <<
") and phiGroup (" 751 throw cms::Exception(
"DDException") <<
"HcalDDDRecConstants: inconsistent array sizes" << nEta <<
":" <<
hpar->
phigroup.size();
758 int ieta(0), ietaHB(0), ietaHE(0), ietaHEM(0);
764 edm::LogError(
"HCalGeom") <<
"Going beyond the array boundary " 766 <<
" of etaTable from SimConstant";
767 throw cms::Exception(
"DDException") <<
"Going beyond the array boundary " 770 <<
" of etaTable from SimConstant";
773 etaSimValu.push_back(std::pair<int,int>(ef,ieta));
776 if (ieta <= hpar->
etaMax[0]) ietaHB =
i+1;
777 if (ieta <= hpar->
etaMin[1]) ietaHE =
i+1;
778 if (ieta <= hpar->etaMax[1]) ietaHEM=
i+1;
786 for (
unsigned int k=0;
k<4; ++
k)
nPhiBins.push_back(0);
792 int nphi = (
int)((CLHEP::twopi + 0.001)/dphi);
810 std::cout <<
"Modified eta/deltaphi table for " << nEta <<
" bins" << std::endl;
814 <<
" PhiBin[" <<
i <<
"] = " <<
phibin[
i]/CLHEP::deg <<std::endl;
840 int laymax0 = (imx > 16) ?
layerGroup(
i,16) : laymax;
843 std::cout <<
"HB " <<
i <<
" " << imx <<
" " << laymax <<
" " << laymax0 << std::endl;
849 std::cout <<
"HE " <<
i <<
" " << imx <<
" " << laymax << std::endl;
855 for (
int i=0;
i<4; ++
i)
863 for (
unsigned int i=0;
i<
hpar->
rHB.size(); ++
i) {
869 <<
" halves and " <<
gconsHB.size() <<
" layers" << std::endl;
876 for (
unsigned int i=0;
i<
hpar->
zHE.size(); ++
i) {
882 <<
" halves and " <<
gconsHE.size() <<
" layers" << std::endl;
900 std::cout <<
"Detector type and maximum depth for all RBX " 902 <<
" and for special RBX " <<
depthMaxSp_.first <<
":" 907 std::vector<int> phis;
911 int phi = (phis[0] > 0) ? phis[0] : -phis[0];
912 int zside = (phis[0] > 0) ? 1 : -1;
915 for (
int eta=etas.first;
eta<=etas.second; ++
eta) {
916 std::map<int,std::pair<int,int> > oldDep;
919 for (
int lay=0; lay<lymax; ++lay) {
922 if (depth != 0) oldDep[
depth] = std::pair<int,int>(lmin,lay-1);
927 if (depth != 0) oldDep[
depth] = std::pair<int,int>(lmin,lymax-1);
929 std::cout <<
"Eta|Phi|Zside " <<
eta <<
":" << phi <<
":" << zside
930 <<
" with " << oldDep.size() <<
" old Depths" << std::endl;
932 for (
std::map<
int,std::pair<int,int> >::const_iterator itr=oldDep.begin(); itr != oldDep.end(); ++itr,++
kk)
933 std::cout <<
"[" << kk <<
"] " << itr->first <<
" --> " 934 << itr->second.first <<
":" << itr->second.second <<
"\n";
937 for (
int ndepth=depths.first; ndepth<=depths.second; ++ndepth) {
943 std::vector<int>
count(oldDep.size(),0);
946 for (
int lay=layFront; lay<=layBack; ++lay) {
948 for (
std::map<
int,std::pair<int,int> >::iterator itr=oldDep.begin();
949 itr != oldDep.end(); ++itr,++
l) {
950 if (lay >= (itr->second).first && lay <= (itr->second).
second) {
955 int odepth(0), maxlay(0);
957 for (
std::map<
int,std::pair<int,int> >::iterator itr=oldDep.begin();
958 itr != oldDep.end(); ++itr,++
l) {
959 if (
count[l] > maxlay) {
965 std::cout <<
"New Depth " << ndepth <<
" old Depth " << odepth
966 <<
" max " << maxlay << std::endl;
968 for (
unsigned int k=0;
k<phis.size(); ++
k) {
969 zside = (phis[
k] > 0) ? 1 : -1;
970 phi = (phis[
k] > 0) ? phis[
k] : -phis[
k];
973 HcalDetId newId(subdet,zside*eta,phi,ndepth);
974 HcalDetId oldId(subdet,zside*eta,phi,odepth);
976 std::vector<HcalDetId> ids;
977 std::map<HcalDetId,std::vector<HcalDetId>>::iterator itr =
detIdSpR_.find(oldId);
978 if (itr !=
detIdSpR_.end()) ids = itr->second;
979 ids.push_back(newId);
986 std::cout <<
"Map for merging new channels to old channel IDs with " 987 <<
detIdSp_.size() <<
" entries" << std::endl;
990 std::cout <<
"[" << l <<
"] Special " << itr.first <<
" Standard " 991 << itr.second << std::endl;
994 std::cout <<
"Reverse Map for mapping old to new IDs with " 995 <<
detIdSpR_.size() <<
" entries" << std::endl;
998 std::cout <<
"[" << l <<
"] Standard " << itr.first <<
" Special";
999 for (
auto itr1 : itr.second)
1012 if (it.layer == (
unsigned int)(eta + 1)) {
1013 return it.layerGroup.size();
1015 if (it.layer > (
unsigned int)(eta + 1))
break;
1016 k = it.layerGroup.size();
1022 const int i)
const {
1025 if (it.layer == (
unsigned int)(eta + 1)) {
1026 return it.layerGroup.at(i);
1028 if (it.layer > (
unsigned int)(eta + 1))
break;
1029 k = it.layerGroup.at(i);
std::pair< int, int > getMaxDepthDet(const int i) const
int findDepth(const int det, const int eta, const int phi, const int zside, const int lay) const
std::vector< double > etaTable
std::vector< int > iEtaMin
std::vector< int > etagroup
std::pair< int, int > depthMaxSp_
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
std::map< HcalDetId, std::vector< HcalDetId > > detIdSpR_
std::vector< int > getDepth(const int det, const int phi, const int zside, const unsigned int eta) const
double getRZ(int subdet, int ieta, int depth) const
void getLayerDepth(const int subdet, const int ieta, const int iphi, const int zside, std::map< int, int > &layers) const
std::vector< double > rHB
std::vector< std::pair< int, int > > etaSimValu
std::pair< double, double > getPhiCons(const int det, const int ieta) const
HcalDetId mergedDepthDetId(const HcalDetId &id) const
Sin< T >::type sin(const T &t)
Geom::Theta< T > theta() const
int getMaxDepth(const int type) const
unsigned int layerGroup(int eta, int i) const
void getOneEtaBin(HcalSubdetector subdet, int ieta, int zside, std::vector< std::pair< int, double >> &phis, std::map< int, int > &layers, bool planOne, std::vector< HcalDDDRecConstants::HcalEtaBin > &bins) const
static const int maxLayer_
std::vector< int > maxDepth
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::vector< double > etaTableHF
unsigned int numberOfCells(HcalSubdetector) const
int getLayerBack(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const
void getLayerDepth(int ieta, std::map< int, int > &layers) const
std::vector< int > etaMax
std::vector< int > phiUnitS
int getDepthEta29M(const int i, const bool planOne) const
int getLayerFront(const int subdet, const int ieta, const int iphi, const int zside, const int depth) const
U second(std::pair< T, U > const &p)
const HcalParameters * hpar
std::pair< int, int > getDepths(const int eta) const
int getMaxDepth(const int type) const
int validDet(std::vector< int > &phis) const
int getFrontLayer(const int det, const int eta) const
std::vector< std::pair< double, double > > gconsHE
std::vector< double > zHE
std::vector< double > phibin
std::vector< std::pair< int, double > > getPhis(int subdet, int ieta) const
const std::vector< double > & getRTableHF() const
void specialRBXHBHE(const std::vector< HcalDetId > &, std::vector< HcalDetId > &) const
int getMinDepth(const int itype, const int ieta, const int iphi, const int zside) const
unsigned int numberOfCells(HcalSubdetector) const
HcalDetId idFront(const HcalDetId &id) const
int getDepthEta29(const int phi, int zside, int i) const
HcalID getHCID(int subdet, int ieta, int iphi, int lay, int idepth) const
std::vector< double > dzHE
Cos< T >::type cos(const T &t)
const std::vector< double > & getPhiTableHF() const
std::vector< HFCellParameters > getHFCellParameters() const
const std::vector< int > & getPhis() const
std::vector< int > iEtaMax
Abs< T >::type abs(const T &t)
std::vector< HcalCellType > HcalCellTypes() const
std::map< HcalDetId, HcalDetId > detIdSp_
std::vector< int > ietaMap
std::vector< int > nPhiBins
std::vector< std::pair< int, int > > layer
int getLayerFront(int det, int eta, int phi, int depth) const
std::pair< int, int > validEta() const
int getMinDepth(const int det, const int eta, const int phi, const int zside, bool partialOnly) const
int getDepthEta16(const int det, const int phi, const int zside) const
std::vector< HcalCellType > HcalCellTypes(HcalSubdetector) const
HcalDetId idBack(const HcalDetId &id) const
std::vector< HcalActiveLength > getThickActive(const int type) const
std::vector< double > phioff
unsigned int layerGroupSize(int eta) const
std::vector< double > etaTable
HcalDDDRecConstants(const HcalParameters *hp, const HcalDDDSimConstants &hc)
void unmergeDepthDetId(const HcalDetId &id, std::vector< HcalDetId > &ids) const
std::vector< double > phitable
int phiNumber(const int phi, const int unit) const
int getDepthEta16M(const int det) const
TString units(TString variable, Char_t axis)
std::vector< double > phibin
std::vector< LayerItem > layerGroupEtaRec
int unitPhi(const int det, const int etaR) const
std::vector< double > drHB
const HcalDDDSimConstants & hcons
std::pair< int, int > depthMaxDf_
const std::vector< HcalDetId > & getIdHF2QIE() const
std::vector< std::pair< double, double > > gconsHB
std::vector< int > maxDepth
std::vector< int > phigroup
std::pair< double, double > getEtaPhi(int subdet, int ieta, int iphi) const
static const int maxLayerHB_
std::vector< std::pair< int, double > > phis
std::vector< int > etaMin
unsigned int nCells() const
int getPhiZOne(std::vector< std::pair< int, int > > &phiz) const
std::vector< HcalEtaBin > getEtaBins(const int itype) const
const HcalLayerDepthMap * ldMap() const