Skip to content

Commit 61a25c4

Browse files
authored
[PWGLF] deuteron proton correlation: include acceptance cut in generate process functions (#15695)
1 parent 7045705 commit 61a25c4

File tree

1 file changed

+43
-8
lines changed

1 file changed

+43
-8
lines changed

PWGLF/Tasks/Nuspex/hadronnucleicorrelation.cxx

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ struct HadronNucleiCorrelation {
138138
ConfigurableAxis DeltaPhiAxis = {"DeltaPhiAxis", {46, -1 * o2::constants::math::PIHalf, 3 * o2::constants::math::PIHalf}, "#Delta#phi (rad)"};
139139

140140
using FilteredCollisions = soa::Filtered<aod::SingleCollSels>;
141-
using SimCollisions = soa::Join<aod::McCollisions, aod::MultsExtraMC>;
141+
using SimCollisions = soa::Filtered<soa::Join<aod::McCollisions, aod::MultsExtraMC>>;
142142
using SimParticles = aod::McParticles;
143143
using FilteredTracks = soa::Filtered<soa::Join<aod::SingleTrackSels, aod::SingleTrkExtras, aod::SinglePIDEls, aod::SinglePIDPrs, aod::SinglePIDDes>>; // new tables (v3)
144144
using FilteredTracksMC = soa::Filtered<soa::Join<aod::SingleTrackSels, aod::SingleTrkMCs, aod::SingleTrkExtras, aod::SinglePIDEls, aod::SinglePIDPrs, aod::SinglePIDDes>>; // new tables (v3)
@@ -424,6 +424,8 @@ struct HadronNucleiCorrelation {
424424
nabs(o2::aod::singletrackselector::unPack<singletrackselector::binning::dca>(o2::aod::singletrackselector::storedDcaXY)) <= max_DCAz &&
425425
nabs(o2::aod::singletrackselector::eta) <= etaCut;
426426

427+
Filter simvertexFilter = nabs(o2::aod::mccollision::posZ) <= cutzVertex;
428+
427429
template <typename Type>
428430
bool IsProton(Type const& track, int sign)
429431
{
@@ -684,9 +686,6 @@ struct HadronNucleiCorrelation {
684686
void processSameEvent(FilteredCollisions::iterator const& collision, FilteredTracks const& tracks)
685687
{
686688

687-
if (std::abs(collision.posZ()) > cutzVertex)
688-
return;
689-
690689
registry.fill(HIST("hNEvents"), 0.5);
691690
registry.fill(HIST("hMult"), collision.mult());
692691

@@ -1320,12 +1319,9 @@ struct HadronNucleiCorrelation {
13201319
}
13211320
PROCESS_SWITCH(HadronNucleiCorrelation, processMC, "processMC", false);
13221321

1323-
void processSameEventGen(SimCollisions::iterator const& mcCollision, SimParticles const& mcParticles)
1322+
void processSameEventGen(SimCollisions::iterator const&, SimParticles const& mcParticles)
13241323
{
13251324

1326-
if (std::abs(mcCollision.posZ()) > cutzVertex)
1327-
return;
1328-
13291325
registry.fill(HIST("Generated/hNEventsMC"), 0.5);
13301326

13311327
for (const auto& particle : mcParticles) {
@@ -1382,6 +1378,19 @@ struct HadronNucleiCorrelation {
13821378

13831379
for (const auto& [part0, part1] : combinations(CombinationsStrictlyUpperIndexPolicy(mcParticles, mcParticles))) {
13841380

1381+
if (isPrim && !part0.isPhysicalPrimary()) {
1382+
continue;
1383+
}
1384+
if (isPrim && !part1.isPhysicalPrimary()) {
1385+
continue;
1386+
}
1387+
if (std::abs(part0.eta()) > etaCut) {
1388+
continue;
1389+
}
1390+
if (std::abs(part1.eta()) > etaCut) {
1391+
continue;
1392+
}
1393+
13851394
// mode 6
13861395
if (mode == kPP) {
13871396
if (part0.pdgCode() != PDG_t::kProton)
@@ -1404,6 +1413,19 @@ struct HadronNucleiCorrelation {
14041413

14051414
for (const auto& [part0, part1] : combinations(CombinationsFullIndexPolicy(mcParticles, mcParticles))) {
14061415

1416+
if (isPrim && !part0.isPhysicalPrimary()) {
1417+
continue;
1418+
}
1419+
if (isPrim && !part1.isPhysicalPrimary()) {
1420+
continue;
1421+
}
1422+
if (std::abs(part0.eta()) > etaCut) {
1423+
continue;
1424+
}
1425+
if (std::abs(part1.eta()) > etaCut) {
1426+
continue;
1427+
}
1428+
14071429
if (mode == kDbarPbar) {
14081430
if (part0.pdgCode() != -o2::constants::physics::Pdg::kDeuteron)
14091431
continue;
@@ -1463,6 +1485,19 @@ struct HadronNucleiCorrelation {
14631485

14641486
for (const auto& [part0, part1] : combinations(CombinationsFullIndexPolicy(groupPartsOne, groupPartsTwo))) {
14651487

1488+
if (isPrim && !part0.isPhysicalPrimary()) {
1489+
continue;
1490+
}
1491+
if (isPrim && !part1.isPhysicalPrimary()) {
1492+
continue;
1493+
}
1494+
if (std::abs(part0.eta()) > etaCut) {
1495+
continue;
1496+
}
1497+
if (std::abs(part1.eta()) > etaCut) {
1498+
continue;
1499+
}
1500+
14661501
if (mode == kDbarPbar) {
14671502
if (part0.pdgCode() != -o2::constants::physics::Pdg::kDeuteron)
14681503
continue;

0 commit comments

Comments
 (0)