Skip to content

Commit df9a8dc

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents a8bc2a6 + 513346f commit df9a8dc

File tree

15 files changed

+658
-308
lines changed

15 files changed

+658
-308
lines changed

Common/TableProducer/Converters/trackQA002Converter.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ using namespace o2::framework;
2020
struct TrackQAConverter002 {
2121
Produces<aod::TracksQA_002> tracksQA_002;
2222

23-
void process000(aod::TracksQA_000 const& tracksQA_002)
23+
void process000(aod::TracksQA_000 const& tracksQA_000)
2424
{
2525
for (const auto& trackQA : tracksQA_000) {
2626
tracksQA_002(
@@ -54,7 +54,7 @@ struct TrackQAConverter002 {
5454
}
5555
PROCESS_SWITCH(TrackQAConverter002, process000, "process v000-to-v002 conversion", false);
5656

57-
void process001(aod::TracksQA_001 const& tracksQA_002)
57+
void process001(aod::TracksQA_001 const& tracksQA_001)
5858
{
5959
for (const auto& trackQA : tracksQA_001) {
6060
tracksQA_002(

PWGCF/FemtoDream/Tasks/femtoDreamTripletTaskTrackTrackV0.cxx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,13 @@ struct femtoDreamTripletTaskTrackTrackV0 {
203203
std::vector<double> tmpVecMult = ConfMultBins;
204204
framework::AxisSpec multAxis = {tmpVecMult, "Multiplicity"};
205205
ThreeBodyQARegistry.add("TripletTaskQA/hSEMultVSGoodTracks", ";Mult;GoodT", kTH2F, {multAxis, {100, 0, 100}});
206-
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleaner", ";posDaughtID; negDaughID", kTH2F, {{100, -10000, 10000}, {100, -10000, 10000}});
207-
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleanerPos", ";primaryTrack; posDaughtID", kTH2F, {{100, -200, 200}, {100, -200, 200}});
208-
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleanerNeg", ";primaryTrack; negDaughtID", kTH2F, {{100, -200, 200}, {100, -200, 200}});
206+
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleaner", ";posDaughtID; negDaughID", kTH2F, {{40, -20, 20}, {40, -20, 20}});
207+
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleanerPos", ";primaryTrack; posDaughtID", kTH2F, {{40, -20, 20}, {40, -20, 20}});
208+
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleanerNeg", ";primaryTrack; negDaughtID", kTH2F, {{40, -20, 20}, {40, -20, 20}});
209+
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleanerPosGlobal", ";primaryTrackGlobal; posDaughtID", kTH2F, {{40, -20, 20}, {40, -20, 20}});
210+
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleanerNegGlobal", ";primaryTrackGlobal; negDaughtID", kTH2F, {{40, -20, 20}, {40, -20, 20}});
211+
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleanerPosAfter", ";primaryTrack; posDaughtID", kTH2F, {{40, -20, 20}, {40, -20, 20}});
212+
ThreeBodyQARegistry.add("TripletTaskQA/hTestPairCleanerNegAfter", ";primaryTrack; negDaughtID", kTH2F, {{40, -20, 20}, {40, -20, 20}});
209213

210214
sameEventCont.init(&resultRegistry, ConfQ3Bins, ConfMultBins, ConfIsMC);
211215
mixedEventCont.init(&resultRegistry, ConfQ3Bins, ConfMultBins, ConfIsMC);
@@ -334,6 +338,10 @@ struct femtoDreamTripletTaskTrackTrackV0 {
334338
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerNeg"), T1.index(), negID);
335339
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerPos"), T2.index(), posID);
336340
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerNeg"), T2.index(), negID);
341+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerPosGlobal"), T1.globalIndex(), posID);
342+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerNegGlobal"), T1.globalIndex(), negID);
343+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerPosGlobal"), T2.globalIndex(), posID);
344+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerNegGlobal"), T2.globalIndex(), negID);
337345
auto Q3 = FemtoDreamMath::getQ3(T1, mMassOne, T2, mMassTwo, V0, mMassThree);
338346
// Close pair rejection
339347
if (ConfIsCPR.value) {
@@ -358,6 +366,10 @@ struct femtoDreamTripletTaskTrackTrackV0 {
358366
if (!pairCleanerTrackV0.isCleanPair(T1, V0, parts)) {
359367
continue;
360368
}
369+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerPosAfter"), T1.index(), posID);
370+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerNegAfter"), T1.index(), negID);
371+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerPosAfter"), T2.index(), posID);
372+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hTestPairCleanerNegAfter"), T2.index(), negID);
361373
// fill inv Mass as a function of Q3 for purity fits
362374
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hMinvSE_Lambda"), Q3, V0.mLambda());
363375
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hMinvSE_AntiLambda"), Q3, V0.mAntiLambda());

PWGCF/FemtoUniverse/Core/FemtoUniverseCascadeSelection.h

Lines changed: 99 additions & 104 deletions
Large diffs are not rendered by default.

PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@
2424
#include <optional>
2525
#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"
2626
#include "Framework/HistogramRegistry.h"
27+
#include "CommonConstants/MathConstants.h"
2728

28-
using namespace o2::framework;
29+
using namespace o2::framework; // o2-linter: disable=using-directive
2930

30-
namespace o2::analysis::femtoUniverse
31+
namespace o2::analysis::femtoUniverse // o2-linter: disable=name/namespace
3132
{
3233

3334
/// \class FemtoUniverseParticleHisto
@@ -50,14 +51,14 @@ class FemtoUniverseParticleHisto
5051
/// \param tempFitVarpTAxis axis object for the pT axis in the pT vs. tempFitVar plots
5152
/// \param tempFitVarAxis axis object for the tempFitVar axis
5253
template <o2::aod::femtouniverseMCparticle::MCType mc, typename T>
53-
void init_base(std::string folderName, std::string tempFitVarAxisTitle, T& tempFitVarpTAxis, T& tempFitVarAxis)
54+
void init_base(std::string folderName, std::string tempFitVarAxisTitle, T& tempFitVarpTAxis, T& tempFitVarAxis) // o2-linter: disable=name/function-variable
5455
{
5556
std::string folderSuffix = static_cast<std::string>(o2::aod::femtouniverseMCparticle::MCTypeName[mc]).c_str();
5657
/// Histograms of the kinematic properties
5758
mHistogramRegistry->add((folderName + folderSuffix + "/hPt").c_str(), "; #it{p}_{T} (GeV/#it{c}); Entries", kTH1F, {{240, 0, 6}});
5859
mHistogramRegistry->add((folderName + folderSuffix + "/hEta").c_str(), "; #eta; Entries", kTH1F, {{200, -1.5, 1.5}});
59-
mHistogramRegistry->add((folderName + folderSuffix + "/hPhi").c_str(), "; #phi; Entries", kTH1F, {{200, 0, 2. * M_PI}});
60-
mHistogramRegistry->add((folderName + folderSuffix + "/hPhiEta").c_str(), "; #phi; #eta", kTH2F, {{200, 0, 2. * M_PI}, {200, -1.5, 1.5}});
60+
mHistogramRegistry->add((folderName + folderSuffix + "/hPhi").c_str(), "; #phi; Entries", kTH1F, {{200, 0, o2::constants::math::TwoPI}});
61+
mHistogramRegistry->add((folderName + folderSuffix + "/hPhiEta").c_str(), "; #phi; #eta", kTH2F, {{200, 0, o2::constants::math::TwoPI}, {200, -1.5, 1.5}});
6162

6263
/// particle specific histogramms for the TempFitVar column in FemtoUniverseParticles
6364
if constexpr (o2::aod::femtouniverseMCparticle::MCType::kRecon == mc) {
@@ -67,7 +68,7 @@ class FemtoUniverseParticleHisto
6768

6869
// comment
6970
template <o2::aod::femtouniverseMCparticle::MCType mc>
70-
void init_debug(std::string folderName)
71+
void init_debug(std::string folderName) // o2-linter: disable=name/function-variable
7172
{
7273
std::string folderSuffix = static_cast<std::string>(o2::aod::femtouniverseMCparticle::MCTypeName[mc]).c_str();
7374
if constexpr (mParticleType == o2::aod::femtouniverseparticle::ParticleType::kTrack || mParticleType == o2::aod::femtouniverseparticle::ParticleType::kV0Child || mParticleType == o2::aod::femtouniverseparticle::ParticleType::kCascadeBachelor || mParticleType == o2::aod::femtouniverseparticle::ParticleType::kMCTruthTrack) {
@@ -107,6 +108,14 @@ class FemtoUniverseParticleHisto
107108
mHistogramRegistry->add((folderName + folderSuffix + "/hInvMassLambda").c_str(), "; M_{#Lambda}; Entries", kTH1F, {{2000, 1.f, 3.f}});
108109
mHistogramRegistry->add((folderName + folderSuffix + "/hInvMassAntiLambda").c_str(), "; M_{#bar{#Lambda}}; Entries", kTH1F, {{2000, 1.f, 3.f}});
109110
mHistogramRegistry->add((folderName + folderSuffix + "/hInvMassLambdaAntiLambda").c_str(), "; M_{#Lambda}; M_{#bar{#Lambda}}", kTH2F, {{2000, 1.f, 3.f}, {2000, 1.f, 3.f}});
111+
} else if constexpr (mParticleType == o2::aod::femtouniverseparticle::ParticleType::kCascade) {
112+
mHistogramRegistry->add((folderName + folderSuffix + "/hDaughDCA").c_str(), "; DCA^{daugh} (cm); Entries", kTH1F, {{1000, 0, 10}});
113+
mHistogramRegistry->add((folderName + folderSuffix + "/hTransRadius").c_str(), "; #it{r}_{xy} (cm); Entries", kTH1F, {{1500, 0, 150}});
114+
mHistogramRegistry->add((folderName + folderSuffix + "/hDecayVtxX").c_str(), "; #it{Vtx}_{x} (cm); Entries", kTH1F, {{2000, 0, 200}});
115+
mHistogramRegistry->add((folderName + folderSuffix + "/hDecayVtxY").c_str(), "; #it{Vtx}_{y} (cm)); Entries", kTH1F, {{2000, 0, 200}});
116+
mHistogramRegistry->add((folderName + folderSuffix + "/hDecayVtxZ").c_str(), "; #it{Vtx}_{z} (cm); Entries", kTH1F, {{2000, 0, 200}});
117+
mHistogramRegistry->add((folderName + folderSuffix + "/hInvMassCascade").c_str(), "; M_{Cascade}; Entries", kTH1F, {{2000, 1.f, 1.8f}});
118+
mHistogramRegistry->add((folderName + folderSuffix + "/hInvMassAntiCascade").c_str(), "; M_{AntiCascade}; Entries", kTH1F, {{2000, 1.f, 1.8f}});
110119
}
111120
}
112121

@@ -118,7 +127,7 @@ class FemtoUniverseParticleHisto
118127
/// \param tempFitVarpTAxis axis object for the pT axis in the pT vs. tempFitVar plots
119128
/// \param tempFitVarAxis axis object for the tempFitVar axis
120129
template <typename T>
121-
void init_MC(std::string folderName, std::string /*tempFitVarAxisTitle*/, T& tempFitVarpTAxis, T& tempFitVarAxis)
130+
void init_MC(std::string folderName, std::string /*tempFitVarAxisTitle*/, T& tempFitVarpTAxis, T& tempFitVarAxis) // o2-linter: disable=name/function-variable
122131
{
123132
/// Particle-type specific histograms
124133
std::string folderSuffix = static_cast<std::string>(o2::aod::femtouniverseMCparticle::MCTypeName[o2::aod::femtouniverseMCparticle::MCType::kTruth]).c_str();
@@ -213,7 +222,7 @@ class FemtoUniverseParticleHisto
213222
/// \tparam T Data type of the particle
214223
/// \param part Particle
215224
template <o2::aod::femtouniverseMCparticle::MCType mc, typename T, typename H>
216-
void fillQA_base(T const& part, H const& histFolder)
225+
void fillQA_base(T const& part, H const& histFolder) // o2-linter: disable=name/function-variable
217226
{
218227
/// Histograms of the kinematic properties
219228
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hPt"), part.pt());
@@ -228,7 +237,7 @@ class FemtoUniverseParticleHisto
228237
}
229238

230239
template <o2::aod::femtouniverseMCparticle::MCType mc, typename T, typename H>
231-
void fillQA_debug(T const& part, H const& histFolder)
240+
void fillQA_debug(T const& part, H const& histFolder) // o2-linter: disable=name/function-variable
232241
{
233242
// Histograms holding further debug information
234243
if constexpr (mParticleType == o2::aod::femtouniverseparticle::ParticleType::kTrack || mParticleType == o2::aod::femtouniverseparticle::ParticleType::kV0Child || mParticleType == o2::aod::femtouniverseparticle::ParticleType::kCascadeBachelor || mParticleType == o2::aod::femtouniverseparticle::ParticleType::kMCTruthTrack) {
@@ -268,6 +277,14 @@ class FemtoUniverseParticleHisto
268277
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hInvMassLambda"), part.mLambda());
269278
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hInvMassAntiLambda"), part.mAntiLambda());
270279
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hInvMassLambdaAntiLambda"), part.mLambda(), part.mAntiLambda());
280+
} else if constexpr (mParticleType == o2::aod::femtouniverseparticle::ParticleType::kCascade) {
281+
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hDaughDCA"), part.daughDCA());
282+
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hTransRadius"), part.transRadius());
283+
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hDecayVtxX"), part.decayVtxX());
284+
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hDecayVtxY"), part.decayVtxY());
285+
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hDecayVtxZ"), part.decayVtxZ());
286+
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hInvMassCascade"), part.mLambda());
287+
mHistogramRegistry->fill(histFolder + HIST(o2::aod::femtouniverseMCparticle::MCTypeName[mc]) + HIST("/hInvMassAntiCascade"), part.mAntiLambda());
271288
}
272289
}
273290

@@ -279,13 +296,13 @@ class FemtoUniverseParticleHisto
279296
/// \param mctruthorigin Origin of the associated mc Truth particle
280297
/// \param pdgcode PDG of the associated mc Truth particle associated to the reconstructed particle part
281298
template <typename T, typename H>
282-
void fillQA_MC(T const& part, int mctruthorigin, int pdgcode, H const& histFolder)
299+
void fillQA_MC(T const& part, int mctruthorigin, int pdgcode, H const& histFolder) // o2-linter: disable=name/function-variable
283300
{
284301
if (mHistogramRegistry) {
285302
mHistogramRegistry->fill(histFolder + HIST("_MC/hPDG"), pdgcode);
286303
mHistogramRegistry->fill(histFolder + HIST("_MC/hOrigin_MC"), mctruthorigin);
287304

288-
if (abs(pdgcode) == mPDG) { // fill this histogramm only for TRUE protons (independently of their origin) for the track purity estimation
305+
if (std::abs(pdgcode) == mPDG) { // fill this histogramm only for TRUE protons (independently of their origin) for the track purity estimation
289306
mHistogramRegistry->fill(histFolder + HIST("_MC/hPt_ReconNoFake"), part.pt());
290307
}
291308

@@ -367,9 +384,9 @@ class FemtoUniverseParticleHisto
367384

368385
private:
369386
HistogramRegistry* mHistogramRegistry; ///< For QA output
370-
static constexpr o2::aod::femtouniverseparticle::ParticleType mParticleType = particleType; ///< Type of the particle under analysis
371-
static constexpr int mFolderSuffixType = suffixType; ///< Counter for the folder suffix specified below
372-
static constexpr std::string_view mFolderSuffix[5] = {"", "_one", "_two", "_pos", "_neg"}; ///< Suffix for the folder name in case of analyses of pairs of the same kind (T-T, V-V, C-C)
387+
static constexpr o2::aod::femtouniverseparticle::ParticleType mParticleType = particleType; ///< Type of the particle under analysis // o2-linter: disable=name/constexpr-constant
388+
static constexpr int mFolderSuffixType = suffixType; ///< Counter for the folder suffix specified below // o2-linter: disable=name/constexpr-constant
389+
static constexpr std::string_view mFolderSuffix[5] = {"", "_one", "_two", "_pos", "_neg"}; ///< Suffix for the folder name in case of analyses of pairs of the same kind (T-T, V-V, C-C) // o2-linter: disable=name/constexpr-constant
373390
int mPDG = 0; ///< PDG code of the selected particle
374391
};
375392
} // namespace o2::analysis::femtoUniverse

0 commit comments

Comments
 (0)