From 5bd917a3e1de5f29727b0224e5dbb5128f6e7ed9 Mon Sep 17 00:00:00 2001 From: rbailhac Date: Tue, 19 Dec 2023 14:04:55 +0100 Subject: [PATCH 1/9] Add processBarrelOnly functions with Cov and Cent and Mults (#4204) * Add processBarrelOnly functions with Cov and Cent and Mults * fix --- PWGDQ/TableProducer/tableMaker.cxx | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/PWGDQ/TableProducer/tableMaker.cxx b/PWGDQ/TableProducer/tableMaker.cxx index 6e7aacd35eb..8467ab1d360 100644 --- a/PWGDQ/TableProducer/tableMaker.cxx +++ b/PWGDQ/TableProducer/tableMaker.cxx @@ -232,8 +232,8 @@ struct TableMaker { bool enableBarrelHistos = (context.mOptions.get("processFull") || context.mOptions.get("processFullWithCov") || context.mOptions.get("processFullWithCent") || context.mOptions.get("processFullWithCovAndEventFilter") || context.mOptions.get("processFullWithCovMultsAndEventFilter") || - context.mOptions.get("processBarrelOnly") || context.mOptions.get("processBarrelOnlyWithCent") || - context.mOptions.get("processBarrelOnlyWithMults") || + context.mOptions.get("processBarrelOnly") || context.mOptions.get("processBarrelOnlyWithCent") || context.mOptions.get("processBarrelOnlyWithCovWithCent") || + context.mOptions.get("processBarrelOnlyWithMults") || context.mOptions.get("processBarrelOnlyWithCentAndMults") || context.mOptions.get("processBarrelOnlyWithCovWithCentAndMults") || context.mOptions.get("processBarrelOnlyWithCov") || context.mOptions.get("processBarrelOnlyWithEventFilter") || context.mOptions.get("processBarrelOnlyWithMultsAndEventFilter") || context.mOptions.get("processBarrelOnlyWithCovAndEventFilter") || context.mOptions.get("processBarrelOnlyWithDalitzBits") || context.mOptions.get("processBarrelOnlyWithV0Bits") || @@ -1249,6 +1249,13 @@ struct TableMaker { fullSkimming(collision, bcs, tracksBarrel, nullptr, nullptr, nullptr); } + // Produce barrel only tables, with centrality ----------------------------------------------------------------------------------------------- + void processBarrelOnlyWithCovWithCent(MyEventsWithCent::iterator const& collision, aod::BCsWithTimestamps const& bcs, + soa::Filtered const& tracksBarrel) + { + fullSkimming(collision, bcs, tracksBarrel, nullptr, nullptr, nullptr); + } + // Produce barrel only tables, with centrality and multiplicity ------------------------------------------------------------------- void processBarrelOnlyWithCentAndMults(MyEventsWithCentAndMults::iterator const& collision, aod::BCsWithTimestamps const& bcs, soa::Filtered const& tracksBarrel) @@ -1256,6 +1263,13 @@ struct TableMaker { fullSkimming(collision, bcs, tracksBarrel, nullptr, nullptr, nullptr); } + // Produce barrel only tables, with centrality and multiplicity ------------------------------------------------------------------- + void processBarrelOnlyWithCovWithCentAndMults(MyEventsWithCentAndMults::iterator const& collision, aod::BCsWithTimestamps const& bcs, + soa::Filtered const& tracksBarrel) + { + fullSkimming(collision, bcs, tracksBarrel, nullptr, nullptr, nullptr); + } + // Produce barrel tables only, with track cov matrix ---------------------------------------------------------------------------------------- void processBarrelOnlyWithCov(MyEventsWithMults::iterator const& collision, aod::BCsWithTimestamps const& bcs, soa::Filtered const& tracksBarrel) @@ -1485,7 +1499,9 @@ struct TableMaker { PROCESS_SWITCH(TableMaker, processBarrelOnlyWithMultsAndEventFilter, "Build barrel-only DQ skimmed data model, w/ multiplicity, w/ event filter", false); PROCESS_SWITCH(TableMaker, processBarrelOnlyWithCovAndEventFilter, "Build full DQ skimmed data model, w/ track and fwdtrack covariance tables, w/o centrality, w/ event filter", false); PROCESS_SWITCH(TableMaker, processBarrelOnlyWithCent, "Build barrel-only DQ skimmed data model, w/ centrality", false); + PROCESS_SWITCH(TableMaker, processBarrelOnlyWithCovWithCent, "Build barrel-only DQ skimmed data model, w/ centrality and w/ track covariance", false); PROCESS_SWITCH(TableMaker, processBarrelOnlyWithCentAndMults, "Build barrel-only DQ skimmed data model, w/ centrality and multiplicities", false); + PROCESS_SWITCH(TableMaker, processBarrelOnlyWithCovWithCentAndMults, "Build barrel-only DQ skimmed data model, w/ centrality and multiplicities and w/ track covariance", false); PROCESS_SWITCH(TableMaker, processBarrelOnlyWithCov, "Build barrel-only DQ skimmed data model, w/ track cov matrix", false); PROCESS_SWITCH(TableMaker, processBarrelOnly, "Build barrel-only DQ skimmed data model, w/o centrality", false); PROCESS_SWITCH(TableMaker, processMuonOnlyWithCent, "Build muon-only DQ skimmed data model, w/ centrality", false); From 9466df7dda7b45acc908f788b9654cc09efabc33 Mon Sep 17 00:00:00 2001 From: Fabrizio Date: Tue, 19 Dec 2023 14:21:17 +0100 Subject: [PATCH 2/9] PWGHF: Add mass and d0xd0 in B0 reduced tree (#4199) * PWGHF: Add mass and d0xd0 in B0 reduced tree * Add missing column definition --- PWGHF/D2H/Tasks/taskB0Reduced.cxx | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/PWGHF/D2H/Tasks/taskB0Reduced.cxx b/PWGHF/D2H/Tasks/taskB0Reduced.cxx index fe08c538e8a..62ad3ea4056 100644 --- a/PWGHF/D2H/Tasks/taskB0Reduced.cxx +++ b/PWGHF/D2H/Tasks/taskB0Reduced.cxx @@ -38,6 +38,7 @@ namespace hf_cand_b0_lite { DECLARE_SOA_COLUMN(PtProng0, ptProng0, float); //! Transverse momentum of prong0 (GeV/c) DECLARE_SOA_COLUMN(PtProng1, ptProng1, float); //! Transverse momentum of prong1 (GeV/c) +DECLARE_SOA_COLUMN(MProng0, mProng0, float); //! Invariant mass of prong0 (GeV/c) DECLARE_SOA_COLUMN(M, m, float); //! Invariant mass of candidate (GeV/c2) DECLARE_SOA_COLUMN(Pt, pt, float); //! Transverse momentum of candidate (GeV/c) DECLARE_SOA_COLUMN(P, p, float); //! Momentum of candidate (GeV/c) @@ -51,6 +52,7 @@ DECLARE_SOA_COLUMN(DecayLength, decayLength, float); //! DECLARE_SOA_COLUMN(DecayLengthXY, decayLengthXY, float); //! Transverse decay length of candidate (cm) DECLARE_SOA_COLUMN(DecayLengthNormalised, decayLengthNormalised, float); //! Normalised decay length of candidate DECLARE_SOA_COLUMN(DecayLengthXYNormalised, decayLengthXYNormalised, float); //! Normalised transverse decay length of candidate +DECLARE_SOA_COLUMN(ImpactParameterProduct, impactParameterProduct, float); //! Impact parameter product of candidate DECLARE_SOA_COLUMN(Cpa, cpa, float); //! Cosine pointing angle of candidate DECLARE_SOA_COLUMN(CpaXY, cpaXY, float); //! Cosine pointing angle of candidate in transverse plane DECLARE_SOA_COLUMN(MaxNormalisedDeltaIP, maxNormalisedDeltaIP, float); //! Maximum normalized difference between measured and expected impact parameter of candidate prongs @@ -62,10 +64,12 @@ DECLARE_SOA_TABLE(HfRedCandB0Lites, "AOD", "HFREDCANDB0LITE", //! Table with som hf_cand_b0_lite::DecayLengthXY, hf_cand_b0_lite::DecayLengthNormalised, hf_cand_b0_lite::DecayLengthXYNormalised, + hf_cand_b0_lite::MProng0, hf_cand_b0_lite::PtProng0, hf_cand_b0_lite::PtProng1, hf_cand::ImpactParameter0, hf_cand::ImpactParameter1, + hf_cand_b0_lite::ImpactParameterProduct, hf_cand_b0_lite::NSigTpcPi1, hf_cand_b0_lite::NSigTofPi1, hf_cand_b0_reduced::Prong0MlScoreBkg, @@ -285,6 +289,7 @@ struct HfTaskB0Reduced { auto invMassB0 = hfHelper.invMassB0ToDPi(candidate); auto candD = candidate.template prong0_as(); auto ptD = RecoDecay::pt(candD.px(), candD.py()); + auto invMassD = candD.invMass(); std::array posPv{candidate.posX(), candidate.posY(), candidate.posZ()}; std::array posSvD{candD.xSecondaryVertex(), candD.ySecondaryVertex(), candD.zSecondaryVertex()}; std::array momD{candD.px(), candD.py(), candD.pz()}; @@ -307,7 +312,7 @@ struct HfTaskB0Reduced { registry.fill(HIST("hCospXy"), ptCandB0, candidate.cpaXY()); registry.fill(HIST("hEta"), ptCandB0, candidate.eta()); registry.fill(HIST("hRapidity"), ptCandB0, hfHelper.yB0(candidate)); - registry.fill(HIST("hInvMassD"), ptD, candD.invMass()); + registry.fill(HIST("hInvMassD"), ptD, invMassD); registry.fill(HIST("hDecLengthD"), ptD, decLenD); registry.fill(HIST("hDecLengthXyD"), ptD, decLenXyD); registry.fill(HIST("hCospD"), ptD, cospD); @@ -321,9 +326,9 @@ struct HfTaskB0Reduced { } if (fillSparses) { if constexpr (withDmesMl) { - registry.fill(HIST("hMassPtCutVars"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt()); + registry.fill(HIST("hMassPtCutVars"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt()); } else { - registry.fill(HIST("hMassPtCutVars"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, decLenD, cospD); + registry.fill(HIST("hMassPtCutVars"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, decLenD, cospD); } } if (fillTree) { @@ -347,10 +352,12 @@ struct HfTaskB0Reduced { candidate.decayLengthXY(), candidate.decayLengthNormalised(), candidate.decayLengthXYNormalised(), + invMassD, ptD, candidate.ptProng1(), candidate.impactParameter0(), candidate.impactParameter1(), + candidate.impactParameterProduct(), prong1.tpcNSigmaPi(), prong1.tofNSigmaPi(), prong0MlScoreBkg, @@ -383,6 +390,7 @@ struct HfTaskB0Reduced { auto invMassB0 = hfHelper.invMassB0ToDPi(candidate); auto candD = candidate.template prong0_as(); auto ptD = RecoDecay::pt(candD.px(), candD.py()); + auto invMassD = candD.invMass(); std::array posPv{candidate.posX(), candidate.posY(), candidate.posZ()}; std::array posSvD{candD.xSecondaryVertex(), candD.ySecondaryVertex(), candD.zSecondaryVertex()}; std::array momD{candD.px(), candD.py(), candD.pz()}; @@ -408,7 +416,7 @@ struct HfTaskB0Reduced { registry.fill(HIST("hCospXyRecSig"), ptCandB0, candidate.cpaXY()); registry.fill(HIST("hEtaRecSig"), ptCandB0, candidate.eta()); registry.fill(HIST("hRapidityRecSig"), ptCandB0, hfHelper.yB0(candidate)); - registry.fill(HIST("hInvMassDRecSig"), ptD, candD.invMass()); + registry.fill(HIST("hInvMassDRecSig"), ptD, invMassD); registry.fill(HIST("hDecLengthDRecSig"), ptD, decLenD); registry.fill(HIST("hDecLengthXyDRecSig"), ptD, decLenXyD); registry.fill(HIST("hCospDRecSig"), ptD, cospD); @@ -432,7 +440,7 @@ struct HfTaskB0Reduced { registry.fill(HIST("hCospXyRecBg"), ptCandB0, candidate.cpaXY()); registry.fill(HIST("hEtaRecBg"), ptCandB0, candidate.eta()); registry.fill(HIST("hRapidityRecBg"), ptCandB0, hfHelper.yB0(candidate)); - registry.fill(HIST("hInvMassDRecBg"), ptD, candD.invMass()); + registry.fill(HIST("hInvMassDRecBg"), ptD, invMassD); registry.fill(HIST("hDecLengthDRecBg"), ptD, decLenD); registry.fill(HIST("hDecLengthXyDRecBg"), ptD, decLenXyD); registry.fill(HIST("hCospDRecBg"), ptD, cospD); @@ -447,15 +455,15 @@ struct HfTaskB0Reduced { if (fillSparses) { if (isSignal) { if constexpr (withDmesMl) { - registry.fill(HIST("hMassPtCutVarsRecSig"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt()); + registry.fill(HIST("hMassPtCutVarsRecSig"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt()); } else { - registry.fill(HIST("hMassPtCutVarsRecSig"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, decLenD, cospD); + registry.fill(HIST("hMassPtCutVarsRecSig"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, decLenD, cospD); } } else if (fillBackground) { if constexpr (withDmesMl) { - registry.fill(HIST("hMassPtCutVarsRecBg"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt()); + registry.fill(HIST("hMassPtCutVarsRecBg"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, candidate.prong0MlScoreBkg(), candidate.prong0MlScoreNonprompt()); } else { - registry.fill(HIST("hMassPtCutVarsRecBg"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), candD.invMass(), ptD, decLenD, cospD); + registry.fill(HIST("hMassPtCutVarsRecBg"), invMassB0, ptCandB0, candidate.decayLength(), candidate.decayLengthXY() / candidate.errorDecayLengthXY(), candidate.impactParameterProduct(), candidate.cpa(), invMassD, ptD, decLenD, cospD); } } } @@ -477,10 +485,12 @@ struct HfTaskB0Reduced { candidate.decayLengthXY(), candidate.decayLengthNormalised(), candidate.decayLengthXYNormalised(), + invMassD, ptD, candidate.ptProng1(), candidate.impactParameter0(), candidate.impactParameter1(), + candidate.impactParameterProduct(), prong1.tpcNSigmaPi(), prong1.tofNSigmaPi(), prong0MlScoreBkg, From a3f97a1d765e5dc78483fe13dce5b275ab723425 Mon Sep 17 00:00:00 2001 From: feisenhu <53603353+feisenhu@users.noreply.github.com> Date: Tue, 19 Dec 2023 15:37:59 +0100 Subject: [PATCH 3/9] PWGEM: additional pair mass cuts for trigger studies (#4208) --- PWGDQ/Core/CutsLibrary.cxx | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/PWGDQ/Core/CutsLibrary.cxx b/PWGDQ/Core/CutsLibrary.cxx index 80fe27d6e63..b276b2e3140 100644 --- a/PWGDQ/Core/CutsLibrary.cxx +++ b/PWGDQ/Core/CutsLibrary.cxx @@ -1587,11 +1587,7 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName) cut->AddCut(GetAnalysisCut("lmeeStandardKine")); cut->AddCut(GetAnalysisCut("LooseGlobalTrackRun3")); cut->AddCut(GetAnalysisCut("PrimaryTrack_looseDCA")); - - AnalysisCompositeCut* cut_tof_nSigma = new AnalysisCompositeCut("pid_TOFnSigma", "pid_TOFnSigma", kTRUE); - cut_tof_nSigma->AddCut(GetAnalysisCut(Form("lmee_pp_502TeV_TOFloose%s", vecPIDcase.at(icase).Data()))); - - cut->AddCut(cut_tof_nSigma); + cut->AddCut(GetAnalysisCut(Form("lmee_pp_502TeV_TOFloose%s", vecPIDcase.at(icase).Data()))); return cut; } @@ -2011,6 +2007,16 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName) return cut; } + if (!nameStr.compare("pairMassLow11")) { + cut->AddCut(GetAnalysisCut("pairMassLow11")); + return cut; + } + + if (!nameStr.compare("pairMassLow12")) { + cut->AddCut(GetAnalysisCut("pairMassLow12")); + return cut; + } + if (!nameStr.compare("pairMass1to2")) { cut->AddCut(GetAnalysisCut("pairMass1to2")); return cut; @@ -4048,6 +4054,16 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName) return cut; } + if (!nameStr.compare("pairMassLow11")) { + cut->AddCut(VarManager::kMass, 3.0, 1000.0); + return cut; + } + + if (!nameStr.compare("pairMassLow12")) { + cut->AddCut(VarManager::kMass, 3.5, 1000.0); + return cut; + } + if (!nameStr.compare("pairMass1to2")) { cut->AddCut(VarManager::kMass, 1., 2.); return cut; From 01509e9f4c70614137d54c80b785cbe8b4be603f Mon Sep 17 00:00:00 2001 From: Luca Barioglio Date: Tue, 19 Dec 2023 18:15:34 +0100 Subject: [PATCH 4/9] Swap daughter flags for antimatter (#4210) --- PWGLF/TableProducer/hyperRecoTask.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGLF/TableProducer/hyperRecoTask.cxx b/PWGLF/TableProducer/hyperRecoTask.cxx index 56cc6612cd8..c1500cc3fa2 100644 --- a/PWGLF/TableProducer/hyperRecoTask.cxx +++ b/PWGLF/TableProducer/hyperRecoTask.cxx @@ -298,8 +298,8 @@ struct hyperRecoTask { hypCand.momHe3TPC = hypCand.isMatter ? posTrack.tpcInnerParam() : negTrack.tpcInnerParam(); hypCand.momPiTPC = !hypCand.isMatter ? posTrack.tpcInnerParam() : negTrack.tpcInnerParam(); - hypCand.flags |= static_cast((posTrack.pidForTracking() & 0xF) << 4); - hypCand.flags |= static_cast(negTrack.pidForTracking() & 0xF); + hypCand.flags |= hypCand.isMatter ? static_cast((posTrack.pidForTracking() & 0xF) << 4) : static_cast((negTrack.pidForTracking() & 0xF) << 4); + hypCand.flags |= hypCand.isMatter ? static_cast(negTrack.pidForTracking() & 0xF) : static_cast(posTrack.pidForTracking() & 0xF); auto posTrackCov = getTrackParCov(posTrack); auto negTrackCov = getTrackParCov(negTrack); From e46fdbc7a416fa49831b92fef373df3c79710200 Mon Sep 17 00:00:00 2001 From: Alessandro Sturniolo <123940165+AlessandroSturniolo@users.noreply.github.com> Date: Tue, 19 Dec 2023 18:40:33 +0100 Subject: [PATCH 5/9] Implemented MC K*pm analysis, mass-pT-mult 3D dist, fixed K0s mass dist (#4211) * Implemented MC K*(892)pm analysis, mass-mom-mult 3D dist, fixed K0short mass distribution * MegaLinter fixes --------- Co-authored-by: AlessandroSturniolo Co-authored-by: ALICE Action Bot --- PWGLF/Tasks/k892pmanalysis.cxx | 61 +++++++++++++++++----------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/PWGLF/Tasks/k892pmanalysis.cxx b/PWGLF/Tasks/k892pmanalysis.cxx index 83561df888a..8ad32fe4567 100644 --- a/PWGLF/Tasks/k892pmanalysis.cxx +++ b/PWGLF/Tasks/k892pmanalysis.cxx @@ -98,21 +98,14 @@ struct k892pmanalysis { histos.add("QAbefore/trkpT_k0s", "pT distribution of k0short track candidates", kTH1F, {ptAxisQA}); histos.add("QAafter/trkpT_pi", "pT distribution of pion track candidates", kTH1F, {ptAxisQA}); histos.add("QAafter/trkpT_k0s", "pT distribution of k0short track candidates", kTH1F, {ptAxisQA}); + // Mass vs Pt vs Multiplicity 3-dimensional histogram + histos.add("k892pmMassPtMult3d", "Charged K*(892) mass vs pT vs V0multiplicity distribution", kTH3F, {invMassAxis, ptAxis, centAxis}); - /*if (doprocessMCLight) { + if (doprocessMCLight) { // MC QA - histos.add("QAMCTrue/trkDCAxy_pi", "DCAxy distribution of pion track candidates", HistType::kTH1F, {dcaxyAxis}); - histos.add("QAMCTrue/trkDCAxy_ka", "DCAxy distribution of kaon track candidates", HistType::kTH1F, {dcaxyAxis}); - histos.add("QAMCTrue/trkDCAz_pi", "DCAz distribution of pion track candidates", HistType::kTH1F, {dcazAxis}); - histos.add("QAMCTrue/trkDCAz_ka", "DCAz distribution of kaon track candidates", HistType::kTH1F, {dcazAxis}); - histos.add("h3Reck892invmass", "Invariant mass of Reconstructed MC K(892)0", kTH3F, {centAxis, ptAxis, invMassAxis}); - histos.add("h3Reck892invmassAnti", "Invariant mass of Reconstructed MC Anti-K(892)0", kTH3F, {centAxis, ptAxis, invMassAxis}); - histos.add("k892pmGen", "pT distribution of True MC K(892)0", kTH1F, {ptAxis}); - histos.add("k892pmGenAnti", "pT distribution of True MC Anti-K(892)0", kTH1F, {ptAxis}); - histos.add("k892Rec", "pT distribution of Reconstructed MC K(892)0", kTH1F, {ptAxis}); - histos.add("k892RecAnti", "pT distribution of Reconstructed MC Anti-K(892)0", kTH1F, {ptAxis}); - histos.add("k892Recinvmass", "Inv mass distribution of Reconstructed MC Phi", kTH1F, {invMassAxis}); - }*/ + histos.add("k892pmPtGen", "pT distribution of True MC charged K*(892)", kTH1F, {ptAxis}); + histos.add("k892pmPtRec", "pT distribution of Reconstructed MC charged K*(892)", kTH1F, {ptAxis}); + } // Print output histograms statistics LOG(info) << "Size of the histograms in spectraTOF"; histos.print(); @@ -217,7 +210,7 @@ struct k892pmanalysis { for (auto& v0 : dV0s) { // Full index policy is needed to consider all possible combinations if (v0.indices()[0] == trkId || v0.indices()[1] == trkId) - continue; // To avoid comibining secondary and primary pions + continue; // To avoid combining secondary and primary pions //// Initialize variables // trk: Pion, v0: K0s @@ -234,17 +227,28 @@ struct k892pmanalysis { if (!IsV0QAFilled) { // pt QA (after cuts) - histos.fill(HIST("QAafter/trkpT_k0s"), v0.pt()); + histos.fill(HIST("QAafter/trkpT_k0s"), v0ptK0s); + // K0s mass QA (after cuts) + histos.fill(HIST("QAafter/k0shortmass"), v0.mK0Short()); } lDecayDaughter.SetXYZM(trk.px(), trk.py(), trk.pz(), massPi); lDecayV0.SetXYZM(v0.px(), v0.py(), v0.pz(), massK0); lResonance = lDecayDaughter + lDecayV0; // Filling invariant mass histograms - // K0s mass QA (after cuts) - histos.fill(HIST("QAafter/k0shortmass"), lDecayV0.M()); // K*(892)pm mass histos.fill(HIST("k892pminvmass"), lResonance.M()); + // K*(892)pm 3d mass, pt, multiplicity histogram + histos.fill(HIST("k892pmMassPtMult3d"), lResonance.M(), lResonance.Pt(), multiplicity); + if constexpr (IsMC) { + if (abs(trk.pdgCode()) != 211 || abs(v0.pdgCode()) != 310) // Skip to next iteration if duaghters are not charged pion + K0s/AntiK0s + continue; + if (trk.motherPDG() != v0.motherPDG()) + continue; + if (trk.motherPDG() != 323) + continue; + histos.fill(HIST("k892pmPtRec"), lResonance.Pt()); + } IsV0Processed = true; } if (IsV0Processed) { @@ -262,35 +266,32 @@ struct k892pmanalysis { } PROCESS_SWITCH(k892pmanalysis, processDataLight, "Process Event for data", false); - /*void processMCLight(aod::ResoCollision& collision, - soa::Join const& resotracks) + void processMCLight(aod::ResoCollision& collision, + soa::Join const& resotracks, + soa::Join const& resov0s) { - fillHistograms(collision, resotracks, resotracks); + fillHistograms(collision, resotracks, resov0s); } - PROCESS_SWITCH(k892pmanalysis, processMCLight, "Process Event for MC", false);*/ + PROCESS_SWITCH(k892pmanalysis, processMCLight, "Process Event for MC", false); void processMCTrue(aod::ResoMCParents& resoParents) { for (auto& part : resoParents) { // loop over all pre-filtered MC particles if (abs(part.pdgCode()) != 323) // K*892(pm) continue; - if (abs(part.y()) > 0.5) { // rapidity cut + if (abs(part.y()) > 0.5) // rapidity cut continue; - } bool pass1 = false; bool pass2 = false; - if (abs(part.daughterPDG1()) == 211 || abs(part.daughterPDG2()) == 310) { // At least one decay to K0s + if (part.daughterPDG1() == 211 && part.daughterPDG2() == 310) { // One decay to K0s and the other to pi+ (K*(892)+ mother) - Particle pass pass1 = true; } - if (abs(part.daughterPDG1()) == 310 || abs(part.daughterPDG2()) == 211) { // At least one decay to K0s + if (part.daughterPDG1() == -211 && part.daughterPDG2() == -310) { // One decay to AntiK0s and the other to pi- (K*(892)- mother) - Antiparticle pass pass2 = true; } - if (!pass1 || !pass2) // If we have both decay products + if (!pass1 || !pass2) // Go on only if we have both decay products, else skip to next iteration continue; - if (part.pdgCode() > 0) - histos.fill(HIST("k892pmGen"), part.pt()); - else - histos.fill(HIST("k892pmGenAnti"), part.pt()); + histos.fill(HIST("k892pmPtGen"), part.pt()); } } PROCESS_SWITCH(k892pmanalysis, processMCTrue, "Process Event for MC", false); From 13e8747acf269d3176fe24b20c789d6c20576606 Mon Sep 17 00:00:00 2001 From: Mario Ciacco Date: Tue, 19 Dec 2023 19:02:41 +0100 Subject: [PATCH 6/9] search missing tpc segment in adjacent collisions (#4212) * search missing tpc segment in adjacent collisions + fix binning of qa histograms * print indices in debug --- PWGLF/Tasks/QC/efficiencyQA.cxx | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/PWGLF/Tasks/QC/efficiencyQA.cxx b/PWGLF/Tasks/QC/efficiencyQA.cxx index b47385d3a1c..05d8db62a27 100644 --- a/PWGLF/Tasks/QC/efficiencyQA.cxx +++ b/PWGLF/Tasks/QC/efficiencyQA.cxx @@ -65,6 +65,7 @@ float invMass2Body(std::array& momA, std::array const& momB, struct ProbeTrack { uint64_t globalIndex; uint64_t globalIndexTpc; + int32_t collIndex; float p; float pt; float pProp; @@ -113,6 +114,7 @@ struct efficiencyQA { Configurable phiWindow{"phiWindow", 0.2f, "phi window to search tpc segment"}; Configurable massWindow{"massWindow", 0.03f, "mass window to search tpc segment"}; Configurable cosPaWindow{"cosPaWindow", 0.8f, "cosPa window to search tpc segment"}; + Configurable collIdWindow{"collIdWindow", 6, "collision index window to search tpc segment"}; // CCDB options Configurable d_bz_input{"d_bz", -999, "bz field, -999 is automatic"}; @@ -135,6 +137,7 @@ struct efficiencyQA { ConfigurableAxis phiAxis{"phiAxis", {630, 0.f, 6.3f}, "binning for the phi of V0 daughter tracks"}; ConfigurableAxis phiResAxis{"phiResAxis", {800, -4.f, 4.f}, "binning for the phi resolution of V0 daughter tracks"}; ConfigurableAxis cosPaAxis{"cosPaAxis", {1000, -1.f, 1.f}, "binning for the cosine of pointing angle"}; + ConfigurableAxis collIdResAxis{"collIdResAxis", {1.e2, -50., 50.}, "binning for the collision ID resolution"}; HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject}; @@ -194,8 +197,8 @@ struct efficiencyQA { histos.add("massTagTpc", ";#it{p} (GeV/#it{c});#it{M}(#pi^{+} + #pi^{-}) (GeV/#it{c}^{2})", HistType::kTH2F, {ptAxis, massK0sAxis}); histos.add("ptItsTpcSel", ";#it{p} (GeV/#it{c});#it{p}_{T}^{TPC} - #it{p}_{T}^{ITS} (GeV/#it{c})", HistType::kTH2F, {ptAxis, ptResAxis}); - histos.add("etaItsTpcSel", ";#it{p} (GeV/#it{c});#eta^{TPC} - #eta^{ITS}", HistType::kTH2F, {ptAxis, ptResAxis}); - histos.add("phiItsTpcSel", ";#it{p} (GeV/#it{c});#phi^{TPC} - #phi^{ITS} (rad)", HistType::kTH2F, {ptAxis, ptResAxis}); + histos.add("etaItsTpcSel", ";#it{p} (GeV/#it{c});#eta^{TPC} - #eta^{ITS}", HistType::kTH2F, {ptAxis, etaResAxis}); + histos.add("phiItsTpcSel", ";#it{p} (GeV/#it{c});#phi^{TPC} - #phi^{ITS} (rad)", HistType::kTH2F, {ptAxis, phiResAxis}); std::string binLabelsTag[]{"hasITS && hasTPC", "tracking", "PID", "v0 mass", "dcaV0dau", "cosPA", "dcaXYZ", "V0radius"}; for (int iB{0}; iB < hTagCuts->GetNbinsX(); ++iB) { @@ -213,13 +216,15 @@ struct efficiencyQA { hTpcSegment->GetXaxis()->SetBinLabel(iB + 1, binLabelsTpc[iB].data()); } histos.add("pTpcIts", ";#it{p}^{ITS} (GeV/#it{c});#it{p}^{TPC} - #it{p}^{ITS} (GeV/#it{c});Entries", HistType::kTH2F, {ptAxis, ptResAxis}); - histos.add("ptTpcIts", ";#it{p}_{T}^{ITS} (GeV/#it{c});#it{p}^{TPC}_{T} - #it{p}^{ITS}_{T} (GeV/#it{c});Entries", HistType::kTH2F, {ptAxis, ptResAxis}); + histos.add("ptTpcIts", ";#it{p}^{ITS} (GeV/#it{c});#it{p}^{TPC}_{T} - #it{p}^{ITS}_{T} (GeV/#it{c});Entries", HistType::kTH2F, {ptAxis, ptResAxis}); histos.add("etaTpcIts", ";#it{p}^{ITS} (GeV/#it{c});#eta^{TPC} - #eta^{ITS};Entries", HistType::kTH2F, {ptAxis, etaResAxis}); histos.add("phiTpcIts", ";#it{p}^{ITS} (GeV/#it{c});#phi^{TPC} - #phi^{ITS} (rad);Entries", HistType::kTH2F, {ptAxis, phiResAxis}); histos.add("massTpc", ";#it{p}^{ITS} (GeV/#it{c});#it{M}^{TPC} (GeV/#it{c}^{2});Entries", HistType::kTH2F, {ptAxis, massK0sAxis}); histos.add("massTpcIts", ";#it{p}^{ITS} (GeV/#it{c});#it{M}^{TPC} - #it{M}^{ITS} (GeV/#it{c}^{2});Entries", HistType::kTH2F, {ptAxis, massResAxis}); histos.add("cosPaTpc", ";#it{p}^{ITS} (GeV/#it{c});cos#theta_{p}", HistType::kTH2F, {ptAxis, cosPaAxis}); histos.add("ptEtaPhiTpcIts", ";#it{p}^{TPC}_{T} - #it{p}^{ITS}_{T} (GeV/#it{c});#eta^{TPC} - #eta^{ITS};#phi^{TPC} - #phi^{ITS} (rad)", HistType::kTH3F, {ptResAxis, etaResAxis, phiResAxis}); + histos.add("collTpcIts", ";ID_{coll}^{TPC} - ID_{coll}^{ITS};Entries", HistType::kTH1F, {collIdResAxis}); + histos.add("collTpcV0", ";ID_{coll}^{TPC} - ID_{coll}^{V0};Entries", HistType::kTH1F, {collIdResAxis}); } } } @@ -412,6 +417,7 @@ struct efficiencyQA { probe.vtx0 = vtx[0]; probe.vtx1 = vtx[1]; probe.vtx2 = vtx[2]; + probe.collIndex = probeTrack.collisionId(); if (probeTrack.hasITS() && !probeTrack.hasTPC() && findTpcLeg) { auto acceptIts = !(probeTrack.itsChi2NCl() > 36. || probeTrack.itsNCls() < 4); @@ -422,6 +428,9 @@ struct efficiencyQA { std::array momTpc; for (auto& tpcTrack : tpcTracks) { + if (std::abs(tpcTrack.collisionId() - probeTrack.collisionId()) > collIdWindow) { + continue; + } if (std::abs(tpcTrack.eta()) > etaMax) { continue; } @@ -569,6 +578,10 @@ struct efficiencyQA { hTpcSegment->Fill(3., probeTrack.pt); } + LOGF(debug, "globalID = %lld, probeCollId = %d, tpcCollId = %d", collision.globalIndex(), probeTrack.collIndex, tpcTrack.collisionId()); + histos.fill(HIST("collTpcIts"), tpcTrack.collisionId() - probeTrack.collIndex); + histos.fill(HIST("collTpcV0"), tpcTrack.collisionId() - collision.globalIndex()); + auto trackCov = getTrackParCov(tpcTrack); gpu::gpustd::array dcaInfo; if (propToTPCinnerWall) { From c67d1b2f09fe52f7af3818eb9419cae85124b942 Mon Sep 17 00:00:00 2001 From: Fabrizio Date: Tue, 19 Dec 2023 21:57:08 +0100 Subject: [PATCH 7/9] Common: fix type of globalBC (#4198) * Common: fix type of globalBC * Fix MegaLinter --- Common/Core/CollisionAssociation.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Common/Core/CollisionAssociation.h b/Common/Core/CollisionAssociation.h index f2206846183..a19c09c4724 100644 --- a/Common/Core/CollisionAssociation.h +++ b/Common/Core/CollisionAssociation.h @@ -125,10 +125,10 @@ class CollisionAssociation RevIndices& reverseIndices) { // cache globalBC - std::vector globalBC; + std::vector globalBC; for (const auto& track : tracks) { if (track.has_collision()) { - globalBC.push_back(track.collision().bc().globalBC()); + globalBC.push_back((int64_t)track.collision().bc().globalBC()); } else { for (const auto& ambTrack : ambiguousTracks) { if constexpr (isCentralBarrel) { // FIXME: to be removed as soon as it is possible to use getId() for joined tables @@ -137,12 +137,12 @@ class CollisionAssociation globalBC.push_back(-1); break; } - globalBC.push_back(ambTrack.bc().begin().globalBC()); + globalBC.push_back((int64_t)ambTrack.bc().begin().globalBC()); break; } } else { if (ambTrack.template getId() == track.globalIndex()) { - globalBC.push_back(ambTrack.bc().begin().globalBC()); + globalBC.push_back((int64_t)ambTrack.bc().begin().globalBC()); break; } } @@ -170,7 +170,7 @@ class CollisionAssociation if (globalBC[track.filteredIndex()] < 0) { continue; } - const int64_t bcOffsetWindow = (int64_t)globalBC[track.filteredIndex()] + trackTime / o2::constants::lhc::LHCBunchSpacingNS - (int64_t)collBC; + const int64_t bcOffsetWindow = globalBC[track.filteredIndex()] + trackTime / o2::constants::lhc::LHCBunchSpacingNS - (int64_t)collBC; if (std::abs(bcOffsetWindow) > bOffsetMax) { continue; } @@ -178,7 +178,7 @@ class CollisionAssociation float trackTimeRes = track.trackTimeRes(); if constexpr (isCentralBarrel) { if (mUsePvAssociation && track.isPVContributor()) { - trackTime = track.collision().collisionTime(); // if PV contributor, we assume the time to be the one of the collision + trackTime = track.collision().collisionTime(); // if PV contributor, we assume the time to be the one of the collision trackTimeRes = o2::constants::lhc::LHCBunchSpacingNS; // 1 BC } } From 5c74375cd145cd445ee6e635e5a9d4fe300826dc Mon Sep 17 00:00:00 2001 From: Jochen Klein Date: Tue, 19 Dec 2023 23:33:37 +0100 Subject: [PATCH 8/9] Update strangeness filter (#4186) - adjust binning for ST mass histograms - add option to use resolution-based mass cut for non-tracked cascades --- EventFiltering/PWGLF/strangenessFilter.cxx | 28 +++++++++++++--------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/EventFiltering/PWGLF/strangenessFilter.cxx b/EventFiltering/PWGLF/strangenessFilter.cxx index 8e063274770..fbf81268b51 100644 --- a/EventFiltering/PWGLF/strangenessFilter.cxx +++ b/EventFiltering/PWGLF/strangenessFilter.cxx @@ -108,6 +108,10 @@ struct strangenessFilter { Configurable kint7{"kint7", 0, "Apply kINT7 event selection"}; Configurable sel7{"sel7", 0, "Apply sel7 event selection"}; Configurable sel8{"sel8", 0, "Apply sel8 event selection"}; + Configurable useSigmaBasedMassCutXi{"useSigmaBasedMassCutXi", true, "Mass window based on n*sigma instead of fixed"}; + Configurable useSigmaBasedMassCutOmega{"useSigmaBasedMassCutOmega", true, "Mass window based on n*sigma instead of fixed"}; + Configurable massWindowOmegaNsigma{"massWindowOmegaNsigma", 6, "Inv. mass window for tracked Omega"}; + Configurable massWindowXiNsigma{"massWindowXiNsigma", 6, "Inv. mass window for tracked Xi"}; // Selections criteria for tracks Configurable hEta{"hEta", 0.9f, "Eta range for trigger particles"}; @@ -128,7 +132,7 @@ struct strangenessFilter { Configurable materialCorrectionType{"materialCorrectionType", static_cast(o2::base::Propagator::MatCorrType::USEMatCorrLUT), "Type of material correction"}; Configurable minNoClsTrackedCascade{"minNoClsTrackedCascade", 70, "Minimum number of clusters required for daughters of tracked cascades"}; Configurable minPtTrackedCascade{"minPtTrackedCascade", 0., "Min. pt for tracked cascades"}; - Configurable useNsigmaCutTrackedXi{"useNsigmaCutTrackedXi", false, "Mass window based on n*sigma instead of fixed"}; + Configurable useNsigmaCutTrackedXi{"useNsigmaCutTrackedXi", true, "Mass window based on n*sigma instead of fixed"}; Configurable useNsigmaCutTrackedOmega{"useNsigmaCutTrackedOmega", true, "Mass window based on n*sigma instead of fixed"}; Configurable massWindowTrackedOmegaNsigma{"massWindowTrackedOmegaNsigma", 6, "Inv. mass window for tracked Omega"}; Configurable massWindowTrackedXiNsigma{"massWindowTrackedXiNsigma", 6, "Inv. mass window for tracked Xi"}; @@ -144,8 +148,8 @@ struct strangenessFilter { Configurable maxNSigmaV0PiTrackedCascade{"maxNSigmaV0PiTrackedCascade", 4., "Max Nsigma for pion from V0 fromtracked Xi"}; Configurable minDcaTrackedXi{"minDcaTrackedXi", 0., "Minimum DCA for tracked cascades"}; Configurable maxCpaTrackedXi{"maxCpaTrackedXi", 1., "Maximum CPA for tracked cascades"}; - Configurable minDcaTrackedOmega{"minDcaTrackedOmega", 0., "Minimum DCA for tracked cascades"}; - Configurable maxCpaTrackedOmega{"maxCpaTrackedOmega", 1., "Maximum CPA for tracked cascades"}; + Configurable minDcaTrackedOmega{"minDcaTrackedOmega", 0., "Minimum DCA for tracked cascades (ST)"}; + Configurable maxCpaTrackedOmega{"maxCpaTrackedOmega", 1., "Maximum CPA for tracked cascades (ST)"}; Configurable> parSigmaMass{ "parSigmaMass", {stfilter::massSigmaParameters[0], 4, 2, @@ -360,10 +364,10 @@ struct strangenessFilter { QAHistosStrangenessTracking.add("hCpaSelectedOmega", "cpa;cpa", HistType::kTH1D, {{500, .995, 1.}}); QAHistosStrangenessTracking.add("hPtCascCand", "cascades;p_{T} (GeV/#it{c})", HistType::kTH1D, {{200, 0., 10.}}); QAHistosStrangenessTracking.add("hPtCascTracked", "tracked cascades;p_{T} (GeV/#it{c})", HistType::kTH1D, {{200, 0., 10.}}); - QAHistosStrangenessTracking.add("hPtVsMassTrkXi", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1., 3.}}); - QAHistosStrangenessTracking.add("hPtVsMassTrkOmega", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1., 3.}}); - QAHistosStrangenessTracking.add("hPtVsMassTrkXiSelected", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1., 3.}}); - QAHistosStrangenessTracking.add("hPtVsMassTrkOmegaSelected", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1., 3.}}); + QAHistosStrangenessTracking.add("hPtVsMassTrkXi", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1.2, 1.7}}); + QAHistosStrangenessTracking.add("hPtVsMassTrkOmega", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1.6, 2.1}}); + QAHistosStrangenessTracking.add("hPtVsMassTrkXiSelected", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1.2, 1.7}}); + QAHistosStrangenessTracking.add("hPtVsMassTrkOmegaSelected", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1.6, 2.1}}); } } @@ -830,23 +834,25 @@ struct strangenessFilter { } } + const auto deltaMassXi = useSigmaBasedMassCutXi ? getMassWindow(stfilter::species::Xi, casc.pt()) : ximasswindow; + const auto deltaMassOmega = useSigmaBasedMassCutOmega ? getMassWindow(stfilter::species::Omega, casc.pt()) : omegamasswindow; isXi = (TMath::Abs(bachelor.tpcNSigmaPi()) < nsigmatpcpi) && (casc.casccosPA(collision.posX(), collision.posY(), collision.posZ()) > casccospaxi) && (casc.dcav0topv(collision.posX(), collision.posY(), collision.posZ()) > dcav0topv) && - (TMath::Abs(casc.mXi() - o2::constants::physics::MassXiMinus) < ximasswindow) && + (TMath::Abs(casc.mXi() - o2::constants::physics::MassXiMinus) < deltaMassXi) && (TMath::Abs(casc.mOmega() - o2::constants::physics::MassOmegaMinus) > omegarej) && (xiproperlifetime < properlifetimefactor * ctauxi) && (TMath::Abs(casc.yXi()) < rapidity); isXiYN = (TMath::Abs(bachelor.tpcNSigmaPi()) < nsigmatpcpi) && (casc.cascradius() > lowerradiusXiYN) && - (TMath::Abs(casc.mXi() - o2::constants::physics::MassXiMinus) < ximasswindow) && + (TMath::Abs(casc.mXi() - o2::constants::physics::MassXiMinus) < deltaMassXi) && (TMath::Abs(casc.mOmega() - o2::constants::physics::MassOmegaMinus) > omegarej) && (xiproperlifetime < properlifetimefactor * ctauxi) && (TMath::Abs(casc.yXi()) < rapidity); isOmega = (TMath::Abs(bachelor.tpcNSigmaKa()) < nsigmatpcka) && (casc.casccosPA(collision.posX(), collision.posY(), collision.posZ()) > casccospaomega) && (casc.dcav0topv(collision.posX(), collision.posY(), collision.posZ()) > dcav0topv) && - (TMath::Abs(casc.mOmega() - o2::constants::physics::MassOmegaMinus) < omegamasswindow) && + (TMath::Abs(casc.mOmega() - o2::constants::physics::MassOmegaMinus) < deltaMassOmega) && (TMath::Abs(casc.mXi() - o2::constants::physics::MassXiMinus) > xirej) && (casc.cascradius() < upperradiusOmega) && (omegaproperlifetime < properlifetimefactor * ctauomega) && @@ -855,7 +861,7 @@ struct strangenessFilter { (casc.casccosPA(collision.posX(), collision.posY(), collision.posZ()) > casccospaomega) && (casc.dcav0topv(collision.posX(), collision.posY(), collision.posZ()) > dcav0topv) && (casc.cascradius() > lowerradiusOmega) && - (TMath::Abs(casc.mOmega() - o2::constants::physics::MassOmegaMinus) < omegamasswindow) && + (TMath::Abs(casc.mOmega() - o2::constants::physics::MassOmegaMinus) < deltaMassOmega) && (TMath::Abs(casc.mXi() - o2::constants::physics::MassXiMinus) > xirej) && (omegaproperlifetime < properlifetimefactor * ctauomega) && (TMath::Abs(casc.yOmega()) < rapidity); From 0ddf53d6136ef0c424ebf7291c838fc77a945945 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Wed, 20 Dec 2023 08:45:07 +0000 Subject: [PATCH 9/9] MegaLinter fixes --- PWGDQ/DataModel/ReducedInfoTables.h | 48 ++++++++++++++--------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/PWGDQ/DataModel/ReducedInfoTables.h b/PWGDQ/DataModel/ReducedInfoTables.h index 86a0bd87753..dae8dc9cb4b 100644 --- a/PWGDQ/DataModel/ReducedInfoTables.h +++ b/PWGDQ/DataModel/ReducedInfoTables.h @@ -267,10 +267,10 @@ namespace reducedmft DECLARE_SOA_INDEX_COLUMN(ReducedEvent, reducedevent); //! DECLARE_SOA_COLUMN(FilteringFlags, filteringFlags, uint8_t); //! -DECLARE_SOA_COLUMN(Pt, pt, float); //! -DECLARE_SOA_COLUMN(Eta, eta, float); //! -DECLARE_SOA_COLUMN(Phi, phi, float); //! -DECLARE_SOA_COLUMN(Sign, sign, int); //! +DECLARE_SOA_COLUMN(Pt, pt, float); //! +DECLARE_SOA_COLUMN(Eta, eta, float); //! +DECLARE_SOA_COLUMN(Phi, phi, float); //! +DECLARE_SOA_COLUMN(Sign, sign, int); //! DECLARE_SOA_COLUMN(MftClusterSizesAndTrackFlags, mftClusterSizesAndTrackFlags, uint64_t); //! } // namespace reducedmft @@ -438,27 +438,27 @@ DECLARE_SOA_COLUMN(FwdDcaY2, fwdDcaY2, float); //! Y component of forward DCA // pair information namespace reducedpair { -DECLARE_SOA_INDEX_COLUMN(ReducedEvent, reducedevent); //! -DECLARE_SOA_COLUMN(Mass, mass, float); //! -DECLARE_SOA_COLUMN(Pt, pt, float); //! -DECLARE_SOA_COLUMN(Eta, eta, float); //! -DECLARE_SOA_COLUMN(Phi, phi, float); //! -DECLARE_SOA_COLUMN(Sign, sign, int); //! -DECLARE_SOA_COLUMN(FilterMap, filterMap, uint32_t); //! -DECLARE_SOA_COLUMN(McDecision, mcDecision, uint32_t); //! -DECLARE_SOA_COLUMN(Tauz, tauz, float); //! Longitudinal pseudo-proper time of lepton pair (in ns) -DECLARE_SOA_COLUMN(TauzErr, tauzErr, float); //! Error on longitudinal pseudo-proper time of lepton pair (in ns) -DECLARE_SOA_COLUMN(Tauxy, tauxy, float); //! Transverse pseudo-proper time of lepton pair (in ns) -DECLARE_SOA_COLUMN(TauxyErr, tauxyErr, float); //! Error on transverse pseudo-proper time of lepton pair (in ns) -DECLARE_SOA_COLUMN(Lz, lz, float); //! Longitudinal projection of decay length -DECLARE_SOA_COLUMN(Lxy, lxy, float); //! Transverse projection of decay length -DECLARE_SOA_COLUMN(Chi2pca, chi2pca, float); //! Chi2 for PCA of the dilepton +DECLARE_SOA_INDEX_COLUMN(ReducedEvent, reducedevent); //! +DECLARE_SOA_COLUMN(Mass, mass, float); //! +DECLARE_SOA_COLUMN(Pt, pt, float); //! +DECLARE_SOA_COLUMN(Eta, eta, float); //! +DECLARE_SOA_COLUMN(Phi, phi, float); //! +DECLARE_SOA_COLUMN(Sign, sign, int); //! +DECLARE_SOA_COLUMN(FilterMap, filterMap, uint32_t); //! +DECLARE_SOA_COLUMN(McDecision, mcDecision, uint32_t); //! +DECLARE_SOA_COLUMN(Tauz, tauz, float); //! Longitudinal pseudo-proper time of lepton pair (in ns) +DECLARE_SOA_COLUMN(TauzErr, tauzErr, float); //! Error on longitudinal pseudo-proper time of lepton pair (in ns) +DECLARE_SOA_COLUMN(Tauxy, tauxy, float); //! Transverse pseudo-proper time of lepton pair (in ns) +DECLARE_SOA_COLUMN(TauxyErr, tauxyErr, float); //! Error on transverse pseudo-proper time of lepton pair (in ns) +DECLARE_SOA_COLUMN(Lz, lz, float); //! Longitudinal projection of decay length +DECLARE_SOA_COLUMN(Lxy, lxy, float); //! Transverse projection of decay length +DECLARE_SOA_COLUMN(Chi2pca, chi2pca, float); //! Chi2 for PCA of the dilepton DECLARE_SOA_COLUMN(CosPointingAngle, cosPointingAngle, float); //! Cosine of the pointing angle -DECLARE_SOA_COLUMN(U2Q2, u2q2, float); //! Scalar product between unitary vector with event flow vector (harmonic 2) -DECLARE_SOA_COLUMN(U3Q3, u3q3, float); //! Scalar product between unitary vector with event flow vector (harmonic 3) -DECLARE_SOA_COLUMN(Cos2DeltaPhi, cos2deltaphi, float); //! Cosinus term using event plane angle (harmonic 2) -DECLARE_SOA_COLUMN(Cos3DeltaPhi, cos3deltaphi, float); //! Cosinus term using event plane angle (harmonic 3) -DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //! +DECLARE_SOA_COLUMN(U2Q2, u2q2, float); //! Scalar product between unitary vector with event flow vector (harmonic 2) +DECLARE_SOA_COLUMN(U3Q3, u3q3, float); //! Scalar product between unitary vector with event flow vector (harmonic 3) +DECLARE_SOA_COLUMN(Cos2DeltaPhi, cos2deltaphi, float); //! Cosinus term using event plane angle (harmonic 2) +DECLARE_SOA_COLUMN(Cos3DeltaPhi, cos3deltaphi, float); //! Cosinus term using event plane angle (harmonic 3) +DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //! // DECLARE_SOA_INDEX_COLUMN(ReducedMuon, reducedmuon2); //! DECLARE_SOA_DYNAMIC_COLUMN(Px, px, //! [](float pt, float phi) -> float { return pt * std::cos(phi); });