Skip to content

Commit d35cf80

Browse files
authored
Merge branch 'master' into master
2 parents 2188285 + a3e3295 commit d35cf80

348 files changed

Lines changed: 40290 additions & 17569 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-tidy

Lines changed: 142 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,144 @@
1+
---
2+
Checks:
3+
# - clang-analyzer-* # enabled by default
4+
# - clang-diagnostic-* # enabled by default
5+
- -clang-diagnostic-unknown-pragmas
6+
- bugprone-*
7+
- -bugprone-assert-side-effect
8+
- -bugprone-bad-signal-to-kill-thread
9+
- -bugprone-bitwise-pointer-cast
10+
- -bugprone-bool-pointer-implicit-conversion
11+
- -bugprone-compare-pointer-to-member-virtual-function
12+
- -bugprone-crtp-constructor-accessibility
13+
- -bugprone-easily-swappable-parameters # Too sensitive
14+
- -bugprone-forwarding-reference-overload
15+
- -bugprone-implicit-widening-of-multiplication-result # Specific cases irrelevant in this repo
16+
- -bugprone-lambda-function-name
17+
- -bugprone-no-escape
18+
- -bugprone-posix-return
19+
- -bugprone-signal-handler
20+
- -bugprone-signed-char-misuse # Specific use cases. Probably very rare.
21+
- -bugprone-spuriously-wake-up-functions
22+
- -bugprone-suspicious-stringview-data-usage # Probably harmless in this repo
23+
- -bugprone-unused-raii
24+
- cppcoreguidelines-avoid-const-or-ref-data-members
25+
- cppcoreguidelines-avoid-goto
26+
- cppcoreguidelines-avoid-non-const-global-variables
27+
- cppcoreguidelines-init-variables
28+
- cppcoreguidelines-macro-usage
29+
- cppcoreguidelines-misleading-capture-default-by-value
30+
- cppcoreguidelines-missing-std-forward
31+
- cppcoreguidelines-prefer-member-initializer
32+
- cppcoreguidelines-pro-bounds-array-to-pointer-decay
33+
- cppcoreguidelines-pro-type-const-cast
34+
- cppcoreguidelines-pro-type-cstyle-cast
35+
- cppcoreguidelines-pro-type-member-init
36+
- cppcoreguidelines-pro-type-reinterpret-cast
37+
- cppcoreguidelines-pro-type-static-cast-downcast
38+
- cppcoreguidelines-pro-type-union-access
39+
- cppcoreguidelines-rvalue-reference-param-not-moved
40+
- cppcoreguidelines-slicing
41+
- cppcoreguidelines-virtual-class-destructor
42+
- google-default-arguments
43+
# - google-explicit-constructor # triggered for O2 columns
44+
- google-global-names-in-headers
45+
# - misc-const-correctness # to be checked
46+
- misc-header-include-cycle
47+
- misc-include-cleaner
48+
- misc-misplaced-const
49+
- misc-redundant-expression
50+
- misc-unconventional-assign-operator
51+
- misc-unused-alias-decls
52+
- misc-unused-parameters
53+
- misc-unused-using-decls
54+
- modernize-avoid-bind
55+
- modernize-avoid-c-arrays
56+
- modernize-concat-nested-namespaces
57+
- modernize-deprecated-headers
58+
- modernize-make-shared
59+
- modernize-make-unique
60+
- modernize-redundant-void-arg
61+
- modernize-return-braced-init-list
62+
- modernize-use-auto
63+
- modernize-use-default-member-init
64+
- modernize-use-designated-initializers
65+
- modernize-use-equals-default
66+
- modernize-use-equals-delete
67+
- modernize-use-nodiscard
68+
- modernize-use-nullptr
69+
- modernize-use-override
70+
- modernize-use-starts-ends-with
71+
- performance-for-range-copy
72+
- performance-implicit-conversion-in-loop
73+
- performance-inefficient-algorithm
74+
- performance-inefficient-string-concatenation
75+
- performance-inefficient-vector-operation
76+
- performance-move-const-arg
77+
- performance-no-automatic-move
78+
- performance-trivially-destructible
79+
- performance-type-promotion-in-math-fn
80+
- performance-unnecessary-copy-initialization
81+
- performance-unnecessary-value-param # slow
82+
- readability-avoid-unconditional-preprocessor-if
83+
- readability-braces-around-statements
84+
- readability-const-return-type
85+
- readability-container-contains
86+
- readability-container-data-pointer
87+
- readability-container-size-empty
88+
- readability-delete-null-pointer
89+
- readability-duplicate-include
90+
- readability-else-after-return
91+
- readability-enum-initial-value
92+
- readability-implicit-bool-conversion
93+
- readability-inconsistent-declaration-parameter-name
94+
- readability-misplaced-array-index
95+
- readability-non-const-parameter
96+
- readability-redundant-access-specifiers
97+
- readability-redundant-casting
98+
- readability-redundant-control-flow
99+
- readability-redundant-declaration
100+
- readability-redundant-member-init
101+
- readability-redundant-preprocessor
102+
- readability-redundant-string-cstr
103+
- readability-redundant-string-init
104+
- readability-reference-to-constructed-temporary
105+
- readability-simplify-boolean-expr
106+
- readability-static-definition-in-anonymous-namespace
107+
- readability-string-compare
108+
- readability-suspicious-call-argument
109+
# Select which of the enabled checks should be reported as errors instead of warnings.
110+
WarningsAsErrors: >-
111+
*,
112+
-readability-braces-around-statements,
113+
-readability-suspicious-call-argument,
1114
CheckOptions:
115+
modernize-avoid-c-arrays.AllowStringArrays: true
116+
# Common tolerated conversions
117+
bugprone-narrowing-conversions.WarnOnFloatingPointNarrowingConversion: false
118+
bugprone-narrowing-conversions.WarnOnIntegerNarrowingConversion: false
119+
bugprone-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion: false
120+
readability-implicit-bool-conversion.AllowLogicalOperatorConversion: true
121+
readability-implicit-bool-conversion.AllowPointerConditions: true
122+
# Some data model structs are missing some special functions by design.
123+
cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions: true
2124
# Naming conventions
3-
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
4-
- { key: readability-identifier-naming.ClassMemberPrefix, value: m }
5-
- { key: readability-identifier-naming.ConceptCase, value: CamelCase }
6-
- { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase }
7-
- { key: readability-identifier-naming.EnumCase, value: CamelCase }
8-
- { key: readability-identifier-naming.EnumConstantCase, value: CamelCase }
9-
- { key: readability-identifier-naming.EnumConstantIgnoredRegexp, value: "^k?[A-Z][a-zA-Z0-9_]*$" } # Allow "k" prefix and non-trailing underscores in PDG names.
10-
- { key: readability-identifier-naming.FunctionCase, value: camelBack }
11-
- { key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }
12-
- { key: readability-identifier-naming.MacroDefinitionIgnoredRegexp, value: "^[A-Z][A-Z0-9_]*_$" } # Allow the trailing underscore in header guards.
13-
- { key: readability-identifier-naming.MemberCase, value: camelBack }
14-
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
15-
- { key: readability-identifier-naming.ParameterCase, value: camelBack }
16-
- { key: readability-identifier-naming.StructCase, value: CamelCase }
17-
- { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
18-
- { key: readability-identifier-naming.TypeAliasCase, value: CamelCase }
19-
- { key: readability-identifier-naming.TypedefCase, value: CamelCase }
20-
- { key: readability-identifier-naming.TypeTemplateParameterCase, value: CamelCase }
21-
- { key: readability-identifier-naming.VariableCase, value: camelBack }
125+
readability-identifier-naming.ClassCase: CamelCase
126+
readability-identifier-naming.ClassMemberPrefix: m
127+
readability-identifier-naming.ConceptCase: CamelCase
128+
readability-identifier-naming.ConstexprVariableCase: CamelCase
129+
readability-identifier-naming.EnumCase: CamelCase
130+
readability-identifier-naming.EnumConstantCase: CamelCase
131+
readability-identifier-naming.EnumConstantIgnoredRegexp: "^k?[A-Z][a-zA-Z0-9_]*$" # Allow "k" prefix and non-trailing underscores in PDG names.
132+
readability-identifier-naming.FunctionCase: camelBack
133+
readability-identifier-naming.MacroDefinitionCase: UPPER_CASE
134+
readability-identifier-naming.MacroDefinitionIgnoredRegexp: "^[A-Z][A-Z0-9_]*_$" # Allow the trailing underscore in header guards.
135+
readability-identifier-naming.MemberCase: camelBack
136+
readability-identifier-naming.NamespaceCase: lower_case
137+
readability-identifier-naming.ParameterCase: camelBack
138+
readability-identifier-naming.StructCase: CamelCase
139+
readability-identifier-naming.TemplateParameterCase: CamelCase
140+
readability-identifier-naming.TypeAliasCase: CamelCase
141+
readability-identifier-naming.TypedefCase: CamelCase
142+
readability-identifier-naming.TypeTemplateParameterCase: CamelCase
143+
readability-identifier-naming.VariableCase: camelBack
144+
...

.github/workflows/mega-linter.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
steps:
2424
# Git Checkout
2525
- name: Checkout Code
26-
uses: actions/checkout@v6
26+
uses: actions/checkout@v7
2727
with:
2828
# Checkout the HEAD of the PR instead of the merge commit.
2929
ref: ${{ github.event.pull_request.head.sha }}
@@ -32,13 +32,14 @@ jobs:
3232
fetch-depth: 0
3333
# So we can use secrets.ALIBUILD_GITHUB_TOKEN to push later.
3434
persist-credentials: false
35+
allow-unsafe-pr-checkout: true # needed for pull_request_target
3536

3637
# MegaLinter
3738
- name: MegaLinter
3839
id: ml
3940
# You can override MegaLinter flavor used to have faster performances
4041
# More info at https://megalinter.io/flavors/
41-
uses: oxsecurity/megalinter@v9.5.0
42+
uses: oxsecurity/megalinter@v9.6.0
4243
env:
4344
# All available variables are described in documentation:
4445
# https://megalinter.io/configuration/

.github/workflows/o2-linter.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,11 @@ jobs:
3030
echo BRANCH_HEAD="$branch_head" >> "$GITHUB_ENV"
3131
echo BRANCH_BASE="$branch_base" >> "$GITHUB_ENV"
3232
- name: Checkout Code
33-
uses: actions/checkout@v6
33+
uses: actions/checkout@v7
3434
with:
3535
ref: ${{ env.BRANCH_HEAD }}
3636
fetch-depth: 0 # needed to get the full history
37+
allow-unsafe-pr-checkout: true # needed for pull_request_target
3738
- name: Run tests
3839
id: linter
3940
run: |

.mega-linter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ PYTHON_RUFF_CONFIG_FILE: pyproject.toml
4242
CPP_CPPLINT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
4343
CPP_CLANG_FORMAT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
4444
CPP_CPPCHECK_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
45-
CPP_CPPCHECK_ARGUMENTS: --language=c++ --std=c++20 --check-level=exhaustive --suppressions-list=cppcheck_config
45+
CPP_CPPCHECK_ARGUMENTS: --language=c++ --std=c++20 --enable=style --check-level=exhaustive --suppressions-list=cppcheck_suppressions --inline-suppr --force
4646
REPOSITORY_GITLEAKS_PR_COMMITS_SCAN: true
4747
ACTION_ZIZMOR_UNSECURED_ENV_VARIABLES: [GITHUB_TOKEN]

ALICE3/DataModel/OTFStrangeness.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ DECLARE_SOA_INDEX_COLUMN_FULL(PosTrack, posTrack, int, Tracks, "_Pos");
3737
DECLARE_SOA_INDEX_COLUMN_FULL(NegTrack, negTrack, int, Tracks, "_Neg"); //!
3838
DECLARE_SOA_INDEX_COLUMN_FULL(BachTrack, bachTrack, int, Tracks, "_Bach"); //!
3939

40+
DECLARE_SOA_INDEX_COLUMN(McParticle, mcParticle);
41+
4042
// topo vars
4143
DECLARE_SOA_COLUMN(DcaV0Daughters, dcaV0Daughters, float);
4244
DECLARE_SOA_COLUMN(DcaCascadeDaughters, dcaCascadeDaughters, float);
@@ -70,6 +72,9 @@ DECLARE_SOA_TABLE(UpgradeCascades, "AOD", "UPGRADECASCADES",
7072

7173
using UpgradeCascade = UpgradeCascades::iterator;
7274

75+
DECLARE_SOA_TABLE(A3CascadeMcLabels, "AOD", "A3CASCADEMCLABELS",
76+
o2::soa::Index<>, otfcascade::McParticleId);
77+
7378
namespace otfv0
7479
{
7580
DECLARE_SOA_INDEX_COLUMN(Collision, collision); //!
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
///
13+
/// \file collisionExtra.h
14+
/// \author David Dobrigkeit Chinellato
15+
/// \since 11/05/2023
16+
/// \brief Table for ALICE 3 collision-related info
17+
///
18+
19+
#ifndef ALICE3_DATAMODEL_PREFILTERDILEPTON_H_
20+
#define ALICE3_DATAMODEL_PREFILTERDILEPTON_H_
21+
22+
// O2 includes
23+
#include <Framework/AnalysisDataModel.h>
24+
25+
namespace o2::aod
26+
{
27+
28+
namespace dileptonanalysisflags
29+
{
30+
// DECLARE_SOA_COLUMN(IsMCEventSelected, isMCEventSelected, int);
31+
DECLARE_SOA_COLUMN(IsEventCentSelected, isEventCentSelected, int);
32+
DECLARE_SOA_COLUMN(IsTrackPrefilter, isTrackPrefilter, int);
33+
} // namespace dileptonanalysisflags
34+
35+
// DECLARE_SOA_TABLE(EventMCCuts, "AOD", "EVENTMCCUTS", emanalysisflags::IsMCEventSelected);
36+
DECLARE_SOA_TABLE(DiEventCentCuts, "AOD", "DIEVENTCENTCUTS", dileptonanalysisflags::IsEventCentSelected);
37+
DECLARE_SOA_TABLE(DiTrackPrefilter, "AOD", "DITRACKPREFILTER", dileptonanalysisflags::IsTrackPrefilter);
38+
39+
} // namespace o2::aod
40+
41+
#endif // ALICE3_DATAMODEL_PREFILTERDILEPTON_H_

ALICE3/TableProducer/alice3MulticharmFinder.cxx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,6 @@ struct Alice3MulticharmFinder {
216216
std::array<float, 3> prong0mom;
217217
std::array<float, 3> prong1mom;
218218
std::array<float, o2::track::kLabCovMatSize> parentTrackCovMatrix;
219-
220-
// charm daughters
221-
int nSiliconHitsPiCC;
222-
int nTPCHitsPiCC;
223219
} thisXiccCandidate;
224220

225221
struct ProngInfo {
@@ -714,7 +710,7 @@ struct Alice3MulticharmFinder {
714710

715711
o2::track::TrackParCov xicTrack(thisXicCandidate.xyz, momentumC, thisXicCandidate.parentTrackCovMatrix, +1);
716712
float xicDecayRadius2D = std::hypot(thisXicCandidate.xyz[0], thisXicCandidate.xyz[1]);
717-
if (xicDecayRadius2D < xiccMinDecayRadius) {
713+
if (xicDecayRadius2D < xicMinDecayRadius) {
718714
continue; // do not take if radius too small, likely a primary combination
719715
}
720716

0 commit comments

Comments
 (0)