Skip to content

Commit dfc471a

Browse files
authored
Merge pull request #48207 from Dr15Jones/assertHGCal
Added asserts to HGCal RecHit production code
2 parents 3a1f807 + daa644f commit dfc471a

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

RecoLocalCalo/HGCalRecProducers/plugins/HGCalCLUEAlgo.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,8 @@ int HGCalCLUEAlgoT<T, STRATEGY>::findAndAssignClusters(const unsigned int layerI
432432
localStack.push_back(i);
433433

434434
} else if (!isOutlier) {
435+
assert(cellsOnLayer.nearestHigher[i] != -1);
436+
assert(cellsOnLayer.nearestHigher[i] < static_cast<int>(cellsOnLayer.followers.size()));
435437
cellsOnLayer.followers[cellsOnLayer.nearestHigher[i]].push_back(i);
436438
}
437439
}

RecoLocalCalo/HGCalRecProducers/plugins/HGCalRecHitWorkerSimple.cc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,18 @@ HGCalRecHitWorkerSimple::HGCalRecHitWorkerSimple(const edm::ParameterSet& ps, ed
7878

7979
hgcEE_noise_fC_ = ps.getParameter<edm::ParameterSet>("HGCEE_noise_fC").getParameter<std::vector<double> >("values");
8080
hgcEE_cce_ = ps.getParameter<edm::ParameterSet>("HGCEE_cce").getParameter<std::vector<double> >("values");
81+
assert(hgcEE_cce_.size() == hgcEE_noise_fC_.size());
82+
assert(hgcEE_cce_.size() == hgcEE_fCPerMIP_.size());
8183
hgcHEF_noise_fC_ = ps.getParameter<edm::ParameterSet>("HGCHEF_noise_fC").getParameter<std::vector<double> >("values");
8284
hgcHEF_cce_ = ps.getParameter<edm::ParameterSet>("HGCHEF_cce").getParameter<std::vector<double> >("values");
85+
assert(hgcHEF_cce_.size() == hgcHEF_noise_fC_.size());
86+
assert(hgcHEF_cce_.size() == hgcHEF_fCPerMIP_.size());
8387
hgcHEB_noise_MIP_ = ps.getParameter<edm::ParameterSet>("HGCHEB_noise_MIP").getParameter<double>("noise_MIP");
8488
hgcHFNose_noise_fC_ =
8589
ps.getParameter<edm::ParameterSet>("HGCHFNose_noise_fC").getParameter<std::vector<double> >("values");
8690
hgcHFNose_cce_ = ps.getParameter<edm::ParameterSet>("HGCHFNose_cce").getParameter<std::vector<double> >("values");
91+
assert(hgcHFNose_cce_.size() == hgcHFNose_noise_fC_.size());
92+
assert(hgcHFNose_cce_.size() == hgcHFNose_fCPerMIP_.size());
8793

8894
// don't produce rechit if detid is a ghost one
8995
rangeMatch_ = ps.getParameter<uint32_t>("rangeMatch");
@@ -178,22 +184,32 @@ void HGCalRecHitWorkerSimple::run(const edm::Event& evt,
178184
switch (idtype) {
179185
case hgcee:
180186
rechitMaker_->setADCToGeVConstant(float(hgceeUncalib2GeV_));
187+
assert(thickness - 1 < static_cast<int>(hgcEE_cce_.size()));
188+
assert(thickness < static_cast<int>(rcorr_.size()));
189+
assert(layer < weights_.size());
181190
cce_correction = hgcEE_cce_[thickness - 1];
182191
sigmaNoiseGeV = 1e-3 * weights_[layer] * rcorr_[thickness] * hgcEE_noise_fC_[thickness - 1] /
183192
hgcEE_fCPerMIP_[thickness - 1];
184193
break;
185194
case hgcfh:
186195
rechitMaker_->setADCToGeVConstant(float(hgchefUncalib2GeV_));
196+
assert(thickness - 1 < static_cast<int>(hgcHEF_cce_.size()));
197+
assert(thickness + deltasi_index_regemfac_ < static_cast<int>(rcorr_.size()));
198+
assert(layer < weights_.size());
187199
cce_correction = hgcHEF_cce_[thickness - 1];
188200
sigmaNoiseGeV = 1e-3 * weights_[layer] * rcorr_[thickness + deltasi_index_regemfac_] *
189201
hgcHEF_noise_fC_[thickness - 1] / hgcHEF_fCPerMIP_[thickness - 1];
190202
break;
191203
case hgcbh:
204+
assert(layer < weights_.size());
192205
rechitMaker_->setADCToGeVConstant(float(hgchebUncalib2GeV_));
193206
sigmaNoiseGeV = 1e-3 * hgcHEB_noise_MIP_ * weights_[layer] * rcorrscint_;
194207
break;
195208
case hgchfnose:
196209
rechitMaker_->setADCToGeVConstant(float(hgchfnoseUncalib2GeV_));
210+
assert(thickness - 1 < static_cast<int>(hgcHFNose_cce_.size()));
211+
assert(thickness < static_cast<int>(rcorrNose_.size()));
212+
assert(layer < weightsNose_.size());
197213
cce_correction = hgcHFNose_cce_[thickness - 1];
198214
sigmaNoiseGeV = 1e-3 * weightsNose_[layer] * rcorrNose_[thickness] * hgcHFNose_noise_fC_[thickness - 1] /
199215
hgcHFNose_fCPerMIP_[thickness - 1];

0 commit comments

Comments
 (0)