Skip to content

Commit

Permalink
Merge pull request #40959 from bsunanda/Phase2-hgx336A
Browse files Browse the repository at this point in the history
Phase2-hgx336A Correct the nonzzero cassette shift scenario for HGCal
  • Loading branch information
cmsbuild committed Mar 7, 2023
2 parents 3d0f0e3 + 9ceae21 commit aa2d56e
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 70 deletions.
82 changes: 26 additions & 56 deletions Geometry/HGCalCommonData/data/cellShift.txt
@@ -1,56 +1,26 @@
9 0 -1 7 -2 -3 18 10 -2.82630 -41.4283
9 0 -1 7 -2 -3 15 14 -7.88101 -41.4751
9 0 -1 7 -2 -3 14 15 -8.94715 -41.0073
9 1 1 8 4 2 14 12 -45.91660 17.2826
9 1 1 8 4 2 14 12 -45.91830 17.2802
9 1 1 8 4 2 14 12 -45.91980 17.2803
9 1 1 8 4 2 14 12 -45.92130 17.2797
9 1 1 8 4 2 14 12 -45.92080 17.2781
9 0 -1 7 -2 -3 13 17 -11.49320 -40.8132
9 0 -1 7 -2 -3 13 17 -11.49330 -40.8133
9 0 -1 7 -2 -3 13 17 -11.49330 -40.8133
9 0 -1 7 -2 -3 13 17 -11.49020 -40.8120
9 0 -1 7 -2 -3 13 17 -11.48810 -40.8101
9 0 -1 7 -2 -3 14 17 -10.48540 -40.0787
9 0 -1 7 -2 -3 14 17 -10.46860 -40.0764
9 0 -1 7 -3 -3 15 23 -30.68430 -37.5497
9 0 -1 7 -3 -3 18 21 -27.16580 -37.0963
9 0 -1 7 -3 -3 16 23 -30.06270 -37.4479
9 0 -1 7 -3 -3 15 23 -31.01850 -37.6065
9 0 -1 7 -3 -3 15 22 -30.55220 -37.8669
9 0 -1 7 -3 -3 15 23 -30.62400 -37.2295
9 0 -1 7 -3 -3 15 23 -30.84000 -37.4558
9 0 -1 7 -3 -3 15 23 -30.83890 -37.5251
9 0 -1 7 -2 -3 18 13 -5.39073 -40.1640
9 0 -1 7 -2 -3 12 4 -3.21009 -46.3097
8 0 -1 1 -3 1 17 7 -54.75940 8.47755
8 0 -1 1 -2 1 23 19 -33.70580 15.9673
9 0 -1 7 -2 -3 6 12 -12.55430 -45.4392
9 0 -1 7 -3 -3 20 21 -25.72910 -36.5047
9 0 -1 7 -3 -3 20 20 -25.34010 -36.6699
9 0 1 7 -1 -3 23 21 -1.98542 -38.2605
8 0 -1 1 0 2 8 17 -22.90420 23.5756
9 0 1 7 -1 -3 9 18 -3.53120 -48.4667
9 0 1 7 -1 -3 8 18 -3.73103 -49.3767
9 0 1 7 -1 -3 8 18 -3.44238 -49.3138
9 0 1 7 -1 -3 8 18 -3.43613 -49.3036
9 0 1 7 -1 -3 8 18 -3.44332 -49.3155
9 0 1 7 -1 -3 8 18 -3.44330 -49.3149
9 0 1 7 -1 -3 8 18 -3.44332 -49.3144
9 0 1 7 -1 -3 8 18 -3.44328 -49.3138
9 0 1 7 -1 -3 8 18 -3.44322 -49.3133
9 0 1 7 -1 -3 8 18 -3.44331 -49.3128
9 0 1 7 -1 -3 8 18 -3.44342 -49.3124
9 0 1 7 -1 -3 8 18 -3.44390 -49.3115
9 0 1 7 -1 -3 8 18 -3.44498 -49.3109
9 0 1 7 -1 -3 8 18 -3.44596 -49.3113
9 0 1 7 -1 -3 9 19 -3.25315 -48.4585
9 0 1 7 -1 -3 10 19 -2.86669 -47.7499
9 0 1 7 -1 -3 10 18 -3.29090 -47.4825
9 0 1 7 -1 -3 9 19 -3.30821 -48.4775
9 0 1 7 -1 -3 9 18 -3.50751 -48.4844
9 0 1 7 -1 -3 9 20 -2.30163 -48.8344
9 0 1 7 -1 -3 9 18 -3.79999 -48.3264
9 0 1 7 -1 -3 9 18 -3.54796 -48.4642
9 0 1 7 -1 -3 9 18 -3.39965 -48.4406
9 0 1 7 -1 -3 9 18 -3.33426 -48.4005
8 0 -1 1 3 2 22 13 29.5452 24.28780
9 1 -1 8 -2 2 3 4 -45.4193 20.28480
9 1 -1 8 -3 1 6 9 -56.3272 1.72019
9 1 -1 8 -2 2 15 7 -58.2371 24.12680
8 0 -1 1 -2 1 17 8 -38.0396 9.72298
9 1 -1 8 -2 2 6 12 -48.6208 12.34350
9 1 -1 8 -2 1 9 13 -43.4307 10.91510
8 0 -1 1 -1 2 14 6 -31.6588 23.75420
9 1 -1 8 -2 1 9 1 -43.4333 -3.64305
9 1 -1 8 -2 2 2 7 -44.1030 16.57760
8 0 -1 1 -2 1 22 15 -34.5524 13.06090
8 0 -1 1 12 12 30 26 -10.2616 34.66000
9 1 -1 8 -2 1 9 3 -43.3343 -1.42833
9 1 -1 8 4 2 12 15 47.7914 12.69930
9 1 -1 8 -2 1 9 4 -43.2085 0.122625
9 1 -1 8 4 2 15 11 45.1999 19.84300
9 1 -1 8 -2 1 10 13 -42.2682 9.75877
9 1 -1 8 -2 1 10 13 -42.2660 9.76321
9 1 -1 8 -3 1 1 4 -51.8698 5.30327
9 1 -1 8 4 2 15 15 45.4643 14.25540
8 0 -1 1 0 2 8 2 -12.4069 29.62090
8 0 -1 1 0 2 8 2 -12.3928 29.81790
8 0 -1 1 0 2 8 2 -12.3992 29.82430
8 0 -1 1 -1 1 8 8 -26.8404 17.12580
8 0 -1 1 -1 1 8 7 -27.2856 17.53420
8 0 -1 1 12 12 1 30 -12.7151 35.60880
Expand Up @@ -3740,8 +3740,8 @@
0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
25*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
25*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
Expand Down
10 changes: 0 additions & 10 deletions Geometry/HGCalCommonData/src/HGCalDDDConstants.cc
Expand Up @@ -1448,11 +1448,9 @@ void HGCalDDDConstants::waferFromPosition(const double x,
xx = HGCalParameters::k_ScaleFromDDD * x - hgpar_->xLayerHex_[ll];
yy = HGCalParameters::k_ScaleFromDDD * y - hgpar_->yLayerHex_[ll];
}
#ifdef EDM_ML_DEBUG
if (debug)
edm::LogVerbatim("HGCalGeom") << "waferFromPosition:: Layer " << layer << ":" << ll << " Rot " << rotx << " X " << x
<< ":" << xx << " Y " << y << ":" << yy;
#endif
double rmax = extend ? rmaxT_ : rmax_;
double hexside = extend ? hexsideT_ : hexside_;
for (unsigned int k = 0; k < hgpar_->waferPosX_.size(); ++k) {
Expand All @@ -1464,11 +1462,9 @@ void HGCalDDDConstants::waferFromPosition(const double x,
auto ktr = hgpar_->waferInfoMap_.find(indx);
if (ktr != hgpar_->waferInfoMap_.end()) {
auto cshift = hgcassette_.getShift(layer, -zside, (ktr->second).cassette);
#ifdef EDM_ML_DEBUG
if (debug)
edm::LogVerbatim("HGCalGeom") << "Cassette " << (ktr->second).cassette << " Shift " << -(zside * cshift.first)
<< ":" << cshift.second;
#endif
dx0 = -(zside * cshift.first);
dy0 = cshift.second;
}
Expand All @@ -1480,19 +1476,16 @@ void HGCalDDDConstants::waferFromPosition(const double x,
if (waferHexagon8File()) {
int index = HGCalWaferIndex::waferIndex(layer, waferU, waferV);
celltype = HGCalWaferType::getType(index, hgpar_->waferInfoMap_);
#ifdef EDM_ML_DEBUG
if (debug)
edm::LogVerbatim("HGCalGeom") << "Position (" << x << ", " << y << ") Wafer type:partial:orient:cassette "
<< celltype << ":" << HGCalWaferType::getPartial(index, hgpar_->waferInfoMap_)
<< ":" << HGCalWaferType::getOrient(index, hgpar_->waferInfoMap_) << ":"
<< HGCalWaferType::getCassette(index, hgpar_->waferInfoMap_);
#endif
} else {
auto itr = hgpar_->typesInLayers_.find(HGCalWaferIndex::waferIndex(layer, waferU, waferV));
celltype = ((itr == hgpar_->typesInLayers_.end()) ? HGCSiliconDetId::HGCalCoarseThick
: hgpar_->waferTypeL_[itr->second]);
}
#ifdef EDM_ML_DEBUG
if (debug)
edm::LogVerbatim("HGCalGeom") << "WaferFromPosition:: Input " << layer << ":" << ll << ":"
<< hgpar_->firstLayer_ << ":" << rotx << ":" << x << ":" << y << ":"
Expand All @@ -1502,7 +1495,6 @@ void HGCalDDDConstants::waferFromPosition(const double x,
<< dx * tan30deg_ << ":" << (hexside_ - dy) << " comparator " << rmax_ << ":"
<< rmaxT_ << ":" << hexside_ << ":" << hexsideT_ << " wafer " << waferU << ":"
<< waferV << ":" << celltype;
#endif
xx -= (dx0 + hgpar_->waferPosX_[k]);
yy -= (dy0 + hgpar_->waferPosY_[k]);
break;
Expand All @@ -1517,12 +1509,10 @@ void HGCalDDDConstants::waferFromPosition(const double x,
if (ktr != hgpar_->waferInfoMap_.end()) {
place = HGCalCell::cellPlacementIndex(1, HGCalTypes::layerFrontBack(layertype), (ktr->second).orient);
part = (ktr->second).part;
#ifdef EDM_ML_DEBUG
if (debug)
edm::LogVerbatim("HGCalGeom") << "waferFromPosition: frontback " << layertype << ":"
<< HGCalTypes::layerFrontBack(layertype) << " Orient " << (ktr->second).orient
<< " place " << place << " part " << part;
#endif
}
}
cellHex(xx, yy, celltype, place, part, cellU, cellV, extend, debug);
Expand Down
6 changes: 3 additions & 3 deletions Geometry/HGCalCommonData/test/HGCalWaferIDTester.cc
Expand Up @@ -142,18 +142,18 @@ void HGCalWaferIDTester::analyze(const edm::Event& iEvent, const edm::EventSetup
st1 << "Hit[" << k << "] " << detIds_[k];
int cellU(0), cellV(0), waferType(-1), waferU(0), waferV(0);
double wt(0);
double xx = posXY_[k].first;
double yy = posXY_[k].second;
int layer = detIds_[k].layer();
int zside = detIds_[k].zside();
double xx = (zside < 0) ? -posXY_[k].first : posXY_[k].first;
double yy = posXY_[k].second;
hgdc.waferFromPosition(xx, yy, zside, layer, waferU, waferV, cellU, cellV, waferType, wt, false, debug);
HGCSiliconDetId id(detIds_[k].det(), detIds_[k].zside(), waferType, layer, waferU, waferV, cellU, cellV);
if (id.rawId() != detIds_[k].rawId())
st1 << " non-matching DetId: new ID " << id;
auto xy = hgdc.locateCell(id, true);
double xx0 = (id.zside() > 0) ? xy.first : -xy.first;
double yy0 = xy.second;
double dx = xx0 - (xx / CLHEP::cm);
double dx = xx0 - (posXY_[k].first / CLHEP::cm);
double dy = yy0 - (yy / CLHEP::cm);
double diff = std::sqrt(dx * dx + dy * dy);
st1 << " input position: (" << xx / CLHEP::cm << ", " << yy / CLHEP::cm << "); position from ID (" << xx0 << ", "
Expand Down
Expand Up @@ -43,6 +43,7 @@

if hasattr(process,'MessageLogger'):
process.MessageLogger.HGCalGeomW=dict()
process.MessageLogger.HGCalGeom=dict()

process.load("IOMC.RandomEngine.IOMC_cff")
process.RandomNumberGeneratorService.generator.initialSeed = 456789
Expand Down

0 comments on commit aa2d56e

Please sign in to comment.