Skip to content

Commit dbd5cd5

Browse files
committed
Added geometric cuts to processFindable analysis
1 parent 0e48b78 commit dbd5cd5

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

PWGLF/TableProducer/Strangeness/sigmaminustask.cxx

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ struct sigmaminustask {
5151

5252
Preslice<aod::KinkCands> mPerCol = aod::track::collisionId;
5353

54+
float radToDeg = o2::constants::math::Rad2Deg;
55+
5456
void init(InitContext const&)
5557
{
5658
// Axes
@@ -281,7 +283,7 @@ struct sigmaminustask {
281283

282284
PROCESS_SWITCH(sigmaminustask, processMC, "MC processing", false);
283285

284-
void processFindable(TracksFull const& tracks, aod::McTrackLabels const& trackLabelsMC, aod::McParticles const&)
286+
void processFindable(TracksFull const& tracks, aod::McTrackLabels const& trackLabelsMC, aod::McParticles const&, CollisionsFullMC const&)
285287
{
286288
for (const auto& motherTrack : tracks) {
287289
// Check if mother is Sigma in MC
@@ -321,7 +323,7 @@ struct sigmaminustask {
321323

322324
float mcMass = std::sqrt(mcMother.e() * mcMother.e() - mcMother.p() * mcMother.p());
323325
int sigmaSign = mcMother.pdgCode() > 0 ? 1 : -1;
324-
rSigmaMinus.fill(HIST("h2MassPtFindable"), sigmaSign * mcMother.pt(), mcMass);
326+
rSigmaMinus.fill(HIST("h2MassPtFindable"), sigmaSign * motherTrack.pt(), mcMass);
325327

326328
// Define filter index and progressively apply kinkbuilder cuts to track pairs
327329
int filterIndex = 0;
@@ -346,7 +348,7 @@ struct sigmaminustask {
346348
filterIndex += 1;
347349
rSigmaMinus.fill(HIST("hFilterIndex"), filterIndex);
348350
} else {
349-
continue; // Skip if mother track does not pass ITS cuts
351+
continue;
350352
}
351353

352354
// 4 - daughter track ITS+TPC properties
@@ -355,16 +357,29 @@ struct sigmaminustask {
355357
filterIndex += 1;
356358
rSigmaMinus.fill(HIST("hFilterIndex"), filterIndex);
357359
} else {
358-
continue; // Skip if daughter track does not pass ITS+TPC cuts
360+
continue;
359361
}
360362

361-
// 5 - geometric cuts
362-
if (std::abs(motherTrack.eta()) < 1.0 && std::abs(daughterTrack.eta()) < 1.0 &&
363-
std::abs(motherTrack.phi() - daughterTrack.phi()) < 100.0) {
363+
// 5 - geometric cuts: eta
364+
if (std::abs(motherTrack.eta()) < 1.0 && std::abs(daughterTrack.eta()) < 1.0) {
364365
filterIndex += 1;
365366
rSigmaMinus.fill(HIST("hFilterIndex"), filterIndex);
366367
} else {
367-
continue; // Skip if geometric cuts are not satisfied
368+
continue;
369+
}
370+
// 6 - geometric cuts: phi
371+
if (std::abs(motherTrack.phi() - daughterTrack.phi()) * radToDeg < 100.0) {
372+
filterIndex += 1;
373+
rSigmaMinus.fill(HIST("hFilterIndex"), filterIndex);
374+
} else {
375+
continue;
376+
}
377+
378+
// 7 - collision selection
379+
auto collision = motherTrack.template collision_as<CollisionsFullMC>();
380+
if (!(std::abs(collision.posZ()) > cutzvertex || !collision.sel8())) {
381+
filterIndex += 1;
382+
rSigmaMinus.fill(HIST("hFilterIndex"), filterIndex);
368383
}
369384

370385
}

0 commit comments

Comments
 (0)