Skip to content

Commit 101481c

Browse files
authored
PWGHF: Add number of primary-vertex contributors in the 2-prong candidate creator (#3954)
1 parent 401a9b1 commit 101481c

File tree

3 files changed

+27
-10
lines changed

3 files changed

+27
-10
lines changed

PWGHF/DataModel/CandidateReconstructionTables.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ DECLARE_SOA_TABLE(HfCand2ProngBase, "AOD", "HFCAND2PBASE", //!
521521
hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1,
522522
hf_cand::ImpactParameter0, hf_cand::ImpactParameter1,
523523
hf_cand::ErrorImpactParameter0, hf_cand::ErrorImpactParameter1,
524-
hf_track_index::Prong0Id, hf_track_index::Prong1Id,
524+
hf_track_index::Prong0Id, hf_track_index::Prong1Id, hf_cand::NProngsContributorsPV,
525525
hf_track_index::HFflag,
526526
/* dynamic columns */
527527
hf_cand_2prong::M<hf_cand::PxProng0, hf_cand::PyProng0, hf_cand::PzProng0, hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1>,

PWGHF/TableProducer/candidateCreator2Prong.cxx

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,17 @@ struct HfCandidateCreator2Prong {
212212
auto errorDecayLength = std::sqrt(getRotatedCovMatrixXX(covMatrixPV, phi, theta) + getRotatedCovMatrixXX(covMatrixPCA, phi, theta));
213213
auto errorDecayLengthXY = std::sqrt(getRotatedCovMatrixXX(covMatrixPV, phi, 0.) + getRotatedCovMatrixXX(covMatrixPCA, phi, 0.));
214214

215+
auto indexCollision = collision.globalIndex();
216+
uint8_t nProngsContributorsPV = 0;
217+
if (indexCollision == track0.collisionId() && track0.isPVContributor()) {
218+
nProngsContributorsPV += 1;
219+
}
220+
if (indexCollision == track1.collisionId() && track1.isPVContributor()) {
221+
nProngsContributorsPV += 1;
222+
}
223+
215224
// fill candidate table rows
216-
rowCandidateBase(collision.globalIndex(),
225+
rowCandidateBase(indexCollision,
217226
primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(),
218227
secondaryVertex[0], secondaryVertex[1], secondaryVertex[2],
219228
errorDecayLength, errorDecayLengthXY,
@@ -222,7 +231,7 @@ struct HfCandidateCreator2Prong {
222231
pvec1[0], pvec1[1], pvec1[2],
223232
impactParameter0.getY(), impactParameter1.getY(),
224233
std::sqrt(impactParameter0.getSigmaY2()), std::sqrt(impactParameter1.getSigmaY2()),
225-
rowTrackIndexProng2.prong0Id(), rowTrackIndexProng2.prong1Id(),
234+
rowTrackIndexProng2.prong0Id(), rowTrackIndexProng2.prong1Id(), nProngsContributorsPV,
226235
rowTrackIndexProng2.hfflag());
227236

228237
// fill histograms
@@ -336,8 +345,17 @@ struct HfCandidateCreator2Prong {
336345
topolChi2PerNdfD0 = kfCandD0Topol2PV.GetChi2() / kfCandD0Topol2PV.GetNDF();
337346
}
338347

348+
auto indexCollision = collision.globalIndex();
349+
uint8_t nProngsContributorsPV = 0;
350+
if (indexCollision == track0.collisionId() && track0.isPVContributor()) {
351+
nProngsContributorsPV += 1;
352+
}
353+
if (indexCollision == track1.collisionId() && track1.isPVContributor()) {
354+
nProngsContributorsPV += 1;
355+
}
356+
339357
// fill candidate table rows
340-
rowCandidateBase(collision.globalIndex(),
358+
rowCandidateBase(indexCollision,
341359
KFPV.GetX(), KFPV.GetY(), KFPV.GetZ(),
342360
kfCandD0.GetX(), kfCandD0.GetY(), kfCandD0.GetZ(),
343361
errorDecayLength, errorDecayLengthXY, // TODO: much different from the DCAFitterN one
@@ -346,7 +364,7 @@ struct HfCandidateCreator2Prong {
346364
kfNegKaon.GetPx(), kfNegKaon.GetPy(), kfNegKaon.GetPz(),
347365
impactParameter0XY, impactParameter1XY,
348366
errImpactParameter0XY, errImpactParameter1XY,
349-
rowTrackIndexProng2.prong0Id(), rowTrackIndexProng2.prong1Id(),
367+
rowTrackIndexProng2.prong0Id(), rowTrackIndexProng2.prong1Id(), nProngsContributorsPV,
350368
rowTrackIndexProng2.hfflag());
351369
rowCandidateKF(topolChi2PerNdfD0,
352370
massD0, massD0bar);
@@ -361,7 +379,7 @@ struct HfCandidateCreator2Prong {
361379

362380
void processPvRefitWithDCAFitterN(aod::Collisions const& collisions,
363381
soa::Join<aod::Hf2Prongs, aod::HfPvRefit2Prong> const& rowsTrackIndexProng2,
364-
aod::TracksWCov const& tracks,
382+
aod::TracksWCovExtra const& tracks,
365383
aod::BCsWithTimestamps const& bcWithTimeStamps)
366384
{
367385
runCreator2ProngWithDCAFitterN<true>(collisions, rowsTrackIndexProng2, tracks, bcWithTimeStamps);
@@ -371,7 +389,7 @@ struct HfCandidateCreator2Prong {
371389

372390
void processNoPvRefitWithDCAFitterN(aod::Collisions const& collisions,
373391
aod::Hf2Prongs const& rowsTrackIndexProng2,
374-
aod::TracksWCov const& tracks,
392+
aod::TracksWCovExtra const& tracks,
375393
aod::BCsWithTimestamps const& bcWithTimeStamps)
376394
{
377395
runCreator2ProngWithDCAFitterN<false>(collisions, rowsTrackIndexProng2, tracks, bcWithTimeStamps);
@@ -381,7 +399,7 @@ struct HfCandidateCreator2Prong {
381399

382400
void processPvRefitWithKFParticle(aod::Collisions const& collisions,
383401
soa::Join<aod::Hf2Prongs, aod::HfPvRefit2Prong> const& rowsTrackIndexProng2,
384-
soa::Join<aod::TracksWCov, aod::TracksExtra> const& tracks,
402+
aod::TracksWCovExtra const& tracks,
385403
aod::BCsWithTimestamps const& bcWithTimeStamps)
386404
{
387405
runCreator2ProngWithKFParticle<true>(collisions, rowsTrackIndexProng2, tracks, bcWithTimeStamps);
@@ -390,7 +408,7 @@ struct HfCandidateCreator2Prong {
390408

391409
void processNoPvRefitWithKFParticle(aod::Collisions const& collisions,
392410
aod::Hf2Prongs const& rowsTrackIndexProng2,
393-
soa::Join<aod::TracksWCov, aod::TracksExtra> const& tracks,
411+
aod::TracksWCovExtra const& tracks,
394412
aod::BCsWithTimestamps const& bcWithTimeStamps)
395413
{
396414
runCreator2ProngWithKFParticle<false>(collisions, rowsTrackIndexProng2, tracks, bcWithTimeStamps);

PWGHF/TableProducer/treeCreatorLcToPKPi.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ namespace o2::aod
3232
namespace full
3333
{
3434
DECLARE_SOA_INDEX_COLUMN(Collision, collision);
35-
DECLARE_SOA_COLUMN(NProngsContributorsPV, nProngsContributorsPV, int8_t);
3635
DECLARE_SOA_COLUMN(RSecondaryVertex, rSecondaryVertex, float);
3736
DECLARE_SOA_COLUMN(PtProng0, ptProng0, float);
3837
DECLARE_SOA_COLUMN(PProng0, pProng0, float);

0 commit comments

Comments
 (0)