Skip to content

Commit feeb401

Browse files
committed
Feat: add protection against bad user input
1 parent db53d05 commit feeb401

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

PWGCF/Femto/Core/collisionBuilder.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,13 @@ class CollisionSelection : public baseselection::BaseSelection<float, o2::analys
245245

246246
// event shape
247247
mQvecDetector = static_cast<modes::QvecDetector>(config.qvecDetector.value);
248+
if (mQvecDetector >= modes::QvecDetector::kQvecDetectorLast) {
249+
LOG(fatal) << "Qvector Detector is not supported";
250+
}
248251
mQvecHarmonic = static_cast<modes::QvecHarmonic>(config.qvecHarmonic.value);
252+
if (mQvecHarmonic < modes::QvecHarmonic::kN2 || mQvecHarmonic >= modes::QvecHarmonic::kQvecHarmonicLast) {
253+
LOG(fatal) << "Qvector Harmonic is not supported";
254+
}
249255

250256
this->addSelection(kSel8, collisionSelectionNames.at(kSel8), config.sel8.value);
251257
this->addSelection(kNoSameBunchPileUp, collisionSelectionNames.at(kNoSameBunchPileUp), config.noSameBunchPileup.value);
@@ -371,9 +377,6 @@ class CollisionSelection : public baseselection::BaseSelection<float, o2::analys
371377
{
372378
auto harmonic = static_cast<float>(mQvecHarmonic);
373379
int index = static_cast<int>(mQvecHarmonic) - 2; // get index in the qvector vector
374-
if (index >= 2) {
375-
LOG(fatal) << "At the moment harmonics up to 3 are supported!";
376-
}
377380
switch (mQvecDetector) {
378381
case modes::QvecDetector::kFT0C:
379382
mEventPlane = RecoDecay::constrainAngle((std::atan2(col.qvecFT0CImVec()[index], col.qvecFT0CReVec()[index])) / harmonic, 0, harmonic); // constrain between 0 and 2pi/harmonic

PWGCF/Femto/Core/modes.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,14 @@ enum class CharmHadron : o2::analysis::femto::datatypes::CharmHadronType {
180180

181181
enum class QvecDetector : o2::analysis::femto::datatypes::QvecDetectorType {
182182
kFT0C = 0,
183-
kFT0A = 1
183+
kFT0A = 1,
184+
kQvecDetectorLast = 2
184185
};
185186

186187
enum class QvecHarmonic : o2::analysis::femto::datatypes::QvecHarmonicType {
187188
kN2 = 2,
188-
kN3 = 3
189+
kN3 = 3,
190+
kQvecHarmonicLast = 4
189191
};
190192

191193
}; // namespace o2::analysis::femto::modes

0 commit comments

Comments
 (0)