diff --git a/PWGLF/DataModel/LFStrangenessTables.h b/PWGLF/DataModel/LFStrangenessTables.h index efb3bbb51d1..39916967019 100644 --- a/PWGLF/DataModel/LFStrangenessTables.h +++ b/PWGLF/DataModel/LFStrangenessTables.h @@ -58,6 +58,17 @@ DECLARE_SOA_TABLE_VERSIONED(StraRawCents_003, "AOD", "STRARAWCENTS", 3, //! mult::MultAllTracksITSTPC, // ITSTPC track multiplicities, all, no eta cut mult::MultZNA, mult::MultZNC, mult::MultZEM1, // ZDC signals mult::MultZEM2, mult::MultZPA, mult::MultZPC); +DECLARE_SOA_TABLE_VERSIONED(StraRawCents_004, "AOD", "STRARAWCENTS", 4, //! debug information + mult::MultFT0A, mult::MultFT0C, mult::MultFV0A, // FIT detectors + mult::MultNTracksPVeta1, // track multiplicities with eta cut for INEL>0 + mult::MultPVTotalContributors, // number of PV contribs total + mult::MultNTracksGlobal, // global track multiplicities + mult::MultNTracksITSTPC, // track multiplicities, PV contribs, no eta cut + mult::MultAllTracksTPCOnly, // TPConly track multiplicities, all, no eta cut + mult::MultAllTracksITSTPC, // ITSTPC track multiplicities, all, no eta cut + mult::MultZNA, mult::MultZNC, mult::MultZEM1, // ZDC signals + mult::MultZEM2, mult::MultZPA, mult::MultZPC, + evsel::NumTracksInTimeRange); // add occupancy as extra DECLARE_SOA_TABLE(StraEvSels, "AOD", "STRAEVSELS", //! event selection: sel8 evsel::Sel8, evsel::Selection); DECLARE_SOA_TABLE(StraFT0AQVs, "AOD", "STRAFT0AQVS", //! t0a Qvec @@ -73,7 +84,7 @@ DECLARE_SOA_TABLE(StraFT0CQVsEv, "AOD", "STRAFT0CQVSEv", //! events used to comp DECLARE_SOA_TABLE(StraStamps, "AOD", "STRASTAMPS", //! information for ID-ing mag field if needed bc::RunNumber, timestamp::Timestamp); -using StraRawCents = StraRawCents_003; +using StraRawCents = StraRawCents_004; using StraCollision = StraCollisions::iterator; using StraCent = StraCents::iterator; diff --git a/PWGLF/TableProducer/Strangeness/strangederivedbuilder.cxx b/PWGLF/TableProducer/Strangeness/strangederivedbuilder.cxx index cd85f18f9f9..e01fcfaa2fc 100644 --- a/PWGLF/TableProducer/Strangeness/strangederivedbuilder.cxx +++ b/PWGLF/TableProducer/Strangeness/strangederivedbuilder.cxx @@ -281,7 +281,8 @@ struct strangederivedbuilder { collision.multZEM1() * static_cast(fillRawZDC), collision.multZEM2() * static_cast(fillRawZDC), collision.multZPA() * static_cast(fillRawZDC), - collision.multZPC() * static_cast(fillRawZDC)); + collision.multZPC() * static_cast(fillRawZDC), + collision.trackOccupancyInTimeRange()); } } for (int i = 0; i < V0Table_thisColl.size(); i++) @@ -332,7 +333,8 @@ struct strangederivedbuilder { collision.multZEM1() * static_cast(fillRawZDC), collision.multZEM2() * static_cast(fillRawZDC), collision.multZPA() * static_cast(fillRawZDC), - collision.multZPC() * static_cast(fillRawZDC)); + collision.multZPC() * static_cast(fillRawZDC), + collision.trackOccupancyInTimeRange()); } } for (int i = 0; i < V0Table_thisColl.size(); i++) @@ -401,7 +403,8 @@ struct strangederivedbuilder { collision.multZEM1() * static_cast(fillRawZDC), collision.multZEM2() * static_cast(fillRawZDC), collision.multZPA() * static_cast(fillRawZDC), - collision.multZPC() * static_cast(fillRawZDC)); + collision.multZPC() * static_cast(fillRawZDC), + collision.trackOccupancyInTimeRange()); } } for (int i = 0; i < V0Table_thisColl.size(); i++) diff --git a/PWGLF/TableProducer/converters/CMakeLists.txt b/PWGLF/TableProducer/converters/CMakeLists.txt index 7080dc720dd..660365da5ac 100644 --- a/PWGLF/TableProducer/converters/CMakeLists.txt +++ b/PWGLF/TableProducer/converters/CMakeLists.txt @@ -19,6 +19,11 @@ o2physics_add_dpl_workflow(strarawcentsconverter PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) +o2physics_add_dpl_workflow(strarawcentsconverter2v4 + SOURCES strarawcentsconverter2v4.cxx + PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore + COMPONENT_NAME Analysis) + o2physics_add_dpl_workflow(v0coresconverter SOURCES v0coresconverter.cxx PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore diff --git a/PWGLF/TableProducer/converters/strarawcentsconverter2v4.cxx b/PWGLF/TableProducer/converters/strarawcentsconverter2v4.cxx new file mode 100644 index 00000000000..c94227e31cd --- /dev/null +++ b/PWGLF/TableProducer/converters/strarawcentsconverter2v4.cxx @@ -0,0 +1,50 @@ +// 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 "PWGLF/DataModel/LFStrangenessTables.h" + +using namespace o2; +using namespace o2::framework; + +// Converts V0 version 001 to 002 +struct strarawcentsconverter2v4 { + Produces straRawCents_004; + + void process(aod::StraRawCents_003 const& straRawCents_003) + { + for (auto& values : straRawCents_003) { + straRawCents_004(values.multFT0A(), + values.multFT0C(), + values.multFT0A(), + values.multNTracksPVeta1(), + values.multPVTotalContributors(), + values.multNTracksGlobal(), + values.multNTracksITSTPC(), + values.multAllTracksTPCOnly(), + values.multAllTracksITSTPC(), + values.multZNA(), + values.multZNC(), + values.multZEM1(), + values.multZEM2(), + values.multZPA(), + values.multZPC(), + 0 /*dummy occupancy value*/); + } + } +}; + +WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) +{ + return WorkflowSpec{ + adaptAnalysisTask(cfgc)}; +}