Skip to content

Commit 9d56435

Browse files
authored
[PWGLF] Update Data Model and Improve DF Mixing Study for Resonances (AliceO2Group#8950)
1 parent 0391495 commit 9d56435

File tree

4 files changed

+78
-172
lines changed

4 files changed

+78
-172
lines changed

PWGLF/DataModel/LFResonanceTables.h

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
/// Inspired by StrangenessTables.h, FemtoDerived.h
1616
///
1717
/// \author Bong-Hwi Lim <[email protected]>
18+
/// \author Nasir Mehdi Malik <[email protected]>
19+
///
1820

1921
#ifndef PWGLF_DATAMODEL_LFRESONANCETABLES_H_
2022
#define PWGLF_DATAMODEL_LFRESONANCETABLES_H_
@@ -113,6 +115,25 @@ DECLARE_SOA_TABLE(ResoEvtPlCollisions, "AOD", "RESOEVTPLCOLL",
113115
resocollision::EvtPlResBC);
114116
using ResoEvtPlCollision = ResoEvtPlCollisions::iterator;
115117

118+
// For DF mixing study
119+
DECLARE_SOA_TABLE(ResoCollisionDFs, "AOD", "RESOCOLLISIONDF",
120+
o2::soa::Index<>,
121+
resocollision::CollisionId,
122+
o2::aod::mult::MultNTracksPV,
123+
collision::PosX,
124+
collision::PosY,
125+
collision::PosZ,
126+
resocollision::Cent,
127+
resocollision::Spherocity,
128+
resocollision::EvtPl,
129+
resocollision::EvtPlResAB,
130+
resocollision::EvtPlResAC,
131+
resocollision::EvtPlResBC,
132+
resocollision::BMagField,
133+
timestamp::Timestamp,
134+
evsel::NumTracksInTimeRange);
135+
using ResoCollisionDF = ResoCollisionDFs::iterator;
136+
116137
// Resonance Daughters
117138
// inspired from PWGCF/DataModel/FemtoDerived.h
118139
namespace resodaughter
@@ -230,6 +251,48 @@ DECLARE_SOA_TABLE(ResoTracks, "AOD", "RESOTRACKS",
230251
o2::aod::track::TPCChi2NCl);
231252
using ResoTrack = ResoTracks::iterator;
232253

254+
// For DF mixing study
255+
DECLARE_SOA_TABLE(ResoTrackDFs, "AOD", "RESOTRACKDFs",
256+
o2::soa::Index<>,
257+
resodaughter::ResoCollisionId,
258+
resodaughter::TrackId,
259+
resodaughter::Pt,
260+
resodaughter::Px,
261+
resodaughter::Py,
262+
resodaughter::Pz,
263+
resodaughter::Eta,
264+
resodaughter::Phi,
265+
resodaughter::Sign,
266+
resodaughter::TPCNClsCrossedRows,
267+
resodaughter::TPCNClsFound,
268+
resodaughter::ITSNCls,
269+
o2::aod::track::DcaXY,
270+
o2::aod::track::DcaZ,
271+
o2::aod::track::X,
272+
o2::aod::track::Alpha,
273+
resodaughter::HasITS,
274+
resodaughter::HasTPC,
275+
resodaughter::HasTOF,
276+
o2::aod::pidtpc::TPCNSigmaPi,
277+
o2::aod::pidtpc::TPCNSigmaKa,
278+
o2::aod::pidtpc::TPCNSigmaPr,
279+
o2::aod::pidtpc::TPCNSigmaEl,
280+
o2::aod::pidtof::TOFNSigmaPi,
281+
o2::aod::pidtof::TOFNSigmaKa,
282+
o2::aod::pidtof::TOFNSigmaPr,
283+
o2::aod::pidtof::TOFNSigmaEl,
284+
o2::aod::track::TPCSignal,
285+
o2::aod::track::PassedITSRefit,
286+
o2::aod::track::PassedTPCRefit,
287+
resodaughter::IsGlobalTrackWoDCA,
288+
resodaughter::IsGlobalTrack,
289+
resodaughter::IsPrimaryTrack,
290+
resodaughter::IsPVContributor,
291+
resodaughter::TPCCrossedRowsOverFindableCls,
292+
o2::aod::track::ITSChi2NCl,
293+
o2::aod::track::TPCChi2NCl);
294+
using ResoTrackDF = ResoTrackDFs::iterator;
295+
233296
DECLARE_SOA_TABLE(ResoV0s, "AOD", "RESOV0S",
234297
o2::soa::Index<>,
235298
resodaughter::ResoCollisionId,

PWGLF/DataModel/LFResonanceTablesMergeDF.h

Lines changed: 0 additions & 158 deletions
This file was deleted.

PWGLF/TableProducer/Resonances/LFResonanceMergeDF.cxx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
#include "Framework/runDataProcessing.h"
4545
#include "Framework/O2DatabasePDGPlugin.h"
4646
#include "PWGLF/DataModel/LFStrangenessTables.h"
47-
#include "PWGLF/DataModel/LFResonanceTablesMergeDF.h"
4847
#include "PWGLF/DataModel/LFResonanceTables.h"
4948
#include "PWGLF/Utils/collisionCuts.h"
5049
#include "ReconstructionDataFormats/Track.h"
@@ -89,8 +88,8 @@ struct reso2dfmerged {
8988
Produces<aod::ResoTrackDFs> reso2trksdf;
9089
int df = 0;
9190

92-
std::vector<std::tuple<float, float, float, float, float, float>> vecOfTuples;
93-
std::vector<std::vector<std::tuple<float, float, float, float,
91+
std::vector<std::tuple<int, float, float, float, float, float, float>> vecOfTuples;
92+
std::vector<std::vector<std::tuple<int, float, float, float, float,
9493
float, float, signed char, unsigned char, unsigned char, unsigned char,
9594
float, float, float, float,
9695
bool, bool, bool, float, float, float,
@@ -102,8 +101,8 @@ struct reso2dfmerged {
102101
{
103102

104103
int nCollisions = nDF;
105-
vecOfTuples.push_back(std::make_tuple(collision.posX(), collision.posY(), collision.posZ(), collision.cent(), collision.spherocity(), collision.evtPl()));
106-
std::vector<std::tuple<float, float, float, float,
104+
vecOfTuples.push_back(std::make_tuple(collision.globalIndex(), collision.posX(), collision.posY(), collision.posZ(), collision.cent(), collision.spherocity(), collision.evtPl()));
105+
std::vector<std::tuple<int, float, float, float, float,
107106
float, float, signed char, unsigned char, unsigned char, unsigned char,
108107
float, float, float, float,
109108
bool, bool, bool, float, float, float,
@@ -135,6 +134,7 @@ struct reso2dfmerged {
135134
}
136135

137136
innerVector.push_back(std::make_tuple(
137+
track.globalIndex(),
138138
track.pt(),
139139
track.px(),
140140
track.py(),
@@ -184,7 +184,7 @@ struct reso2dfmerged {
184184
const auto& innerVector = vecOfVecOfTuples[i];
185185

186186
histos.fill(HIST("Event/h1d_ft0_mult_percentile"), std::get<3>(tuple));
187-
resoCollisionsdf(0, std::get<0>(tuple), std::get<1>(tuple), std::get<2>(tuple), std::get<3>(tuple), std::get<4>(tuple), std::get<5>(tuple), 0., 0., 0., 0., 0, collision.trackOccupancyInTimeRange());
187+
resoCollisionsdf(std::get<0>(tuple), 0, std::get<1>(tuple), std::get<2>(tuple), std::get<3>(tuple), std::get<4>(tuple), std::get<5>(tuple), std::get<6>(tuple), 0., 0., 0., 0., 0, collision.trackOccupancyInTimeRange());
188188
// LOGF(info, "collisions: Index = %d ) %f - %f - %f %f %d -- %d", std::get<0>(tuple).globalIndex(),std::get<1>(tuple),std::get<2>(tuple), std::get<3>(tuple), std::get<4>(tuple), std::get<5>(tuple).size(),resoCollisionsdf.lastIndex());
189189

190190
for (const auto& tuple : innerVector) {
@@ -223,7 +223,8 @@ struct reso2dfmerged {
223223
std::get<31>(tuple),
224224
std::get<32>(tuple),
225225
std::get<33>(tuple),
226-
std::get<34>(tuple));
226+
std::get<34>(tuple),
227+
std::get<35>(tuple));
227228
}
228229
}
229230

@@ -242,7 +243,7 @@ struct reso2dfmerged {
242243

243244
histos.fill(HIST("Event/h1d_ft0_mult_percentile"), collision.cent());
244245

245-
resoCollisionsdf(0, collision.posX(), collision.posY(), collision.posZ(), collision.cent(), collision.spherocity(), collision.evtPl(), 0., 0., 0., 0., 0, collision.trackOccupancyInTimeRange());
246+
resoCollisionsdf(collision.globalIndex(), 0, collision.posX(), collision.posY(), collision.posZ(), collision.cent(), collision.spherocity(), collision.evtPl(), 0., 0., 0., 0., 0, collision.trackOccupancyInTimeRange());
246247

247248
for (auto& track : tracks) {
248249
if (isPrimary && !track.isPrimaryTrack())
@@ -270,6 +271,7 @@ struct reso2dfmerged {
270271
continue;
271272

272273
reso2trksdf(resoCollisionsdf.lastIndex(),
274+
track.globalIndex(),
273275
track.pt(),
274276
track.px(),
275277
track.py(),

PWGLF/Tasks/Resonances/lambda1520_PbPb.cxx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
/// /// Invariant Mass Reconstruction of Lambda(1520) Resonance.
1414
///
1515
/// \author Yash Patley <[email protected]>
16-
/// \author Nasir Mehdi Malik
16+
/// \author Nasir Mehdi Malik
1717

1818
#include <Framework/ASoA.h>
1919
#include <Framework/AnalysisDataModel.h>
@@ -30,7 +30,6 @@
3030
#include "Framework/ASoAHelpers.h"
3131
#include "Framework/runDataProcessing.h"
3232
#include "PWGLF/DataModel/LFResonanceTables.h"
33-
#include "PWGLF/DataModel/LFResonanceTablesMergeDF.h"
3433
#include "CommonConstants/PhysicsConstants.h"
3534

3635
using namespace o2;
@@ -654,9 +653,9 @@ struct lambdaAnalysis_pb {
654653

655654
PROCESS_SWITCH(lambdaAnalysis_pb, processMix, "Process for Mixed Events", false);
656655

657-
Preslice<aod::ResoTrackDFs> perRColdf = aod::resodaughterdf::resoCollisiondfId;
656+
Preslice<aod::ResoTrackDFs> perRColdf = aod::resodaughter::resoCollisionId;
658657

659-
using resoColDFs = aod::ResoCollisionDFs;
658+
using resoColDFs = aod::ResoCollisions;
660659
using resoTrackDFs = aod::ResoTrackDFs;
661660

662661
void processDatadf(resoColDFs::iterator const& collision, resoTrackDFs const& tracks)
@@ -673,7 +672,7 @@ struct lambdaAnalysis_pb {
673672

674673
PROCESS_SWITCH(lambdaAnalysis_pb, processDatadf, "Process for data merged DF", false);
675674

676-
using BinningTypeDF = ColumnBinningPolicy<aod::collision::PosZ, aod::resocollisiondf::Cent>;
675+
using BinningTypeDF = ColumnBinningPolicy<aod::collision::PosZ, aod::resocollision::Cent>;
677676
void processMixDF(resoColDFs& collisions, resoTrackDFs const& tracks)
678677
{
679678
if (doprocessMix)
@@ -696,7 +695,7 @@ struct lambdaAnalysis_pb {
696695

697696
PROCESS_SWITCH(lambdaAnalysis_pb, processMixDF, "Process for merged DF Mixed Events", false);
698697

699-
using BinningTypeEP = ColumnBinningPolicy<aod::collision::PosZ, aod::resocollisiondf::Cent, aod::resocollisiondf::EvtPl>;
698+
using BinningTypeEP = ColumnBinningPolicy<aod::collision::PosZ, aod::resocollision::Cent, aod::resocollision::EvtPl>;
700699
void processMixepDF(resoColDFs& collisions, resoTrackDFs const& tracks)
701700
{
702701
if (doprocessMix || doprocessMixDF)

0 commit comments

Comments
 (0)