Skip to content

[PWGLF] Change Generated Event selection in NucleiSpectra.cxx#15158

Open
Cristian-Moscatelli wants to merge 2 commits intoAliceO2Group:masterfrom
Cristian-Moscatelli:deutInJets
Open

[PWGLF] Change Generated Event selection in NucleiSpectra.cxx#15158
Cristian-Moscatelli wants to merge 2 commits intoAliceO2Group:masterfrom
Cristian-Moscatelli:deutInJets

Conversation

@Cristian-Moscatelli
Copy link
Contributor

I modified the selection criteria for generated events (MC collisions) in the task NucleiSpectra.cxx (PWGLF/TableProducer/Nuspex). Previously, no selections were applied to generated events. I applied the following requirements:

  1. TVXtrigger: the MC collision must satisfy the TVX trigger condition. This is reproduced by requiring at least two particles within the pseudorapidity region covered by the FT0A and FT0C detectors.
  2. Z vertex: the collision must have |z_vertex| < 10 cm.
  3. INEL>0: the MC collision must satisfy the INEL > 0 condition. This requirement is applied only when the corresponding configurable (lines 236, 252) is active.

Additionally, I replaced the hardcoded triggerList (line 459) with a configurable parameter (line 339). The default value (fHe) is left unvaried.

@github-actions github-actions bot added the pwglf label Feb 25, 2026
@github-actions github-actions bot changed the title Change Generated Event selection in NucleiSpectra.cxx [PWGLF] Change Generated Event selection in NucleiSpectra.cxx Feb 25, 2026
@Cristian-Moscatelli
Copy link
Contributor Author

I remain at disposal for any further refinement of the code, to improve the evaluation of the signal and event loss

Copy link
Collaborator

@mpuccio mpuccio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dear @Cristian-Moscatelli,
I think what would be best here is to track the selections in a bit mask that we can store in the gen particles. See the comments below for a few more details.

spectra.fill(HIST("hGenVtxZ"), c.posZ());

// Apply the |z| < 10 cm condition
if (std::abs(c.posZ()) > 10.f)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should keep track of the events you discard, also note that for the TVX definition has a different Z vertex window

continue;

// Apply the TVX trigger condition
if (p.eta() > 3.5f && p.eta() < 4.9f)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should request that the particle in acceptance is charged


bool hasHitFT0A(false);
bool hasHitFT0C(false);
bool acceptEvent = !selectINELgt0;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This, in combination with line 950, makes the configurable not useful as the statement in line 950 will be always true.

@Cristian-Moscatelli
Copy link
Contributor Author

Thank you for your comment. I will work to refine the task including your suggestions

@alibuild
Copy link
Collaborator

Error while checking build/O2Physics/o2 for 45987a4 at 2026-02-25 19:49:

No log files found

Full log here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants