Skip to content

Commit 649c43b

Browse files
committed
Refactor ECAL rechit histogram filling to remove code duplication
1 parent a7be00e commit 649c43b

File tree

1 file changed

+59
-38
lines changed

1 file changed

+59
-38
lines changed

DQM/HLTEvF/plugins/ScoutingCollectionMonitor.cc

Lines changed: 59 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -841,62 +841,83 @@ void ScoutingCollectionMonitor::analyze(const edm::Event& iEvent, const edm::Eve
841841
tk_PV_dz_hist->Fill(best_offset.second);
842842
}
843843

844-
// uncleaned calo rechits histograms
844+
// Define helper lambdas for EB and EE rechits
845+
auto fillEBHistograms = [](const auto& rechits,
846+
int index,
847+
dqm::reco::MonitorElement* numberHist[2],
848+
dqm::reco::MonitorElement* etaPhiMap[2],
849+
dqm::reco::MonitorElement* energyHist[2],
850+
dqm::reco::MonitorElement* timeHist[2]) {
851+
numberHist[index]->Fill(rechits.size());
852+
for (const auto& hit : rechits) {
853+
EBDetId id(hit.detId());
854+
etaPhiMap[index]->Fill(id.ieta(), id.iphi());
855+
energyHist[index]->Fill(hit.energy());
856+
timeHist[index]->Fill(hit.time());
857+
}
858+
};
859+
860+
auto fillEEHistograms = [](const auto& rechits,
861+
int index,
862+
dqm::reco::MonitorElement* numberHist[2],
863+
dqm::reco::MonitorElement* plusXYMap[2],
864+
dqm::reco::MonitorElement* minusXYMap[2],
865+
dqm::reco::MonitorElement* energyHist[2],
866+
dqm::reco::MonitorElement* timeHist[2]) {
867+
numberHist[index]->Fill(rechits.size());
868+
for (const auto& hit : rechits) {
869+
EEDetId id(hit.detId());
870+
if (id.zside() > 0) {
871+
plusXYMap[index]->Fill(id.ix(), id.iy());
872+
} else {
873+
minusXYMap[index]->Fill(id.ix(), id.iy());
874+
}
875+
energyHist[index]->Fill(hit.energy());
876+
timeHist[index]->Fill(hit.time());
877+
}
878+
};
879+
880+
// Process uncleaned EB rechits
845881
edm::Handle<Run3ScoutingEBRecHitCollection> ebRecHitsH;
846882
if (!ebRecHitsToken_.isUninitialized() && getValidHandle(iEvent, ebRecHitsToken_, ebRecHitsH, "pfRecHitsEB")) {
847-
ebRecHitsNumber_hist[0]->Fill(ebRecHitsH->size());
848-
for (const auto& ebRecHit : *ebRecHitsH) {
849-
EBDetId ebid(ebRecHit.detId());
850-
ebRecHitsEtaPhiMap[0]->Fill(ebid.ieta(), ebid.iphi());
851-
ebRecHits_energy_hist[0]->Fill(ebRecHit.energy());
852-
ebRecHits_time_hist[0]->Fill(ebRecHit.time());
853-
}
883+
fillEBHistograms(
884+
*ebRecHitsH, 0, ebRecHitsNumber_hist, ebRecHitsEtaPhiMap, ebRecHits_energy_hist, ebRecHits_time_hist);
854885
}
855886

887+
// Process uncleaned EE rechits
856888
edm::Handle<Run3ScoutingEERecHitCollection> eeRecHitsH;
857889
if (!eeRecHitsToken_.isUninitialized() && getValidHandle(iEvent, eeRecHitsToken_, eeRecHitsH, "pfRecHitsEE")) {
858-
eeRecHitsNumber_hist[0]->Fill(eeRecHitsH->size());
859-
for (const auto& eeRecHit : *eeRecHitsH) {
860-
EEDetId eeid(eeRecHit.detId());
861-
if (eeid.zside() > 0) {
862-
eePlusRecHitsXYMap[0]->Fill(eeid.ix(), eeid.iy());
863-
} else {
864-
eeMinusRecHitsXYMap[0]->Fill(eeid.ix(), eeid.iy());
865-
}
866-
eeRecHits_energy_hist[0]->Fill(eeRecHit.energy());
867-
eeRecHits_time_hist[0]->Fill(eeRecHit.time());
868-
}
890+
fillEEHistograms(*eeRecHitsH,
891+
0,
892+
eeRecHitsNumber_hist,
893+
eePlusRecHitsXYMap,
894+
eeMinusRecHitsXYMap,
895+
eeRecHits_energy_hist,
896+
eeRecHits_time_hist);
869897
}
870898

871-
// cleaned calo rechits histograms
899+
// Process cleaned EB rechits
872900
edm::Handle<Run3ScoutingEBRecHitCollection> ebRecHitsCleanedH;
873901
if (!ebCleanedRecHitsToken_.isUninitialized() &&
874902
getValidHandle(iEvent, ebCleanedRecHitsToken_, ebRecHitsCleanedH, "pfCleanedRecHitsEB")) {
875-
ebRecHitsNumber_hist[1]->Fill(ebRecHitsCleanedH->size());
876-
for (const auto& ebRecHit : *ebRecHitsCleanedH) {
877-
EBDetId ebid(ebRecHit.detId());
878-
ebRecHitsEtaPhiMap[1]->Fill(ebid.ieta(), ebid.iphi());
879-
ebRecHits_energy_hist[1]->Fill(ebRecHit.energy());
880-
ebRecHits_time_hist[1]->Fill(ebRecHit.time());
881-
}
903+
fillEBHistograms(
904+
*ebRecHitsCleanedH, 1, ebRecHitsNumber_hist, ebRecHitsEtaPhiMap, ebRecHits_energy_hist, ebRecHits_time_hist);
882905
}
883906

907+
// Process cleaned EE rechits
884908
edm::Handle<Run3ScoutingEERecHitCollection> eeRecHitsCleanedH;
885909
if (!eeCleanedRecHitsToken_.isUninitialized() &&
886910
getValidHandle(iEvent, eeCleanedRecHitsToken_, eeRecHitsCleanedH, "pfCleanedRecHitsEE")) {
887-
eeRecHitsNumber_hist[1]->Fill(eeRecHitsCleanedH->size());
888-
for (const auto& eeRecHit : *eeRecHitsCleanedH) {
889-
EEDetId eeid(eeRecHit.detId());
890-
if (eeid.zside() > 0) {
891-
eePlusRecHitsXYMap[1]->Fill(eeid.ix(), eeid.iy());
892-
} else {
893-
eeMinusRecHitsXYMap[1]->Fill(eeid.ix(), eeid.iy());
894-
}
895-
eeRecHits_energy_hist[1]->Fill(eeRecHit.energy());
896-
eeRecHits_time_hist[1]->Fill(eeRecHit.time());
897-
}
911+
fillEEHistograms(*eeRecHitsCleanedH,
912+
1,
913+
eeRecHitsNumber_hist,
914+
eePlusRecHitsXYMap,
915+
eeMinusRecHitsXYMap,
916+
eeRecHits_energy_hist,
917+
eeRecHits_time_hist);
898918
}
899919

920+
// process the HBHE rechits
900921
edm::Handle<Run3ScoutingHBHERecHitCollection> hbheRecHitsH;
901922
if (!hbheRecHitsToken_.isUninitialized() &&
902923
getValidHandle(iEvent, hbheRecHitsToken_, hbheRecHitsH, "pfRecHitsHBHE")) {

0 commit comments

Comments
 (0)