Skip to content

Commit 06a4819

Browse files
BongHwialibuild
andauthored
[PWGLF] Update LFResonanceTables and Resonance Module Initialization Code (#8900)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent a6b62e3 commit 06a4819

File tree

7 files changed

+1392
-86
lines changed

7 files changed

+1392
-86
lines changed

PWGLF/DataModel/LFResonanceTables.h

Lines changed: 73 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,14 @@ enum {
5353
kAllCutsINELg010,
5454
kECend,
5555
};
56-
DECLARE_SOA_COLUMN(Cent, cent, float); //! Centrality (Multiplicity) percentile (Default: FT0M)
57-
DECLARE_SOA_COLUMN(Spherocity, spherocity, float); //! Spherocity of the event
58-
DECLARE_SOA_COLUMN(EvtPl, evtPl, float); //! Second harmonic event plane
59-
DECLARE_SOA_COLUMN(EvtPlResAB, evtPlResAB, float); //! Second harmonic event plane resolution of A-B sub events
60-
DECLARE_SOA_COLUMN(EvtPlResAC, evtPlResAC, float); //! Second harmonic event plane resolution of A-C sub events
61-
DECLARE_SOA_COLUMN(EvtPlResBC, evtPlResBC, float); //! Second harmonic event plane resolution of B-C sub events
62-
DECLARE_SOA_COLUMN(BMagField, bMagField, float); //! Magnetic field
56+
DECLARE_SOA_INDEX_COLUMN_FULL(Collision, collision, int, Collisions, "_Col"); //!
57+
DECLARE_SOA_COLUMN(Cent, cent, float); //! Centrality (Multiplicity) percentile (Default: FT0M)
58+
DECLARE_SOA_COLUMN(Spherocity, spherocity, float); //! Spherocity of the event
59+
DECLARE_SOA_COLUMN(EvtPl, evtPl, float); //! Second harmonic event plane
60+
DECLARE_SOA_COLUMN(EvtPlResAB, evtPlResAB, float); //! Second harmonic event plane resolution of A-B sub events
61+
DECLARE_SOA_COLUMN(EvtPlResAC, evtPlResAC, float); //! Second harmonic event plane resolution of A-C sub events
62+
DECLARE_SOA_COLUMN(EvtPlResBC, evtPlResBC, float); //! Second harmonic event plane resolution of B-C sub events
63+
DECLARE_SOA_COLUMN(BMagField, bMagField, float); //! Magnetic field
6364
// MC
6465
DECLARE_SOA_COLUMN(IsVtxIn10, isVtxIn10, bool); //! Vtx10
6566
DECLARE_SOA_COLUMN(IsINELgt0, isINELgt0, bool); //! INEL>0
@@ -71,6 +72,7 @@ DECLARE_SOA_COLUMN(ImpactParameter, impactParameter, float); //! ImpactParamete
7172
} // namespace resocollision
7273
DECLARE_SOA_TABLE(ResoCollisions, "AOD", "RESOCOLLISION",
7374
o2::soa::Index<>,
75+
resocollision::CollisionId,
7476
o2::aod::mult::MultNTracksPV,
7577
collision::PosX,
7678
collision::PosY,
@@ -87,6 +89,7 @@ DECLARE_SOA_TABLE(ResoCollisions, "AOD", "RESOCOLLISION",
8789
using ResoCollision = ResoCollisions::iterator;
8890

8991
DECLARE_SOA_TABLE(ResoMCCollisions, "AOD", "RESOMCCOL",
92+
o2::soa::Index<>,
9093
resocollision::IsVtxIn10,
9194
resocollision::IsINELgt0,
9295
resocollision::IsTriggerTVX,
@@ -95,44 +98,62 @@ DECLARE_SOA_TABLE(ResoMCCollisions, "AOD", "RESOMCCOL",
9598
resocollision::ImpactParameter);
9699
using ResoMCCollision = ResoMCCollisions::iterator;
97100

101+
DECLARE_SOA_TABLE(ResoSpheroCollisions, "AOD", "RESOSPHEROCOLL",
102+
o2::soa::Index<>,
103+
resocollision::CollisionId,
104+
resocollision::Spherocity);
105+
using ResoSpheroCollision = ResoSpheroCollisions::iterator;
106+
107+
DECLARE_SOA_TABLE(ResoEvtPlCollisions, "AOD", "RESOEVTPLCOLL",
108+
o2::soa::Index<>,
109+
resocollision::CollisionId,
110+
resocollision::EvtPl,
111+
resocollision::EvtPlResAB,
112+
resocollision::EvtPlResAC,
113+
resocollision::EvtPlResBC);
114+
using ResoEvtPlCollision = ResoEvtPlCollisions::iterator;
115+
98116
// Resonance Daughters
99117
// inspired from PWGCF/DataModel/FemtoDerived.h
100118
namespace resodaughter
101119
{
102120

103121
DECLARE_SOA_INDEX_COLUMN(ResoCollision, resoCollision);
104-
DECLARE_SOA_COLUMN(Pt, pt, float); //! p_T (GeV/c)
105-
DECLARE_SOA_COLUMN(Px, px, float); //! p_x (GeV/c)
106-
DECLARE_SOA_COLUMN(Py, py, float); //! p_y (GeV/c)
107-
DECLARE_SOA_COLUMN(Pz, pz, float); //! p_z (GeV/c)
108-
DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta
109-
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi
110-
DECLARE_SOA_COLUMN(PartType, partType, uint8_t); //! Type of the particle, according to resodaughter::ParticleType
111-
DECLARE_SOA_COLUMN(TempFitVar, tempFitVar, float); //! Observable for the template fitting (Track: DCA_xy, V0: CPA)
112-
DECLARE_SOA_COLUMN(Indices, indices, int[2]); //! Field for the track indices to remove auto-correlations
113-
DECLARE_SOA_COLUMN(CascadeIndices, cascIndices, int[3]); //! Field for the track indices to remove auto-correlations (ordered: positive, negative, bachelor)
114-
DECLARE_SOA_COLUMN(Sign, sign, int8_t); //! Sign of the track charge
115-
DECLARE_SOA_COLUMN(TPCNClsCrossedRows, tpcNClsCrossedRows, uint8_t); //! Number of TPC crossed rows
116-
DECLARE_SOA_COLUMN(TPCNClsFound, tpcNClsFound, uint8_t); //! Number of TPC clusters found
117-
DECLARE_SOA_COLUMN(ITSNCls, itsNCls, uint8_t); //! Number of ITS clusters found
118-
DECLARE_SOA_COLUMN(IsGlobalTrackWoDCA, isGlobalTrackWoDCA, bool); //! Is global track without DCA
119-
DECLARE_SOA_COLUMN(IsGlobalTrack, isGlobalTrack, bool); //! Is global track
120-
DECLARE_SOA_COLUMN(IsPrimaryTrack, isPrimaryTrack, bool); //! Is primary track
121-
DECLARE_SOA_COLUMN(IsPVContributor, isPVContributor, bool); //! Is primary vertex contributor
122-
DECLARE_SOA_COLUMN(HasITS, hasITS, bool); //! Has ITS
123-
DECLARE_SOA_COLUMN(HasTPC, hasTPC, bool); //! Has TPC
124-
DECLARE_SOA_COLUMN(HasTOF, hasTOF, bool); //! Has TOF
122+
DECLARE_SOA_INDEX_COLUMN_FULL(Track, track, int, Tracks, "_Trk"); //!
123+
DECLARE_SOA_INDEX_COLUMN_FULL(V0, v0, int, V0s, "_V0"); //!
124+
DECLARE_SOA_INDEX_COLUMN_FULL(Cascade, cascade, int, Cascades, "_Cas"); //!
125+
DECLARE_SOA_COLUMN(Pt, pt, float); //! p_T (GeV/c)
126+
DECLARE_SOA_COLUMN(Px, px, float); //! p_x (GeV/c)
127+
DECLARE_SOA_COLUMN(Py, py, float); //! p_y (GeV/c)
128+
DECLARE_SOA_COLUMN(Pz, pz, float); //! p_z (GeV/c)
129+
DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta
130+
DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi
131+
DECLARE_SOA_COLUMN(PartType, partType, uint8_t); //! Type of the particle, according to resodaughter::ParticleType
132+
DECLARE_SOA_COLUMN(TempFitVar, tempFitVar, float); //! Observable for the template fitting (Track: DCA_xy, V0: CPA)
133+
DECLARE_SOA_COLUMN(Indices, indices, int[2]); //! Field for the track indices to remove auto-correlations
134+
DECLARE_SOA_COLUMN(CascadeIndices, cascadeIndices, int[3]); //! Field for the track indices to remove auto-correlations (ordered: positive, negative, bachelor)
135+
DECLARE_SOA_COLUMN(Sign, sign, int8_t); //! Sign of the track charge
136+
DECLARE_SOA_COLUMN(TPCNClsCrossedRows, tpcNClsCrossedRows, uint8_t); //! Number of TPC crossed rows
137+
DECLARE_SOA_COLUMN(TPCNClsFound, tpcNClsFound, uint8_t); //! Number of TPC clusters found
138+
DECLARE_SOA_COLUMN(ITSNCls, itsNCls, uint8_t); //! Number of ITS clusters found
139+
DECLARE_SOA_COLUMN(IsGlobalTrackWoDCA, isGlobalTrackWoDCA, bool); //! Is global track without DCA
140+
DECLARE_SOA_COLUMN(IsGlobalTrack, isGlobalTrack, bool); //! Is global track
141+
DECLARE_SOA_COLUMN(IsPrimaryTrack, isPrimaryTrack, bool); //! Is primary track
142+
DECLARE_SOA_COLUMN(IsPVContributor, isPVContributor, bool); //! Is primary vertex contributor
143+
DECLARE_SOA_COLUMN(HasITS, hasITS, bool); //! Has ITS
144+
DECLARE_SOA_COLUMN(HasTPC, hasTPC, bool); //! Has TPC
145+
DECLARE_SOA_COLUMN(HasTOF, hasTOF, bool); //! Has TOF
125146
DECLARE_SOA_COLUMN(TPCCrossedRowsOverFindableCls, tpcCrossedRowsOverFindableCls, float);
126147
DECLARE_SOA_COLUMN(DaughDCA, daughDCA, float); //! DCA between daughters
127-
DECLARE_SOA_COLUMN(CascDaughDCA, cascdaughDCA, float); //! DCA between daughters from cascade
148+
DECLARE_SOA_COLUMN(CascDaughDCA, cascDaughDCA, float); //! DCA between daughters from cascade
128149
DECLARE_SOA_COLUMN(V0CosPA, v0CosPA, float); //! V0 Cosine of Pointing Angle
129150
DECLARE_SOA_COLUMN(CascCosPA, cascCosPA, float); //! Cascade Cosine of Pointing Angle
130151
DECLARE_SOA_COLUMN(MLambda, mLambda, float); //! The invariant mass of V0 candidate, assuming lambda
131152
DECLARE_SOA_COLUMN(MAntiLambda, mAntiLambda, float); //! The invariant mass of V0 candidate, assuming antilambda
132153
DECLARE_SOA_COLUMN(MK0Short, mK0Short, float); //! The invariant mass of V0 candidate, assuming k0s
133154
DECLARE_SOA_COLUMN(MXi, mXi, float); //! The invariant mass of Xi candidate
134155
DECLARE_SOA_COLUMN(TransRadius, transRadius, float); //! Transverse radius of the decay vertex
135-
DECLARE_SOA_COLUMN(CascTransRadius, casctransRadius, float); //! Transverse radius of the decay vertex from cascade
156+
DECLARE_SOA_COLUMN(CascTransRadius, cascTransRadius, float); //! Transverse radius of the decay vertex from cascade
136157
DECLARE_SOA_COLUMN(DecayVtxX, decayVtxX, float); //! X position of the decay vertex
137158
DECLARE_SOA_COLUMN(DecayVtxY, decayVtxY, float); //! Y position of the decay vertex
138159
DECLARE_SOA_COLUMN(DecayVtxZ, decayVtxZ, float); //! Z position of the decay vertex
@@ -158,19 +179,20 @@ DECLARE_SOA_COLUMN(DaughterTOFNSigmaBachPr, daughterTOFNSigmaBachPr, float); //!
158179
DECLARE_SOA_INDEX_COLUMN(McParticle, mcParticle); //! Index of the corresponding MC particle
159180
DECLARE_SOA_COLUMN(IsPhysicalPrimary, isPhysicalPrimary, bool);
160181
DECLARE_SOA_COLUMN(ProducedByGenerator, producedByGenerator, bool);
161-
DECLARE_SOA_COLUMN(MothersId, motherId, int); //! Id of the mother particle
182+
DECLARE_SOA_COLUMN(MotherId, motherId, int); //! Id of the mother particle
162183
DECLARE_SOA_COLUMN(MotherPDG, motherPDG, int); //! PDG code of the mother particle
163184
DECLARE_SOA_COLUMN(DaughterPDG1, daughterPDG1, int); //! PDG code of the first Daughter particle
164185
DECLARE_SOA_COLUMN(DaughterPDG2, daughterPDG2, int); //! PDG code of the second Daughter particle
165-
DECLARE_SOA_COLUMN(DaughterID1, daughterId1, int); //! Id of the first Daughter particle
166-
DECLARE_SOA_COLUMN(DaughterID2, daughterId2, int); //! Id of the second Daughter particle
186+
DECLARE_SOA_COLUMN(DaughterID1, daughterID1, int); //! Id of the first Daughter particle
187+
DECLARE_SOA_COLUMN(DaughterID2, daughterID2, int); //! Id of the second Daughter particle
167188
DECLARE_SOA_COLUMN(SiblingIds, siblingIds, int[2]); //! Index of the particles with the same mother
168-
DECLARE_SOA_COLUMN(BachTrkID, bachtrkID, int); //! Id of the bach track from cascade
189+
DECLARE_SOA_COLUMN(BachTrkID, bachTrkID, int); //! Id of the bach track from cascade
169190
DECLARE_SOA_COLUMN(V0ID, v0ID, int); //! Id of the V0 from cascade
170191
} // namespace resodaughter
171192
DECLARE_SOA_TABLE(ResoTracks, "AOD", "RESOTRACKS",
172193
o2::soa::Index<>,
173194
resodaughter::ResoCollisionId,
195+
resodaughter::TrackId,
174196
resodaughter::Pt,
175197
resodaughter::Px,
176198
resodaughter::Py,
@@ -211,6 +233,7 @@ using ResoTrack = ResoTracks::iterator;
211233
DECLARE_SOA_TABLE(ResoV0s, "AOD", "RESOV0S",
212234
o2::soa::Index<>,
213235
resodaughter::ResoCollisionId,
236+
resodaughter::V0Id,
214237
resodaughter::Pt,
215238
resodaughter::Px,
216239
resodaughter::Py,
@@ -247,6 +270,7 @@ using ResoV0 = ResoV0s::iterator;
247270
DECLARE_SOA_TABLE(ResoCascades, "AOD", "RESOCASCADES",
248271
o2::soa::Index<>,
249272
resodaughter::ResoCollisionId,
273+
resodaughter::CascadeId,
250274
resodaughter::Pt,
251275
resodaughter::Px,
252276
resodaughter::Py,
@@ -293,7 +317,7 @@ using ResoCascade = ResoCascades::iterator;
293317

294318
DECLARE_SOA_TABLE(ResoMCTracks, "AOD", "RESOMCTRACKS",
295319
mcparticle::PdgCode,
296-
resodaughter::MothersId,
320+
resodaughter::MotherId,
297321
resodaughter::MotherPDG,
298322
resodaughter::SiblingIds,
299323
resodaughter::IsPhysicalPrimary,
@@ -302,7 +326,7 @@ using ResoMCTrack = ResoMCTracks::iterator;
302326

303327
DECLARE_SOA_TABLE(ResoMCV0s, "AOD", "RESOMCV0S",
304328
mcparticle::PdgCode,
305-
resodaughter::MothersId,
329+
resodaughter::MotherId,
306330
resodaughter::MotherPDG,
307331
resodaughter::DaughterID1,
308332
resodaughter::DaughterID2,
@@ -314,7 +338,7 @@ using ResoMCV0 = ResoMCV0s::iterator;
314338

315339
DECLARE_SOA_TABLE(ResoMCCascades, "AOD", "RESOMCCASCADES",
316340
mcparticle::PdgCode,
317-
resodaughter::MothersId,
341+
resodaughter::MotherId,
318342
resodaughter::MotherPDG,
319343
resodaughter::BachTrkID,
320344
resodaughter::V0ID,
@@ -349,5 +373,17 @@ using Reso2TracksMC = soa::Join<aod::FullTracks, McTrackLabels>;
349373
using Reso2TracksPID = soa::Join<aod::FullTracks, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTPCEl, aod::pidTOFPi, aod::pidTOFKa, aod::pidTOFPr, aod::pidTOFEl>;
350374
using Reso2TracksPIDExt = soa::Join<Reso2TracksPID, aod::TracksDCA, aod::TrackSelection, aod::TrackSelectionExtension>; // Without Extra
351375

376+
using ResoCollisionCandidates = soa::Join<aod::Collisions, aod::EvSels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0Cs, aod::CentFT0As, aod::Mults>;
377+
using ResoRun2CollisionCandidates = soa::Join<aod::Collisions, aod::EvSels, aod::CentRun2V0Ms>;
378+
using ResoCollisionCandidatesMC = soa::Join<ResoCollisionCandidates, aod::McCollisionLabels>;
379+
using ResoRun2CollisionCandidatesMC = soa::Join<ResoRun2CollisionCandidates, aod::McCollisionLabels>;
380+
using ResoTrackCandidates = aod::Reso2TracksPIDExt;
381+
using ResoTrackCandidatesMC = soa::Join<ResoTrackCandidates, aod::McTrackLabels>;
382+
using ResoV0Candidates = aod::V0Datas;
383+
using ResoV0CandidatesMC = soa::Join<ResoV0Candidates, aod::McV0Labels>;
384+
using ResoCascadesCandidates = aod::CascDatas;
385+
using ResoCascadesCandidatesMC = soa::Join<ResoCascadesCandidates, aod::McCascLabels>;
386+
using BCsWithRun2Info = soa::Join<aod::BCs, aod::Run2BCInfos, aod::Timestamps>;
387+
352388
} // namespace o2::aod
353389
#endif // PWGLF_DATAMODEL_LFRESONANCETABLES_H_

PWGLF/TableProducer/Resonances/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ o2physics_add_dpl_workflow(resonance-initializer
3030
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsBase
3131
COMPONENT_NAME Analysis)
3232

33+
o2physics_add_dpl_workflow(resonance-module-initializer
34+
SOURCES resonanceModuleInitializer.cxx
35+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsBase
36+
COMPONENT_NAME Analysis)
37+
3338
o2physics_add_dpl_workflow(reso2mergedf
3439
SOURCES LFResonanceMergeDF.cxx
3540
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsBase

0 commit comments

Comments
 (0)