Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 7 additions & 2 deletions PWGLF/DataModel/LFStrangenessTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ DECLARE_SOA_TABLE_VERSIONED(StraCents_001, "AOD", "STRACENTS", 1, //! centrality
cent::CentFT0C, cent::CentFV0A,
cent::CentFT0CVariant1, cent::CentMFT,
cent::CentNGlobal);
DECLARE_SOA_TABLE_VERSIONED(StraCents_002, "AOD", "STRACENTS", 2, //! centrality percentiles in Run 3
cent::CentFT0M, cent::CentFT0A,
cent::CentFT0C, cent::CentFV0A,
cent::CentFT0CVariant1, cent::CentFT0CVariant2,
cent::CentMFT, cent::CentNGlobal, cent::CentNTPV);

DECLARE_SOA_TABLE(StraCentsRun2, "AOD", "STRACENTSRUN2", //! centrality percentiles in Run 2
cent::CentRun2V0M, cent::CentRun2V0A,
Expand Down Expand Up @@ -325,11 +330,11 @@ DECLARE_SOA_TABLE(StraEvTimes, "AOD", "STRAEVTIMES", //! event time (FT0, TOF)
stracollision::EventTime);

using StraRawCents = StraRawCents_004;
using StraCents = StraCents_001;
using StraCents = StraCents_002;
using StraEvSels = StraEvSels_005;
using StraStamps = StraStamps_001;
using StraCollision = StraCollisions::iterator;
using StraCent = StraCents_001::iterator;
using StraCent = StraCents::iterator;

namespace stramccollision
{
Expand Down
5 changes: 5 additions & 0 deletions PWGLF/TableProducer/Strangeness/Converters/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,11 @@ o2physics_add_dpl_workflow(stracentconverter
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

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

o2physics_add_dpl_workflow(stramccollmultconverter
SOURCES stramccollmultconverter.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// 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 "Framework/AnalysisDataModel.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"

using namespace o2;
using namespace o2::framework;

// Converts Stra Cents from 001 to 002
struct stracentconverter2 {
Produces<aod::StraCents_002> straCents_002;

void process(aod::StraCents_001 const& straCents_001)
{
for (auto& values : straCents_001) {
straCents_002(values.centFT0M(),
values.centFT0A(),
values.centFT0C(),
values.centFV0A(),
values.centFT0CVariant1(),
-999.0 /*dummy FT0C Variant 2*/,
values.centMFT(),
values.centNGlobal(),
-999.0 /*dummy NTPV value*/);
}
}
};

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{
adaptAnalysisTask<stracentconverter2>(cfgc)};
}
9 changes: 7 additions & 2 deletions PWGLF/TableProducer/Strangeness/stracents.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ struct straCents {
CalibrationInfo ft0aInfo = CalibrationInfo("FT0A");
CalibrationInfo ft0cInfo = CalibrationInfo("FT0C");
CalibrationInfo ft0cVariant1Info = CalibrationInfo("FT0Cvar1");
CalibrationInfo ft0cVariant2Info = CalibrationInfo("FT0Cvar2");
CalibrationInfo fddmInfo = CalibrationInfo("FDD");
CalibrationInfo ntpvInfo = CalibrationInfo("NTracksPV");
CalibrationInfo nGlobalInfo = CalibrationInfo("NGlobal");
Expand Down Expand Up @@ -243,6 +244,7 @@ struct straCents {
ft0aInfo.mCalibrationStored = false;
ft0cInfo.mCalibrationStored = false;
ft0cVariant1Info.mCalibrationStored = false;
ft0cVariant2Info.mCalibrationStored = false;
fddmInfo.mCalibrationStored = false;
ntpvInfo.mCalibrationStored = false;
nGlobalInfo.mCalibrationStored = false;
Expand Down Expand Up @@ -371,6 +373,7 @@ struct straCents {
getccdb(ft0aInfo, ccdbConfig.genName, ccdbConfig.doNotCrashOnNull);
getccdb(ft0cInfo, ccdbConfig.genName, ccdbConfig.doNotCrashOnNull);
getccdb(ft0cVariant1Info, ccdbConfig.genName, ccdbConfig.doNotCrashOnNull);
getccdb(ft0cVariant2Info, ccdbConfig.genName, ccdbConfig.doNotCrashOnNull);
getccdb(fddmInfo, ccdbConfig.genName, ccdbConfig.doNotCrashOnNull);
getccdb(ntpvInfo, ccdbConfig.genName, ccdbConfig.doNotCrashOnNull);
getccdb(nGlobalInfo, ccdbConfig.genName, ccdbConfig.doNotCrashOnNull);
Expand Down Expand Up @@ -533,12 +536,14 @@ struct straCents {
float centFT0C = getCentrality(ft0cInfo, multZeqFT0C);
float centFV0A = getCentrality(fv0aInfo, multZeqFV0A);
float centFT0CVariant1 = getCentrality(ft0cVariant1Info, multZeqFT0C);
float centFT0CVariant2 = getCentrality(ft0cVariant2Info, multZeqFT0C);
float centMFT = 100.5f; // missing mftNtracks in strangeness data model
float centNGlobal = getCentrality(nGlobalInfo, collision.multNTracksGlobal());
float centNTPV = 100.5f; // missing multNContribs in strangeness data model

strangeCents(centFT0M, centFT0A,
centFT0C, centFV0A, centFT0CVariant1,
centMFT, centNGlobal);
centFT0C, centFV0A, centFT0CVariant1, centFT0CVariant2,
centMFT, centNGlobal, centNTPV);

if (produceHistograms.value) {
histos.fill(HIST("FT0M/Mult"), multZeqFT0A + multZeqFT0C);
Expand Down
12 changes: 6 additions & 6 deletions PWGLF/TableProducer/Strangeness/strangederivedbuilder.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -555,8 +555,8 @@ struct strangederivedbuilder {
}

products.strangeCents(collision.centFT0M(), collision.centFT0A(),
centrality, collision.centFV0A(), collision.centFT0CVariant1(),
collision.centMFT(), collision.centNGlobal());
centrality, collision.centFV0A(), collision.centFT0CVariant1(), collision.centFT0CVariant2(),
collision.centMFT(), collision.centNGlobal(), collision.centNTPV());
products.strangeEvSels(collision.sel8(), collision.selection_raw(),
collision.multFT0A() * static_cast<float>(fillTruncationOptions.fillRawFT0A),
collision.multFT0C() * static_cast<float>(fillTruncationOptions.fillRawFT0C),
Expand Down Expand Up @@ -707,23 +707,23 @@ struct strangederivedbuilder {
}
}

void processCollisionsRun3(soa::Join<aod::Collisions, aod::FT0Mults, aod::FV0Mults, aod::FDDMults, aod::PVMults, aod::ZDCMults, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentNGlobals, aod::CentMFTs, aod::EvSels, aod::MultsExtra, aod::MultsGlobal> const& collisions, aod::V0Datas const& V0s, aod::CascDatas const& Cascades, aod::KFCascDatas const& KFCascades, aod::TraCascDatas const& TraCascades, soa::Join<aod::BCsWithTimestamps, aod::Run3MatchedToBCSparse> const& bcs, aod::FT0s const&, aod::FV0As const&, aod::FDDs const&, aod::Zdcs const&)
void processCollisionsRun3(soa::Join<aod::Collisions, aod::FT0Mults, aod::FV0Mults, aod::FDDMults, aod::PVMults, aod::ZDCMults, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentFT0CVariant2s, aod::CentNGlobals, aod::CentMFTs, aod::CentNTPVs, aod::EvSels, aod::MultsExtra, aod::MultsGlobal> const& collisions, aod::V0Datas const& V0s, aod::CascDatas const& Cascades, aod::KFCascDatas const& KFCascades, aod::TraCascDatas const& TraCascades, soa::Join<aod::BCsWithTimestamps, aod::Run3MatchedToBCSparse> const& bcs, aod::FT0s const&, aod::FV0As const&, aod::FDDs const&, aod::Zdcs const&)
{
populateCollisionTables(collisions, collisions, V0s, Cascades, KFCascades, TraCascades, bcs);
}

void processCollisionsRun3WithUD(soa::Join<aod::Collisions, aod::FT0Mults, aod::FV0Mults, aod::FDDMults, aod::PVMults, aod::ZDCMults, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentNGlobals, aod::CentMFTs, aod::EvSels, aod::MultsExtra, aod::MultsGlobal> const& collisions, aod::V0Datas const& V0s, aod::CascDatas const& Cascades, aod::KFCascDatas const& KFCascades, aod::TraCascDatas const& TraCascades, soa::Join<aod::BCsWithTimestamps, aod::Run3MatchedToBCSparse> const& bcs, aod::FT0s const&, aod::FV0As const&, aod::FDDs const&, aod::Zdcs const&, UDCollisionsFull const& udCollisions)
void processCollisionsRun3WithUD(soa::Join<aod::Collisions, aod::FT0Mults, aod::FV0Mults, aod::FDDMults, aod::PVMults, aod::ZDCMults, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentFT0CVariant2s, aod::CentNGlobals, aod::CentMFTs, aod::CentNTPVs, aod::EvSels, aod::MultsExtra, aod::MultsGlobal> const& collisions, aod::V0Datas const& V0s, aod::CascDatas const& Cascades, aod::KFCascDatas const& KFCascades, aod::TraCascDatas const& TraCascades, soa::Join<aod::BCsWithTimestamps, aod::Run3MatchedToBCSparse> const& bcs, aod::FT0s const&, aod::FV0As const&, aod::FDDs const&, aod::Zdcs const&, UDCollisionsFull const& udCollisions)
{
populateCollisionTables(collisions, udCollisions, V0s, Cascades, KFCascades, TraCascades, bcs);
}

void processCollisionsRun3WithMC(soa::Join<aod::Collisions, aod::FT0Mults, aod::FV0Mults, aod::FDDMults, aod::PVMults, aod::ZDCMults, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentNGlobals, aod::CentMFTs, aod::EvSels, aod::McCollisionLabels, aod::MultsExtra, aod::MultsGlobal> const& collisions, soa::Join<aod::V0Datas, aod::McV0Labels> const& V0s, soa::Join<aod::V0MCCores, aod::V0MCCollRefs> const& /*V0MCCores*/, soa::Join<aod::CascDatas, aod::McCascLabels> const& Cascades, aod::KFCascDatas const& KFCascades, aod::TraCascDatas const& TraCascades, soa::Join<aod::BCsWithTimestamps, aod::Run3MatchedToBCSparse> const& bcs, aod::FT0s const&, aod::FV0As const&, aod::FDDs const&, aod::Zdcs const&, soa::Join<aod::McCollisions, aod::McCollsExtra, aod::MultsExtraMC> const& mcCollisions, aod::McParticles const& mcParticles)
void processCollisionsRun3WithMC(soa::Join<aod::Collisions, aod::FT0Mults, aod::FV0Mults, aod::FDDMults, aod::PVMults, aod::ZDCMults, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentFT0CVariant2s, aod::CentNGlobals, aod::CentMFTs, aod::CentNTPVs, aod::EvSels, aod::McCollisionLabels, aod::MultsExtra, aod::MultsGlobal> const& collisions, soa::Join<aod::V0Datas, aod::McV0Labels> const& V0s, soa::Join<aod::V0MCCores, aod::V0MCCollRefs> const& /*V0MCCores*/, soa::Join<aod::CascDatas, aod::McCascLabels> const& Cascades, aod::KFCascDatas const& KFCascades, aod::TraCascDatas const& TraCascades, soa::Join<aod::BCsWithTimestamps, aod::Run3MatchedToBCSparse> const& bcs, aod::FT0s const&, aod::FV0As const&, aod::FDDs const&, aod::Zdcs const&, soa::Join<aod::McCollisions, aod::McCollsExtra, aod::MultsExtraMC> const& mcCollisions, aod::McParticles const& mcParticles)
{
populateMCCollisionTable(mcCollisions, mcParticles);
populateCollisionTables(collisions, collisions, V0s, Cascades, KFCascades, TraCascades, bcs);
}

void processCollisionsRun3WithUDWithMC(soa::Join<aod::Collisions, aod::FT0Mults, aod::FV0Mults, aod::FDDMults, aod::PVMults, aod::ZDCMults, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentNGlobals, aod::CentMFTs, aod::EvSels, aod::McCollisionLabels, aod::MultsExtra, aod::MultsGlobal> const& collisions, soa::Join<aod::V0Datas, aod::McV0Labels> const& V0s, soa::Join<aod::V0MCCores, aod::V0MCCollRefs> const& /*V0MCCores*/, soa::Join<aod::CascDatas, aod::McCascLabels> const& Cascades, aod::KFCascDatas const& KFCascades, aod::TraCascDatas const& TraCascades, soa::Join<aod::BCsWithTimestamps, aod::Run3MatchedToBCSparse> const& bcs, aod::FT0s const&, aod::FV0As const&, aod::FDDs const&, aod::Zdcs const&, UDCollisionsFull const& udCollisions, soa::Join<aod::McCollisions, aod::McCollsExtra, aod::MultsExtraMC> const& mcCollisions, aod::McParticles const& mcParticles)
void processCollisionsRun3WithUDWithMC(soa::Join<aod::Collisions, aod::FT0Mults, aod::FV0Mults, aod::FDDMults, aod::PVMults, aod::ZDCMults, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::CentFT0CVariant1s, aod::CentFT0CVariant2s, aod::CentNGlobals, aod::CentMFTs, aod::CentNTPVs, aod::EvSels, aod::McCollisionLabels, aod::MultsExtra, aod::MultsGlobal> const& collisions, soa::Join<aod::V0Datas, aod::McV0Labels> const& V0s, soa::Join<aod::V0MCCores, aod::V0MCCollRefs> const& /*V0MCCores*/, soa::Join<aod::CascDatas, aod::McCascLabels> const& Cascades, aod::KFCascDatas const& KFCascades, aod::TraCascDatas const& TraCascades, soa::Join<aod::BCsWithTimestamps, aod::Run3MatchedToBCSparse> const& bcs, aod::FT0s const&, aod::FV0As const&, aod::FDDs const&, aod::Zdcs const&, UDCollisionsFull const& udCollisions, soa::Join<aod::McCollisions, aod::McCollsExtra, aod::MultsExtraMC> const& mcCollisions, aod::McParticles const& mcParticles)
{
populateMCCollisionTable(mcCollisions, mcParticles);
populateCollisionTables(collisions, udCollisions, V0s, Cascades, KFCascades, TraCascades, bcs);
Expand Down
Loading