Skip to content

Commit 6e7c764

Browse files
author
Luigi Dello Stritto
committed
Add mc collision counter vs centrality
1 parent bc31718 commit 6e7c764

File tree

7 files changed

+51
-36
lines changed

7 files changed

+51
-36
lines changed

PWGHF/TableProducer/candidateCreator2Prong.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,7 @@ struct HfCandidateCreator2ProngExpressions {
689689
using McCollisionsNoCents = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>;
690690
using McCollisionsFT0Cs = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Cs>;
691691
using McCollisionsFT0Ms = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms>;
692+
using McCollisionsCentFT0Ms = soa::Join<aod::McCollisions, aod::McCentFT0Ms>;
692693
PresliceUnsorted<McCollisionsNoCents> colPerMcCollision = aod::mccollisionlabel::mcCollisionId;
693694
PresliceUnsorted<McCollisionsFT0Cs> colPerMcCollisionFT0C = aod::mccollisionlabel::mcCollisionId;
694695
PresliceUnsorted<McCollisionsFT0Ms> colPerMcCollisionFT0M = aod::mccollisionlabel::mcCollisionId;
@@ -716,11 +717,11 @@ struct HfCandidateCreator2ProngExpressions {
716717
}
717718

718719
/// Performs MC matching.
719-
template <o2::hf_centrality::CentralityEstimator centEstimator, typename CCs>
720+
template <o2::hf_centrality::CentralityEstimator centEstimator, typename CCs, typename McCollisions>
720721
void runCreator2ProngMc(aod::TracksWMc const& tracks,
721722
aod::McParticles const& mcParticles,
722723
CCs const& collInfos,
723-
aod::McCollisions const& mcCollisions,
724+
McCollisions const& mcCollisions,
724725
BCsInfo const&)
725726
{
726727
rowCandidateProng2->bindExternalIndices(&tracks);
@@ -813,7 +814,7 @@ struct HfCandidateCreator2ProngExpressions {
813814
const auto collSlice = collInfos.sliceBy(colPerMcCollision, mcCollision.globalIndex());
814815
rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask<BCsInfo, centEstimator>(mcCollision, collSlice, centrality);
815816
}
816-
hfEvSelMc.fillHistograms(rejectionMask);
817+
hfEvSelMc.fillHistograms<centEstimator>(mcCollision, rejectionMask);
817818
if (rejectionMask != 0) {
818819
// at least one event selection not satisfied --> reject all particles from this collision
819820
for (unsigned int i = 0; i < mcParticlesPerMcColl.size(); ++i) {
@@ -888,7 +889,7 @@ struct HfCandidateCreator2ProngExpressions {
888889
void processMcCentFT0M(aod::TracksWMc const& tracks,
889890
aod::McParticles const& mcParticles,
890891
McCollisionsFT0Ms const& collInfos,
891-
aod::McCollisions const& mcCollisions,
892+
McCollisionsCentFT0Ms const& mcCollisions,
892893
BCsInfo const& BCsInfo)
893894
{
894895
runCreator2ProngMc<CentralityEstimator::FT0M>(tracks, mcParticles, collInfos, mcCollisions, BCsInfo);

PWGHF/TableProducer/candidateCreator3Prong.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ struct HfCandidateCreator3ProngExpressions {
474474
using McCollisionsNoCents = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>;
475475
using McCollisionsFT0Cs = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Cs>;
476476
using McCollisionsFT0Ms = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms>;
477+
using McCollisionsCentFT0Ms = soa::Join<aod::McCollisions, aod::McCentFT0Ms>;
477478
PresliceUnsorted<McCollisionsNoCents> colPerMcCollision = aod::mccollisionlabel::mcCollisionId;
478479
PresliceUnsorted<McCollisionsFT0Cs> colPerMcCollisionFT0C = aod::mccollisionlabel::mcCollisionId;
479480
PresliceUnsorted<McCollisionsFT0Ms> colPerMcCollisionFT0M = aod::mccollisionlabel::mcCollisionId;
@@ -516,11 +517,11 @@ struct HfCandidateCreator3ProngExpressions {
516517
}
517518

518519
/// Performs MC matching.
519-
template <o2::hf_centrality::CentralityEstimator centEstimator, typename CCs>
520+
template <o2::hf_centrality::CentralityEstimator centEstimator, typename CCs, typename McCollisions>
520521
void runCreator3ProngMc(aod::TracksWMc const& tracks,
521522
aod::McParticles const& mcParticles,
522523
CCs const& collInfos,
523-
aod::McCollisions const& mcCollisions,
524+
McCollisions const& mcCollisions,
524525
BCsInfo const&)
525526
{
526527
rowCandidateProng3->bindExternalIndices(&tracks);
@@ -692,7 +693,7 @@ struct HfCandidateCreator3ProngExpressions {
692693
const auto collSlice = collInfos.sliceBy(colPerMcCollision, mcCollision.globalIndex());
693694
rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask<BCsInfo, centEstimator>(mcCollision, collSlice, centrality);
694695
}
695-
hfEvSelMc.fillHistograms(rejectionMask);
696+
hfEvSelMc.fillHistograms<centEstimator>(mcCollision, rejectionMask);
696697
if (rejectionMask != 0) {
697698
// at least one event selection not satisfied --> reject all gen particles from this collision
698699
for (unsigned int i = 0; i < mcParticlesPerMcColl.size(); ++i) {
@@ -816,7 +817,7 @@ struct HfCandidateCreator3ProngExpressions {
816817
void processMcCentFT0M(aod::TracksWMc const& tracks,
817818
aod::McParticles const& mcParticles,
818819
McCollisionsFT0Ms const& collInfos,
819-
aod::McCollisions const& mcCollisions,
820+
McCollisionsCentFT0Ms const& mcCollisions,
820821
BCsInfo const& BCsInfo)
821822
{
822823
runCreator3ProngMc<CentralityEstimator::FT0M>(tracks, mcParticles, collInfos, mcCollisions, BCsInfo);

PWGHF/TableProducer/candidateCreatorCascade.cxx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,7 @@ struct HfCandidateCreatorCascadeMc {
448448
using McCollisionsNoCents = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>;
449449
using McCollisionsFT0Cs = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Cs>;
450450
using McCollisionsFT0Ms = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms>;
451+
using McCollisionsCentFT0Ms = soa::Join<aod::McCollisions, aod::McCentFT0Ms>;
451452
PresliceUnsorted<McCollisionsNoCents> colPerMcCollision = aod::mccollisionlabel::mcCollisionId;
452453
PresliceUnsorted<McCollisionsFT0Cs> colPerMcCollisionFT0C = aod::mccollisionlabel::mcCollisionId;
453454
PresliceUnsorted<McCollisionsFT0Ms> colPerMcCollisionFT0M = aod::mccollisionlabel::mcCollisionId;
@@ -471,11 +472,11 @@ struct HfCandidateCreatorCascadeMc {
471472
hfEvSelMc.addHistograms(registry); // particles monitoring
472473
}
473474

474-
template <o2::hf_centrality::CentralityEstimator centEstimator, typename CCs>
475+
template <o2::hf_centrality::CentralityEstimator centEstimator, typename CCs, typename McCollisions>
475476
void runCreatorCascMc(MyTracksWMc const& tracks,
476477
aod::McParticles const& mcParticles,
477478
CCs const& collInfos,
478-
aod::McCollisions const& mcCollisions,
479+
McCollisions const& mcCollisions,
479480
BCsInfo const&)
480481
{
481482
// Match reconstructed candidates.
@@ -548,7 +549,7 @@ struct HfCandidateCreatorCascadeMc {
548549
const auto collSlice = collInfos.sliceBy(colPerMcCollision, mcCollision.globalIndex());
549550
rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask<BCsInfo, centEstimator>(mcCollision, collSlice, centrality);
550551
}
551-
hfEvSelMc.fillHistograms(rejectionMask);
552+
hfEvSelMc.fillHistograms<centEstimator>(mcCollision, rejectionMask);
552553
if (rejectionMask != 0) {
553554
// at least one event selection not satisfied --> reject all particles from this collision
554555
for (unsigned int i = 0; i < mcParticlesPerMcColl.size(); ++i) {
@@ -578,11 +579,11 @@ struct HfCandidateCreatorCascadeMc {
578579
}
579580
if (sign != 0) {
580581
// we check the K0S
581-
for (const auto& daughterK0 : particle.daughters_as<aod::McParticles>()) {
582+
for (const auto& daughterK0 : particle.template daughters_as<aod::McParticles>()) {
582583
if (std::abs(daughterK0.pdgCode()) != kK0) {
583584
continue;
584585
}
585-
for (const auto& daughterK0S : daughterK0.daughters_as<aod::McParticles>()) {
586+
for (const auto& daughterK0S : daughterK0.template daughters_as<aod::McParticles>()) {
586587
if (daughterK0S.pdgCode() != kK0Short) {
587588
continue;
588589
}
@@ -628,7 +629,7 @@ struct HfCandidateCreatorCascadeMc {
628629
void processMcCentFT0M(MyTracksWMc const& tracks,
629630
aod::McParticles const& mcParticles,
630631
McCollisionsFT0Ms const& collInfos,
631-
aod::McCollisions const& mcCollisions,
632+
McCollisionsCentFT0Ms const& mcCollisions,
632633
BCsInfo const& BCsInfo)
633634
{
634635
runCreatorCascMc<CentralityEstimator::FT0M>(tracks, mcParticles, collInfos, mcCollisions, BCsInfo);

PWGHF/TableProducer/candidateCreatorDstar.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,7 @@ struct HfCandidateCreatorDstarExpressions {
514514
using McCollisionsNoCents = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>;
515515
using McCollisionsFT0Cs = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Cs>;
516516
using McCollisionsFT0Ms = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms>;
517+
using McCollisionsCentFT0Ms = soa::Join<aod::McCollisions, aod::McCentFT0Ms>;
517518
PresliceUnsorted<McCollisionsNoCents> colPerMcCollision = aod::mccollisionlabel::mcCollisionId;
518519
PresliceUnsorted<McCollisionsFT0Cs> colPerMcCollisionFT0C = aod::mccollisionlabel::mcCollisionId;
519520
PresliceUnsorted<McCollisionsFT0Ms> colPerMcCollisionFT0M = aod::mccollisionlabel::mcCollisionId;
@@ -542,11 +543,11 @@ struct HfCandidateCreatorDstarExpressions {
542543
}
543544

544545
/// Perform MC Matching.
545-
template <o2::hf_centrality::CentralityEstimator centEstimator, typename CCs>
546+
template <o2::hf_centrality::CentralityEstimator centEstimator, typename CCs, typename McCollisions>
546547
void runCreatorDstarMc(aod::TracksWMc const& tracks,
547548
aod::McParticles const& mcParticles,
548549
CCs const& collInfos,
549-
aod::McCollisions const& mcCollisions,
550+
McCollisions const& mcCollisions,
550551
BCsInfo const&)
551552
{
552553
rowsCandidateD0->bindExternalIndices(&tracks);
@@ -644,7 +645,7 @@ struct HfCandidateCreatorDstarExpressions {
644645
const auto collSlice = collInfos.sliceBy(colPerMcCollision, mcCollision.globalIndex());
645646
rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask<BCsInfo, centEstimator>(mcCollision, collSlice, centrality);
646647
}
647-
hfEvSelMc.fillHistograms(rejectionMask);
648+
hfEvSelMc.fillHistograms<centEstimator>(mcCollision, rejectionMask);
648649
if (rejectionMask != 0) {
649650
// at least one event selection not satisfied --> reject all particles from this collision
650651
for (unsigned int i = 0; i < mcParticlesPerMcColl.size(); ++i) {
@@ -718,7 +719,7 @@ struct HfCandidateCreatorDstarExpressions {
718719
void processMcCentFT0M(aod::TracksWMc const& tracks,
719720
aod::McParticles const& mcParticles,
720721
McCollisionsFT0Ms const& collInfos,
721-
aod::McCollisions const& mcCollisions,
722+
McCollisionsCentFT0Ms const& mcCollisions,
722723
BCsInfo const& BCsInfo)
723724
{
724725
runCreatorDstarMc<CentralityEstimator::FT0M>(tracks, mcParticles, collInfos, mcCollisions, BCsInfo);

PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1744,6 +1744,7 @@ struct HfCandidateCreatorXic0Omegac0Mc {
17441744
using McCollisionsNoCents = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>;
17451745
using McCollisionsFT0Cs = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Cs>;
17461746
using McCollisionsFT0Ms = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Ms>;
1747+
using McCollisionsCentFT0Ms = soa::Join<aod::McCollisions, aod::McCentFT0Ms>;
17471748
PresliceUnsorted<McCollisionsNoCents> colPerMcCollision = aod::mccollisionlabel::mcCollisionId;
17481749
PresliceUnsorted<McCollisionsFT0Cs> colPerMcCollisionFT0C = aod::mccollisionlabel::mcCollisionId;
17491750
PresliceUnsorted<McCollisionsFT0Ms> colPerMcCollisionFT0M = aod::mccollisionlabel::mcCollisionId;
@@ -1798,12 +1799,12 @@ struct HfCandidateCreatorXic0Omegac0Mc {
17981799
hGenCharmBaryonPtRapidityLooseOmegacToOmegaK = registry.add<TH1>("hGenCharmBaryonPtRapidityLooseOmegacToOmegaK", "Generated charm baryon #it{p}_{T};#it{p}_{T} (GeV/#it{c});entries", {HistType::kTH1D, {{20, 0.0, 20.0}}});
17991800
}
18001801

1801-
template <o2::hf_centrality::CentralityEstimator centEstimator, int decayChannel, typename Colls, typename TMyRecoCand>
1802+
template <o2::hf_centrality::CentralityEstimator centEstimator, int decayChannel, typename Colls, typename TMyRecoCand, typename McCollisions>
18021803
void runXic0Omegac0Mc(TMyRecoCand const& candidates,
18031804
MyTracksWMc const&,
18041805
aod::McParticles const& mcParticles,
18051806
Colls const& collsWithMcLabels,
1806-
aod::McCollisions const& mcCollisions,
1807+
McCollisions const& mcCollisions,
18071808
BCsInfo const&)
18081809
{
18091810
float ptCharmBaryonGen = -999.;
@@ -2048,7 +2049,7 @@ struct HfCandidateCreatorXic0Omegac0Mc {
20482049
const auto collSlice = collsWithMcLabels.sliceBy(colPerMcCollision, mcCollision.globalIndex());
20492050
rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask<BCsInfo, centEstimator>(mcCollision, collSlice, centrality);
20502051
}
2051-
hfEvSelMc.fillHistograms(rejectionMask);
2052+
hfEvSelMc.fillHistograms<centEstimator>(mcCollision, rejectionMask);
20522053
if (rejectionMask != 0) {
20532054
/// at least one event selection not satisfied --> reject all particles from this collision
20542055
for (unsigned int i = 0; i < mcParticlesPerMcColl.size(); ++i) {
@@ -2097,14 +2098,14 @@ struct HfCandidateCreatorXic0Omegac0Mc {
20972098
debugGenCharmBar = 1;
20982099
ptCharmBaryonGen = particle.pt();
20992100
rapidityCharmBaryonGen = particle.y();
2100-
for (const auto& daughterCharm : particle.daughters_as<aod::McParticles>()) {
2101+
for (const auto& daughterCharm : particle.template daughters_as<aod::McParticles>()) {
21012102
if (std::abs(daughterCharm.pdgCode()) != pdgCodeXiMinus) {
21022103
continue;
21032104
}
21042105
// Xi -> Lambda pi
21052106
if (RecoDecay::isMatchedMCGen<false, true>(mcParticles, daughterCharm, pdgCodeXiMinus, std::array{pdgCodeLambda, pdgCodePiMinus}, true)) {
21062107
debugGenCasc = 1;
2107-
for (const auto& daughterCascade : daughterCharm.daughters_as<aod::McParticles>()) {
2108+
for (const auto& daughterCascade : daughterCharm.template daughters_as<aod::McParticles>()) {
21082109
if (std::abs(daughterCascade.pdgCode()) != pdgCodeLambda) {
21092110
continue;
21102111
}
@@ -2139,14 +2140,14 @@ struct HfCandidateCreatorXic0Omegac0Mc {
21392140
debugGenCharmBar = 1;
21402141
ptCharmBaryonGen = particle.pt();
21412142
rapidityCharmBaryonGen = particle.y();
2142-
for (const auto& daughterCharm : particle.daughters_as<aod::McParticles>()) {
2143+
for (const auto& daughterCharm : particle.template daughters_as<aod::McParticles>()) {
21432144
if (std::abs(daughterCharm.pdgCode()) != pdgCodeXiMinus) {
21442145
continue;
21452146
}
21462147
// Xi -> Lambda pi
21472148
if (RecoDecay::isMatchedMCGen<false, true>(mcParticles, daughterCharm, pdgCodeXiMinus, std::array{pdgCodeLambda, pdgCodePiMinus}, true)) {
21482149
debugGenCasc = 1;
2149-
for (const auto& daughterCascade : daughterCharm.daughters_as<aod::McParticles>()) {
2150+
for (const auto& daughterCascade : daughterCharm.template daughters_as<aod::McParticles>()) {
21502151
if (std::abs(daughterCascade.pdgCode()) != pdgCodeLambda) {
21512152
continue;
21522153
}
@@ -2181,14 +2182,14 @@ struct HfCandidateCreatorXic0Omegac0Mc {
21812182
debugGenCharmBar = 1;
21822183
ptCharmBaryonGen = particle.pt();
21832184
rapidityCharmBaryonGen = particle.y();
2184-
for (const auto& daughterCharm : particle.daughters_as<aod::McParticles>()) {
2185+
for (const auto& daughterCharm : particle.template daughters_as<aod::McParticles>()) {
21852186
if (std::abs(daughterCharm.pdgCode()) != pdgCodeOmegaMinus) {
21862187
continue;
21872188
}
21882189
// Omega -> Lambda K
21892190
if (RecoDecay::isMatchedMCGen<false, true>(mcParticles, daughterCharm, pdgCodeOmegaMinus, std::array{pdgCodeLambda, pdgCodeKaonMinus}, true)) {
21902191
debugGenCasc = 1;
2191-
for (const auto& daughterCascade : daughterCharm.daughters_as<aod::McParticles>()) {
2192+
for (const auto& daughterCascade : daughterCharm.template daughters_as<aod::McParticles>()) {
21922193
if (std::abs(daughterCascade.pdgCode()) != pdgCodeLambda) {
21932194
continue;
21942195
}
@@ -2223,14 +2224,14 @@ struct HfCandidateCreatorXic0Omegac0Mc {
22232224
debugGenCharmBar = 1;
22242225
ptCharmBaryonGen = particle.pt();
22252226
rapidityCharmBaryonGen = particle.y();
2226-
for (const auto& daughterCharm : particle.daughters_as<aod::McParticles>()) {
2227+
for (const auto& daughterCharm : particle.template daughters_as<aod::McParticles>()) {
22272228
if (std::abs(daughterCharm.pdgCode()) != pdgCodeOmegaMinus) {
22282229
continue;
22292230
}
22302231
// Omega -> Lambda K
22312232
if (RecoDecay::isMatchedMCGen<false, true>(mcParticles, daughterCharm, pdgCodeOmegaMinus, std::array{pdgCodeLambda, pdgCodeKaonMinus}, true)) {
22322233
debugGenCasc = 1;
2233-
for (const auto& daughterCascade : daughterCharm.daughters_as<aod::McParticles>()) {
2234+
for (const auto& daughterCascade : daughterCharm.template daughters_as<aod::McParticles>()) {
22342235
if (std::abs(daughterCascade.pdgCode()) != pdgCodeLambda) {
22352236
continue;
22362237
}
@@ -2294,7 +2295,7 @@ struct HfCandidateCreatorXic0Omegac0Mc {
22942295
void processMcXicToXiPiFT0m(aod::HfCandToXiPi const& candidates,
22952296
MyTracksWMc const& tracks,
22962297
aod::McParticles const& mcParticles,
2297-
aod::McCollisions const& mcColls,
2298+
McCollisionsCentFT0Ms const& mcColls,
22982299
McCollisionsFT0Ms const& collsWithMcLabels,
22992300
BCsInfo const& bcs)
23002301
{
@@ -2327,7 +2328,7 @@ struct HfCandidateCreatorXic0Omegac0Mc {
23272328
void processMcOmegacToXiPiFT0m(aod::HfCandToXiPi const& candidates,
23282329
MyTracksWMc const& tracks,
23292330
aod::McParticles const& mcParticles,
2330-
aod::McCollisions const& mcColls,
2331+
McCollisionsCentFT0Ms const& mcColls,
23312332
McCollisionsFT0Ms const& collsWithMcLabels,
23322333
BCsInfo const& bcs)
23332334
{
@@ -2360,7 +2361,7 @@ struct HfCandidateCreatorXic0Omegac0Mc {
23602361
void processMcOmegacToOmegaPiFT0m(aod::HfCandToOmegaPi const& candidates,
23612362
MyTracksWMc const& tracks,
23622363
aod::McParticles const& mcParticles,
2363-
aod::McCollisions const& mcColls,
2364+
McCollisionsCentFT0Ms const& mcColls,
23642365
McCollisionsFT0Ms const& collsWithMcLabels,
23652366
BCsInfo const& bcs)
23662367
{
@@ -2393,7 +2394,7 @@ struct HfCandidateCreatorXic0Omegac0Mc {
23932394
void processMcOmegacToOmegaKFT0m(aod::HfCandToOmegaK const& candidates,
23942395
MyTracksWMc const& tracks,
23952396
aod::McParticles const& mcParticles,
2396-
aod::McCollisions const& mcColls,
2397+
McCollisionsCentFT0Ms const& mcColls,
23972398
McCollisionsFT0Ms const& collsWithMcLabels,
23982399
BCsInfo const& bcs)
23992400
{

0 commit comments

Comments
 (0)