Skip to content

Commit 3fb2218

Browse files
authored
[PWGCF] Add tracks with mass to derived-to-derived producer (#17095)
1 parent aa709b6 commit 3fb2218

3 files changed

Lines changed: 19 additions & 1 deletion

File tree

PWGCF/Femto/Core/trackBuilder.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#ifndef PWGCF_FEMTO_CORE_TRACKBUILDER_H_
1717
#define PWGCF_FEMTO_CORE_TRACKBUILDER_H_
1818

19+
#include "femtoUtils.h"
20+
1921
#include "PWGCF/Femto/Core/baseSelection.h"
2022
#include "PWGCF/Femto/Core/dataTypes.h"
2123
#include "PWGCF/Femto/Core/femtoUtils.h"
@@ -799,6 +801,7 @@ class TrackBuilder
799801
struct TrackBuilderDerivedToDerivedProducts : o2::framework::ProducesGroup {
800802
o2::framework::Produces<o2::aod::StoredFTracks> producedTracks;
801803
o2::framework::Produces<o2::aod::StoredFTrackMasks> producedTrackMasks;
804+
o2::framework::Produces<o2::aod::StoredFTrackMass> producedTrackMass;
802805
};
803806

804807
struct ConfTrackTablesDerivedToDerived : o2::framework::ConfigurableGroup {
@@ -861,6 +864,9 @@ class TrackBuilderDerivedToDerived
861864
track.eta(),
862865
track.phi());
863866
trackProducts.producedTrackMasks(track.mask());
867+
if constexpr (utils::HasMass<T1>) {
868+
trackProducts.producedTrackMass(track.mass());
869+
}
864870
indexMap.emplace(track.globalIndex(), trackProducts.producedTracks.lastIndex());
865871
}
866872
}

PWGCF/Femto/DataModel/FemtoTables.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ using StoredFTrackMasks = StoredFTrackMasks_001;
250250
DECLARE_SOA_TABLE_STAGED_VERSIONED(FTrackMass_001, "FTRACKMASS", 1, //! track mass
251251
femtobase::stored::Mass);
252252
using FTrackMass = FTrackMass_001;
253+
using StoredFTrackMass = StoredFTrackMass_001;
253254

254255
// table for track DCA
255256
DECLARE_SOA_TABLE_STAGED_VERSIONED(FTrackDcas_001, "FTRACKDCAS", 1, //! track dcas

PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ struct FemtoProducerDerivedToDerived {
4141
using FilteredFemtoCollision = FilteredFemtoCollisions::iterator;
4242

4343
using FemtoTracks = o2::soa::Join<o2::aod::FTracks, o2::aod::FTrackMasks>;
44+
using FemtoTracksWithMass = o2::soa::Join<FemtoTracks, o2::aod::FTrackMass>;
4445
using FemtoLambdas = o2::soa::Join<o2::aod::FLambdas, o2::aod::FLambdaMasks>;
4546
using FemtoK0shorts = o2::soa::Join<o2::aod::FK0shorts, o2::aod::FK0shortMasks>;
4647
using FemtoXis = o2::soa::Join<o2::aod::FXis, o2::aod::FXiMasks>;
@@ -113,7 +114,7 @@ struct FemtoProducerDerivedToDerived {
113114
cascadeBuilder.init(confCascadeBuilder);
114115
kinkBuilder.init(confKinkBuilder);
115116

116-
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) {
117+
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) {
117118
LOG(fatal) << "Only one proccess function can be activated";
118119
}
119120
}
@@ -129,6 +130,16 @@ struct FemtoProducerDerivedToDerived {
129130
}
130131
PROCESS_SWITCH(FemtoProducerDerivedToDerived, processTracks, "Process tracks", true);
131132

133+
void processTracksWithMass(FilteredFemtoCollision const& col, FemtoTracksWithMass const& tracks)
134+
{
135+
if (trackBuilder.collisionHasTooFewTracks(col, tracks, trackPartition1, trackPartition2, cache)) {
136+
return;
137+
}
138+
collisionBuilder.processCollision(col, collisionBuilderProducts);
139+
trackBuilder.processTracks(col, tracks, trackPartition1, trackPartition2, cache, trackBuilderProducts, collisionBuilderProducts);
140+
}
141+
PROCESS_SWITCH(FemtoProducerDerivedToDerived, processTracksWithMass, "Process tracks with mass", false);
142+
132143
void processTracksLambdas(FilteredFemtoCollision const& col, FemtoTracks const& tracks, FemtoLambdas const& lambdas)
133144
{
134145
if (trackBuilder.collisionHasTooFewTracks(col, tracks, trackPartition1, trackPartition2, cache) || v0Builder.collisionHasTooFewLambdas(col, lambdas, lambdaPartition, cache)) {

0 commit comments

Comments
 (0)