From c2dad69bef3b26ccb94a58189238894f35ca9c3a Mon Sep 17 00:00:00 2001 From: kegangxiong Date: Mon, 23 Mar 2026 20:18:50 +0800 Subject: [PATCH 1/2] Add some qa plots --- PWGCF/Flow/Tasks/flowZdcEnergy.cxx | 164 ++++++++++++++++++----------- 1 file changed, 100 insertions(+), 64 deletions(-) diff --git a/PWGCF/Flow/Tasks/flowZdcEnergy.cxx b/PWGCF/Flow/Tasks/flowZdcEnergy.cxx index f812b999c33..3d9a5d3157d 100644 --- a/PWGCF/Flow/Tasks/flowZdcEnergy.cxx +++ b/PWGCF/Flow/Tasks/flowZdcEnergy.cxx @@ -17,6 +17,8 @@ #include "Common/DataModel/Centrality.h" #include "Common/DataModel/EventSelection.h" #include "Common/DataModel/Multiplicity.h" +#include "Common/DataModel/TrackSelectionTables.h" +#include "Common/Core/TrackSelection.h" #include "CCDB/BasicCCDBManager.h" #include "Framework/AnalysisTask.h" @@ -24,26 +26,37 @@ #include "Framework/RunningWorkflowInfo.h" #include "Framework/runDataProcessing.h" -#include #include #include +#include using namespace o2; using namespace o2::framework; +using namespace o2::framework::expressions; -#define O2_DEFINE_CONFIGURABLE(NAME, TYPE, DEFAULT, HELP) Configurable NAME{#NAME, DEFAULT, HELP}; +#define O2_DEFINE_CONFIGURABLE(NAME, TYPE, DEFAULT, HELP) Configurable NAME{ #NAME, DEFAULT, HELP }; struct flowZdcEnergy { struct : ConfigurableGroup{ - O2_DEFINE_CONFIGURABLE(cfgCentMin, float, 0.f, "Minimum centrality for selected events") - O2_DEFINE_CONFIGURABLE(cfgCentMax, float, 90.f, "Maximum centrality for selected events") - O2_DEFINE_CONFIGURABLE(cfgVtxZ, float, 10.f, "Accepted z-vertex range")} evsel; - - ConfigurableAxis axisCent{"axisCent", {90, 0, 90}, "Centrality (%)"}; - ConfigurableAxis axisMult{"axisMult", {100, 0, 100000}, "Multiplicity"}; - ConfigurableAxis axisEnergy{"axisEnergy", {300, 0, 300}, "Energy"}; - ConfigurableAxis axisRescaledDiff{"axisRescaledDiff", {400, -1, 1}, "(EA-EC)/(EA+EC)"}; + O2_DEFINE_CONFIGURABLE(cfgUseEvsel, bool, true, "whether to enable event selection") + O2_DEFINE_CONFIGURABLE(cfgCentMin, float, 0.f, "Minimum centrality for selected events") + O2_DEFINE_CONFIGURABLE(cfgCentMax, float, 90.f, "Maximum centrality for selected events") + O2_DEFINE_CONFIGURABLE(cfgVtxZ, float, 10.f, "Accepted z-vertex range") + } evsel; + + O2_DEFINE_CONFIGURABLE(cfgEtaMax, float, 0.8f, "Maximum track #eta") + O2_DEFINE_CONFIGURABLE(cfgPtMin, float, 0.2f, "Minimum track #P_{t}") + O2_DEFINE_CONFIGURABLE(cfgPtMax, float, 10.0f, "Maximum track #P_{t}") + O2_DEFINE_CONFIGURABLE(cfgDcaXYMax, float, 0.2f, "Maximum DCAxy") + O2_DEFINE_CONFIGURABLE(cfgDcaZMax, float, 2.0f, "Maximum DCAz") + + ConfigurableAxis axisCent{ "axisCent", { 90, 0, 90 }, "Centrality (%)" }; + ConfigurableAxis axisMult{ "axisMult", { 100, 0, 100000 }, "Multiplicity" }; + ConfigurableAxis axisPt{ "axisPt", { 100, 0, 15 }, "#P_{t}" }; + ConfigurableAxis axisEta{ "axisEta", { 64, -1.6, 1.6 }, "#eta" }; + ConfigurableAxis axisEnergy{ "axisEnergy", { 300, 0, 300 }, "Energy" }; + ConfigurableAxis axisRescaledDiff{ "axisRescaledDiff", { 400, -1, 1 }, "(EA-EC)/(EA+EC)" }; // Event counter bins enum SelectionCriteria : uint8_t { @@ -57,8 +70,10 @@ struct flowZdcEnergy { }; Service ccdb; - HistogramRegistry registry{"registry"}; + HistogramRegistry registry{ "registry" }; + Filter trackFilter = nabs(aod::track::eta) < cfgEtaMax && aod::track::pt > cfgPtMin && aod::track::pt < cfgPtMax && nabs(aod::track::dcaXY) < cfgDcaXYMax&& nabs(aod::track::dcaZ) < cfgDcaZMax; + using UsedTracks = soa::Filtered>; // Run 3 using CollisionsRun3 = soa::Join; using BCsRun3 = soa::Join; @@ -76,9 +91,9 @@ struct flowZdcEnergy { std::chrono::system_clock::now().time_since_epoch()) .count(); ccdb->setCreatedNotAfter(now); - - registry.add("hEventCount", "Event counter;Selection;Events", {HistType::kTH1D, {{kNSelections, 0, kNSelections}}}); - auto hCount = registry.get(HIST("hEventCount")); + + registry.add("QA/hEventCount", "Event counter;Selection;Events", { HistType::kTH1D, { { kNSelections, 0, kNSelections } } }); + auto hCount = registry.get(HIST("QA/hEventCount")); hCount->GetXaxis()->SetBinLabel(kAllEvents + 1, "All events"); hCount->GetXaxis()->SetBinLabel(kSeln + 1, "Sel7/8"); hCount->GetXaxis()->SetBinLabel(kZvtx + 1, "Zvtx"); @@ -86,50 +101,56 @@ struct flowZdcEnergy { hCount->GetXaxis()->SetBinLabel(kBCHasZDC + 1, "BC has ZDC"); hCount->GetXaxis()->SetBinLabel(kSelectedZDC + 1, "Selected ZDC"); - registry.add("hCentrality", "", {HistType::kTH1D, {axisCent}}); - registry.add("hMultiplicity", "", {HistType::kTH1D, {axisMult}}); - - registry.add("hEnergyWithCent_ZNA_Common", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNC_Common", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_RescaledDiff", "", {HistType::kTH2D, {axisRescaledDiff, axisCent}}); - registry.add("hEnergyWithCent_ZNA_1", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNA_2", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNA_3", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNA_4", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNC_1", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNC_2", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNC_3", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNC_4", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNA_SumSectors", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_ZNC_SumSectors", "", {HistType::kTH2D, {axisEnergy, axisCent}}); - registry.add("hEnergyWithCent_RescaledSumDiff", "", {HistType::kTH2D, {axisRescaledDiff, axisCent}}); + registry.add("QA/hCentrality", "", { HistType::kTH1D, { axisCent } }); + registry.add("QA/hMultiplicity", "", { HistType::kTH1D, { axisMult } }); + registry.add("QA/hMultiplicity_TPC", "", { HistType::kTH1D, { axisMult } }); + registry.add("QA/hPt", "", { HistType::kTH1D, { axisPt } }); + registry.add("QA/hEta", "", { HistType::kTH1D, { axisEta } }); + + registry.add("hEnergyWithCent_ZNA_Common", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNC_Common", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_RescaledDiff", "", { HistType::kTH2D, { axisRescaledDiff, axisCent } }); + registry.add("hEnergyWithCent_ZNA_1", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNA_2", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNA_3", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNA_4", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNC_1", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNC_2", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNC_3", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNC_4", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNA_SumSectors", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_ZNC_SumSectors", "", { HistType::kTH2D, { axisEnergy, axisCent } }); + registry.add("hEnergyWithCent_RescaledSumDiff", "", { HistType::kTH2D, { axisRescaledDiff, axisCent } }); } // Helper: event selection template - bool acceptEvent(TCollision const& collision, float centrality, const int runmode) + bool acceptEvent(TCollision const& collision, bool UseEvsel, float centrality, const int runmode) { - registry.fill(HIST("hEventCount"), kAllEvents); - - if (runmode == 2 && !collision.sel7()) { - return false; - } - if (runmode == 3 && !collision.sel8()) { - return false; - } - registry.fill(HIST("hEventCount"), kSeln); - - if (std::abs(collision.posZ()) > evsel.cfgVtxZ) { - return false; - } - registry.fill(HIST("hEventCount"), kZvtx); - - if (centrality < evsel.cfgCentMin || centrality > evsel.cfgCentMax) { - return false; + if (!UseEvsel) { + registry.fill(HIST("QA/hEventCount"), kAllEvents); + registry.fill(HIST("QA/hEventCount"), kSeln); + registry.fill(HIST("QA/hEventCount"), kZvtx); + registry.fill(HIST("QA/hEventCount"), kCentrality); + } else { + registry.fill(HIST("QA/hEventCount"), kAllEvents); + if (runmode == 2 && !collision.sel7()) { + return false; + } + if (runmode == 3 && !collision.sel8()) { + return false; + } + registry.fill(HIST("QA/hEventCount"), kSeln); + if (std::abs(collision.posZ()) > evsel.cfgVtxZ) { + return false; + } + registry.fill(HIST("QA/hEventCount"), kZvtx); + if (centrality < evsel.cfgCentMin || centrality > evsel.cfgCentMax) { + return false; + } + registry.fill(HIST("QA/hEventCount"), kCentrality); } - registry.fill(HIST("hEventCount"), kCentrality); - - return true; + return true; } // Helper: fill ZDC observables @@ -140,13 +161,13 @@ struct flowZdcEnergy { if (!foundBC.has_zdc()) { return; } - registry.fill(HIST("hEventCount"), kBCHasZDC); + registry.fill(HIST("QA/hEventCount"), kBCHasZDC); const auto& zdc = foundBC.zdc(); if (zdc.energyCommonZNA() <= 1.f || zdc.energyCommonZNC() <= 1.f) { return; } - registry.fill(HIST("hEventCount"), kSelectedZDC); + registry.fill(HIST("QA/hEventCount"), kSelectedZDC); const float energyCommonZNA = zdc.energyCommonZNA(); const float energyCommonZNC = zdc.energyCommonZNC(); @@ -188,36 +209,50 @@ struct flowZdcEnergy { // Run 3 process void processRun3(CollisionsRun3::iterator const& collision, + UsedTracks const& tracks, BCsRun3 const&, aod::Zdcs const&) { const float centrality = collision.centFT0C(); const float multi = collision.multFT0C(); + const float multiTPC = collision.multTPC(); - if (!acceptEvent(collision, centrality, 3)) { + if (!acceptEvent(collision, evsel.cfgUseEvsel, centrality, 3)) { return; } - registry.fill(HIST("hCentrality"), centrality); - registry.fill(HIST("hMultiplicity"), multi); - + registry.fill(HIST("QA/hCentrality"), centrality); + registry.fill(HIST("QA/hMultiplicity"), multi); + registry.fill(HIST("QA/hMultiplicity_TPC"), multiTPC); fillZDCObservables(collision, centrality); + + for (const auto& track : tracks) { + registry.fill(HIST("QA/hPt"), track.pt()); + registry.fill(HIST("QA/hEta"), track.eta()); + } } // Run 2 process void processRun2(CollisionsRun2::iterator const& collision, + UsedTracks const& tracks, BCsRun2 const&, aod::Zdcs const&) { const float centrality = collision.centRun2V0M(); const float multi = collision.multFV0M(); + const float multiTPC = collision.multTPC(); - if (!acceptEvent(collision, centrality, 2)) { + if (!acceptEvent(collision, evsel.cfgUseEvsel, centrality, 2)) { return; } - registry.fill(HIST("hCentrality"), centrality); - registry.fill(HIST("hMultiplicity"), multi); - + registry.fill(HIST("QA/hCentrality"), centrality); + registry.fill(HIST("QA/hMultiplicity"), multi); + registry.fill(HIST("QA/hMultiplicity_TPC"), multiTPC); fillZDCObservables(collision, centrality); + + for (const auto& track : tracks) { + registry.fill(HIST("QA/hPt"), track.pt()); + registry.fill(HIST("QA/hEta"), track.eta()); + } } // Process switches @@ -228,5 +263,6 @@ struct flowZdcEnergy { WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { return WorkflowSpec{ - adaptAnalysisTask(cfgc)}; -} + adaptAnalysisTask(cfgc) + }; +} \ No newline at end of file From 59416479a76df6876fef9eaaa41226deeb50e3c4 Mon Sep 17 00:00:00 2001 From: kegangxiong Date: Mon, 23 Mar 2026 20:24:23 +0800 Subject: [PATCH 2/2] Add some QA plots --- PWGCF/Flow/Tasks/flowZdcEnergy.cxx | 82 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 42 deletions(-) diff --git a/PWGCF/Flow/Tasks/flowZdcEnergy.cxx b/PWGCF/Flow/Tasks/flowZdcEnergy.cxx index 3d9a5d3157d..fb868177af1 100644 --- a/PWGCF/Flow/Tasks/flowZdcEnergy.cxx +++ b/PWGCF/Flow/Tasks/flowZdcEnergy.cxx @@ -14,11 +14,11 @@ /// \since 03/2026 /// \brief Study ZDC energy observables versus centrality for Run 2 / Run 3. +#include "Common/Core/TrackSelection.h" #include "Common/DataModel/Centrality.h" #include "Common/DataModel/EventSelection.h" #include "Common/DataModel/Multiplicity.h" #include "Common/DataModel/TrackSelectionTables.h" -#include "Common/Core/TrackSelection.h" #include "CCDB/BasicCCDBManager.h" #include "Framework/AnalysisTask.h" @@ -26,24 +26,23 @@ #include "Framework/RunningWorkflowInfo.h" #include "Framework/runDataProcessing.h" +#include #include #include -#include using namespace o2; using namespace o2::framework; using namespace o2::framework::expressions; -#define O2_DEFINE_CONFIGURABLE(NAME, TYPE, DEFAULT, HELP) Configurable NAME{ #NAME, DEFAULT, HELP }; +#define O2_DEFINE_CONFIGURABLE(NAME, TYPE, DEFAULT, HELP) Configurable NAME{#NAME, DEFAULT, HELP}; struct flowZdcEnergy { struct : ConfigurableGroup{ - O2_DEFINE_CONFIGURABLE(cfgUseEvsel, bool, true, "whether to enable event selection") - O2_DEFINE_CONFIGURABLE(cfgCentMin, float, 0.f, "Minimum centrality for selected events") - O2_DEFINE_CONFIGURABLE(cfgCentMax, float, 90.f, "Maximum centrality for selected events") - O2_DEFINE_CONFIGURABLE(cfgVtxZ, float, 10.f, "Accepted z-vertex range") - } evsel; + O2_DEFINE_CONFIGURABLE(cfgUseEvsel, bool, true, "whether to enable event selection") + O2_DEFINE_CONFIGURABLE(cfgCentMin, float, 0.f, "Minimum centrality for selected events") + O2_DEFINE_CONFIGURABLE(cfgCentMax, float, 90.f, "Maximum centrality for selected events") + O2_DEFINE_CONFIGURABLE(cfgVtxZ, float, 10.f, "Accepted z-vertex range")} evsel; O2_DEFINE_CONFIGURABLE(cfgEtaMax, float, 0.8f, "Maximum track #eta") O2_DEFINE_CONFIGURABLE(cfgPtMin, float, 0.2f, "Minimum track #P_{t}") @@ -51,12 +50,12 @@ struct flowZdcEnergy { O2_DEFINE_CONFIGURABLE(cfgDcaXYMax, float, 0.2f, "Maximum DCAxy") O2_DEFINE_CONFIGURABLE(cfgDcaZMax, float, 2.0f, "Maximum DCAz") - ConfigurableAxis axisCent{ "axisCent", { 90, 0, 90 }, "Centrality (%)" }; - ConfigurableAxis axisMult{ "axisMult", { 100, 0, 100000 }, "Multiplicity" }; - ConfigurableAxis axisPt{ "axisPt", { 100, 0, 15 }, "#P_{t}" }; - ConfigurableAxis axisEta{ "axisEta", { 64, -1.6, 1.6 }, "#eta" }; - ConfigurableAxis axisEnergy{ "axisEnergy", { 300, 0, 300 }, "Energy" }; - ConfigurableAxis axisRescaledDiff{ "axisRescaledDiff", { 400, -1, 1 }, "(EA-EC)/(EA+EC)" }; + ConfigurableAxis axisCent{"axisCent", {90, 0, 90}, "Centrality (%)"}; + ConfigurableAxis axisMult{"axisMult", {100, 0, 100000}, "Multiplicity"}; + ConfigurableAxis axisPt{"axisPt", {100, 0, 15}, "#P_{t}"}; + ConfigurableAxis axisEta{"axisEta", {64, -1.6, 1.6}, "#eta"}; + ConfigurableAxis axisEnergy{"axisEnergy", {300, 0, 300}, "Energy"}; + ConfigurableAxis axisRescaledDiff{"axisRescaledDiff", {400, -1, 1}, "(EA-EC)/(EA+EC)"}; // Event counter bins enum SelectionCriteria : uint8_t { @@ -70,9 +69,9 @@ struct flowZdcEnergy { }; Service ccdb; - HistogramRegistry registry{ "registry" }; + HistogramRegistry registry{"registry"}; - Filter trackFilter = nabs(aod::track::eta) < cfgEtaMax && aod::track::pt > cfgPtMin && aod::track::pt < cfgPtMax && nabs(aod::track::dcaXY) < cfgDcaXYMax&& nabs(aod::track::dcaZ) < cfgDcaZMax; + Filter trackFilter = nabs(aod::track::eta) < cfgEtaMax && aod::track::pt > cfgPtMin&& aod::track::pt < cfgPtMax&& nabs(aod::track::dcaXY) < cfgDcaXYMax&& nabs(aod::track::dcaZ) < cfgDcaZMax; using UsedTracks = soa::Filtered>; // Run 3 using CollisionsRun3 = soa::Join; @@ -91,8 +90,8 @@ struct flowZdcEnergy { std::chrono::system_clock::now().time_since_epoch()) .count(); ccdb->setCreatedNotAfter(now); - - registry.add("QA/hEventCount", "Event counter;Selection;Events", { HistType::kTH1D, { { kNSelections, 0, kNSelections } } }); + + registry.add("QA/hEventCount", "Event counter;Selection;Events", {HistType::kTH1D, {{kNSelections, 0, kNSelections}}}); auto hCount = registry.get(HIST("QA/hEventCount")); hCount->GetXaxis()->SetBinLabel(kAllEvents + 1, "All events"); hCount->GetXaxis()->SetBinLabel(kSeln + 1, "Sel7/8"); @@ -101,26 +100,26 @@ struct flowZdcEnergy { hCount->GetXaxis()->SetBinLabel(kBCHasZDC + 1, "BC has ZDC"); hCount->GetXaxis()->SetBinLabel(kSelectedZDC + 1, "Selected ZDC"); - registry.add("QA/hCentrality", "", { HistType::kTH1D, { axisCent } }); - registry.add("QA/hMultiplicity", "", { HistType::kTH1D, { axisMult } }); - registry.add("QA/hMultiplicity_TPC", "", { HistType::kTH1D, { axisMult } }); - registry.add("QA/hPt", "", { HistType::kTH1D, { axisPt } }); - registry.add("QA/hEta", "", { HistType::kTH1D, { axisEta } }); - - registry.add("hEnergyWithCent_ZNA_Common", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNC_Common", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_RescaledDiff", "", { HistType::kTH2D, { axisRescaledDiff, axisCent } }); - registry.add("hEnergyWithCent_ZNA_1", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNA_2", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNA_3", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNA_4", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNC_1", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNC_2", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNC_3", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNC_4", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNA_SumSectors", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_ZNC_SumSectors", "", { HistType::kTH2D, { axisEnergy, axisCent } }); - registry.add("hEnergyWithCent_RescaledSumDiff", "", { HistType::kTH2D, { axisRescaledDiff, axisCent } }); + registry.add("QA/hCentrality", "", {HistType::kTH1D, {axisCent}}); + registry.add("QA/hMultiplicity", "", {HistType::kTH1D, {axisMult}}); + registry.add("QA/hMultiplicity_TPC", "", {HistType::kTH1D, {axisMult}}); + registry.add("QA/hPt", "", {HistType::kTH1D, {axisPt}}); + registry.add("QA/hEta", "", {HistType::kTH1D, {axisEta}}); + + registry.add("hEnergyWithCent_ZNA_Common", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNC_Common", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_RescaledDiff", "", {HistType::kTH2D, {axisRescaledDiff, axisCent}}); + registry.add("hEnergyWithCent_ZNA_1", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNA_2", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNA_3", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNA_4", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNC_1", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNC_2", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNC_3", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNC_4", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNA_SumSectors", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_ZNC_SumSectors", "", {HistType::kTH2D, {axisEnergy, axisCent}}); + registry.add("hEnergyWithCent_RescaledSumDiff", "", {HistType::kTH2D, {axisRescaledDiff, axisCent}}); } // Helper: event selection @@ -150,7 +149,7 @@ struct flowZdcEnergy { } registry.fill(HIST("QA/hEventCount"), kCentrality); } - return true; + return true; } // Helper: fill ZDC observables @@ -263,6 +262,5 @@ struct flowZdcEnergy { WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { return WorkflowSpec{ - adaptAnalysisTask(cfgc) - }; -} \ No newline at end of file + adaptAnalysisTask(cfgc)}; +}