Skip to content

Commit 53b8df4

Browse files
authored
[PWGCF] twoParticleCorrelationsMpi.cxx: Changed processSameGenMC to subscribe… (#17526)
1 parent 68ed763 commit 53b8df4

1 file changed

Lines changed: 12 additions & 18 deletions

File tree

PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,6 @@ struct TwoParticleCorrelationsMpi {
254254

255255
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentRun2V0Ms>>;
256256
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection>>;
257-
using FilteredMcParticles = soa::Filtered<aod::McParticles>;
258-
using McCollisionsWithHepMC = soa::Join<aod::McCollisions, aod::HepMCXSections>;
259257

260258
using DerivedCollisions = soa::Filtered<aod::CFCollisions>;
261259
using DerivedTracks = soa::Filtered<aod::CFTracks>;
@@ -265,6 +263,9 @@ struct TwoParticleCorrelationsMpi {
265263
if (doprocessMCSameDerived && (doprocessSameDerived || doprocessSameDerivedMultSet)) {
266264
LOGF(fatal, "processMCSameDerived is mutually exclusive with the reconstructed derived same-event processes because it also fills those outputs");
267265
}
266+
if (doprocessSameGenMC && doprocessMCSameDerived) {
267+
LOGF(fatal, "processSameGenMC and processMCSameDerived are mutually exclusive because both fill the generated same-event outputs");
268+
}
268269
if (!cfgNuncSeedsTemplateFile.value.empty() && !cfgNuncSeedsTemplate.value.empty()) {
269270
LOGF(fatal, "Configure only one template source: cfgNuncSeedsTemplateFile or cfgNuncSeedsTemplate");
270271
}
@@ -1464,32 +1465,25 @@ struct TwoParticleCorrelationsMpi {
14641465
}
14651466
PROCESS_SWITCH(TwoParticleCorrelationsMpi, processSameAOD, "Process same event on AOD", true);
14661467

1467-
void processSameGenMC(McCollisionsWithHepMC::iterator const& mcCollision, FilteredMcParticles const& mcParticles, aod::BCsWithTimestamps const&)
1468+
void processSameGenMC(soa::Filtered<aod::CFMcCollisionsWithExtra>::iterator const& mcCollision,
1469+
soa::Filtered<aod::CFMcParticles> const& mcParticles,
1470+
soa::SmallGroups<aod::CFCollisionsWithLabel> const& collisions)
14681471
{
1469-
if (std::abs(mcCollision.posZ()) >= cfgCutVertex) {
1470-
return;
1471-
}
1472-
const auto bc = mcCollision.bc_as<aod::BCsWithTimestamps>();
1473-
loadCcdbYieldTemplates(bc.timestamp());
1474-
1475-
int generatedMultiplicity = 0;
1476-
for (const auto& particle : mcParticles) {
1477-
if (!particle.isPhysicalPrimary()) {
1478-
continue;
1479-
}
1480-
const auto* pdgParticle = pdg->GetParticle(particle.pdgCode());
1481-
if (pdgParticle && pdgParticle->Charge() != 0.0) {
1482-
++generatedMultiplicity;
1472+
if (!cfgNuncSeedsTemplate.value.empty()) {
1473+
for (const auto& collision : collisions) {
1474+
loadCcdbYieldTemplates(collision.timestamp());
1475+
break;
14831476
}
14841477
}
14851478

1479+
const auto generatedMultiplicity = mcCollision.multiplicity();
14861480
fillContainerEvent(same, generatedMultiplicity, CorrelationContainer::kCFStepAll);
14871481
EventSeedEstimate seedEstimate;
14881482
fillCorrelations<CorrelationContainer::kCFStepAll>(same, mcParticles, mcParticles, generatedMultiplicity, mcCollision.posZ(), 0, 1.0f, &seedEstimate);
14891483
finalizeEventSeedEstimate(seedEstimate);
14901484
fillGeneratedMCValidation(generatedMultiplicity, seedEstimate, mcCollision.nMPI());
14911485
}
1492-
PROCESS_SWITCH(TwoParticleCorrelationsMpi, processSameGenMC, "Process generated MC events and validate the template estimator against HepMC N MPI", false);
1486+
PROCESS_SWITCH(TwoParticleCorrelationsMpi, processSameGenMC, "Process generated MC events from derived data and validate against the stored HepMC N MPI", false);
14931487

14941488
template <class CollType, class TTracks1, class TTracks2>
14951489
void processSameDerivedT(CollType const& collision, TTracks1 const& tracks1, TTracks2 const& tracks2, const int* trueNMPI = nullptr)

0 commit comments

Comments
 (0)