Skip to content

Commit e313224

Browse files
committed
feat(nucleiSpectra): Add configurable option to fill generated secondaries
The changes introduce a new configurable option `cfgFillGenSecondaries` that allows controlling the filling of generated secondary particles in the nuclei table. The new option provides three modes: 0. Do not fill any generated secondaries 1. Fill only secondaries from weak decays 2. Fill all generated secondaries This feature gives more flexibility in the analysis of light nuclei, allowing users to focus on primary particles or include secondary particles as needed.
1 parent 4d13940 commit e313224

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

PWGLF/TableProducer/Nuspex/nucleiSpectra.cxx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ struct nucleiSpectra {
293293
Configurable<LabeledArray<double>> cfgDownscaling{"cfgDownscaling", {nuclei::DownscalingDefault[0], 5, 1, nuclei::names, nuclei::DownscalingConfigName}, "Fraction of kept candidates for light nuclei"};
294294
Configurable<LabeledArray<int>> cfgTreeConfig{"cfgTreeConfig", {nuclei::TreeConfigDefault[0], 5, 2, nuclei::names, nuclei::treeConfigNames}, "Filtered trees configuration"};
295295
Configurable<bool> cfgFillPairTree{"cfgFillPairTree", true, "Fill trees for pairs of light nuclei"};
296+
Configurable<int> cfgFillGenSecondaries{"cfgFillGenSecondaries", 0, "Fill generated secondaries (0: no, 1: only weak decays, 2: all of them)"};
296297
Configurable<LabeledArray<int>> cfgDCAHists{"cfgDCAHists", {nuclei::DCAHistDefault[0], 5, 2, nuclei::names, nuclei::DCAConfigNames}, "DCA hist configuration"};
297298
Configurable<LabeledArray<int>> cfgFlowHist{"cfgFlowHist", {nuclei::FlowHistDefault[0], 5, 1, nuclei::names, nuclei::flowConfigNames}, "Flow hist configuration"};
298299

@@ -1008,8 +1009,13 @@ struct nucleiSpectra {
10081009
}
10091010

10101011
if (!isReconstructed[index] && (cfgTreeConfig->get(iS, 0u) || cfgTreeConfig->get(iS, 1u))) {
1012+
if ((flags & kIsPhysicalPrimary) == 0 && cfgFillGenSecondaries == 0) {
1013+
continue; // skip secondaries if not requested
1014+
}
1015+
if ((flags & (kIsPhysicalPrimary | kIsSecondaryFromWeakDecay)) == 0 && cfgFillGenSecondaries == 1) {
1016+
continue; // skip secondaries from material if not requested
1017+
}
10111018
float absDecL = computeAbsoDecL(particle);
1012-
10131019
nucleiTableMC(999., 999., 999., 0., 0., 999., -1, 999., 999., -1, -1, -1, -1, flags, 0, 0, 0, 0, 0, 0, goodCollisions[particle.mcCollisionId()], particle.pt(), particle.eta(), particle.phi(), particle.pdgCode(), motherPdgCode, motherDecRadius, absDecL);
10141020
}
10151021
break;

0 commit comments

Comments
 (0)