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
6 changes: 6 additions & 0 deletions PWGCF/Femto/Core/trackBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
#ifndef PWGCF_FEMTO_CORE_TRACKBUILDER_H_
#define PWGCF_FEMTO_CORE_TRACKBUILDER_H_

#include "femtoUtils.h"

#include "PWGCF/Femto/Core/baseSelection.h"
#include "PWGCF/Femto/Core/dataTypes.h"
#include "PWGCF/Femto/Core/femtoUtils.h"
Expand Down Expand Up @@ -799,6 +801,7 @@ class TrackBuilder
struct TrackBuilderDerivedToDerivedProducts : o2::framework::ProducesGroup {
o2::framework::Produces<o2::aod::StoredFTracks> producedTracks;
o2::framework::Produces<o2::aod::StoredFTrackMasks> producedTrackMasks;
o2::framework::Produces<o2::aod::StoredFTrackMass> producedTrackMass;
};

struct ConfTrackTablesDerivedToDerived : o2::framework::ConfigurableGroup {
Expand Down Expand Up @@ -861,6 +864,9 @@ class TrackBuilderDerivedToDerived
track.eta(),
track.phi());
trackProducts.producedTrackMasks(track.mask());
if constexpr (utils::HasMass<T1>) {
trackProducts.producedTrackMass(track.mass());
}
indexMap.emplace(track.globalIndex(), trackProducts.producedTracks.lastIndex());
}
}
Expand Down
1 change: 1 addition & 0 deletions PWGCF/Femto/DataModel/FemtoTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ using StoredFTrackMasks = StoredFTrackMasks_001;
DECLARE_SOA_TABLE_STAGED_VERSIONED(FTrackMass_001, "FTRACKMASS", 1, //! track mass
femtobase::stored::Mass);
using FTrackMass = FTrackMass_001;
using StoredFTrackMass = StoredFTrackMass_001;

// table for track DCA
DECLARE_SOA_TABLE_STAGED_VERSIONED(FTrackDcas_001, "FTRACKDCAS", 1, //! track dcas
Expand Down
13 changes: 12 additions & 1 deletion PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ struct FemtoProducerDerivedToDerived {
using FilteredFemtoCollision = FilteredFemtoCollisions::iterator;

using FemtoTracks = o2::soa::Join<o2::aod::FTracks, o2::aod::FTrackMasks>;
using FemtoTracksWithMass = o2::soa::Join<FemtoTracks, o2::aod::FTrackMass>;
using FemtoLambdas = o2::soa::Join<o2::aod::FLambdas, o2::aod::FLambdaMasks>;
using FemtoK0shorts = o2::soa::Join<o2::aod::FK0shorts, o2::aod::FK0shortMasks>;
using FemtoXis = o2::soa::Join<o2::aod::FXis, o2::aod::FXiMasks>;
Expand Down Expand Up @@ -113,7 +114,7 @@ struct FemtoProducerDerivedToDerived {
cascadeBuilder.init(confCascadeBuilder);
kinkBuilder.init(confKinkBuilder);

if ((static_cast<int>(doprocessTracks) + static_cast<int>(doprocessTracksLambdas) + static_cast<int>(doprocessLambdas) + static_cast<int>(doprocessTracksXis) + static_cast<int>(doprocessTracksOmegas) + static_cast<int>(doprocessTracksK0shorts) + static_cast<int>(doprocessTracksSigma) + static_cast<int>(doprocessTracksSigmaPlus)) > 1) {
if ((static_cast<int>(doprocessTracks) + static_cast<int>(doprocessTracksWithMass) + static_cast<int>(doprocessTracksLambdas) + static_cast<int>(doprocessLambdas) + static_cast<int>(doprocessTracksXis) + static_cast<int>(doprocessTracksOmegas) + static_cast<int>(doprocessTracksK0shorts) + static_cast<int>(doprocessTracksSigma) + static_cast<int>(doprocessTracksSigmaPlus)) > 1) {
LOG(fatal) << "Only one proccess function can be activated";
}
}
Expand All @@ -129,6 +130,16 @@ struct FemtoProducerDerivedToDerived {
}
PROCESS_SWITCH(FemtoProducerDerivedToDerived, processTracks, "Process tracks", true);

void processTracksWithMass(FilteredFemtoCollision const& col, FemtoTracksWithMass const& tracks)
{
if (trackBuilder.collisionHasTooFewTracks(col, tracks, trackPartition1, trackPartition2, cache)) {
return;
}
collisionBuilder.processCollision(col, collisionBuilderProducts);
trackBuilder.processTracks(col, tracks, trackPartition1, trackPartition2, cache, trackBuilderProducts, collisionBuilderProducts);
}
PROCESS_SWITCH(FemtoProducerDerivedToDerived, processTracksWithMass, "Process tracks with mass", false);

void processTracksLambdas(FilteredFemtoCollision const& col, FemtoTracks const& tracks, FemtoLambdas const& lambdas)
{
if (trackBuilder.collisionHasTooFewTracks(col, tracks, trackPartition1, trackPartition2, cache) || v0Builder.collisionHasTooFewLambdas(col, lambdas, lambdaPartition, cache)) {
Expand Down
Loading