From de78d173c2045987f5c7a9d3d77372117c9ea3ea Mon Sep 17 00:00:00 2001 From: David Dobrigkeit Chinellato Date: Sat, 8 Apr 2023 15:12:34 -0300 Subject: [PATCH 1/4] Add zdc converter --- Common/TableProducer/CMakeLists.txt | 5 ++ Common/TableProducer/zdcConverter.cxx | 113 ++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 Common/TableProducer/zdcConverter.cxx diff --git a/Common/TableProducer/CMakeLists.txt b/Common/TableProducer/CMakeLists.txt index ab5d462f1da..e81c2851f89 100644 --- a/Common/TableProducer/CMakeLists.txt +++ b/Common/TableProducer/CMakeLists.txt @@ -104,3 +104,8 @@ o2physics_add_dpl_workflow(calo-label-converter SOURCES caloLabelConverter.cxx PUBLIC_LINK_LIBRARIES O2::Framework COMPONENT_NAME Analysis) + +o2physics_add_dpl_workflow(zdc-converter + SOURCES zdcConverter.cxx + PUBLIC_LINK_LIBRARIES O2::Framework + COMPONENT_NAME Analysis) \ No newline at end of file diff --git a/Common/TableProducer/zdcConverter.cxx b/Common/TableProducer/zdcConverter.cxx new file mode 100644 index 00000000000..e52b801ba55 --- /dev/null +++ b/Common/TableProducer/zdcConverter.cxx @@ -0,0 +1,113 @@ +// 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. +// +// This software is distributed under the terms of the GNU General Public +// License v3 (GPL Version 3), copied verbatim in the file "COPYING". +// +// In applying this license CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +#include "Framework/runDataProcessing.h" +#include "Framework/AnalysisTask.h" +#include "Framework/AnalysisDataModel.h" +#include "ZDCBase/Constants.h" + +using namespace o2; +using namespace o2::framework; +using namespace o2::zdc; + +struct zdcConverter { + Produces Zdcs_001; + + void process(aod::Zdcs_000 const& zdcLegacy, aod::BCs const&) + { + for (auto& zdcData : zdcLegacy) { + // Get legacy information, please + auto bc = zdcData.bc(); + auto energyZEM1 = zdcData.energyZEM1(); + auto energyZEM2 = zdcData.energyZEM2(); + auto energyCommonZNA = zdcData.energyCommonZNA(); + auto energyCommonZNC = zdcData.energyCommonZNC(); + auto energyCommonZPA = zdcData.energyCommonZPA(); + auto energyCommonZPC = zdcData.energyCommonZPC(); + auto energySectorZNA = zdcData.energySectorZNA(); + auto energySectorZNC = zdcData.energySectorZNC(); + auto energySectorZPA = zdcData.energySectorZPA(); + auto energySectorZPC = zdcData.energySectorZPC(); + auto timeZEM1 = zdcData.timeZEM1(); + auto timeZEM2 = zdcData.timeZEM2(); + auto timeZNA = zdcData.timeZNA(); + auto timeZNC = zdcData.timeZNC(); + auto timeZPA = zdcData.timeZPA(); + auto timeZPC = zdcData.timeZPC(); + + // Create variables to initialize Zdcs_001 table + std::vector zdcEnergy, zdcAmplitudes, zdcTime; + std::vector zdcChannelsE, zdcChannelsT; + + // Tie variables in such that they get read correctly later + zdcEnergy.emplace_back(energyZEM1); + zdcChannelsE.emplace_back(IdZEM1); + zdcAmplitudes.emplace_back(energyZEM1); // WARNING: DUMMY VALUE + zdcTime.emplace_back(timeZEM1); + zdcChannelsT.emplace_back(IdZEM1); + + zdcEnergy.emplace_back(energyZEM2); + zdcChannelsE.emplace_back(IdZEM2); + zdcAmplitudes.emplace_back(energyZEM2); // WARNING: DUMMY VALUE + zdcTime.emplace_back(timeZEM2); + zdcChannelsT.emplace_back(IdZEM2); + + zdcEnergy.emplace_back(energyCommonZNA); + zdcChannelsE.emplace_back(IdZNAC); + zdcAmplitudes.emplace_back(energyCommonZNA); // WARNING: DUMMY VALUE + zdcTime.emplace_back(timeZNA); + zdcChannelsT.emplace_back(IdZNAC); + + zdcEnergy.emplace_back(energyCommonZNC); + zdcChannelsE.emplace_back(IdZNCC); + zdcAmplitudes.emplace_back(energyCommonZNC); // WARNING: DUMMY VALUE + zdcTime.emplace_back(timeZNC); + zdcChannelsT.emplace_back(IdZNCC); + + zdcEnergy.emplace_back(energyCommonZPA); + zdcChannelsE.emplace_back(IdZPAC); + zdcAmplitudes.emplace_back(energyCommonZPA); // WARNING: DUMMY VALUE + zdcTime.emplace_back(timeZPA); + zdcChannelsT.emplace_back(IdZPAC); + + zdcEnergy.emplace_back(energyCommonZPC); + zdcChannelsE.emplace_back(IdZPCC); + zdcAmplitudes.emplace_back(energyCommonZPC); // WARNING: DUMMY VALUE + zdcTime.emplace_back(timeZPC); + zdcChannelsT.emplace_back(IdZPCC); + + for(uint64_t ic = 0; ic < 4; ic++){ + zdcEnergy.emplace_back(energySectorZNA[ic]); + zdcChannelsE.emplace_back(IdZNA1+ic); + zdcEnergy.emplace_back(energySectorZNC[ic]); + zdcChannelsE.emplace_back(IdZNC1+ic); + zdcEnergy.emplace_back(energySectorZPA[ic]); + zdcChannelsE.emplace_back(IdZPA1+ic); + zdcEnergy.emplace_back(energySectorZPC[ic]); + zdcChannelsE.emplace_back(IdZPC1+ic); + } + + Zdcs_001(bc, + zdcEnergy, + zdcChannelsE, + zdcAmplitudes, + zdcTime, + zdcChannelsT); + } + } +}; + +WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) +{ + return WorkflowSpec{ + adaptAnalysisTask(cfgc), + }; +} \ No newline at end of file From 1e1eae805d351a98c5a0967766a9197367751b8b Mon Sep 17 00:00:00 2001 From: ALICE Builder Date: Sat, 8 Apr 2023 20:14:20 +0200 Subject: [PATCH 2/4] Please consider the following formatting changes (#94) --- Common/TableProducer/zdcConverter.cxx | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Common/TableProducer/zdcConverter.cxx b/Common/TableProducer/zdcConverter.cxx index e52b801ba55..0619c9b550c 100644 --- a/Common/TableProducer/zdcConverter.cxx +++ b/Common/TableProducer/zdcConverter.cxx @@ -48,51 +48,51 @@ struct zdcConverter { std::vector zdcChannelsE, zdcChannelsT; // Tie variables in such that they get read correctly later - zdcEnergy.emplace_back(energyZEM1); + zdcEnergy.emplace_back(energyZEM1); zdcChannelsE.emplace_back(IdZEM1); zdcAmplitudes.emplace_back(energyZEM1); // WARNING: DUMMY VALUE zdcTime.emplace_back(timeZEM1); zdcChannelsT.emplace_back(IdZEM1); - zdcEnergy.emplace_back(energyZEM2); + zdcEnergy.emplace_back(energyZEM2); zdcChannelsE.emplace_back(IdZEM2); zdcAmplitudes.emplace_back(energyZEM2); // WARNING: DUMMY VALUE zdcTime.emplace_back(timeZEM2); zdcChannelsT.emplace_back(IdZEM2); - zdcEnergy.emplace_back(energyCommonZNA); + zdcEnergy.emplace_back(energyCommonZNA); zdcChannelsE.emplace_back(IdZNAC); zdcAmplitudes.emplace_back(energyCommonZNA); // WARNING: DUMMY VALUE zdcTime.emplace_back(timeZNA); zdcChannelsT.emplace_back(IdZNAC); - zdcEnergy.emplace_back(energyCommonZNC); + zdcEnergy.emplace_back(energyCommonZNC); zdcChannelsE.emplace_back(IdZNCC); zdcAmplitudes.emplace_back(energyCommonZNC); // WARNING: DUMMY VALUE zdcTime.emplace_back(timeZNC); zdcChannelsT.emplace_back(IdZNCC); - zdcEnergy.emplace_back(energyCommonZPA); + zdcEnergy.emplace_back(energyCommonZPA); zdcChannelsE.emplace_back(IdZPAC); zdcAmplitudes.emplace_back(energyCommonZPA); // WARNING: DUMMY VALUE zdcTime.emplace_back(timeZPA); zdcChannelsT.emplace_back(IdZPAC); - zdcEnergy.emplace_back(energyCommonZPC); + zdcEnergy.emplace_back(energyCommonZPC); zdcChannelsE.emplace_back(IdZPCC); zdcAmplitudes.emplace_back(energyCommonZPC); // WARNING: DUMMY VALUE zdcTime.emplace_back(timeZPC); zdcChannelsT.emplace_back(IdZPCC); - for(uint64_t ic = 0; ic < 4; ic++){ - zdcEnergy.emplace_back(energySectorZNA[ic]); - zdcChannelsE.emplace_back(IdZNA1+ic); - zdcEnergy.emplace_back(energySectorZNC[ic]); - zdcChannelsE.emplace_back(IdZNC1+ic); - zdcEnergy.emplace_back(energySectorZPA[ic]); - zdcChannelsE.emplace_back(IdZPA1+ic); - zdcEnergy.emplace_back(energySectorZPC[ic]); - zdcChannelsE.emplace_back(IdZPC1+ic); + for (uint64_t ic = 0; ic < 4; ic++) { + zdcEnergy.emplace_back(energySectorZNA[ic]); + zdcChannelsE.emplace_back(IdZNA1 + ic); + zdcEnergy.emplace_back(energySectorZNC[ic]); + zdcChannelsE.emplace_back(IdZNC1 + ic); + zdcEnergy.emplace_back(energySectorZPA[ic]); + zdcChannelsE.emplace_back(IdZPA1 + ic); + zdcEnergy.emplace_back(energySectorZPC[ic]); + zdcChannelsE.emplace_back(IdZPC1 + ic); } Zdcs_001(bc, From e8cb8053734a03aa4759bc67f25be9986f0b093c Mon Sep 17 00:00:00 2001 From: ddobrigk Date: Tue, 11 Apr 2023 04:07:16 -0300 Subject: [PATCH 3/4] retrigger CI --- Common/TableProducer/zdcConverter.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Common/TableProducer/zdcConverter.cxx b/Common/TableProducer/zdcConverter.cxx index 0619c9b550c..1007db0bcc6 100644 --- a/Common/TableProducer/zdcConverter.cxx +++ b/Common/TableProducer/zdcConverter.cxx @@ -9,6 +9,9 @@ // granted to it by virtue of its status as an Intergovernmental Organization // or submit itself to any jurisdiction. +// ZDC converter to new format +// to be used with Run 2 converted data and older AO2Ds + #include "Framework/runDataProcessing.h" #include "Framework/AnalysisTask.h" #include "Framework/AnalysisDataModel.h" @@ -110,4 +113,4 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) return WorkflowSpec{ adaptAnalysisTask(cfgc), }; -} \ No newline at end of file +} From 7f0cc3430c70347041b4446dd795b1a957494b49 Mon Sep 17 00:00:00 2001 From: ALICE Builder Date: Tue, 11 Apr 2023 09:08:34 +0200 Subject: [PATCH 4/4] Please consider the following formatting changes (#95) --- Common/TableProducer/zdcConverter.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/TableProducer/zdcConverter.cxx b/Common/TableProducer/zdcConverter.cxx index 1007db0bcc6..2c94d5ca46f 100644 --- a/Common/TableProducer/zdcConverter.cxx +++ b/Common/TableProducer/zdcConverter.cxx @@ -9,7 +9,7 @@ // granted to it by virtue of its status as an Intergovernmental Organization // or submit itself to any jurisdiction. -// ZDC converter to new format +// ZDC converter to new format // to be used with Run 2 converted data and older AO2Ds #include "Framework/runDataProcessing.h"