From e34cd8160039332432737d50a1b456f6c18063a1 Mon Sep 17 00:00:00 2001 From: MATTEI Date: Fri, 5 Dec 2025 11:34:27 +0100 Subject: [PATCH 1/2] Adding output AO2D to store timestamp, ZNA time and ZNC time for every bc --- PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx b/PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx index a1bddbdfee0..c5e52e91f02 100644 --- a/PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx +++ b/PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx @@ -24,6 +24,8 @@ #include "DataFormatsParameters/GRPLHCIFData.h" #include "Framework/AnalysisTask.h" #include "Framework/runDataProcessing.h" +#include "Framework/ASoA.h" +#include "Framework/AnalysisDataModel.h" #include #include @@ -36,9 +38,20 @@ using namespace o2::framework::expressions; o2::common::core::MetadataHelper metadataInfo; // Metadata helper +namespace o2::aod { +namespace myBc_aod { +DECLARE_SOA_COLUMN(Timestamp, timestamp, uint64_t); +DECLARE_SOA_COLUMN(TimeZNA, timeZNA, float); +DECLARE_SOA_COLUMN(TimeZNC, timeZNC, float); +} //namespace myBc_aod +DECLARE_SOA_TABLE(MyBCaod, "AOD", "MYBCAOD", myBc_aod::Timestamp, myBc_aod::TimeZNA, myBc_aod::TimeZNC); +} //namespace o2::aod + using MyBCs = soa::Join; struct LumiStabilityLightIons { + Produces BCaod; + Configurable cfgDoFT0Vtx{"cfgDoFT0Vtx", true, "Create and fill histograms for the FT0 vertex trigger"}; Configurable cfgDoFT0CE{"cfgDoFT0CE", true, "Create and fill histograms for the FT0 centrality trigger"}; Configurable cfgDoFDD{"cfgDoFDD", true, "Create and fill histograms for the FDD trigger"}; @@ -55,6 +68,11 @@ struct LumiStabilityLightIons { Configurable cfgEmptyBCsBeforeLeadingBC{"cfgEmptyBCsBeforeLeadingBC", 5, "Minimum number of empty BCs before a leading BC to identify it as such"}; + //Configurables specific to VdM analysis: output ao2d with timestamps and ZDC times + Configurable cfgFillBCao2d{"cfgFillBCao2d", false, "Fill BC ao2d with timestamps and ZDC times"}; + Configurable cfgTstampStartFillingBCao2d{"cfgTstampStartFillingBCao2d", 0, "Minimum value of timestamp for output bc ao2d to be filled"}; + Configurable cfgTstampEndFillingBCao2d{"cfgTstampEndFillingBCao2d", 0, "Maximum value of timestamp for output bc ao2d to be filled"}; + std::bitset beamPatternA, beamPatternC; std::bitset bcPatternA, bcPatternC, bcPatternB, bcPatternE, bcPatternL; @@ -252,6 +270,12 @@ struct LumiStabilityLightIons { } mHistManager.fill(HIST("ZDCQA/ZDCTimes"), timeZNA, timeZNC); + + //For VdM analysis: fill timestamps and ZDC times in output tree, if enabled + uint64_t timestamp = bc.timestamp(); + if(cfgFillBCao2d && timestamp>=cfgTstampStartFillingBCao2d && timestamp<=cfgTstampEndFillingBCao2d) { + BCaod(timestamp, timeZNA, timeZNC); + } } } PROCESS_SWITCH(LumiStabilityLightIons, processZDCQA, "process QA for the ZDC triggers (light ions and PbPb)", false); From d99fd3091f83fc7cf9fb316cb831bcc59bd31292 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Fri, 5 Dec 2025 10:37:16 +0000 Subject: [PATCH 2/2] Please consider the following formatting changes --- PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx b/PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx index c5e52e91f02..5e74aba4cee 100644 --- a/PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx +++ b/PWGMM/Lumi/Tasks/lumiStabilityLightIons.cxx @@ -22,10 +22,10 @@ #include "CCDB/BasicCCDBManager.h" #include "DataFormatsParameters/AggregatedRunInfo.h" #include "DataFormatsParameters/GRPLHCIFData.h" -#include "Framework/AnalysisTask.h" -#include "Framework/runDataProcessing.h" #include "Framework/ASoA.h" #include "Framework/AnalysisDataModel.h" +#include "Framework/AnalysisTask.h" +#include "Framework/runDataProcessing.h" #include #include @@ -38,14 +38,16 @@ using namespace o2::framework::expressions; o2::common::core::MetadataHelper metadataInfo; // Metadata helper -namespace o2::aod { -namespace myBc_aod { +namespace o2::aod +{ +namespace myBc_aod +{ DECLARE_SOA_COLUMN(Timestamp, timestamp, uint64_t); DECLARE_SOA_COLUMN(TimeZNA, timeZNA, float); DECLARE_SOA_COLUMN(TimeZNC, timeZNC, float); -} //namespace myBc_aod +} // namespace myBc_aod DECLARE_SOA_TABLE(MyBCaod, "AOD", "MYBCAOD", myBc_aod::Timestamp, myBc_aod::TimeZNA, myBc_aod::TimeZNC); -} //namespace o2::aod +} // namespace o2::aod using MyBCs = soa::Join; @@ -68,7 +70,7 @@ struct LumiStabilityLightIons { Configurable cfgEmptyBCsBeforeLeadingBC{"cfgEmptyBCsBeforeLeadingBC", 5, "Minimum number of empty BCs before a leading BC to identify it as such"}; - //Configurables specific to VdM analysis: output ao2d with timestamps and ZDC times + // Configurables specific to VdM analysis: output ao2d with timestamps and ZDC times Configurable cfgFillBCao2d{"cfgFillBCao2d", false, "Fill BC ao2d with timestamps and ZDC times"}; Configurable cfgTstampStartFillingBCao2d{"cfgTstampStartFillingBCao2d", 0, "Minimum value of timestamp for output bc ao2d to be filled"}; Configurable cfgTstampEndFillingBCao2d{"cfgTstampEndFillingBCao2d", 0, "Maximum value of timestamp for output bc ao2d to be filled"}; @@ -271,9 +273,9 @@ struct LumiStabilityLightIons { mHistManager.fill(HIST("ZDCQA/ZDCTimes"), timeZNA, timeZNC); - //For VdM analysis: fill timestamps and ZDC times in output tree, if enabled + // For VdM analysis: fill timestamps and ZDC times in output tree, if enabled uint64_t timestamp = bc.timestamp(); - if(cfgFillBCao2d && timestamp>=cfgTstampStartFillingBCao2d && timestamp<=cfgTstampEndFillingBCao2d) { + if (cfgFillBCao2d && timestamp >= cfgTstampStartFillingBCao2d && timestamp <= cfgTstampEndFillingBCao2d) { BCaod(timestamp, timeZNA, timeZNC); } }