Skip to content

Commit

Permalink
Merge pull request #26620 from bsunanda/Phase2-hgx195
Browse files Browse the repository at this point in the history
Phase2-hgx195 Add new access code for scintillator cells of HGCal
  • Loading branch information
cmsbuild committed May 8, 2019
2 parents c43e052 + fed990a commit a55a7db
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 5 deletions.
10 changes: 8 additions & 2 deletions Geometry/HGCalCommonData/interface/HGCalDDDConstants.h
Expand Up @@ -47,12 +47,13 @@ class HGCalDDDConstants {
std::array<int, 5> assignCellHex(float x, float y, int lay, bool reco) const;
std::array<int, 3> assignCellTrap(float x, float y, float z, int lay,
bool reco) const;
std::pair<double, double> cellEtaPhiTrap(int type, int irad) const;
bool cellInLayer(int waferU, int waferV, int cellU, int cellV, int lay,
bool reco) const;
double cellSizeHex(int type) const;
std::pair<double, double> cellSizeTrap(int type, int irad) const {
return std::pair<double, double>(hgpar_->radiusLayer_[type][irad - 1],
hgpar_->radiusLayer_[type][irad]);
return std::make_pair(hgpar_->radiusLayer_[type][irad - 1],
hgpar_->radiusLayer_[type][irad]);
}
double cellThickness(int layer, int waferU, int waferV) const;
CellType cellType(int type, int waferU, int waferV) const;
Expand All @@ -70,6 +71,11 @@ class HGCalDDDConstants {
const HGCalParameters* getParameter() const { return hgpar_; }
int getPhiBins(int lay) const;
std::pair<int, int> getREtaRange(int lay) const;
const std::vector<double> & getRadiusLayer(int layer) const {
int type = ((mode_ == HGCalGeometryMode::Trapezoid) ?
hgpar_->scintType(layer) : 0);
return hgpar_->radiusLayer_[type];
}
HGCalParameters::hgtrform getTrForm(unsigned int k) const {
return hgpar_->getTrForm(k);
}
Expand Down
2 changes: 1 addition & 1 deletion Geometry/HGCalCommonData/plugins/DDHGCalHEAlgo.cc
Expand Up @@ -533,7 +533,7 @@ void DDHGCalHEAlgo::positionSensitive(const DDLogicalPart& glog, double rin,
cpv.position(name, glog.ddname(), copy, tran, rotation);
#ifdef EDM_ML_DEBUG
++ntype[type];
edm::LogVerbatim("HGCalGeom")
edm::LogVerbatim("HGCalGeom")
<< "DDHGCalHEAlgo: " << name << " number " << copy
<< " positioned in " << glog.ddname() << " at " << tran
<< " with " << rotation;
Expand Down
17 changes: 15 additions & 2 deletions Geometry/HGCalCommonData/src/HGCalDDDConstants.cc
Expand Up @@ -201,6 +201,19 @@ std::array<int, 3> HGCalDDDConstants::assignCellTrap(float x, float y, float z,
return std::array<int, 3>{{irad, iphi, type}};
}

std::pair<double, double> HGCalDDDConstants::cellEtaPhiTrap(int type,
int irad) const {
double dr(0), df(0);
if (mode_ == HGCalGeometryMode::Trapezoid) {
double r = 0.5*((hgpar_->radiusLayer_[type][irad-1] +
hgpar_->radiusLayer_[type][irad]));
dr = (hgpar_->radiusLayer_[type][irad] -
hgpar_->radiusLayer_[type][irad-1]);
df = r * hgpar_->cellSize_[type];
}
return std::make_pair(dr,df);
}

bool HGCalDDDConstants::cellInLayer(int waferU, int waferV, int cellU,
int cellV, int lay, bool reco) const {
const auto& indx = getIndex(lay, true);
Expand Down Expand Up @@ -1064,7 +1077,7 @@ std::pair<double, double> HGCalDDDConstants::rangeR(double z, bool reco) const {
edm::LogVerbatim("HGCalGeom") << "HGCalDDDConstants:rangeR: " << z << ":"
<< zz << " R " << rmin << ":" << rmax;
#endif
return std::pair<double, double>(rmin, rmax);
return std::make_pair(rmin, rmax);
}

std::pair<double, double> HGCalDDDConstants::rangeZ(bool reco) const {
Expand All @@ -1079,7 +1092,7 @@ std::pair<double, double> HGCalDDDConstants::rangeZ(bool reco) const {
zmin *= HGCalParameters::k_ScaleToDDD;
zmax *= HGCalParameters::k_ScaleToDDD;
}
return std::pair<double, double>(zmin, zmax);
return std::make_pair(zmin, zmax);
}

std::pair<int, int> HGCalDDDConstants::rowColumnWafer(int wafer) const {
Expand Down

0 comments on commit a55a7db

Please sign in to comment.