From 18cd1caf34eb2bb4fef192f3b498aa1241f3107f Mon Sep 17 00:00:00 2001 From: Ionut Cristian Arsene Date: Sun, 8 Sep 2024 20:22:19 +0200 Subject: [PATCH 1/4] solve conflicts --- PWGDQ/Core/VarManager.h | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index e0a6085f44e..f75653f3b3a 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -1674,6 +1674,55 @@ void VarManager::FillEvent(T const& event, float* values) FillEventDerived(values); } +template +void VarManager::FillEventTrackEstimators(TEvent const& collision, TAssoc const& assocs, TTracks const& /*tracks*/, float* values) { + // Compute median Z for the large dcaZ tracks in the TPC + // This is for studies of the pileup impact on the TPC + + if (!values) { + values = fgValues; + } + + if constexpr ((fillMap & Track) > 0 && (fillMap & TrackDCA) > 0) { + + std::vector tracksP; + std::vector tracksM; + + for (const auto& assoc : assocs) { + auto track = assoc.template track_as(); + // compute the dca of this track wrt the collision + auto trackPar = getTrackPar(track); + std::array dca{1e10f, 1e10f}; + trackPar.propagateParamToDCA({collision.posX(), collision.posY(), collision.posZ()}, fgMagField, &dca); + + // if it is a displaced track longitudinally, add it to the track vector + if(abs(dca[0]) < 3.0 && abs(dca[1]) > 4.0) { + if(track.tgl() > 0.1) { + tracksP.push_back(track.z()); + } + if(track.tgl() < -0.1) { + tracksM.push_back(track.z()); + } + } + } // end loop over associations + + // compute the number of pileup contributors and the median z for pileup + if (tracksP.size() > 0) { + std::sort(tracksP.begin(), tracksP.end()); + auto midP = tracksP.size() / 2; + values[kNTPCpileupContribA] = tracksP.size(); + values[kNTPCpileupZA] = (tracksP.size() % 2 ? (tracksP[midP] + tracksP[midP-1]) / 2 : tracksP[midP]); + } + + if (tracksM.size() > 0) { + std::sort(tracksM.begin(), tracksM.end()); + values[kNTPCpileupContribC] = tracksM.size(); + auto midM = tracksM.size() / 2; + values[kNTPCpileupZC] = (tracksM.size() % 2 ? (tracksM[midM] + tracksM[midM-1]) / 2 : tracksM[midM]); + } + } +} + template void VarManager::FillEventTrackEstimators(TEvent const& collision, TAssoc const& assocs, TTracks const& /*tracks*/, float* values) { From f033da92e6a905864967651a826456b3406d14e0 Mon Sep 17 00:00:00 2001 From: Ionut Cristian Arsene Date: Wed, 28 Aug 2024 05:48:41 +0200 Subject: [PATCH 2/4] clang fixes --- PWGDQ/Core/VarManager.h | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index f75653f3b3a..404127ca7b5 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -1675,7 +1675,8 @@ void VarManager::FillEvent(T const& event, float* values) } template -void VarManager::FillEventTrackEstimators(TEvent const& collision, TAssoc const& assocs, TTracks const& /*tracks*/, float* values) { +void VarManager::FillEventTrackEstimators(TEvent const& collision, TAssoc const& assocs, TTracks const& /*tracks*/, float* values) +{ // Compute median Z for the large dcaZ tracks in the TPC // This is for studies of the pileup impact on the TPC @@ -1684,7 +1685,7 @@ void VarManager::FillEventTrackEstimators(TEvent const& collision, TAssoc const& } if constexpr ((fillMap & Track) > 0 && (fillMap & TrackDCA) > 0) { - + std::vector tracksP; std::vector tracksM; @@ -1696,29 +1697,29 @@ void VarManager::FillEventTrackEstimators(TEvent const& collision, TAssoc const& trackPar.propagateParamToDCA({collision.posX(), collision.posY(), collision.posZ()}, fgMagField, &dca); // if it is a displaced track longitudinally, add it to the track vector - if(abs(dca[0]) < 3.0 && abs(dca[1]) > 4.0) { - if(track.tgl() > 0.1) { + if (abs(dca[0]) < 3.0 && abs(dca[1]) > 4.0) { + if (track.tgl() > 0.1) { tracksP.push_back(track.z()); } - if(track.tgl() < -0.1) { + if (track.tgl() < -0.1) { tracksM.push_back(track.z()); } } - } // end loop over associations + } // end loop over associations // compute the number of pileup contributors and the median z for pileup if (tracksP.size() > 0) { std::sort(tracksP.begin(), tracksP.end()); auto midP = tracksP.size() / 2; values[kNTPCpileupContribA] = tracksP.size(); - values[kNTPCpileupZA] = (tracksP.size() % 2 ? (tracksP[midP] + tracksP[midP-1]) / 2 : tracksP[midP]); + values[kNTPCpileupZA] = (tracksP.size() % 2 ? (tracksP[midP] + tracksP[midP - 1]) / 2 : tracksP[midP]); } - + if (tracksM.size() > 0) { std::sort(tracksM.begin(), tracksM.end()); values[kNTPCpileupContribC] = tracksM.size(); auto midM = tracksM.size() / 2; - values[kNTPCpileupZC] = (tracksM.size() % 2 ? (tracksM[midM] + tracksM[midM-1]) / 2 : tracksM[midM]); + values[kNTPCpileupZC] = (tracksM.size() % 2 ? (tracksM[midM] + tracksM[midM - 1]) / 2 : tracksM[midM]); } } } From 18ef6d30275bd08870a44ce91fc585699a1f9540 Mon Sep 17 00:00:00 2001 From: Ionut Cristian Arsene Date: Sun, 8 Sep 2024 20:25:58 +0200 Subject: [PATCH 3/4] removed duplicate function --- PWGDQ/Core/VarManager.h | 50 ----------------------------------------- 1 file changed, 50 deletions(-) diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index 404127ca7b5..e0a6085f44e 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -1724,56 +1724,6 @@ void VarManager::FillEventTrackEstimators(TEvent const& collision, TAssoc const& } } -template -void VarManager::FillEventTrackEstimators(TEvent const& collision, TAssoc const& assocs, TTracks const& /*tracks*/, float* values) -{ - // Compute median Z for the large dcaZ tracks in the TPC - // This is for studies of the pileup impact on the TPC - - if (!values) { - values = fgValues; - } - - if constexpr ((fillMap & Track) > 0 && (fillMap & TrackDCA) > 0) { - - std::vector tracksP; - std::vector tracksM; - - for (const auto& assoc : assocs) { - auto track = assoc.template track_as(); - // compute the dca of this track wrt the collision - auto trackPar = getTrackPar(track); - std::array dca{1e10f, 1e10f}; - trackPar.propagateParamToDCA({collision.posX(), collision.posY(), collision.posZ()}, fgMagField, &dca); - - // if it is a displaced track longitudinally, add it to the track vector - if (abs(dca[0]) < 3.0 && abs(dca[1]) > 4.0) { - if (track.tgl() > 0.1) { - tracksP.push_back(track.z()); - } - if (track.tgl() < -0.1) { - tracksM.push_back(track.z()); - } - } - } // end loop over associations - - // compute the number of pileup contributors and the median z for pileup - if (tracksP.size() > 0) { - std::sort(tracksP.begin(), tracksP.end()); - auto midP = tracksP.size() / 2; - values[kNTPCpileupContribA] = tracksP.size(); - values[kNTPCpileupZA] = (tracksP.size() % 2 ? (tracksP[midP] + tracksP[midP - 1]) / 2 : tracksP[midP]); - } - - if (tracksM.size() > 0) { - std::sort(tracksM.begin(), tracksM.end()); - values[kNTPCpileupContribC] = tracksM.size(); - auto midM = tracksM.size() / 2; - values[kNTPCpileupZC] = (tracksM.size() % 2 ? (tracksM[midM] + tracksM[midM - 1]) / 2 : tracksM[midM]); - } - } -} - template void VarManager::FillTwoEvents(T const& ev1, T const& ev2, float* values) { From 24f591009b8eb7219acdbb71c3d44a275637f088 Mon Sep 17 00:00:00 2001 From: Ionut Cristian Arsene Date: Wed, 11 Sep 2024 20:35:28 +0200 Subject: [PATCH 4/4] a few cuts and histogram binning updates --- PWGDQ/Core/CutsLibrary.cxx | 20 +++++++++++++++++++- PWGDQ/Core/HistogramsLibrary.cxx | 6 +++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/PWGDQ/Core/CutsLibrary.cxx b/PWGDQ/Core/CutsLibrary.cxx index 064f26b1938..b92617fc70e 100644 --- a/PWGDQ/Core/CutsLibrary.cxx +++ b/PWGDQ/Core/CutsLibrary.cxx @@ -889,7 +889,7 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName) return cut; } - for (int iCut = 0; iCut < 7; iCut++) { + for (int iCut = 0; iCut < 10; iCut++) { if (!nameStr.compare(Form("jpsiEleSel%d_ionut", iCut))) { cut->AddCut(GetAnalysisCut("kineJpsiEle_ionut")); cut->AddCut(GetAnalysisCut("dcaCut1_ionut")); @@ -4093,6 +4093,24 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName) return cut; } + if (!nameStr.compare("pidJpsiEle7_ionut")) { + cut->AddCut(VarManager::kTOFnSigmaEl, -3.0, 4.0); + cut->AddCut(VarManager::kTPCnSigmaEl, -1.0, 4.0); + return cut; + } + + if (!nameStr.compare("pidJpsiEle8_ionut")) { + cut->AddCut(VarManager::kTOFnSigmaEl, -3.0, 4.0); + cut->AddCut(VarManager::kTPCnSigmaEl, -1.5, 4.0); + return cut; + } + + if (!nameStr.compare("pidJpsiEle9_ionut")) { + cut->AddCut(VarManager::kTOFnSigmaEl, -3.0, 4.0); + cut->AddCut(VarManager::kTPCnSigmaEl, -2.0, 4.0); + return cut; + } + if (!nameStr.compare("standardPrimaryTrackDCAz")) { cut->AddCut(VarManager::kTrackDCAxy, -3.0, 3.0); cut->AddCut(VarManager::kTrackDCAz, -1.0, 1.0); diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index 8ec9f17106c..b0f5a155762 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -815,9 +815,9 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "Eta_Pt", "", false, 40, -2.0, 2.0, VarManager::kEta, 40, 0.0, 20.0, VarManager::kPt); hm->AddHistogram(histClass, "Mass_VtxZ", "", true, 30, -15.0, 15.0, VarManager::kVtxZ, 500, 0.0, 5.0, VarManager::kMass); if (subGroupStr.Contains("pbpb")) { - hm->AddHistogram(histClass, "Mass_CentFT0C", "", false, 500, 0.0, 5.0, VarManager::kMass, 20, 0.0, 100.0, VarManager::kCentFT0C); - hm->AddHistogram(histClass, "Pt_CentFT0C", "", false, 500, 0.0, 1.5, VarManager::kPt, 20, 0.0, 100.0, VarManager::kCentFT0C); - hm->AddHistogram(histClass, "Mass_Pt_CentFT0C", "", false, 500, 0.0, 5.0, VarManager::kMass, 250, 0.0, 10.0, VarManager::kPt, 10, 0.0, 100.0, VarManager::kCentFT0C); + hm->AddHistogram(histClass, "Mass_CentFT0C", "", false, 125, 0.0, 5.0, VarManager::kMass, 20, 0.0, 100.0, VarManager::kCentFT0C); + hm->AddHistogram(histClass, "Pt_CentFT0C", "", false, 100, 0.0, 10.0, VarManager::kPt, 20, 0.0, 100.0, VarManager::kCentFT0C); + hm->AddHistogram(histClass, "Mass_Pt_CentFT0C", "", false, 125, 0.0, 5.0, VarManager::kMass, 100, 0.0, 10.0, VarManager::kPt, 10, 0.0, 100.0, VarManager::kCentFT0C); } if (subGroupStr.Contains("mult")) { hm->AddHistogram(histClass, "Mass_Pt_MultFV0A", "", false, 200, 0.0, 5.0, VarManager::kMass, 40, 0.0, 40.0, VarManager::kPt, 100, 0.0, 25000.0, VarManager::kMultFV0A);