From 27847a80dffbe4e55c860fedeb38af8b1034ef71 Mon Sep 17 00:00:00 2001 From: fchinu Date: Tue, 20 Jan 2026 19:11:22 +0100 Subject: [PATCH] Add super leading and fill time information --- PWGMM/Lumi/Tasks/lumiStabilityPP.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStabilityPP.cxx b/PWGMM/Lumi/Tasks/lumiStabilityPP.cxx index d1426c6c162..37ca264a34e 100644 --- a/PWGMM/Lumi/Tasks/lumiStabilityPP.cxx +++ b/PWGMM/Lumi/Tasks/lumiStabilityPP.cxx @@ -127,6 +127,7 @@ struct LumiStabilityPP { std::map> histBcHasFT0; std::map> histBcHasFDD; std::map> histFillingScheme; + std::map> histFillTime; static constexpr std::string_view NBCsVsTimeHistNames[NTriggerAliases][NBCCategories] = {{"AllBCs/BC_A/nBCsVsTime", "AllBCs/BC_B/nBCsVsTime", "AllBCs/BC_C/nBCsVsTime", "AllBCs/BC_E/nBCsVsTime", "AllBCs/BC_L/nBCsVsTime", "AllBCs/BC_SL/nBCsVsTime"}, @@ -158,6 +159,7 @@ struct LumiStabilityPP { histNBcsVsBcId[runNumber] = registry.add(Form("%d/nBCsVsBCID", runNumber), "Time of TVX triggered BCs since the start of fill;#bf{t-t_{SOF} (min)};#bf{#it{N}_{BC}}", HistType::kTH1D, {bcIDAxis}); histTfPerMin[runNumber] = registry.add(Form("%d/TFsPerMinute", runNumber), "TFs seen in this minute (to account for failed jobs);#bf{t-t_{SOF} (min)};#bf{#it{N}_{TFs}}", HistType::kTH1D, {timeAxis}); histFillingScheme[runNumber] = registry.add(Form("%d/FillingScheme", runNumber), "Filling Scheme;Filling Scheme;", HistType::kTH1D, {{1, 0, 1}}); + histFillTime[runNumber] = registry.add(Form("%d/FillTime", runNumber), "Fill time;Fill time;", HistType::kTH1D, {{1, 0, 1}}); histBcHasFT0[runNumber] = registry.add(Form("%d/FITQA/BCHasFT0", runNumber), "Does the BC have FT0?;BC has FT0;TVX triggered according to CTP;#bf{#it{N}_{BC}}", HistType::kTH2D, {{2, -0.5, 1.5}, {2, -0.5, 1.5}}); histBcHasFT0[runNumber]->GetYaxis()->SetBinLabel(1, "No CTP trigger"); @@ -200,6 +202,7 @@ struct LumiStabilityPP { createHistograms(); histFillingScheme[runNumber]->Fill(mLHCIFdata->getInjectionScheme().c_str(), 0); + histFillTime[runNumber]->Fill(0.5, mLHCIFdata->getFillNumberTime()); beamPatternA = mLHCIFdata->getBunchFilling().getBeamPattern(0); beamPatternC = mLHCIFdata->getBunchFilling().getBeamPattern(1); @@ -302,8 +305,8 @@ struct LumiStabilityPP { histBcHasFDD[runNumber]->Fill(bc.has_fdd(), ctpInputMask.test(15)); for (int iTrigger{0}; iTrigger < NTriggerAliases; ++iTrigger) { - for (int iBCCategory{0}; iBCCategory < NBCCategories; ++iBCCategory) { // Don't do SL BCs here - if ((iBCCategory == BCA && doBCA) || (iBCCategory == BCB && doBCB) || (iBCCategory == BCC && doBCC) || (iBCCategory == BCE && doBCE) || (iBCCategory == BCL && doBCL)) { + for (int iBCCategory{0}; iBCCategory < NBCCategories; ++iBCCategory) { + if ((iBCCategory == BCA && doBCA) || (iBCCategory == BCB && doBCB) || (iBCCategory == BCC && doBCC) || (iBCCategory == BCE && doBCE) || (iBCCategory == BCL && doBCL) || (iBCCategory == BCSL && doBCSL)) { if (iTrigger == AllBCs) { if (iBCCategory == BCA && bcPatternA[localBC]) fillHistograms(timeSinceSOF, localBC); @@ -343,6 +346,8 @@ struct LumiStabilityPP { fillHistograms(timeSinceSOF, localBC); if (iBCCategory == BCL && bcPatternL[localBC]) fillHistograms(timeSinceSOF, localBC); + if (iBCCategory == BCSL && isSuperLeadingBc) + fillHistograms(timeSinceSOF, localBC); } if (iTrigger == FDD && ctpInputMask.test(15)) { if (iBCCategory == BCA && bcPatternA[localBC])