Skip to content

Commit 7e43888

Browse files
authored
[PWGLF] Resonance Framework - Reduce the reduction factor for derived dataset (AliceO2Group#10301)
1 parent 983dfb2 commit 7e43888

14 files changed

+383
-413
lines changed

PWGLF/DataModel/LFResonanceTables.h

Lines changed: 80 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -141,31 +141,33 @@ namespace resodaughter
141141

142142
DECLARE_SOA_INDEX_COLUMN(ResoCollision, resoCollision);
143143
DECLARE_SOA_INDEX_COLUMN(ResoCollisionDF, resoCollisionDF);
144-
DECLARE_SOA_INDEX_COLUMN_FULL(Track, track, int, Tracks, "_Trk"); //!
145-
DECLARE_SOA_INDEX_COLUMN_FULL(V0, v0, int, V0s, "_V0"); //!
146-
DECLARE_SOA_INDEX_COLUMN_FULL(Cascade, cascade, int, Cascades, "_Cas"); //!
147-
DECLARE_SOA_COLUMN(Pt, pt, float); //! p_T (GeV/c)
148-
DECLARE_SOA_COLUMN(Px, px, float); //! p_x (GeV/c)
149-
DECLARE_SOA_COLUMN(Py, py, float); //! p_y (GeV/c)
150-
DECLARE_SOA_COLUMN(Pz, pz, float); //! p_z (GeV/c)
151-
DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta
152-
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi
153-
DECLARE_SOA_COLUMN(PartType, partType, uint8_t); //! Type of the particle, according to resodaughter::ParticleType
154-
DECLARE_SOA_COLUMN(TempFitVar, tempFitVar, float); //! Observable for the template fitting (Track: DCA_xy, V0: CPA)
155-
DECLARE_SOA_COLUMN(Indices, indices, int[2]); //! Field for the track indices to remove auto-correlations
156-
DECLARE_SOA_COLUMN(CascadeIndices, cascadeIndices, int[3]); //! Field for the track indices to remove auto-correlations (ordered: positive, negative, bachelor)
157-
DECLARE_SOA_COLUMN(Sign, sign, int8_t); //! Sign of the track charge
158-
DECLARE_SOA_COLUMN(TPCNClsCrossedRows, tpcNClsCrossedRows, uint8_t); //! Number of TPC crossed rows
159-
DECLARE_SOA_COLUMN(TPCNClsFound, tpcNClsFound, uint8_t); //! Number of TPC clusters found
160-
DECLARE_SOA_COLUMN(ITSNCls, itsNCls, uint8_t); //! Number of ITS clusters found
161-
DECLARE_SOA_COLUMN(IsGlobalTrackWoDCA, isGlobalTrackWoDCA, bool); //! Is global track without DCA
162-
DECLARE_SOA_COLUMN(IsGlobalTrack, isGlobalTrack, bool); //! Is global track
163-
DECLARE_SOA_COLUMN(IsPrimaryTrack, isPrimaryTrack, bool); //! Is primary track
164-
DECLARE_SOA_COLUMN(IsPVContributor, isPVContributor, bool); //! Is primary vertex contributor
165-
DECLARE_SOA_COLUMN(HasITS, hasITS, bool); //! Has ITS
166-
DECLARE_SOA_COLUMN(HasTPC, hasTPC, bool); //! Has TPC
167-
DECLARE_SOA_COLUMN(HasTOF, hasTOF, bool); //! Has TOF
168-
DECLARE_SOA_COLUMN(TPCCrossedRowsOverFindableCls, tpcCrossedRowsOverFindableCls, float);
144+
DECLARE_SOA_INDEX_COLUMN_FULL(Track, track, int, Tracks, "_Trk"); //!
145+
DECLARE_SOA_INDEX_COLUMN_FULL(V0, v0, int, V0s, "_V0"); //!
146+
DECLARE_SOA_INDEX_COLUMN_FULL(Cascade, cascade, int, Cascades, "_Cas"); //!
147+
DECLARE_SOA_COLUMN(Pt, pt, float); //! p_T (GeV/c)
148+
DECLARE_SOA_COLUMN(Px, px, float); //! p_x (GeV/c)
149+
DECLARE_SOA_COLUMN(Py, py, float); //! p_y (GeV/c)
150+
DECLARE_SOA_COLUMN(Pz, pz, float); //! p_z (GeV/c)
151+
DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta
152+
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi
153+
DECLARE_SOA_COLUMN(PartType, partType, uint8_t); //! Type of the particle, according to resodaughter::ParticleType
154+
DECLARE_SOA_COLUMN(TempFitVar, tempFitVar, float); //! Observable for the template fitting (Track: DCA_xy, V0: CPA)
155+
DECLARE_SOA_COLUMN(Indices, indices, int[2]); //! Field for the track indices to remove auto-correlations
156+
DECLARE_SOA_COLUMN(CascadeIndices, cascadeIndices, int[3]); //! Field for the track indices to remove auto-correlations (ordered: positive, negative, bachelor)
157+
DECLARE_SOA_COLUMN(Sign, sign, int8_t); //! Sign of the track charge
158+
DECLARE_SOA_COLUMN(TPCNClsCrossedRows, tpcNClsCrossedRows, uint8_t); //! Number of TPC crossed rows
159+
DECLARE_SOA_COLUMN(TPCNClsFound, tpcNClsFound, uint8_t); //! Number of TPC clusters found
160+
DECLARE_SOA_COLUMN(IsGlobalTrackWoDCA, isGlobalTrackWoDCA, bool); //! Is global track without DCA
161+
DECLARE_SOA_COLUMN(IsGlobalTrack, isGlobalTrack, bool); //! Is global track
162+
DECLARE_SOA_COLUMN(IsPrimaryTrack, isPrimaryTrack, bool); //! Is primary track
163+
DECLARE_SOA_COLUMN(IsPVContributor, isPVContributor, bool); //! Is primary vertex contributor
164+
DECLARE_SOA_COLUMN(HasTOF, hasTOF, bool); //! Has TOF
165+
DECLARE_SOA_COLUMN(TpcNSigmaPi10, tpcNSigmaPi10, int8_t); //! TPC PID x10 of the track as Pion
166+
DECLARE_SOA_COLUMN(TpcNSigmaKa10, tpcNSigmaKa10, int8_t); //! TPC PID x10 of the track as Kaon
167+
DECLARE_SOA_COLUMN(TpcNSigmaPr10, tpcNSigmaPr10, int8_t); //! TPC PID x10 of the track as Proton
168+
DECLARE_SOA_COLUMN(TofNSigmaPi10, tofNSigmaPi10, int8_t); //! TOF PID x10 of the track as Pion
169+
DECLARE_SOA_COLUMN(TofNSigmaKa10, tofNSigmaKa10, int8_t); //! TOF PID x10 of the track as Kaon
170+
DECLARE_SOA_COLUMN(TofNSigmaPr10, tofNSigmaPr10, int8_t); //! TOF PID x10 of the track as Proton
169171
DECLARE_SOA_COLUMN(DaughDCA, daughDCA, float); //! DCA between daughters
170172
DECLARE_SOA_COLUMN(CascDaughDCA, cascDaughDCA, float); //! DCA between daughters from cascade
171173
DECLARE_SOA_COLUMN(V0CosPA, v0CosPA, float); //! V0 Cosine of Pointing Angle
@@ -210,6 +212,32 @@ DECLARE_SOA_COLUMN(DaughterID2, daughterID2, int); //! Id of the second Daught
210212
DECLARE_SOA_COLUMN(SiblingIds, siblingIds, int[2]); //! Index of the particles with the same mother
211213
DECLARE_SOA_COLUMN(BachTrkID, bachTrkID, int); //! Id of the bach track from cascade
212214
DECLARE_SOA_COLUMN(V0ID, v0ID, int); //! Id of the V0 from cascade
215+
// Dynamic columns
216+
// TPC PID return value/10
217+
DECLARE_SOA_DYNAMIC_COLUMN(TpcNSigmaPi, tpcNSigmaPi,
218+
[](int8_t tpcNSigmaPi10) {
219+
return (float)tpcNSigmaPi10 / 10.f;
220+
});
221+
DECLARE_SOA_DYNAMIC_COLUMN(TpcNSigmaKa, tpcNSigmaKa,
222+
[](int8_t tpcNSigmaKa10) {
223+
return (float)tpcNSigmaKa10 / 10.f;
224+
});
225+
DECLARE_SOA_DYNAMIC_COLUMN(TpcNSigmaPr, tpcNSigmaPr,
226+
[](int8_t tpcNSigmaPr10) {
227+
return (float)tpcNSigmaPr10 / 10.f;
228+
});
229+
DECLARE_SOA_DYNAMIC_COLUMN(TofNSigmaPi, tofNSigmaPi,
230+
[](int8_t tofNSigmaPi10) {
231+
return (float)tofNSigmaPi10 / 10.f;
232+
});
233+
DECLARE_SOA_DYNAMIC_COLUMN(TofNSigmaKa, tofNSigmaKa,
234+
[](int8_t tofNSigmaKa10) {
235+
return (float)tofNSigmaKa10 / 10.f;
236+
});
237+
DECLARE_SOA_DYNAMIC_COLUMN(TofNSigmaPr, tofNSigmaPr,
238+
[](int8_t tofNSigmaPr10) {
239+
return (float)tofNSigmaPr10 / 10.f;
240+
});
213241
} // namespace resodaughter
214242
DECLARE_SOA_TABLE(ResoTracks, "AOD", "RESOTRACKS",
215243
o2::soa::Index<>,
@@ -224,32 +252,29 @@ DECLARE_SOA_TABLE(ResoTracks, "AOD", "RESOTRACKS",
224252
resodaughter::Sign,
225253
resodaughter::TPCNClsCrossedRows,
226254
resodaughter::TPCNClsFound,
227-
resodaughter::ITSNCls,
228255
o2::aod::track::DcaXY,
229256
o2::aod::track::DcaZ,
230-
o2::aod::track::X,
231-
o2::aod::track::Alpha,
232-
resodaughter::HasITS,
233-
resodaughter::HasTPC,
234257
resodaughter::HasTOF,
235-
o2::aod::pidtpc::TPCNSigmaPi,
236-
o2::aod::pidtpc::TPCNSigmaKa,
237-
o2::aod::pidtpc::TPCNSigmaPr,
238-
o2::aod::pidtpc::TPCNSigmaEl,
239-
o2::aod::pidtof::TOFNSigmaPi,
240-
o2::aod::pidtof::TOFNSigmaKa,
241-
o2::aod::pidtof::TOFNSigmaPr,
242-
o2::aod::pidtof::TOFNSigmaEl,
258+
resodaughter::TpcNSigmaPi10,
259+
resodaughter::TpcNSigmaKa10,
260+
resodaughter::TpcNSigmaPr10,
261+
resodaughter::TofNSigmaPi10,
262+
resodaughter::TofNSigmaKa10,
263+
resodaughter::TofNSigmaPr10,
243264
o2::aod::track::TPCSignal,
244265
o2::aod::track::PassedITSRefit,
245266
o2::aod::track::PassedTPCRefit,
246267
resodaughter::IsGlobalTrackWoDCA,
247268
resodaughter::IsGlobalTrack,
248269
resodaughter::IsPrimaryTrack,
249270
resodaughter::IsPVContributor,
250-
resodaughter::TPCCrossedRowsOverFindableCls,
251-
o2::aod::track::ITSChi2NCl,
252-
o2::aod::track::TPCChi2NCl);
271+
// Dynamic columns
272+
resodaughter::TpcNSigmaPi<resodaughter::TpcNSigmaPi10>,
273+
resodaughter::TpcNSigmaKa<resodaughter::TpcNSigmaKa10>,
274+
resodaughter::TpcNSigmaPr<resodaughter::TpcNSigmaPr10>,
275+
resodaughter::TofNSigmaPi<resodaughter::TofNSigmaPi10>,
276+
resodaughter::TofNSigmaKa<resodaughter::TofNSigmaKa10>,
277+
resodaughter::TofNSigmaPr<resodaughter::TofNSigmaPr10>);
253278
using ResoTrack = ResoTracks::iterator;
254279

255280
// For DF mixing study
@@ -266,32 +291,29 @@ DECLARE_SOA_TABLE(ResoTrackDFs, "AOD", "RESOTRACKDFS",
266291
resodaughter::Sign,
267292
resodaughter::TPCNClsCrossedRows,
268293
resodaughter::TPCNClsFound,
269-
resodaughter::ITSNCls,
270294
o2::aod::track::DcaXY,
271295
o2::aod::track::DcaZ,
272-
o2::aod::track::X,
273-
o2::aod::track::Alpha,
274-
resodaughter::HasITS,
275-
resodaughter::HasTPC,
276296
resodaughter::HasTOF,
277-
o2::aod::pidtpc::TPCNSigmaPi,
278-
o2::aod::pidtpc::TPCNSigmaKa,
279-
o2::aod::pidtpc::TPCNSigmaPr,
280-
o2::aod::pidtpc::TPCNSigmaEl,
281-
o2::aod::pidtof::TOFNSigmaPi,
282-
o2::aod::pidtof::TOFNSigmaKa,
283-
o2::aod::pidtof::TOFNSigmaPr,
284-
o2::aod::pidtof::TOFNSigmaEl,
297+
resodaughter::TpcNSigmaPi10,
298+
resodaughter::TpcNSigmaKa10,
299+
resodaughter::TpcNSigmaPr10,
300+
resodaughter::TofNSigmaPi10,
301+
resodaughter::TofNSigmaKa10,
302+
resodaughter::TofNSigmaPr10,
285303
o2::aod::track::TPCSignal,
286304
o2::aod::track::PassedITSRefit,
287305
o2::aod::track::PassedTPCRefit,
288306
resodaughter::IsGlobalTrackWoDCA,
289307
resodaughter::IsGlobalTrack,
290308
resodaughter::IsPrimaryTrack,
291309
resodaughter::IsPVContributor,
292-
resodaughter::TPCCrossedRowsOverFindableCls,
293-
o2::aod::track::ITSChi2NCl,
294-
o2::aod::track::TPCChi2NCl);
310+
// Dynamic columns
311+
resodaughter::TpcNSigmaPi<resodaughter::TpcNSigmaPi10>,
312+
resodaughter::TpcNSigmaKa<resodaughter::TpcNSigmaKa10>,
313+
resodaughter::TpcNSigmaPr<resodaughter::TpcNSigmaPr10>,
314+
resodaughter::TofNSigmaPi<resodaughter::TofNSigmaPi10>,
315+
resodaughter::TofNSigmaKa<resodaughter::TofNSigmaKa10>,
316+
resodaughter::TofNSigmaPr<resodaughter::TofNSigmaPr10>);
295317
using ResoTrackDF = ResoTrackDFs::iterator;
296318

297319
DECLARE_SOA_TABLE(ResoV0s, "AOD", "RESOV0S",
@@ -484,7 +506,7 @@ using ResoMCParent = ResoMCParents::iterator;
484506

485507
using Reso2TracksExt = soa::Join<aod::FullTracks, aod::TracksDCA>; // without Extra
486508
using Reso2TracksMC = soa::Join<aod::FullTracks, McTrackLabels>;
487-
using Reso2TracksPID = soa::Join<aod::FullTracks, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTPCEl, aod::pidTOFPi, aod::pidTOFKa, aod::pidTOFPr, aod::pidTOFEl>;
509+
using Reso2TracksPID = soa::Join<aod::FullTracks, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFKa, aod::pidTOFPr>;
488510
using Reso2TracksPIDExt = soa::Join<Reso2TracksPID, aod::TracksDCA, aod::TrackSelection, aod::TrackSelectionExtension>; // Without Extra
489511

490512
using ResoCollisionCandidates = soa::Join<aod::Collisions, aod::EvSels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0Cs, aod::CentFT0As, aod::Mults>;

0 commit comments

Comments
 (0)