From 9e17f61e8acf44904d8c478148a5f85f163ae75c Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Mon, 20 May 2024 11:13:55 -0600 Subject: [PATCH 01/23] new changes --- PWGMM/Lumi/Tasks/lumiStability.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 9584561af67..7a0759d275c 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -822,6 +822,11 @@ struct LumiStabilityTask { histos.fill(HIST("FT0/hCounts"), 3); histos.fill(HIST("FT0/bcVertexTriggerBothSidesPP"), localBC); } + if (pastActivityFT0Vertex == true) { + histos.fill(HIST("FT0/hCounts"), 3); + } else { + histos.fill(HIST("FT0/bcVertexTriggerPP"), localBC); + } } // vertex true if (sCentral) { From 3670d730014467e74bbc764b1f43e1262e91267d Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Thu, 15 Aug 2024 13:19:33 -0600 Subject: [PATCH 02/23] new changes --- PWGMM/Lumi/Tasks/lumiStability.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 7a0759d275c..c5dc78c38f6 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -827,6 +827,10 @@ struct LumiStabilityTask { } else { histos.fill(HIST("FT0/bcVertexTriggerPP"), localBC); } + if (pastActivityFT0TriggerA == false || pastActivityFT0TriggerC == false) { + histos.fill(HIST("FT0/hCounts"), 3); + histos.fill(HIST("FT0/bcVertexTriggerBothSidesPP"), localBC); + } } // vertex true if (sCentral) { From 8255956be08ffcd1782d77bdf991c4546fc55ca5 Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Wed, 2 Oct 2024 03:49:44 -0600 Subject: [PATCH 03/23] Ordering the kind of trigger to be used in the histogram entries --- PWGMM/Lumi/Tasks/lumiStability.cxx | 50 ++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index c5dc78c38f6..51892496851 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -561,14 +561,21 @@ struct LumiStabilityTask { } } - if (isCoinA && isCoinC) { - histos.fill(HIST("FDD/bcVertexTriggerCoincidence"), localBC); - histos.fill(HIST("FDD/hCounts"), 3); - histos.fill(HIST("hOrbitFDDVertexCoinc"), orbit - minOrbit); + if (deltaBC < myMaxDeltaBCFDD) { + std::bitset<8> fddTriggersPast = fdd_past.triggerMask(); + bool vertexPast = fddTriggersPast[o2::fdd::Triggers::bitVertex]; + pastActivityFDDVertex |= (vertexPast); + } + } + deltaIndex = 0; + deltaBC = 0; + if (pastActivityFDDVertex == false) { + histos.fill(HIST("FDD/hCounts"), 2); + histos.fill(HIST("FDD/bcVertexTriggerPP"), localBC); if (bcPatternA[localBC]) { - histos.fill(HIST("FDD/timeACbcA"), fdd.timeA(), fdd.timeC()); - histos.fill(HIST("FDD/hBcA"), localBC); + histos.fill(HIST("FDD/timeACbcAVertex"), fdd.timeA(), fdd.timeC()); + histos.fill(HIST("FDD/hBcAVertex"), localBC); } if (bcPatternC[localBC]) { histos.fill(HIST("FDD/timeACbcC"), fdd.timeA(), fdd.timeC()); @@ -618,6 +625,37 @@ struct LumiStabilityTask { } } } + if (bcPatternB[localBC]) { + histos.fill(HIST("FDD/timeACbcBVertex"), fdd.timeA(), fdd.timeC()); + histos.fill(HIST("FDD/hBcBVertex"), localBC); + } + if (bcPatternE[localBC]) { + histos.fill(HIST("FDD/timeACbcEVertex"), fdd.timeA(), fdd.timeC()); + histos.fill(HIST("FDD/hBcEVertex"), localBC); + } + } + + + if (isCoinA && isCoinC) { + histos.fill(HIST("FDD/bcVertexTriggerCoincidence"), localBC); + histos.fill(HIST("FDD/hCounts"), 3); + histos.fill(HIST("hOrbitFDDVertexCoinc"), orbit - minOrbit); + + if (bcPatternA[localBC]) { + histos.fill(HIST("FDD/timeACbcA"), fdd.timeA(), fdd.timeC()); + histos.fill(HIST("FDD/hBcA"), localBC); + } + if (bcPatternC[localBC]) { + histos.fill(HIST("FDD/timeACbcC"), fdd.timeA(), fdd.timeC()); + histos.fill(HIST("FDD/hBcC"), localBC); + } + if (bcPatternB[localBC]) { + histos.fill(HIST("FDD/timeACbcB"), fdd.timeA(), fdd.timeC()); + histos.fill(HIST("FDD/hBcB"), localBC); + histos.fill(HIST("FDD/hTimeA"), fdd.timeA()); + histos.fill(HIST("FDD/hTimeC"), fdd.timeC()); + + } if (bcPatternE[localBC]) { histos.fill(HIST("FDD/timeACbcE"), fdd.timeA(), fdd.timeC()); histos.fill(HIST("FDD/hBcE"), localBC); From ad8e52018e3546cb5db2b274f975faa217e2d2cf Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Mon, 7 Oct 2024 10:31:41 -0600 Subject: [PATCH 04/23] correcting the histo of time for fdd --- PWGMM/Lumi/Tasks/lumiStability.cxx | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 51892496851..6b9f6132327 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -625,14 +625,6 @@ struct LumiStabilityTask { } } } - if (bcPatternB[localBC]) { - histos.fill(HIST("FDD/timeACbcBVertex"), fdd.timeA(), fdd.timeC()); - histos.fill(HIST("FDD/hBcBVertex"), localBC); - } - if (bcPatternE[localBC]) { - histos.fill(HIST("FDD/timeACbcEVertex"), fdd.timeA(), fdd.timeC()); - histos.fill(HIST("FDD/hBcEVertex"), localBC); - } } @@ -652,8 +644,8 @@ struct LumiStabilityTask { if (bcPatternB[localBC]) { histos.fill(HIST("FDD/timeACbcB"), fdd.timeA(), fdd.timeC()); histos.fill(HIST("FDD/hBcB"), localBC); - histos.fill(HIST("FDD/hTimeA"), fdd.timeA()); - histos.fill(HIST("FDD/hTimeC"), fdd.timeC()); + histos.fill(HIST("FDD/hTimeACoinc"), fdd.timeA()); + histos.fill(HIST("FDD/hTimeCCoinc"), fdd.timeC()); } if (bcPatternE[localBC]) { From 92f239da2e6f38d7c8feeb944fd8df762d3ce1fc Mon Sep 17 00:00:00 2001 From: Josue laptop Date: Tue, 8 Oct 2024 14:26:26 +0200 Subject: [PATCH 05/23] adding the flags to 2022 data --- PWGMM/Lumi/Tasks/lumiStability.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 6b9f6132327..3c6526b64d9 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -646,7 +646,6 @@ struct LumiStabilityTask { histos.fill(HIST("FDD/hBcB"), localBC); histos.fill(HIST("FDD/hTimeACoinc"), fdd.timeA()); histos.fill(HIST("FDD/hTimeCCoinc"), fdd.timeC()); - } if (bcPatternE[localBC]) { histos.fill(HIST("FDD/timeACbcE"), fdd.timeA(), fdd.timeC()); From 6d014e7edc845daebf35f14a9a60af892cd85edb Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Thu, 31 Oct 2024 00:32:00 -0600 Subject: [PATCH 06/23] Issue with access histos --- PWGMM/Lumi/Tasks/lumiStability.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 3c6526b64d9..cb0a18b5ef7 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -270,6 +270,7 @@ struct LumiStabilityTask { nOrbitsPerTF = 32; // 128 in 2022, 32 in 2023 } int runNumber = bcs.iteratorAt(0).runNumber(); + // std::string histName = "hOrbitFDDVertexCoinc_" + std::to_string(runNumber); if (runNumber != lastRunNumber && executionCounter < 1) { tsSOR = 0; tsEOR = 1; @@ -459,9 +460,9 @@ struct LumiStabilityTask { histos.fill(HIST("FDD/hCounts"), 0); if (vertex) { - histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); - histos.fill(HIST("FDD/hCounts"), 1); histos.fill(HIST("FDD/bcVertexTrigger"), localBC); + histos.fill(HIST("FDD/hCounts"), 1); + // histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); if (bcPatternB[localBC]) { histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds @@ -753,7 +754,7 @@ struct LumiStabilityTask { histos.fill(HIST("FT0/hCounts"), 0); if (vertex) { histos.fill(HIST("FT0/bcVertexTrigger"), localBC); - histos.fill(HIST("hOrbitFT0vertex"), orbit - minOrbit); + // histos.fill(HIST("hOrbitFT0vertex"), orbit - minOrbit); if (bcPatternA[localBC]) { histos.fill(HIST("FT0/timeACbcA"), ft0.timeA(), ft0.timeC()); @@ -909,7 +910,7 @@ struct LumiStabilityTask { } if (aCen) { - histos.fill(HIST("hOrbitFV0Central"), orbit - minOrbit); + // histos.fill(HIST("hOrbitFV0Central"), orbit - minOrbit); histos.fill(HIST("FV0/bcCenTrigger"), localBC); if (bcPatternA[localBC]) { From c0e65a33e8a23361af66c9cba146e9d2c713fe5c Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Thu, 31 Oct 2024 00:45:38 -0600 Subject: [PATCH 07/23] resolving issues --- PWGMM/Lumi/Tasks/lumiStability.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index cb0a18b5ef7..c6ab5f34a84 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -37,6 +37,11 @@ #include #include +#include +#include +#include +#include + using namespace o2; using namespace o2::framework; From 513fe2336af519109b1f543e57b0aded238574ab Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Thu, 31 Oct 2024 00:51:10 -0600 Subject: [PATCH 08/23] resolving issues --- PWGMM/Lumi/Tasks/lumiStability.cxx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index c6ab5f34a84..cb0a18b5ef7 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -37,11 +37,6 @@ #include #include -#include -#include -#include -#include - using namespace o2; using namespace o2::framework; From 8c59dcce7ac34d3a5eae55cd8122132d6c25eacb Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Thu, 31 Oct 2024 12:13:10 -0600 Subject: [PATCH 09/23] a solution for histo acces --- PWGMM/Lumi/Tasks/lumiStability.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index cb0a18b5ef7..92709103a30 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -462,7 +462,7 @@ struct LumiStabilityTask { if (vertex) { histos.fill(HIST("FDD/bcVertexTrigger"), localBC); histos.fill(HIST("FDD/hCounts"), 1); - // histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); + histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); if (bcPatternB[localBC]) { histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds @@ -754,7 +754,7 @@ struct LumiStabilityTask { histos.fill(HIST("FT0/hCounts"), 0); if (vertex) { histos.fill(HIST("FT0/bcVertexTrigger"), localBC); - // histos.fill(HIST("hOrbitFT0vertex"), orbit - minOrbit); + histos.fill(HIST("hOrbitFT0vertex"), orbit - minOrbit); if (bcPatternA[localBC]) { histos.fill(HIST("FT0/timeACbcA"), ft0.timeA(), ft0.timeC()); @@ -910,7 +910,7 @@ struct LumiStabilityTask { } if (aCen) { - // histos.fill(HIST("hOrbitFV0Central"), orbit - minOrbit); + histos.fill(HIST("hOrbitFV0Central"), orbit - minOrbit); histos.fill(HIST("FV0/bcCenTrigger"), localBC); if (bcPatternA[localBC]) { From 42fd6f664b2ada588b7ff464e6dd45024ccfb155 Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Mon, 9 Dec 2024 23:28:28 -0600 Subject: [PATCH 10/23] new changes, --- PWGMM/Lumi/Tasks/lumiStability.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 92709103a30..650670c5afd 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -270,6 +270,8 @@ struct LumiStabilityTask { nOrbitsPerTF = 32; // 128 in 2022, 32 in 2023 } int runNumber = bcs.iteratorAt(0).runNumber(); + int64_t tsSOR = 0; + int64_t tsEOR = 1; // std::string histName = "hOrbitFDDVertexCoinc_" + std::to_string(runNumber); if (runNumber != lastRunNumber && executionCounter < 1) { tsSOR = 0; @@ -463,6 +465,7 @@ struct LumiStabilityTask { histos.fill(HIST("FDD/bcVertexTrigger"), localBC); histos.fill(HIST("FDD/hCounts"), 1); histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); + histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1000); // Converting ms into seconds if (bcPatternB[localBC]) { histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds From b1df0b7755e95efd477b3cd0f90d1c1148932a46 Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Tue, 17 Dec 2024 17:10:39 -0600 Subject: [PATCH 11/23] new changes, histo for rate calculus added --- PWGMM/Lumi/Tasks/lumiStability.cxx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 650670c5afd..fe6d223a6e9 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -270,8 +270,8 @@ struct LumiStabilityTask { nOrbitsPerTF = 32; // 128 in 2022, 32 in 2023 } int runNumber = bcs.iteratorAt(0).runNumber(); - int64_t tsSOR = 0; - int64_t tsEOR = 1; + int64_t tsSOR; + int64_t tsEOR; // std::string histName = "hOrbitFDDVertexCoinc_" + std::to_string(runNumber); if (runNumber != lastRunNumber && executionCounter < 1) { tsSOR = 0; @@ -358,6 +358,7 @@ struct LumiStabilityTask { // histos.add("hOrbitFT0vertex", "", kTH1F, {axisOrbits}); // histos.add("hOrbitFV0Central", "", kTH1F, {axisOrbits}); } + // std::cout << "****************** tsSOR: " << (tsSOR) * 1.e-3 << " ************************* " << std::endl; for (auto const& bc : bcs) { if (bc.timestamp() == 0) { @@ -465,7 +466,10 @@ struct LumiStabilityTask { histos.fill(HIST("FDD/bcVertexTrigger"), localBC); histos.fill(HIST("FDD/hCounts"), 1); histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); - histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1000); // Converting ms into seconds + // std::cout << "****************** timestamp - tsSOR: " << (bc.timestamp() - tsSOR) * 1000 << " ************************* " << std::endl; + // std::cout << "****************** timestamp: " << (bc.timestamp()) * 1000 << " ************************* " << std::endl; //1660925892880000 + // std::cout << "****************** tsSOR: " << (tsSOR) * 1000 << " ************************* " << std::endl; + histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds if (bcPatternB[localBC]) { histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds @@ -758,6 +762,7 @@ struct LumiStabilityTask { if (vertex) { histos.fill(HIST("FT0/bcVertexTrigger"), localBC); histos.fill(HIST("hOrbitFT0vertex"), orbit - minOrbit); + histos.fill(HIST("FT0/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds if (bcPatternA[localBC]) { histos.fill(HIST("FT0/timeACbcA"), ft0.timeA(), ft0.timeC()); From 10d8803f684c5a409c88df34e9cebe2c3dffedae Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Thu, 19 Dec 2024 22:15:46 -0600 Subject: [PATCH 12/23] new changes --- PWGMM/Lumi/Tasks/lumiStability.cxx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index fe6d223a6e9..5b1ff049e44 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -272,7 +272,6 @@ struct LumiStabilityTask { int runNumber = bcs.iteratorAt(0).runNumber(); int64_t tsSOR; int64_t tsEOR; - // std::string histName = "hOrbitFDDVertexCoinc_" + std::to_string(runNumber); if (runNumber != lastRunNumber && executionCounter < 1) { tsSOR = 0; tsEOR = 1; @@ -358,7 +357,6 @@ struct LumiStabilityTask { // histos.add("hOrbitFT0vertex", "", kTH1F, {axisOrbits}); // histos.add("hOrbitFV0Central", "", kTH1F, {axisOrbits}); } - // std::cout << "****************** tsSOR: " << (tsSOR) * 1.e-3 << " ************************* " << std::endl; for (auto const& bc : bcs) { if (bc.timestamp() == 0) { @@ -466,9 +464,6 @@ struct LumiStabilityTask { histos.fill(HIST("FDD/bcVertexTrigger"), localBC); histos.fill(HIST("FDD/hCounts"), 1); histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); - // std::cout << "****************** timestamp - tsSOR: " << (bc.timestamp() - tsSOR) * 1000 << " ************************* " << std::endl; - // std::cout << "****************** timestamp: " << (bc.timestamp()) * 1000 << " ************************* " << std::endl; //1660925892880000 - // std::cout << "****************** tsSOR: " << (tsSOR) * 1000 << " ************************* " << std::endl; histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds if (bcPatternB[localBC]) { From ea1cbb5c078bd72472f5bf27900cc61fb1ec1436 Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Mon, 23 Dec 2024 23:50:02 -0600 Subject: [PATCH 13/23] new changes --- PWGMM/Lumi/Tasks/lumiStability.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 5b1ff049e44..278c2c6de0d 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -1,3 +1,9 @@ +/** + * \file lumiStability.cxx + * \brief Analysis over BCs to study the luminosity stability along time. + * \author josuem@cern.ch + */ + // Copyright 2019-2020 CERN and copyright holders of ALICE O2. // See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. // All rights not expressly granted are reserved. From 67d02a553a21dc99f69ed90def1404c5a80477d4 Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Mon, 23 Dec 2024 23:51:44 -0600 Subject: [PATCH 14/23] new changes --- PWGMM/Lumi/Tasks/lumiStability.cxx | 6 ------ 1 file changed, 6 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 278c2c6de0d..5b1ff049e44 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -1,9 +1,3 @@ -/** - * \file lumiStability.cxx - * \brief Analysis over BCs to study the luminosity stability along time. - * \author josuem@cern.ch - */ - // Copyright 2019-2020 CERN and copyright holders of ALICE O2. // See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. // All rights not expressly granted are reserved. From 3871ebdca320a98d6f50e44207bd6223e0d49a6b Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Tue, 24 Dec 2024 14:10:54 -0600 Subject: [PATCH 15/23] new changes --- PWGMM/Lumi/Tasks/lumiStability.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 5b1ff049e44..e90d363f1e0 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -270,8 +270,8 @@ struct LumiStabilityTask { nOrbitsPerTF = 32; // 128 in 2022, 32 in 2023 } int runNumber = bcs.iteratorAt(0).runNumber(); - int64_t tsSOR; - int64_t tsEOR; + int64_t tsSOR = 0; + int64_t tsEOR = 1; if (runNumber != lastRunNumber && executionCounter < 1) { tsSOR = 0; tsEOR = 1; From 8bc6ee2dd3a70fb17818760784ad4cdf8729765c Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Tue, 1 Apr 2025 08:32:09 -0600 Subject: [PATCH 16/23] adding leading BC pattern and corrections for rate --- PWGMM/Lumi/Tasks/lumiStability.cxx | 2 -- 1 file changed, 2 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index e90d363f1e0..b1071a40ffb 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -270,8 +270,6 @@ struct LumiStabilityTask { nOrbitsPerTF = 32; // 128 in 2022, 32 in 2023 } int runNumber = bcs.iteratorAt(0).runNumber(); - int64_t tsSOR = 0; - int64_t tsEOR = 1; if (runNumber != lastRunNumber && executionCounter < 1) { tsSOR = 0; tsEOR = 1; From 60345a91c430b385f7e7c008dc0ec3cd8537f79d Mon Sep 17 00:00:00 2001 From: Josue-MiniPC Date: Fri, 11 Apr 2025 03:14:38 -0600 Subject: [PATCH 17/23] new changes --- PWGMM/Lumi/Tasks/lumiStability.cxx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index b1071a40ffb..7a8c34567c9 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -462,7 +462,22 @@ struct LumiStabilityTask { histos.fill(HIST("FDD/bcVertexTrigger"), localBC); histos.fill(HIST("FDD/hCounts"), 1); histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); - histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds + + if (bcPatternB[localBC]) { + histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds + bool isLeadBC = true; + for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { + int kbit = jbit; + if (kbit < 0) + kbit += nbin; + if (bcPatternB[kbit]) { + isLeadBC = false; + break; + } + } + if (isLeadBC) + histos.fill(HIST("FDD/hTimeForRateLeadingBC"), (bc.timestamp() - tsSOR) * 1.e-3); + } if (bcPatternB[localBC]) { histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds @@ -755,7 +770,6 @@ struct LumiStabilityTask { if (vertex) { histos.fill(HIST("FT0/bcVertexTrigger"), localBC); histos.fill(HIST("hOrbitFT0vertex"), orbit - minOrbit); - histos.fill(HIST("FT0/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds if (bcPatternA[localBC]) { histos.fill(HIST("FT0/timeACbcA"), ft0.timeA(), ft0.timeC()); From 0712249fe6d7ea8d84bec1fd8f134fdb2c9f5ab8 Mon Sep 17 00:00:00 2001 From: Josue Martinez Garcia Date: Wed, 12 Nov 2025 21:27:57 -0600 Subject: [PATCH 18/23] doing a rebase from master branch --- PWGMM/Lumi/Tasks/lumiStability.cxx | 66 +++--------------------------- 1 file changed, 6 insertions(+), 60 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 7a8c34567c9..08138c3e034 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -479,22 +479,6 @@ struct LumiStabilityTask { histos.fill(HIST("FDD/hTimeForRateLeadingBC"), (bc.timestamp() - tsSOR) * 1.e-3); } - if (bcPatternB[localBC]) { - histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds - bool isLeadBC = true; - for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { - int kbit = jbit; - if (kbit < 0) - kbit += nbin; - if (bcPatternB[kbit]) { - isLeadBC = false; - break; - } - } - if (isLeadBC) - histos.fill(HIST("FDD/hTimeForRateLeadingBC"), (bc.timestamp() - tsSOR) * 1.e-3); - } - int deltaIndex = 0; // backward move counts int deltaBC = 0; // current difference wrt globalBC bool pastActivityFDDVertex = false; @@ -577,21 +561,14 @@ struct LumiStabilityTask { } } - if (deltaBC < myMaxDeltaBCFDD) { - std::bitset<8> fddTriggersPast = fdd_past.triggerMask(); - bool vertexPast = fddTriggersPast[o2::fdd::Triggers::bitVertex]; - pastActivityFDDVertex |= (vertexPast); - } - } - deltaIndex = 0; - deltaBC = 0; + if (isCoinA && isCoinC) { + histos.fill(HIST("FDD/bcVertexTriggerCoincidence"), localBC); + histos.fill(HIST("FDD/hCounts"), 3); + histos.fill(HIST("hOrbitFDDVertexCoinc"), orbit - minOrbit); - if (pastActivityFDDVertex == false) { - histos.fill(HIST("FDD/hCounts"), 2); - histos.fill(HIST("FDD/bcVertexTriggerPP"), localBC); if (bcPatternA[localBC]) { - histos.fill(HIST("FDD/timeACbcAVertex"), fdd.timeA(), fdd.timeC()); - histos.fill(HIST("FDD/hBcAVertex"), localBC); + histos.fill(HIST("FDD/timeACbcA"), fdd.timeA(), fdd.timeC()); + histos.fill(HIST("FDD/hBcA"), localBC); } if (bcPatternC[localBC]) { histos.fill(HIST("FDD/timeACbcC"), fdd.timeA(), fdd.timeC()); @@ -641,28 +618,6 @@ struct LumiStabilityTask { } } } - } - - - if (isCoinA && isCoinC) { - histos.fill(HIST("FDD/bcVertexTriggerCoincidence"), localBC); - histos.fill(HIST("FDD/hCounts"), 3); - histos.fill(HIST("hOrbitFDDVertexCoinc"), orbit - minOrbit); - - if (bcPatternA[localBC]) { - histos.fill(HIST("FDD/timeACbcA"), fdd.timeA(), fdd.timeC()); - histos.fill(HIST("FDD/hBcA"), localBC); - } - if (bcPatternC[localBC]) { - histos.fill(HIST("FDD/timeACbcC"), fdd.timeA(), fdd.timeC()); - histos.fill(HIST("FDD/hBcC"), localBC); - } - if (bcPatternB[localBC]) { - histos.fill(HIST("FDD/timeACbcB"), fdd.timeA(), fdd.timeC()); - histos.fill(HIST("FDD/hBcB"), localBC); - histos.fill(HIST("FDD/hTimeACoinc"), fdd.timeA()); - histos.fill(HIST("FDD/hTimeCCoinc"), fdd.timeC()); - } if (bcPatternE[localBC]) { histos.fill(HIST("FDD/timeACbcE"), fdd.timeA(), fdd.timeC()); histos.fill(HIST("FDD/hBcE"), localBC); @@ -867,15 +822,6 @@ struct LumiStabilityTask { histos.fill(HIST("FT0/hCounts"), 3); histos.fill(HIST("FT0/bcVertexTriggerBothSidesPP"), localBC); } - if (pastActivityFT0Vertex == true) { - histos.fill(HIST("FT0/hCounts"), 3); - } else { - histos.fill(HIST("FT0/bcVertexTriggerPP"), localBC); - } - if (pastActivityFT0TriggerA == false || pastActivityFT0TriggerC == false) { - histos.fill(HIST("FT0/hCounts"), 3); - histos.fill(HIST("FT0/bcVertexTriggerBothSidesPP"), localBC); - } } // vertex true if (sCentral) { From cbb755945f7bd460574afb7a414c2e699a971eb2 Mon Sep 17 00:00:00 2001 From: Josue Martinez Garcia Date: Tue, 18 Nov 2025 01:45:00 -0600 Subject: [PATCH 19/23] adding histo for rate correction by filled jobs in alihyperloop --- PWGMM/Lumi/Tasks/lumiStability.cxx | 49 ++++++++++++++---------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 08138c3e034..0dbb39c7051 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -378,9 +378,8 @@ struct LumiStabilityTask { histos.fill(HIST("TFsPerMinute"), timeSinceSOF); } - if (trgFDD) { - histos.fill(HIST("FDD/bcVertexTriggerCTP"), localBC + 7); - if (bcPatternB[localBC]) { + // if (bcPatternB[localBC]) { + if (trgFDD) { histos.fill(HIST("FDD/nBCsVsTime"), timeSinceSOF); histos.fill(HIST("FDD/hTimeForRateCTP"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds } @@ -397,30 +396,28 @@ struct LumiStabilityTask { if (bcPatternB[localBC]) { histos.fill(HIST("FV0/hTimeForRateCTP"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds } - } - bool isLeadBC = true; - for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { - int kbit = jbit; - if (kbit < 0) - kbit += nbin; - if (bcPatternB[kbit]) { - isLeadBC = false; - break; - } - } - if (isLeadBC) { - if (trgFDD) { - histos.fill(HIST("FDD/nBCsVsTimeLeadingBC"), timeSinceSOF); - histos.fill(HIST("FDD/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); - } - if (trgFT0) { - histos.fill(HIST("FT0/nBCsVsTimeLeadingBC"), timeSinceSOF); - histos.fill(HIST("FT0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); - } - if (trgFV0) { - histos.fill(HIST("FV0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); + bool isLeadBC = true; + for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { + int kbit = jbit; + if (kbit < 0) + kbit += nbin; + if (bcPatternB[kbit]) { + isLeadBC = false; + break; + } } - } + if (isLeadBC) { + if (trgFDD) { + histos.fill(HIST("FDD/nBCsVsTimeLeadingBCe"), timeSinceSOF); + histos.fill(HIST("FDD/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); + } + if (trgFT0) { + histos.fill(HIST("FT0/nBCsVsTimeLeadingBCe"), timeSinceSOF); + histos.fill(HIST("FT0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); + } + if (trgFV0) { + histos.fill(HIST("FV0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); + } // } } // loop over bcs From 4d3f704cef18be7383cef7a39043a5fec1454e95 Mon Sep 17 00:00:00 2001 From: Josue Martinez Garcia Date: Tue, 18 Nov 2025 02:16:21 -0600 Subject: [PATCH 20/23] fixing Megalinter issues --- PWGMM/Lumi/Tasks/lumiStability.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 0dbb39c7051..0ebad59b53a 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -418,6 +418,7 @@ struct LumiStabilityTask { if (trgFV0) { histos.fill(HIST("FV0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); } + } // } } // loop over bcs From 36d532b0a4644a65b06c917687cc31d98ce500e5 Mon Sep 17 00:00:00 2001 From: Josue Martinez Garcia Date: Fri, 21 Nov 2025 01:19:00 -0600 Subject: [PATCH 21/23] fixing typo and logical filling of histos --- PWGMM/Lumi/Tasks/lumiStability.cxx | 52 ++++++++++++++++-------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 0ebad59b53a..9584561af67 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -378,8 +378,9 @@ struct LumiStabilityTask { histos.fill(HIST("TFsPerMinute"), timeSinceSOF); } - // if (bcPatternB[localBC]) { - if (trgFDD) { + if (trgFDD) { + histos.fill(HIST("FDD/bcVertexTriggerCTP"), localBC + 7); + if (bcPatternB[localBC]) { histos.fill(HIST("FDD/nBCsVsTime"), timeSinceSOF); histos.fill(HIST("FDD/hTimeForRateCTP"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds } @@ -396,29 +397,30 @@ struct LumiStabilityTask { if (bcPatternB[localBC]) { histos.fill(HIST("FV0/hTimeForRateCTP"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds } - bool isLeadBC = true; - for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { - int kbit = jbit; - if (kbit < 0) - kbit += nbin; - if (bcPatternB[kbit]) { - isLeadBC = false; - break; - } + } + bool isLeadBC = true; + for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { + int kbit = jbit; + if (kbit < 0) + kbit += nbin; + if (bcPatternB[kbit]) { + isLeadBC = false; + break; } - if (isLeadBC) { - if (trgFDD) { - histos.fill(HIST("FDD/nBCsVsTimeLeadingBCe"), timeSinceSOF); - histos.fill(HIST("FDD/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); - } - if (trgFT0) { - histos.fill(HIST("FT0/nBCsVsTimeLeadingBCe"), timeSinceSOF); - histos.fill(HIST("FT0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); - } - if (trgFV0) { - histos.fill(HIST("FV0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); - } + } + if (isLeadBC) { + if (trgFDD) { + histos.fill(HIST("FDD/nBCsVsTimeLeadingBC"), timeSinceSOF); + histos.fill(HIST("FDD/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); + } + if (trgFT0) { + histos.fill(HIST("FT0/nBCsVsTimeLeadingBC"), timeSinceSOF); + histos.fill(HIST("FT0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); } + if (trgFV0) { + histos.fill(HIST("FV0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); + } + } // } } // loop over bcs @@ -457,9 +459,9 @@ struct LumiStabilityTask { histos.fill(HIST("FDD/hCounts"), 0); if (vertex) { - histos.fill(HIST("FDD/bcVertexTrigger"), localBC); - histos.fill(HIST("FDD/hCounts"), 1); histos.fill(HIST("hOrbitFDDVertex"), orbit - minOrbit); + histos.fill(HIST("FDD/hCounts"), 1); + histos.fill(HIST("FDD/bcVertexTrigger"), localBC); if (bcPatternB[localBC]) { histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds From 9606ecf0074c135660b761a5bd22797ba912bbd9 Mon Sep 17 00:00:00 2001 From: Josue Martinez Garcia Date: Sun, 1 Feb 2026 14:32:42 -0600 Subject: [PATCH 22/23] new def od leading BC and addition of configurable for bc offset --- PWGMM/Lumi/Tasks/lumiStability.cxx | 99 ++++++++++-------------------- 1 file changed, 31 insertions(+), 68 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index 9584561af67..b2199d56499 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -55,7 +55,8 @@ struct LumiStabilityTask { Configurable nOrbitsPerTF{"nOrbitsPerTF", 128, "number of orbits per time frame"}; Configurable minOrbitConf{"minOrbitConf", 0, "minimum orbit"}; Configurable is2022Data{"is2022Data", true, "To 2022 data"}; - Configurable minEmpty{"minEmpty", 5, "number of BCs empty for leading BC"}; + Configurable minEmpty{"minEmpty", 13, "number of BCs empty for leading BC"}; + Configurable nBCsOffSet{"nBCsOffSet", 7, "number of BCs offset for FDD"}; Service ccdb; parameters::GRPLHCIFData* grplhcif = nullptr; @@ -74,6 +75,7 @@ struct LumiStabilityTask { std::bitset bcPatternA; std::bitset bcPatternC; std::bitset bcPatternB; + std::bitset bcPatternL; std::bitset bcPatternE; void init(InitContext const&) @@ -287,6 +289,7 @@ struct LumiStabilityTask { bcPatternC = ~beamPatternA & beamPatternC; bcPatternB = beamPatternA & beamPatternC; bcPatternE = ~beamPatternA & ~beamPatternC; + bcPatternL = beamPatternA & beamPatternC; for (int i = 0; i < nBCsPerOrbit; i++) { if (bcPatternA[i]) { @@ -297,18 +300,23 @@ struct LumiStabilityTask { } if (bcPatternB[i]) { histos.fill(HIST("hBcB"), i); + } + if (bcPatternL[i]) { bool isLeadBC = true; for (int jbit = i - minEmpty; jbit < i; jbit++) { int kbit = jbit; if (kbit < 0) kbit += nbin; - if (bcPatternB[kbit]) { + if (!bcPatternE[kbit]) { + bcPatternL[i] = false; isLeadBC = false; break; } } - if (isLeadBC) + if (isLeadBC) { + // bcPatternL[i] = true; histos.fill(HIST("hBcBL"), i); + } } if (bcPatternE[i]) { histos.fill(HIST("hBcE"), i); @@ -379,8 +387,8 @@ struct LumiStabilityTask { } if (trgFDD) { - histos.fill(HIST("FDD/bcVertexTriggerCTP"), localBC + 7); - if (bcPatternB[localBC]) { + histos.fill(HIST("FDD/bcVertexTriggerCTP"), localBC + nBCsOffSet); + if (bcPatternB[localBC + nBCsOffSet]) { histos.fill(HIST("FDD/nBCsVsTime"), timeSinceSOF); histos.fill(HIST("FDD/hTimeForRateCTP"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds } @@ -398,21 +406,14 @@ struct LumiStabilityTask { histos.fill(HIST("FV0/hTimeForRateCTP"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds } } - bool isLeadBC = true; - for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { - int kbit = jbit; - if (kbit < 0) - kbit += nbin; - if (bcPatternB[kbit]) { - isLeadBC = false; - break; - } - } - if (isLeadBC) { + if (bcPatternL[localBC + nBCsOffSet]) { + std::cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> " << "I am in the leading BC pattern" << std::endl; if (trgFDD) { histos.fill(HIST("FDD/nBCsVsTimeLeadingBC"), timeSinceSOF); histos.fill(HIST("FDD/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); } + } + if (bcPatternL[localBC]) { if (trgFT0) { histos.fill(HIST("FT0/nBCsVsTimeLeadingBC"), timeSinceSOF); histos.fill(HIST("FT0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); @@ -420,8 +421,7 @@ struct LumiStabilityTask { if (trgFV0) { histos.fill(HIST("FV0/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3); } - } - // } + } // if over leading pattern } // loop over bcs for (auto const& fdd : fdds) { @@ -465,18 +465,9 @@ struct LumiStabilityTask { if (bcPatternB[localBC]) { histos.fill(HIST("FDD/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds - bool isLeadBC = true; - for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { - int kbit = jbit; - if (kbit < 0) - kbit += nbin; - if (bcPatternB[kbit]) { - isLeadBC = false; - break; - } - } - if (isLeadBC) - histos.fill(HIST("FDD/hTimeForRateLeadingBC"), (bc.timestamp() - tsSOR) * 1.e-3); + } + if (bcPatternL[localBC]) { + histos.fill(HIST("FDD/hTimeForRateLeadingBC"), (bc.timestamp() - tsSOR) * 1.e-3); } int deltaIndex = 0; // backward move counts @@ -514,18 +505,6 @@ struct LumiStabilityTask { if (bcPatternB[localBC]) { histos.fill(HIST("FDD/timeACbcBVertex"), fdd.timeA(), fdd.timeC()); histos.fill(HIST("FDD/hBcBVertex"), localBC); - bool isLeadBC = true; - for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { - int kbit = jbit; - if (kbit < 0) - kbit += nbin; - if (bcPatternB[kbit]) { - isLeadBC = false; - break; - } - } - if (isLeadBC) - histos.fill(HIST("FDD/hBcBVertexL"), localBC); histos.fill(HIST("FDD/hTimeAVertex"), fdd.timeA()); histos.fill(HIST("FDD/hTimeCVertex"), fdd.timeC()); if (is2022Data) { @@ -555,6 +534,9 @@ struct LumiStabilityTask { } } } + if (bcPatternL[localBC]) { + histos.fill(HIST("FDD/hBcBVertexL"), localBC); + } if (bcPatternE[localBC]) { histos.fill(HIST("FDD/timeACbcEVertex"), fdd.timeA(), fdd.timeC()); histos.fill(HIST("FDD/hBcEVertex"), localBC); @@ -577,18 +559,6 @@ struct LumiStabilityTask { if (bcPatternB[localBC]) { histos.fill(HIST("FDD/timeACbcB"), fdd.timeA(), fdd.timeC()); histos.fill(HIST("FDD/hBcB"), localBC); - bool isLeadBC = true; - for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { - int kbit = jbit; - if (kbit < 0) - kbit += nbin; - if (bcPatternB[kbit]) { - isLeadBC = false; - break; - } - } - if (isLeadBC) - histos.fill(HIST("FDD/hBcBL"), localBC); histos.fill(HIST("FDD/hTimeACoinc"), fdd.timeA()); histos.fill(HIST("FDD/hTimeCCoinc"), fdd.timeC()); if (!is2022Data) { @@ -618,6 +588,9 @@ struct LumiStabilityTask { } } } + if (bcPatternL[localBC]) { + histos.fill(HIST("FDD/hBcBL"), localBC); + } if (bcPatternE[localBC]) { histos.fill(HIST("FDD/timeACbcE"), fdd.timeA(), fdd.timeC()); histos.fill(HIST("FDD/hBcE"), localBC); @@ -738,20 +711,6 @@ struct LumiStabilityTask { histos.fill(HIST("FT0/timeACbcB"), ft0.timeA(), ft0.timeC()); histos.fill(HIST("FT0/hBcB"), localBC); histos.fill(HIST("FT0/hTimeForRate"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds - bool isLeadBC = true; - for (int jbit = localBC - minEmpty; jbit < localBC; jbit++) { - int kbit = jbit; - if (kbit < 0) - kbit += nbin; - if (bcPatternB[kbit]) { - isLeadBC = false; - break; - } - } - if (isLeadBC) { - histos.fill(HIST("FT0/hTimeForRateLeadingBC"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds - histos.fill(HIST("FT0/hBcBL"), localBC); - } histos.fill(HIST("FT0/hTimeA"), ft0.timeA()); histos.fill(HIST("FT0/hTimeC"), ft0.timeC()); @@ -780,6 +739,10 @@ struct LumiStabilityTask { histos.fill(HIST("FT0/hValidTimevsBC"), localBC); } } + if (bcPatternL[localBC]) { + histos.fill(HIST("FT0/hTimeForRateLeadingBC"), (bc.timestamp() - tsSOR) * 1.e-3); // Converting ms into seconds + histos.fill(HIST("FT0/hBcBL"), localBC); + } if (bcPatternE[localBC]) { histos.fill(HIST("FT0/timeACbcE"), ft0.timeA(), ft0.timeC()); histos.fill(HIST("FT0/hBcE"), localBC); From 173d8ccbdbb0a01fbd0f653b7fa581950674841d Mon Sep 17 00:00:00 2001 From: Josue Martinez Garcia Date: Sun, 1 Feb 2026 14:49:48 -0600 Subject: [PATCH 23/23] remove of cout line --- PWGMM/Lumi/Tasks/lumiStability.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGMM/Lumi/Tasks/lumiStability.cxx b/PWGMM/Lumi/Tasks/lumiStability.cxx index b2199d56499..976fd6d351a 100644 --- a/PWGMM/Lumi/Tasks/lumiStability.cxx +++ b/PWGMM/Lumi/Tasks/lumiStability.cxx @@ -407,7 +407,6 @@ struct LumiStabilityTask { } } if (bcPatternL[localBC + nBCsOffSet]) { - std::cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> " << "I am in the leading BC pattern" << std::endl; if (trgFDD) { histos.fill(HIST("FDD/nBCsVsTimeLeadingBC"), timeSinceSOF); histos.fill(HIST("FDD/hTimeForRateLeadingBCCTP"), (bc.timestamp() - tsSOR) * 1.e-3);