Skip to content

Commit 2578760

Browse files
committed
Merge remote-tracking branch 'upstream/master' into cppcheck-common
2 parents 7c6766d + 9761502 commit 2578760

File tree

66 files changed

+6408
-2685
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+6408
-2685
lines changed

.github/workflows/mega-linter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
id: ml
3939
# You can override MegaLinter flavor used to have faster performances
4040
# More info at https://megalinter.io/flavors/
41-
uses: oxsecurity/megalinter@v9.2.0
41+
uses: oxsecurity/megalinter@v9.3.0
4242
env:
4343
# All available variables are described in documentation:
4444
# https://megalinter.io/configuration/

ALICE3/DataModel/A3DecayFinderTables.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,14 +389,16 @@ namespace a3_mc_truth
389389
DECLARE_SOA_COLUMN(OriginMcRec, originMcRec, int); //!
390390
DECLARE_SOA_COLUMN(BHadMotherPtRec, bHadMotherPtRec, float); //!
391391
DECLARE_SOA_COLUMN(FlagMcRec, flagMcRec, int); //!
392+
DECLARE_SOA_COLUMN(ParticleMcRec, particleMcRec, int); //!
392393
DECLARE_SOA_COLUMN(OriginMcGen, originMcGen, int); //!
393394
DECLARE_SOA_COLUMN(BHadMotherPtGen, bHadMotherPtGen, float); //!
394395
DECLARE_SOA_COLUMN(FlagMcGen, flagMcGen, int); //!
395396
} // namespace a3_mc_truth
396397
DECLARE_SOA_TABLE(Alice3McRecFlags, "AOD", "ALICE3MCRECFLAG", //!
397398
a3_mc_truth::OriginMcRec,
398399
a3_mc_truth::BHadMotherPtRec,
399-
a3_mc_truth::FlagMcRec);
400+
a3_mc_truth::FlagMcRec,
401+
a3_mc_truth::ParticleMcRec);
400402

401403
DECLARE_SOA_TABLE(Alice3McGenFlags, "AOD", "ALICE3MCGENFLAG", //!
402404
a3_mc_truth::OriginMcGen,

ALICE3/DataModel/OTFStrangeness.h

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ DECLARE_SOA_INDEX_COLUMN_FULL(NegTrack, negTrack, int, Tracks, "_Neg");
3535
DECLARE_SOA_INDEX_COLUMN_FULL(BachTrack, bachTrack, int, Tracks, "_Bach"); //!
3636

3737
// topo vars
38-
DECLARE_SOA_COLUMN(DCAV0Daughters, dcaV0Daughters, float);
39-
DECLARE_SOA_COLUMN(DCACascadeDaughters, dcaCascadeDaughters, float);
38+
DECLARE_SOA_COLUMN(DcaV0Daughters, dcaV0Daughters, float);
39+
DECLARE_SOA_COLUMN(DcaCascadeDaughters, dcaCascadeDaughters, float);
4040
DECLARE_SOA_COLUMN(V0Radius, v0Radius, float);
4141
DECLARE_SOA_COLUMN(CascRadius, cascRadius, float);
4242
DECLARE_SOA_COLUMN(CascRadiusMC, cascRadiusMC, float);
@@ -55,8 +55,8 @@ DECLARE_SOA_TABLE(UpgradeCascades, "AOD", "UPGRADECASCADES",
5555
otfcascade::PosTrackId,
5656
otfcascade::NegTrackId,
5757
otfcascade::BachTrackId,
58-
otfcascade::DCAV0Daughters,
59-
otfcascade::DCACascadeDaughters,
58+
otfcascade::DcaV0Daughters,
59+
otfcascade::DcaCascadeDaughters,
6060
otfcascade::V0Radius,
6161
otfcascade::CascRadius,
6262
otfcascade::CascRadiusMC,
@@ -75,7 +75,7 @@ DECLARE_SOA_INDEX_COLUMN_FULL(NegTrack, negTrack, int, Tracks, "_Neg"); //!
7575
DECLARE_SOA_INDEX_COLUMN(V0, v0); //! index of the mc particle corresponding to the V0
7676

7777
// topo vars
78-
DECLARE_SOA_COLUMN(DCAV0Daughters, dcaV0Daughters, float);
78+
DECLARE_SOA_COLUMN(DcaV0Daughters, dcaV0Daughters, float);
7979
DECLARE_SOA_COLUMN(V0Radius, v0Radius, float);
8080
DECLARE_SOA_COLUMN(MLambda, mLambda, float);
8181
DECLARE_SOA_COLUMN(MAntiLambda, mAntiLambda, float);
@@ -91,7 +91,7 @@ DECLARE_SOA_TABLE(UpgradeV0s, "AOD", "UPGRADEV0S",
9191
otfv0::V0Id,
9292
otfv0::PosTrackId,
9393
otfv0::NegTrackId,
94-
otfv0::DCAV0Daughters,
94+
otfv0::DcaV0Daughters,
9595
otfv0::V0Radius,
9696
otfv0::MLambda,
9797
otfv0::MAntiLambda,
@@ -107,25 +107,28 @@ DECLARE_SOA_INDEX_COLUMN_FULL(PosTrack, posTrack, int, Tracks, "_Pos"); //!
107107
DECLARE_SOA_INDEX_COLUMN_FULL(NegTrack, negTrack, int, Tracks, "_Neg"); //!
108108
DECLARE_SOA_INDEX_COLUMN(V0, v0); //!
109109

110+
// Label to MC particle
111+
DECLARE_SOA_INDEX_COLUMN_FULL(McParticle, mcParticle, int, McParticles, ""); //! label to the MC particle corresponding to the V0
112+
110113
// General V0 properties: position, momentum
111114
DECLARE_SOA_COLUMN(PosX, posX, float); //! positive track X at min
112115
DECLARE_SOA_COLUMN(NegX, negX, float); //! negative track X at min
113-
DECLARE_SOA_COLUMN(PxPos, pxpos, float); //! positive track px at min
114-
DECLARE_SOA_COLUMN(PyPos, pypos, float); //! positive track py at min
115-
DECLARE_SOA_COLUMN(PzPos, pzpos, float); //! positive track pz at min
116-
DECLARE_SOA_COLUMN(PxNeg, pxneg, float); //! negative track px at min
117-
DECLARE_SOA_COLUMN(PyNeg, pyneg, float); //! negative track py at min
118-
DECLARE_SOA_COLUMN(PzNeg, pzneg, float); //! negative track pz at min
116+
DECLARE_SOA_COLUMN(PxPos, pxPos, float); //! positive track px at min
117+
DECLARE_SOA_COLUMN(PyPos, pyPos, float); //! positive track py at min
118+
DECLARE_SOA_COLUMN(PzPos, pzPos, float); //! positive track pz at min
119+
DECLARE_SOA_COLUMN(PxNeg, pxNeg, float); //! negative track px at min
120+
DECLARE_SOA_COLUMN(PyNeg, pyNeg, float); //! negative track py at min
121+
DECLARE_SOA_COLUMN(PzNeg, pzNeg, float); //! negative track pz at min
119122
DECLARE_SOA_COLUMN(X, x, float); //! decay position X
120123
DECLARE_SOA_COLUMN(Y, y, float); //! decay position Y
121124
DECLARE_SOA_COLUMN(Z, z, float); //! decay position Z
122125

123126
// topo vars
124-
DECLARE_SOA_COLUMN(DCAV0Daughters, dcaV0Daughters, float);
127+
DECLARE_SOA_COLUMN(DcaV0Daughters, dcaV0Daughters, float);
125128
DECLARE_SOA_COLUMN(CosPA, cosPA, float);
126-
DECLARE_SOA_COLUMN(DCAPosToPV, dcaPosToPV, float);
127-
DECLARE_SOA_COLUMN(DCANegToPV, dcaNegToPV, float);
128-
DECLARE_SOA_COLUMN(DCAV0ToPV, dcaV0ToPV, float);
129+
DECLARE_SOA_COLUMN(DcaPosToPV, dcaPosToPV, float);
130+
DECLARE_SOA_COLUMN(DcaNegToPV, dcaNegToPV, float);
131+
DECLARE_SOA_COLUMN(DcaV0ToPV, dcaV0ToPV, float);
129132

130133
//______________________________________________________
131134
// DYNAMIC COLUMNS
@@ -151,14 +154,14 @@ DECLARE_SOA_DYNAMIC_COLUMN(Eta, eta, //! Pseudorapidity, conditionally defined t
151154
return RecoDecay::eta(std::array{pxPos + pxNeg, pyPos + pyNeg, pzPos + pzNeg});
152155
});
153156
// Length quantities
154-
DECLARE_SOA_DYNAMIC_COLUMN(V0Radius, v0radius, //! V0 decay radius (2D, centered at zero)
157+
DECLARE_SOA_DYNAMIC_COLUMN(V0radius, v0radius, //! V0 decay radius (2D, centered at zero)
155158
[](float x, float y) -> float { return RecoDecay::sqrtSumOfSquares(x, y); });
156159

157160
// Distance Over To Mom
158-
DECLARE_SOA_DYNAMIC_COLUMN(DistOverTotMom, distovertotmom, //! PV to V0decay distance over total momentum
161+
DECLARE_SOA_DYNAMIC_COLUMN(DistOverTotMom, distOverTotMom, //! PV to V0decay distance over total momentum
159162
[](float X, float Y, float Z, float pxPos, float pyPos, float pzPos, float pxNeg, float pyNeg, float pzNeg, float pvX, float pvY, float pvZ) {
160-
float P = RecoDecay::sqrtSumOfSquares(pxPos + pxNeg, pyPos + pyNeg, pzPos + pzNeg);
161-
return std::sqrt(std::pow(X - pvX, 2) + std::pow(Y - pvY, 2) + std::pow(Z - pvZ, 2)) / (P + 1E-10);
163+
float p = RecoDecay::sqrtSumOfSquares(pxPos + pxNeg, pyPos + pyNeg, pzPos + pzNeg);
164+
return std::sqrt(std::pow(X - pvX, 2) + std::pow(Y - pvY, 2) + std::pow(Z - pvZ, 2)) / (p + 1E-10);
162165
});
163166

164167
// Armenteros-Podolanski variables
@@ -170,7 +173,7 @@ DECLARE_SOA_DYNAMIC_COLUMN(Alpha, alpha, //! Armenteros Alpha
170173
return (lQlPos - lQlNeg) / (lQlPos + lQlNeg); // alphav0
171174
});
172175

173-
DECLARE_SOA_DYNAMIC_COLUMN(QtArm, qtarm, //! Armenteros Qt
176+
DECLARE_SOA_DYNAMIC_COLUMN(QtArm, qtArm, //! Armenteros Qt
174177
[](float pxpos, float pypos, float pzpos, float pxneg, float pyneg, float pzneg) {
175178
float momTot = RecoDecay::p2(pxpos + pxneg, pypos + pyneg, pzpos + pzneg);
176179
float dp = RecoDecay::dotProd(std::array{pxneg, pyneg, pzneg}, std::array{pxpos + pxneg, pypos + pyneg, pzpos + pzneg});
@@ -199,37 +202,37 @@ DECLARE_SOA_DYNAMIC_COLUMN(YLambda, yLambda, //! V0 y with lambda or antilambda
199202
return RecoDecay::y(std::array{pxpos + pxneg, pypos + pyneg, pzpos + pzneg}, o2::constants::physics::MassLambda);
200203
});
201204
// Daughter track momenta
202-
DECLARE_SOA_DYNAMIC_COLUMN(NegativePt, negativept, //! negative daughter pT
205+
DECLARE_SOA_DYNAMIC_COLUMN(NegativePt, negativePt, //! negative daughter pT
203206
[](float pxneg, float pyneg) -> float { return RecoDecay::sqrtSumOfSquares(pxneg, pyneg); });
204-
DECLARE_SOA_DYNAMIC_COLUMN(PositivePt, positivept, //! positive daughter pT
207+
DECLARE_SOA_DYNAMIC_COLUMN(PositivePt, positivePt, //! positive daughter pT
205208
[](float pxpos, float pypos) -> float { return RecoDecay::sqrtSumOfSquares(pxpos, pypos); });
206-
DECLARE_SOA_DYNAMIC_COLUMN(NegativeEta, negativeeta, //! negative daughter eta
209+
DECLARE_SOA_DYNAMIC_COLUMN(NegativeEta, negativeEta, //! negative daughter eta
207210
[](float PxNeg, float PyNeg, float PzNeg) -> float { return RecoDecay::eta(std::array{PxNeg, PyNeg, PzNeg}); });
208-
DECLARE_SOA_DYNAMIC_COLUMN(NegativePhi, negativephi, //! negative daughter phi
211+
DECLARE_SOA_DYNAMIC_COLUMN(NegativePhi, negativePhi, //! negative daughter phi
209212
[](float PxNeg, float PyNeg) -> float { return RecoDecay::phi(PxNeg, PyNeg); });
210-
DECLARE_SOA_DYNAMIC_COLUMN(PositiveEta, positiveeta, //! positive daughter eta
213+
DECLARE_SOA_DYNAMIC_COLUMN(PositiveEta, positiveEta, //! positive daughter eta
211214
[](float PxPos, float PyPos, float PzPos) -> float { return RecoDecay::eta(std::array{PxPos, PyPos, PzPos}); });
212-
DECLARE_SOA_DYNAMIC_COLUMN(PositivePhi, positivephi, //! positive daughter phi
215+
DECLARE_SOA_DYNAMIC_COLUMN(PositivePhi, positivePhi, //! positive daughter phi
213216
[](float PxPos, float PyPos) -> float { return RecoDecay::phi(PxPos, PyPos); });
214217
} // namespace candidatev0
215218
DECLARE_SOA_TABLE(V0CandidateIndices, "AOD", "V0CANDIDATEINDEX", //! index table
216-
o2::soa::Index<>, candidatev0::CollisionId, candidatev0::PosTrackId, candidatev0::NegTrackId);
219+
o2::soa::Index<>, candidatev0::CollisionId, candidatev0::PosTrackId, candidatev0::NegTrackId, candidatev0::McParticleId);
217220

218221
DECLARE_SOA_TABLE(V0CandidateCores, "AOD", "V0CANDIDATECORE",
219222
o2::soa::Index<>,
220223
candidatev0::X, candidatev0::Y, candidatev0::Z,
221224
candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos,
222225
candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg,
223-
candidatev0::DCAV0Daughters, candidatev0::DCAPosToPV, candidatev0::DCANegToPV,
224-
candidatev0::CosPA, candidatev0::DCAV0ToPV,
226+
candidatev0::DcaV0Daughters, candidatev0::DcaPosToPV, candidatev0::DcaNegToPV,
227+
candidatev0::CosPA, candidatev0::DcaV0ToPV,
225228
candidatev0::Px<candidatev0::PxPos, candidatev0::PxNeg>,
226229
candidatev0::Py<candidatev0::PyPos, candidatev0::PyNeg>,
227230
candidatev0::Pz<candidatev0::PzPos, candidatev0::PzNeg>,
228231
candidatev0::Pt<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PxNeg, candidatev0::PyNeg>,
229232
candidatev0::P<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
230233
candidatev0::Phi<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PxNeg, candidatev0::PyNeg>,
231234
candidatev0::Eta<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
232-
candidatev0::V0Radius<candidatev0::X, candidatev0::Y>,
235+
candidatev0::V0radius<candidatev0::X, candidatev0::Y>,
233236
candidatev0::DistOverTotMom<candidatev0::X, candidatev0::Y, candidatev0::Z, candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
234237
candidatev0::Alpha<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
235238
candidatev0::QtArm<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,

ALICE3/TableProducer/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ o2physics_add_dpl_workflow(alice3-tracking-translator
6161
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
6262
COMPONENT_NAME Analysis)
6363

64-
o2physics_add_dpl_workflow(alice3-strangeness-finder
65-
SOURCES alice3-strangenessFinder.cxx
64+
o2physics_add_dpl_workflow(alice3strangenessfinder
65+
SOURCES alice3strangenessFinder.cxx
6666
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
6767
COMPONENT_NAME Analysis)

ALICE3/TableProducer/OTF/onTheFlyDetectorGeometryProvider.cxx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@
2020

2121
#include <CCDB/BasicCCDBManager.h>
2222
#include <Framework/AnalysisTask.h>
23+
#include <Framework/HistogramRegistry.h>
2324
#include <Framework/runDataProcessing.h>
2425

2526
#include <map>
2627
#include <string>
2728
#include <vector>
2829

2930
struct OnTheFlyDetectorGeometryProvider {
30-
31+
o2::framework::HistogramRegistry histos{"Histos", {}, o2::framework::OutputObjHandlingPolicy::AnalysisObject};
3132
o2::framework::Configurable<std::vector<std::string>> detectorConfiguration{"detectorConfiguration",
3233
std::vector<std::string>{"$O2PHYSICS_ROOT/share/alice3/a3geometry_v3.ini"},
3334
"Paths of the detector geometry configuration files"};
@@ -45,6 +46,7 @@ struct OnTheFlyDetectorGeometryProvider {
4546
int idx = 0;
4647
for (auto& configFile : detectorConfiguration.value) {
4748
LOG(info) << "Loading detector geometry from configuration file: " << configFile;
49+
histos.add<TH1>(Form("GeometryConfigFile_%d", idx), configFile.c_str(), o2::framework::HistType::kTH1D, {{1, 0, 1}})->Fill(0.5);
4850
// If the filename starts with ccdb: then take the file from the ccdb
4951
if (configFile.rfind("ccdb:", 0) == 0) {
5052
std::string ccdbPath = configFile.substr(5); // remove "ccdb:" prefix
@@ -75,10 +77,12 @@ struct OnTheFlyDetectorGeometryProvider {
7577
LOG(fatal) << "Inconsistent magnetic field values between configurations 0 and " << icfg << ": " << mMagneticField << " vs " << cfgBfield;
7678
}
7779
}
80+
LOG(info) << "Initialization completed";
7881
}
7982

80-
void process(o2::aod::McCollisions const&)
83+
void process(o2::aod::McCollisions const& mcCollisions, o2::aod::McParticles const& mcParticles)
8184
{
85+
LOG(info) << "On-the-fly detector geometry provider processing " << mcCollisions.size() << " collisions and " << mcParticles.size() << " particles.";
8286
}
8387
};
8488

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,8 @@ struct OnTheFlyTracker {
246246

247247
// Helper struct to pass V0 information
248248
struct v0candidate {
249-
int positiveId; // track index in the Tracks table
250-
int negativeId; // track index in the Tracks table
249+
int positiveId; // track index in the Tracks table
250+
int negativeId; // track index in the Tracks table
251251
int mcParticleId; // mc particle index
252252

253253
float pt;
@@ -635,12 +635,12 @@ struct OnTheFlyTracker {
635635
negDauMass = o2::constants::physics::MassPionCharged;
636636
posDauMass = o2::constants::physics::MassPionCharged;
637637
ctau = 2.68;
638-
} else if (std::abs(pdgCode) == kLambda0) {
638+
} else if (pdgCode == kLambda0) {
639639
v0Mass = o2::constants::physics::MassLambda;
640640
negDauMass = o2::constants::physics::MassPionCharged;
641641
posDauMass = o2::constants::physics::MassProton;
642642
ctau = 7.845;
643-
} else if (std::abs(pdgCode) == kLambda0Bar) {
643+
} else if (pdgCode == kLambda0Bar) {
644644
v0Mass = o2::constants::physics::MassLambda;
645645
negDauMass = o2::constants::physics::MassProton;
646646
posDauMass = o2::constants::physics::MassPionCharged;
@@ -751,10 +751,10 @@ struct OnTheFlyTracker {
751751
laDecayRadius2D = std::hypot(laDecayVertex[0], laDecayVertex[1]);
752752
}
753753
}
754-
const bool isV0 = std::find(v0PDGs.begin(), v0PDGs.end(), std::abs(mcParticle.pdgCode())) != v0PDGs.end();
754+
const bool isV0 = std::find(v0PDGs.begin(), v0PDGs.end(), mcParticle.pdgCode()) != v0PDGs.end();
755755

756756
if (v0DecaySettings.decayV0 && isV0) {
757-
decayV0Particle(mcParticle, v0DecayProducts, v0DecayVertex, std::abs(mcParticle.pdgCode()));
757+
decayV0Particle(mcParticle, v0DecayProducts, v0DecayVertex, mcParticle.pdgCode());
758758
v0DecayRadius2D = std::hypot(v0DecayVertex[0], v0DecayVertex[1]);
759759
}
760760

@@ -1246,26 +1246,32 @@ struct OnTheFlyTracker {
12461246
if (mcParticle.pdgCode() == kLambda0) {
12471247
thisV0.mLambda = RecoDecay::m(std::array{std::array{posP[0], posP[1], posP[2]},
12481248
std::array{negP[0], negP[1], negP[2]}},
1249-
std::array{o2::constants::physics::MassPionCharged,
1250-
o2::constants::physics::MassProton});
1249+
std::array{o2::constants::physics::MassProton,
1250+
o2::constants::physics::MassPionCharged});
12511251
} else {
12521252
thisV0.mLambda = -1;
12531253
}
12541254

12551255
if (mcParticle.pdgCode() == kLambda0Bar) {
12561256
thisV0.mAntiLambda = RecoDecay::m(std::array{std::array{posP[0], posP[1], posP[2]},
12571257
std::array{negP[0], negP[1], negP[2]}},
1258-
std::array{o2::constants::physics::MassProton,
1259-
o2::constants::physics::MassPionCharged});
1258+
std::array{o2::constants::physics::MassPionCharged,
1259+
o2::constants::physics::MassProton});
12601260
} else {
12611261
thisV0.mAntiLambda = -1;
12621262
}
12631263

12641264
if (v0DecaySettings.doV0QA) {
12651265
fillHist(TH1, Form("V0Building_Configuration_%i/hV0Building", icfg), 4.0f);
1266-
fillHist(TH2, Form("V0Building_Configuration_%i/K0/hMass", icfg), thisV0.mK0, thisV0.pt);
1267-
fillHist(TH2, Form("V0Building_Configuration_%i/Lambda/hMass", icfg), thisV0.mLambda, thisV0.pt);
1268-
fillHist(TH2, Form("V0Building_Configuration_%i/AntiLambda/hMass", icfg), thisV0.mAntiLambda, thisV0.pt);
1266+
if (std::abs(mcParticle.pdgCode()) == kK0Short) {
1267+
fillHist(TH2, Form("V0Building_Configuration_%i/K0/hMass", icfg), thisV0.mK0, thisV0.pt);
1268+
}
1269+
if (mcParticle.pdgCode() == kLambda0) {
1270+
fillHist(TH2, Form("V0Building_Configuration_%i/Lambda/hMass", icfg), thisV0.mLambda, thisV0.pt);
1271+
}
1272+
if (mcParticle.pdgCode() == kLambda0Bar) {
1273+
fillHist(TH2, Form("V0Building_Configuration_%i/AntiLambda/hMass", icfg), thisV0.mAntiLambda, thisV0.pt);
1274+
}
12691275
}
12701276

12711277
// add this V0 to vector (will fill cursor later with collision ID)
@@ -1277,6 +1283,9 @@ struct OnTheFlyTracker {
12771283
if (doExtraQA) {
12781284
histos.fill(HIST("hSimTrackX"), trackParCov.getX());
12791285
}
1286+
if (isV0) {
1287+
continue; // V0 handling done, should not be considered anymore
1288+
}
12801289

12811290
bool reconstructed = true;
12821291
if (enablePrimarySmearing && !fastPrimaryTrackerSettings.fastTrackPrimaries) {

0 commit comments

Comments
 (0)