Skip to content

Commit 1a2c7cf

Browse files
authored
[PWGLF] Fix bug in index of dirived data (#11693)
1 parent fa9d24e commit 1a2c7cf

File tree

2 files changed

+48
-45
lines changed

2 files changed

+48
-45
lines changed

PWGLF/DataModel/LFSpincorrelationTables.h

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,21 @@
2828

2929
namespace o2::aod
3030
{
31-
namespace lambdaspincorrevent
31+
namespace lambdaevent
3232
{
3333
DECLARE_SOA_COLUMN(Cent, cent, float);
3434
DECLARE_SOA_COLUMN(Posz, posz, float);
35-
} // namespace lambdaspincorrevent
36-
DECLARE_SOA_TABLE(LambdaSpinCorrEvents, "AOD", "LAMBDASPINCOREVENT",
35+
} // namespace lambdaevent
36+
DECLARE_SOA_TABLE(LambdaEvents, "AOD", "LAMBDAEVENT",
3737
o2::soa::Index<>,
38-
lambdaspincorrevent::Cent,
39-
lambdaspincorrevent::Posz)
40-
using LambdaSpinCorrEvent = LambdaSpinCorrEvents::iterator;
38+
lambdaevent::Cent,
39+
lambdaevent::Posz)
40+
using LambdaEvent = LambdaEvents::iterator;
4141

42-
namespace lambdaspincorrpair
42+
namespace lambdapair
4343
{
44-
DECLARE_SOA_INDEX_COLUMN(LambdaSpinCorrEvent, lambdaspincorrevent);
45-
DECLARE_SOA_COLUMN(V0Status, v0Status, float); //! Lambda or Anti-Lambda status
44+
DECLARE_SOA_INDEX_COLUMN(LambdaEvent, lambdaevent);
45+
DECLARE_SOA_COLUMN(V0Status, v0Status, int); //! Lambda or Anti-Lambda status
4646
DECLARE_SOA_COLUMN(DoubleStatus, doubleStatus, bool); //! Double status
4747
DECLARE_SOA_COLUMN(V0Cospa, v0Cospa, float); //! V0 Cospa
4848
DECLARE_SOA_COLUMN(V0Radius, v0Radius, float); //! V0 Radius
@@ -58,27 +58,27 @@ DECLARE_SOA_COLUMN(ProtonEta, protonEta, float); //! Proton Et
5858
DECLARE_SOA_COLUMN(ProtonPhi, protonPhi, float); //! Proton Phi
5959
DECLARE_SOA_COLUMN(ProtonIndex, protonIndex, int); //! Proton index
6060
DECLARE_SOA_COLUMN(PionIndex, pionIndex, int); //! Pion index
61-
} // namespace lambdaspincorrpair
62-
DECLARE_SOA_TABLE(LambdaSpinCorrPairs, "AOD", "LAMBDAPAIR",
61+
} // namespace lambdapair
62+
DECLARE_SOA_TABLE(LambdaPairs, "AOD", "LAMBDAPAIR",
6363
o2::soa::Index<>,
64-
lambdaspincorrpair::LambdaSpinCorrEventId,
65-
lambdaspincorrpair::V0Status,
66-
lambdaspincorrpair::DoubleStatus,
67-
lambdaspincorrpair::V0Cospa,
68-
lambdaspincorrpair::V0Radius,
69-
lambdaspincorrpair::DcaPositive,
70-
lambdaspincorrpair::DcaNegative,
71-
lambdaspincorrpair::DcaBetweenDaughter,
72-
lambdaspincorrpair::LambdaPt,
73-
lambdaspincorrpair::LambdaEta,
74-
lambdaspincorrpair::LambdaPhi,
75-
lambdaspincorrpair::LambdaMass,
76-
lambdaspincorrpair::ProtonPt,
77-
lambdaspincorrpair::ProtonEta,
78-
lambdaspincorrpair::ProtonPhi,
79-
lambdaspincorrpair::ProtonIndex,
80-
lambdaspincorrpair::PionIndex);
64+
lambdapair::LambdaEventId,
65+
lambdapair::V0Status,
66+
lambdapair::DoubleStatus,
67+
lambdapair::V0Cospa,
68+
lambdapair::V0Radius,
69+
lambdapair::DcaPositive,
70+
lambdapair::DcaNegative,
71+
lambdapair::DcaBetweenDaughter,
72+
lambdapair::LambdaPt,
73+
lambdapair::LambdaEta,
74+
lambdapair::LambdaPhi,
75+
lambdapair::LambdaMass,
76+
lambdapair::ProtonPt,
77+
lambdapair::ProtonEta,
78+
lambdapair::ProtonPhi,
79+
lambdapair::ProtonIndex,
80+
lambdapair::PionIndex);
8181

82-
using LambdaSpinCorrPair = LambdaSpinCorrPairs::iterator;
82+
using LambdaPair = LambdaPairs::iterator;
8383
} // namespace o2::aod
8484
#endif // PWGLF_DATAMODEL_LFSPINCORRELATIONTABLES_H_

PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ using namespace o2::aod::rctsel;
5858

5959
struct lambdaspincorrelation {
6060

61-
Produces<aod::LambdaSpinCorrEvents> spinCorrEvent;
62-
Produces<aod::LambdaSpinCorrPairs> spinCorrPair;
61+
Produces<aod::LambdaEvents> lambdaEvent;
62+
Produces<aod::LambdaPairs> lambdaPair;
6363

6464
Service<o2::ccdb::BasicCCDBManager> ccdb;
6565

@@ -246,22 +246,24 @@ struct lambdaspincorrelation {
246246

247247
void processData(EventCandidates::iterator const& collision, AllTrackCandidates const&, ResoV0s const& V0s)
248248
{
249+
std::vector<ROOT::Math::PxPyPzMVector> lambdaMother, protonDaughter, pionDaughter;
250+
std::vector<int> v0Status = {};
251+
std::vector<bool> doubleStatus = {};
252+
std::vector<float> v0Cospa = {};
253+
std::vector<float> v0Radius = {};
254+
std::vector<float> dcaPositive = {};
255+
std::vector<float> dcaNegative = {};
256+
std::vector<int> positiveIndex = {};
257+
std::vector<int> negativeIndex = {};
258+
std::vector<float> dcaBetweenDaughter = {};
259+
int numbV0 = 0;
249260
// LOGF(info, "event collisions: (%d)", collision.index());
250261
auto centrality = collision.centFT0C();
262+
auto vz = collision.posZ();
251263
int occupancy = collision.trackOccupancyInTimeRange();
252264
histos.fill(HIST("hEvtSelInfo"), 0.5);
253265
if ((rctCut.requireRCTFlagChecker && rctChecker(collision)) && collision.selection_bit(aod::evsel::kNoSameBunchPileup) && collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) && collision.selection_bit(aod::evsel::kNoTimeFrameBorder) && collision.selection_bit(aod::evsel::kNoITSROFrameBorder) && collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard) && collision.sel8() && collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll) && occupancy < cfgCutOccupancy) {
254266
histos.fill(HIST("hEvtSelInfo"), 1.5);
255-
std::vector<ROOT::Math::PxPyPzMVector> lambdaMother, protonDaughter, pionDaughter;
256-
std::vector<int> v0Status = {};
257-
std::vector<bool> doubleStatus = {};
258-
std::vector<double> v0Cospa = {};
259-
std::vector<double> v0Radius = {};
260-
std::vector<double> dcaPositive = {};
261-
std::vector<double> dcaNegative = {};
262-
std::vector<double> positiveIndex = {};
263-
std::vector<double> negativeIndex = {};
264-
std::vector<double> dcaBetweenDaughter = {};
265267
for (const auto& v0 : V0s) {
266268
// LOGF(info, "v0 index 0 : (%d)", v0.index());
267269
auto [lambdaTag, aLambdaTag, isValid] = getLambdaTags(v0, collision);
@@ -320,19 +322,20 @@ struct lambdaspincorrelation {
320322
pionDaughter.push_back(pion);
321323
histos.fill(HIST("hLambdaMass"), lambda.M());
322324
}
325+
numbV0 = numbV0 + 1;
323326
}
324327
}
325-
if (v0Status.size() > 1) {
328+
if (numbV0 > 1 && v0Cospa.size() > 1) {
326329
histos.fill(HIST("hEvtSelInfo"), 2.5);
327-
spinCorrEvent(centrality, collision.posZ());
328-
auto indexEvent = spinCorrEvent.lastIndex();
330+
lambdaEvent(centrality, vz);
331+
auto indexEvent = lambdaEvent.lastIndex();
329332
//// Fill track table for V0//////////////////
330333
for (auto if1 = lambdaMother.begin(); if1 != lambdaMother.end(); ++if1) {
331334
auto i5 = std::distance(lambdaMother.begin(), if1);
332335
lambdaDummy = lambdaMother.at(i5);
333336
protonDummy = protonDaughter.at(i5);
334337
pionDummy = pionDaughter.at(i5);
335-
spinCorrPair(indexEvent, v0Status.at(i5), doubleStatus.at(i5), v0Cospa.at(i5), v0Radius.at(i5), dcaPositive.at(i5), dcaNegative.at(i5), dcaBetweenDaughter.at(i5), lambdaDummy.Pt(), lambdaDummy.Eta(), lambdaDummy.Phi(), lambdaDummy.M(), protonDummy.Pt(), protonDummy.Eta(), protonDummy.Phi(), positiveIndex.at(i5), negativeIndex.at(i5));
338+
lambdaPair(indexEvent, v0Status.at(i5), doubleStatus.at(i5), v0Cospa.at(i5), v0Radius.at(i5), dcaPositive.at(i5), dcaNegative.at(i5), dcaBetweenDaughter.at(i5), lambdaDummy.Pt(), lambdaDummy.Eta(), lambdaDummy.Phi(), lambdaDummy.M(), protonDummy.Pt(), protonDummy.Eta(), protonDummy.Phi(), positiveIndex.at(i5), negativeIndex.at(i5));
336339
}
337340
}
338341
}

0 commit comments

Comments
 (0)