Skip to content

Commit 1393544

Browse files
committed
Merge remote-tracking branch 'upstream/master' into spincorr_pairmass
2 parents c7b21f0 + a980e15 commit 1393544

Some content is hidden

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

43 files changed

+2161
-810
lines changed

.clang-tidy

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
CheckOptions:
2-
- { key: CheckPathRegex, value: ".*/O2/.*" }
32
# Naming conventions
43
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
54
- { key: readability-identifier-naming.ClassMemberPrefix, value: m }
65
- { key: readability-identifier-naming.ConceptCase, value: CamelCase }
76
- { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase }
8-
- { key: readability-identifier-naming.ConstexprVariableIgnoredRegexp, value: "^k[A-Z].*$" } # Allow "k" prefix.
7+
- { key: readability-identifier-naming.ConstexprVariableIgnoredRegexp, value: "^k[A-Z][a-zA-Z0-9]*$" } # Allow "k" prefix.
98
- { key: readability-identifier-naming.EnumCase, value: CamelCase }
109
- { key: readability-identifier-naming.EnumConstantCase, value: CamelCase }
11-
- { key: readability-identifier-naming.EnumConstantIgnoredRegexp, value: "^k[A-Z].*$" } # Allow "k" prefix.
10+
- { key: readability-identifier-naming.EnumConstantIgnoredRegexp, value: "^k?[A-Z][a-zA-Z0-9_]*$" } # Allow "k" prefix and underscores.
1211
- { key: readability-identifier-naming.FunctionCase, value: camelBack }
1312
- { key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }
14-
- { key: readability-identifier-naming.MacroDefinitionIgnoredRegexp, value: "^[A-Z]+(_[A-Z]+)*_$" } # Allow the trailing underscore in header guards.
13+
- { key: readability-identifier-naming.MacroDefinitionIgnoredRegexp, value: "^[A-Z][A-Z0-9_]*_$" } # Allow the trailing underscore in header guards.
1514
- { key: readability-identifier-naming.MemberCase, value: camelBack }
1615
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
1716
- { key: readability-identifier-naming.ParameterCase, value: camelBack }

.mega-linter.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,6 @@ PYTHON_PYRIGHT_CONFIG_FILE: pyproject.toml
3939
PYTHON_RUFF_CONFIG_FILE: pyproject.toml
4040
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"]
4141
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"]
42+
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"]
4243
CPP_CPPCHECK_ARGUMENTS: --language=c++ --std=c++20 --check-level=exhaustive --suppressions-list=cppcheck_config
4344
REPOSITORY_GITLEAKS_PR_COMMITS_SCAN: true

Common/Tasks/qaMuon.cxx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2591,8 +2591,15 @@ struct muonQa {
25912591
double mass = GetMuMuInvariantMass(fgValuesMuonPV1, fgValuesMuonPV2);
25922592
double pT = GetMuMuPt(fgValuesMuonPV1, fgValuesMuonPV2);
25932593
double yPair = GetMuMuRap(fgValuesMuonPV1, fgValuesMuonPV2);
2594-
double dcaXPair = muonPosPV.dcaX - muonNegPV.dcaX;
2595-
double dcaYPair = muonPosPV.dcaY - muonNegPV.dcaY;
2594+
double dcaXPair;
2595+
double dcaYPair;
2596+
if (configRealign.fDoRealign) {
2597+
dcaXPair = muonPos.dcaX - muonNeg.dcaX;
2598+
dcaYPair = muonPos.dcaY - muonNeg.dcaY;
2599+
} else {
2600+
dcaXPair = muonPosPV.dcaX - muonNegPV.dcaX;
2601+
dcaYPair = muonPosPV.dcaY - muonNegPV.dcaY;
2602+
}
25962603
// mass cuts only used for DCA of Jpsi candidates
25972604
double minJpsiMass = 2.8;
25982605
double maxJpsiMass = 3.4;

DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,8 @@ struct DerivedDataCreatorD0Calibration {
104104
std::string prefix = "ml";
105105
} cfgMl;
106106

107-
using TracksWCovExtraPid = soa::Join<aod::Tracks, aod::TrackToTmo, aod::TrackToTracksQA, aod::TracksCov, aod::TracksExtra, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa>;
107+
using TracksWCovExtraPid = soa::Join<aod::Tracks, aod::TrackToTmo, aod::TracksCov, aod::TracksExtra, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa>;
108+
using TracksWCovExtraPidAndQa = soa::Join<aod::Tracks, aod::TrackToTmo, aod::TrackToTracksQA, aod::TracksCov, aod::TracksExtra, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa>;
108109
using CollisionsWEvSel = soa::Join<aod::Collisions, aod::CentFT0Cs, aod::EvSels>;
109110
using TrackMeanOccs = soa::Join<aod::TmoTrackIds, aod::TmoPrim, aod::TmoT0V0, aod::TmoRT0V0Prim, aod::TwmoPrim, aod::TwmoT0V0, aod::TwmoRT0V0Prim>;
110111

@@ -169,10 +170,10 @@ struct DerivedDataCreatorD0Calibration {
169170
}
170171

171172
// main function
172-
template <bool withTrackQa, typename TTrackQa>
173+
template <bool withTrackQa, typename TTrackQa, typename TTracks>
173174
void runDataCreation(CollisionsWEvSel const& collisions,
174175
aod::TrackAssoc const& trackIndices,
175-
TracksWCovExtraPid const&,
176+
TTracks const&,
176177
aod::BCsWithTimestamps const&,
177178
TrackMeanOccs const&,
178179
TTrackQa const&)
@@ -203,7 +204,7 @@ struct DerivedDataCreatorD0Calibration {
203204

204205
auto groupedTrackIndices = trackIndices.sliceBy(trackIndicesPerCollision, collision.globalIndex());
205206
for (auto const& trackIndexPos : groupedTrackIndices) {
206-
auto trackPos = trackIndexPos.template track_as<TracksWCovExtraPid>();
207+
auto trackPos = trackIndexPos.template track_as<TTracks>();
207208
// track selections
208209
if (trackPos.sign() < 0) { // first positive track
209210
continue;
@@ -239,7 +240,7 @@ struct DerivedDataCreatorD0Calibration {
239240
}
240241

241242
for (auto const& trackIndexNeg : groupedTrackIndices) {
242-
auto trackNeg = trackIndexNeg.template track_as<TracksWCovExtraPid>();
243+
auto trackNeg = trackIndexNeg.template track_as<TTracks>();
243244
// track selections
244245
if (trackNeg.sign() > 0) { // second negative track
245246
continue;
@@ -484,7 +485,7 @@ struct DerivedDataCreatorD0Calibration {
484485
uint8_t tmoRobustT0V0PrimUnfm80{0u};
485486
uint8_t twmoRobustT0V0PrimUnfm80{0u};
486487
if (trackPos.has_tmo()) {
487-
auto tmoFromTrack = trackPos.tmo_as<TrackMeanOccs>(); // obtain track mean occupancies
488+
auto tmoFromTrack = trackPos.template tmo_as<TrackMeanOccs>(); // obtain track mean occupancies
488489
tmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoPrimUnfm80());
489490
tmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFV0AUnfm80());
490491
tmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0AUnfm80());
@@ -649,7 +650,7 @@ struct DerivedDataCreatorD0Calibration {
649650
uint8_t tmoRobustT0V0PrimUnfm80{0u};
650651
uint8_t twmoRobustT0V0PrimUnfm80{0u};
651652
if (trackNeg.has_tmo()) {
652-
auto tmoFromTrack = trackNeg.tmo_as<TrackMeanOccs>(); // obtain track mean occupancies
653+
auto tmoFromTrack = trackNeg.template tmo_as<TrackMeanOccs>(); // obtain track mean occupancies
653654
tmoPrimUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoPrimUnfm80());
654655
tmoFV0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFV0AUnfm80());
655656
tmoFT0AUnfm80 = getCompressedOccupancy(tmoFromTrack.tmoFT0AUnfm80());
@@ -835,7 +836,7 @@ struct DerivedDataCreatorD0Calibration {
835836
// process functions
836837
void processWithTrackQa(CollisionsWEvSel const& collisions,
837838
aod::TrackAssoc const& trackIndices,
838-
TracksWCovExtraPid const& tracks,
839+
TracksWCovExtraPidAndQa const& tracks,
839840
aod::BCsWithTimestamps const& bcs,
840841
TrackMeanOccs const& occ,
841842
aod::TracksQAVersion const& trackQa)

PWGCF/FemtoUniverse/TableProducer/femtoUniverseProducerMCTruthTask.cxx

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ struct FemtoUniverseProducerMCTruthTask {
106106
Configurable<float> confEtaFilterCut{"confEtaFilterCut", 0.8, "Eta cut for the filtering tracks"};
107107
} ConfFilteringTracks;
108108

109+
// D0/D0bar cuts
110+
Configurable<float> yD0CandGenMax{"yD0CandGenMax", 0.5, "Rapidity cut for the D0/D0bar mesons"};
111+
109112
FemtoUniverseCollisionSelection colCuts;
110113
FemtoUniverseTrackSelection trackCuts;
111114
HistogramRegistry qaRegistry{"QAHistos", {}, OutputObjHandlingPolicy::QAObject};
@@ -162,8 +165,6 @@ struct FemtoUniverseProducerMCTruthTask {
162165
/// if the most open selection criteria are not fulfilled there is no
163166
/// point looking further at the track
164167

165-
if (particle.eta() < -ConfFilteringTracks.confEtaFilterCut || particle.eta() > ConfFilteringTracks.confEtaFilterCut)
166-
continue;
167168
if (particle.pt() < ConfFilteringTracks.confPtLowFilterCut || particle.pt() > ConfFilteringTracks.confPtHighFilterCut)
168169
continue;
169170

@@ -188,6 +189,24 @@ struct FemtoUniverseProducerMCTruthTask {
188189
continue;
189190
}
190191

192+
// check if D0/D0bar mesons pass the rapidity cut
193+
// if pass then saving the orgin of D0/D0bar
194+
// check if tracks (besides D0/D0bar) pass pseudorapidity cut
195+
int8_t origin = -99;
196+
if (std::abs(particle.pdgCode()) == Pdg::kD0) {
197+
if (std::abs(particle.y()) > yD0CandGenMax) {
198+
continue;
199+
} else {
200+
origin = RecoDecay::getCharmHadronOrigin(tracks, particle);
201+
}
202+
} else {
203+
if (std::abs(particle.eta()) > ConfFilteringTracks.confEtaFilterCut) {
204+
continue;
205+
} else {
206+
origin = -99;
207+
}
208+
}
209+
191210
/// check if we end-up with the correct final state using MC info
192211
int8_t sign = 0;
193212
if (std::abs(pdgCode) == Pdg::kD0 && !RecoDecay::isMatchedMCGen(tracks, particle, Pdg::kD0, std::array{+kPiPlus, -kKPlus}, true, &sign)) {
@@ -216,8 +235,8 @@ struct FemtoUniverseProducerMCTruthTask {
216235
pdgCode,
217236
pdgCode,
218237
childIDs,
219-
0,
220-
0);
238+
origin,
239+
-999.);
221240
}
222241
}
223242

PWGCF/FemtoUniverse/TableProducer/femtoUniverseProducerTask.cxx

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -323,9 +323,12 @@ struct FemtoUniverseProducerTask {
323323

324324
// D0/D0bar mesons
325325
struct : o2::framework::ConfigurableGroup {
326-
Configurable<float> confD0D0barCandEtaCut{"confD0D0barCandEtaCut", 0.8, "max. cand. pseudorapidity"};
326+
Configurable<float> trackD0CandEtaMax{"trackD0CandEtaMax", 0.8, "max. track/D0 cand. pseudorapidity"};
327+
Configurable<double> yD0CandGenMax{"yD0CandGenMax", 0.5, "max. gen. D0 cand. rapidity"};
328+
Configurable<double> yD0CandMax{"yD0CandMax", 0.8, "max. D0 cand. rapidity"};
327329
Configurable<float> trackD0pTGenMin{"trackD0pTGenMin", 0.0, "MC Truth, min. pT for tracks and D0/D0bar cand."};
328330
Configurable<float> trackD0pTGenMax{"trackD0pTGenMax", 24.0, "MC Truth, max. pT for tracks and D0/D0bar cand."};
331+
Configurable<bool> useYCutD0Cand{"useYCutD0Cand", true, "True - apply cut on y of D0 cand./false - apply cut on eta"};
329332
Configurable<bool> storeD0D0barDoubleMassHypo{"storeD0D0barDoubleMassHypo", false, "Store D0/D0bar cand. which pass selection criteria for both, D0 and D0bar"};
330333
Configurable<std::vector<int>> classMlD0D0bar{"classMlD0D0bar", {0, 1, 2}, "Indexes of ML scores to be stored. Three indexes max."};
331334
} ConfD0Selection;
@@ -1484,7 +1487,11 @@ struct FemtoUniverseProducerTask {
14841487
continue;
14851488
}
14861489

1487-
if (std::abs(hfCand.eta()) > ConfD0Selection.confD0D0barCandEtaCut) {
1490+
if (ConfD0Selection.useYCutD0Cand && std::abs(hfHelper.yD0(hfCand)) > ConfD0Selection.yD0CandMax) {
1491+
continue;
1492+
}
1493+
1494+
if (!(ConfD0Selection.useYCutD0Cand) && std::abs(hfCand.eta()) > ConfD0Selection.trackD0CandEtaMax) {
14881495
continue;
14891496
}
14901497

@@ -1603,7 +1610,11 @@ struct FemtoUniverseProducerTask {
16031610
continue;
16041611
}
16051612

1606-
if (std::abs(hfCand.eta()) > ConfD0Selection.confD0D0barCandEtaCut) {
1613+
if (ConfD0Selection.useYCutD0Cand && std::abs(hfHelper.yD0(hfCand)) > ConfD0Selection.yD0CandMax) {
1614+
continue;
1615+
}
1616+
1617+
if (!(ConfD0Selection.useYCutD0Cand) && std::abs(hfCand.eta()) > ConfD0Selection.trackD0CandEtaMax) {
16071618
continue;
16081619
}
16091620

@@ -1729,7 +1740,11 @@ struct FemtoUniverseProducerTask {
17291740
continue;
17301741
}
17311742

1732-
if (std::abs(hfCand.eta()) > ConfD0Selection.confD0D0barCandEtaCut) {
1743+
if (ConfD0Selection.useYCutD0Cand && std::abs(hfHelper.yD0(hfCand)) > ConfD0Selection.yD0CandMax) {
1744+
continue;
1745+
}
1746+
1747+
if (!(ConfD0Selection.useYCutD0Cand) && std::abs(hfCand.eta()) > ConfD0Selection.trackD0CandEtaMax) {
17331748
continue;
17341749
}
17351750

@@ -2118,8 +2133,7 @@ struct FemtoUniverseProducerTask {
21182133
std::vector<int> tmpIDtrack;
21192134

21202135
for (const auto& particle : mcParts) {
2121-
if (particle.eta() < -ConfFilterCuts.confEtaFilterCut || particle.eta() > ConfFilterCuts.confEtaFilterCut)
2122-
continue;
2136+
21232137
if (particle.pt() < ConfD0Selection.trackD0pTGenMin || particle.pt() > ConfD0Selection.trackD0pTGenMax)
21242138
continue;
21252139

@@ -2152,9 +2166,18 @@ struct FemtoUniverseProducerTask {
21522166
/// check if we have D0(bar) → π± K∓
21532167
continue;
21542168
}
2169+
21552170
if (std::abs(particle.pdgCode()) == Pdg::kD0) {
2156-
origin = RecoDecay::getCharmHadronOrigin(mcParts, particle);
2157-
mcGenFlag = particle.flagMcMatchGen();
2171+
if (std::abs(particle.y()) > ConfD0Selection.yD0CandGenMax) {
2172+
continue;
2173+
} else {
2174+
origin = RecoDecay::getCharmHadronOrigin(mcParts, particle);
2175+
mcGenFlag = particle.flagMcMatchGen();
2176+
}
2177+
} else {
2178+
if (std::abs(particle.eta()) > ConfD0Selection.trackD0CandEtaMax) {
2179+
continue;
2180+
}
21582181
}
21592182

21602183
outputParts(outputCollision.lastIndex(),

0 commit comments

Comments
 (0)