Skip to content

Commit 9c1ed27

Browse files
committed
Fix O2 linter findings
1 parent d95c100 commit 9c1ed27

3 files changed

Lines changed: 109 additions & 84 deletions

File tree

PWGLF/DataModel/LFResonanceTables.h

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ DECLARE_SOA_COLUMN(IsTriggerTVX, isTriggerTVX, bool); //! TriggerTVX
8080
DECLARE_SOA_COLUMN(IsInSel8, isInSel8, bool); //! InSel8
8181
DECLARE_SOA_COLUMN(IsInAfterAllCuts, isInAfterAllCuts, bool); //! InAfterAllCuts
8282
DECLARE_SOA_COLUMN(ImpactParameter, impactParameter, float); //! ImpactParameter
83-
DECLARE_SOA_COLUMN(MCMultiplicity, mcMultiplicity, float); //! MC Multiplicity
83+
DECLARE_SOA_COLUMN(MCMultiplicity, mcMultiplicity, float); //! MC Multiplicity, o2-linter: disable=name/o2-column (pre-existing public column name kept for schema and API compatibility)
8484

8585
} // namespace resocollision
8686
DECLARE_SOA_TABLE(ResoCollisions, "AOD", "RESOCOLLISION",
@@ -175,8 +175,8 @@ struct ResoTrackFlags {
175175
#define requireHasTOF() requireTrackFlag(ResoTrackFlags::kHasTOF)
176176
#define requireSign() requireTrackFlag(ResoTrackFlags::kSign)
177177

178-
#define DECLARE_DYN_TRKSEL_COLUMN(name, getter, mask) \
179-
DECLARE_SOA_DYNAMIC_COLUMN(name, getter, [](ResoTrackFlags::flagtype flags) -> bool { return ResoTrackFlags::checkFlag(flags, mask); });
178+
#define DECLARE_DYN_TRKSEL_COLUMN(_Name_, _Getter_, _Mask_) \
179+
DECLARE_SOA_DYNAMIC_COLUMN(_Name_, _Getter_, [](ResoTrackFlags::flagtype flags) -> bool { return ResoTrackFlags::checkFlag(flags, _Mask_); });
180180

181181
DECLARE_SOA_INDEX_COLUMN(ResoCollision, resoCollision);
182182
DECLARE_SOA_INDEX_COLUMN(ResoCollisionDF, resoCollisionDF);
@@ -216,7 +216,7 @@ DECLARE_SOA_COLUMN(DecayVtxX, decayVtxX, float);
216216
DECLARE_SOA_COLUMN(DecayVtxY, decayVtxY, float); //! Y position of the decay vertex
217217
DECLARE_SOA_COLUMN(DecayVtxZ, decayVtxZ, float); //! Z position of the decay vertex
218218
DECLARE_SOA_COLUMN(Alpha, alpha, float); //! Alpha of the decay vertex
219-
DECLARE_SOA_COLUMN(QtArm, qtarm, float); //! Armenteros Qt of the decay vertex
219+
DECLARE_SOA_COLUMN(QtArm, qtarm, float); //! Armenteros Qt of the decay vertex, o2-linter: disable=name/o2-column (pre-existing public column name kept for schema and API compatibility)
220220
DECLARE_SOA_COLUMN(TpcSignal10, tpcSignal10, int16_t); //! TPC signal of the track x10
221221
DECLARE_SOA_COLUMN(DaughterTPCNSigmaPosPi10, daughterTPCNSigmaPosPi10, int8_t); //! TPC PID x10 of the positive daughter as Pion
222222
DECLARE_SOA_COLUMN(DaughterTPCNSigmaPosKa10, daughterTPCNSigmaPosKa10, int8_t); //! TPC PID x10 of the positive daughter as Kaon
@@ -359,6 +359,10 @@ namespace resomicrodaughter
359359

360360
/// @brief Save TPC & TOF nSigma info with 8-bit variable
361361
struct PidNSigma {
362+
static constexpr double MinNSigma = 1.5;
363+
static constexpr double NSigmaStep = 0.2;
364+
static constexpr uint8_t MaxNSigmaCode = 10;
365+
362366
uint8_t flag;
363367

364368
/// @brief Constructor: Convert TPC & TOF values and save
@@ -373,25 +377,25 @@ struct PidNSigma {
373377
static uint8_t encodeNSigma(float nSigma)
374378
{
375379
const float x = std::abs(nSigma);
376-
if (x <= 1.5)
380+
if (x <= MinNSigma)
377381
return 0; // Return 0 when absolute nSigma is smaller than 1.5
378-
float t = (x - 1.5) / 0.2;
382+
float t = (x - MinNSigma) / NSigmaStep;
379383
int encoded = static_cast<int>(std::ceil(t)); // (1.5,1.7]->1, ..., (3.3,3.5]->10
380384
if (encoded < 1)
381385
encoded = 1;
382-
if (encoded > 10)
383-
encoded = 10;
386+
if (encoded > MaxNSigmaCode)
387+
encoded = MaxNSigmaCode;
384388
return static_cast<uint8_t>(encoded);
385389
}
386390

387391
/// @brief Decode 0~10 value to original 1.5~3.5 sigma range
388392
static float decodeNSigma(uint8_t encoded)
389393
{
390394
if (encoded == 0)
391-
return 1.5;
392-
if (encoded > 10)
393-
encoded = 10;
394-
return 1.5 + static_cast<float>(encoded) * 0.2;
395+
return MinNSigma;
396+
if (encoded > MaxNSigmaCode)
397+
encoded = MaxNSigmaCode;
398+
return MinNSigma + static_cast<float>(encoded) * NSigmaStep;
395399
}
396400

397401
/// @brief Check if TOF info is available
@@ -431,6 +435,10 @@ DECLARE_SOA_DYNAMIC_COLUMN(HasTOF, hasTOF,
431435

432436
/// @brief DCAxy & DCAz selection flag
433437
struct ResoMicroTrackSelFlag {
438+
static constexpr double DCAEncodingStep = 0.1;
439+
static constexpr uint8_t MaxRegularDCAFlag = 14;
440+
static constexpr uint8_t OverflowDCAFlag = 15;
441+
434442
uint8_t flag; // Flag for DCAxy & DCAz selection (8-bit variable)
435443

436444
/// @brief Default constructor
@@ -451,13 +459,13 @@ struct ResoMicroTrackSelFlag {
451459
static uint8_t encodeDCA(float DCA)
452460
{
453461
float x = std::fabs(DCA);
454-
if (x < 0.1)
462+
if (x < DCAEncodingStep)
455463
return 0;
456-
int encoded = static_cast<int>(std::ceil((x - 0.1) / 0.1)); // (0.1, 0.2] -> 1, ..., (1.4, 1.5] -> 14
464+
int encoded = static_cast<int>(std::ceil((x - DCAEncodingStep) / DCAEncodingStep)); // (0.1, 0.2] -> 1, ..., (1.4, 1.5] -> 14
457465
if (encoded < 1)
458466
encoded = 1;
459-
if (encoded > 14)
460-
encoded = 15;
467+
if (encoded > MaxRegularDCAFlag)
468+
encoded = OverflowDCAFlag;
461469
return static_cast<uint8_t>(encoded);
462470
}
463471

@@ -656,9 +664,9 @@ DECLARE_SOA_DYNAMIC_COLUMN(Phi, phi,
656664
return RecoDecay::phi(static_cast<float>(px1000) / 1000.f,
657665
static_cast<float>(py1000) / 1000.f);
658666
});
659-
DECLARE_SOA_DYNAMIC_COLUMN(TPCNSigma, tpcNSigma,
667+
DECLARE_SOA_DYNAMIC_COLUMN(TpcNSigma, tpcNSigma,
660668
[](uint8_t pidNSigmaFlag) { return PidNSigma::getTPCNSigma(pidNSigmaFlag); });
661-
DECLARE_SOA_DYNAMIC_COLUMN(TOFNSigma, tofNSigma,
669+
DECLARE_SOA_DYNAMIC_COLUMN(TofNSigma, tofNSigma,
662670
[](uint8_t pidNSigmaFlag, uint8_t trackFlags) -> float {
663671
const bool hasTOF = resodaughter::ResoTrackFlags::checkFlag(trackFlags, resodaughter::ResoTrackFlags::kHasTOF);
664672
return PidNSigma::getTOFNSigma(pidNSigmaFlag, hasTOF);
@@ -760,8 +768,8 @@ DECLARE_SOA_TABLE(ResoUltraMicroTracks, "AOD", "RESOULTRAMTRK",
760768
resoultramicrodaughter::Pt<resoultramicrodaughter::Px1000, resoultramicrodaughter::Py1000>,
761769
resoultramicrodaughter::Eta<resoultramicrodaughter::Px1000, resoultramicrodaughter::Py1000, resoultramicrodaughter::Pz1000>,
762770
resoultramicrodaughter::Phi<resoultramicrodaughter::Px1000, resoultramicrodaughter::Py1000>,
763-
resoultramicrodaughter::TPCNSigma<resoultramicrodaughter::PidNSigmaFlag>,
764-
resoultramicrodaughter::TOFNSigma<resoultramicrodaughter::PidNSigmaFlag, resodaughter::TrackFlags>,
771+
resoultramicrodaughter::TpcNSigma<resoultramicrodaughter::PidNSigmaFlag>,
772+
resoultramicrodaughter::TofNSigma<resoultramicrodaughter::PidNSigmaFlag, resodaughter::TrackFlags>,
765773
resoultramicrodaughter::DcaXY<resoultramicrodaughter::TrackSelectionFlags>,
766774
resoultramicrodaughter::DcaZ<resoultramicrodaughter::TrackSelectionFlags>,
767775
resodaughter::PassedITSRefit<resodaughter::TrackFlags>,

0 commit comments

Comments
 (0)