From 6a240333d8737672fc91cbdf63539502091e8335 Mon Sep 17 00:00:00 2001 From: romainschotter Date: Thu, 13 Feb 2025 16:08:55 +0100 Subject: [PATCH 1/3] Fetch interaction rate using ctpRateFetcher only if necessary --- PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx b/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx index 048ded5722f..35810367c0e 100644 --- a/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx +++ b/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx @@ -1593,7 +1593,8 @@ struct derivedlambdakzeroanalysis { histos.fill(HIST("hEventSelection"), 17 /* Above max occupancy */); } - double interactionRate = rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3; + // Fetch interaction rate only if required (in order to limit ccdb calls) + double interactionRate = (eventSelections.minIR >= 0 || eventSelections.maxIR >= 0) ? interactionRate = rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; if (eventSelections.minIR >= 0 && interactionRate < eventSelections.minIR) { return false; } @@ -1721,7 +1722,8 @@ struct derivedlambdakzeroanalysis { centrality = hRawCentrality->GetBinContent(hRawCentrality->FindBin(doPPAnalysis ? collision.multFT0A() + collision.multFT0C() : collision.multFT0C())); } float collisionOccupancy = eventSelections.useFT0CbasedOccupancy ? collision.ft0cOccupancyInTimeRange() : collision.trackOccupancyInTimeRange(); - double interactionRate = rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3; + // Fetch interaction rate only if required (in order to limit ccdb calls) + double interactionRate = !irSource.empty() ? rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; // gap side int gapSide = collision.gapSide(); @@ -1805,7 +1807,8 @@ struct derivedlambdakzeroanalysis { centrality = hRawCentrality->GetBinContent(hRawCentrality->FindBin(doPPAnalysis ? collision.multFT0A() + collision.multFT0C() : collision.multFT0C())); } float collisionOccupancy = eventSelections.useFT0CbasedOccupancy ? collision.ft0cOccupancyInTimeRange() : collision.trackOccupancyInTimeRange(); - double interactionRate = rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3; + // Fetch interaction rate only if required (in order to limit ccdb calls) + double interactionRate = !irSource.empty() ? rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; // gap side int gapSide = collision.gapSide(); From 9e00e5050edebcf87b98950408604bfa0cc7e714 Mon Sep 17 00:00:00 2001 From: romainschotter Date: Thu, 13 Feb 2025 16:13:04 +0100 Subject: [PATCH 2/3] Add 2D plot of Interaction rate Vs occupancy --- PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx b/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx index 35810367c0e..5e08bb2c4ad 100644 --- a/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx +++ b/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx @@ -461,6 +461,8 @@ struct derivedlambdakzeroanalysis { histos.add("hInteractionRate", "hInteractionRate", kTH1F, {axisIRBinning}); histos.add("hCentralityVsInteractionRate", "hCentralityVsInteractionRate", kTH2F, {{101, 0.0f, 101.0f}, axisIRBinning}); + histos.add("hInteractionRateVsOccupancy", "hInteractionRateVsOccupancy", kTH2F, {axisIRBinning, axisOccupancy}); + // for QA and test purposes auto hRawCentrality = histos.add("hRawCentrality", "hRawCentrality", kTH1F, {axisRawCentrality}); @@ -1750,6 +1752,8 @@ struct derivedlambdakzeroanalysis { histos.fill(HIST("hInteractionRate"), interactionRate); histos.fill(HIST("hCentralityVsInteractionRate"), centrality, interactionRate); + histos.fill(HIST("hInteractionRateVsOccupancy"), interactionRate, collisionOccupancy); + // __________________________________________ // perform main analysis int nK0Shorts = 0; @@ -1835,6 +1839,8 @@ struct derivedlambdakzeroanalysis { histos.fill(HIST("hInteractionRate"), interactionRate); histos.fill(HIST("hCentralityVsInteractionRate"), centrality, interactionRate); + histos.fill(HIST("hInteractionRateVsOccupancy"), interactionRate, collisionOccupancy); + // __________________________________________ // perform main analysis int nK0Shorts = 0; From 1ae30e39c9533329cc578e02e3ffcf49d871bd53 Mon Sep 17 00:00:00 2001 From: romainschotter Date: Thu, 13 Feb 2025 17:08:23 +0100 Subject: [PATCH 3/3] Fix compilation errors --- PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx b/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx index 5e08bb2c4ad..437bae703e5 100644 --- a/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx +++ b/PWGLF/Tasks/Strangeness/derivedlambdakzeroanalysis.cxx @@ -1596,7 +1596,7 @@ struct derivedlambdakzeroanalysis { } // Fetch interaction rate only if required (in order to limit ccdb calls) - double interactionRate = (eventSelections.minIR >= 0 || eventSelections.maxIR >= 0) ? interactionRate = rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; + double interactionRate = (eventSelections.minIR >= 0 || eventSelections.maxIR >= 0) ? rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; if (eventSelections.minIR >= 0 && interactionRate < eventSelections.minIR) { return false; } @@ -1725,7 +1725,7 @@ struct derivedlambdakzeroanalysis { } float collisionOccupancy = eventSelections.useFT0CbasedOccupancy ? collision.ft0cOccupancyInTimeRange() : collision.trackOccupancyInTimeRange(); // Fetch interaction rate only if required (in order to limit ccdb calls) - double interactionRate = !irSource.empty() ? rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; + double interactionRate = !irSource.value.empty() ? rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; // gap side int gapSide = collision.gapSide(); @@ -1812,7 +1812,7 @@ struct derivedlambdakzeroanalysis { } float collisionOccupancy = eventSelections.useFT0CbasedOccupancy ? collision.ft0cOccupancyInTimeRange() : collision.trackOccupancyInTimeRange(); // Fetch interaction rate only if required (in order to limit ccdb calls) - double interactionRate = !irSource.empty() ? rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; + double interactionRate = !irSource.value.empty() ? rateFetcher.fetch(ccdb.service, collision.timestamp(), collision.runNumber(), irSource) * 1.e-3 : -1; // gap side int gapSide = collision.gapSide();