Skip to content

Commit

Permalink
Fix the remaining issue of ieta=18 and ieta=15 towers in layer=2 of H…
Browse files Browse the repository at this point in the history
…CAL - backport of #42130to CMSSW version 13_1_X
  • Loading branch information
Sunanda committed Jun 29, 2023
1 parent 3080967 commit 7d73be1
Showing 1 changed file with 32 additions and 25 deletions.
57 changes: 32 additions & 25 deletions Geometry/HcalCommonData/src/HcalHitRelabeller.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,26 @@ void HcalHitRelabeller::process(std::vector<PCaloHit>& hcalHits) {
edm::LogVerbatim("HcalSim") << "Hit[" << ii << "] " << std::hex << hcalHit.id() << std::dec << " Neutral density "
<< neutralDensity_;
#endif
double energy = (hcalHit.energy());
if (neutralDensity_) {
energy *= (energyWt(hcalHit.id()));
hcalHit.setEnergy(energy);
}
DetId newid = relabel(hcalHit.id());
uint32_t hid;
int det, z, depth, eta, phi, layer;
HcalTestNumbering::unpackHcalIndex(hcalHit.id(), det, z, depth, eta, phi, layer);
if ((det == 2) && (layer == 2) && (eta == 18))
depth = 2;
hid = HcalTestNumbering::packHcalIndex(det, z, depth, eta, phi, layer);
double wt = (neutralDensity_) ? (energyWt(hid)) : 1.0;
double energy = wt * (hcalHit.energy());
hcalHit.setEnergy(energy);
uint32_t newid = relabel(hid).rawId();
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalSim") << "Hit " << ii << " out of " << hcalHits.size() << " " << std::hex << newid.rawId()
<< std::dec << " E " << energy;
edm::LogVerbatim("HcalSim") << "Hit " << ii << " out of " << hcalHits.size() << " " << std::hex << newid
<< std::dec << " E " << energy << " wt " << wt;
#endif
hcalHit.setID(newid.rawId());
hcalHit.setID(newid);
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalSim") << "Modified Hit " << HcalDetId(hcalHit.id());
edm::LogVerbatim("HcalSim") << "Final Setting::subdet: " << HcalDetId(newid).subdet()
<< " z: " << HcalDetId(newid).zside() << " depth: " << HcalDetId(newid).depth()
<< " ieta: " << HcalDetId(newid).ietaAbs() << " iphi: " << HcalDetId(newid).iphi()
<< " wt " << wt;
++ii;
#endif
}
Expand All @@ -57,30 +64,30 @@ DetId HcalHitRelabeller::relabel(const uint32_t testId, const HcalDDDRecConstant
HcalDetId hid;
int det, z, depth, eta, phi, layer, sign;
HcalTestNumbering::unpackHcalIndex(testId, det, z, depth, eta, phi, layer);
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalSim") << "det: " << det << " "
<< "z: " << z << " "
<< "depth: " << depth << " "
<< "ieta: " << eta << " "
<< "iphi: " << phi << " "
<< "layer: " << layer;
#endif

sign = (z == 0) ? (-1) : (1);
HcalDDDRecConstants::HcalID id = theRecNumber->getHCID(det, sign * eta, phi, layer, depth);
int depth0 = ((det == 1) && (layer == 2) && (eta == 15)) ? depth : id.depth;

if (id.subdet == int(HcalBarrel)) {
hid = HcalDetId(HcalBarrel, sign * id.eta, id.phi, id.depth);
hid = HcalDetId(HcalBarrel, sign * id.eta, id.phi, depth0);
} else if (id.subdet == int(HcalEndcap)) {
hid = HcalDetId(HcalEndcap, sign * id.eta, id.phi, id.depth);
hid = HcalDetId(HcalEndcap, sign * id.eta, id.phi, depth0);
} else if (id.subdet == int(HcalOuter)) {
hid = HcalDetId(HcalOuter, sign * id.eta, id.phi, id.depth);
hid = HcalDetId(HcalOuter, sign * id.eta, id.phi, depth0);
} else if (id.subdet == int(HcalForward)) {
hid = HcalDetId(HcalForward, sign * id.eta, id.phi, id.depth);
hid = HcalDetId(HcalForward, sign * id.eta, id.phi, depth0);
}
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalSim") << " new HcalDetId -> hex.RawID = " << std::hex << hid.rawId() << std::dec
<< " det, z, depth, eta, phi = " << det << " " << z << " " << id.depth << " " << id.eta
<< " " << id.phi << " ---> " << hid;
edm::LogVerbatim("HcalSim") << "Initial indices:"
<< "subdet: " << det << " "
<< "z: " << z << " "
<< "depth: " << depth << " "
<< "ieta: " << eta << " "
<< "iphi: " << phi << " "
<< "layer: " << layer << " new HcalDetId -> hex.RawID = " << std::hex << hid.rawId()
<< std::dec << " subdet, z, depth, eta, phi = " << det << " " << z << " " << id.depth
<< " " << id.eta << " " << id.phi << " ---> " << hid;
#endif
return hid;
}
Expand Down

0 comments on commit 7d73be1

Please sign in to comment.