Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
b04f601
Update strangeness data model to reduce derived data size (in pp)
May 29, 2026
53fc054
Add converters for new data model
May 29, 2026
8f12b02
Update task producing or subscribing to StraEvSels
May 29, 2026
a3cea84
Please consider the following formatting changes
alibuild Jun 1, 2026
5959fc9
Merge pull request #71 from alibuild/alibot-cleanup-16486
romainschotter Jun 1, 2026
2f144fe
Merge branch 'master' into NewStraEvSelDataModel
romainschotter Jun 1, 2026
2f97dd4
Remove unused McCollisionExtra.h include
romainschotter Jun 1, 2026
212bc72
Fix CMakeLists.txt for strangeness converters
romainschotter Jun 1, 2026
1d8a0d0
Add workflow for stradautracksconverter
romainschotter Jun 1, 2026
b8ac0da
Update sigmaanalysis.cxx
romainschotter Jun 1, 2026
23efd26
Update strangenessderivedbinnedinfo
romainschotter Jun 1, 2026
8dd4508
Update taskLambdaSpinCorr
romainschotter Jun 1, 2026
d15190a
Update lambdapolsp
romainschotter Jun 1, 2026
5deaeb7
Update derivedupcanalysis.cxx
romainschotter Jun 1, 2026
ccb309e
Update higherMassResonances
romainschotter Jun 1, 2026
c4d35ed
Update strderivedGenQA
romainschotter Jun 1, 2026
f05fb2a
Update cascadeflow
romainschotter Jun 1, 2026
abb19f0
Update quarkoniaToHyperons
romainschotter Jun 1, 2026
54289cf
Update flowEfficiencyCasc
romainschotter Jun 1, 2026
6af29bd
Fix warning about unused variables
romainschotter Jun 1, 2026
0e13b5a
Fix formatting copyright line 1/3
romainschotter Jun 1, 2026
760d79c
Fix formatting copyright line 2/3
romainschotter Jun 1, 2026
92a8f80
Fix formatting copyright line 3/3
romainschotter Jun 1, 2026
7eb8dee
Fix warning about unused variables
romainschotter Jun 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions PWGCF/Flow/Tasks/flowEfficiencyCasc.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
AxisSpec axisK0sMass = {400, 0.4f, 0.6f, "Inv. Mass (GeV)"};
AxisSpec axisLambdaMass = {160, 1.08f, 1.16f, "Inv. Mass (GeV)"};

using MyCollisions = soa::Join<aod::StraCollisions, aod::StraEvSels, aod::StraCents>;
using MyCollisions = soa::Join<aod::StraCollisions, aod::StraEvSels, aod::StraEvSelExtras, aod::StraCents>;
using MyMcCollisions = soa::Join<aod::StraMCCollisions, aod::StraMCCollMults>;
using CascMCCandidates = soa::Join<aod::CascCollRefs, aod::CascCores, aod::CascExtras, aod::CascBBs, aod::CascCoreMCLabels>;
using V0MCCandidates = soa::Join<aod::V0CollRefs, aod::V0Cores, aod::V0Extras, aod::V0CoreMCLabels>;
Expand Down Expand Up @@ -255,20 +255,20 @@
// Omega and antiOmega
int pdgCode{cascMC.pdgCode()};
if (!cfgcheckMCParticle || (std::abs(pdgCode) == kOmegaMinus && std::abs(cascMC.pdgCodeV0()) == kLambda0 && std::abs(cascMC.pdgCodeBachelor()) == kKPlus)) {
if (casc.sign() < 0 && (casc.mOmega() > 1.63) && (casc.mOmega() < 1.71) && std::fabs(casc.yOmega()) < cfgCasc_rapidity &&

Check failure on line 258 in PWGCF/Flow/Tasks/flowEfficiencyCasc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
(!cfgcheckDauTPC || (std::fabs(bachelor.tpcNSigmaKa()) < cfgNSigma[2] && std::fabs(posdau.tpcNSigmaPr()) < cfgNSigma[1] && std::fabs(negdau.tpcNSigmaPi()) < cfgNSigma[0]))) {
registry.fill(HIST("h3DRecOmega"), casc.pt(), rectracknum, casc.mOmega());
} else if (casc.sign() > 0 && (casc.mOmega() > 1.63) && (casc.mOmega() < 1.71) && std::fabs(casc.yOmega()) < cfgCasc_rapidity &&

Check failure on line 261 in PWGCF/Flow/Tasks/flowEfficiencyCasc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
(!cfgcheckDauTPC || (std::fabs(bachelor.tpcNSigmaKa()) < cfgNSigma[2] && std::fabs(negdau.tpcNSigmaPr()) < cfgNSigma[1] && std::fabs(posdau.tpcNSigmaPi()) < cfgNSigma[0]))) {
registry.fill(HIST("h3DRecOmega"), casc.pt(), rectracknum, casc.mOmega());
}
}
// Xi and antiXi
if (!cfgcheckMCParticle || (std::abs(pdgCode) == kXiMinus && std::abs(cascMC.pdgCodeV0()) == kLambda0 && std::abs(cascMC.pdgCodeBachelor()) == kPiPlus)) {
if (casc.sign() < 0 && (casc.mXi() > 1.30) && (casc.mXi() < 1.37) && std::fabs(casc.yXi()) < cfgCasc_rapidity &&

Check failure on line 268 in PWGCF/Flow/Tasks/flowEfficiencyCasc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
(!cfgcheckDauTPC || (std::fabs(bachelor.tpcNSigmaPi()) < cfgNSigma[0] && std::fabs(posdau.tpcNSigmaPr()) < cfgNSigma[1] && std::fabs(negdau.tpcNSigmaPi()) < cfgNSigma[0]))) {
registry.fill(HIST("h3DRecXi"), casc.pt(), rectracknum, casc.mXi());
} else if (casc.sign() > 0 && (casc.mXi() > 1.30) && (casc.mXi() < 1.37) && std::fabs(casc.yXi()) < cfgCasc_rapidity &&

Check failure on line 271 in PWGCF/Flow/Tasks/flowEfficiencyCasc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
(!cfgcheckDauTPC || (std::fabs(bachelor.tpcNSigmaPi()) < cfgNSigma[0] && std::fabs(negdau.tpcNSigmaPr()) < cfgNSigma[1] && std::fabs(posdau.tpcNSigmaPi()) < cfgNSigma[0]))) {
registry.fill(HIST("h3DRecXi"), casc.pt(), rectracknum, casc.mXi());
}
Expand Down Expand Up @@ -325,7 +325,7 @@
int pdgCode{v0MC.pdgCode()};
// K0short
if (!cfgcheckMCParticle || (std::abs(pdgCode) == kK0Short && v0MC.pdgCodePositive() == kPiPlus && v0MC.pdgCodeNegative() == kPiMinus)) {
if (v0.qtarm() / std::fabs(v0.alpha()) > cfgv0_ArmPodocut && std::fabs(v0.y()) < 0.5 && std::fabs(v0.mK0Short() - o2::constants::physics::MassK0Short) < cfgv0_mk0swindow &&

Check failure on line 328 in PWGCF/Flow/Tasks/flowEfficiencyCasc.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
(!cfgcheckDauTPC || (std::fabs(v0posdau.tpcNSigmaPi()) < cfgNSigma[0] && std::fabs(v0negdau.tpcNSigmaPi()) < cfgNSigma[0]))) {
registry.fill(HIST("h3DRecK0s"), v0.pt(), rectracknum, v0.mK0Short());
registry.fill(HIST("QAhisto/V0/hqaarm_podoafter"), v0.alpha(), v0.qtarm());
Expand All @@ -345,7 +345,7 @@
}
PROCESS_SWITCH(FlowEfficiencyCasc, processRec, "process reconstructed information", true);

void processGen(MyMcCollisions::iterator const&, soa::SmallGroups<soa::Join<aod::StraCollisions, aod::StraEvSels, aod::StraCollLabels>> const& coll, const soa::SmallGroups<soa::Join<aod::CascMCCores, aod::CascMCCollRefs>>& cascMCs, const soa::SmallGroups<soa::Join<aod::V0MCCores, aod::V0MCCollRefs>>& v0MCs)
void processGen(MyMcCollisions::iterator const&, soa::SmallGroups<soa::Join<aod::StraCollisions, aod::StraEvSels, aod::StraEvSelExtras, aod::StraCollLabels>> const& coll, const soa::SmallGroups<soa::Join<aod::CascMCCores, aod::CascMCCollRefs>>& cascMCs, const soa::SmallGroups<soa::Join<aod::V0MCCores, aod::V0MCCollRefs>>& v0MCs)
{
registry.fill(HIST("mcEventCounter"), 0.5);
int rectracknum = 0;
Expand Down
8 changes: 4 additions & 4 deletions PWGDQ/Tasks/quarkoniaToHyperons.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@
#include <vector>

// constants
const float ctauXiPDG = 4.91; // Xi PDG lifetime

Check failure on line 83 in PWGDQ/Tasks/quarkoniaToHyperons.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
const float ctauOmegaPDG = 2.461; // Omega PDG lifetime

Check failure on line 84 in PWGDQ/Tasks/quarkoniaToHyperons.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.

using namespace o2;
using namespace o2::framework;
Expand Down Expand Up @@ -378,7 +378,7 @@
Service<o2::framework::O2DatabasePDG> pdgDB;

// For manual sliceBy
PresliceUnsorted<soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraCollLabels>> perMcCollision = aod::v0data::straMCCollisionId;
PresliceUnsorted<soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraEvSelExtras, aod::StraCollLabels>> perMcCollision = aod::v0data::straMCCollisionId;

enum Selection : uint64_t { selCosPA = 0,
selRadius,
Expand Down Expand Up @@ -935,7 +935,7 @@
histos.print();
}

template <typename TCollision> // TCollision should be of the type: soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraStamps>::iterator or so
template <typename TCollision> // TCollision should be of the type: soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraEvSelExtras, aod::StraStamps>::iterator or so
void initCCDB(TCollision const& collision)
{
if (mRunNumber == collision.runNumber() || (ccdbConfigurations.useCustomRunNumber && mRunNumber == ccdbConfigurations.customRunNumber)) {
Expand All @@ -949,7 +949,7 @@
if (ccdbConfigurations.useCustomMagField) {
magField = ccdbConfigurations.customMagField;
o2::parameters::GRPMagField grpmag;
if (fabs(magField) > 1e-5) {

Check failure on line 952 in PWGDQ/Tasks/quarkoniaToHyperons.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
grpmag.setL3Current(30000.f / (magField / 5.0f));
}
o2::base::Propagator::initFieldFromGRP(&grpmag);
Expand Down Expand Up @@ -2214,10 +2214,10 @@
if (std::fabs(rapiditymc) > rapidityCut)
return;

if (hyperonMC.pdgCodeMother() == 441 && hyperonMC.pdgCodeMother() == antiHyperonMC.pdgCodeMother()) { // EtaC(1S)

Check failure on line 2217 in PWGDQ/Tasks/quarkoniaToHyperons.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
histos.fill(HIST("K0sK0s/h3dInvMassTrueEtaC1S"), centrality, ptmc, invmass);
}
if (hyperonMC.pdgCodeMother() == 443 && hyperonMC.pdgCodeMother() == antiHyperonMC.pdgCodeMother()) { // J/psi

Check failure on line 2220 in PWGDQ/Tasks/quarkoniaToHyperons.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
histos.fill(HIST("K0sK0s/h3dInvMassTrueJPsi"), centrality, ptmc, invmass);
}
if (hyperonMC.pdgCodeMother() == 10441 && hyperonMC.pdgCodeMother() == antiHyperonMC.pdgCodeMother()) { // ChiC0
Expand Down Expand Up @@ -2497,7 +2497,7 @@

// ______________________________________________________
// Real data processing - no MC subscription
void processRealData(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraStamps> const& collisions, V0Candidates const& fullV0s, CascadeCandidates const& fullCascades, DauTracks const&)
void processRealData(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraEvSelExtras, aod::StraStamps> const& collisions, V0Candidates const& fullV0s, CascadeCandidates const& fullCascades, DauTracks const&)
{
// Custom grouping
v0sGrouped.clear();
Expand Down Expand Up @@ -2674,7 +2674,7 @@

// ______________________________________________________
// Simulated processing (subscribes to MC information too)
void processMonteCarlo(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraStamps, aod::StraCollLabels> const& collisions, V0MCCandidates const& fullV0s, CascadeMCCandidates const& fullCascades, DauTracks const&, aod::MotherMCParts const&, soa::Join<aod::StraMCCollisions, aod::StraMCCollMults> const& /*mccollisions*/, soa::Join<aod::V0MCCores, aod::V0MCCollRefs> const&, soa::Join<aod::CascMCCores, aod::CascMCCollRefs> const&)
void processMonteCarlo(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraEvSelExtras, aod::StraStamps, aod::StraCollLabels> const& collisions, V0MCCandidates const& fullV0s, CascadeMCCandidates const& fullCascades, DauTracks const&, aod::MotherMCParts const&, soa::Join<aod::StraMCCollisions, aod::StraMCCollMults> const& /*mccollisions*/, soa::Join<aod::V0MCCores, aod::V0MCCollRefs> const&, soa::Join<aod::CascMCCores, aod::CascMCCollRefs> const&)
{
// Custom grouping
v0sGrouped.clear();
Expand Down
66 changes: 56 additions & 10 deletions PWGLF/DataModel/LFStrangenessTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -280,15 +280,60 @@ DECLARE_SOA_TABLE_VERSIONED(StraEvSels_005, "AOD", "STRAEVSELS", 5, //!
// stracollision::EnergyCommonZNC<mult::MultZNC>,
stracollision::IsUPC<udcollision::GapSide>);

DECLARE_SOA_TABLE(StraEvSelExtras, "AOD", "STRAEVSELEXTRAS", //! debug information
udzdc::TimeZNA, // UPC info: re-assigned ZN-A time, in case of SG event, from the most active bc
udzdc::TimeZNC, // UPC info: re-assigned ZN-C time, in case of SG event, from the most active bc
udcollision::TimeFDDA, // Average A-side time (ns)
udcollision::TimeFDDC, // Average C-side time (ns)
udcollision::TimeFV0A, // Average A-side time (ns)
udcollision::TimeFT0A, // Average A-side time (ns)
udcollision::TimeFT0C, // Average C-side time (ns)
udcollision::TriggerMaskFT0); // 8 trigger bits: OrA, OrC, Semi-central, Central, Vertex, IsActiveA, IsActiveC, IsFlangeEvent
DECLARE_SOA_TABLE_VERSIONED(StraEvSels_006, "AOD", "STRAEVSELS", 6, //! debug information
evsel::Sel8, evsel::Selection, //! event selection: sel8
mult::MultFT0A, mult::MultFT0C, mult::MultFV0A, // FIT detectors
mult::MultFDDA, mult::MultFDDC,
mult::MultNTracksPVeta1, // track multiplicities with eta cut for INEL>0
mult::MultPVTotalContributors, // number of PV contribs total
mult::MultNTracksGlobal, // global track multiplicities
collision::Flags, // Contains Vertex::Flags, with most notably the UPCMode to know whether the vertex has been found using UPC settings
evsel::Alias, // trigger aliases (e.g. kTVXinTRD for v2)
evsel::Rct); // Bitmask of RCT flags

DECLARE_SOA_TABLE(StraEvSelExtras_000, "AOD", "STRAEVSELEXTRAS", //! debug information
udzdc::TimeZNA, // UPC info: re-assigned ZN-A time, in case of SG event, from the most active bc
udzdc::TimeZNC, // UPC info: re-assigned ZN-C time, in case of SG event, from the most active bc
udcollision::TimeFDDA, // Average A-side time (ns)
udcollision::TimeFDDC, // Average C-side time (ns)
udcollision::TimeFV0A, // Average A-side time (ns)
udcollision::TimeFT0A, // Average A-side time (ns)
udcollision::TimeFT0C, // Average C-side time (ns)
udcollision::TriggerMaskFT0); // 8 trigger bits: OrA, OrC, Semi-central, Central, Vertex, IsActiveA, IsActiveC, IsFlangeEvent

DECLARE_SOA_TABLE_VERSIONED(StraEvSelExtras_001, "AOD", "STRAEVSELEXTRAS", 1, //! debug information
mult::MultZNA, mult::MultZNC, mult::MultZEM1, // ZDC signals
mult::MultZEM2, mult::MultZPA, mult::MultZPC,
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
evsel::NumTracksInTimeRange, // add occupancy in specified time interval by a number of tracks from nearby collisions
evsel::SumAmpFT0CInTimeRange, // add occupancy in specified time interval by a sum of FT0C amplitudes from nearby collisions
udcollision::TimeFDDA, // Average A-side time (ns)
udcollision::TimeFDDC, // Average C-side time (ns)
udcollision::TimeFV0A, // Average A-side time (ns)
udcollision::TimeFT0A, // Average A-side time (ns)
udcollision::TimeFT0C, // Average C-side time (ns)
udcollision::TriggerMaskFT0, // 8 trigger bits: OrA, OrC, Semi-central, Central, Vertex, IsActiveA, IsActiveC, IsFlangeEvent
udcollision::GapSide, // UPC info: 0 for side A, 1 for side C, 2 for both sides, 3 neither A or C, 4 not enough or too many pv contributors
udcollision::TotalFT0AmplitudeA, // UPC info: re-assigned FT0-A amplitude, in case of SG event, from the most active bc
udcollision::TotalFT0AmplitudeC, // UPC info: re-assigned FT0-C amplitude, in case of SG event, from the most active bc
udcollision::TotalFV0AmplitudeA, // UPC info: re-assigned FV0-A amplitude, in case of SG event, from the most active bc
udcollision::TotalFDDAmplitudeA, // UPC info: re-assigned FDD-A amplitude, in case of SG event, from the most active bc
udcollision::TotalFDDAmplitudeC, // UPC info: re-assigned FDD-C amplitude, in case of SG event, from the most active bc
udzdc::TimeZNA, // UPC info: re-assigned ZN-A time, in case of SG event, from the most active bc
udzdc::TimeZNC, // UPC info: re-assigned ZN-C time, in case of SG event, from the most active bc
udzdc::EnergyCommonZNA, // UPC info: re-assigned ZN-A amplitude, in case of SG event, from the most active bc
udzdc::EnergyCommonZNC, // UPC info: re-assigned ZN-C amplitude, in case of SG event, from the most active bc
// Dynamic columns for manipulating information
// stracollision::TotalFV0AmplitudeA<mult::MultFV0A>,
// stracollision::TotalFT0AmplitudeA<mult::MultFT0A>,
// stracollision::TotalFT0AmplitudeC<mult::MultFT0C>,
// stracollision::TotalFDDAmplitudeA<mult::MultFDDA>,
// stracollision::TotalFDDAmplitudeC<mult::MultFDDC>,
// stracollision::EnergyCommonZNA<mult::MultZNA>,
// stracollision::EnergyCommonZNC<mult::MultZNC>,
stracollision::IsUPC<udcollision::GapSide>);

DECLARE_SOA_TABLE(StraEvSelsRun2, "AOD", "STRAEVSELSRUN2", //! debug information
evsel::Sel8, evsel::Sel7, evsel::Selection, //! event selection: sel8
Expand Down Expand Up @@ -334,7 +379,8 @@ DECLARE_SOA_TABLE_VERSIONED(StraEvTimes_001, "AOD", "STRAEVTIMES", 1, //! event

using StraRawCents = StraRawCents_004;
using StraCents = StraCents_002;
using StraEvSels = StraEvSels_005;
using StraEvSels = StraEvSels_006;
using StraEvSelExtras = StraEvSelExtras_001;
using StraStamps = StraStamps_001;
using StraEvTimes = StraEvTimes_001;
using StraCollision = StraCollisions::iterator;
Expand Down
17 changes: 16 additions & 1 deletion PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ o2physics_add_dpl_workflow(stradautrackstofpidconverter3

o2physics_add_dpl_workflow(stradautracksextraconverter
SOURCES stradautracksextraconverter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(stradautracksextraconverter2
Expand Down Expand Up @@ -84,6 +84,21 @@ o2physics_add_dpl_workflow(straevselsconverter5
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(straevselsconverter6
SOURCES straevselsconverter6.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::AnalysisCCDB
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(straevselextrasconverter
SOURCES straevselextrasconverter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(straevselextrasconverter2
SOURCES straevselextrasconverter2.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(straevselsconverter2rawcents
SOURCES straevselsconverter2rawcents.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
// 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 "PWGLF/DataModel/LFStrangenessTables.h"

#include "CCDB/BasicCCDBManager.h"
#include "DataFormatsParameters/AggregatedRunInfo.h"
#include "Framework/AnalysisDataModel.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"

using namespace o2;
using namespace o2::framework;
using namespace o2::aod::evsel;

// Converts straevselsextrasconverter1 converts StraEvSelExtras_000 into StraEvSelExtras_001
struct straevselextrasconverter {
Produces<aod::StraEvSelExtras_001> straEvSelExtras_001;

void process(soa::Join<aod::StraEvSels_005, aod::StraEvSelExtras_000> const& straEvSels_005)
{
for (auto& values : straEvSels_005) {
straEvSelExtras_001(values.multZNA(),
values.multZNC(),
values.multZEM1(),
values.multZEM2(),
values.multZPA(),
values.multZPC(),
values.multNTracksITSTPC(),
values.multAllTracksTPCOnly(),
values.multAllTracksITSTPC(),
values.trackOccupancyInTimeRange(),
values.ft0cOccupancyInTimeRange(),
values.timeFDDA(),
values.timeFDDC(),
values.timeFV0A(),
values.timeFT0A(),
values.timeFT0C(),
values.triggerMaskFT0(),
values.gapSide(),
values.totalFT0AmplitudeA(),
values.totalFT0AmplitudeC(),
values.totalFV0AmplitudeA(),
values.totalFDDAmplitudeA(),
values.totalFDDAmplitudeC(),
values.timeZNA(),
values.timeZNC(),
values.energyCommonZNA(),
values.energyCommonZNC());
}
}
};

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{
adaptAnalysisTask<straevselextrasconverter>(cfgc)};
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
// 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 "PWGLF/DataModel/LFStrangenessTables.h"

#include "CCDB/BasicCCDBManager.h"
#include "DataFormatsParameters/AggregatedRunInfo.h"
#include "Framework/AnalysisDataModel.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"

using namespace o2;
using namespace o2::framework;
using namespace o2::aod::evsel;

// Produce dummy StraEvSelExtras for analysis subscribing to StraEvSelExtras but not saved in the strangeness derived data (typically when running over pp strangeness derived data)
struct straevselextrasconverter2 {
Produces<aod::StraEvSelExtras> straEvSelExtras;

void process(aod::StraEvSels const& straEvSels)
{
for (int ii = 0; ii < straEvSels.size(); ii++) {
straEvSelExtras(-999., // dummy multZNA,
-999., // dummy multZNC,
-999., // dummy multZEM1,
-999., // dummy multZEM2,
-999., // dummy multZPA,
-999., // dummy multZPC,
-999., // dummy multNTracksITSTPC,
-999., // dummy multAllTracksTPCOnly,
-999., // dummy multAllTracksITSTPC,
-999., // dummy trackOccupancyInTimeRange,
-999., // dummy ft0cOccupancyInTimeRange,
-999., // dummy timeFDDA,
-999., // dummy timeFDDC,
-999., // dummy timeFV0A,
-999., // dummy timeFT0A,
-999., // dummy timeFT0C,
0, // dummy triggerMaskFT0,
-999, // dummy gapSide,
-999., // dummy totalFT0AmplitudeA,
-999., // dummy totalFT0AmplitudeC,
-999., // dummy totalFV0AmplitudeA,
-999., // dummy totalFDDAmplitudeA,
-999., // dummy totalFDDAmplitudeC,
-999., // dummy timeZNA,
-999., // dummy timeZNC,
-999., // dummy energyCommonZNA,
-999.); // dummy energyCommonZNC);
}
}
};

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{
adaptAnalysisTask<straevselextrasconverter2>(cfgc)};
}
Loading
Loading