Skip to content

Commit

Permalink
backport of PR cms-sw#40117 to 12_4_X
Browse files Browse the repository at this point in the history
  • Loading branch information
lwang046 committed Nov 19, 2022
1 parent 3539833 commit dad2640
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 16 deletions.
8 changes: 4 additions & 4 deletions DQM/HcalCommon/interface/ValueQuantity.h
Expand Up @@ -202,8 +202,8 @@ namespace hcaldqm {
{fADC_256_4, -0.5},
{fEtlog2, 0.},
{fDiffRatio, -2.5},
{fCPUenergy, 0},
{fGPUenergy, 0},
{fCPUenergy, -1},
{fGPUenergy, -1},
};
const std::map<ValueQuantityType, double> max_value = {
{fN, 1000},
Expand Down Expand Up @@ -333,8 +333,8 @@ namespace hcaldqm {
{fADC_256_4, 64},
{fEtlog2, 9},
{fDiffRatio, 50},
{fCPUenergy, 1000},
{fGPUenergy, 1000},
{fCPUenergy, 1005},
{fGPUenergy, 1005},
};
class ValueQuantity : public Quantity {
public:
Expand Down
2 changes: 1 addition & 1 deletion DQM/HcalTasks/plugins/DigiTask.cc
Expand Up @@ -790,7 +790,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps)
lumiCache->EvtCntLS == 1) { // Reset the bin for _cCapid_BadvsFEDvsLSmod60 at the beginning of each new LS
for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
HcalElectronicsId eid = HcalElectronicsId(*it);
_cCapid_BadvsFEDvsLSmod60.setBinContent(eid, _currentLS % 50, 0);
_cCapid_BadvsFEDvsLSmod60.setBinContent(eid, _currentLS % 60, 0);
}
}

Expand Down
57 changes: 48 additions & 9 deletions DQM/HcalTasks/plugins/HcalGPUComparisonTask.cc
Expand Up @@ -96,10 +96,40 @@ HcalGPUComparisonTask::HcalGPUComparisonTask(edm::ParameterSet const& ps)
edm::Handle<HBHERecHitCollection> chbhe_ref;
edm::Handle<HBHERecHitCollection> chbhe_target;

if (!(e.getByToken(tokHBHE_ref_, chbhe_ref)))
_logger.dqmthrow("The CPU HBHERecHitCollection \"" + tagHBHE_ref_.encode() + "\" is not available");
if (!(e.getByToken(tokHBHE_target_, chbhe_target)))
_logger.dqmthrow("The GPU HBHERecHitCollection \"" + tagHBHE_target_.encode() + "\" is not available");
bool gotRefCollection = true, gotTargetCollection = true;

if (!(e.getByToken(tokHBHE_ref_, chbhe_ref))) {
edm::LogWarning("HcalGPUComparisonTask")
<< "The CPU HBHERecHitCollection " << tagHBHE_ref_.encode() << " is not available" << std::endl;
gotRefCollection = false;
}
if (!(e.getByToken(tokHBHE_target_, chbhe_target))) {
edm::LogWarning("HcalGPUComparisonTask")
<< "The GPU HBHERecHitCollection " << tagHBHE_target_.encode() << " is not available" << std::endl;
gotTargetCollection = false;
}

if (gotRefCollection && !gotTargetCollection) {
for (HBHERecHitCollection::const_iterator it = chbhe_ref->begin(); it != chbhe_ref->end(); ++it) {
double energy = it->energy();
HcalDetId did = it->id();
energyGPUvsCPU_subdet_.fill(did, energy, -0.5);
}
return;
}
if (!gotRefCollection && gotTargetCollection) {
for (HBHERecHitCollection::const_iterator it = chbhe_target->begin(); it != chbhe_target->end(); ++it) {
double energy = it->energy();
HcalDetId did = it->id();
energyGPUvsCPU_subdet_.fill(did, -0.5, energy);
}
return;
}
if (!gotRefCollection && !gotTargetCollection) {
edm::LogWarning("HcalGPUComparisonTask")
<< "Neither CPU nor GPU RecHit Collection available, will not fill this event." << std::endl;
return;
}

auto lumiCache = luminosityBlockCache(e.getLuminosityBlock().index());
_currentLS = lumiCache->currentLS;
Expand All @@ -115,7 +145,8 @@ HcalGPUComparisonTask::HcalGPUComparisonTask(edm::ParameterSet const& ps)
if (mRecHitEnergy.find(did) == mRecHitEnergy.end())
mRecHitEnergy.insert(std::make_pair(did, energy));
else
edm::LogError("HcalDQM|RechitTask") << "Duplicate Rechit from the same HcalDetId";
edm::LogError("HcalGPUComparisonTask") << "Duplicate Rechit from the same HcalDetId" << std::endl;
;
}

for (HBHERecHitCollection::const_iterator it = chbhe_target->begin(); it != chbhe_target->end(); ++it) {
Expand All @@ -140,11 +171,19 @@ HcalGPUComparisonTask::HcalGPUComparisonTask(edm::ParameterSet const& ps)
}

mRecHitEnergy.erase(did);
} else
edm::LogError("HcalDQM|RechitTask") << "GPU Rechit id not found in CPU Rechit id collection";
} else {
if (energy > 2.)
edm::LogError("HcalGPUComparisonTask")
<< "Energetic GPU Rechit exist, but not reconstructed by CPU. DetId = " << did << std::endl;
}
}
if (!mRecHitEnergy.empty()) {
for (auto const& rhpair : mRecHitEnergy) {
if (rhpair.second > 2.)
edm::LogError("HcalGPUComparisonTask")
<< "Energetic CPU Rechit exist, but not reconstructed by GPU. DetId = " << rhpair.first << std::endl;
}
}
if (!mRecHitEnergy.empty())
edm::LogError("HcalDQM|RechitTask") << "CPU Rechit id not found in GPU Rechit id collection";
}

std::shared_ptr<hcaldqm::Cache> HcalGPUComparisonTask::globalBeginLuminosityBlock(edm::LuminosityBlock const& lb,
Expand Down
Expand Up @@ -102,8 +102,8 @@
# New Style Modules
#-------------------------------------
oldsubsystem = subsystem
process.hcalGPUComparisonTask.tagHBHE_ref = "hltHbherecoFromGPU"
process.hcalGPUComparisonTask.tagHBHE_target = "hltHbherecoLegacy"
process.hcalGPUComparisonTask.tagHBHE_ref = "hltHbherecoLegacy"
process.hcalGPUComparisonTask.tagHBHE_target = "hltHbherecoFromGPU"
process.hcalGPUComparisonTask.runkeyVal = runType
process.hcalGPUComparisonTask.runkeyName = runTypeName

Expand Down

0 comments on commit dad2640

Please sign in to comment.