Skip to content

Commit ab8043d

Browse files
committed
linter fixes
1 parent e70b10a commit ab8043d

3 files changed

Lines changed: 55 additions & 47 deletions

File tree

PWGCF/DataModel/CorrelationsDerived.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ using CFMcCollisionWithExtra = CFMcCollisionsWithExtra::iterator;
4040

4141
namespace cfmcparticle
4242
{
43-
DECLARE_SOA_INDEX_COLUMN(CFMcCollision, cfMcCollision); //! Index to reduced MC collision
43+
DECLARE_SOA_INDEX_COLUMN(CFMcCollision, cfMcCollision); //! Index to reduced MC collision; o2-linter: disable=name/o2-column (preserve the established derived-table API)
4444
DECLARE_SOA_COLUMN(Pt, pt, float); //! pT (GeV/c)
4545
DECLARE_SOA_COLUMN(Eta, eta, float); //! Pseudorapidity
4646
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi angle
@@ -58,7 +58,7 @@ using CFMcParticle = CFMcParticles::iterator;
5858
namespace cfmultiplicity
5959
{
6060
DECLARE_SOA_COLUMN(Multiplicity, multiplicity, float);
61-
DECLARE_SOA_COLUMN(Estimator, multiplicityEstimator, uint8_t); //! Source used for the multiplicity value
61+
DECLARE_SOA_COLUMN(MultiplicityEstimator, multiplicityEstimator, uint8_t); //! Source used for the multiplicity value
6262
enum EstimatorType : uint8_t {
6363
Tracks,
6464
FT0M,
@@ -71,13 +71,13 @@ enum EstimatorType : uint8_t {
7171
MCParticles,
7272
};
7373
} // namespace cfmultiplicity
74-
DECLARE_SOA_TABLE(CFMultiplicities, "AOD", "CFMULTIPLICITY", cfmultiplicity::Multiplicity, cfmultiplicity::Estimator);
74+
DECLARE_SOA_TABLE(CFMultiplicities, "AOD", "CFMULTIPLICITY", cfmultiplicity::Multiplicity, cfmultiplicity::MultiplicityEstimator);
7575

7676
using CFMultiplicity = CFMultiplicities::iterator;
7777

7878
namespace cfcollision
7979
{
80-
DECLARE_SOA_INDEX_COLUMN(CFMcCollision, cfMcCollision); //! Index to reduced MC collision
80+
DECLARE_SOA_INDEX_COLUMN(CFMcCollision, cfMcCollision); //! Index to reduced MC collision; o2-linter: disable=name/o2-column (preserve the established derived-table API)
8181
DECLARE_SOA_COLUMN(Multiplicity, multiplicity, float); //! Centrality/multiplicity value
8282
} // namespace cfcollision
8383
DECLARE_SOA_TABLE(CFCollisions, "AOD", "CFCOLLISION", //! Reduced collision table
@@ -103,8 +103,8 @@ using CFCollisionWithExtra = CFCollisionsWithExtra::iterator;
103103

104104
namespace cftrack
105105
{
106-
DECLARE_SOA_INDEX_COLUMN(CFCollision, cfCollision); //! Index to collision
107-
DECLARE_SOA_INDEX_COLUMN(CFMcParticle, cfMCParticle); //! Index to MC particle
106+
DECLARE_SOA_INDEX_COLUMN(CFCollision, cfCollision); //! Index to collision; o2-linter: disable=name/o2-column (preserve the established derived-table API)
107+
DECLARE_SOA_INDEX_COLUMN(CFMcParticle, cfMCParticle); //! Index to MC particle; o2-linter: disable=name/o2-column (preserve the established derived-table API)
108108
DECLARE_SOA_COLUMN(Pt, pt, float); //! pT (GeV/c)
109109
DECLARE_SOA_COLUMN(Eta, eta, float); //! Pseudorapidity
110110
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi angle
@@ -169,8 +169,8 @@ using CFMcParticleRef = CFMcParticleRefs::iterator;
169169

170170
namespace cf2prongtrack
171171
{
172-
DECLARE_SOA_INDEX_COLUMN_FULL(CFTrackProng0, cfTrackProng0, int, CFTracks, "_0"); //! Index to prong 1 CFTrack
173-
DECLARE_SOA_INDEX_COLUMN_FULL(CFTrackProng1, cfTrackProng1, int, CFTracks, "_1"); //! Index to prong 2 CFTrack
172+
DECLARE_SOA_INDEX_COLUMN_FULL(CFTrackProng0, cfTrackProng0, int, CFTracks, "_0"); //! Index to prong 1 CFTrack; o2-linter: disable=name/o2-column (preserve the established derived-table API)
173+
DECLARE_SOA_INDEX_COLUMN_FULL(CFTrackProng1, cfTrackProng1, int, CFTracks, "_1"); //! Index to prong 2 CFTrack; o2-linter: disable=name/o2-column (preserve the established derived-table API)
174174
DECLARE_SOA_COLUMN(Pt, pt, float); //! pT (GeV/c)
175175
DECLARE_SOA_COLUMN(Eta, eta, float); //! Pseudorapidity
176176
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi angle
@@ -223,8 +223,8 @@ using CF2ProngTrackml = CF2ProngTrackmls::iterator;
223223

224224
namespace cf2prongmcpart
225225
{
226-
DECLARE_SOA_INDEX_COLUMN_FULL(CFParticleDaugh0, cfParticleDaugh0, int, CFMcParticles, "_0"); //! Index to prong 1 CFMcParticle
227-
DECLARE_SOA_INDEX_COLUMN_FULL(CFParticleDaugh1, cfParticleDaugh1, int, CFMcParticles, "_1"); //! Index to prong 2 CFMcParticle
226+
DECLARE_SOA_INDEX_COLUMN_FULL(CFParticleDaugh0, cfParticleDaugh0, int, CFMcParticles, "_0"); //! Index to prong 1 CFMcParticle; o2-linter: disable=name/o2-column (preserve the established derived-table API)
227+
DECLARE_SOA_INDEX_COLUMN_FULL(CFParticleDaugh1, cfParticleDaugh1, int, CFMcParticles, "_1"); //! Index to prong 2 CFMcParticle; o2-linter: disable=name/o2-column (preserve the established derived-table API)
228228
DECLARE_SOA_COLUMN(Decay, decay, uint8_t); //! Particle decay and flags
229229
DECLARE_SOA_DYNAMIC_COLUMN(McDecay, mcDecay, [](uint8_t decay) -> uint8_t { return decay & 0x3f; }); //! MC particle decay
230230
enum ParticleDecayFlags {

PWGCF/TableProducer/filterCorrelations.cxx

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12+
// o2-linter: disable=name/workflow-file (historic file contains several table-producer tasks)
1213
#include "PWGCF/DataModel/CorrelationsDerived.h"
1314

1415
#include "Common/CCDB/EventSelectionParams.h"
@@ -151,6 +152,7 @@ struct FilterCF {
151152

152153
// Own local histograms independently of their input file. CCDB owns its objects.
153154
std::unique_ptr<THn> localMultiplicityEfficiency;
155+
static constexpr int MultiplicityEfficiencyDimensions = 4;
154156

155157
// persistent caches
156158
std::vector<bool> mcReconstructedCache;
@@ -167,8 +169,13 @@ struct FilterCF {
167169
}
168170
if (cfgLocalEfficiency == 1) {
169171
std::unique_ptr<TFile> file(TFile::Open(cfgEfficiencyMultiplicity.value.c_str(), "READ"));
170-
if (!file || file->IsZombie()) {
172+
if (!file) {
171173
LOGF(fatal, "Could not open multiplicity efficiency file %s", cfgEfficiencyMultiplicity.value.c_str());
174+
return;
175+
}
176+
if (file->IsZombie()) {
177+
LOGF(fatal, "Multiplicity efficiency file %s is invalid", cfgEfficiencyMultiplicity.value.c_str());
178+
return;
172179
}
173180
auto* efficiency = dynamic_cast<THn*>(file->Get("ccdb_object"));
174181
validateMultiplicityEfficiency(efficiency);
@@ -194,31 +201,31 @@ struct FilterCF {
194201
}
195202

196203
template <typename TCollision>
197-
bool keepCollision(TCollision& collision)
204+
bool keepCollision(const TCollision& collision)
198205
{
199206
bool isMultSelected = false;
200207
if (collision.multiplicity() >= cfgMinMultiplicity)
201208
isMultSelected = true;
202209

203210
if (cfgTrigger == 0) {
204211
return true;
205-
} else if (cfgTrigger == 7) {
212+
} else if (cfgTrigger == 7) { // o2-linter: disable=magic-number (documented legacy trigger-selection code)
206213
return isMultSelected && collision.alias_bit(kINT7) && collision.sel7();
207-
} else if (cfgTrigger == 8) {
214+
} else if (cfgTrigger == 8) { // o2-linter: disable=magic-number (documented legacy trigger-selection code)
208215
return isMultSelected && collision.sel8();
209-
} else if (cfgTrigger == 9) { // relevant only for Pb-Pb
216+
} else if (cfgTrigger == 9) { // relevant only for Pb-Pb; o2-linter: disable=magic-number (documented legacy trigger-selection code)
210217
return isMultSelected && collision.sel8() && collision.selection_bit(aod::evsel::kNoSameBunchPileup) && collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) && collision.selection_bit(aod::evsel::kIsGoodITSLayersAll);
211-
} else if (cfgTrigger == 10) { // TVX trigger only (sel8 selection before April, 2024)
218+
} else if (cfgTrigger == 10) { // TVX trigger only (sel8 selection before April, 2024); o2-linter: disable=magic-number (documented legacy trigger-selection code)
212219
return isMultSelected && collision.selection_bit(aod::evsel::kIsTriggerTVX);
213-
} else if (cfgTrigger == 11) { // sel8 selection for MC
220+
} else if (cfgTrigger == 11) { // sel8 selection for MC; o2-linter: disable=magic-number (documented legacy trigger-selection code)
214221
return isMultSelected && collision.selection_bit(aod::evsel::kIsTriggerTVX) && collision.selection_bit(aod::evsel::kNoTimeFrameBorder);
215-
} else if (cfgTrigger == 12) { // relevant only for Pb-Pb with occupancy cuts and rejection of the collisions which have other events nearby
222+
} else if (cfgTrigger == 12) { // relevant only for Pb-Pb with occupancy cuts and rejection of nearby collisions; o2-linter: disable=magic-number (documented legacy trigger-selection code)
216223
int occupancy = collision.trackOccupancyInTimeRange();
217224
if (occupancy >= cfgMinOcc && occupancy < cfgMaxOcc)
218225
return isMultSelected && collision.sel8() && collision.selection_bit(aod::evsel::kNoSameBunchPileup) && collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) && collision.selection_bit(aod::evsel::kNoCollInTimeRangeStandard) && collision.selection_bit(aod::evsel::kIsGoodITSLayersAll);
219226
else
220227
return false;
221-
} else if (cfgTrigger == 13) { // relevant for pO/OO/NeNe --recommended by Physics Board on 27.01.2026
228+
} else if (cfgTrigger == 13) { // relevant for pO/OO/NeNe, recommended by Physics Board on 27.01.2026; o2-linter: disable=magic-number (documented legacy trigger-selection code)
222229
return isMultSelected && collision.sel8() && collision.selection_bit(aod::evsel::kNoSameBunchPileup) && collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV);
223230
}
224231
return false;
@@ -231,18 +238,18 @@ struct FilterCF {
231238
{
232239
o2::aod::ITSResponse itsResponse;
233240

234-
if (ITSProtonselection && candidate.pt() <= 0.6 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(candidate) > nsigmaCutITSProton)) {
241+
if (ITSProtonselection && candidate.pt() <= 0.6 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(candidate) > nsigmaCutITSProton)) { // o2-linter: disable=magic-number (established proton PID momentum boundary)
235242
return false;
236243
}
237-
if (ITSProtonselection && candidate.pt() > 0.6 && candidate.pt() <= 0.8 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(candidate) > nsigmaCutITSProton)) {
244+
if (ITSProtonselection && candidate.pt() > 0.6 && candidate.pt() <= 0.8 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(candidate) > nsigmaCutITSProton)) { // o2-linter: disable=magic-number (established proton PID momentum boundaries)
238245
return false;
239246
}
240247

241248
if (candidate.hasTOF()) {
242-
if (candidate.pt() < 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPCProton) {
249+
if (candidate.pt() < 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPCProton) { // o2-linter: disable=magic-number (established proton PID momentum boundary)
243250
return true;
244251
}
245-
if (candidate.p() >= 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPCProton && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOFProton) {
252+
if (candidate.p() >= 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPCProton && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOFProton) { // o2-linter: disable=magic-number (established proton PID momentum boundary)
246253
return true;
247254
}
248255
} else {
@@ -296,7 +303,7 @@ struct FilterCF {
296303
}
297304
}
298305
return trackType;
299-
} else if (cfgTrackSelection == 2) {
306+
} else if (cfgTrackSelection == 2) { // o2-linter: disable=magic-number (documented track-selection mode)
300307
uint8_t trackType = 0;
301308
if constexpr (HasProtonPID<TTrack>::value) {
302309
if (track.isGlobalTrack() && (track.itsNCls() >= itsnclusters) && (track.tpcNClsCrossedRows() >= tpcncrossedrows) && selectionPIDProton(track)) {
@@ -320,7 +327,7 @@ struct FilterCF {
320327

321328
void validateMultiplicityEfficiency(const THn* efficiency) const
322329
{
323-
if (!efficiency || efficiency->GetNdimensions() != 4) {
330+
if (!efficiency || efficiency->GetNdimensions() != MultiplicityEfficiencyDimensions) {
324331
LOGF(fatal, "Multiplicity efficiency from %s must be a 4D THn with axes (eta, pT, multiplicity, z-vtx)", cfgEfficiencyMultiplicity.value.c_str());
325332
}
326333
}
@@ -358,9 +365,9 @@ struct FilterCF {
358365

359366
// The map contains RecoAll / MC, not inverse-efficiency weights.
360367
// Keep the original estimator as the map coordinate, including for centrality.
361-
const std::array<double, 4> values{track.eta(), track.pt(), collision.multiplicity(), collision.posZ()};
362-
std::array<int, 4> bins{};
363-
for (int axis = 0; axis < 4; ++axis) {
368+
const std::array<double, MultiplicityEfficiencyDimensions> values{track.eta(), track.pt(), collision.multiplicity(), collision.posZ()};
369+
std::array<int, MultiplicityEfficiencyDimensions> bins{};
370+
for (int axis = 0; axis < MultiplicityEfficiencyDimensions; ++axis) {
364371
auto* efficiencyAxis = efficiency->GetAxis(axis);
365372
bins[axis] = efficiencyAxis->FindFixBin(values[axis]);
366373
if (!std::isfinite(values[axis]) || bins[axis] < 1 || bins[axis] > efficiencyAxis->GetNbins()) {
@@ -419,7 +426,7 @@ struct FilterCF {
419426

420427
if (cfgTransientTables)
421428
outputCollRefs(collision.globalIndex());
422-
for (auto& track : tracks) {
429+
for (const auto& track : tracks) {
423430
float maxDCAxy = getMaxDCAxy(track.pt());
424431
if ((std::abs(track.dcaXY()) > maxDCAxy) || (std::abs(track.dcaZ()) > dcazmax)) {
425432
continue;
@@ -504,7 +511,7 @@ struct FilterCF {
504511
}
505512

506513
// PASS 1 on collisions: check which particles are kept
507-
for (auto& collision : allCollisions) {
514+
for (const auto& collision : allCollisions) {
508515
auto groupedTracks = tracks.sliceBy(perCollision, collision.globalIndex());
509516
if (cfgVerbosity > 0) {
510517
LOGF(info, "processMC: Tracks for collision %d: %d | Vertex: %.1f (%d) | INT7: %d", collision.globalIndex(), groupedTracks.size(), collision.posZ(), collision.flags(), collision.sel7());
@@ -514,14 +521,14 @@ struct FilterCF {
514521
continue;
515522
}
516523

517-
for (auto& track : groupedTracks) {
524+
for (const auto& track : groupedTracks) {
518525
if (track.has_mcParticle()) {
519526
mcReconstructedCache[track.mcParticleId()] = true;
520527
}
521528
}
522529
}
523530

524-
for (auto& mcCollision : mcCollisions) {
531+
for (const auto& mcCollision : mcCollisions) {
525532
auto particles = allParticles.sliceBy(perMcCollision, mcCollision.globalIndex());
526533

527534
if (cfgVerbosity > 0) {
@@ -530,7 +537,7 @@ struct FilterCF {
530537

531538
// Store selected MC particles and MC collisions
532539
int multiplicity = 0;
533-
for (auto& particle : particles) {
540+
for (const auto& particle : particles) {
534541
int8_t sign = 0;
535542
TParticlePDG* pdgparticle = pdg->GetParticle(particle.pdgCode());
536543
if (pdgparticle != nullptr) {
@@ -566,7 +573,7 @@ struct FilterCF {
566573
}
567574

568575
// PASS 2 on collisions: store collisions and tracks
569-
for (auto& collision : allCollisions) {
576+
for (const auto& collision : allCollisions) {
570577
auto groupedTracks = tracks.sliceBy(perCollision, collision.globalIndex());
571578
if (cfgVerbosity > 0) {
572579
LOGF(info, "processMC: Tracks for collision %d: %d | Vertex: %.1f (%d) | INT7: %d", collision.globalIndex(), groupedTracks.size(), collision.posZ(), collision.flags(), collision.sel7());
@@ -602,7 +609,7 @@ struct FilterCF {
602609
if (cfgTransientTables)
603610
outputCollRefs(collision.globalIndex());
604611

605-
for (auto& track : groupedTracks) {
612+
for (const auto& track : groupedTracks) {
606613
int mcParticleId = track.mcParticleId();
607614
if (mcParticleId >= 0) {
608615
mcParticleId = mcParticleLabelsCache[track.mcParticleId()];
@@ -657,7 +664,7 @@ struct FilterCF {
657664
void processMCGen(McCollisionsWithHepMC::iterator const& mcCollision, aod::McParticles const& particles)
658665
{
659666
float multiplicity = 0.0f;
660-
for (auto& particle : particles) {
667+
for (const auto& particle : particles) {
661668
if (!particle.isPhysicalPrimary() || std::abs(particle.eta()) > cfgCutMCEta || particle.pt() < cfgCutMCPt)
662669
continue;
663670
int8_t sign = 0;
@@ -728,55 +735,55 @@ struct MultiplicitySelector {
728735

729736
void processFT0M(aod::CentFT0Ms const& centralities)
730737
{
731-
for (auto& c : centralities) {
738+
for (const auto& c : centralities) {
732739
output(c.centFT0M(), aod::cfmultiplicity::FT0M);
733740
}
734741
}
735742
PROCESS_SWITCH(MultiplicitySelector, processFT0M, "Select FT0M centrality as multiplicity", false);
736743

737744
void processFT0C(aod::CentFT0Cs const& centralities)
738745
{
739-
for (auto& c : centralities) {
746+
for (const auto& c : centralities) {
740747
output(c.centFT0C(), aod::cfmultiplicity::FT0C);
741748
}
742749
}
743750
PROCESS_SWITCH(MultiplicitySelector, processFT0C, "Select FT0C centrality as multiplicity", false);
744751

745752
void processFT0CVariant1(aod::CentFT0CVariant1s const& centralities)
746753
{
747-
for (auto& c : centralities) {
754+
for (const auto& c : centralities) {
748755
output(c.centFT0CVariant1(), aod::cfmultiplicity::FT0CVariant1);
749756
}
750757
}
751758
PROCESS_SWITCH(MultiplicitySelector, processFT0CVariant1, "Select FT0CVariant1 centrality as multiplicity", false);
752759

753760
void processFT0CVariant2(aod::CentFT0CVariant2s const& centralities)
754761
{
755-
for (auto& c : centralities) {
762+
for (const auto& c : centralities) {
756763
output(c.centFT0CVariant2(), aod::cfmultiplicity::FT0CVariant2);
757764
}
758765
}
759766
PROCESS_SWITCH(MultiplicitySelector, processFT0CVariant2, "Select FT0CVariant2 centrality as multiplicity", false);
760767

761768
void processFT0A(aod::CentFT0As const& centralities)
762769
{
763-
for (auto& c : centralities) {
770+
for (const auto& c : centralities) {
764771
output(c.centFT0A(), aod::cfmultiplicity::FT0A);
765772
}
766773
}
767774
PROCESS_SWITCH(MultiplicitySelector, processFT0A, "Select FT0A centrality as multiplicity", false);
768775

769776
void processCentNGlobal(aod::CentNGlobals const& centralities)
770777
{
771-
for (auto& c : centralities) {
778+
for (const auto& c : centralities) {
772779
output(c.centNGlobal(), aod::cfmultiplicity::CentNGlobal);
773780
}
774781
}
775782
PROCESS_SWITCH(MultiplicitySelector, processCentNGlobal, "Select CentNGlobal centrality as multiplicity", false);
776783

777784
void processRun2V0M(aod::CentRun2V0Ms const& centralities)
778785
{
779-
for (auto& c : centralities) {
786+
for (const auto& c : centralities) {
780787
output(c.centRun2V0M(), aod::cfmultiplicity::Run2V0M);
781788
}
782789
}

0 commit comments

Comments
 (0)