Skip to content

Commit f5d7408

Browse files
authored
Merge pull request #47998 from bsunanda/Phase2-hgx363T
Phase2-hgx363T Make phi-dependent cassette shift for all scintillator tiles in the V19 version
2 parents ad9a703 + bfe1a2e commit f5d7408

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

Geometry/HGCalCommonData/interface/HGCalParameters.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ class HGCalParameters {
220220
int phiOffset_ = 0;
221221
std::vector<double> cassetteShift_;
222222
std::vector<double> cassetteShiftTile_;
223+
std::vector<double> cassetteRetractTile_;
223224
double calibCellRHD_ = 0.;
224225
std::vector<int> calibCellFullHD_;
225226
std::vector<int> calibCellPartHD_;

Geometry/HGCalCommonData/src/HGCalDDDConstants.cc

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ HGCalDDDConstants::HGCalDDDConstants(const HGCalParameters* hp, const std::strin
5858
if (mode_ == HGCalGeometryMode::TrapezoidFineCell) {
5959
hgcassette_.setParameter(hgpar_->cassettes_, hgpar_->cassetteShift_, false);
6060
hgcassette_.setParameterScint(hgpar_->cassetteShiftTile_);
61+
hgcassette_.setParameterRetract(hgpar_->cassetteRetractTile_);
6162
} else {
6263
hgcassette_.setParameter(hgpar_->cassettes_, hgpar_->cassetteShift_, true);
6364
}
@@ -227,7 +228,8 @@ std::array<int, 3> HGCalDDDConstants::assignCellTrap(float x, float y, float z,
227228
if (cassetteMode()) {
228229
int nphi = (hgpar_->scintFine(indx.first)) ? hgpar_->nphiFineCassette_ : hgpar_->nphiCassette_;
229230
int cassette = HGCalTileIndex::tileCassette(iphi, hgpar_->phiOffset_, nphi, hgpar_->cassettes_);
230-
auto cshift = hgcassette_.getShift(layer, -1, cassette, true);
231+
auto cshift = (mode_ == HGCalGeometryMode::TrapezoidFineCell) ? hgcassette_.getShiftScnt((indx.first + 1), -1, phi)
232+
: hgcassette_.getShift(layer, -1, cassette, true);
231233
#ifdef EDM_ML_DEBUG
232234
std::ostringstream st1;
233235
st1 << "Cassette " << cassette << " Shift " << cshift.first << ":" << cshift.second << " Original " << xx << ":"
@@ -1034,7 +1036,8 @@ std::pair<float, float> HGCalDDDConstants::locateCellTrap(
10341036
debug = true;
10351037
if (debug)
10361038
edm::LogVerbatim("HGCalGeom") << "locateCellTrap:: Input " << lay << ":" << irad << ":" << iphi << ":" << zside
1037-
<< ":" << reco << ":" << indx.first;
1039+
<< ":" << reco << ":" << indx.first << " First Layer " << hgpar_->firstLayer_ << ":"
1040+
<< hgpar_->firstMixedLayer_;
10381041
#endif
10391042
if (indx.first >= 0) {
10401043
int ir = std::abs(irad);
@@ -1076,7 +1079,9 @@ std::pair<float, float> HGCalDDDConstants::locateCellTrap(
10761079
if (cassetteMode()) {
10771080
int nphi = (hgpar_->scintFine(indx.first)) ? hgpar_->nphiFineCassette_ : hgpar_->nphiCassette_;
10781081
int cassette = HGCalTileIndex::tileCassette(iphi, hgpar_->phiOffset_, nphi, hgpar_->cassettes_);
1079-
auto cshift = hgcassette_.getShift(lay, -1, cassette, true);
1082+
auto cshift = (mode_ == HGCalGeometryMode::TrapezoidFineCell)
1083+
? hgcassette_.getShiftScnt((indx.first + 1), -1, phi)
1084+
: hgcassette_.getShift(lay, -1, cassette, true);
10801085
#ifdef EDM_ML_DEBUG
10811086
std::ostringstream st1;
10821087
if (debug)

Geometry/HGCalCommonData/src/HGCalGeomParameters.cc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1685,6 +1685,12 @@ void HGCalGeomParameters::loadSpecParsTrapezoid(const DDFilteredView& fv, HGCalP
16851685
php.nphiFineCassette_ = php.nCellsFine_ / php.cassettes_;
16861686
std::vector<double> rectract = fv.vector("ScintRetract");
16871687
rescale(rectract, HGCalParameters::k_ScaleFromDDD);
1688+
for (unsigned int k1 = 0; k1 < rectract.size(); ++k1) {
1689+
php.cassetteRetractTile_.emplace_back(rectract[k1]);
1690+
#ifdef EDM_ML_DEBUG
1691+
edm::LogVerbatim("HGCalGeom") << "cassetteRetractTile_[" << k1 << "] " << rectract[k1];
1692+
#endif
1693+
}
16881694
int n = 2 * php.cassettes_ * (php.firstLayer_ - 1);
16891695
for (int k1 = 0; k1 < n; ++k1)
16901696
cassetteShift.emplace_back(0.);
@@ -1852,6 +1858,13 @@ void HGCalGeomParameters::loadSpecParsTrapezoid(const cms::DDFilteredView& fv,
18521858
} else if (dd4hep::dd::compareEqual(dd4hep::dd::noNamespace(it.first), "ScintRetract")) {
18531859
for (const auto& i : it.second)
18541860
rectract.emplace_back(i);
1861+
rescale(rectract, HGCalParameters::k_ScaleFromDDD);
1862+
for (unsigned int k1 = 0; k1 < rectract.size(); ++k1) {
1863+
php.cassetteRetractTile_.emplace_back(rectract[k1]);
1864+
#ifdef EDM_ML_DEBUG
1865+
edm::LogVerbatim("HGCalGeom") << "cassetteRetractTile_[" << k1 << "] " << rectract[k1];
1866+
#endif
1867+
}
18551868
int n = 2 * php.cassettes_ * (php.firstLayer_ - 1);
18561869
for (int k1 = 0; k1 < n; ++k1)
18571870
cassetteShift.emplace_back(0.);

Geometry/HGCalCommonData/test/HGCalParameterTester.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ void HGCalParameterTester::analyze(const edm::Event& iEvent, const edm::EventSet
169169
myPrint("CalibCellFullLD", phgp->calibCellFullLD_, 12);
170170
myPrint("CalibCellPartLD", phgp->calibCellPartLD_, 12);
171171
myPrint("cassetteShift", phgp->cassetteShift_, 8);
172+
myPrint("cassetteShiftTile", phgp->cassetteShiftTile_, 8);
173+
myPrint("cassetteRetractTile", phgp->cassetteRetractTile_, 8);
172174

173175
edm::LogVerbatim("HGCalGeom") << "MaskMode: " << phgp->waferMaskMode_;
174176
if (phgp->waferMaskMode_ > 1) {

0 commit comments

Comments
 (0)